diff options
author | Philip J Kelleher | 2013-06-18 14:48:38 -0500 |
---|---|---|
committer | Jens Axboe | 2013-06-19 13:52:10 +0200 |
commit | 3eb8dcafb5a73041e2f3b4a39c057a58e4354d83 (patch) | |
tree | 754d303661b0de51c248a57bea2991d9c4a55018 /drivers/block | |
parent | 66bc600363acd0acae84e878e5a06e7b7a38c014 (diff) |
rsxx: Adapter address space sanity check.
Adding a sanity check to guarentee that DMAs outside of the device's
address space will be errored out right away.
Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/rsxx/dev.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/block/rsxx/dev.c b/drivers/block/rsxx/dev.c index a092f58db212..d7af441880be 100644 --- a/drivers/block/rsxx/dev.c +++ b/drivers/block/rsxx/dev.c @@ -174,6 +174,9 @@ static void rsxx_make_request(struct request_queue *q, struct bio *bio) if (!card) goto req_err; + if (bio->bi_sector + (bio->bi_size >> 9) > get_capacity(card->gendisk)) + goto req_err; + if (unlikely(card->halt)) { st = -EFAULT; goto req_err; |