Commit e1cce3a3 authored by Ondrej Mosnacek's avatar Ondrej Mosnacek Committed by Paul Moore

selinux: constify some avtab function arguments

This makes the code a bit easier to reason about.
Signed-off-by: default avatarOndrej Mosnacek <omosnace@redhat.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent fba472bb
...@@ -29,7 +29,7 @@ static struct kmem_cache *avtab_xperms_cachep __ro_after_init; ...@@ -29,7 +29,7 @@ static struct kmem_cache *avtab_xperms_cachep __ro_after_init;
/* Based on MurmurHash3, written by Austin Appleby and placed in the /* Based on MurmurHash3, written by Austin Appleby and placed in the
* public domain. * public domain.
*/ */
static inline int avtab_hash(struct avtab_key *keyp, u32 mask) static inline int avtab_hash(const struct avtab_key *keyp, u32 mask)
{ {
static const u32 c1 = 0xcc9e2d51; static const u32 c1 = 0xcc9e2d51;
static const u32 c2 = 0x1b873593; static const u32 c2 = 0x1b873593;
...@@ -68,7 +68,7 @@ static inline int avtab_hash(struct avtab_key *keyp, u32 mask) ...@@ -68,7 +68,7 @@ static inline int avtab_hash(struct avtab_key *keyp, u32 mask)
static struct avtab_node* static struct avtab_node*
avtab_insert_node(struct avtab *h, int hvalue, avtab_insert_node(struct avtab *h, int hvalue,
struct avtab_node *prev, struct avtab_node *cur, struct avtab_node *prev, struct avtab_node *cur,
struct avtab_key *key, struct avtab_datum *datum) const struct avtab_key *key, const struct avtab_datum *datum)
{ {
struct avtab_node *newnode; struct avtab_node *newnode;
struct avtab_extended_perms *xperms; struct avtab_extended_perms *xperms;
...@@ -103,7 +103,8 @@ avtab_insert_node(struct avtab *h, int hvalue, ...@@ -103,7 +103,8 @@ avtab_insert_node(struct avtab *h, int hvalue,
return newnode; return newnode;
} }
static int avtab_insert(struct avtab *h, struct avtab_key *key, struct avtab_datum *datum) static int avtab_insert(struct avtab *h, const struct avtab_key *key,
const struct avtab_datum *datum)
{ {
int hvalue; int hvalue;
struct avtab_node *prev, *cur, *newnode; struct avtab_node *prev, *cur, *newnode;
...@@ -147,8 +148,9 @@ static int avtab_insert(struct avtab *h, struct avtab_key *key, struct avtab_dat ...@@ -147,8 +148,9 @@ static int avtab_insert(struct avtab *h, struct avtab_key *key, struct avtab_dat
* key/specified mask into the table, as needed by the conditional avtab. * key/specified mask into the table, as needed by the conditional avtab.
* It also returns a pointer to the node inserted. * It also returns a pointer to the node inserted.
*/ */
struct avtab_node * struct avtab_node *avtab_insert_nonunique(struct avtab *h,
avtab_insert_nonunique(struct avtab *h, struct avtab_key *key, struct avtab_datum *datum) const struct avtab_key *key,
const struct avtab_datum *datum)
{ {
int hvalue; int hvalue;
struct avtab_node *prev, *cur; struct avtab_node *prev, *cur;
...@@ -178,7 +180,7 @@ avtab_insert_nonunique(struct avtab *h, struct avtab_key *key, struct avtab_datu ...@@ -178,7 +180,7 @@ avtab_insert_nonunique(struct avtab *h, struct avtab_key *key, struct avtab_datu
return avtab_insert_node(h, hvalue, prev, cur, key, datum); return avtab_insert_node(h, hvalue, prev, cur, key, datum);
} }
struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *key) struct avtab_datum *avtab_search(struct avtab *h, const struct avtab_key *key)
{ {
int hvalue; int hvalue;
struct avtab_node *cur; struct avtab_node *cur;
...@@ -213,8 +215,8 @@ struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *key) ...@@ -213,8 +215,8 @@ struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *key)
/* This search function returns a node pointer, and can be used in /* This search function returns a node pointer, and can be used in
* conjunction with avtab_search_next_node() * conjunction with avtab_search_next_node()
*/ */
struct avtab_node* struct avtab_node *avtab_search_node(struct avtab *h,
avtab_search_node(struct avtab *h, struct avtab_key *key) const struct avtab_key *key)
{ {
int hvalue; int hvalue;
struct avtab_node *cur; struct avtab_node *cur;
...@@ -396,8 +398,8 @@ static uint16_t spec_order[] = { ...@@ -396,8 +398,8 @@ static uint16_t spec_order[] = {
}; };
int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol, int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol,
int (*insertf)(struct avtab *a, struct avtab_key *k, int (*insertf)(struct avtab *a, const struct avtab_key *k,
struct avtab_datum *d, void *p), const struct avtab_datum *d, void *p),
void *p) void *p)
{ {
__le16 buf16[4]; __le16 buf16[4];
...@@ -557,8 +559,8 @@ int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol, ...@@ -557,8 +559,8 @@ int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol,
return insertf(a, &key, &datum, p); return insertf(a, &key, &datum, p);
} }
static int avtab_insertf(struct avtab *a, struct avtab_key *k, static int avtab_insertf(struct avtab *a, const struct avtab_key *k,
struct avtab_datum *d, void *p) const struct avtab_datum *d, void *p)
{ {
return avtab_insert(a, k, d); return avtab_insert(a, k, d);
} }
...@@ -607,7 +609,7 @@ int avtab_read(struct avtab *a, void *fp, struct policydb *pol) ...@@ -607,7 +609,7 @@ int avtab_read(struct avtab *a, void *fp, struct policydb *pol)
goto out; goto out;
} }
int avtab_write_item(struct policydb *p, struct avtab_node *cur, void *fp) int avtab_write_item(struct policydb *p, const struct avtab_node *cur, void *fp)
{ {
__le16 buf16[4]; __le16 buf16[4];
__le32 buf32[ARRAY_SIZE(cur->datum.u.xperms->perms.p)]; __le32 buf32[ARRAY_SIZE(cur->datum.u.xperms->perms.p)];
......
...@@ -90,24 +90,26 @@ struct avtab { ...@@ -90,24 +90,26 @@ struct avtab {
void avtab_init(struct avtab *h); void avtab_init(struct avtab *h);
int avtab_alloc(struct avtab *, u32); int avtab_alloc(struct avtab *, u32);
int avtab_alloc_dup(struct avtab *new, const struct avtab *orig); int avtab_alloc_dup(struct avtab *new, const struct avtab *orig);
struct avtab_datum *avtab_search(struct avtab *h, struct avtab_key *k); struct avtab_datum *avtab_search(struct avtab *h, const struct avtab_key *k);
void avtab_destroy(struct avtab *h); void avtab_destroy(struct avtab *h);
void avtab_hash_eval(struct avtab *h, char *tag); void avtab_hash_eval(struct avtab *h, char *tag);
struct policydb; struct policydb;
int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol, int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol,
int (*insert)(struct avtab *a, struct avtab_key *k, int (*insert)(struct avtab *a, const struct avtab_key *k,
struct avtab_datum *d, void *p), const struct avtab_datum *d, void *p),
void *p); void *p);
int avtab_read(struct avtab *a, void *fp, struct policydb *pol); int avtab_read(struct avtab *a, void *fp, struct policydb *pol);
int avtab_write_item(struct policydb *p, struct avtab_node *cur, void *fp); int avtab_write_item(struct policydb *p, const struct avtab_node *cur, void *fp);
int avtab_write(struct policydb *p, struct avtab *a, void *fp); int avtab_write(struct policydb *p, struct avtab *a, void *fp);
struct avtab_node *avtab_insert_nonunique(struct avtab *h, struct avtab_key *key, struct avtab_node *avtab_insert_nonunique(struct avtab *h,
struct avtab_datum *datum); const struct avtab_key *key,
const struct avtab_datum *datum);
struct avtab_node *avtab_search_node(struct avtab *h, struct avtab_key *key); struct avtab_node *avtab_search_node(struct avtab *h,
const struct avtab_key *key);
struct avtab_node *avtab_search_node_next(struct avtab_node *node, int specified); struct avtab_node *avtab_search_node_next(struct avtab_node *node, int specified);
......
...@@ -254,7 +254,8 @@ struct cond_insertf_data { ...@@ -254,7 +254,8 @@ struct cond_insertf_data {
struct cond_av_list *other; struct cond_av_list *other;
}; };
static int cond_insertf(struct avtab *a, struct avtab_key *k, struct avtab_datum *d, void *ptr) static int cond_insertf(struct avtab *a, const struct avtab_key *k,
const struct avtab_datum *d, void *ptr)
{ {
struct cond_insertf_data *data = ptr; struct cond_insertf_data *data = ptr;
struct policydb *p = data->p; struct policydb *p = data->p;
......
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