linux/net/rxrpc
David Howells 2266ffdef5 rxrpc: Fix conn-based retransmit
If a duplicate packet comes in for a call that has just completed on a
connection's channel then there will be an oops in the data_ready handler
because it tries to examine the connection struct via a call struct (which
we don't have - the pointer is unset).

Since the connection struct pointer is available to us, go direct instead.

Also, the ACK packet to be retransmitted needs three octets of padding
between the soft ack list and the ackinfo.

Fixes: 18bfeba50d ("rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor")
Signed-off-by: David Howells <dhowells@redhat.com>
2016-08-24 13:06:14 +01:00
..
af_rxrpc.c rxrpc: Use a tracepoint for skb accounting debugging 2016-08-23 15:27:24 +01:00
ar-internal.h rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor 2016-08-23 16:02:35 +01:00
call_accept.c rxrpc: Use a tracepoint for skb accounting debugging 2016-08-23 15:27:24 +01:00
call_event.c rxrpc: Calculate serial skew on packet reception 2016-08-23 16:02:35 +01:00
call_object.c rxrpc: Drop channel number field from rxrpc_call struct 2016-08-23 15:27:24 +01:00
conn_client.c rxrpc: Drop channel number field from rxrpc_call struct 2016-08-23 15:27:24 +01:00
conn_event.c rxrpc: Fix conn-based retransmit 2016-08-24 13:06:14 +01:00
conn_object.c rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor 2016-08-23 16:02:35 +01:00
conn_service.c rxrpc: checking for IS_ERR() instead of NULL 2016-07-15 14:16:25 -07:00
input.c rxrpc: Fix conn-based retransmit 2016-08-24 13:06:14 +01:00
insecure.c rxrpc: Avoid using stack memory in SG lists in rxkad 2016-07-06 10:43:05 +01:00
Kconfig rxrpc: Absorb the rxkad security module 2016-04-11 15:34:41 -04:00
key.c rxrpc: Use structs to hold connection params and protocol info 2016-06-22 09:09:59 +01:00
local_event.c rxrpc: Use a tracepoint for skb accounting debugging 2016-08-23 15:27:24 +01:00
local_object.c rxrpc: Add RCU destruction for connections and calls 2016-07-06 10:43:51 +01:00
Makefile rxrpc: Split service connection code out into its own file 2016-07-06 10:49:35 +01:00
misc.c rxrpc: Limit the listening backlog 2016-06-10 18:14:47 -07:00
output.c rxrpc: Use a tracepoint for skb accounting debugging 2016-08-23 15:27:24 +01:00
peer_event.c rxrpc: Use the peer record to distribute network errors 2016-06-15 10:15:16 +01:00
peer_object.c rxrpc: Use RCU to access a peer's service connection tree 2016-07-06 10:51:14 +01:00
proc.c rxrpc: Calculate serial skew on packet reception 2016-08-23 16:02:35 +01:00
recvmsg.c rxrpc: Use a tracepoint for skb accounting debugging 2016-08-23 15:27:24 +01:00
rxkad.c rxrpc: Drop channel number field from rxrpc_call struct 2016-08-23 15:27:24 +01:00
security.c rxrpc: Replace conn->trans->{local,peer} with conn->params.{local,peer} 2016-06-22 09:10:00 +01:00
skbuff.c rxrpc: Calculate serial skew on packet reception 2016-08-23 16:02:35 +01:00
sysctl.c rxrpc: Kill off the rxrpc_transport struct 2016-06-22 14:00:23 +01:00
utils.c rxrpc: Move data_ready peer lookup into rxrpc_find_connection() 2016-07-06 10:51:14 +01:00