[PATCH] char: genrtc: fix infoleak to userspace

From: Vasiliy Kulikov
Date: Sat Apr 09 2011 - 08:41:41 EST


struct pll is copied to userspace. It is filled in "multiplexing" function
get_rtc_pll(). At least one implementator, q40_get_rtc_pll(), doesn't
fill .pll_ctrl field. It's hard to understand whether either the caller
or the callee must zero the unused struct fields, however, on another
ioctl commands the caller already zeroes the structure. So, let's the
caller use memset().

Signed-off-by: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
---
drivers/char/genrtc.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/char/genrtc.c b/drivers/char/genrtc.c
index f773a9d..65cd683 100644
--- a/drivers/char/genrtc.c
+++ b/drivers/char/genrtc.c
@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *file,
switch (cmd) {

case RTC_PLL_GET:
+ memset(&pll, 0, sizeof(pll));
if (get_rtc_pll(&pll))
return -EINVAL;
else
--
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/