kernel_optimize_test/include
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
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
media [PATCH] v4l: tveeprom improved to support newer Hauppage cards 2005-09-09 13:57:54 -07:00
mtd
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
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