deepin-kernel/net/rxrpc
David Howells 0bcca25db9 rxrpc: Fix transmission of an abort in response to an abort
[ Upstream commit e9c0b96ec0a34fcacdf9365713578d83cecac34c ]

Under some circumstances, such as when a server socket is closing, ABORT
packets will be generated in response to incoming packets.  Unfortunately,
this also may include generating aborts in response to incoming aborts -
which may cause a cycle.  It appears this may be made possible by giving
the client a multicast address.

Fix this such that rxrpc_reject_packet() will refuse to generate aborts in
response to aborts.

Fixes: 248f219cb8 ("rxrpc: Rewrite the data and ack handling code")
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Junvyyang, Tencent Zhuque Lab <zhuque@tencent.com>
cc: LePremierHomme <kwqcheii@proton.me>
cc: Linus Torvalds <torvalds@linux-foundation.org>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
Link: https://patch.msgid.link/20250717074350.3767366-5-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 74bb4de32d92e9eda56680bc720edc662d416269)
2025-07-28 15:19:07 +08:00
..
Kconfig rxrpc: Allow a delay to be injected into packet reception 2023-01-31 16:38:09 +00:00
Makefile rxrpc: Split out the call state changing functions into their own file 2023-01-06 09:43:32 +00:00
af_rxrpc.c rxrpc: Improve setsockopt() handling of malformed user input 2024-12-10 20:45:00 +08:00
ar-internal.h rxrpc: Fix call state set to not include the SERVER_SECURING state 2025-02-18 11:53:09 +08:00
call_accept.c rxrpc: Fix recv-recv race of completed call 2025-07-28 15:19:07 +08:00
call_event.c rxrpc: Fix counting of new acks and nacks 2024-02-16 19:10:50 +01:00
call_object.c rxrpc: Fix call state set to not include the SERVER_SECURING state 2025-02-18 11:53:09 +08:00
call_state.c rxrpc: Move client call connection to the I/O thread 2023-01-06 09:43:33 +00:00
conn_client.c rxrpc: Fix missing locking causing hanging calls 2024-12-10 20:43:42 +08:00
conn_event.c rxrpc: Fix call state set to not include the SERVER_SECURING state 2025-02-18 11:53:09 +08:00
conn_object.c rxrpc: Fix the rxrpc_connection attend queue handling 2025-02-18 11:53:09 +08:00
conn_service.c rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock() 2024-02-05 20:14:16 +00:00
input.c rxrpc: Fix call state set to not include the SERVER_SECURING state 2025-02-18 11:53:09 +08:00
insecure.c rxrpc: Tidy up abort generation infrastructure 2023-01-06 09:43:32 +00:00
io_thread.c rxrpc: Fix a race between socket set up and I/O thread creation 2024-12-10 20:42:38 +08:00
key.c rxrpc: Fix error when reading rxrpc tokens 2023-04-23 13:38:28 +01:00
local_event.c rxrpc: Truncate UTS_RELEASE for rxrpc version 2023-05-30 10:01:06 +02:00
local_object.c rxrpc: Fix a race between socket set up and I/O thread creation 2024-12-10 20:42:38 +08:00
misc.c rxrpc: Allow a delay to be injected into packet reception 2023-01-31 16:38:09 +00:00
net_ns.c rxrpc: Move the client conn cache management to the I/O thread 2023-01-06 09:43:33 +00:00
output.c rxrpc: Fix transmission of an abort in response to an abort 2025-07-28 15:19:07 +08:00
peer_event.c rxrpc: Fix locking issues in rxrpc_put_peer_locked() 2022-12-19 09:51:31 +00:00
peer_object.c rxrpc: Stash the network namespace pointer in rxrpc_local 2023-01-06 09:43:31 +00:00
proc.c rxrpc: Fix generation of serial numbers to skip zero 2024-02-16 19:10:49 +01:00
protocol.h rxrpc: Fix the names of the fields in the ACK trailer struct 2024-12-10 20:19:48 +08:00
recvmsg.c rxrpc: Fix recv-recv race of completed call 2025-07-28 15:19:07 +08:00
rtt.c rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() 2021-09-24 14:18:34 +01:00
rxkad.c rxrpc: Don't pick values out of the wire header when setting up security 2024-12-10 20:40:49 +08:00
rxperf.c rxrpc: rxperf: Fix missing decoding of terminal magic cookie 2025-03-17 20:08:50 +08:00
security.c rxrpc: Fix incoming call setup race 2023-01-07 09:30:26 +00:00
sendmsg.c rxrpc: Fix call state set to not include the SERVER_SECURING state 2025-02-18 11:53:09 +08:00
server_key.c rxrpc: Implement an in-kernel rxperf server for testing purposes 2022-12-01 13:36:37 +00:00
skbuff.c rxrpc: Use consume_skb() rather than kfree_skb_reason() 2023-02-07 23:11:20 +00:00
sysctl.c rxrpc: Allow a delay to be injected into packet reception 2023-01-31 16:38:09 +00:00
txbuf.c rxrpc: Don't lock call->tx_lock to access call->tx_buffer 2023-01-31 16:38:35 +00:00
utils.c