linux/arch/um
Paolo 'Blaisorblade' Giarrusso 48af05ed54 [PATCH] uml: fix proc-vs-interrupt context spinlock deadlock
This spinlock can be taken on interrupt too, so spin_lock_irq[save] must be
used.

However, Documentation/networking/netdevices.txt explains we are called with
rtnl_lock() held - so we don't need to care about other concurrent opens.
Verified also in LDD3 and by direct checking.  Also verified that the network
layer (through a state machine) guarantees us that nobody will close the
interface while it's being used.  Please correct me if I'm wrong.

Also, we must check we don't sleep with irqs disabled!!!  But anyway, this is
not news - we already can't sleep while holding a spinlock.  Who says this is
guaranted really by the present code?

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-27 08:26:15 -07:00
..
drivers [PATCH] uml: fix proc-vs-interrupt context spinlock deadlock 2006-09-27 08:26:15 -07:00
include [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
kernel [PATCH] UML: tty locking 2006-09-26 08:49:09 -07:00
os-Linux [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
scripts kbuild: fix ia64 breakage after introducing make -rR 2006-07-01 09:58:02 +02:00
sys-i386 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
sys-ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys-ppc Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sys-x86_64 [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
Kconfig [PATCH] uml: skas0 support for 2G/2G hosts 2006-05-01 18:17:43 -07:00
Kconfig.char [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.debug [PATCH] uml: remove syscall debugging 2006-07-10 13:24:24 -07:00
Kconfig.i386 [PATCH] uml: skas0 support for 2G/2G hosts 2006-05-01 18:17:43 -07:00
Kconfig.net [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.scsi [PATCH] uml: Rename Kconfig files to be like the other arches 2005-09-05 00:06:19 -07:00
Kconfig.x86_64 [PATCH] um: fix undefined reference to hweight32 2006-03-26 08:57:09 -08:00
Makefile [PATCH] uml: uml-makefile-nicer uses SYMLINK incorrectly 2006-05-01 18:17:45 -07:00
Makefile-i386 [PATCH] uml: add -ffreestanding to CFLAGS 2006-06-05 12:29:17 -07:00
Makefile-ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-os-Linux Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-ppc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-skas [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00
Makefile-tt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile-x86_64 [PATCH] uml: use -mcmodel=kernel for x86_64 2006-09-27 08:26:15 -07:00
config.release Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
defconfig [PATCH] uml: remove syscall debugging 2006-07-10 13:24:24 -07:00