Messages in this thread Patch in this message | | | From | Dmitry Monakhov <> | Subject | [PATCH 1/2] [PATCH] loop: prevent partial read | Date | Mon, 24 Jan 2011 19:43:44 +0300 |
| |
If read was not fully successful we have to fail whole bio to prevent information leak.
##Testcase_begin dd if=/dev/zero of=./tmp bs=1M count=1 losetup /dev/loop0 ./file -o 4096 truncate -s 0 ./file # OOps loop offset is now beyond i_size, so read will silently fail. # So bio's pages would not be cleared, may which result in information leak. hexdump -C /dev/loop0 ##testcase_end
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> --- drivers/block/loop.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 49e6a54..32e23f6 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -448,7 +448,8 @@ do_lo_receive(struct loop_device *lo, if (retval < 0) return retval; - + if (retval != bvec->bv_len) + return -EIO; return 0; } -- 1.7.2.3
| |