Zach Brown
897f15fb58
[PATCH] aio: remove unlocked task_list test and resulting race
...
Only one of the run or kick path is supposed to put an iocb on the run
list. If both of them do it than one of them can end up referencing a
freed iocb. The kick path could delete the task_list item from the wait
queue before getting the ctx_lock and putting the iocb on the run list.
The run path was testing the task_list item outside the lock so that it
could catch ki_retry methods that return -EIOCBRETRY *without* putting the
iocb on a wait queue and promising to call kick_iocb. This unlocked check
could then race with the kick path to cause both to try and put the iocb on
the run list.
The patch stops the run path from testing task_list by requring that any
ki_retry that returns -EIOCBRETRY *must* guarantee that kick_iocb() will be
called in the future. aio_p{read,write}, the only in-tree -EIOCBRETRY
users, are updated.
Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-30 12:41:17 -07:00
..
acpi
[ACPI] ACPICA 20050902
2005-09-03 00:15:11 -04:00
asm-alpha
[PATCH] slab: alpha inlining fix
2005-09-22 22:17:34 -07:00
asm-arm
Merge master.kernel.org:/home/rmk/linux-2.6-arm
2005-09-30 08:39:56 -07:00
asm-arm26
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-cris
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-frv
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-generic
[PATCH] mm: move_pte to remap ZERO_PAGE
2005-09-28 07:46:40 -07:00
asm-h8300
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-i386
[PATCH] uml: adapt asm/futex.h to our arch
2005-09-21 16:16:29 -07:00
asm-ia64
[PATCH] ia64 basic __user annotations
2005-09-29 08:46:27 -07:00
asm-m32r
[PATCH] m32r: more basic __user annotations
2005-09-26 18:29:50 -07:00
asm-m68k
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-m68knommu
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-mips
[PATCH] mm: move_pte to remap ZERO_PAGE
2005-09-28 07:46:40 -07:00
asm-parisc
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-powerpc
[PATCH] ppc64: Add definitions for new PTRACE calls
2005-09-12 17:19:12 +10:00
asm-ppc
[PATCH] missing qualifiers in readb() et.al. on ppc
2005-09-30 08:42:24 -07:00
asm-ppc64
[PATCH] ppc64 get_user annotations
2005-09-29 08:46:27 -07:00
asm-s390
[PATCH] s390 signal annotations
2005-09-29 08:46:27 -07:00
asm-sh
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-sh64
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-sparc
[SPARC]: Declare paging_init() in asm/pgtable.h
2005-09-28 21:31:25 -07:00
asm-sparc64
[SPARC64]: Kill arch/sparc64/prom/memory.c
2005-09-29 18:05:28 -07:00
asm-um
[PATCH] uml get_user() NULL noise removal
2005-09-30 08:42:24 -07:00
asm-v850
[PATCH] Remove unused var from asm/futex.h
2005-09-21 16:16:29 -07:00
asm-x86_64
[PATCH] x86_64: Add missing () around arguments of pte_index macro
2005-09-30 08:54:38 -07:00
asm-xtensa
[PATCH] xtensa: remove io_remap_page_range and minor clean-ups
2005-09-22 22:17:37 -07:00
linux
[PATCH] aio: remove unlocked task_list test and resulting race
2005-09-30 12:41:17 -07:00
math-emu
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
media
[PATCH] v4l: tveeprom improved to support newer Hauppage cards
2005-09-09 13:57:54 -07:00
mtd
[MTD] NAND: Honour autoplacement schemes supplied by the caller
2005-05-23 13:20:45 +02:00
net
[LLC]: fix llc_ui_recvmsg, making it behave like tcp_recvmsg
2005-09-22 08:29:08 -03:00
pcmcia
[PATCH] yenta: auto-tune EnE bridges for CardBus cards
2005-09-26 13:09:20 +02:00
rdma
[IB] uverbs: Close some exploitable races
2005-09-26 13:01:03 -07:00
rxrpc
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
scsi
[SCSI] Fix thread termination for the SCSI error handle
2005-09-19 09:50:04 -05:00
sound
[ALSA] version 1.0.10rc1
2005-09-12 11:14:05 +02:00
video
[PATCH] drivers/video: Replace custom macro with isdigit()
2005-09-13 08:22:33 -07:00