linux-stable/net/rxrpc
David Howells 57b0c9d49b rxrpc: Don't treat call aborts as conn aborts
If a call-level abort is received for the previous call to complete on a
connection channel, then that abort is queued for the connection processor
to handle.  Unfortunately, the connection processor then assumes without
checking that the abort is connection-level (ie. callNumber is 0) and
distributes it over all active calls on that connection, thereby
incorrectly aborting them.

Fix this by discarding aborts aimed at a completed call.

Further, discard all packets aimed at a call that's complete if there's
currently an active call on a channel, since the DATA packets associated
with the new call automatically terminate the old call.

Fixes: 18bfeba50d ("rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor")
Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
2018-03-30 21:04:44 +01:00
..
af_rxrpc.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
ar-internal.h rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
call_accept.c rxrpc, afs: Use debug_ids rather than pointers in traces 2018-03-27 23:03:00 +01:00
call_event.c rxrpc: Fix a bit of time confusion 2018-03-30 21:04:43 +01:00
call_object.c rxrpc, afs: Use debug_ids rather than pointers in traces 2018-03-27 23:03:00 +01:00
conn_client.c rxrpc: Fix received abort handling 2018-02-07 21:47:10 -05:00
conn_event.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
conn_object.c rxrpc: Fix received abort handling 2018-02-07 21:47:10 -05:00
conn_service.c rxrpc: Make service connection lookup always check for retry 2017-09-05 14:39:17 -07:00
input.c rxrpc: Don't treat call aborts as conn aborts 2018-03-30 21:04:44 +01:00
insecure.c rxrpc: Trace protocol errors in received packets 2017-04-06 11:09:39 +01:00
Kconfig rxrpc: Add config to inject packet loss 2016-09-17 11:24:04 +01:00
key.c rxrpc: Use correct timestamp from Kerberos 5 ticket 2017-08-29 10:55:06 +01:00
local_event.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00
local_object.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
misc.c rxrpc: Fix call timeouts 2017-11-24 10:18:41 +00:00
net_ns.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
output.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
peer_event.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
peer_object.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
proc.c net: delete /proc THIS_MODULE references 2018-01-16 15:01:33 -05:00
protocol.h rxrpc: Move the packet.h include file into net/rxrpc/ 2017-07-21 11:00:20 +01:00
recvmsg.c rxrpc: remove redundant initialization of variable 'len' 2018-03-16 09:48:39 -04:00
rxkad.c rxrpc: Fix firewall route keepalive 2018-03-30 21:04:43 +01:00
security.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
sendmsg.c rxrpc: Fix Tx ring annotation after initial Tx failure 2018-03-30 21:04:43 +01:00
skbuff.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sysctl.c rxrpc: Fix call timeouts 2017-11-24 10:18:41 +00:00
utils.c rxrpc: Fix IPv6 support 2017-08-29 10:55:20 +01:00