mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
Reimplement execvp for our purposes - after we call fork() it is fundamentally unsafe to use the kernel allocator - current is not valid there. So we simply pass to our modified execvp() a preallocated buffer. This fixes a real bug and works very well in testing (I've seen indirectly warning messages from the forked thread - they went on the pipe connected to its stdout and where read as a number by UML, when calling read_output(). I verified the obtained number corresponded to "BUG:"). The added use of __cant_sleep() is not a new bug since __cant_sleep() is already used in the same function - passing an atomicity parameter would be better but it would require huge change, stating that this function must not be called in atomic context and can sleep is a better idea (will make sure of this gradually). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Acked-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
|---|---|---|
| .. | ||
| drivers | ||
| include | ||
| kernel | ||
| os-Linux | ||
| scripts | ||
| sys-i386 | ||
| sys-ia64 | ||
| sys-ppc | ||
| sys-x86_64 | ||
| config.release | ||
| defconfig | ||
| Kconfig | ||
| Kconfig.char | ||
| Kconfig.debug | ||
| Kconfig.i386 | ||
| Kconfig.net | ||
| Kconfig.scsi | ||
| Kconfig.x86_64 | ||
| Makefile | ||
| Makefile-i386 | ||
| Makefile-ia64 | ||
| Makefile-os-Linux | ||
| Makefile-ppc | ||
| Makefile-skas | ||
| Makefile-tt | ||
| Makefile-x86_64 | ||