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 <tyhicks@linux.microsoft.com> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
This commit is contained in:
parent
39e5993d0d
commit
aa0c0227d3
@ -74,7 +74,7 @@ struct ima_rule_entry {
|
||||
int pcr;
|
||||
struct {
|
||||
void *rule; /* LSM file metadata specific */
|
||||
void *args_p; /* audit value */
|
||||
char *args_p; /* audit value */
|
||||
int type; /* audit type */
|
||||
} lsm[MAX_LSM_RULES];
|
||||
char *fsname;
|
||||
@ -314,7 +314,7 @@ static struct ima_rule_entry *ima_lsm_copy_rule(struct ima_rule_entry *entry)
|
||||
&nentry->lsm[i].rule);
|
||||
if (!nentry->lsm[i].rule)
|
||||
pr_warn("rule for LSM \'%s\' is undefined\n",
|
||||
(char *)nentry->lsm[i].args_p);
|
||||
nentry->lsm[i].args_p);
|
||||
}
|
||||
return nentry;
|
||||
}
|
||||
@ -918,7 +918,7 @@ static int ima_lsm_rule_init(struct ima_rule_entry *entry,
|
||||
&entry->lsm[lsm_rule].rule);
|
||||
if (!entry->lsm[lsm_rule].rule) {
|
||||
pr_warn("rule for LSM \'%s\' is undefined\n",
|
||||
(char *)entry->lsm[lsm_rule].args_p);
|
||||
entry->lsm[lsm_rule].args_p);
|
||||
|
||||
if (ima_rules == &ima_default_rules) {
|
||||
kfree(entry->lsm[lsm_rule].args_p);
|
||||
@ -1684,27 +1684,27 @@ int ima_policy_show(struct seq_file *m, void *v)
|
||||
switch (i) {
|
||||
case LSM_OBJ_USER:
|
||||
seq_printf(m, pt(Opt_obj_user),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
case LSM_OBJ_ROLE:
|
||||
seq_printf(m, pt(Opt_obj_role),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
case LSM_OBJ_TYPE:
|
||||
seq_printf(m, pt(Opt_obj_type),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
case LSM_SUBJ_USER:
|
||||
seq_printf(m, pt(Opt_subj_user),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
case LSM_SUBJ_ROLE:
|
||||
seq_printf(m, pt(Opt_subj_role),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
case LSM_SUBJ_TYPE:
|
||||
seq_printf(m, pt(Opt_subj_type),
|
||||
(char *)entry->lsm[i].args_p);
|
||||
entry->lsm[i].args_p);
|
||||
break;
|
||||
}
|
||||
seq_puts(m, " ");
|
||||
|
Loading…
Reference in New Issue
Block a user