summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2016-03-28 21:16:53 +0200
committerPaul Moore <paul@paul-moore.com>2016-04-05 22:10:55 +0200
commit4b57d6bcd94034e2eb168bdec2474e3b2b848e44 (patch)
treebe44e587a3fa8aee2746367208a6faed4848a2f9 /security
parentselinux: don't revalidate inodes in selinux_socket_getpeersec_dgram() (diff)
downloadlinux-4b57d6bcd94034e2eb168bdec2474e3b2b848e44.tar.xz
linux-4b57d6bcd94034e2eb168bdec2474e3b2b848e44.zip
selinux: simply inode label states to INVALID and INITIALIZED
There really is no need for LABEL_MISSING as we really only care if the inode's label is INVALID or INITIALIZED. Also adjust the revalidate code to reload the label whenever the label is not INITIALIZED so we are less sensitive to label state in the future. Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/hooks.c2
-rw-r--r--security/selinux/include/objsec.h5
2 files changed, 3 insertions, 4 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 65642be91644..dd1fbea37b78 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -259,7 +259,7 @@ static int __inode_security_revalidate(struct inode *inode,
might_sleep_if(may_sleep);
- if (isec->initialized == LABEL_INVALID) {
+ if (isec->initialized != LABEL_INITIALIZED) {
if (!may_sleep)
return -ECHILD;
diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h
index a2ae05414ba1..c21e135460a5 100644
--- a/security/selinux/include/objsec.h
+++ b/security/selinux/include/objsec.h
@@ -38,9 +38,8 @@ struct task_security_struct {
};
enum label_initialized {
- LABEL_MISSING, /* not initialized */
- LABEL_INITIALIZED, /* inizialized */
- LABEL_INVALID /* invalid */
+ LABEL_INVALID, /* invalid or not initialized */
+ LABEL_INITIALIZED /* initialized */
};
struct inode_security_struct {