Commit 6354324d authored by Christian Göttsche's avatar Christian Göttsche Committed by Paul Moore

selinux: declare read-only parameters const

Declare ebitmap, mls_level and mls_context parameters const where they
are only read from.  This allows callers to supply pointers to const
as arguments and increases readability.
Signed-off-by: default avatarChristian Göttsche <cgzones@googlemail.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent c3fae2b2
...@@ -38,7 +38,7 @@ static inline void mls_context_init(struct context *c) ...@@ -38,7 +38,7 @@ static inline void mls_context_init(struct context *c)
memset(&c->range, 0, sizeof(c->range)); memset(&c->range, 0, sizeof(c->range));
} }
static inline int mls_context_cpy(struct context *dst, struct context *src) static inline int mls_context_cpy(struct context *dst, const struct context *src)
{ {
int rc; int rc;
...@@ -58,7 +58,7 @@ static inline int mls_context_cpy(struct context *dst, struct context *src) ...@@ -58,7 +58,7 @@ static inline int mls_context_cpy(struct context *dst, struct context *src)
/* /*
* Sets both levels in the MLS range of 'dst' to the low level of 'src'. * Sets both levels in the MLS range of 'dst' to the low level of 'src'.
*/ */
static inline int mls_context_cpy_low(struct context *dst, struct context *src) static inline int mls_context_cpy_low(struct context *dst, const struct context *src)
{ {
int rc; int rc;
...@@ -78,7 +78,7 @@ static inline int mls_context_cpy_low(struct context *dst, struct context *src) ...@@ -78,7 +78,7 @@ static inline int mls_context_cpy_low(struct context *dst, struct context *src)
/* /*
* Sets both levels in the MLS range of 'dst' to the high level of 'src'. * Sets both levels in the MLS range of 'dst' to the high level of 'src'.
*/ */
static inline int mls_context_cpy_high(struct context *dst, struct context *src) static inline int mls_context_cpy_high(struct context *dst, const struct context *src)
{ {
int rc; int rc;
...@@ -97,9 +97,10 @@ static inline int mls_context_cpy_high(struct context *dst, struct context *src) ...@@ -97,9 +97,10 @@ static inline int mls_context_cpy_high(struct context *dst, struct context *src)
static inline int mls_context_glblub(struct context *dst, static inline int mls_context_glblub(struct context *dst,
struct context *c1, struct context *c2) const struct context *c1, const struct context *c2)
{ {
struct mls_range *dr = &dst->range, *r1 = &c1->range, *r2 = &c2->range; struct mls_range *dr = &dst->range;
const struct mls_range *r1 = &c1->range, *r2 = &c2->range;
int rc = 0; int rc = 0;
if (r1->level[1].sens < r2->level[0].sens || if (r1->level[1].sens < r2->level[0].sens ||
...@@ -127,7 +128,7 @@ static inline int mls_context_glblub(struct context *dst, ...@@ -127,7 +128,7 @@ static inline int mls_context_glblub(struct context *dst,
return rc; return rc;
} }
static inline int mls_context_cmp(struct context *c1, struct context *c2) static inline int mls_context_cmp(const struct context *c1, const struct context *c2)
{ {
return ((c1->range.level[0].sens == c2->range.level[0].sens) && return ((c1->range.level[0].sens == c2->range.level[0].sens) &&
ebitmap_cmp(&c1->range.level[0].cat, &c2->range.level[0].cat) && ebitmap_cmp(&c1->range.level[0].cat, &c2->range.level[0].cat) &&
...@@ -147,7 +148,7 @@ static inline void context_init(struct context *c) ...@@ -147,7 +148,7 @@ static inline void context_init(struct context *c)
memset(c, 0, sizeof(*c)); memset(c, 0, sizeof(*c));
} }
static inline int context_cpy(struct context *dst, struct context *src) static inline int context_cpy(struct context *dst, const struct context *src)
{ {
int rc; int rc;
...@@ -180,7 +181,7 @@ static inline void context_destroy(struct context *c) ...@@ -180,7 +181,7 @@ static inline void context_destroy(struct context *c)
mls_context_destroy(c); mls_context_destroy(c);
} }
static inline int context_cmp(struct context *c1, struct context *c2) static inline int context_cmp(const struct context *c1, const struct context *c2)
{ {
if (c1->len && c2->len) if (c1->len && c2->len)
return (c1->len == c2->len && !strcmp(c1->str, c2->str)); return (c1->len == c2->len && !strcmp(c1->str, c2->str));
......
...@@ -28,9 +28,9 @@ ...@@ -28,9 +28,9 @@
static struct kmem_cache *ebitmap_node_cachep __ro_after_init; static struct kmem_cache *ebitmap_node_cachep __ro_after_init;
int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2) int ebitmap_cmp(const struct ebitmap *e1, const struct ebitmap *e2)
{ {
struct ebitmap_node *n1, *n2; const struct ebitmap_node *n1, *n2;
if (e1->highbit != e2->highbit) if (e1->highbit != e2->highbit)
return 0; return 0;
...@@ -50,9 +50,10 @@ int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2) ...@@ -50,9 +50,10 @@ int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2)
return 1; return 1;
} }
int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src) int ebitmap_cpy(struct ebitmap *dst, const struct ebitmap *src)
{ {
struct ebitmap_node *n, *new, *prev; struct ebitmap_node *new, *prev;
const struct ebitmap_node *n;
ebitmap_init(dst); ebitmap_init(dst);
n = src->node; n = src->node;
...@@ -78,7 +79,7 @@ int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src) ...@@ -78,7 +79,7 @@ int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src)
return 0; return 0;
} }
int ebitmap_and(struct ebitmap *dst, struct ebitmap *e1, struct ebitmap *e2) int ebitmap_and(struct ebitmap *dst, const struct ebitmap *e1, const struct ebitmap *e2)
{ {
struct ebitmap_node *n; struct ebitmap_node *n;
int bit, rc; int bit, rc;
...@@ -217,9 +218,9 @@ int ebitmap_netlbl_import(struct ebitmap *ebmap, ...@@ -217,9 +218,9 @@ int ebitmap_netlbl_import(struct ebitmap *ebmap,
* if last_e2bit is non-zero, the highest set bit in e2 cannot exceed * if last_e2bit is non-zero, the highest set bit in e2 cannot exceed
* last_e2bit. * last_e2bit.
*/ */
int ebitmap_contains(struct ebitmap *e1, struct ebitmap *e2, u32 last_e2bit) int ebitmap_contains(const struct ebitmap *e1, const struct ebitmap *e2, u32 last_e2bit)
{ {
struct ebitmap_node *n1, *n2; const struct ebitmap_node *n1, *n2;
int i; int i;
if (e1->highbit < e2->highbit) if (e1->highbit < e2->highbit)
...@@ -258,9 +259,9 @@ int ebitmap_contains(struct ebitmap *e1, struct ebitmap *e2, u32 last_e2bit) ...@@ -258,9 +259,9 @@ int ebitmap_contains(struct ebitmap *e1, struct ebitmap *e2, u32 last_e2bit)
return 1; return 1;
} }
int ebitmap_get_bit(struct ebitmap *e, unsigned long bit) int ebitmap_get_bit(const struct ebitmap *e, unsigned long bit)
{ {
struct ebitmap_node *n; const struct ebitmap_node *n;
if (e->highbit < bit) if (e->highbit < bit)
return 0; return 0;
...@@ -467,7 +468,7 @@ int ebitmap_read(struct ebitmap *e, void *fp) ...@@ -467,7 +468,7 @@ int ebitmap_read(struct ebitmap *e, void *fp)
goto out; goto out;
} }
int ebitmap_write(struct ebitmap *e, void *fp) int ebitmap_write(const struct ebitmap *e, void *fp)
{ {
struct ebitmap_node *n; struct ebitmap_node *n;
u32 count; u32 count;
......
...@@ -44,7 +44,7 @@ struct ebitmap { ...@@ -44,7 +44,7 @@ struct ebitmap {
#define ebitmap_length(e) ((e)->highbit) #define ebitmap_length(e) ((e)->highbit)
static inline unsigned int ebitmap_start_positive(struct ebitmap *e, static inline unsigned int ebitmap_start_positive(const struct ebitmap *e,
struct ebitmap_node **n) struct ebitmap_node **n)
{ {
unsigned int ofs; unsigned int ofs;
...@@ -62,7 +62,7 @@ static inline void ebitmap_init(struct ebitmap *e) ...@@ -62,7 +62,7 @@ static inline void ebitmap_init(struct ebitmap *e)
memset(e, 0, sizeof(*e)); memset(e, 0, sizeof(*e));
} }
static inline unsigned int ebitmap_next_positive(struct ebitmap *e, static inline unsigned int ebitmap_next_positive(const struct ebitmap *e,
struct ebitmap_node **n, struct ebitmap_node **n,
unsigned int bit) unsigned int bit)
{ {
...@@ -85,7 +85,7 @@ static inline unsigned int ebitmap_next_positive(struct ebitmap *e, ...@@ -85,7 +85,7 @@ static inline unsigned int ebitmap_next_positive(struct ebitmap *e,
#define EBITMAP_NODE_OFFSET(node, bit) \ #define EBITMAP_NODE_OFFSET(node, bit) \
(((bit) - (node)->startbit) % EBITMAP_UNIT_SIZE) (((bit) - (node)->startbit) % EBITMAP_UNIT_SIZE)
static inline int ebitmap_node_get_bit(struct ebitmap_node *n, static inline int ebitmap_node_get_bit(const struct ebitmap_node *n,
unsigned int bit) unsigned int bit)
{ {
unsigned int index = EBITMAP_NODE_INDEX(n, bit); unsigned int index = EBITMAP_NODE_INDEX(n, bit);
...@@ -122,15 +122,15 @@ static inline void ebitmap_node_clr_bit(struct ebitmap_node *n, ...@@ -122,15 +122,15 @@ static inline void ebitmap_node_clr_bit(struct ebitmap_node *n,
(bit) < ebitmap_length(e); \ (bit) < ebitmap_length(e); \
(bit) = ebitmap_next_positive(e, &(n), bit)) \ (bit) = ebitmap_next_positive(e, &(n), bit)) \
int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2); int ebitmap_cmp(const struct ebitmap *e1, const struct ebitmap *e2);
int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src); int ebitmap_cpy(struct ebitmap *dst, const struct ebitmap *src);
int ebitmap_and(struct ebitmap *dst, struct ebitmap *e1, struct ebitmap *e2); int ebitmap_and(struct ebitmap *dst, const struct ebitmap *e1, const struct ebitmap *e2);
int ebitmap_contains(struct ebitmap *e1, struct ebitmap *e2, u32 last_e2bit); int ebitmap_contains(const struct ebitmap *e1, const struct ebitmap *e2, u32 last_e2bit);
int ebitmap_get_bit(struct ebitmap *e, unsigned long bit); int ebitmap_get_bit(const struct ebitmap *e, unsigned long bit);
int ebitmap_set_bit(struct ebitmap *e, unsigned long bit, int value); int ebitmap_set_bit(struct ebitmap *e, unsigned long bit, int value);
void ebitmap_destroy(struct ebitmap *e); void ebitmap_destroy(struct ebitmap *e);
int ebitmap_read(struct ebitmap *e, void *fp); int ebitmap_read(struct ebitmap *e, void *fp);
int ebitmap_write(struct ebitmap *e, void *fp); int ebitmap_write(const struct ebitmap *e, void *fp);
u32 ebitmap_hash(const struct ebitmap *e, u32 hash); u32 ebitmap_hash(const struct ebitmap *e, u32 hash);
#ifdef CONFIG_NETLABEL #ifdef CONFIG_NETLABEL
......
...@@ -27,13 +27,13 @@ struct mls_range { ...@@ -27,13 +27,13 @@ struct mls_range {
struct mls_level level[2]; /* low == level[0], high == level[1] */ struct mls_level level[2]; /* low == level[0], high == level[1] */
}; };
static inline int mls_level_eq(struct mls_level *l1, struct mls_level *l2) static inline int mls_level_eq(const struct mls_level *l1, const struct mls_level *l2)
{ {
return ((l1->sens == l2->sens) && return ((l1->sens == l2->sens) &&
ebitmap_cmp(&l1->cat, &l2->cat)); ebitmap_cmp(&l1->cat, &l2->cat));
} }
static inline int mls_level_dom(struct mls_level *l1, struct mls_level *l2) static inline int mls_level_dom(const struct mls_level *l1, const struct mls_level *l2)
{ {
return ((l1->sens >= l2->sens) && return ((l1->sens >= l2->sens) &&
ebitmap_contains(&l1->cat, &l2->cat, 0)); ebitmap_contains(&l1->cat, &l2->cat, 0));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment