diff options
| author | Christian Göttsche <cgzones@googlemail.com> | 2026-09-17 16:13:17 +0200 |
|---|---|---|
| committer | Paul Moore <paul@paul-moore.com> | 2026-09-24 17:36:34 -0400 |
| commit | 7e3e23305d13db5fa7cfaa2dbc9ab430218025c6 (patch) | |
| tree | 9ed854c509dbbadf56369546b5ccb4100e6e010f /include/linux/timerqueue.h | |
| parent | 0037abbab6fb9cb18539b9ee2b59d9c3056d3bee (diff) | |
| download | linux-next-7e3e23305d13db5fa7cfaa2dbc9ab430218025c6.tar.gz linux-next-7e3e23305d13db5fa7cfaa2dbc9ab430218025c6.zip | |
selinux: check neveraudit in avc_xperms_audit_required()
avc_audit_required() returns early for a neveraudit domain, while
avc_xperms_audit_required() instead relies on security_compute_av()
(and security_compute_av_user()) having already zeroed
avd->auditallow and avd->auditdeny for such a domain. That leaves
its "else if (result)" branch as the only way left to audit a
neveraudit domain, and makes the two helpers read differently for
the same rule.
Add the same early return to avc_xperms_audit_required(), so both
audit gates state the neveraudit rule directly and the extended
permission audit path no longer depends on the auditallow/auditdeny
mask having been zeroed elsewhere.
No behavior changes today: avc_has_extended_perms() only reaches the
"result" branch once the identically computed "denied" is already
nonzero, so that branch was already unreachable in practice.
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
