forked from luck/tmp_suning_uos_patched
19439d05b8
If allow_unknown==deny, SELinux treats an undefined kernel security class as an error condition rather than as a typical permission denial and thus does not allow permissions on undefined classes even when in permissive mode. Change the SELinux logic so that this case is handled as a typical permission denial, subject to the usual permissive mode and permissive domain handling. Also drop the 'requested' argument from security_compute_av() and helpers as it is a legacy of the original security server interface and is unused. Changes: - Handle permissive domains consistently by moving up the test for a permissive domain. - Make security_compute_av_user() consistent with security_compute_av(); the only difference now is that security_compute_av() performs mapping between the kernel-private class and permission indices and the policy values. In the userspace case, this mapping is handled by libselinux. - Moved avd_init inside the policy lock. Based in part on a patch by Paul Moore <paul.moore@hp.com>. Reported-by: Andrew Worsley <amworsley@gmail.com> Signed-off-by: Stephen D. Smalley <sds@tycho.nsa.gov> Reviewed-by: Paul Moore <paul.moore@hp.com> Signed-off-by: James Morris <jmorris@namei.org> |
||
---|---|---|
.. | ||
avtab.c | ||
avtab.h | ||
conditional.c | ||
conditional.h | ||
constraint.h | ||
context.h | ||
ebitmap.c | ||
ebitmap.h | ||
hashtab.c | ||
hashtab.h | ||
Makefile | ||
mls_types.h | ||
mls.c | ||
mls.h | ||
policydb.c | ||
policydb.h | ||
services.c | ||
services.h | ||
sidtab.c | ||
sidtab.h | ||
symtab.c | ||
symtab.h |