From: Vlad Tsyrklevich Date: Tue, 11 Oct 2016 13:02:47 +0000 (+0200) Subject: drivers/ptp: Fix kernel memory disclosure X-Git-Tag: v4.8.8~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dac04913ee27c921c97723cf4c6bd2bd277d6220;p=thirdparty%2Fkernel%2Fstable.git drivers/ptp: Fix kernel memory disclosure [ Upstream commit 02a9079c66341836c4914c33c06a73245060df2e ] The reserved field precise_offset->rsv is not cleared before being copied to user space, leaking kernel stack memory. Clear the struct before it's copied. Signed-off-by: Vlad Tsyrklevich Acked-by: Richard Cochran Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index d637c933c8a90..58a97d4205723 100644 --- a/drivers/ptp/ptp_chardev.c +++ b/drivers/ptp/ptp_chardev.c @@ -193,6 +193,7 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg) if (err) break; + memset(&precise_offset, 0, sizeof(precise_offset)); ts = ktime_to_timespec64(xtstamp.device); precise_offset.device.sec = ts.tv_sec; precise_offset.device.nsec = ts.tv_nsec;