selinux: log error messages on required process class / permissions
authorStephen Smalley <stephen.smalley.work@gmail.com>
Wed, 17 Jun 2020 19:23:09 +0000 (15:23 -0400)
committerPaul Moore <paul@paul-moore.com>
Wed, 24 Jun 2020 00:57:01 +0000 (20:57 -0400)
commit7383c0f94d3c902d5dd68792331e9a1d4a5ad6cb
tree4a3b17a0ac9bcfde9caa98c6e4d576cb6438a0ea
parent382c2b5d23b4245f1818f69286db334355488dc4
selinux: log error messages on required process class / permissions

In general SELinux no longer treats undefined object classes or permissions
in the policy as a fatal error, instead handling them in accordance with
handle_unknown. However, the process class and process transition and
dyntransition permissions are still required to be defined due to
dependencies on these definitions for default labeling behaviors,
role and range transitions in older policy versions that lack an explicit
class field, and role allow checking.  Log error messages in these cases
since otherwise the policy load will fail silently with no indication
to the user as to the underlying cause.  While here, fix the checking for
process transition / dyntransition so that omitting either permission is
handled as an error; both are needed in order to ensure that role allow
checking is consistently applied.

Reported-by: bauen1 <j2468h@googlemail.com>
Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/ss/policydb.c