aboutsummaryrefslogtreecommitdiffstats
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2006-07-28 03:32:07 -0400
committerJens Axboe <axboe@nelson.home.kernel.dk>2006-09-30 14:29:23 -0400
commitcdd6026217c0e4cda2efce1bdc318661bef1f66f (patch)
treee26bb9c40b603b9cc321aa4217fecf34e1bc5f24 /block/ll_rw_blk.c
parent49171e5c6f414d49a061b5c1c84967c2eb569822 (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.c3
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