drivers/ptp: Fix kernel memory disclosure

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>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Vlad Tsyrklevich 2016-10-11 15:02:47 +02:00 коммит произвёл David S. Miller
Родитель b8a4ddb2e8
Коммит 02a9079c66
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -193,6 +193,7 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
if (err) if (err)
break; break;
memset(&precise_offset, 0, sizeof(precise_offset));
ts = ktime_to_timespec64(xtstamp.device); ts = ktime_to_timespec64(xtstamp.device);
precise_offset.device.sec = ts.tv_sec; precise_offset.device.sec = ts.tv_sec;
precise_offset.device.nsec = ts.tv_nsec; precise_offset.device.nsec = ts.tv_nsec;