block/compat_ioctl.c: do not leak info to user-space
authorCong Wang <amwang@redhat.com>
Wed, 3 Jul 2013 22:01:12 +0000 (15:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 3 Jul 2013 23:07:25 +0000 (16:07 -0700)
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>
block/compat_ioctl.c

index 7c668c8a6f953e1b6c298c9fc8af400924d7368a..7e5d474dc6ba8a3028abe19e296d3b19a9d4bded 100644 (file)
@@ -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.