summaryrefslogtreecommitdiffstats
path: root/drivers/block/cciss.c
diff options
context:
space:
mode:
authorVasiliy Kulikov <segooon@gmail.com>2010-10-28 14:31:55 +0200
committerJens Axboe <jaxboe@fusionio.com>2010-10-28 14:31:55 +0200
commit7ab5118d7c2be650bc936894f159dc1c597badae (patch)
treeca1159b578e40251f79e25acd31a9d668bffece5 /drivers/block/cciss.c
parentdrivers/block/aoe/aoeblk.c: ratelimit a warning printk (diff)
downloadlinux-7ab5118d7c2be650bc936894f159dc1c597badae.tar.xz
linux-7ab5118d7c2be650bc936894f159dc1c597badae.zip
block: cciss: fix information leak to userland
Structure IOCTL_Command_struct is copied to userland with some padding fields at the end of the struct unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/block/cciss.c')
-rw-r--r--drivers/block/cciss.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index f09e6df15aa7..13d87a031c88 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -1184,6 +1184,7 @@ static int cciss_ioctl32_big_passthru(struct block_device *bdev, fmode_t mode,
int err;
u32 cp;
+ memset(&arg64, 0, sizeof(arg64));
err = 0;
err |=
copy_from_user(&arg64.LUN_info, &arg32->LUN_info,