selinux: ignore unknown extended permissions
BugLink: https://bugs.launchpad.net/bugs/2095327
commit 900f83cf376bdaf798b6f5dcb2eae0c822e908b6 upstream.
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.
Cc: stable@vger.kernel.org
Fixes: fa1aa143ac
("selinux: extended permissions for ioctls")
Signed-off-by: Thiébaud Weksteen <tweek@google.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Acked-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
This commit is contained in:
parent
5f122098a6
commit
eebd34e922
|
@ -971,7 +971,10 @@ void services_compute_xperms_decision(struct extended_perms_decision *xpermd,
|
|||
xpermd->driver))
|
||||
return;
|
||||
} else {
|
||||
BUG();
|
||||
pr_warn_once(
|
||||
"SELinux: unknown extended permission (%u) will be ignored\n",
|
||||
node->datum.u.xperms->specified);
|
||||
return;
|
||||
}
|
||||
|
||||
if (node->key.specified == AVTAB_XPERMS_ALLOWED) {
|
||||
|
@ -1008,7 +1011,8 @@ void services_compute_xperms_decision(struct extended_perms_decision *xpermd,
|
|||
node->datum.u.xperms->perms.p[i];
|
||||
}
|
||||
} else {
|
||||
BUG();
|
||||
pr_warn_once("SELinux: unknown specified key (%u)\n",
|
||||
node->key.specified);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue