[PATCH] perf/core: fix unconditional security_locked_down() call
paul at paul-moore.com
Tue Mar 16 15:12:23 UTC 2021
On Tue, Mar 16, 2021 at 10:30 AM Peter Zijlstra <peterz at infradead.org> wrote:
> On Tue, Mar 16, 2021 at 09:53:21AM -0400, Paul Moore wrote:
> > On Wed, Feb 24, 2021 at 4:59 PM Ondrej Mosnacek <omosnace at redhat.com> wrote:
> > >
> > > Currently, the lockdown state is queried unconditionally, even though
> > > its result is used only if the PERF_SAMPLE_REGS_INTR bit is set in
> > > attr.sample_type. While that doesn't matter in case of the Lockdown LSM,
> > > it causes trouble with the SELinux's lockdown hook implementation.
> > >
> > > SELinux implements the locked_down hook with a check whether the current
> > > task's type has the corresponding "lockdown" class permission
> > > ("integrity" or "confidentiality") allowed in the policy. This means
> > > that calling the hook when the access control decision would be ignored
> > > generates a bogus permission check and audit record.
> > >
> > > Fix this by checking sample_type first and only calling the hook when
> > > its result would be honored.
> > >
> > > Fixes: b0c8fdc7fdb7 ("lockdown: Lock down perf when in confidentiality mode")
> > > Signed-off-by: Ondrej Mosnacek <omosnace at redhat.com>
> > > ---
> > > kernel/events/core.c | 12 ++++++------
> > > 1 file changed, 6 insertions(+), 6 deletions(-)
> > Perf/core folks, do you want to pull this in via your tree? If I
> > don't hear anything in the next day I'll pull this in via the
> > selinux/next tree.
> > Reviewed-by: Paul Moore <paul at paul-moore.com>
> Ah, fell in the cracks... I've no idea what Changelog is trying to tell
> me. It is pure gibberish to me. But the patch seems harmless enough to me.
> Let me queue it then.
More information about the Linux-security-module-archive