summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorStephen Smalley <stephen.smalley.work@gmail.com>2026-08-28 16:23:50 -0400
committerPaul Moore <paul@paul-moore.com>2026-08-31 15:19:27 -0400
commit3b0744a6358624d46f7ee2573faca2b7d92cf32b (patch)
treee9e618b2bcd8cedc29ca68655f746e1d1ea974ff /security
parentfc68b6a45f1668bbe03264343115d1c97013c7ea (diff)
selinux: remove unused mls_setup_user_range()
mls_setup_user_range() was a helper for security_get_user_sids(), which was removed by commit ad1ac3d740cc6b8 ("selinux: prune /sys/fs/selinux/user"). Since mls_setup_user_range() has no remaining users, remove it too and any other helpers that only it was using. Signed-off-by: Stephen Smalley <stephen.smalley.work@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security')
-rw-r--r--security/selinux/ss/mls.c38
-rw-r--r--security/selinux/ss/mls.h3
-rw-r--r--security/selinux/ss/mls_types.h3
3 files changed, 0 insertions, 44 deletions
diff --git a/security/selinux/ss/mls.c b/security/selinux/ss/mls.c
index 40c62600650e..b48f8256dd4c 100644
--- a/security/selinux/ss/mls.c
+++ b/security/selinux/ss/mls.c
@@ -400,44 +400,6 @@ int mls_range_set(struct context *context, struct mls_range *range)
return rc;
}
-int mls_setup_user_range(struct policydb *p, struct context *fromcon,
- struct user_datum *user, struct context *usercon)
-{
- if (p->mls_enabled) {
- struct mls_level *fromcon_sen = &(fromcon->range.level[0]);
- struct mls_level *fromcon_clr = &(fromcon->range.level[1]);
- struct mls_level *user_low = &(user->range.level[0]);
- struct mls_level *user_clr = &(user->range.level[1]);
- struct mls_level *user_def = &(user->dfltlevel);
- struct mls_level *usercon_sen = &(usercon->range.level[0]);
- struct mls_level *usercon_clr = &(usercon->range.level[1]);
-
- /* Honor the user's default level if we can */
- if (mls_level_between(user_def, fromcon_sen, fromcon_clr))
- *usercon_sen = *user_def;
- else if (mls_level_between(fromcon_sen, user_def, user_clr))
- *usercon_sen = *fromcon_sen;
- else if (mls_level_between(fromcon_clr, user_low, user_def))
- *usercon_sen = *user_low;
- else
- return -EINVAL;
-
- /* Lower the clearance of available contexts
- if the clearance of "fromcon" is lower than
- that of the user's default clearance (but
- only if the "fromcon" clearance dominates
- the user's computed sensitivity level) */
- if (mls_level_dom(user_clr, fromcon_clr))
- *usercon_clr = *fromcon_clr;
- else if (mls_level_dom(fromcon_clr, user_clr))
- *usercon_clr = *user_clr;
- else
- return -EINVAL;
- }
-
- return 0;
-}
-
/*
* Convert the MLS fields in the security context
* structure `oldc' from the values specified in the
diff --git a/security/selinux/ss/mls.h b/security/selinux/ss/mls.h
index 93cde1b22992..c107b5182fb7 100644
--- a/security/selinux/ss/mls.h
+++ b/security/selinux/ss/mls.h
@@ -46,9 +46,6 @@ int mls_compute_sid(struct policydb *p, struct context *scontext,
struct context *tcontext, u16 tclass, u32 specified,
struct context *newcontext, bool sock);
-int mls_setup_user_range(struct policydb *p, struct context *fromcon,
- struct user_datum *user, struct context *usercon);
-
#ifdef CONFIG_NETLABEL
void mls_export_netlbl_lvl(struct policydb *p, struct context *context,
struct netlbl_lsm_secattr *secattr);
diff --git a/security/selinux/ss/mls_types.h b/security/selinux/ss/mls_types.h
index 51df2ebd1211..d36a03f104c2 100644
--- a/security/selinux/ss/mls_types.h
+++ b/security/selinux/ss/mls_types.h
@@ -42,9 +42,6 @@ static inline int mls_level_dom(const struct mls_level *l1,
#define mls_level_incomp(l1, l2) \
(!mls_level_dom((l1), (l2)) && !mls_level_dom((l2), (l1)))
-#define mls_level_between(l1, l2, l3) \
- (mls_level_dom((l1), (l2)) && mls_level_dom((l3), (l1)))
-
#define mls_range_contains(r1, r2) \
(mls_level_dom(&(r2).level[0], &(r1).level[0]) && \
mls_level_dom(&(r1).level[1], &(r2).level[1]))