diff options
author | Richard Guy Briggs <rgb@redhat.com> | 2016-12-13 10:03:01 -0500 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2016-12-14 13:06:04 -0500 |
commit | 533c7b69c764ad5febb3e716899f43a75564fcab (patch) | |
tree | e66c8e368e3450f872cb5bb6f28a4deaac1a4985 /include/net/sctp/ulpqueue.h | |
parent | fba143c66abb81307a450679f38ab953fe96a413 (diff) |
audit: use proper refcount locking on audit_sock
Resetting audit_sock appears to be racy.
audit_sock was being copied and dereferenced without using a refcount on
the source sock.
Bump the refcount on the underlying sock when we store a refrence in
audit_sock and release it when we reset audit_sock. audit_sock
modification needs the audit_cmd_mutex.
See: https://lkml.org/lkml/2016/11/26/232
Thanks to Eric Dumazet <edumazet@google.com> and Cong Wang
<xiyou.wangcong@gmail.com> on ideas how to fix it.
Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
[PM: fixed the comment block text formatting for auditd_reset()]
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/net/sctp/ulpqueue.h')
0 files changed, 0 insertions, 0 deletions