|
@@ -111,7 +111,7 @@ static const char *const aa_audit_type[] = {
|
|
static void audit_pre(struct audit_buffer *ab, void *ca)
|
|
static void audit_pre(struct audit_buffer *ab, void *ca)
|
|
{
|
|
{
|
|
struct common_audit_data *sa = ca;
|
|
struct common_audit_data *sa = ca;
|
|
- struct task_struct *tsk = sa->tsk ? sa->tsk : current;
|
|
|
|
|
|
+ struct task_struct *tsk = sa->aad->tsk ? sa->aad->tsk : current;
|
|
|
|
|
|
if (aa_g_audit_header) {
|
|
if (aa_g_audit_header) {
|
|
audit_log_format(ab, "apparmor=");
|
|
audit_log_format(ab, "apparmor=");
|
|
@@ -149,6 +149,12 @@ static void audit_pre(struct audit_buffer *ab, void *ca)
|
|
audit_log_format(ab, " name=");
|
|
audit_log_format(ab, " name=");
|
|
audit_log_untrustedstring(ab, sa->aad->name);
|
|
audit_log_untrustedstring(ab, sa->aad->name);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (sa->aad->tsk) {
|
|
|
|
+ audit_log_format(ab, " pid=%d comm=", tsk->pid);
|
|
|
|
+ audit_log_untrustedstring(ab, tsk->comm);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -205,7 +211,8 @@ int aa_audit(int type, struct aa_profile *profile, gfp_t gfp,
|
|
aa_audit_msg(type, sa, cb);
|
|
aa_audit_msg(type, sa, cb);
|
|
|
|
|
|
if (sa->aad->type == AUDIT_APPARMOR_KILL)
|
|
if (sa->aad->type == AUDIT_APPARMOR_KILL)
|
|
- (void)send_sig_info(SIGKILL, NULL, sa->tsk ? sa->tsk : current);
|
|
|
|
|
|
+ (void)send_sig_info(SIGKILL, NULL,
|
|
|
|
+ sa->aad->tsk ? sa->aad->tsk : current);
|
|
|
|
|
|
if (sa->aad->type == AUDIT_APPARMOR_ALLOWED)
|
|
if (sa->aad->type == AUDIT_APPARMOR_ALLOWED)
|
|
return complain_error(sa->aad->error);
|
|
return complain_error(sa->aad->error);
|