block/compat_ioctl.c: do not leak info to user-space
authorCong Wang <[email protected]>
Wed, 3 Jul 2013 22:01:12 +0000 (15:01 -0700)
committerLinus Torvalds <[email protected]>
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 <[email protected]>
Cc: Jens Axboe <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
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.