|
|
71cd55 |
From 42f3d7cceb1e15f10eb8e886e6f07ee3c3c6130f Mon Sep 17 00:00:00 2001
|
|
|
71cd55 |
From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
|
|
|
71cd55 |
Date: Tue, 8 Jun 2021 17:58:52 +0200
|
|
|
71cd55 |
Subject: [PATCH] libsepol: remove unused functions
|
|
|
71cd55 |
MIME-Version: 1.0
|
|
|
71cd55 |
Content-Type: text/plain; charset=UTF-8
|
|
|
71cd55 |
Content-Transfer-Encoding: 8bit
|
|
|
71cd55 |
|
|
|
71cd55 |
The functions `role_set_get_role`, `sepol_validate_transition` and
|
|
|
71cd55 |
`sepol_sidtab_remove` seem to be unused since the initial import.
|
|
|
71cd55 |
|
|
|
71cd55 |
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
|
|
|
71cd55 |
Acked-by: James Carter <jwcart2@gmail.com>
|
|
|
71cd55 |
---
|
|
|
71cd55 |
libsepol/src/policydb.c | 18 ----------------
|
|
|
71cd55 |
libsepol/src/services.c | 47 -----------------------------------------
|
|
|
71cd55 |
libsepol/src/sidtab.c | 31 ---------------------------
|
|
|
71cd55 |
3 files changed, 96 deletions(-)
|
|
|
71cd55 |
|
|
|
71cd55 |
diff --git a/libsepol/src/policydb.c b/libsepol/src/policydb.c
|
|
|
71cd55 |
index 3f7ddb11a236..fc1d07112efb 100644
|
|
|
71cd55 |
--- a/libsepol/src/policydb.c
|
|
|
71cd55 |
+++ b/libsepol/src/policydb.c
|
|
|
71cd55 |
@@ -1791,24 +1791,6 @@ int type_set_or_eq(type_set_t * dst, type_set_t * other)
|
|
|
71cd55 |
return ret;
|
|
|
71cd55 |
}
|
|
|
71cd55 |
|
|
|
71cd55 |
-int role_set_get_role(role_set_t * x, uint32_t role)
|
|
|
71cd55 |
-{
|
|
|
71cd55 |
- if (x->flags & ROLE_STAR)
|
|
|
71cd55 |
- return 1;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- if (ebitmap_get_bit(&x->roles, role - 1)) {
|
|
|
71cd55 |
- if (x->flags & ROLE_COMP)
|
|
|
71cd55 |
- return 0;
|
|
|
71cd55 |
- else
|
|
|
71cd55 |
- return 1;
|
|
|
71cd55 |
- } else {
|
|
|
71cd55 |
- if (x->flags & ROLE_COMP)
|
|
|
71cd55 |
- return 1;
|
|
|
71cd55 |
- else
|
|
|
71cd55 |
- return 0;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-}
|
|
|
71cd55 |
-
|
|
|
71cd55 |
/***********************************************************************/
|
|
|
71cd55 |
/* everything below is for policy reads */
|
|
|
71cd55 |
|
|
|
71cd55 |
diff --git a/libsepol/src/services.c b/libsepol/src/services.c
|
|
|
71cd55 |
index 39fbd979b095..ff91f7d2fdfc 100644
|
|
|
71cd55 |
--- a/libsepol/src/services.c
|
|
|
71cd55 |
+++ b/libsepol/src/services.c
|
|
|
71cd55 |
@@ -1024,53 +1024,6 @@ static int context_struct_compute_av(context_struct_t * scontext,
|
|
|
71cd55 |
return 0;
|
|
|
71cd55 |
}
|
|
|
71cd55 |
|
|
|
71cd55 |
-static int sepol_validate_transition(sepol_security_id_t oldsid,
|
|
|
71cd55 |
- sepol_security_id_t newsid,
|
|
|
71cd55 |
- sepol_security_id_t tasksid,
|
|
|
71cd55 |
- sepol_security_class_t tclass)
|
|
|
71cd55 |
-{
|
|
|
71cd55 |
- context_struct_t *ocontext;
|
|
|
71cd55 |
- context_struct_t *ncontext;
|
|
|
71cd55 |
- context_struct_t *tcontext;
|
|
|
71cd55 |
- class_datum_t *tclass_datum;
|
|
|
71cd55 |
- constraint_node_t *constraint;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- if (!tclass || tclass > policydb->p_classes.nprim) {
|
|
|
71cd55 |
- ERR(NULL, "unrecognized class %d", tclass);
|
|
|
71cd55 |
- return -EINVAL;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
- tclass_datum = policydb->class_val_to_struct[tclass - 1];
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- ocontext = sepol_sidtab_search(sidtab, oldsid);
|
|
|
71cd55 |
- if (!ocontext) {
|
|
|
71cd55 |
- ERR(NULL, "unrecognized SID %d", oldsid);
|
|
|
71cd55 |
- return -EINVAL;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- ncontext = sepol_sidtab_search(sidtab, newsid);
|
|
|
71cd55 |
- if (!ncontext) {
|
|
|
71cd55 |
- ERR(NULL, "unrecognized SID %d", newsid);
|
|
|
71cd55 |
- return -EINVAL;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- tcontext = sepol_sidtab_search(sidtab, tasksid);
|
|
|
71cd55 |
- if (!tcontext) {
|
|
|
71cd55 |
- ERR(NULL, "unrecognized SID %d", tasksid);
|
|
|
71cd55 |
- return -EINVAL;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- constraint = tclass_datum->validatetrans;
|
|
|
71cd55 |
- while (constraint) {
|
|
|
71cd55 |
- if (!constraint_expr_eval_reason(ocontext, ncontext, tcontext,
|
|
|
71cd55 |
- 0, constraint, NULL, 0)) {
|
|
|
71cd55 |
- return -EPERM;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
- constraint = constraint->next;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- return 0;
|
|
|
71cd55 |
-}
|
|
|
71cd55 |
-
|
|
|
71cd55 |
/*
|
|
|
71cd55 |
* sepol_validate_transition_reason_buffer - the reason buffer is realloc'd
|
|
|
71cd55 |
* in the constraint_expr_eval_reason() function.
|
|
|
71cd55 |
diff --git a/libsepol/src/sidtab.c b/libsepol/src/sidtab.c
|
|
|
71cd55 |
index e6bf57161e52..255e07252412 100644
|
|
|
71cd55 |
--- a/libsepol/src/sidtab.c
|
|
|
71cd55 |
+++ b/libsepol/src/sidtab.c
|
|
|
71cd55 |
@@ -84,37 +84,6 @@ int sepol_sidtab_insert(sidtab_t * s, sepol_security_id_t sid,
|
|
|
71cd55 |
return 0;
|
|
|
71cd55 |
}
|
|
|
71cd55 |
|
|
|
71cd55 |
-int sepol_sidtab_remove(sidtab_t * s, sepol_security_id_t sid)
|
|
|
71cd55 |
-{
|
|
|
71cd55 |
- int hvalue;
|
|
|
71cd55 |
- sidtab_node_t *cur, *last;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- if (!s || !s->htable)
|
|
|
71cd55 |
- return -ENOENT;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- hvalue = SIDTAB_HASH(sid);
|
|
|
71cd55 |
- last = NULL;
|
|
|
71cd55 |
- cur = s->htable[hvalue];
|
|
|
71cd55 |
- while (cur != NULL && sid > cur->sid) {
|
|
|
71cd55 |
- last = cur;
|
|
|
71cd55 |
- cur = cur->next;
|
|
|
71cd55 |
- }
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- if (cur == NULL || sid != cur->sid)
|
|
|
71cd55 |
- return -ENOENT;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- if (last == NULL)
|
|
|
71cd55 |
- s->htable[hvalue] = cur->next;
|
|
|
71cd55 |
- else
|
|
|
71cd55 |
- last->next = cur->next;
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- context_destroy(&cur->context);
|
|
|
71cd55 |
-
|
|
|
71cd55 |
- free(cur);
|
|
|
71cd55 |
- s->nel--;
|
|
|
71cd55 |
- return 0;
|
|
|
71cd55 |
-}
|
|
|
71cd55 |
-
|
|
|
71cd55 |
context_struct_t *sepol_sidtab_search(sidtab_t * s, sepol_security_id_t sid)
|
|
|
71cd55 |
{
|
|
|
71cd55 |
int hvalue;
|
|
|
71cd55 |
--
|
|
|
71cd55 |
2.32.0
|
|
|
71cd55 |
|