Skip to content

Commit aa0c022

Browse files
tyhicksmimizohar
authored andcommitted
ima: Use correct type for the args_p member of ima_rule_entry.lsm elements
Make args_p be of the char pointer type rather than have it be a void pointer that gets casted to char pointer when it is used. It is a simple NUL-terminated string as returned by match_strdup(). Signed-off-by: Tyler Hicks <[email protected]> Signed-off-by: Mimi Zohar <[email protected]>
1 parent 39e5993 commit aa0c022

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

security/integrity/ima/ima_policy.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ struct ima_rule_entry {
7474
int pcr;
7575
struct {
7676
void *rule; /* LSM file metadata specific */
77-
void *args_p; /* audit value */
77+
char *args_p; /* audit value */
7878
int type; /* audit type */
7979
} lsm[MAX_LSM_RULES];
8080
char *fsname;
@@ -314,7 +314,7 @@ static struct ima_rule_entry *ima_lsm_copy_rule(struct ima_rule_entry *entry)
314314
&nentry->lsm[i].rule);
315315
if (!nentry->lsm[i].rule)
316316
pr_warn("rule for LSM \'%s\' is undefined\n",
317-
(char *)nentry->lsm[i].args_p);
317+
nentry->lsm[i].args_p);
318318
}
319319
return nentry;
320320
}
@@ -918,7 +918,7 @@ static int ima_lsm_rule_init(struct ima_rule_entry *entry,
918918
&entry->lsm[lsm_rule].rule);
919919
if (!entry->lsm[lsm_rule].rule) {
920920
pr_warn("rule for LSM \'%s\' is undefined\n",
921-
(char *)entry->lsm[lsm_rule].args_p);
921+
entry->lsm[lsm_rule].args_p);
922922

923923
if (ima_rules == &ima_default_rules) {
924924
kfree(entry->lsm[lsm_rule].args_p);
@@ -1684,27 +1684,27 @@ int ima_policy_show(struct seq_file *m, void *v)
16841684
switch (i) {
16851685
case LSM_OBJ_USER:
16861686
seq_printf(m, pt(Opt_obj_user),
1687-
(char *)entry->lsm[i].args_p);
1687+
entry->lsm[i].args_p);
16881688
break;
16891689
case LSM_OBJ_ROLE:
16901690
seq_printf(m, pt(Opt_obj_role),
1691-
(char *)entry->lsm[i].args_p);
1691+
entry->lsm[i].args_p);
16921692
break;
16931693
case LSM_OBJ_TYPE:
16941694
seq_printf(m, pt(Opt_obj_type),
1695-
(char *)entry->lsm[i].args_p);
1695+
entry->lsm[i].args_p);
16961696
break;
16971697
case LSM_SUBJ_USER:
16981698
seq_printf(m, pt(Opt_subj_user),
1699-
(char *)entry->lsm[i].args_p);
1699+
entry->lsm[i].args_p);
17001700
break;
17011701
case LSM_SUBJ_ROLE:
17021702
seq_printf(m, pt(Opt_subj_role),
1703-
(char *)entry->lsm[i].args_p);
1703+
entry->lsm[i].args_p);
17041704
break;
17051705
case LSM_SUBJ_TYPE:
17061706
seq_printf(m, pt(Opt_subj_type),
1707-
(char *)entry->lsm[i].args_p);
1707+
entry->lsm[i].args_p);
17081708
break;
17091709
}
17101710
seq_puts(m, " ");

0 commit comments

Comments
 (0)