You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rxrpc: Fix potential UAF after skb_unshare() failure
cve-pre CVE-2026-43500
commit-author David Howells <dhowells@redhat.com>
commit 1f27401
upstream-diff |
Trace-header conflict in include/trace/events/rxrpc.h: upstream's
patch context refers to three trace constants that don't exist in
this kernel — rxrpc_skb_put_purge_oob, rxrpc_skb_put_response, and
rxrpc_skb_put_response_copy. They were added by earlier upstream
rxrpc OOB/response work not present here, plus the dirty-frag fix
itself for response_copy. The contested constants were dropped
from the resolution since the code that would emit them isn't in
this tree (no rxrpc_verify_response wrapper, no OOB-purge path).
The constants this patch's new code actually uses
(rxrpc_skb_put_call_rx, rxrpc_skb_see_unshare_nomem) applied
cleanly. The other four files (ar-internal.h, call_event.c,
io_thread.c, skbuff.c) merged with no conflicts.
If skb_unshare() fails to unshare a packet due to allocation failure in
rxrpc_input_packet(), the skb pointer in the parent (rxrpc_io_thread())
will be NULL'd out. This will likely cause the call to
trace_rxrpc_rx_done() to oops.
Fix this by moving the unsharing down to where rxrpc_input_call_event()
calls rxrpc_input_call_packet(). There are a number of places prior to
that where we ignore DATA packets for a variety of reasons (such as the
call already being complete) for which an unshare is then avoided.
And with that, rxrpc_input_packet() doesn't need to take a pointer to the
pointer to the packet, so change that to just a pointer.
Fixes: 2d1faf7 ("rxrpc: Simplify skbuff accounting in receive path")
Closes: https://sashiko.dev/#/patchset/20260408121252.2249051-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Jeffrey Altman <jaltman@auristor.com>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
cc: stable@kernel.org
Link: https://patch.msgid.link/20260422161438.2593376-4-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 1f27401)
Signed-off-by: Shreeya Patel <spatel@ciq.com>
0 commit comments