Message ID | 20231010163933.GA534@incl (mailing list archive) |
---|---|
State | Accepted |
Commit | d93f3f992780af4a21e6c1ab86946b7c5602f1b9 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] bonding: Return pointer to data after pull on skb | expand |
Jiri Wiesner <jwiesner@suse.de> wrote: >Since 429e3d123d9a ("bonding: Fix extraction of ports from the packet >headers"), header offsets used to compute a hash in bond_xmit_hash() are >relative to skb->data and not skb->head. If the tail of the header buffer >of an skb really needs to be advanced and the operation is successful, the >pointer to the data must be returned (and not a pointer to the head of the >buffer). Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com> >Fixes: 429e3d123d9a ("bonding: Fix extraction of ports from the packet headers") >Signed-off-by: Jiri Wiesner <jwiesner@suse.de> >--- > drivers/net/bonding/bond_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c >index ed7212e61c54..51d47eda1c87 100644 >--- a/drivers/net/bonding/bond_main.c >+++ b/drivers/net/bonding/bond_main.c >@@ -4023,7 +4023,7 @@ static inline const void *bond_pull_data(struct sk_buff *skb, > if (likely(n <= hlen)) > return data; > else if (skb && likely(pskb_may_pull(skb, n))) >- return skb->head; >+ return skb->data; > > return NULL; > } >-- >2.35.3 > > >-- >Jiri Wiesner >SUSE Labs >
Tue, Oct 10, 2023 at 06:39:33PM CEST, jwiesner@suse.de wrote: >Since 429e3d123d9a ("bonding: Fix extraction of ports from the packet >headers"), header offsets used to compute a hash in bond_xmit_hash() are >relative to skb->data and not skb->head. If the tail of the header buffer >of an skb really needs to be advanced and the operation is successful, the >pointer to the data must be returned (and not a pointer to the head of the >buffer). > >Fixes: 429e3d123d9a ("bonding: Fix extraction of ports from the packet headers") >Signed-off-by: Jiri Wiesner <jwiesner@suse.de> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Tue, 10 Oct 2023 18:39:33 +0200 you wrote: > Since 429e3d123d9a ("bonding: Fix extraction of ports from the packet > headers"), header offsets used to compute a hash in bond_xmit_hash() are > relative to skb->data and not skb->head. If the tail of the header buffer > of an skb really needs to be advanced and the operation is successful, the > pointer to the data must be returned (and not a pointer to the head of the > buffer). > > [...] Here is the summary with links: - [net] bonding: Return pointer to data after pull on skb https://git.kernel.org/netdev/net/c/d93f3f992780 You are awesome, thank you!
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index ed7212e61c54..51d47eda1c87 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -4023,7 +4023,7 @@ static inline const void *bond_pull_data(struct sk_buff *skb, if (likely(n <= hlen)) return data; else if (skb && likely(pskb_may_pull(skb, n))) - return skb->head; + return skb->data; return NULL; }
Since 429e3d123d9a ("bonding: Fix extraction of ports from the packet headers"), header offsets used to compute a hash in bond_xmit_hash() are relative to skb->data and not skb->head. If the tail of the header buffer of an skb really needs to be advanced and the operation is successful, the pointer to the data must be returned (and not a pointer to the head of the buffer). Fixes: 429e3d123d9a ("bonding: Fix extraction of ports from the packet headers") Signed-off-by: Jiri Wiesner <jwiesner@suse.de> --- drivers/net/bonding/bond_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)