diff options
| author | Jakub Kicinski <[email protected]> | 2020-09-05 04:18:58 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2020-09-05 04:28:59 +0000 |
| commit | 44a8c4f33c0073ca614db79f22e023811bdd0f3c (patch) | |
| tree | 2d29271961a485f621bd14294ec57e816290541e /net/tipc/socket.c | |
| parent | smsc9420: switch from 'pci_' to 'dma_' API (diff) | |
| parent | Merge tag 's390-5.9-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/... (diff) | |
| download | kernel-44a8c4f33c0073ca614db79f22e023811bdd0f3c.tar.gz kernel-44a8c4f33c0073ca614db79f22e023811bdd0f3c.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
We got slightly different patches removing a double word
in a comment in net/ipv4/raw.c - picked the version from net.
Simple conflict in drivers/net/ethernet/ibm/ibmvnic.c. Use cached
values instead of VNIC login response buffer (following what
commit 507ebe6444a4 ("ibmvnic: Fix use-after-free of VNIC login
response buffer") did).
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/tipc/socket.c')
| -rw-r--r-- | net/tipc/socket.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index fd5bfaab8661..dd93e8ecb2f4 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -2770,18 +2770,21 @@ static int tipc_shutdown(struct socket *sock, int how) trace_tipc_sk_shutdown(sk, NULL, TIPC_DUMP_ALL, " "); __tipc_shutdown(sock, TIPC_CONN_SHUTDOWN); - sk->sk_shutdown = SEND_SHUTDOWN; + if (tipc_sk_type_connectionless(sk)) + sk->sk_shutdown = SHUTDOWN_MASK; + else + sk->sk_shutdown = SEND_SHUTDOWN; if (sk->sk_state == TIPC_DISCONNECTING) { /* Discard any unreceived messages */ __skb_queue_purge(&sk->sk_receive_queue); - /* Wake up anyone sleeping in poll */ - sk->sk_state_change(sk); res = 0; } else { res = -ENOTCONN; } + /* Wake up anyone sleeping in poll. */ + sk->sk_state_change(sk); release_sock(sk); return res; |
