Somehow the `memset` is lost after refactor, which leaks a lot of kernel stack data to userspace directly. This patch clears the reserved data region to prevent the info leak. Signed-off-by: Kyle Zeng --- drivers/ptp/ptp_chardev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index c61cf9edac48..06f71011fb04 100644 --- a/drivers/ptp/ptp_chardev.c +++ b/drivers/ptp/ptp_chardev.c @@ -195,6 +195,8 @@ static long ptp_clock_getcaps(struct ptp_clock *ptp, void __user *arg) if (caps.adjust_phase) caps.max_phase_adj = ptp->info->getmaxphase(ptp->info); + memset(caps.rsv, 0, sizeof(caps.rsv)); + return copy_to_user(arg, &caps, sizeof(caps)) ? -EFAULT : 0; } -- 2.43.0