]> git.baikalelectronics.ru Git - kernel.git/commit
selinux: treat atomic flags more carefully
authorOndrej Mosnacek <omosnace@redhat.com>
Tue, 7 Jan 2020 13:31:53 +0000 (14:31 +0100)
committerPaul Moore <paul@paul-moore.com>
Fri, 10 Jan 2020 20:19:39 +0000 (15:19 -0500)
commit27e1ad6ddaebec48ec32a2de201e15f46606ee3a
treedc4e6e963f7656f323f0c23bf3ffe0f51d1078c7
parent1de458a5588545a446f1a302d5facc89f57b6ac8
selinux: treat atomic flags more carefully

The disabled/enforcing/initialized flags are all accessed concurrently
by threads so use the appropriate accessors that ensure atomicity and
document that it is expected.

Use smp_load/acquire...() helpers (with memory barriers) for the
initialized flag, since it gates access to the rest of the state
structures.

Note that the disabled flag is currently not used for anything other
than avoiding double disable, but it will be used for bailing out of
hooks once security_delete_hooks() is removed.

Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: James Morris <jamorris@linux.microsoft.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/hooks.c
security/selinux/include/security.h
security/selinux/ss/services.c