Commit 4c156084 authored by Xiu Jianfeng's avatar Xiu Jianfeng Committed by Paul Moore
Browse files

selinux: correct the return value when loads initial sids



It should not return 0 when SID 0 is assigned to isids.
This patch fixes it.

Cc: stable@vger.kernel.org
Fixes: e3e0b582 ("selinux: remove unused initial SIDs and improve handling")
Signed-off-by: default avatarXiu Jianfeng <xiujianfeng@huawei.com>
[PM: remove changelog from description]
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent d99cf13f
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -874,7 +874,7 @@ int policydb_load_isids(struct policydb *p, struct sidtab *s)
	rc = sidtab_init(s);
	if (rc) {
		pr_err("SELinux:  out of memory on SID table init\n");
		goto out;
		return rc;
	}

	head = p->ocontexts[OCON_ISID];
@@ -885,7 +885,7 @@ int policydb_load_isids(struct policydb *p, struct sidtab *s)
		if (sid == SECSID_NULL) {
			pr_err("SELinux:  SID 0 was assigned a context.\n");
			sidtab_destroy(s);
			goto out;
			return -EINVAL;
		}

		/* Ignore initial SIDs unused by this kernel. */
@@ -897,12 +897,10 @@ int policydb_load_isids(struct policydb *p, struct sidtab *s)
			pr_err("SELinux:  unable to load initial SID %s.\n",
			       name);
			sidtab_destroy(s);
			goto out;
			return rc;
		}
	}
	rc = 0;
out:
	return rc;
	return 0;
}

int policydb_class_isvalid(struct policydb *p, unsigned int class)