|
@@ -882,11 +882,15 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
int new_pid = s.pid;
|
|
int new_pid = s.pid;
|
|
pid_t requesting_pid = task_tgid_vnr(current);
|
|
pid_t requesting_pid = task_tgid_vnr(current);
|
|
|
|
|
|
- if ((!new_pid) && (requesting_pid != audit_pid))
|
|
|
|
|
|
+ if ((!new_pid) && (requesting_pid != audit_pid)) {
|
|
|
|
+ audit_log_config_change("audit_pid", new_pid, audit_pid, 0);
|
|
return -EACCES;
|
|
return -EACCES;
|
|
|
|
+ }
|
|
if (audit_pid && new_pid &&
|
|
if (audit_pid && new_pid &&
|
|
- audit_replace(requesting_pid) != -ECONNREFUSED)
|
|
|
|
|
|
+ audit_replace(requesting_pid) != -ECONNREFUSED) {
|
|
|
|
+ audit_log_config_change("audit_pid", new_pid, audit_pid, 0);
|
|
return -EEXIST;
|
|
return -EEXIST;
|
|
|
|
+ }
|
|
if (audit_enabled != AUDIT_OFF)
|
|
if (audit_enabled != AUDIT_OFF)
|
|
audit_log_config_change("audit_pid", new_pid, audit_pid, 1);
|
|
audit_log_config_change("audit_pid", new_pid, audit_pid, 1);
|
|
audit_pid = new_pid;
|
|
audit_pid = new_pid;
|