selinux: ignore unknown extended permissions
Subsystems (2)
PATCH 1/1 selinux: ignore unknown extended permissions
When evaluating extended permissions, ignore unknown permissions instead of calling BUG(). This commit ensures that future permissions can be added without interfering with older kernels.
--- security/selinux/ss/services.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
security/selinux/ss/services.c +2 -1
@@ -979,7 +979,8 @@ void services_compute_xperms_decision(struct extended_perms_decision *xpermd,return ;break ;default : -BUG (); +// An unknown extended permission has been found. Ignore it. +return ; }if (node->key.specified ==AVTAB_XPERMS_ALLOWED ) {
Signature · 1 line
2.47.0.338.g60cca15819-goog
Paul Moore
maintainerQuoted 17 lines · Thiébaud Weksteen
When evaluating extended permissions, ignore unknown permissions instead of calling
BUG(). This commit ensures that future permissions can be added without interfering with older kernels.Fixes fa1aa143ac4a ("selinux: extended permissions for ioctls")Signed-off-by Thiébaud Weksteen <[email protected]>--- security/selinux/ss/services.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)security/selinux/ss/services.c +0
-0
security/selinux/ss/services.c void services_compute_xperms_decision(struct extended_perms_decision *xpermd, · line 983
Quoted 6 lines
security/selinux/ss/services.c +2
-1@@ -979,7 +979,8 @@ void services_compute_xperms_decision(struct extended_perms_decision *xpermd,return ;break ;default : -BUG (); +// An unknown extended permission has been found. Ignore it. +return ;
There is also a BUG() call lower in the function when it generates the extended data, do you want to update/remove that as well?
It also seems like we should have a pr_warn_once() or pr_warn_ratelimited() message here to alert the admin of a mismatch between the policy and the kernel.
Quoted 4 lines
security/selinux/ss/services.c +0
-1}if (node->key.specified ==AVTAB_XPERMS_ALLOWED ) { --
Signature · 1 line
paul-moore.com