]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Thu, 30 Apr 2026 19:49:56 +0000 (12:49 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 May 2026 18:19:07 +0000 (11:19 -0700)
Cross-merge networking fixes after downstream PR (net-7.1-rc3).

Conflicts:

net/ipv4/igmp.c
  726fa7da2d8c ("ipv4: igmp: get rid of IGMPV3_{QQIC,MRC} and simplify calculation")
  c6bebaa744f7 ("ipv4: igmp: annotate data-races in igmp_heard_query()")
https://lore.kernel.org/a7365e4873340f7a5e30411207de3bf9@kernel.org

Adjacent changes:

net/psp/psp_main.c
  30cb24f97d44 ("psp: strip variable-length PSP header in psp_dev_rcv()")
  c2b22277ad89 ("psp: validate IPv4 header fields in psp_dev_rcv()")

net/sched/sch_fq_codel.c
  f83e07b29246 ("net/sched: sch_fq_codel: annotate data-races from fq_codel_dump_class_stats()")
  3f3aa77ff1c8 ("net/sched: add qstats_cpu_drop_inc() helper")

net/wireless/pmsr.c
  0f3c0a197309 ("wifi: nl80211: fix NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST usage")
  410aa47fd9d3 ("wifi: cfg80211: allow suppressing FTM result reporting for PD requests")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
19 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/airoha/airoha_eth.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/microsoft/mana/gdma_main.c
drivers/net/ethernet/microsoft/mana/mana_en.c
drivers/net/usb/r8152.c
drivers/net/wireless/ath/ath12k/core.c
drivers/net/wireless/ath/ath12k/wmi.c
net/ipv4/igmp.c
net/mac80211/mlme.c
net/mac80211/rx.c
net/mac80211/util.c
net/mctp/test/route-test.c
net/psp/psp_main.c
net/sched/sch_cake.c
net/sched/sch_fq_codel.c
net/wireless/nl80211.c
net/wireless/pmsr.c
tools/testing/selftests/net/Makefile

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/igmp.c
index d7eff36d98c354d5d9df143e908dfb7264db40da,a9ad39064f3bb7fcfaace52448473f0425b2fa07..27d1201837793cd4dabf2fbd614828d3a800365e
@@@ -1015,9 -1028,10 +1028,10 @@@ static bool igmp_heard_query(struct in_
                 * received value was zero, use the default or statically
                 * configured value.
                 */
-               in_dev->mr_qrv = ih3->qrv ?: READ_ONCE(net->ipv4.sysctl_igmp_qrv);
-               in_dev->mr_qi = igmpv3_qqi(ih3) * HZ ? : IGMP_QUERY_INTERVAL;
+               WRITE_ONCE(in_dev->mr_qrv,
+                          ih3->qrv ?: READ_ONCE(net->ipv4.sysctl_igmp_qrv));
 -              mr_qi = IGMPV3_QQIC(ih3->qqic)*HZ ?: IGMP_QUERY_INTERVAL;
++              mr_qi = igmpv3_qqi(ih3) * HZ ? : IGMP_QUERY_INTERVAL;
+               WRITE_ONCE(in_dev->mr_qi, mr_qi);
                /* RFC3376, 8.3. Query Response Interval:
                 * The number of seconds represented by the [Query Response
                 * Interval] must be less than the [Query Interval].
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 8ba722faf7e3c37cabfecd58fd4937dd3c568444,24db54684e8a5997b075e0f4072f49779ae45abb..ed42ce62a17f1de9516af90533d16b65657f86cd
@@@ -173,10 -173,10 +173,10 @@@ static unsigned int fq_codel_drop(struc
        } while (++i < max_packets && len < threshold);
  
        /* Tell codel to increase its signal strength also */
-       flow->cvars.count += i;
-       q->backlogs[idx] -= len;
+       WRITE_ONCE(flow->cvars.count, flow->cvars.count + i);
+       WRITE_ONCE(q->backlogs[idx], q->backlogs[idx] - len);
        q->memory_usage -= mem;
 -      sch->qstats.drops += i;
 +      __qdisc_qstats_drop(sch, i);
        sch->qstats.backlog -= len;
        sch->q.qlen -= i;
        return idx;
Simple merge
index e45fc1fb65c248e2181bbab3c069f62d42b026c1,d6cd0de64d1f844f683ab39036501893cab9ee61..c8447448f3a505d202d7109bc10fdf79ce936efb
@@@ -105,13 -88,14 +105,13 @@@ static int pmsr_parse_ftm(struct cfg802
        out->ftm.ftms_per_burst = 0;
        if (tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST])
                out->ftm.ftms_per_burst =
-                       nla_get_u32(tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST]);
+                       nla_get_u8(tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST]);
  
        if (capa->ftm.max_ftms_per_burst &&
 -          (out->ftm.ftms_per_burst > capa->ftm.max_ftms_per_burst ||
 -           out->ftm.ftms_per_burst == 0)) {
 +          out->ftm.ftms_per_burst > capa->ftm.max_ftms_per_burst) {
                NL_SET_ERR_MSG_ATTR(info->extack,
                                    tb[NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST],
 -                                  "FTM: FTMs per burst must be set lower than the device limit but non-zero");
 +                                  "FTM: FTMs per burst must be set lower than the device limit");
                return -EINVAL;
        }
  
Simple merge