perf/core: Call LSM hook after copying perf_event_attr

It passes the attr struct to the security_perf_event_open() but it's
not initialized yet.

Fixes: da97e18458 ("perf_event: Add support for LSM and SELinux checks")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20221220223140.4020470-1-namhyung@kernel.org
This commit is contained in:
Namhyung Kim 2022-12-20 14:31:40 -08:00 committed by Peter Zijlstra
parent a551844e34
commit 0a041ebca4

View File

@ -12321,12 +12321,12 @@ SYSCALL_DEFINE5(perf_event_open,
if (flags & ~PERF_FLAG_ALL) if (flags & ~PERF_FLAG_ALL)
return -EINVAL; return -EINVAL;
/* Do we allow access to perf_event_open(2) ? */ err = perf_copy_attr(attr_uptr, &attr);
err = security_perf_event_open(&attr, PERF_SECURITY_OPEN);
if (err) if (err)
return err; return err;
err = perf_copy_attr(attr_uptr, &attr); /* Do we allow access to perf_event_open(2) ? */
err = security_perf_event_open(&attr, PERF_SECURITY_OPEN);
if (err) if (err)
return err; return err;