path: root/block
diff options
authorCong Wang <amwang@redhat.com>2013-07-03 15:01:12 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 16:07:25 -0700
commit8b0d77f13192678019f07cbc6b3338d6d91f1cf4 (patch)
tree3b5aaa1ac59486d6a507be5618d23815f7890ee8 /block
parent31bd8fbb41b1fdf61f80e3e506574b43fad5e478 (diff)
block/compat_ioctl.c: do not leak info to user-space
There is a hole in struct hd_geometry, so we have to zero the struct on stack before copying it to user-space. Signed-off-by: Cong Wang <amwang@redhat.com> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'block')
1 files changed, 1 insertions, 0 deletions
diff --git a/block/compat_ioctl.c b/block/compat_ioctl.c
index 7c668c8a6f95..7e5d474dc6ba 100644
--- a/block/compat_ioctl.c
+++ b/block/compat_ioctl.c
@@ -59,6 +59,7 @@ static int compat_hdio_getgeo(struct gendisk *disk, struct block_device *bdev,
if (!disk->fops->getgeo)
return -ENOTTY;
+ memset(&geo, 0, sizeof(geo));
* We need to set the startsect first, the driver may
* want to override it.