From: David Howells Date: Mon, 18 Feb 2019 12:45:02 +0000 (+0000) Subject: Lock down perf X-Git-Tag: archive/raspbian/5.2.17-1+rpi1^2~35 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1d729dde37f697c3187d4db9495b160b0a42bb5a;p=linux.git Lock down perf Disallow the use of certain perf facilities that might allow userspace to access kernel data. Signed-off-by: David Howells Gbp-Pq: Topic features/all/lockdown Gbp-Pq: Name 0026-Lock-down-perf.patch --- diff --git a/kernel/events/core.c b/kernel/events/core.c index 1a8eb4dd99b..f30bce79d61 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -10824,6 +10824,11 @@ SYSCALL_DEFINE5(perf_event_open, return -EINVAL; } + if ((attr.sample_type & PERF_SAMPLE_REGS_INTR) && + kernel_is_locked_down("PERF_SAMPLE_REGS_INTR")) + /* REGS_INTR can leak data, lockdown must prevent this */ + return -EPERM; + /* Only privileged users can get physical addresses */ if ((attr.sample_type & PERF_SAMPLE_PHYS_ADDR) && perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN))