Centos-kernel-stream-9/net/rxrpc
Marc Dionne e04cf5679c rxrpc: Fix a race between socket set up and I/O thread creation
JIRA: https://issues.redhat.com/browse/RHEL-63629

CVE: CVE-2024-49864

commit bc212465326e8587325f520a052346f0b57360e6
Author: David Howells <dhowells@redhat.com>
Date:   Tue Oct 1 14:26:58 2024 +0100

    rxrpc: Fix a race between socket set up and I/O thread creation

    In rxrpc_open_socket(), it sets up the socket and then sets up the I/O
    thread that will handle it.  This is a problem, however, as there's a gap
    between the two phases in which a packet may come into rxrpc_encap_rcv()
    from the UDP packet but we oops when trying to wake the not-yet created I/O
    thread.

    As a quick fix, just make rxrpc_encap_rcv() discard the packet if there's
    no I/O thread yet.

    A better, but more intrusive fix would perhaps be to rearrange things such
    that the socket creation is done by the I/O thread.

    Fixes: a275da62e8c1 ("rxrpc: Create a per-local endpoint receive queue and I/O thread")
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: yuxuanzhe@outlook.com
    cc: Marc Dionne <marc.dionne@auristor.com>
    cc: Simon Horman <horms@kernel.org>
    cc: linux-afs@lists.infradead.org
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://patch.msgid.link/20241001132702.3122709-2-dhowells@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Marc Dionne <mdionne@redhat.com>
2025-02-27 12:05:03 -04:00
..
Kconfig
Makefile
af_rxrpc.c
ar-internal.h rxrpc: Fix a race between socket set up and I/O thread creation 2025-02-27 12:05:03 -04:00
call_accept.c
call_event.c
call_object.c
call_state.c
conn_client.c rxrpc: Fix missing locking causing hanging calls 2025-02-27 12:04:13 -04:00
conn_event.c rxrpc: Fix handling of received connection abort 2025-02-06 08:48:57 -04:00
conn_object.c
conn_service.c
input.c
insecure.c
io_thread.c rxrpc: Fix a race between socket set up and I/O thread creation 2025-02-27 12:05:03 -04:00
key.c
local_event.c
local_object.c rxrpc: Fix a race between socket set up and I/O thread creation 2025-02-27 12:05:03 -04:00
misc.c
net_ns.c
output.c rxrpc: Use a large kvec[] in rxrpc_local rather than every rxrpc_txbuf 2025-02-06 08:48:57 -04:00
peer_event.c rxrpc, afs: Fix peer hash locking vs RCU callback 2025-02-06 08:53:49 -04:00
peer_object.c rxrpc, afs: Fix peer hash locking vs RCU callback 2025-02-06 08:53:49 -04:00
proc.c rxrpc: Request an ACK on impending Tx stall 2025-02-06 08:48:57 -04:00
protocol.h
recvmsg.c
rtt.c
rxkad.c
rxperf.c
security.c
sendmsg.c rxrpc: Don't need barrier for ->tx_bottom and ->acks_hard_ack 2025-02-06 08:53:49 -04:00
server_key.c
skbuff.c
sysctl.c
txbuf.c rxrpc: Don't need barrier for ->tx_bottom and ->acks_hard_ack 2025-02-06 08:53:49 -04:00
utils.c