Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 298600
b: refs/heads/master
c: b61c37f
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Apr 3, 2012
1 parent 4315733 commit a173dc2
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3f0882c48286e7bdb0bbdec9c4bfa934e0db8e09
refs/heads/master: b61c37f57988567c84359645f8202a7c84bc798a
7 changes: 3 additions & 4 deletions trunk/include/linux/lsm_audit.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,6 @@ struct common_audit_data {
struct apparmor_audit_data *apparmor_audit_data;
#endif
}; /* per LSM data pointer union */
/* these callback will be implemented by a specific LSM */
void (*lsm_pre_audit)(struct audit_buffer *, void *);
void (*lsm_post_audit)(struct audit_buffer *, void *);
};

#define v4info fam.v4
Expand All @@ -101,6 +98,8 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb,
{ memset((_d), 0, sizeof(struct common_audit_data)); \
(_d)->type = LSM_AUDIT_DATA_##_t; }

void common_lsm_audit(struct common_audit_data *a);
void common_lsm_audit(struct common_audit_data *a,
void (*pre_audit)(struct audit_buffer *, void *),
void (*post_audit)(struct audit_buffer *, void *));

#endif
4 changes: 1 addition & 3 deletions trunk/security/apparmor/audit.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,7 @@ void aa_audit_msg(int type, struct common_audit_data *sa,
void (*cb) (struct audit_buffer *, void *))
{
sa->aad->type = type;
sa->lsm_pre_audit = audit_pre;
sa->lsm_post_audit = cb;
common_lsm_audit(sa);
common_lsm_audit(sa, audit_pre, cb);
}

/**
Expand Down
14 changes: 9 additions & 5 deletions trunk/security/lsm_audit.c
Original file line number Diff line number Diff line change
Expand Up @@ -378,11 +378,15 @@ static void dump_common_audit_data(struct audit_buffer *ab,
/**
* common_lsm_audit - generic LSM auditing function
* @a: auxiliary audit data
* @pre_audit: lsm-specific pre-audit callback
* @post_audit: lsm-specific post-audit callback
*
* setup the audit buffer for common security information
* uses callback to print LSM specific information
*/
void common_lsm_audit(struct common_audit_data *a)
void common_lsm_audit(struct common_audit_data *a,
void (*pre_audit)(struct audit_buffer *, void *),
void (*post_audit)(struct audit_buffer *, void *))
{
struct audit_buffer *ab;

Expand All @@ -394,13 +398,13 @@ void common_lsm_audit(struct common_audit_data *a)
if (ab == NULL)
return;

if (a->lsm_pre_audit)
a->lsm_pre_audit(ab, a);
if (pre_audit)
pre_audit(ab, a);

dump_common_audit_data(ab, a);

if (a->lsm_post_audit)
a->lsm_post_audit(ab, a);
if (post_audit)
post_audit(ab, a);

audit_log_end(ab);
}
4 changes: 1 addition & 3 deletions trunk/security/selinux/avc.c
Original file line number Diff line number Diff line change
Expand Up @@ -492,9 +492,7 @@ static noinline int slow_avc_audit(u32 ssid, u32 tsid, u16 tclass,
slad.denied = denied;

a->selinux_audit_data->slad = &slad;
a->lsm_pre_audit = avc_audit_pre_callback;
a->lsm_post_audit = avc_audit_post_callback;
common_lsm_audit(a);
common_lsm_audit(a, avc_audit_pre_callback, avc_audit_post_callback);
return 0;
}

Expand Down
3 changes: 1 addition & 2 deletions trunk/security/smack/smack_access.c
Original file line number Diff line number Diff line change
Expand Up @@ -321,9 +321,8 @@ void smack_log(char *subject_label, char *object_label, int request,
sad->object = object_label;
sad->request = request_buffer;
sad->result = result;
a->lsm_pre_audit = smack_log_callback;

common_lsm_audit(a);
common_lsm_audit(a, smack_log_callback, NULL);
}
#else /* #ifdef CONFIG_AUDIT */
void smack_log(char *subject_label, char *object_label, int request,
Expand Down

0 comments on commit a173dc2

Please sign in to comment.