From: Dan Carpenter Date: Wed, 16 Nov 2011 08:21:50 +0000 (+0100) Subject: paride: fix potential information leak in pg_read() X-Git-Tag: upstream/snapshot3+hdmi~8702^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2c2a0e668e26e020731ce2a40e6474d1d37210a;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git paride: fix potential information leak in pg_read() Smatch has a new check for Rosenberg type information leaks where structs are copied to the user with uninitialized stack data in them. i In this case, the pg_write_hdr struct has a hole in it. struct pg_write_hdr { char magic; /* 0 1 */ char func; /* 1 1 */ /* XXX 2 bytes hole, try to pack */ int dlen; /* 4 4 */ Signed-off-by: Dan Carpenter Cc: Tim Waugh Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe --- diff --git a/drivers/block/paride/pg.c b/drivers/block/paride/pg.c index 6b9a200..a79fb4f 100644 --- a/drivers/block/paride/pg.c +++ b/drivers/block/paride/pg.c @@ -630,6 +630,7 @@ static ssize_t pg_read(struct file *filp, char __user *buf, size_t count, loff_t if (dev->status & 0x10) return -ETIME; + memset(&hdr, 0, sizeof(hdr)); hdr.magic = PG_MAGIC; hdr.dlen = dev->dlen; copy = 0;