cvs commit: src/sys/i386/linux linux_ptrace.c
das at FreeBSD.org
Sat Oct 9 10:10:49 PDT 2004
das 2004-10-09 17:10:48 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_5)
MFC src/sys/i386/linux/linux_ptrace.c, v1.14
| Fix the following race:
| 1. Process p1 is currently being swapped in.
| 2. Process p2 calls linux_ptrace(PTRACE_GETFPXREGS, p1_pid, ...)
| 3. After acquiring a reference to FIRST_THREAD_IN_PROC(p1),
| p2 blocks in faultin() while p1 finishes being swapped in.
| This means p2 won't get back the lock on p1 until after p1's
| threads are runnable.
| 4. After p1 is swapped in, the first thread in p1 exits.
| 5. p2 now uses its dangling reference to p1's first thread.
Approved by: re (scottl)
Revision Changes Path
184.108.40.206 +4 -3 src/sys/i386/linux/linux_ptrace.c
More information about the cvs-all