+++ /dev/null
-From foo@baz Wed Aug 26 11:53:06 AM CEST 2020
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-Date: Sat, 15 Aug 2020 09:29:30 +0200
-Subject: net: xdp: pull ethernet header off packet after computing skb->protocol
-
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-
-[ Upstream commit f8414a8d886b613b90d9fdf7cda6feea313b1069 ]
-
-When an XDP program changes the ethernet header protocol field,
-eth_type_trans is used to recalculate skb->protocol. In order for
-eth_type_trans to work correctly, the ethernet header must actually be
-part of the skb data segment, so the code first pushes that onto the
-head of the skb. However, it subsequently forgets to pull it back off,
-making the behavior of the passed-on packet inconsistent between the
-protocol modifying case and the static protocol case. This patch fixes
-the issue by simply pulling the ethernet header back off of the skb
-head.
-
-Fixes: 297249569932 ("net: fix generic XDP to handle if eth header was mangled")
-Cc: Jesper Dangaard Brouer <brouer@redhat.com>
-Cc: David S. Miller <davem@davemloft.net>
-Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/core/dev.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -4586,6 +4586,7 @@ static u32 netif_receive_generic_xdp(str
- (orig_bcast != is_multicast_ether_addr_64bits(eth->h_dest))) {
- __skb_push(skb, ETH_HLEN);
- skb->protocol = eth_type_trans(skb, skb->dev);
-+ __skb_pull(skb, ETH_HLEN);
- }
-
- switch (act) {
net-sched-act_ct-fix-skb-double-free-in-tcf_ct_handle_fragments-error-flow.patch
net-sctp-fix-negotiation-of-the-number-of-data-streams.patch
net-smc-prevent-kernel-infoleak-in-__smc_diag_dump.patch
-net-xdp-pull-ethernet-header-off-packet-after-computing-skb-protocol.patch
tipc-call-rcu_read_lock-in-tipc_aead_encrypt_done.patch
tipc-fix-uninit-skb-data-in-tipc_nl_compat_dumpit.patch
net-ena-make-missed_tx-stat-incremental.patch
+++ /dev/null
-From foo@baz Wed Aug 26 11:58:24 AM CEST 2020
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-Date: Sat, 15 Aug 2020 09:29:30 +0200
-Subject: net: xdp: pull ethernet header off packet after computing skb->protocol
-
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-
-[ Upstream commit f8414a8d886b613b90d9fdf7cda6feea313b1069 ]
-
-When an XDP program changes the ethernet header protocol field,
-eth_type_trans is used to recalculate skb->protocol. In order for
-eth_type_trans to work correctly, the ethernet header must actually be
-part of the skb data segment, so the code first pushes that onto the
-head of the skb. However, it subsequently forgets to pull it back off,
-making the behavior of the passed-on packet inconsistent between the
-protocol modifying case and the static protocol case. This patch fixes
-the issue by simply pulling the ethernet header back off of the skb
-head.
-
-Fixes: 297249569932 ("net: fix generic XDP to handle if eth header was mangled")
-Cc: Jesper Dangaard Brouer <brouer@redhat.com>
-Cc: David S. Miller <davem@davemloft.net>
-Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/core/dev.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -4671,6 +4671,7 @@ static u32 netif_receive_generic_xdp(str
- (orig_bcast != is_multicast_ether_addr_64bits(eth->h_dest))) {
- __skb_push(skb, ETH_HLEN);
- skb->protocol = eth_type_trans(skb, skb->dev);
-+ __skb_pull(skb, ETH_HLEN);
- }
-
- switch (act) {
net-sched-act_ct-fix-skb-double-free-in-tcf_ct_handle_fragments-error-flow.patch
net-sctp-fix-negotiation-of-the-number-of-data-streams.patch
net-smc-prevent-kernel-infoleak-in-__smc_diag_dump.patch
-net-xdp-pull-ethernet-header-off-packet-after-computing-skb-protocol.patch
tipc-call-rcu_read_lock-in-tipc_aead_encrypt_done.patch
tipc-fix-uninit-skb-data-in-tipc_nl_compat_dumpit.patch
net-ena-make-missed_tx-stat-incremental.patch