UPSTREAM: selinux: fix bug in conditional rules handling
commit fa1aa143 ("selinux: extended permissions for ioctls") introduced a bug into the handling of conditional rules, skipping the processing entirely when the caller does not provide an extended permissions (xperms) structure. Access checks from userspace using /sys/fs/selinux/access do not include such a structure since that interface does not presently expose extended permission information. As a result, conditional rules were being ignored entirely on userspace access requests, producing denials when access was allowed by conditional rules in the policy. Fix the bug by only skipping computation of extended permissions in this situation, not the entire conditional rules processing. BUG=none TEST=smaug boots Reported-by:Laurent Bigonville <bigon@debian.org> Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov> [PM: fixed long lines in patch description] Cc: stable@vger.kernel.org # 4.3 Signed-off-by:
Paul Moore <pmoore@redhat.com> (cherry picked from commit f3bef679) Signed-off-by:
David Riley <davidriley@chromium.org> Change-Id: Iae290beaa10bbaa3f14d2fd186021ef9babd1ea8 Reviewed-on: https://chromium-review.googlesource.com/322730 Commit-Ready: David Riley <davidriley@chromium.org> Tested-by:
David Riley <davidriley@chromium.org> Reviewed-by:
Mark Salyzyn <salyzyn@google.com> Reviewed-by:
Andrew Bresticker <abrestic@chromium.org>
Please register or sign in to comment