Tejun Heo
ca23509fba
[PATCH] blk: fix dangling pointer access in __elv_add_request
...
cfq's add_req_fn callback may invoke q->request_fn directly and
depending on low-level driver used and timing, a queued request may be
finished & deallocated before add_req_fn callback returns. So,
__elv_add_request must not access rq after it's passed to add_req_fn
callback.
This patch moves rq_mergeable test above add_req_fn(). This may
result in q->last_merge pointing to REQ_NOMERGE request if add_req_fn
callback sets it but as RQ_NOMERGE is checked again when blk layer
actually tries to merge requests, this does not cause any problem.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-01 21:58:06 -08:00
..
aoe
[PATCH] Driver Core: fix up all callers of class_device_create()
2005-10-28 09:52:52 -07:00
paride
[PATCH] fix missing includes
2005-10-30 17:37:32 -08:00
acsi.c
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
acsi_slm.c
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
amiflop.c
as-iosched.c
[PATCH] cfq-iosched: move tasklist walk to elevator.c
2005-10-30 17:37:17 -08:00
ataflop.c
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
cciss.c
[PATCH] cciss: busy_initializing bug fix
2005-09-21 10:11:54 -07:00
cciss.h
[PATCH] cciss: direct lookup for command completions
2005-09-13 08:22:30 -07:00
cciss_cmd.h
[PATCH] cciss: direct lookup for command completions
2005-09-13 08:22:30 -07:00
cciss_scsi.c
[PATCH] fix missing includes
2005-10-30 17:37:32 -08:00
cciss_scsi.h
cfq-iosched.c
[PATCH] Fix on-the-fly switch from cfq i/o scheduler
2005-10-31 07:41:28 -08:00
cpqarray.c
cpqarray.h
cryptoloop.c
[CRYPTO]: Use CRYPTO_TFM_REQ_MAY_SLEEP where appropriate
2005-09-01 17:43:25 -07:00
DAC960.c
DAC960.h
deadline-iosched.c
Merge branch 'generic-dispatch' of git://brick.kernel.dk/data/git/linux-2.6-block
2005-10-28 08:53:49 -07:00
elevator.c
[PATCH] blk: fix dangling pointer access in __elv_add_request
2005-11-01 21:58:06 -08:00
floppy.c
Create platform_device.h to contain all the platform device details.
2005-10-29 19:07:23 +01:00
genhd.c
[PATCH] add sysfs attr to re-emit device hotplug event
2005-10-28 09:52:51 -07:00
ida_cmd.h
ida_ioctl.h
ioctl.c
[PATCH] block: add unlocked_ioctl support for block devices
2005-06-23 09:45:32 -07:00
Kconfig
[PATCH] Kconfig fix (BLK_DEV_FD dependencies)
2005-09-07 17:17:12 -07:00
Kconfig.iosched
[PATCH] block cleanups: Add kconfig default iosched submenu
2005-10-30 17:37:20 -08:00
ll_rw_blk.c
Merge branch 'elevator-switch' of git://brick.kernel.dk/data/git/linux-2.6-block
2005-10-28 08:56:34 -07:00
loop.c
[PATCH] gfp_t: remaining bits of drivers/*
2005-10-28 08:16:51 -07:00
Makefile
nbd.c
noop-iosched.c
[PATCH] noop-iosched: avoid corrupted request merging
2005-10-31 07:46:28 -08:00
pktcdvd.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
ps2esdi.c
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
rd.c
[PATCH] gfp_t: remaining bits of drivers/*
2005-10-28 08:16:51 -07:00
scsi_ioctl.c
[PATCH] scsi_ioctl: only warn for rejected commands
2005-10-08 15:00:57 -07:00
smart1,2.h
swim3.c
[PATCH] drivers/block: fix-up schedule_timeout() usage
2005-09-10 10:06:38 -07:00
swim_iop.c
[PATCH] drivers/block: fix-up schedule_timeout() usage
2005-09-10 10:06:38 -07:00
sx8.c
drivers/block/sx8: kill unused variable
2005-10-22 01:33:18 -04:00
ub.c
[PATCH] ub: suppress gcc warnings for pointer casts
2005-10-28 16:47:38 -07:00
umem.c
[PATCH] janitor: block/umem: replace PRINTK with pr_debug
2005-09-10 10:06:33 -07:00
viodasd.c
powerpc: set the driver.owner field for all vio drivers
2005-10-24 16:59:13 +10:00
xd.c
[PATCH] drivers/block: fix-up schedule_timeout() usage
2005-09-10 10:06:38 -07:00
xd.h
z2ram.c
[PATCH] vfree and kfree cleanup in drivers/
2005-09-10 10:06:30 -07:00