summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorCong Wang <amwang@redhat.com>2013-07-04 00:01:12 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-04 01:07:25 +0200
commit8b0d77f13192678019f07cbc6b3338d6d91f1cf4 (patch)
tree3b5aaa1ac59486d6a507be5618d23815f7890ee8 /block
parentdrivers/cdrom/gdrom.c: fix device number leak (diff)
downloadlinux-8b0d77f13192678019f07cbc6b3338d6d91f1cf4.tar.xz
linux-8b0d77f13192678019f07cbc6b3338d6d91f1cf4.zip
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')
-rw-r--r--block/compat_ioctl.c1
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.