mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
lsm: use lsm_prop in security_audit_rule_match
Change the secid parameter of security_audit_rule_match to a lsm_prop structure pointer. Pass the entry from the lsm_prop structure for the approprite slot to the LSM hook. Change the users of security_audit_rule_match to use the lsm_prop instead of a u32. The scaffolding function lsmprop_init() fills the structure with the value of the old secid, ensuring that it is available to the appropriate module hook. The sources of the secid, security_task_getsecid() and security_inode_getsecid(), will be converted to use the lsm_prop structure later in the series. At that point the use of lsmprop_init() is dropped. Signed-off-by: Casey Schaufler <casey@schaufler-ca.com> [PM: subject line tweak] Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
committed by
Paul Moore
parent
ed870e35db
commit
870b7fdc66
@@ -1339,8 +1339,8 @@ int audit_filter(int msgtype, unsigned int listtype)
|
||||
|
||||
for (i = 0; i < e->rule.field_count; i++) {
|
||||
struct audit_field *f = &e->rule.fields[i];
|
||||
struct lsm_prop prop = { };
|
||||
pid_t pid;
|
||||
u32 sid;
|
||||
|
||||
switch (f->type) {
|
||||
case AUDIT_PID:
|
||||
@@ -1370,9 +1370,12 @@ int audit_filter(int msgtype, unsigned int listtype)
|
||||
case AUDIT_SUBJ_SEN:
|
||||
case AUDIT_SUBJ_CLR:
|
||||
if (f->lsm_rule) {
|
||||
security_current_getsecid_subj(&sid);
|
||||
result = security_audit_rule_match(sid,
|
||||
f->type, f->op, f->lsm_rule);
|
||||
/* scaffolding */
|
||||
security_current_getsecid_subj(
|
||||
&prop.scaffold.secid);
|
||||
result = security_audit_rule_match(
|
||||
&prop, f->type, f->op,
|
||||
f->lsm_rule);
|
||||
}
|
||||
break;
|
||||
case AUDIT_EXE:
|
||||
|
||||
Reference in New Issue
Block a user