Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Thu, 29 Feb 2024 22:17:54 +0000 (14:17 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 29 Feb 2024 22:24:56 +0000 (14:24 -0800)
Cross-merge networking fixes after downstream PR.

Conflicts:

net/mptcp/protocol.c
  adf1bb78dab5 ("mptcp: fix snd_wnd initialization for passive socket")
  9426ce476a70 ("mptcp: annotate lockless access for RX path fields")
https://lore.kernel.org/all/20240228103048.19255709@canb.auug.org.au/

Adjacent changes:

drivers/dpll/dpll_core.c
  0d60d8df6f49 ("dpll: rely on rcu for netdev_dpll_pin()")
  e7f8df0e81bf ("dpll: move xa_erase() call in to match dpll_pin_alloc() error path order")

drivers/net/veth.c
  1ce7d306ea63 ("veth: try harder when allocating queue memory")
  0bef512012b1 ("net: add netdev_lockdep_set_classes() to virtual drivers")

drivers/net/wireless/intel/iwlwifi/mvm/d3.c
  8c9bef26e98b ("wifi: iwlwifi: mvm: d3: implement suspend with MLO")
  78f65fbf421a ("wifi: iwlwifi: mvm: ensure offloading TID queue exists")

net/wireless/nl80211.c
  f78c1375339a ("wifi: nl80211: reject iftype change with mesh ID change")
  414532d8aa89 ("wifi: cfg80211: use IEEE80211_MAX_MESH_ID_LEN appropriately")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
42 files changed:
1  2 
.mailmap
MAINTAINERS
drivers/dpll/dpll_core.c
drivers/net/ethernet/intel/ice/ice_base.c
drivers/net/ethernet/intel/ice/ice_dpll.c
drivers/net/ethernet/intel/ice/ice_lib.c
drivers/net/ethernet/intel/ice/ice_lib.h
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/toshiba/ps3_gelic_net.c
drivers/net/gtp.c
drivers/net/tun.c
drivers/net/usb/lan78xx.c
drivers/net/veth.c
drivers/net/wireless/intel/iwlwifi/mvm/d3.c
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.h
include/linux/dpll.h
include/linux/netdevice.h
include/linux/netfilter.h
include/net/mctp.h
net/core/dev.c
net/core/rtnetlink.c
net/ipv4/ip_tunnel.c
net/ipv6/addrconf.c
net/mac80211/rate.c
net/mctp/route.c
net/mptcp/options.c
net/mptcp/protocol.c
net/mptcp/protocol.h
net/netfilter/nf_conntrack_core.c
net/netlink/af_netlink.c
net/wireless/nl80211.c
security/selinux/hooks.c
tools/net/ynl/lib/ynl.c
tools/testing/selftests/net/mptcp/diag.sh
tools/testing/selftests/net/mptcp/mptcp_join.sh
tools/testing/selftests/net/mptcp/mptcp_lib.sh

diff --cc .mailmap
Simple merge
diff --cc MAINTAINERS
Simple merge
index 93c1bb7a6ef70c91043612e5b66ae2dbd37fd8f1,241db366b2c74ae749f49612d86176b2f8f479c1..12fcd420396e6da58b73da82b5613898f65f09c9
@@@ -562,11 -565,11 +567,11 @@@ void dpll_pin_put(struct dpll_pin *pin
  {
        mutex_lock(&dpll_lock);
        if (refcount_dec_and_test(&pin->refcount)) {
 +              xa_erase(&dpll_pin_xa, pin->id);
                xa_destroy(&pin->dpll_refs);
                xa_destroy(&pin->parent_refs);
 -              xa_erase(&dpll_pin_xa, pin->id);
                dpll_pin_prop_free(&pin->prop);
-               kfree(pin);
+               kfree_rcu(pin, rcu);
        }
        mutex_unlock(&dpll_lock);
  }
Simple merge
Simple merge
Simple merge
Simple merge
index 6d5ed79b9fff0b21fede24a3728e580385cefbfd,05b64176859e809986082c002f91eef247e83add..70e03a9a937eba913f9b25bde39d78985b1d764a
@@@ -1309,12 -1279,14 +1309,14 @@@ static int __iwl_mvm_suspend(struct iee
  
                mvm->net_detect = true;
        } else {
-               struct iwl_wowlan_config_cmd wowlan_config_cmd = {};
+               struct iwl_wowlan_config_cmd wowlan_config_cmd = {
+                       .offloading_tid = 0,
+               };
  
 -              wowlan_config_cmd.sta_id = mvmvif->deflink.ap_sta_id;
 +              wowlan_config_cmd.sta_id = mvm_link->ap_sta_id;
  
                ap_sta = rcu_dereference_protected(
 -                      mvm->fw_id_to_mac_id[mvmvif->deflink.ap_sta_id],
 +                      mvm->fw_id_to_mac_id[mvm_link->ap_sta_id],
                        lockdep_is_held(&mvm->mutex));
                if (IS_ERR_OR_NULL(ap_sta)) {
                        ret = -EINVAL;
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/core/dev.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 9df4eaddfd48b869d50a206ce4e9b24dab5ae87d,7833a49f6214a194a282bba92671e9cdd945ad92..76c8861a852b13165de33f451c6f768cf048a19a
@@@ -3204,18 -3242,25 +3247,25 @@@ struct sock *mptcp_sk_clone_init(const 
  
        __mptcp_init_sock(nsk);
  
+ #if IS_ENABLED(CONFIG_MPTCP_IPV6)
+       if (nsk->sk_family == AF_INET6)
+               mptcp_copy_ip6_options(nsk, sk);
+       else
+ #endif
+               mptcp_copy_ip_options(nsk, sk);
        msk = mptcp_sk(nsk);
 -      msk->local_key = subflow_req->local_key;
 -      msk->token = subflow_req->token;
 +      WRITE_ONCE(msk->local_key, subflow_req->local_key);
 +      WRITE_ONCE(msk->token, subflow_req->token);
        msk->in_accept_queue = 1;
        WRITE_ONCE(msk->fully_established, false);
        if (mp_opt->suboptions & OPTION_MPTCP_CSUMREQD)
                WRITE_ONCE(msk->csum_enabled, true);
  
 -      msk->write_seq = subflow_req->idsn + 1;
 -      msk->snd_nxt = msk->write_seq;
 -      msk->snd_una = msk->write_seq;
 -      msk->wnd_end = msk->snd_nxt + tcp_sk(ssk)->snd_wnd;
 +      WRITE_ONCE(msk->write_seq, subflow_req->idsn + 1);
 +      WRITE_ONCE(msk->snd_nxt, msk->write_seq);
 +      WRITE_ONCE(msk->snd_una, msk->write_seq);
-       WRITE_ONCE(msk->wnd_end, msk->snd_nxt + req->rsk_rcv_wnd);
++      WRITE_ONCE(msk->wnd_end, msk->snd_nxt + tcp_sk(ssk)->snd_wnd);
        msk->setsockopt_seq = mptcp_sk(sk)->setsockopt_seq;
        mptcp_init_sched(msk, mptcp_sk(sk)->sched);
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge