[lkml]   [1998]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] include/asm-i386/elf.h, kernel 2.1.126
    I'm working on a product where it is desirable for a process to have as
    much run-to-run repeatability as possible. I've run into problems with
    exec() introducing needless randomness via the registers. Clearing the
    registers in _start (crt0.s) is eons too late. I'm in favor of spending
    the bytes and cycles to remove the randomness where it originates.

    ELF_PLAT_INIT is used in fs/binfmt_elf.c .

    ----------------------------------------------------------- (John Reiser)
    -----------------------------------------------------------diff -u linux-2.1.126/include/asm-i386/elf.h linux/include/asm-i386/elf.h
    --- linux-2.1.126/include/asm-i386/elf.h Wed Jun 24 14:30:11 1998
    +++ linux/include/asm-i386/elf.h Sat Oct 31 05:52:59 1998
    @@ -33,7 +33,10 @@
    shared libraries that have been loaded before the code runs.

    A value of 0 tells we have no such handler. */
    -#define ELF_PLAT_INIT(_r) _r->edx = 0
    +#define ELF_PLAT_INIT(_r) _r->edi = _r->esi = _r->ebp = _r->ebx = _r->edx = _r->ecx = _r->eax = 0
    +/* Clear all registers except %esp, to improve repeatability, debugability,
    + make life easier for conservative garbage collectors, and reduce
    + covert channels from one process to another. */

    #define USE_ELF_CORE_DUMP
    #define ELF_EXEC_PAGESIZE 4096
     \ /
      Last update: 2005-03-22 13:45    [W:0.019 / U:1.788 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site