Messages in this thread Patch in this message | | | From | Dmitry Monakhov <> | Subject | [PATCH 1/2] loop: prevent information leak after failed read | Date | Fri, 23 Sep 2011 15:01:28 +0400 |
| |
If read was not fully successful we have to fail whole bio to prevent information leak of old pages
##Testcase_begin dd if=/dev/zero of=./file 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 4720c7a..0dcc7bf 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -447,7 +447,8 @@ do_lo_receive(struct loop_device *lo, if (retval < 0) return retval; - + if (retval != bvec->bv_len) + return -EIO; return 0; } -- 1.7.1
| |