FAILED: patch "[PATCH] batman-adv: fix TX priority extraction for BATADV_FORW_MCAST" failed to apply to 6.18-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.18-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.18.y
git checkout FETCH_HEAD
git cherry-pick -x 7aedb59b80993c912ab45ce24386a2775150962b
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026090932-implant-idealness-8a1e@gregkh' --subject-prefix 'PATCH 6.18.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 7aedb59b80993c912ab45ce24386a2775150962b Mon Sep 17 00:00:00 2001
From: Sven Eckelmann <[email protected]>
Date: Thu, 9 Jul 2026 20:44:24 +0200
Subject: [PATCH] batman-adv: fix TX priority extraction for BATADV_FORW_MCAST
batadv_mcast_forw_mode_by_count() pushs the skb->data for BATADV_FORW_MCAST forwarding via batadv_mcast_forw_mcsend(). But the batadv_skb_set_priority() expects the ethernet header directly before (skb->data + offset). With the moved skb->data, just some random data would be accessed to get the priority data.
Move the batadv_skb_set_priority() before the decision about the handling multicast packets and potential header modifications.
net/batman-adv/mesh-interface.c +5 -2
@@ -305,6 +305,8 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb,if (batadv_compare_eth (ethhdr->h_dest, ectp_addr)) goto dropped; +batadv_skb_set_priority (skb,0 ); + gw_mode =READ_ONCE (bat_priv->gw.mode);if (is_multicast_ether_addr (ethhdr->h_dest)) {/* if gw mode is off, broadcast every packet */
@@ -338,6 +340,9 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb, send:if (do_bcast && !is_broadcast_ether_addr (ethhdr->h_dest)) { +/* WARNING batadv_mcast_forw_mode might add more headers +* in front of the skb. and might even reallocate the skb +*/ forw_mode =batadv_mcast_forw_mode (bat_priv, skb, vid, &mcast_is_routable);switch (forw_mode) {
@@ -355,8 +360,6 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb, } } -batadv_skb_set_priority (skb,0 ); -/* ethernet packet should be broadcasted */ if (do_bcast) { primary_if =batadv_primary_if_get_selected (bat_priv);
Sven Eckelmann
maintainerPATCH 1/1 batman-adv: fix TX priority extraction for BATADV_FORW_MCAST
commit 7aedb59b80993c912ab45ce24386a2775150962b upstream.
batadv_mcast_forw_mode_by_count() pushs the skb->data for BATADV_FORW_MCAST forwarding via batadv_mcast_forw_mcsend(). But the batadv_skb_set_priority() expects the ethernet header directly before (skb->data + offset). With the moved skb->data, just some random data would be accessed to get the priority data.
Move the batadv_skb_set_priority() before the decision about the handling multicast packets and potential header modifications.
--- net/batman-adv/mesh-interface.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
net/batman-adv/mesh-interface.c +5 -2
@@ -258,6 +258,8 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb,if (batadv_compare_eth (ethhdr->h_dest, ectp_addr)) goto dropped; +batadv_skb_set_priority (skb,0 ); + gw_mode =atomic_read (&bat_priv->gw.mode);if (is_multicast_ether_addr (ethhdr->h_dest)) {/* if gw mode is off, broadcast every packet */
@@ -291,6 +293,9 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb, send:if (do_bcast && !is_broadcast_ether_addr (ethhdr->h_dest)) { +/* WARNING batadv_mcast_forw_mode might add more headers +* in front of the skb. and might even reallocate the skb +*/ forw_mode =batadv_mcast_forw_mode (bat_priv, skb, vid, &mcast_is_routable);switch (forw_mode) {
@@ -308,8 +313,6 @@ static netdev_tx_t batadv_interface_tx(struct sk_buff *skb, } } -batadv_skb_set_priority (skb,0 ); -/* ethernet packet should be broadcasted */ if (do_bcast) { primary_if =batadv_primary_if_get_selected (bat_priv);
Signature · 1 line
2.47.3
Re: [PATCH 6.18.y] batman-adv: fix TX priority extraction for BATADV_FORW_MCAST
Quoted 4 lines
commit
7aedb59b80993c912ab45ce24386a2775150962bupstream.
batadv_mcast_forw_mode_by_count()pushs theskb->dataforBATADV_FORW_MCASTforwarding viabatadv_mcast_forw_mcsend().
Queued for 6.18, thanks.
Signature · 2 lines
Thanks, Sasha