diff options
author | rwatson <rwatson@FreeBSD.org> | 2007-12-27 22:44:01 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2007-12-27 22:44:01 +0000 |
commit | 010adfaab6719b6321767381d578b9b8e6dfaf1f (patch) | |
tree | 264e61b5759e72f96889fd639fd6ff06b2d54144 /lib/libc/stdlib/malloc.c | |
parent | 4ab9fbda4e0893ef03ebc2e4dbb6e45b3eac0b19 (diff) | |
download | FreeBSD-src-010adfaab6719b6321767381d578b9b8e6dfaf1f.zip FreeBSD-src-010adfaab6719b6321767381d578b9b8e6dfaf1f.tar.gz |
Return ESRCH when a kernel stack is queried on a process in execve() --
p_candebug() will return EAGAIN which, if the other process never
leaves execve(), will result in the sysctl spinning and never returning
to userspace. Processes should always eventually leave execve(), but
spinning in kernel while we wait is bad for countless reasons, and
particularly harmful if execve() itself is deadlocked.
Possibly we should return another error, or return a marker indicating
the thread is in execve() so it can be reported that way in userspace.
Reported by: kris
Diffstat (limited to 'lib/libc/stdlib/malloc.c')
0 files changed, 0 insertions, 0 deletions