Message ID | 1476190967-38256-1-git-send-email-vlad@tsyrklevich.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, Oct 11, 2016 at 03:02:47PM +0200, Vlad Tsyrklevich wrote: > 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. Acked-by: Richard Cochran <richardcochran@gmail.com>
From: Vlad Tsyrklevich <vlad@tsyrklevich.net> Date: Tue, 11 Oct 2016 15:02:47 +0200 > 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 <vlad@tsyrklevich.net> Applied and queued up for -stable, thanks Vlad.
diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index d637c93..58a97d4 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;
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 <vlad@tsyrklevich.net> --- drivers/ptp/ptp_chardev.c | 1 + 1 file changed, 1 insertion(+)