On Wed, Dec 05, 2018 at 05:05:02PM +0100, Jiri Olsa wrote: > @@ -10461,6 +10484,19 @@ SYSCALL_DEFINE5(perf_event_open, > return -EINVAL; > } > > + if (attr.block) { > + /* > + * Allow only syscall tracepoints, check for syscall class > + * is made in the tracepoint event_init callback. > + */ > + if (attr.type != PERF_TYPE_TRACEPOINT) > + return -EINVAL; > + > + /* Allow to block only if we attach to a process. */ > + if (pid == -1) > + return -EINVAL; > + } > + > /* Only privileged users can get physical addresses */ > if ((attr.sample_type & PERF_SAMPLE_PHYS_ADDR) && > perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN))
That's fairly horrible and will, when copied, lead to a giant mess. Please see the whole exclusion patch set here: https://lkml.kernel.org/r/1543230756-15319-1-git-send-email-andrew.mur...@arm.com PERF_PMU_CAP_BLOCK sounds like something you'd want here.