Skip to content

Commit

Permalink
selinux: correct the return value when loads initial sids
Browse files Browse the repository at this point in the history
commit 4c15608 upstream.

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

Cc: stable@vger.kernel.org
Fixes: e3e0b58 ("selinux: remove unused initial SIDs and improve handling")
Signed-off-by: Xiu Jianfeng <xiujianfeng@huawei.com>
[PM: remove changelog from description]
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Xiu Jianfeng authored and gregkh committed Aug 12, 2021
1 parent 100f839 commit f4984f6
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions security/selinux/ss/policydb.c
Expand Up @@ -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];
Expand All @@ -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. */
Expand All @@ -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)
Expand Down

0 comments on commit f4984f6

Please sign in to comment.