diff options
author | Jakub Kicinski <kuba@kernel.org> | 2020-02-03 10:26:23 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-02-03 10:26:23 -0800 |
commit | 3d80c653f99658af6af3ac1b74f70bf9a069e71f (patch) | |
tree | 99061f816e354089b0a420b540224be9f4e8f13b /net/rxrpc/input.c | |
parent | 83d0585f91da441a0b11bc5ff93f4cda56de6703 (diff) | |
parent | 5273a191dca65a675dc0bcf3909e59c6933e2831 (diff) | |
download | linux-3d80c653f99658af6af3ac1b74f70bf9a069e71f.tar.bz2 |
Merge tag 'rxrpc-fixes-20200203' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
David Howells says:
====================
RxRPC fixes
Here are a number of fixes for AF_RXRPC:
(1) Fix a potential use after free in rxrpc_put_local() where it was
accessing the object just put to get tracing information.
(2) Fix insufficient notifications being generated by the function that
queues data packets on a call. This occasionally causes recvmsg() to
stall indefinitely.
(3) Fix a number of packet-transmitting work functions to hold an active
count on the local endpoint so that the UDP socket doesn't get
destroyed whilst they're calling kernel_sendmsg() on it.
(4) Fix a NULL pointer deref that stemmed from a call's connection pointer
being cleared when the call was disconnected.
Changes:
v2: Removed a couple of BUG() statements that got added.
====================
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/rxrpc/input.c')
-rw-r--r-- | net/rxrpc/input.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c index 96d54e5bf7bc..ef10fbf71b15 100644 --- a/net/rxrpc/input.c +++ b/net/rxrpc/input.c @@ -599,10 +599,8 @@ ack: false, true, rxrpc_propose_ack_input_data); - if (seq0 == READ_ONCE(call->rx_hard_ack) + 1) { - trace_rxrpc_notify_socket(call->debug_id, serial); - rxrpc_notify_socket(call); - } + trace_rxrpc_notify_socket(call->debug_id, serial); + rxrpc_notify_socket(call); unlock: spin_unlock(&call->input_lock); |