https://github.com/torvalds/linux
Revision 1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee authored by Stefan Weinhuber on 12 May 2010, 07:32:11 UTC, committed by Martin Schwidefsky on 12 May 2010, 07:32:26 UTC
The various dasd_sleep_on functions use a global wait queue when
waiting for a cqr. The wait condition checks the status and devlist
fields of the cqr to determine if it is safe to continue. This
evaluation may return true, although the tasklet has not finished
processing of the cqr and the callback function has not been called
yet. When the callback is finally called, the data in the cqr may
already be invalid. The sleep_on wait condition needs a safe way to
determine if the tasklet has finished processing. Use the
callback_data field of the cqr to store a token, which is set by
the callback function itself.

Cc: <stable@kernel.org>
Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
1 parent cea0d76
History
Tip revision: 1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee authored by Stefan Weinhuber on 12 May 2010, 07:32:11 UTC
[S390] dasd: fix race between tasklet and dasd_sleep_on
Tip revision: 1c1e093
File Mode Size
Documentation
arch
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore -rw-r--r-- 930 bytes
.mailmap -rw-r--r-- 3.9 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 91.8 KB
Kbuild -rw-r--r-- 2.4 KB
MAINTAINERS -rw-r--r-- 166.4 KB
Makefile -rw-r--r-- 51.9 KB
README -rw-r--r-- 17.0 KB
REPORTING-BUGS -rw-r--r-- 3.3 KB

README

back to top