/proc/PID/auxv vs. moving linux-gate.so.1

John Reiser jreiser at BitWagon.com
Fri Jun 24 00:51:31 UTC 2005


How can I reliably move the variable dynamic shared object linux-gate.so.1
that the kernel puts into the address space upon execve()?

At Elf32_Ehdr.e_entry, my code sees the Elf32_auxv entries AT_SYSINFO and
AT_SYSINFO_EHDR, allocates a page where I want it, copies from AT_SYSINFO_EHDR,
then updates those auxv entries.  But /proc/PID/auxv still remembers the old
values, is read-only, and some code is using them by setting the pc
to the old value for __kernel_sigreturn.

-- 




More information about the fedora-test-list mailing list