]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
batman-adv: bla: reacquire gw address after skb realloc
authorSven Eckelmann <sven@narfation.org>
Sun, 28 Jun 2026 06:45:41 +0000 (08:45 +0200)
committerSven Eckelmann <sven@narfation.org>
Sun, 28 Jun 2026 07:58:34 +0000 (09:58 +0200)
The pskb_may_pull() called by batadv_bla_is_backbone_gw() could reallocate
the buffer behind the skb. Variables which were pointing to the old buffer
need to be reassigned to avoid an use-after-free.

Cc: stable@vger.kernel.org
Fixes: 9e794b6bf4a2 ("batman-adv: drop unicast packets from other backbone gw")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/routing.c

index 2cc2307a417024a2296bc3481656d1861a22d0a6..bbd40fe3a8e59d8c8ed65ea666fe01a0a15cd2da 100644 (file)
@@ -1029,6 +1029,7 @@ int batadv_recv_unicast_packet(struct sk_buff *skb,
                                                          hdr_size);
                        batadv_orig_node_put(orig_node_gw);
                        if (is_gw) {
+                               orig_addr_gw = eth_hdr(skb)->h_source;
                                batadv_dbg(BATADV_DBG_BLA, bat_priv,
                                           "%s(): Dropped unicast pkt received from another backbone gw %pM.\n",
                                           __func__, orig_addr_gw);