linux/arch/um/include/shared
Al Viro f71f94845e um: fix oopsable race in line_close()
tty->count is decremented only after ->close() had been called and
several tasks can hit it in parallel.  As the result, using tty->count
to check if you are the last one is broken.  We end up leaving line->tty
not reset to NULL and the next IRQ on that sucker will blow up trying to
dereference pointers from kfree'd struct tty.

Fix is obvious: we need to use a counter of our own.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-09-14 18:09:37 -07:00
..
skas x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
aio.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
arch.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
as-layout.h x86, um: get rid of excessive includes of uml-config.h 2008-10-22 22:55:22 -07:00
chan_kern.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
chan_user.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
common-offsets.h x86, um: get rid of uml-config.h 2008-10-22 22:55:23 -07:00
elf_user.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
frame_kern.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
init.h fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
initrd.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
irq_kern.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
irq_user.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
kern.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
kern_util.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
ldt.h x86, um: untangle uml ldt.h 2008-10-22 22:55:21 -07:00
line.h um: fix oopsable race in line_close() 2011-09-14 18:09:37 -07:00
longjmp.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
mconsole.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
mconsole_kern.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
mem.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
mem_kern.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
mem_user.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
net_kern.h uml: convert network device to internal network device stats 2009-03-27 00:46:39 -07:00
net_user.h uml: UML net driver does not allow for vlans 2009-06-16 19:47:46 -07:00
os.h um: add earlyprintk support 2011-05-25 08:39:41 -07:00
process.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
ptrace_user.h trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
registers.h um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
sigio.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
skas_ptrace.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
skas_ptregs.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
syscall.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
sysrq.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
task.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
tlb.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
ubd_user.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
um_malloc.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
um_mmu.h x86, um: get rid of excessive includes of uml-config.h 2008-10-22 22:55:22 -07:00
um_uaccess.h x86, um: take arch/um/include/* out of the way 2008-10-22 22:55:19 -07:00
user.h x86, um: get rid of uml-config.h 2008-10-22 22:55:23 -07:00