[PATCH] selinux: add selinux_is_enforced() function
Sebastien Buisson
sbuisson.ddn at gmail.com
Wed Apr 12 15:11:43 UTC 2017
2017-04-12 16:35 GMT+02:00 Stephen Smalley <sds at tycho.nsa.gov>:
> How are you using this SELinux information in the kernel and/or in
> userspace? What's the purpose of it? What are you comparing it
> against? Why do you care if it changes?
Enforcement status and policy version are compared to their previously
stored value. If they differ, then it means we need to call a userland
helper from Lustre client kernelspace to read the currently loaded
policy (reading it will let us know if the Lustre client node is
conforming to the Lustre-wide security policy).
As calling the userland helper is costly, we do it only when it is
necessary by retrieving some SELinux key information directly from
kernelspace.
> Note btw that the notion of a policy name/type and the policy file path
> is purely a userspace construct and shouldn't be embedded in your
> kernel code. Android for example doesn't follow that convention at
> all; their SELinux policy file is simply /sepolicy. On modern kernels,
> you can always read the currently loaded policy from the kernel itself
> via /sys/fs/selinux/policy (formerly just /selinux/policy).
As I understand it, a userspace program can directly read the policy
info exposed by the kernel by reading this file. But how about reading
it from kernelspace?
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the Linux-security-module-archive
mailing list