Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Thu, 11 Jul 2024 19:57:57 +0000 (12:57 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 11 Jul 2024 19:58:13 +0000 (12:58 -0700)
Cross-merge networking fixes after downstream PR.

Conflicts:

net/sched/act_ct.c
  26488172b029 ("net/sched: Fix UAF when resolving a clash")
  3abbd7ed8b76 ("act_ct: prepare for stolen verdict coming from conntrack and nat engine")

No adjacent changes.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
14 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
include/linux/sched.h
kernel/bpf/helpers.c
net/core/datagram.c
net/ipv4/tcp_input.c
net/ipv4/tcp_timer.c
net/ipv4/udp.c
net/netfilter/nf_tables_api.c
net/sched/act_ct.c
tools/testing/selftests/bpf/config

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/udp.c
Simple merge
Simple merge
@@@ -1078,9 -1075,16 +1078,17 @@@ do_nat
                /* This will take care of sending queued events
                 * even if the connection is already confirmed.
                 */
 -              if (nf_conntrack_confirm(skb) != NF_ACCEPT)
 -                      goto drop;
 +              err = nf_conntrack_confirm(skb);
 +              if (err != NF_ACCEPT)
 +                      goto nf_error;
+               /* The ct may be dropped if a clash has been resolved,
+                * so it's necessary to retrieve it from skb again to
+                * prevent UAF.
+                */
+               ct = nf_ct_get(skb, &ctinfo);
+               if (!ct)
+                       skip_add = true;
        }
  
        if (!skip_add)
Simple merge