diff options
author | Dave Airlie <airlied@redhat.com> | 2021-06-23 10:07:48 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2021-06-23 10:07:48 +1000 |
commit | f45fbbb6d5cff29ddfc708676ec1c2496eed3a07 (patch) | |
tree | 5496fee9f6b10da368aa49b03612061156e42d2f /net/unix/af_unix.c | |
parent | d472b36efbf8a27dc8a80519db8b5a8caffe42b6 (diff) | |
parent | 13311e74253fe64329390df80bed3f07314ddd61 (diff) | |
download | linux-f45fbbb6d5cff29ddfc708676ec1c2496eed3a07.tar.gz linux-f45fbbb6d5cff29ddfc708676ec1c2496eed3a07.tar.bz2 linux-f45fbbb6d5cff29ddfc708676ec1c2496eed3a07.zip |
Backmerge tag 'v5.13-rc7' into drm-next
Backmerge Linux 5.13-rc7 to make some pulls from later bases apply,
and to bake in the conflicts so far.
Diffstat (limited to 'net/unix/af_unix.c')
-rw-r--r-- | net/unix/af_unix.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 5a31307ceb76..5d1192ceb139 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -535,12 +535,14 @@ static void unix_release_sock(struct sock *sk, int embrion) u->path.mnt = NULL; state = sk->sk_state; sk->sk_state = TCP_CLOSE; + + skpair = unix_peer(sk); + unix_peer(sk) = NULL; + unix_state_unlock(sk); wake_up_interruptible_all(&u->peer_wait); - skpair = unix_peer(sk); - if (skpair != NULL) { if (sk->sk_type == SOCK_STREAM || sk->sk_type == SOCK_SEQPACKET) { unix_state_lock(skpair); @@ -555,7 +557,6 @@ static void unix_release_sock(struct sock *sk, int embrion) unix_dgram_peer_wake_disconnect(sk, skpair); sock_put(skpair); /* It may now die */ - unix_peer(sk) = NULL; } /* Try to flush out this socket. Throw out buffers at least */ |