From f03adf173237b9dcbebbefa7058a96b8a0e32920 Mon Sep 17 00:00:00 2001 From: FUJITA Tomonori Date: Mon, 28 Jun 2010 01:04:45 +0900 Subject: [PATCH] --- yaml --- r: 204180 b: refs/heads/master c: 9ab98f57b3e1d73cd0720d29c21b687ba609cde9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/scsi_debug.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index ac3539e8a011..9dc5234e8c90 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4289a08680d646dcc18e291cb437a292738e504f +refs/heads/master: 9ab98f57b3e1d73cd0720d29c21b687ba609cde9 diff --git a/trunk/drivers/scsi/scsi_debug.c b/trunk/drivers/scsi/scsi_debug.c index 136329b4027b..b02bdc6c2cd1 100644 --- a/trunk/drivers/scsi/scsi_debug.c +++ b/trunk/drivers/scsi/scsi_debug.c @@ -1991,7 +1991,8 @@ static void map_region(sector_t lba, unsigned int len) block = lba + alignment; rem = do_div(block, granularity); - set_bit(block, map_storep); + if (block < map_size) + set_bit(block, map_storep); lba += granularity - rem; } @@ -2011,7 +2012,8 @@ static void unmap_region(sector_t lba, unsigned int len) block = lba + alignment; rem = do_div(block, granularity); - if (rem == 0 && lba + granularity <= end) + if (rem == 0 && lba + granularity <= end && + block < map_size) clear_bit(block, map_storep); lba += granularity - rem;