summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2016-09-10 07:43:48 +0000
committerPaul Moore <paul@paul-moore.com>2016-09-13 17:14:43 -0400
commit9b6a9ecc2d88ccdc57efc22d69436b9dd7e2eceb (patch)
tree40391e0237dd127fec6134c89fdb7667c8d58ebc /security
parent7c686af071ade663d0995aa30b262495a6c68c88 (diff)
downloadlwn-9b6a9ecc2d88ccdc57efc22d69436b9dd7e2eceb.tar.gz
lwn-9b6a9ecc2d88ccdc57efc22d69436b9dd7e2eceb.zip
selinux: fix error return code in policydb_read()
Fix to return error code -EINVAL from the error handling case instead of 0 (rc is overwrite to 0 when policyvers >= POLICYDB_VERSION_ROLETRANS), as done elsewhere in this function. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> [PM: normalize "selinux" in patch subject, description line wrap] Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/ss/policydb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c
index 8c661f0451ec..ace683838d80 100644
--- a/security/selinux/ss/policydb.c
+++ b/security/selinux/ss/policydb.c
@@ -2417,6 +2417,7 @@ int policydb_read(struct policydb *p, void *fp)
} else
tr->tclass = p->process_class;
+ rc = -EINVAL;
if (!policydb_role_isvalid(p, tr->role) ||
!policydb_type_isvalid(p, tr->type) ||
!policydb_class_isvalid(p, tr->tclass) ||