mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
selinux: use known type instead of void pointer
Improve type safety and readability by using the known type. Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
committed by
Paul Moore
parent
83e7e18eed
commit
f07586160f
@@ -336,7 +336,7 @@ static const uint16_t spec_order[] = {
|
||||
};
|
||||
/* clang-format on */
|
||||
|
||||
int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol,
|
||||
int avtab_read_item(struct avtab *a, struct policy_file *fp, struct policydb *pol,
|
||||
int (*insertf)(struct avtab *a, const struct avtab_key *k,
|
||||
const struct avtab_datum *d, void *p),
|
||||
void *p, bool conditional)
|
||||
@@ -507,7 +507,7 @@ static int avtab_insertf(struct avtab *a, const struct avtab_key *k,
|
||||
return avtab_insert(a, k, d);
|
||||
}
|
||||
|
||||
int avtab_read(struct avtab *a, void *fp, struct policydb *pol)
|
||||
int avtab_read(struct avtab *a, struct policy_file *fp, struct policydb *pol)
|
||||
{
|
||||
int rc;
|
||||
__le32 buf[1];
|
||||
@@ -550,7 +550,7 @@ bad:
|
||||
goto out;
|
||||
}
|
||||
|
||||
int avtab_write_item(struct policydb *p, const struct avtab_node *cur, void *fp)
|
||||
int avtab_write_item(struct policydb *p, const struct avtab_node *cur, struct policy_file *fp)
|
||||
{
|
||||
__le16 buf16[4];
|
||||
__le32 buf32[ARRAY_SIZE(cur->datum.u.xperms->perms.p)];
|
||||
@@ -586,7 +586,7 @@ int avtab_write_item(struct policydb *p, const struct avtab_node *cur, void *fp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int avtab_write(struct policydb *p, struct avtab *a, void *fp)
|
||||
int avtab_write(struct policydb *p, struct avtab *a, struct policy_file *fp)
|
||||
{
|
||||
u32 i;
|
||||
int rc = 0;
|
||||
|
||||
@@ -105,15 +105,16 @@ static inline void avtab_hash_eval(struct avtab *h, const char *tag)
|
||||
#endif
|
||||
|
||||
struct policydb;
|
||||
int avtab_read_item(struct avtab *a, void *fp, struct policydb *pol,
|
||||
struct policy_file;
|
||||
int avtab_read_item(struct avtab *a, struct policy_file *fp, struct policydb *pol,
|
||||
int (*insert)(struct avtab *a, const struct avtab_key *k,
|
||||
const struct avtab_datum *d, void *p),
|
||||
void *p, bool conditional);
|
||||
|
||||
int avtab_read(struct avtab *a, void *fp, struct policydb *pol);
|
||||
int avtab_read(struct avtab *a, struct policy_file *fp, struct policydb *pol);
|
||||
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);
|
||||
struct policy_file *fp);
|
||||
int avtab_write(struct policydb *p, struct avtab *a, struct policy_file *fp);
|
||||
|
||||
struct avtab_node *avtab_insert_nonunique(struct avtab *h,
|
||||
const struct avtab_key *key,
|
||||
|
||||
@@ -206,7 +206,7 @@ static int bool_isvalid(struct cond_bool_datum *b)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cond_read_bool(struct policydb *p, struct symtab *s, void *fp)
|
||||
int cond_read_bool(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct cond_bool_datum *booldatum;
|
||||
@@ -323,7 +323,7 @@ static int cond_insertf(struct avtab *a, const struct avtab_key *k,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cond_read_av_list(struct policydb *p, void *fp,
|
||||
static int cond_read_av_list(struct policydb *p, struct policy_file *fp,
|
||||
struct cond_av_list *list,
|
||||
struct cond_av_list *other)
|
||||
{
|
||||
@@ -375,7 +375,7 @@ static int expr_node_isvalid(struct policydb *p, struct cond_expr_node *expr)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp)
|
||||
static int cond_read_node(struct policydb *p, struct cond_node *node, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[2];
|
||||
u32 i, len;
|
||||
@@ -415,7 +415,7 @@ static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp)
|
||||
return cond_read_av_list(p, fp, &node->false_list, &node->true_list);
|
||||
}
|
||||
|
||||
int cond_read_list(struct policydb *p, void *fp)
|
||||
int cond_read_list(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
u32 i, len;
|
||||
@@ -453,7 +453,7 @@ int cond_write_bool(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct cond_bool_datum *booldatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[3];
|
||||
u32 len;
|
||||
int rc;
|
||||
@@ -536,7 +536,7 @@ static int cond_write_node(struct policydb *p, struct cond_node *node,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cond_write_list(struct policydb *p, void *fp)
|
||||
int cond_write_list(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
u32 i;
|
||||
__le32 buf[1];
|
||||
|
||||
@@ -68,10 +68,10 @@ int cond_destroy_bool(void *key, void *datum, void *p);
|
||||
|
||||
int cond_index_bool(void *key, void *datum, void *datap);
|
||||
|
||||
int cond_read_bool(struct policydb *p, struct symtab *s, void *fp);
|
||||
int cond_read_list(struct policydb *p, void *fp);
|
||||
int cond_read_bool(struct policydb *p, struct symtab *s, struct policy_file *fp);
|
||||
int cond_read_list(struct policydb *p, struct policy_file *fp);
|
||||
int cond_write_bool(void *key, void *datum, void *ptr);
|
||||
int cond_write_list(struct policydb *p, void *fp);
|
||||
int cond_write_list(struct policydb *p, struct policy_file *fp);
|
||||
|
||||
void cond_compute_av(struct avtab *ctab, struct avtab_key *key,
|
||||
struct av_decision *avd, struct extended_perms *xperms);
|
||||
|
||||
@@ -360,7 +360,7 @@ void ebitmap_destroy(struct ebitmap *e)
|
||||
e->node = NULL;
|
||||
}
|
||||
|
||||
int ebitmap_read(struct ebitmap *e, void *fp)
|
||||
int ebitmap_read(struct ebitmap *e, struct policy_file *fp)
|
||||
{
|
||||
struct ebitmap_node *n = NULL;
|
||||
u32 mapunit, count, startbit, index, i;
|
||||
@@ -478,7 +478,7 @@ bad:
|
||||
goto out;
|
||||
}
|
||||
|
||||
int ebitmap_write(const struct ebitmap *e, void *fp)
|
||||
int ebitmap_write(const struct ebitmap *e, struct policy_file *fp)
|
||||
{
|
||||
struct ebitmap_node *n;
|
||||
u32 bit, count, last_bit, last_startbit;
|
||||
|
||||
@@ -129,8 +129,9 @@ int ebitmap_contains(const struct ebitmap *e1, const struct ebitmap *e2,
|
||||
int ebitmap_get_bit(const struct ebitmap *e, u32 bit);
|
||||
int ebitmap_set_bit(struct ebitmap *e, u32 bit, int value);
|
||||
void ebitmap_destroy(struct ebitmap *e);
|
||||
int ebitmap_read(struct ebitmap *e, void *fp);
|
||||
int ebitmap_write(const struct ebitmap *e, void *fp);
|
||||
struct policy_file;
|
||||
int ebitmap_read(struct ebitmap *e, struct policy_file *fp);
|
||||
int ebitmap_write(const struct ebitmap *e, struct policy_file *fp);
|
||||
u32 ebitmap_hash(const struct ebitmap *e, u32 hash);
|
||||
|
||||
#ifdef CONFIG_NETLABEL
|
||||
|
||||
@@ -997,7 +997,7 @@ int policydb_context_isvalid(struct policydb *p, struct context *c)
|
||||
* Read a MLS range structure from a policydb binary
|
||||
* representation file.
|
||||
*/
|
||||
static int mls_read_range_helper(struct mls_range *r, void *fp)
|
||||
static int mls_read_range_helper(struct mls_range *r, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[2];
|
||||
u32 items;
|
||||
@@ -1057,7 +1057,7 @@ out:
|
||||
* from a policydb binary representation file.
|
||||
*/
|
||||
static int context_read_and_validate(struct context *c, struct policydb *p,
|
||||
void *fp)
|
||||
struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[3];
|
||||
int rc;
|
||||
@@ -1095,7 +1095,7 @@ out:
|
||||
* binary representation file.
|
||||
*/
|
||||
|
||||
static int str_read(char **strp, gfp_t flags, void *fp, u32 len)
|
||||
static int str_read(char **strp, gfp_t flags, struct policy_file *fp, u32 len)
|
||||
{
|
||||
int rc;
|
||||
char *str;
|
||||
@@ -1118,7 +1118,7 @@ static int str_read(char **strp, gfp_t flags, void *fp, u32 len)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int perm_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int perm_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct perm_datum *perdatum;
|
||||
@@ -1151,7 +1151,7 @@ bad:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int common_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int common_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct common_datum *comdatum;
|
||||
@@ -1203,7 +1203,7 @@ static void type_set_init(struct type_set *t)
|
||||
ebitmap_init(&t->negset);
|
||||
}
|
||||
|
||||
static int type_set_read(struct type_set *t, void *fp)
|
||||
static int type_set_read(struct type_set *t, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
int rc;
|
||||
@@ -1222,7 +1222,7 @@ static int type_set_read(struct type_set *t, void *fp)
|
||||
}
|
||||
|
||||
static int read_cons_helper(struct policydb *p, struct constraint_node **nodep,
|
||||
u32 ncons, int allowxtarget, void *fp)
|
||||
u32 ncons, int allowxtarget, struct policy_file *fp)
|
||||
{
|
||||
struct constraint_node *c, *lc;
|
||||
struct constraint_expr *e, *le;
|
||||
@@ -1316,7 +1316,7 @@ static int read_cons_helper(struct policydb *p, struct constraint_node **nodep,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int class_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int class_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct class_datum *cladatum;
|
||||
@@ -1413,7 +1413,7 @@ bad:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int role_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int role_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct role_datum *role;
|
||||
@@ -1470,7 +1470,7 @@ bad:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int type_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int type_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct type_datum *typdatum;
|
||||
@@ -1522,7 +1522,7 @@ bad:
|
||||
* Read a MLS level structure from a policydb binary
|
||||
* representation file.
|
||||
*/
|
||||
static int mls_read_level(struct mls_level *lp, void *fp)
|
||||
static int mls_read_level(struct mls_level *lp, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
int rc;
|
||||
@@ -1544,7 +1544,7 @@ static int mls_read_level(struct mls_level *lp, void *fp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int user_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int user_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct user_datum *usrdatum;
|
||||
@@ -1595,7 +1595,7 @@ bad:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int sens_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int sens_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct level_datum *levdatum;
|
||||
@@ -1636,7 +1636,7 @@ bad:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int cat_read(struct policydb *p, struct symtab *s, void *fp)
|
||||
static int cat_read(struct policydb *p, struct symtab *s, struct policy_file *fp)
|
||||
{
|
||||
char *key = NULL;
|
||||
struct cat_datum *catdatum;
|
||||
@@ -1671,7 +1671,7 @@ bad:
|
||||
|
||||
/* clang-format off */
|
||||
static int (*const read_f[SYM_NUM])(struct policydb *p, struct symtab *s,
|
||||
void *fp) = {
|
||||
struct policy_file *fp) = {
|
||||
common_read,
|
||||
class_read,
|
||||
role_read,
|
||||
@@ -1841,7 +1841,7 @@ u32 string_to_av_perm(struct policydb *p, u16 tclass, const char *name)
|
||||
return 1U << (perdatum->value - 1);
|
||||
}
|
||||
|
||||
static int range_read(struct policydb *p, void *fp)
|
||||
static int range_read(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct range_trans *rt = NULL;
|
||||
struct mls_range *r = NULL;
|
||||
@@ -1918,7 +1918,7 @@ out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int filename_trans_read_helper_compat(struct policydb *p, void *fp)
|
||||
static int filename_trans_read_helper_compat(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct filename_trans_key key, *ft = NULL;
|
||||
struct filename_trans_datum *last, *datum = NULL;
|
||||
@@ -2003,7 +2003,7 @@ out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int filename_trans_read_helper(struct policydb *p, void *fp)
|
||||
static int filename_trans_read_helper(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct filename_trans_key *ft = NULL;
|
||||
struct filename_trans_datum **dst, *datum, *first = NULL;
|
||||
@@ -2092,7 +2092,7 @@ out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int filename_trans_read(struct policydb *p, void *fp)
|
||||
static int filename_trans_read(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
u32 nel, i;
|
||||
__le32 buf[1];
|
||||
@@ -2133,7 +2133,7 @@ static int filename_trans_read(struct policydb *p, void *fp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int genfs_read(struct policydb *p, void *fp)
|
||||
static int genfs_read(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
int rc;
|
||||
u32 i, j, nel, nel2, len, len2;
|
||||
@@ -2247,7 +2247,7 @@ out:
|
||||
}
|
||||
|
||||
static int ocontext_read(struct policydb *p,
|
||||
const struct policydb_compat_info *info, void *fp)
|
||||
const struct policydb_compat_info *info, struct policy_file *fp)
|
||||
{
|
||||
int rc;
|
||||
unsigned int i;
|
||||
@@ -2444,7 +2444,7 @@ out:
|
||||
* Read the configuration data from a policy database binary
|
||||
* representation file into a policy database structure.
|
||||
*/
|
||||
int policydb_read(struct policydb *p, void *fp)
|
||||
int policydb_read(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct role_allow *ra, *lra;
|
||||
struct role_trans_key *rtk = NULL;
|
||||
@@ -2767,7 +2767,7 @@ bad:
|
||||
* Write a MLS level structure to a policydb binary
|
||||
* representation file.
|
||||
*/
|
||||
static int mls_write_level(struct mls_level *l, void *fp)
|
||||
static int mls_write_level(struct mls_level *l, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
int rc;
|
||||
@@ -2788,7 +2788,7 @@ static int mls_write_level(struct mls_level *l, void *fp)
|
||||
* Write a MLS range structure to a policydb binary
|
||||
* representation file.
|
||||
*/
|
||||
static int mls_write_range_helper(struct mls_range *r, void *fp)
|
||||
static int mls_write_range_helper(struct mls_range *r, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[3];
|
||||
size_t items;
|
||||
@@ -2828,7 +2828,7 @@ static int sens_write(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct level_datum *levdatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[2];
|
||||
size_t len;
|
||||
int rc;
|
||||
@@ -2856,7 +2856,7 @@ static int cat_write(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct cat_datum *catdatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[3];
|
||||
size_t len;
|
||||
int rc;
|
||||
@@ -2881,7 +2881,7 @@ static int role_trans_write_one(void *key, void *datum, void *ptr)
|
||||
struct role_trans_key *rtk = key;
|
||||
struct role_trans_datum *rtd = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
struct policydb *p = pd->p;
|
||||
__le32 buf[3];
|
||||
int rc;
|
||||
@@ -2901,7 +2901,7 @@ static int role_trans_write_one(void *key, void *datum, void *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int role_trans_write(struct policydb *p, void *fp)
|
||||
static int role_trans_write(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct policy_data pd = { .p = p, .fp = fp };
|
||||
__le32 buf[1];
|
||||
@@ -2915,7 +2915,7 @@ static int role_trans_write(struct policydb *p, void *fp)
|
||||
return hashtab_map(&p->role_tr, role_trans_write_one, &pd);
|
||||
}
|
||||
|
||||
static int role_allow_write(struct role_allow *r, void *fp)
|
||||
static int role_allow_write(struct role_allow *r, struct policy_file *fp)
|
||||
{
|
||||
struct role_allow *ra;
|
||||
__le32 buf[2];
|
||||
@@ -2943,7 +2943,7 @@ static int role_allow_write(struct role_allow *r, void *fp)
|
||||
* Write a security context structure
|
||||
* to a policydb binary representation file.
|
||||
*/
|
||||
static int context_write(struct policydb *p, struct context *c, void *fp)
|
||||
static int context_write(struct policydb *p, struct context *c, struct policy_file *fp)
|
||||
{
|
||||
int rc;
|
||||
__le32 buf[3];
|
||||
@@ -2996,7 +2996,7 @@ static int common_write(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct common_datum *comdatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[4];
|
||||
size_t len;
|
||||
int rc;
|
||||
@@ -3021,7 +3021,7 @@ static int common_write(void *vkey, void *datum, void *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int type_set_write(struct type_set *t, void *fp)
|
||||
static int type_set_write(struct type_set *t, struct policy_file *fp)
|
||||
{
|
||||
int rc;
|
||||
__le32 buf[1];
|
||||
@@ -3040,7 +3040,7 @@ static int type_set_write(struct type_set *t, void *fp)
|
||||
}
|
||||
|
||||
static int write_cons_helper(struct policydb *p, struct constraint_node *node,
|
||||
void *fp)
|
||||
struct policy_file *fp)
|
||||
{
|
||||
struct constraint_node *c;
|
||||
struct constraint_expr *e;
|
||||
@@ -3091,7 +3091,7 @@ static int class_write(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct class_datum *cladatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
struct policydb *p = pd->p;
|
||||
struct constraint_node *c;
|
||||
__le32 buf[6];
|
||||
@@ -3176,7 +3176,7 @@ static int role_write(void *vkey, void *datum, void *ptr)
|
||||
char *key = vkey;
|
||||
struct role_datum *role = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
struct policydb *p = pd->p;
|
||||
__le32 buf[3];
|
||||
size_t items, len;
|
||||
@@ -3216,7 +3216,7 @@ static int type_write(void *vkey, void *datum, void *ptr)
|
||||
struct type_datum *typdatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
struct policydb *p = pd->p;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[4];
|
||||
int rc;
|
||||
size_t items, len;
|
||||
@@ -3257,7 +3257,7 @@ static int user_write(void *vkey, void *datum, void *ptr)
|
||||
struct user_datum *usrdatum = datum;
|
||||
struct policy_data *pd = ptr;
|
||||
struct policydb *p = pd->p;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
__le32 buf[3];
|
||||
size_t items, len;
|
||||
int rc;
|
||||
@@ -3306,7 +3306,8 @@ static int (*const write_f[SYM_NUM])(void *key, void *datum, void *datap) = {
|
||||
/* clang-format on */
|
||||
|
||||
static int ocontext_write(struct policydb *p,
|
||||
const struct policydb_compat_info *info, void *fp)
|
||||
const struct policydb_compat_info *info,
|
||||
struct policy_file *fp)
|
||||
{
|
||||
unsigned int i, j;
|
||||
int rc;
|
||||
@@ -3442,7 +3443,7 @@ static int ocontext_write(struct policydb *p,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int genfs_write(struct policydb *p, void *fp)
|
||||
static int genfs_write(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
struct genfs *genfs;
|
||||
struct ocontext *c;
|
||||
@@ -3500,7 +3501,7 @@ static int range_write_helper(void *key, void *data, void *ptr)
|
||||
struct range_trans *rt = key;
|
||||
struct mls_range *r = data;
|
||||
struct policy_data *pd = ptr;
|
||||
void *fp = pd->fp;
|
||||
struct policy_file *fp = pd->fp;
|
||||
struct policydb *p = pd->p;
|
||||
int rc;
|
||||
|
||||
@@ -3522,7 +3523,7 @@ static int range_write_helper(void *key, void *data, void *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int range_write(struct policydb *p, void *fp)
|
||||
static int range_write(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
int rc;
|
||||
@@ -3549,7 +3550,7 @@ static int filename_write_helper_compat(void *key, void *data, void *ptr)
|
||||
struct filename_trans_key *ft = key;
|
||||
struct filename_trans_datum *datum = data;
|
||||
struct ebitmap_node *node;
|
||||
void *fp = ptr;
|
||||
struct policy_file *fp = ptr;
|
||||
__le32 buf[4];
|
||||
int rc;
|
||||
u32 bit, len = strlen(ft->name);
|
||||
@@ -3586,7 +3587,7 @@ static int filename_write_helper(void *key, void *data, void *ptr)
|
||||
{
|
||||
struct filename_trans_key *ft = key;
|
||||
struct filename_trans_datum *datum;
|
||||
void *fp = ptr;
|
||||
struct policy_file *fp = ptr;
|
||||
__le32 buf[3];
|
||||
int rc;
|
||||
u32 ndatum, len = strlen(ft->name);
|
||||
@@ -3631,7 +3632,7 @@ static int filename_write_helper(void *key, void *data, void *ptr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int filename_trans_write(struct policydb *p, void *fp)
|
||||
static int filename_trans_write(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
__le32 buf[1];
|
||||
int rc;
|
||||
@@ -3663,7 +3664,7 @@ static int filename_trans_write(struct policydb *p, void *fp)
|
||||
* structure to a policy database binary representation
|
||||
* file.
|
||||
*/
|
||||
int policydb_write(struct policydb *p, void *fp)
|
||||
int policydb_write(struct policydb *p, struct policy_file *fp)
|
||||
{
|
||||
unsigned int num_syms;
|
||||
int rc;
|
||||
|
||||
@@ -312,14 +312,19 @@ struct policydb {
|
||||
u32 process_trans_perms;
|
||||
} __randomize_layout;
|
||||
|
||||
struct policy_file {
|
||||
char *data;
|
||||
size_t len;
|
||||
};
|
||||
|
||||
extern void policydb_destroy(struct policydb *p);
|
||||
extern int policydb_load_isids(struct policydb *p, struct sidtab *s);
|
||||
extern int policydb_context_isvalid(struct policydb *p, struct context *c);
|
||||
extern int policydb_class_isvalid(struct policydb *p, unsigned int class);
|
||||
extern int policydb_type_isvalid(struct policydb *p, unsigned int type);
|
||||
extern int policydb_role_isvalid(struct policydb *p, unsigned int role);
|
||||
extern int policydb_read(struct policydb *p, void *fp);
|
||||
extern int policydb_write(struct policydb *p, void *fp);
|
||||
extern int policydb_read(struct policydb *p, struct policy_file *fp);
|
||||
extern int policydb_write(struct policydb *p, struct policy_file *fp);
|
||||
|
||||
extern struct filename_trans_datum *
|
||||
policydb_filenametr_search(struct policydb *p, struct filename_trans_key *key);
|
||||
@@ -342,14 +347,9 @@ policydb_roletr_search(struct policydb *p, struct role_trans_key *key);
|
||||
#define POLICYDB_MAGIC SELINUX_MAGIC
|
||||
#define POLICYDB_STRING "SE Linux"
|
||||
|
||||
struct policy_file {
|
||||
char *data;
|
||||
size_t len;
|
||||
};
|
||||
|
||||
struct policy_data {
|
||||
struct policydb *p;
|
||||
void *fp;
|
||||
struct policy_file *fp;
|
||||
};
|
||||
|
||||
static inline int next_entry(void *buf, struct policy_file *fp, size_t bytes)
|
||||
|
||||
Reference in New Issue
Block a user