linux/drivers/block
Jens Axboe 4a534f93b3 [PATCH] possible use-after-free of bio
There is a possibility that a bio will be accessed after it has been freed
on SCSI.  It happens if you submit a bio with BIO_SYNC marked and the
auto-unplugging kicks the request_fn, SCSI re-enables interrupts in-between
so if the request completes between the add_request() in __make_request()
and the bio_sync() call, we could be looking at a dead bio.  It's a slim
race, but it has been triggered in the Real World.

So assign bio_sync() to a local variable instead.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:40 -07:00
..
aoe Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
paride Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acsi_slm.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acsi.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
amiflop.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
as-iosched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ataflop.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss_cmd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss_scsi.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss_scsi.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cciss.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cfq-iosched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqarray.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpqarray.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cryptoloop.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
DAC960.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
DAC960.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
deadline-iosched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
elevator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
floppy.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
genhd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ida_cmd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ida_ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig.iosched Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ll_rw_blk.c [PATCH] possible use-after-free of bio 2005-04-16 15:25:40 -07:00
loop.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nbd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
noop-iosched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pktcdvd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ps2esdi.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi_ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smart1,2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
swim3.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
swim_iop.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sx8.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ub.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
umem.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
viodasd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
z2ram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00