Longstanding elf fix (2.4.3 fix)
Quoted 3 lines
Well looking a little more closely than I did last night it looks like
access_process_vm(called from ptrace) can cause what amounts to a page fault at pretty arbitrary times.
It's also used for several /proc/<pid> files.
I remember that I got crashes with concurrent exec+cat /proc/<pid>/cmdline until down(mmap_sem) was added into setup_arg_pages().
Quoted 3 lines
I'm actually a little curious what the big kernel lock in ptrace buys us. I suspect it could be a performance issue with user mode linux. Where you have multiple processes being ptraced at the same time.
I checked it a few months ago, and the lock is only required to prevent multiple concurrent attaches to the same process and concorrent ptrace/suid exec (in fs/exec.c, compute_creds)
--
Manfred
Quoted 9 lines · Manfred Spraul
Quoted 3 lines
Well looking a little more closely than I did last night it looks like
access_process_vm(called from ptrace) can cause what amounts to a page fault at pretty arbitrary times.It's also used for several /proc/<pid> files.
I remember that I got crashes with concurrent exec+cat /proc/<pid>/cmdline until
down(mmap_sem)was added intosetup_arg_pages().
O.k. Then the race I'm catching is real though because it is confined to bss sections, we are quite unlikely to trigger it.
Eric