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 /block/ll_rw_blk.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 'block/ll_rw_blk.c')
-rw-r--r-- | block/ll_rw_blk.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index f7462502bfdf..b94a396aa624 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -283,7 +283,6 @@ static inline void rq_init(request_queue_t *q, struct request *rq) | |||
283 | INIT_LIST_HEAD(&rq->donelist); | 283 | INIT_LIST_HEAD(&rq->donelist); |
284 | 284 | ||
285 | rq->errors = 0; | 285 | rq->errors = 0; |
286 | rq->rq_status = RQ_ACTIVE; | ||
287 | rq->bio = rq->biotail = NULL; | 286 | rq->bio = rq->biotail = NULL; |
288 | INIT_HLIST_NODE(&rq->hash); | 287 | INIT_HLIST_NODE(&rq->hash); |
289 | RB_CLEAR_NODE(&rq->rb_node); | 288 | RB_CLEAR_NODE(&rq->rb_node); |
@@ -2685,8 +2684,6 @@ void __blk_put_request(request_queue_t *q, struct request *req) | |||
2685 | 2684 | ||
2686 | elv_completed_request(q, req); | 2685 | elv_completed_request(q, req); |
2687 | 2686 | ||
2688 | req->rq_status = RQ_INACTIVE; | ||
2689 | |||
2690 | /* | 2687 | /* |
2691 | * Request may not have originated from ll_rw_blk. if not, | 2688 | * Request may not have originated from ll_rw_blk. if not, |
2692 | * it didn't come out of our reserved rq pools | 2689 | * it didn't come out of our reserved rq pools |