aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorSergey Senozhatsky <sergey.senozhatsky@gmail.com>2013-06-22 17:21:00 +0300
committerSimon Shields <keepcalm444@gmail.com>2016-06-12 21:19:43 +1000
commit843651d740ac98689c1a0055df4f77a271c3d75c (patch)
tree2d93c247a89f0c95f72b9b19354860006bc05580 /drivers/staging
parent88b340259d42041c6efb9f21bcfd8d2c29fade48 (diff)
downloadkernel_samsung_smdk4412-843651d740ac98689c1a0055df4f77a271c3d75c.tar.gz
kernel_samsung_smdk4412-843651d740ac98689c1a0055df4f77a271c3d75c.tar.bz2
kernel_samsung_smdk4412-843651d740ac98689c1a0055df4f77a271c3d75c.zip
zram: allow request end to coincide with disksize
Pass valid_io_request() checks if request end coincides with disksize (end equals bound), only fail if we attempt to read beyond the bound. mkfs.ext2 produces numerous errors: [ 2164.632747] quiet_error: 1 callbacks suppressed [ 2164.633260] Buffer I/O error on device zram0, logical block 153599 [ 2164.633265] lost page write due to I/O error on zram0 Change-Id: I71f9f52ec11897d0462d3ff54a853040faf36dcd Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Git-commit: 75c7caf5a052ffd8db3312fa7864ee2d142890c4 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/zram/zram_drv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/zram/zram_drv.c b/drivers/staging/zram/zram_drv.c
index 658c8fe9862..5a795cad416 100644
--- a/drivers/staging/zram/zram_drv.c
+++ b/drivers/staging/zram/zram_drv.c
@@ -180,7 +180,7 @@ static inline int valid_io_request(struct zram *zram, struct bio *bio)
end = start + (bio->bi_size >> SECTOR_SHIFT);
bound = zram->disksize >> SECTOR_SHIFT;
/* out of range range */
- if (unlikely(start >= bound || end >= bound || start > end))
+ if (unlikely(start >= bound || end > bound || start > end))
return 0;
/* I/O request is valid */