diff options
author | Jens Axboe <axboe@suse.de> | 2006-07-28 03:32:07 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 14:29:23 -0400 |
commit | cdd6026217c0e4cda2efce1bdc318661bef1f66f (patch) | |
tree | e26bb9c40b603b9cc321aa4217fecf34e1bc5f24 /drivers/scsi/scsi.c | |
parent | 49171e5c6f414d49a061b5c1c84967c2eb569822 (diff) |
[PATCH] Remove ->rq_status from struct request
After Christophs SCSI change, the only usage left is RQ_ACTIVE
and RQ_INACTIVE. The block layer sets RQ_INACTIVE right before freeing
the request, so any check for RQ_INACTIVE in a driver is a bug and
indicates use-after-free.
So kill/clean the remaining users, straight forward.
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'drivers/scsi/scsi.c')
-rw-r--r-- | drivers/scsi/scsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 7a054f9d1ee3..12f6639dda2d 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c | |||
@@ -1065,7 +1065,7 @@ int scsi_device_cancel(struct scsi_device *sdev, int recovery) | |||
1065 | 1065 | ||
1066 | spin_lock_irqsave(&sdev->list_lock, flags); | 1066 | spin_lock_irqsave(&sdev->list_lock, flags); |
1067 | list_for_each_entry(scmd, &sdev->cmd_list, list) { | 1067 | list_for_each_entry(scmd, &sdev->cmd_list, list) { |
1068 | if (scmd->request && scmd->request->rq_status != RQ_INACTIVE) { | 1068 | if (scmd->request) { |
1069 | /* | 1069 | /* |
1070 | * If we are unable to remove the timer, it means | 1070 | * If we are unable to remove the timer, it means |
1071 | * that the command has already timed out or | 1071 | * that the command has already timed out or |