kernel-ark/arch
Jeff Dike b4fd310e16 [PATCH] uml: preserve errno in error paths
The poster child for this patch is the third tuntap_user hunk.  When an ioctl
fails, it properly closes the opened file descriptor and returns.  However,
the close resets errno to 0, and the 'return errno' that follows returns 0
rather than the value that ioctl set.  This caused the caller to believe that
the device open succeeded and had opened file descriptor 0, which caused no
end of interesting behavior.

The rest of this patch is a pass through the UML sources looking for places
where errno could be reset before being passed back out.  A common culprit is
printk, which could call write, being called before errno is returned.

In some cases, where the code ends up being much smaller, I just deleted the
printk.

There was another case where a caller of run_helper looked at errno after a
failure, rather than the return value of run_helper, which was the errno value
that it wanted.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-17 11:50:00 -07:00
..
alpha
arm [ARM] 2914/1: PXA Poodle: Add MMC and UDC support 2005-09-15 14:53:22 +01:00
arm26 [PATCH] Remove arch/arm26/boot/compressed/hw-bse.c 2005-09-17 11:49:59 -07:00
cris
frv
h8300
i386 [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
ia64 [IA64] mca_drv cleanup 2005-09-16 10:39:40 -07:00
m32r [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
m68k
m68knommu
mips [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
parisc
ppc [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
ppc64 [PATCH] ppc64: Fix recent regression 2005-09-15 08:04:39 -07:00
s390 [PATCH] s390: kernel stack corruption 2005-09-17 11:49:59 -07:00
sh
sh64
sparc
sparc64 [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
um [PATCH] uml: preserve errno in error paths 2005-09-17 11:50:00 -07:00
v850
x86_64 [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
xtensa [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00