linux/arch/um/drivers
Will Newton 69e83dad52 uml: disable winch irq before freeing handler data
Disable the winch irq early to make sure we don't take an interrupt part
way through the freeing of the handler data, resulting in a crash on
shutdown:

  winch_interrupt : read failed, errno = 9
  fd 13 is losing SIGWINCH support
  ------------[ cut here ]------------
  WARNING: at lib/list_debug.c:48 list_del+0xc6/0x100()
  list_del corruption, next is LIST_POISON1 (00100100)
  082578c8:  [<081fd77f>] dump_stack+0x22/0x24
  082578e0:  [<0807a18a>] warn_slowpath_common+0x5a/0x80
  08257908:  [<0807a23e>] warn_slowpath_fmt+0x2e/0x30
  08257920:  [<08172196>] list_del+0xc6/0x100
  08257940:  [<08060244>] free_winch+0x14/0x80
  08257958:  [<080606fb>] winch_interrupt+0xdb/0xe0
  08257978:  [<080a65b5>] handle_IRQ_event+0x35/0xe0
  08257998:  [<080a8717>] handle_edge_irq+0xb7/0x170
  082579bc:  [<08059bc4>] do_IRQ+0x34/0x50
  082579d4:  [<08059e1b>] sigio_handler+0x5b/0x80
  082579ec:  [<0806a374>] sig_handler_common+0x44/0xb0
  08257a68:  [<0806a538>] sig_handler+0x38/0x50
  08257a78:  [<0806a77c>] handle_signal+0x5c/0xa0
  08257a9c:  [<0806be28>] hard_handler+0x18/0x20
  08257aac:  [<00c14400>] 0xc14400

Signed-off-by: Will Newton <will.newton@gmail.com>
Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-25 06:50:39 +09:00
..
Makefile x86, um: get rid of arch/um/os symlink 2008-10-22 22:55:22 -07:00
chan_kern.c um: call free_irq() only on enabled channels 2010-08-09 20:45:04 -07:00
chan_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
cow.h [PATCH] uml: avoid warnings for diffent names for an unsigned quadword 2006-04-11 06:18:37 -07:00
cow_sys.h uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
cow_user.c uml: arch/um/drivers formatting 2007-10-16 09:43:09 -07:00
daemon.h uml: network formatting 2007-10-16 09:43:08 -07:00
daemon_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
daemon_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
fd.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
harddog_kern.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
harddog_user.c uml: fix helper_wait calls in watchdog 2008-02-23 17:12:15 -08:00
hostaudio_kern.c Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:43:11 -07:00
line.c uml: disable winch irq before freeing handler data 2010-11-25 06:50:39 +09:00
mcast.h uml: network formatting 2007-10-16 09:43:08 -07:00
mcast_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
mcast_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
mconsole_kern.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
mconsole_user.c uml: make three functions static 2008-04-28 08:58:28 -07:00
mmapper_kern.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
net_kern.c um: Proper Fix for f25c80a4: remove duplicate structure field initialization 2010-09-29 19:30:11 -07:00
net_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
null.c spelling fixes: arch/um/ 2007-10-20 01:23:03 +02:00
pcap_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
pcap_user.c missed kmalloc() in pcap_user.c 2008-05-21 16:55:57 -07:00
pcap_user.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
port.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
port_kern.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
port_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
pty.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
random.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
slip.h [PATCH] uml: const more data 2006-09-27 08:26:15 -07:00
slip_common.c
slip_common.h [PATCH] uml: fix hugest stack users 2006-02-01 08:53:22 -08:00
slip_kern.c UML: Fix some apparent bitrot 2009-06-25 11:22:13 -07:00
slip_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
slirp.h [PATCH] uml: const more data 2006-09-27 08:26:15 -07:00
slirp_kern.c UML: Fix some apparent bitrot 2009-06-25 11:22:13 -07:00
slirp_user.c uml: tidy helper code 2008-02-05 09:44:30 -08:00
ssl.c uml: tidy kern_util.h 2008-02-05 09:44:26 -08:00
ssl.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
stderr_console.c spelling fixes: arch/um/ 2007-10-20 01:23:03 +02:00
stdio_console.c uml: make several things static 2008-04-28 08:58:28 -07:00
stdio_console.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
tty.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
ubd_kern.c Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:43:11 -07:00
ubd_user.c uml: tidy kern_util.h 2008-02-05 09:44:26 -08:00
vde.h uml: add VDE networking support 2007-10-16 09:43:05 -07:00
vde_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
vde_user.c uml: fix vde network backend in user mode linux 2009-02-20 17:57:48 -08:00
xterm.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
xterm.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
xterm_kern.c uml: xterm driver tidying 2007-07-16 09:05:38 -07:00