linux-uconsole/arch/um
Will Newton 4d88db53a9 uml: disable winch irq before freeing handler data
commit 69e83dad52 upstream.

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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:16 -08:00
..
drivers uml: disable winch irq before freeing handler data 2010-12-09 13:33:16 -08:00
include uml: fix compile error in dma_get_cache_alignment() 2010-08-20 09:34:55 -07:00
kernel um: remove PAGE_SIZE alignment in linker script causing kernel segfault. 2010-12-09 13:32:31 -08:00
os-Linux um: fix global timer issue when using CONFIG_NO_HZ 2010-12-09 13:32:32 -08:00
scripts uml: throw out CONFIG_MODE_TT 2007-10-16 09:43:05 -07:00
sys-i386 Merge branch 'master' into for-next 2010-04-23 02:08:44 +02:00
sys-ia64 uml: remove useless comments 2009-04-01 08:59:17 -07:00
sys-ppc elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
sys-x86_64 UML: Fix compiler warning due to missing task_struct declaration 2010-04-21 01:43:03 +02:00
.gitignore um: tell git to ignore generated files 2010-03-06 11:26:28 -08:00
defconfig UML: update defconfig 2008-02-23 17:12:13 -08:00
Kconfig.char sound: make OSS sound core optional 2008-08-29 10:06:21 +02:00
Kconfig.common time: Kill off CONFIG_GENERIC_TIME 2010-07-27 12:40:54 +02:00
Kconfig.debug uml: GPROF needs to depend on FRAME_POINTER 2008-02-05 09:44:25 -08:00
Kconfig.net uml: fix URLs in Kconfig and help strings 2008-02-05 09:44:25 -08:00
Kconfig.rest uml: kill a kconfig warning 2009-04-21 13:41:50 -07:00
Kconfig.um x86, um: get rid of arch/um/Kconfig.arch 2008-10-22 22:55:23 -07:00
Kconfig.x86 x86, um: get rid of arch/um/Kconfig.arch 2008-10-22 22:55:23 -07:00
Makefile kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
Makefile-i386 [UML] fix gcc ICEs and unresolved externs 2008-07-07 10:53:10 -07:00
Makefile-ia64
Makefile-os-Linux x86, um: get rid of arch/um/os symlink 2008-10-22 22:55:22 -07:00
Makefile-ppc
Makefile-skas
Makefile-x86_64 [UML] fix gcc ICEs and unresolved externs 2008-07-07 10:53:10 -07:00