]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Merge branch 'amt-fix-use-after-free-of-the-skb-head-across-pulls'
authorJakub Kicinski <kuba@kernel.org>
Wed, 22 Jul 2026 14:51:49 +0000 (07:51 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 22 Jul 2026 14:51:49 +0000 (07:51 -0700)
commit06ec76fa534a2330fecb66deaa09be4db7ac620c
tree847ef4651db8e5eca9dcd1cea9491c6dc00fb4d5
parentba712ecfd942b68b21a4b0a5daaf72f6616cc66d
parent53969d704fa5b7c1751e277fac96bfc22b435eac
Merge branch 'amt-fix-use-after-free-of-the-skb-head-across-pulls'

Michael Bommarito says:

====================
amt: fix use-after-free of the skb head across pulls

Several AMT receive and transmit paths cache a pointer into the skb head
and then call a helper that can reallocate that head before the cached
pointer is used again, so the later access reads or writes freed memory.

Patch 1 walks every AMT path and, for each pointer used after a
reallocating call, either snapshots the value before the first pull or
re-derives the pointer after the last one.

Patch 2 is a smaller, separable hardening change: the three handlers
that rewrite the ethernet header do so in place without making the head
private, which corrupts a cloned skb (for example one held by a packet
tap).  It adds skb_cow_head() before the rewrite, split out so the
use-after-free fix is not held up by discussion of the clone case.
====================

Link: https://patch.msgid.link/20260711151934.2955226-1-michael.bommarito@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>