Commit graph

175,520 commits

Author SHA1 Message Date
Jakub Kicinski
02f144fbb4 netfilter pull request 26-06-23
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEjF9xRqF1emXiQiqU1w0aZmrPKyEFAmo7AFcACgkQ1w0aZmrP
 KyGwJQ/+IbMU5lwz7IY3Xdp6TTJyRYj6IF47tRpygts73bmFAfgxpkHw8Kjly2gu
 outN2xyYJKZ/yeIbDZDCC7FVNFS/LUjV0+AeIj78LIfmaf/a33T6gg92vfiQdB2I
 rhNEx23rho3aVN5seRpkdATwNAflt3hG+GLAToRMDf1CgQnN8w+wvyOXdg1tAJXP
 ArmgSS2ILhe8shrLp51csg9rFyPYiF4P9IQnHNVYanVjfIseHz2YIkR4ynHKMhts
 eThPDHDN6k60K+gVMGPIA6n0OFaRdVH/BRqRvlvYJW4Y35YxDLUa6OmN0MErrsWa
 Fd2isoD6MZYD5MTeYFc8Mz/zxyVj1/AZwYsqYDqGUhrW1bKhsjK4BtNkffIkFjP1
 xTrEDnP0+8qKMRbN1kXTlkf4FYM+8gml+mOP47usJlO3aG5iiSXYa9yFy6mfo7vX
 B8rjANFfM42eMQNrMZw5xYER8AXbMAOcMZoWnhvYbHrlDY8QIpGhMHnvfn1MykmC
 jTZ3mQUBYxFniHP8kL+XstCIqr5rmb6Me6obOWYRfZOEWGhpxcZOG070uDgcRbdN
 A906pag1SLPQAD997/7pxdjiN9PyLoFi+16Lkguzpk/dVdDBbCJhaXTGTVT8oleu
 Nu+tj6sXh8Dy1m2BXOCFglDRde/7QTlFwOytrpyAg7gM9Y29Nqw=
 =BXU0
 -----END PGP SIGNATURE-----

Merge tag 'nf-26-06-23' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following patchset contains Netfilter fixes for net:

1) Add a workaround to avoid a possible crash if nf_nat and nft_chain_nat are
   compiled built-in and nf_nat fails to register, allowing nft_chain_nat to
   access the incorrect pernetns area. This is crash specific of all built-in
   compilation. From Matias Krause.

2) Revisit conncount GC optimization for confirmed conntracks, skip GC round
   if IPS_ASSURED is set on. This is addressing an issue for corner case
   use case scenario involving locally generated traffic. No crash, just a
   functionality fix. From Fernando F. Mancera.

3) Validate iph->ihl in flowtable IPIP tunnel support, from Lorenzo Bianconi.
   This a sanity check to bounces back malformed IPIP packets to classic
   forwarding path.

4) Kdoc fixes for x_tables.h, from Randy Dunlap.

5) Use info->options so nft_synproxy_tcp_options() stays on the same local
   snapshot, otherwise eval path can observe inconsistent mix of mss and
   timestamps. From Runyu Xiao.

6) Add conntrack_sctp_collision.sh to cover for SCTP INIT collisions.
   From Yi Chen.

7) Do not allow NFPROTO_UNSPEC targets if family is NFPROTO_BRIDGE in
   nft_compat. This allows to use non-sense targets such as xt_nat leading
   to crash. From Florian Westphal.

8) Add a selftest queueing from bridge family. From Florian Westphal.

9) Do not allow to reset a conntrack helper via ctnetlink. This feature
   antedates the creation of the conntrack-tools, and it is not used
   I don't have a usecase for it, I prefer to remove than fixing it.

10) Add deprecation warning for IPv4 only conntrack helpers for PPTP
    and IRC. From Florian Westphal.

11) Store the master tuple in the expectation object and use it,
    otherwise SLAB_TYPESAFE_RCU rules allow to display incorrect
    master tuple information through ctnetlink.

12) Run expectation eviction when inserting an expectation with no
    helper, this is a fix for the nft_ct custom expectation support.

13) Fix nft_ct custom expectation timeouts, userspace provides a
    timeout in milliseconds but kernel assumes this comes in seconds.
    From Florian Westphal.

14) Cap maximum number of expectations per class to 255 expectations
    per master conntrack at helper registration. This is a fix to
    restrict the maximum number of expectations per master conntrack
    which can be a issue for the new lazy GC expectation approach.

* tag 'nf-26-06-23' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nf_conntrack_helper: cap maximum number of expectation at helper registration
  netfilter: nft_ct: expectation timeouts are passed in milliseconds
  netfilter: nf_conntrack_expect: run expectation eviction with no helper
  netfilter: nf_conntrack_expect: store master_tuple in expectation
  netfilter: conntrack: add deprecation warnings for irc and pptp trackers
  netfilter: ctnetlink: do not allow to reset helper on existing conntrack
  selftests: nft_queue.sh: add a bridge queue test
  netfilter: nft_compat: ebtables emulation must reject non-bridge targets
  selftests: netfilter: conntrack_sctp_collision.sh: Introduce SCTP INIT collision test
  netfilter: nft_synproxy: stop bypassing the priv->info snapshot
  netfilter: x_tables.h: fix all kernel-doc warnings
  netfilter: flowtable: Validate iph->ihl in nf_flow_ip4_tunnel_proto()
  netfilter: nf_conncount: prevent connlimit drops for early confirmed ct
  netfilter: nf_nat: avoid invalid nat_net pointer use on failed nf_nat_init()
====================

Link: https://patch.msgid.link/20260623221548.701545-1-pablo@netfilter.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-24 19:56:59 -07:00
Jakub Kicinski
e9deb406c1 ipsec-2026-06-22
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEH7ZpcWbFyOOp6OJbrB3Eaf9PW7cFAmo4560ACgkQrB3Eaf9P
 W7fDNg//WWYvJgff2nGNHa0cqm2PGbwlfD8xEyc5d9nn/sz5yO+1BzN6junxAd7b
 U9PE2Y1Zgh8E43TjqCsWebyv6D4/T6X/iIJXEzPoMZeJnBxLHxGf66ThKaQ8RuDH
 sKaOBexllkfrluSyvdL3vpJUS04bbvyBpLFWsaKIsy0hFMSIBRYWv2Z+HF8RBzTb
 YqAsG1bFOKhBxbbj5CXh6Wuc8PFRMoXlrzWjsMKa9KGkXDbIitvdO/t8cc3ZXo9g
 YE5iz8+poJDy+Uvn74TJ5P5w6jhkTtBliJ13Hckoq5th/5USE92c9ZtVqqCCjB2h
 TL3ChPRn3O2FfBaNYZBHqKXEBpgFF91FPlCTviZKtavDTuNVij432XeYKXU7ZBUW
 dNVPHkbylYjNKaFftLFSKIj644aWLCSrit7Uoz07eeMOn7Ef7pkv6VAnDMBCrS5i
 jwH7FJHyTH7cw21SqB20Q8rlpipeBbSl4Z4gCePBomXXgRkgQqQddOtfCTl25xtF
 vLQiAEU8oVUNQ7z41CBR70S6psfxQn+Od9z2UACv1d8yOEt+cWnK/mmxYL8qq6Jz
 2sx753Z7UWcPLOQVbpgh4CxJuA1wjqlip7Evi1bFdeY3NM+o9PZ2NfFzBOWS6ZXH
 ZgEqHVHcYiKqUb59m6LDcLG+AzDmHBJUk7o3w9tr0rqVhN+eLkA=
 =LFlA
 -----END PGP SIGNATURE-----

Merge tag 'ipsec-2026-06-22' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec

Steffen Klassert says:

====================
pull request (net): ipsec 2026-06-22

1) xfrm: use compat translator only for u64 alignment mismatch
   Gate the XFRM_USER_COMPAT translator on COMPAT_FOR_U64_ALIGNMENT
   so 32-bit compat tasks on arches whose 32-bit ABI already matches
   the native 64-bit layout are no longer rejected with -EOPNOTSUPP.
   From Sanman Pradhan.

2) net: af_key: initialize alg_key_len for IPComp states
   Initialize the alg_key_len to 0 in the IPComp branch of
   pfkey_msg2xfrm_state() so an uninitialized value cannot drive
   xfrm_alg_len() into a slab-out-of-bounds kmemdup during
   XFRM_MSG_MIGRATE. From Zijing Yin.

3) xfrm: Fix dev use-after-free in xfrm async resumption
   Stash the original skb->dev and extend the RCU critical section
   across xfrm_rcv_cb() and transport_finish() to prevent a
   tunnel-device UAF and original-device refcount leak when a
   callback replaces skb->dev. From Dong Chenchen.

4) xfrm: Fix xfrm state cache insertion race
   Move the state-validity check inside xfrm_state_lock in the
   input state cache insertion path so a state cannot be killed
   between the check and the insert. From Herbert Xu.

5) xfrm: annotate data-races around xfrm_policy_count[] and xfrm_policy_default[]
   Add READ_ONCE()/WRITE_ONCE() annotations on xfrm_policy_count
   and xfrm_policy_default to silence the KCSAN data race reported
   on net->xfrm.policy_count. From Eric Dumazet.

6) espintcp: use sk_msg_free_partial to fix partial send
   Replace the manual skmsg accounting in espintcp with
   sk_msg_free_partial() so the skmsg stays consistent on every
   iteration and the partial-send accounting bugs go away.
   From Sabrina Dubroca.

7) xfrm: validate selector family and prefixlen during match
   Reject mismatched address families in xfrm_selector_match() and
   bound prefixlen in addr4_match()/addr_match() to prevent the
   shift-out-of-bounds syzbot reported when an AF_UNSPEC selector
   with a large prefixlen is matched against an IPv4 flow.
   From Eric Dumazet.

* tag 'ipsec-2026-06-22' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec:
  xfrm: validate selector family and prefixlen during match
  espintcp: use sk_msg_free_partial to fix partial send
  xfrm: annotate data-races around xfrm_policy_count[] and xfrm_policy_default[]
  xfrm: Fix xfrm state cache insertion race
  xfrm: Fix dev use-after-free in xfrm async resumption
  net: af_key: initialize alg_key_len for IPComp states
  xfrm: use compat translator only for u64 alignment mismatch
====================

Link: https://patch.msgid.link/20260622075726.29685-1-steffen.klassert@secunet.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-23 16:22:24 -07:00
Pablo Neira Ayuso
979c13114c netfilter: nf_conntrack_expect: store master_tuple in expectation
Store master conntrack tuple in the expectation since exp->master might
refer to a different conntrack when accessed from rcu read side lock
area due to typesafe rcu rules.

Fixes: 02a3231b6d ("netfilter: nf_conntrack_expect: store netns and zone in expectation")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-23 13:10:34 +02:00
Florian Westphal
57f940017a netfilter: conntrack: add deprecation warnings for irc and pptp trackers
IRC Direct client-to-client requires plaintext.  IRC over TLS should be
preferred, making this helper ineffective.  Add a deprecation warning and
update the help text to better reflect that this is needed for the DCC
extension, not IRC itself.

PPTP is esoteric these days and it is the only helper that requires the
destroy callback in the conntrack helper API.

Removal would simplify the conntrack core.

Both helpers are IPv4 only.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-23 13:10:34 +02:00
Randy Dunlap
22f9dbed18 netfilter: x_tables.h: fix all kernel-doc warnings
- use correct names in kernel-doc comments
- add missing struct members to kernel-doc comments

Warning: include/linux/netfilter/x_tables.h:41 struct member 'targinfo' not described in 'xt_action_param'
Warning: include/linux/netfilter/x_tables.h:41 Excess struct member 'targetinfo' description in 'xt_action_param'
Warning: include/linux/netfilter/x_tables.h:90 struct member 'family' not described in 'xt_mtchk_param'
Warning: include/linux/netfilter/x_tables.h:90 struct member 'nft_compat' not described in 'xt_mtchk_param'
Warning: include/linux/netfilter/x_tables.h:101 expecting prototype for struct xt_mdtor_param. Prototype was for struct xt_mtdtor_param instead

Warning: include/linux/netfilter/x_tables.h:121 struct member 'net' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'table' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'target' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'targinfo' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'hook_mask' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'family' not described in 'xt_tgchk_param'
Warning: include/linux/netfilter/x_tables.h:121 struct member 'nft_compat' not described in 'xt_tgchk_param'

Warning: include/linux/netfilter/x_tables.h:345 expecting prototype for xt_recseq(). Prototype was for DECLARE_PER_CPU() instead

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-23 08:11:21 +02:00
Kuniyuki Iwashima
b72f0db642 ipv4: fib: Don't ignore error route in local/main tables.
When CONFIG_IP_MULTIPLE_TABLES is enabled but no rule is added,
fib_lookup() performs route lookup directly on two tables.

Since the first lookup does not properly bail out, the result
of an error route in the merged local/main table could be
overwritten by another route in the default table:

  # unshare -n
  # ip link set lo up
  # ip route add 192.168.0.0/24 dev lo table 253
  # ip route add unreachable 192.168.0.0/24
  # ip route get 192.168.0.1
  192.168.0.1 dev lo table default uid 0
      cache <local>

Once a random rule is added, the error route is respected:

  # ip rule add table 0
  # ip rule del table 0
  # ip route get 192.168.0.1
  RTNETLINK answers: No route to host

Let's fix the inconsistent behaviour.

Fixes: f4530fa574 ("ipv4: Avoid overhead when no custom FIB rules are installed.")
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20260619212753.3367244-1-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-22 18:37:36 -07:00
Jakub Kicinski
56abdaebbf netfilter pull request 26-06-21
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEjF9xRqF1emXiQiqU1w0aZmrPKyEFAmo3Eg8ACgkQ1w0aZmrP
 KyGS5xAApJV4Qq8dA9waGk8CEJNtDpTm71VDOWOznKzLSG3hvJKtzK1QkaTreyjj
 MQeIyRr2mwQGgOsYiNzAmMKMKdCdmcR/6MEjJ/XoNsfxOFitI2uNheZBeBTQXs09
 FiQzz1Q+fv+/kBUwD1M/Zx/1/ebwIe1C5Ms/grV5/QCok5CQ6aMm8UMpAULYuQua
 uaH6+VeLMpahDxWPMv47eCcvLAkB00/dxMtoujNV9HQ5aLaKOYDuOJcn90GeUDFw
 hSu3nlEjepbF8cxFtDofntnHUwQ0FXVnvvLVCPBwmAXboMXiWx/cb9+HQhRgxV9m
 41Sla0q7pEtM2KVuf8mj6jYUUEfjQUZM47utSbuX6Gx7YOphdlHkCbblmTP+lvey
 TGFJkP+WEWjBxdcT3vbduPfEwkCudBIi5su3Agzqom0U49DenlS9WirVBOnDC/T2
 xwwp93NLR/URs+DR4mLlXYNYO42FZpdpy5m9O3HUnQhfpXr3pLzp0POK1c3Kzbss
 N/2kJ+EuUVSCRkM4gQTwvZ+Os4VhafnLwqKfHdeH7tBQNJr0fVMEK7e85rCd4IX9
 S6XPvGk1s9Jcc4Jdk0NhTJhK3Chyb9SyGEgLBWsBRlOARywox5s0sI+kKqpLll2P
 poFTrFSJOo1y2qOPDFvQl/puJWR3XhKWda8bSfy812bqGnghpPQ=
 =GGDL
 -----END PGP SIGNATURE-----

Merge tag 'nf-26-06-21' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following patchset contains Netfilter fixes for net. This batches
fixes for real crashes with trivial/correctness fixes. There is too
a rework of the conntrack expectation timeout strategy to deal with
a possible race when removing an expectation.

1) Fix the incorrect flowtable timeout extension for entries in
   hw offload, from Adrian Bente. This is correcting a defect in
   the functionality, no crash.

2) Hold reference to device under the fake dst in br_netfilter,
   from Haoze Xie. This is fixing a possible UaF if the device
   is removed while packet is sitting in nfqueue.

3) Reject template conntrack in xt_cluster, otherwise access to
   uninitialize conntrack fields are possible leading to WARN_ON
   due to unset layer 3 protocol. From Wyatt Feng.

4) Make sure the IPv6 tunnel header is in the linear skb data
   area before pulling. While at it remove incomplete NEXTHDR_DEST
   support. From Lorenzo Bianconi. This possibly leading to crash
   if IPv4 header is not in the linear area.

5) Use test_bit_acquire in ipset hash set to avoid reordering
   of subsequent memory access. This is addressing a LLM related
   report, no crash has been observed. From Jozsef Kadlecsik.

6) Use test_bit_acquire in ipset bitmap set too, for the same
   reason as in the previous patch, from Jozsef Kadlecsik.

7) Call kfree_rcu() after rcu_assign_pointer() to address a
   possible UaF if kfree_rcu() runs inmediately, which to my
   understanding never happens. Never observed in practise,
   reported by LLM. Also from Jozsef Kadlecsik.

8) Use disable_delayed_work_sync() instead cancel_delayed_work_sync()
   to avoid that ipset GC handler re-queues work as reported by LLM.
   From Jozsef Kadlecsik. This is for correctness.

9) Restore the check in nft_payload for exceeding payloda offset
    over 2^16. From Florian Westphal. This fixes a silent truncation,
    not a big deal, but better be assertive and reject it.

10) Validate NFT_META_BRI_IIFHWADDR can only run from bridge
    prerouting. From Florian Westphal. Harmless but it could allow
    to read bytes from skb->cb.

11) Zero out destination hardware address during the flowtable
    path setup, also from Florian. This is a correctness fix, LLM
    points that possible infoleak can happen but topology to achieve
    it is not clear.

12) Skip IPv4 options if present when building the IPV4 reject reply.
    Otherwise bytes in the IPv4 options header can be sent back to
    origin where the ICMP header is being expected. Again from
    Florian Westphal.

13) Replace timer API for expectation by GC worker approach. This
    is implicitly fixing a race between nf_ct_remove_expectations()
    which might fail to remove the expectation due to timer_del()
    returning false because timer has expired and callback is
    being run concurrently. This fix is addressing a crash that has
    been already reported with a reproducer.

14) Check if br_vlan_get_pvid_rcu() fails, otherwise possible stack
    infoleak of 4-bytes. From Florian Westphal.

* tag 'nf-26-06-21' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nft_meta_bridge: fix NFT_META_BRI_IIFPVID stack leak
  netfilter: nf_conntrack_expect: use conntrack GC to reap expectations
  netfilter: nf_reject: skip iphdr options when looking for icmp header
  netfilter: nft_flow_offload: zero device address for non-ether case
  netfilter: nft_meta_bridge: add validate callback for get operations
  netfilter: nft_payload: reject offsets exceeding 65535 bytes
  netfilter: ipset: make sure gc is properly stopped
  netfilter: ipset: fix order of kfree_rcu() and rcu_assign_pointer()
  netfilter: ipset: Don't use test_bit() in lockless RCU readers in bitmap types
  netfilter: ipset: Don't use test_bit() in lockless RCU readers in hash types
  netfilter: flowtable: fix and simplify IP6IP6 tunnel handling
  netfilter: xt_cluster: reject template conntracks in hash match
  netfilter: nf_queue: pin bridge device while NFQUEUE holds fake dst
  netfilter: flowtable: fix offloaded ct timeout never being extended
====================

Link: https://patch.msgid.link/20260620222738.112506-1-pablo@netfilter.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-22 10:33:38 -07:00
Ilya Maximets
4c6d43db2a net: dst_metadata: fix false-positive memcpy overflow in tun_dst_unclone
kmalloc_flex() in metadata_dst_alloc() sets __counted_by for the
structure to the options_len, which is then initialized to zero.
Later, we're initializing the structure by copying the tunnel info
together with the options, and this triggers a warning for a potential
memcpy overflow, since the compiler estimates that the options can't
fit into the structure, even though the memory for them is actually
allocated.

 memcpy: detected buffer overflow: 104 byte write of buffer size 96
 WARNING: CPU: X PID: Y at lib/string_helpers.c:1036 __fortify_report
  skb_tunnel_info_unclone+0x179/0x190
  geneve_xmit+0x7fe/0xe00

The issue is triggered when built with clang and source fortification.

Fix that by doing the copy in two stages: first - the main data with
the options_len, then the options.  This way the correct length should
be known at the time of the copy.

It would be better if the options_len never changed after allocation,
but the allocation code is a little separate from the initialization
and it would be awkward and potentially dangerous to return a struct
with options_len set to a non-zero value from the metadata_dst_alloc().

Another option would be to use ip_tunnel_info_opts_set(), but it is
doing too many unnecessary operations for the use case here.

Fixes: 69050f8d6d ("treewide: Replace kmalloc with kmalloc_obj for non-scalar types")
Reported-by: Johan Thomsen <write@ownrisk.dk>
Closes: https://lore.kernel.org/netdev/CAKv6aAM8_EWgXScnKmKYm_4SwGDVBK++dzfP+Y6msUXbp99QUw@mail.gmail.com/
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Link: https://patch.msgid.link/20260616100332.1308294-1-i.maximets@ovn.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-21 14:33:05 -07:00
Pablo Neira Ayuso
b8b09dc2bf netfilter: nf_conntrack_expect: use conntrack GC to reap expectations
This patch replaces the timer API by GC worker approach for
expectations, as it already happened in many other subsystems.

Use the existing conntrack GC worker to iterate over the local list of
expectations in the master conntrack to reap expired expectations.
Check IPS_HELPER_BIT to run GC for expectations, set it on for nft_ct
expectation which nevers sets it. Hold the expectation spinlock while
iterating over the master conntrack expectation list to synchronize with
nf_ct_remove_expectations(). This also performs runtime packet path
garbage collection through the expectation insertion and lookup
functions while walking over one of the chains of the global expectation
hashtables. Unconfirmed conntrack entries are skipped since ct->ext can
be reallocated and dying are skipped since those will be gone soon.
Set on IPS_HELPER_BIT if the helper ct extension is added, then the new
GC worker does not need to bump the ct refcount to check if the ct->ext
helper is available.

This removes the extra bump on the refcount for expectation timers, this
allows to remove several nf_ct_expect_put() calls after the unlink,
after this update only refcount remains at 1 while on the expectation
hashes.

This patch implicitly addresses a race with the existing timer API
allowing an expectation to access a stale exp->master pointer which has
been already released when expectation removal loses races with an
expiring timer, ie. timer_del() reporting false.

Add a new NF_CT_EXPECT_DEAD flag to reap this expectation via GC. This
is needed by nf_conntrack_unexpect_related() which is called in error
paths to invalidate newly created expectations that has been added into
the hashes. These expectactions cannot be inmediately released as GC or
nf_ct_remove_expectations() could race to make it. On expectation
insert, the runtime GC reaps stale expectations before checking the
expectation limit set by policy.

Set current timestamp in nf_ct_expect_alloc(), then add the expectation
policy timeout (or custom timeout specified added on top of this) to
specify the expectation lifetime.

Fixes: bffcaad9af ("netfilter: ctnetlink: ensure safe access to master conntrack")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-21 00:18:27 +02:00
Florian Westphal
bff1c8b49a netfilter: nft_meta_bridge: add validate callback for get operations
Blamed commit added NFT_META_BRI_IIFHWADDR to the set validate callback,
yet this is a get operation.

Add a get validate callback and move the NFT_META_BRI_IIFHWADDR key
there.

AFAICS this is harmless, NFT_META_BRI_IIFHWADDR can deal with a NULL
input device and the set handler ignores a NFT_META_BRI_IIFHWADDR
operation, but it allows to read 4 bytes off bridge skb->cb[].

Fixes: cbd2257dc9 ("netfilter: nft_meta_bridge: introduce NFT_META_BRI_IIFHWADDR support")
Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Fernando Fernandez Mancera <fmancera@suse.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-21 00:18:26 +02:00
Haoze Xie
c9c9b37f8c netfilter: nf_queue: pin bridge device while NFQUEUE holds fake dst
The br_netfilter fake rtable is embedded in struct net_bridge and is
attached to bridged packets with skb_dst_set_noref(). If such a packet is
queued to NFQUEUE, __nf_queue() upgrades that fake dst with
skb_dst_force().

At that point the queued skb can hold a real dst reference after bridge
teardown has started. The problem is not that every bridged packet needs
its own dst reference. The problem is that NFQUEUE can keep the bridge
private fake dst alive after unregister begins.

Fix this by keeping the bridge fake dst model unchanged and pinning the
bridge master device only while the packet sits in NFQUEUE. Record the
bridge device in nf_queue_entry when the queued skb carries a bridge fake
dst, take a device reference for the queue lifetime, and drop it when the
queue entry is freed.

Also make sure queued entries are reaped when that bridge device goes
down, and drop the redundant nf_bridge_info_exists() test from the fake
dst detection.

This keeps netdev_priv(br->dev) alive until verdict completion, so the
embedded fake rtable and its metrics backing storage cannot be freed out
from under dst_release(). It also avoids the constant refcount bump and
avoids using ipv4-specific dst helpers for IPv6 bridge traffic.

Fixes: 34666d467c ("netfilter: bridge: move br_netfilter out of the core")
Cc: stable@kernel.org
Reported-by: Yuan Tan <yuantan098@gmail.com>
Reported-by: Yifan Wu <yifanwucs@gmail.com>
Reported-by: Juefei Pu <tomapufckgml@gmail.com>
Reported-by: Xin Liu <bird@lzu.edu.cn>
Signed-off-by: Haoze Xie <royenheart@gmail.com>
Signed-off-by: Ren Wei <n05ec@lzu.edu.cn>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-06-19 12:19:58 +02:00
Xin Long
7d8297e26b sctp: hold socket lock when dumping endpoints in sctp_diag
SCTP_DIAG endpoint dumping was traversing endpoint address lists without
holding lock_sock(), while those lists could change concurrently via
socket operations (e.g., bindx changes). This creates a race where
nla_reserve() counts addresses under RCU protection, but the subsequent
copy may see fewer entries, potentially leaking uninitialized memory to
userspace.

Fix this by:

- Taking a reference on each endpoint during hash traversal
- Moving socket operations (lock_sock()) outside read_lock_bh()
- Serializing address list access during dump
- Reworking sctp_for_each_endpoint() to support restart-based traversal
  with (net, pos) tracking

Also:

- Add WARN_ON_ONCE() for inconsistent address counts
- Fix idiag_states filtering for LISTEN vs association cases
- Skip dumping endpoints being freed (ep->base.dead)
- Move dump position tracking into iterator, removing cb->args[4] and
  its comment for sctp_ep_dump().,
- Update the comment for cb->args[4] and remove the comment for unused
  cb->args[5] for sctp_sock_dump().

Note: traversal is restart-based and may re-scan buckets multiple times,
but this is acceptable due to small bucket sizes and required to support
sleeping-safe callbacks.

This issue was reported by Nico Yip (@_cyeaa_) working with TrendAI Zero
Day Initiative.

Reported-by: Zero Day Initiative <zdi-disclosures@trendmicro.com>
Fixes: 8f840e47f1 ("sctp: add the sctp_diag.c file")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Link: https://patch.msgid.link/4c1b49ab87e0f7d552ebd8172b364b1994e913c9.1781552190.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-17 16:41:34 -07:00
Maoyi Xie
8165f7ff57 net: ip_gre: require CAP_NET_ADMIN in the device netns for changelink
A tunnel changelink() operates on at most two netns, dev_net(dev) and
the tunnel link netns t->net. They differ once the device is created in
or moved to a netns other than the one the request runs in. The rtnl
changelink path checks CAP_NET_ADMIN only against dev_net(dev), so a
caller privileged there but not in t->net can rewrite a tunnel that
lives in t->net.

Add rtnl_dev_link_net_capable() next to rtnl_get_net_ns_capable() in
net/core/rtnetlink.c. It requires CAP_NET_ADMIN in the link netns and is
skipped when the link netns is dev_net(dev), where the rtnl path already
checked it. The other patches in this series use the same helper.

Gate ipgre_changelink() and erspan_changelink() with it, at the top of
the op before any attribute is parsed, because the parsers update live
tunnel fields first. ipgre_netlink_parms() sets t->collect_md before
ip_tunnel_changelink() runs.

Commit 8b484efd5c ("ip6: vti: Use ip6_tnl.net in
vti6_siocdevprivate().") added the same check on the ioctl path. This
adds it on RTM_NEWLINK.

Reported-by: Xiao Liang <shaw.leon@gmail.com>
Closes: https://lore.kernel.org/netdev/CABAhCOSzP1vaThGV35_VnsRCb=87_CPjPVsTHbq905k8A+BuUg@mail.gmail.com/
Fixes: b57708add3 ("gre: add x-netns support")
Cc: stable@vger.kernel.org
Signed-off-by: Maoyi Xie <maoyixie.tju@gmail.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260612085941.3158249-2-maoyixie.tju@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-17 16:01:52 -07:00
Eric Dumazet
40f0b10479 xfrm: validate selector family and prefixlen during match
syzbot reported a shift-out-of-bounds in xfrm_selector_match()
due to AF_UNSPEC selector with large prefixlen (e.g. 128) matched
against IPv4 flow (when XFRM_STATE_AF_UNSPEC is set).

Fix this by:

- Rejecting mismatched families in xfrm_selector_match.
- Returning false in addr4_match if prefixlen > 32.
- Returning false in addr_match if prefixlen > 128 (prevents overflow).

Fixes: 3f0ab59e65 ("xfrm: validate new SA's prefixlen using SA family when sel.family is unset")
Reported-by: syzbot+9383b1ff0df4b29ca5e6@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/6a2fbe35.be3f099c.2836ae.0018.GAE@google.com/T/#u
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2026-06-17 11:17:27 +02:00
Eric Dumazet
68de007d5a xfrm: annotate data-races around xfrm_policy_count[] and xfrm_policy_default[]
KCSAN reported a data race involving net->xfrm.policy_count access.

Add missing READ_ONCE()/WRITE_ONCE() annotations on
xfrm_policy_count and xfrm_policy_default.

Fixes: 2518c7c2b3 ("[XFRM]: Hash policies when non-prefixed.")
Reported-by: syzbot+d85ba1c732720b9a4097@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/6a2b9e96.99669fcc.12a77b.0006.GAE@google.com/T/#u
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2026-06-17 11:17:26 +02:00
Linus Torvalds
b85966adbf Networking changes for 7.2.
Core & protocols
 ----------------
 
  - Work on removing rtnl_lock protection throughout the stack continues.
    In this chapter:
     - don't use rtnl_lock for IPv6 multicast routing configuration
     - don't take rtnl_lock in ethtool for modern drivers
     - prepare Qdisc dump callbacks for rtnl_lock removal
 
  - Support dumping just ifindex + name of all interfaces, under RCU.
    It's a common operation for Netlink CLI tools (when translating
    names to ifindexes) and previously required full rtnl_lock.
 
  - Support dumping qdiscs and page pools for a specific netdev. Even tho
    user space wants a dump of all netdevs, most of the time, the OOO
    programming model results in repeating the dump for each netdev.
    Which, in absence of a cache, leads to a O(n^2) behavior.
 
  - Flush nexthops once on multi-nexthop removal (e.g. when device goes
    down), another O(n^2) -> O(n) improvement.
 
  - Rehash locally generated traffic to a different nexthop on retransmit
    timeout.
 
  - Honor oif when choosing nexthop for locally generated IPv6 traffic.
 
  - Convert TCP Auth Option to crypto library, and drop non-RFC algos.
 
  - Increase subflow limits in MPTCP to 64 and endpoint limit to 256.
 
  - Support MPTCP signaling of IPv6 address + port (ADD_ADDR). We need
    to selectively skip reporting of the standard TCP Timestamp option,
    because they won't fit into the header space together (12 + 30 > 40).
 
  - Support using bridge neighbor suppression, Duplicate Address
    Detection, Gratuitous ARP and unsolicited NA forwarding - in EVPN
    deployments, e.g. VXLAN fabrics (IPv4 and IPv6).
 
  - Improve link state reporting for upper netdevs (e.g. macvlan) over
    tunnel devices (again, mostly for EVPN deployments).
 
  - Support binding GENEVE tunnels to a local address.
 
  - Speed up UDP tunnel destruction (remove one synchronize_rcu()).
 
  - Support exponential field encoding in multicast (IGMPv3 and MLDv2).
 
  - Support attaching PSP crypto offload to containers (veth, netkit).
 
  - Add a new IPSec Netlink message XFRM_MSG_MIGRATE_STATE that allows
    migrating individual IPsec SAs independently of their policies.
    The existing XFRM_MSG_MIGRATE is tightly coupled to policy+SA
    migration, lacks SPI for unique SA identification, and cannot express
    reqid changes or migrate Transport mode selectors. The new interface
    identifies the SA via SPI and mark, supports reqid changes, address
    family changes, encap removal, and uses an atomic create+install
    flow under x->lock to prevent SN/IV reuse during AEAD SA migration.
 
  - Implement GRO/GSO support for PPPoE.
 
  - Convert sockopt callbacks in a number of protocols to iov_iter.
 
 Cross-tree stuff
 ----------------
 
  - Remove support for Crypto TFM cloning (unblocked after the TCP Auth
    Option rework). This feature regressed performance for all crypto API
    users, since it changed crypto transformation objects into reference-
    -counted objects.
 
  - Add FCrypt-PCBC implementation to rxrpc and remove it from the global
    crypto API as obsolete and insecure.
 
 Wireless
 --------
 
  - Major rework of station bandwidth handling, fixing issues with lower
    capability than AP.
 
  - Cleanups for EMLSR spec issues (drafts differed).
 
  - More Neighbor Awareness Networking (Wi-Fi Aware) work (multicast,
    schedule improvements, multi-station etc.)
 
  - Some Ultra High Reliability (UHR) / IEEE 802.11bn (D1.4) work
    (e.g. non-primary channel access, UHR DBE support).
 
  - Fine Timing Measurement ranging (i.e. distance measurement) APIs.
 
 Netfilter
 ---------
 
  - Use per-rule hash initval in nf_conncount. This avoids unnecessary
    lock contention with short keys (e.g. conntrack zones) in different
    namespaces.
 
  - Various safety improvements, both in packet parsing and object
    lifetimes. Notably add refcounts to conntrack timeout policy.
 
 Deletions
 ---------
 
  - Remove TLS + sockmap integration. TLS wants to pin user pages
    to avoid a copy, and sockmap wants to write to the input stream.
    More work on this integration is clearly needed, and we can't find
    any users (original author admitted that they never deployed it).
 
  - Remove support for TLS offload with TCP Offload Engine (the far
    more common opportunistic offload is retained). The locking looks
    unfixable (driver sleeps under TCP spin locks) and people from
    the vendor that added this are AWOL.
 
  - Remove more ATM code, trying to leave behind only what PPPoATM needs,
    AAL5 and br2684 with permanent circuits.
 
  - Remove AppleTalk. Let it join hamradio in our out of tree protocol
    graveyard, I mean, repository.
 
  - Disable 32-bit x_tables compatibility (32bit binaries on 64bit kernel)
    interface in user namespaces. To be deleted completely, soon.
 
  - Remove 5/10 MHz support from cfg80211/mac80211.
 
 Drivers
 -------
 
  - Software:
    - Support DEVMEM/DMABUF Tx over NETMEM_TX_NO_DMA devices (netkit).
    - bonding: add knob to strictly follow 802.3ad for link state.
 
  - New drivers:
    - Alibaba Elastic Ethernet Adaptor (cloud vNIC).
    - NXP NETC switch within i.MX94.
 
  - DPLL:
    - Add operational state to pins (implement in zl3073x).
    - Add generic DPLL type, for daisy-chaining DPLLs (implement in ice).
 
  - Ethernet high-speed NICs:
    - Huawei (hinic3):
      - enhance tc flow offload support with queue selection, tunnels
    - nVidia/Mellanox:
      - avoid over-copying payload to the skb's linear part (up to 60%
        win for LRO on slow CPUs like ARM64 V2)
      - expose more per-queue stats over the standard API
      - support additional, unprivileged PFs in the DPU configuration
      - support Socket Direct (multi-PF) with switchdev offloads
      - add a pool / frag allocator for DMA mapped buffers for control
        objects, save memory on systems with 64kB page size
      - take advantage of the ability to dynamically change RSS table
        size, even when table is configured by the user
      - increase the max RSS table size for even traffic distribution
 
  - Ethernet NICs:
    - Marvell/Aquantia:
      - AQC113 PTP support
    - Realtek USB (r8152):
      - support 10Gbit Link Speeds and Energy-Efficient Ethernet (EEE)
      - support firmware loaded (for RTL8157/RTL8159)
      - support for the RTL8159
    - Intel (ixgbe):
      - support Energy-Efficient Ethernet (EEE) on E610 devices
 
  - Ethernet switches:
    - Airoha:
      - support multiple netdevs on a single GDM block / port
    - Marvell (mv88e6xxx):
      - support SERDES of mv88e6321
    - Microchip (ksz8/9):
      - rework the driver callbacks to remove one indirection layer
    - Motorcomm (yt921x):
      - support port rate policing
      - support TBF qdisc offload
      - support ACL/flower offload
    - nVidia/Mellanox:
      - expose per-PG rx_discards
    - Realtek:
      - rtl8365mb: bridge offloading and VLAN support
 
  - Ethernet PHYs:
    - Airoha:
      - support Airoha AN8801R Gigabit PHYs.
    - Micrel:
      - implement 3 low-loss cable tunables
    - Realtek:
      - support MDI swapping for RTL8226-CG
      - support MDIO for RTL931x
    - Qualcomm:
      - at803x: Rx and Tx clock management for IPQ5018 PHY
    - Motorcomm:
      - support YT8522 100M RMII PHY
      - set drive strength in YT8531s RGMII
    - TI:
      - dp83822: add optional external PHY clock
 
  - Bluetooth:
    - hci_sync: add support for HCI_LE_Set_Host_Feature [v2]
    - SMP: use AES-CMAC library API
    - Intel:
      - support Product level reset
      - support smart trigger dump
    - Mediatek:
      - add event filter to filter specific event
    - Realtek:
      - fix RTL8761B/BU broken LE extended scan
 
  - WiFi:
    - Broadcom (b43):
      - new support for a 11n device
    - MediaTek (mt76):
      - support mt7927
      - mt792x: broken usb transport detection
      - mt7921: regulatory improvements
    - Qualcomm (ath9k):
      - GPIO interface improvements
    - Qualcomm (ath12k):
      - WDS support
      - replace dynamic memory allocation in WMI Rx path
      - thermal throttling/cooling device support
      - 6 GHz incumbent interference detection
      - channel 177 in 5 GHz
    - Realtek (rt89):
      - RTL8922AU support
      - USB 3 mode switch for performance
      - better monitor radiotap support
      - RTL8922DE preparations
 
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE6jPA+I1ugmIBA4hXMUZtbf5SIrsFAmox1O4ACgkQMUZtbf5S
 Irve7hAAgvCYRFvQ/1dvL+PORg2KqVW4rWXMvNrEWaMVAEXJIIPJoxen6zn6a/72
 aRs2Ord/wVM/Uh291TOrARwtv1U0oOvOvnbrVM2u06o/EqjtxRAZSF9quTlPdm6Q
 RvlkR5X9XXM2MwbDc1zYNTITfhVv80YDCFmYGI7O8dyhLuyspX2eU0SiW33Twl4f
 y6RLcn12gyUbDpa6vt+tari6cFCO/X2zot/uwaDY38b+kwsMHunrj3/PSfJzeYIU
 5mD7jG+xsPxQlEskMYGOjVT5VeMdRquhb9UGwoostZpuEPYZfzTdFtphC1qZqIPk
 8O8ngAW1yYNIY9TTMPF3Y3LMpOiyZq6/P4KY+tksbeDw8vvTYJzEgw3VpwurZQLM
 vfHKDj1kM6VLNekeCI+2cip06flVH3jtIkN0KOERwzTSS8NUbs6PuoEP0HLdjafj
 cr/pgSSTQPUsQkpS5R5Ld3bwpnKea56CQ36p2E8JvU2akwK5RnvqiZiTAfz2z2Tg
 M0NVlTsJ07ucNBxsO4l7osDtRTnzUqo+ZeTo+zR5l0cGRXPd9nJByk257z4IAlcQ
 2MHrJmCZ+ZFKhmkUNUPBdFBATbRgOZHzA/iiiThBrT2hDvWQ2kygO9+IkJBS/WYx
 eQz7G9hb6Xn1ifWVvPVD0oDL3DKKTotQIN90PZCzvObQFWMc1Vk=
 =oNfE
 -----END PGP SIGNATURE-----

Merge tag 'net-next-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Jakub Kicinski:
 "Core & protocols:

   - Work on removing rtnl_lock protection throughout the stack
     continues. In this chapter:
       - don't use rtnl_lock for IPv6 multicast routing configuration
       - don't take rtnl_lock in ethtool for modern drivers
       - prepare Qdisc dump callbacks for rtnl_lock removal

   - Support dumping just ifindex + name of all interfaces, under RCU.
     It's a common operation for Netlink CLI tools (when translating
     names to ifindexes) and previously required full rtnl_lock.

   - Support dumping qdiscs and page pools for a specific netdev. Even
     tho user space wants a dump of all netdevs, most of the time, the
     OOO programming model results in repeating the dump for each
     netdev. Which, in absence of a cache, leads to a O(n^2) behavior.

   - Flush nexthops once on multi-nexthop removal (e.g. when device goes
     down), another O(n^2) -> O(n) improvement.

   - Rehash locally generated traffic to a different nexthop on
     retransmit timeout.

   - Honor oif when choosing nexthop for locally generated IPv6 traffic.

   - Convert TCP Auth Option to crypto library, and drop non-RFC algos.

   - Increase subflow limits in MPTCP to 64 and endpoint limit to 256.

   - Support MPTCP signaling of IPv6 address + port (ADD_ADDR). We need
     to selectively skip reporting of the standard TCP Timestamp option,
     because they won't fit into the header space together (12 + 30 >
     40).

   - Support using bridge neighbor suppression, Duplicate Address
     Detection, Gratuitous ARP and unsolicited NA forwarding - in EVPN
     deployments, e.g. VXLAN fabrics (IPv4 and IPv6).

   - Improve link state reporting for upper netdevs (e.g. macvlan) over
     tunnel devices (again, mostly for EVPN deployments).

   - Support binding GENEVE tunnels to a local address.

   - Speed up UDP tunnel destruction (remove one synchronize_rcu()).

   - Support exponential field encoding in multicast (IGMPv3 and MLDv2).

   - Support attaching PSP crypto offload to containers (veth, netkit).

   - Add a new IPSec Netlink message XFRM_MSG_MIGRATE_STATE that allows
     migrating individual IPsec SAs independently of their policies.

     The existing XFRM_MSG_MIGRATE is tightly coupled to policy+SA
     migration, lacks SPI for unique SA identification, and cannot
     express reqid changes or migrate Transport mode selectors.

     The new interface identifies the SA via SPI and mark, supports
     reqid changes, address family changes, encap removal, and uses an
     atomic create+install flow under x->lock to prevent SN/IV reuse
     during AEAD SA migration.

   - Implement GRO/GSO support for PPPoE.

   - Convert sockopt callbacks in a number of protocols to iov_iter.

  Cross-tree stuff:

   - Remove support for Crypto TFM cloning (unblocked after the TCP Auth
     Option rework). This feature regressed performance for all crypto
     API users, since it changed crypto transformation objects into
     reference-counted objects.

   - Add FCrypt-PCBC implementation to rxrpc and remove it from the
     global crypto API as obsolete and insecure.

  Wireless:

   - Major rework of station bandwidth handling, fixing issues with
     lower capability than AP.

   - Cleanups for EMLSR spec issues (drafts differed).

   - More Neighbor Awareness Networking (Wi-Fi Aware) work (multicast,
     schedule improvements, multi-station etc.)

   - Some Ultra High Reliability (UHR) / IEEE 802.11bn (D1.4) work
     (e.g. non-primary channel access, UHR DBE support).

   - Fine Timing Measurement ranging (i.e. distance measurement) APIs.

  Netfilter:

   - Use per-rule hash initval in nf_conncount. This avoids unnecessary
     lock contention with short keys (e.g. conntrack zones) in different
     namespaces.

   - Various safety improvements, both in packet parsing and object
     lifetimes. Notably add refcounts to conntrack timeout policy.

  Deletions:

   - Remove TLS + sockmap integration. TLS wants to pin user pages to
     avoid a copy, and sockmap wants to write to the input stream. More
     work on this integration is clearly needed, and we can't find any
     users (original author admitted that they never deployed it).

   - Remove support for TLS offload with TCP Offload Engine (the far
     more common opportunistic offload is retained). The locking looks
     unfixable (driver sleeps under TCP spin locks) and people from the
     vendor that added this are AWOL.

   - Remove more ATM code, trying to leave behind only what PPPoATM
     needs, AAL5 and br2684 with permanent circuits.

   - Remove AppleTalk. Let it join hamradio in our out of tree protocol
     graveyard, I mean, repository.

   - Disable 32-bit x_tables compatibility (32bit binaries on 64bit
     kernel) interface in user namespaces. To be deleted completely,
     soon.

   - Remove 5/10 MHz support from cfg80211/mac80211.

  Drivers:

   - Software:
       - Support DEVMEM/DMABUF Tx over NETMEM_TX_NO_DMA devices (netkit)
       - bonding: add knob to strictly follow 802.3ad for link state

   - New drivers:
       - Alibaba Elastic Ethernet Adaptor (cloud vNIC).
       - NXP NETC switch within i.MX94.

   - DPLL:
       - Add operational state to pins (implement in zl3073x).
       - Add generic DPLL type, for daisy-chaining DPLLs (implement in ice).

   - Ethernet high-speed NICs:
       - Huawei (hinic3):
           - enhance tc flow offload support with queue selection,
             tunnels
       - nVidia/Mellanox:
           - avoid over-copying payload to the skb's linear part (up to
             60% win for LRO on slow CPUs like ARM64 V2)
           - expose more per-queue stats over the standard API
           - support additional, unprivileged PFs in the DPU
             configuration
           - support Socket Direct (multi-PF) with switchdev offloads
           - add a pool / frag allocator for DMA mapped buffers for
             control objects, save memory on systems with 64kB page size
           - take advantage of the ability to dynamically change RSS
             table size, even when table is configured by the user
           - increase the max RSS table size for even traffic
             distribution

   - Ethernet NICs:
       - Marvell/Aquantia:
           - AQC113 PTP support
       - Realtek USB (r8152):
           - support 10Gbit Link Speeds and Energy-Efficient Ethernet
             (EEE)
           - support firmware loaded (for RTL8157/RTL8159)
           - support for the RTL8159
       - Intel (ixgbe):
           - support Energy-Efficient Ethernet (EEE) on E610 devices

   - Ethernet switches:
       - Airoha:
           - support multiple netdevs on a single GDM block / port
       - Marvell (mv88e6xxx):
           - support SERDES of mv88e6321
       - Microchip (ksz8/9):
           - rework the driver callbacks to remove one indirection layer
       - Motorcomm (yt921x):
           - support port rate policing
           - support TBF qdisc offload
           - support ACL/flower offload
       - nVidia/Mellanox:
           - expose per-PG rx_discards
       - Realtek:
           - rtl8365mb: bridge offloading and VLAN support

   - Ethernet PHYs:
       - Airoha:
           - support Airoha AN8801R Gigabit PHYs.
       - Micrel:
           - implement 3 low-loss cable tunables
       - Realtek:
           - support MDI swapping for RTL8226-CG
           - support MDIO for RTL931x
       - Qualcomm:
           - at803x: Rx and Tx clock management for IPQ5018 PHY
       - Motorcomm:
           - support YT8522 100M RMII PHY
           - set drive strength in YT8531s RGMII
       - TI:
           - dp83822: add optional external PHY clock

   - Bluetooth:
       - hci_sync: add support for HCI_LE_Set_Host_Feature [v2]
       - SMP: use AES-CMAC library API
       - Intel:
           - support Product level reset
           - support smart trigger dump
       - Mediatek:
           - add event filter to filter specific event
       - Realtek:
           - fix RTL8761B/BU broken LE extended scan

   - WiFi:
       - Broadcom (b43):
           - new support for a 11n device
       - MediaTek (mt76):
           - support mt7927
           - mt792x: broken usb transport detection
           - mt7921: regulatory improvements
       - Qualcomm (ath9k):
           - GPIO interface improvements
       - Qualcomm (ath12k):
           - WDS support
           - replace dynamic memory allocation in WMI Rx path
           - thermal throttling/cooling device support
           - 6 GHz incumbent interference detection
           - channel 177 in 5 GHz
       - Realtek (rt89):
           - RTL8922AU support
           - USB 3 mode switch for performance
           - better monitor radiotap support
           - RTL8922DE preparations"

* tag 'net-next-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1778 commits)
  ipv4: fib_rule: Move fib4_rules_exit() to ->exit().
  net: serialize netif_running() check in enqueue_to_backlog()
  net: skmsg: preserve sg.copy across SG transforms
  appletalk: move the protocol out of tree
  appletalk: stop storing per-interface state in struct net_device
  selftests/bpf: test that TLS crypto is rejected on a sockmap socket
  selftests/bpf: drop the unused kTLS program from test_sockmap
  selftests/bpf: remove sockmap + ktls tests
  tls: remove dead sockmap (psock) handling from the SW path
  tls: reject the combination of TLS and sockmap
  atm: remove orphaned uAPI for deleted drivers, protocols and SVCs
  atm: remove unused ATM PHY operations
  atm: remove the unused pre_send and send_bh device operations
  atm: remove the unused change_qos device operation
  atm: remove SVC socket support and the signaling daemon interface
  atm: remove the local ATM (NSAP) address registry
  atm: remove dead SONET PHY ioctls
  atm: remove the unused send_oam / push_oam callbacks
  atm: remove AAL3/4 transport support
  net: dsa: sja1105: fix lastused timestamp in flower stats
  ...
2026-06-17 08:17:00 +01:00
Jakub Kicinski
d755d45bc0 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge in late fixes in preparation for the net-next PR.

Conflicts:

net/tls/tls_sw.c
  406e8a651a ("net: skmsg: preserve sg.copy across SG transforms")
  79511603a6 ("tls: remove dead sockmap (psock) handling from the SW path")

drivers/net/ethernet/microsoft/mana/mana_en.c
  f8fd56977e ("net: mana: guard TX wq object destroy with INVALID_MANA_HANDLE check")
  d07efe5a6e ("net: mana: Use per-queue allocation for tx_qp to reduce allocation size")
https://lore.kernel.org/ajAPXu-C_PuTgV-a@sirena.org.uk

No adjacent changes.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 14:59:58 -07:00
Yiming Qian
406e8a651a net: skmsg: preserve sg.copy across SG transforms
The sk_msg sg.copy bitmap is part of the scatterlist entry ownership
state. A set bit tells sk_msg_compute_data_pointers() not to expose the
entry through writable BPF ctx->data. This protects entries backed by
pages that are not private to the sk_msg, such as splice-backed file
page-cache pages.

Several sk_msg transform paths move, copy, split, or compact
msg->sg.data[] entries without moving the matching sg.copy bit. This can
make an externally backed entry arrive at a new slot with a clear copy
bit. A later SK_MSG verdict can then expose sg_virt(sge) as writable
ctx->data and BPF stores can modify the original page cache.

Keep sg.copy synchronized with sg.data[] whenever entries are
transferred, shifted, split, or copied into a new sk_msg. Clear the bit
when an entry is replaced by a newly allocated private page or freed.
This covers the BPF pull/push/pop helpers, sk_msg_shift_left/right(),
sk_msg_xfer(), and tls_split_open_record(), including the partial tail
entry created during TLS open-record splitting.

Fixes: d3b18ad31f ("tls: add bpf support to sk_msg handling")
Cc: stable@vger.kernel.org
Reported-by: Yiming Qian <yimingqian591@gmail.com>
Reported-by: Keenan Dong <keenanat2000@gmail.com>
Signed-off-by: Yiming Qian <yimingqian591@gmail.com>
Link: https://patch.msgid.link/20260610062137.49075-1-yimingqian591@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 14:38:46 -07:00
Jakub Kicinski
8a398a0c18 appletalk: move the protocol out of tree
AppleTalk has been removed in MacOS X 10.6 (Snow Leopard), in 2009,
according to Wikipedia. We recently got a burst of AI generated
fixes to this protocol which nobody is reviewing.

Let AppleTalk follow AX.25 and hamradio out of the Linux tree.
We we will maintain the code at: github.com/linux-netdev/mod-orphan
for anyone interested in playing with it.

Retain the uAPI for now. No strong reason, simply because I suspect
keeping it will be less controversial.

Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Link: https://patch.msgid.link/20260615222935.947233-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 14:37:06 -07:00
Jakub Kicinski
023f9b0f2f appletalk: stop storing per-interface state in struct net_device
AppleTalk keeps its per-interface control block (struct atalk_iface)
directly in struct netdevice (dev->atalk_ptr). This is the only thing
tying the protocol into the core net_device layout and is the sole
blocker to moving AppleTalk out of tree.

Replace dev->atalk_ptr with a small ifindex-keyed hashtable internal
to ddp.c. The existing atalk_interfaces list stays the owner of the iface
objects; the hashtable is purely a fast dev->iface index and reuses
the same atalk_interfaces_lock.

AFAICT this patch does not make this code any more racy than it already
is, I'm sure Sashiko will point out some basically existing bugs.
AFAICT atalk_interfaces_lock is the innermost lock already.

Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Link: https://patch.msgid.link/20260615222935.947233-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 14:37:06 -07:00
Jakub Kicinski
79511603a6 tls: remove dead sockmap (psock) handling from the SW path
TLS and sockmap are now mutually exclusive. Try to delete the code
from sendmsg and recvmsg path which is now obviously dead.

The main goal is to delete enough code for AI security scanners
to no longer bother us with sockmap related bugs. At the same
time retain the code in case someone has the cycles to fix
all of this and make the integration work, again.

If the integration does not get restored we can wipe the rest
of the skmsg code from TLS in two or three releases.

The changes on the Tx side are deeper since that's where most
of the bugs are, Rx side simply takes the data from sockmap
and gives it to the user. On Tx split record handling and
rolling back the iterator were the two problem areas.

Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20260614014102.461064-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:55:41 -07:00
Jakub Kicinski
8f9616500c atm: remove orphaned uAPI for deleted drivers, protocols and SVCs
ATM removals have left a number of uAPI headers and ioctl
definitions with no in-kernel implementation behind them:

 - device headers for adapters deleted with the legacy PCI/SBUS drivers:
   atm_eni.h, atm_he.h, atm_idt77105.h, atm_nicstar.h, atm_zatm.h and
   the atmtcp pair atm_tcp.h / <linux/atm_tcp.h>
 - protocol headers for the removed CLIP, LANE and MPOA stacks:
   atmarp.h, atmclip.h, atmlec.h, atmmpc.h
 - atmsvc.h and the SVC / p2mp / local-address ioctls in atmdev.h
   (ATM_{GET,RST,ADD,DEL}ADDR, ATM_{ADD,DEL,GET}LECSADDR,
   ATM_{ADD,DROP}PARTY) left behind by the SVC and address-registry
   removals

None of these are referenced by any remaining in-tree code.
Let's try to delete all this. Chances are nobody cares about
these headers any more. I'm keeping this separate from the
kernel side code changes for ease of revert, in case I am
proven wrong...

Link: https://patch.msgid.link/20260615194416.752559-10-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:53 -07:00
Jakub Kicinski
e44e224e2f atm: remove unused ATM PHY operations
The PHY operations are vestiges of the SAR/framer split used by the
removed PCI/SBUS ATM adapters:

 - atmdev_ops::phy_put / ::phy_get (register accessors) are never called
   by the core and solos-pci only listed them as NULL
 - struct atmphy_ops and atm_dev::phy have no users at all - nothing
   assigns or dereferences them

Remove all of them. atm_dev::phy_data is kept: solos-pci repurposes it
to stash its per-port channel index.

Link: https://patch.msgid.link/20260615194416.752559-9-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:53 -07:00
Jakub Kicinski
ae6e653514 atm: remove the unused pre_send and send_bh device operations
atmdev_ops::pre_send (a TX pre-processing hook) and ::send_bh (a
bottom-half capable send variant) have no implementation behind them:
no remaining ATM driver sets either, so vcc_sendmsg() always skipped
pre_send and the raw AAL0/AAL5 paths always fell back to ->send().
The drivers that used these hooks were removed with the legacy ATM
adapters.

Drop both operations and the dead branches that tested for them.

Link: https://patch.msgid.link/20260615194416.752559-8-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:52 -07:00
Jakub Kicinski
6719d57ee0 atm: remove the unused change_qos device operation
atmdev_ops::change_qos() was the hook for renegotiating the traffic
parameters of an already-connected VCC, driven from SO_ATMQOS on a
connected socket (and previously from the SVC as_modify path, now gone).
None of the ATM drivers left in tree implement it - solos-pci only listed
change_qos = NULL - so atm_change_qos() always returned -EOPNOTSUPP.

Drop the operation and return -EOPNOTSUPP directly.

Link: https://patch.msgid.link/20260615194416.752559-7-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:52 -07:00
Jakub Kicinski
aa582dc25a atm: remove SVC socket support and the signaling daemon interface
ATM switched virtual circuits (SVCs) are set up and torn down by a
user-space signaling daemon (atmsigd) which the kernel talks to over
a dedicated "sigd" socket: the kernel marshals Q.2931-style requests
(as_connect, as_listen, as_accept, as_close, ...) to the daemon and
applies the results to PF_ATMSVC sockets. This is the machinery behind
classical SVC use and was the foundation for LANE / MPOA, all of which
have been removed.

DSL deployments do not use any of this. PPPoATM and BR2684 run over
permanent virtual circuits (PF_ATMPVC) with a statically configured
VPI/VCI; no atmsigd, no Q.2931. Neither remaining ATM driver
(solos-pci, the USB DSL modems) is reachable through the SVC path.

Remove the SVC socket family and the signaling interface:

 - delete net/atm/svc.c, net/atm/signaling.c and signaling.h
 - drop atmsvc_init()/atmsvc_exit() and the PF_ATMSVC registration and
   module alias
 - drop the ATMSIGD_CTRL ioctl (sigd_attach) and the /proc/net/atm/svc
   file
 - fold the SVC branch out of atm_change_qos(); all sockets are PVCs now

The obsolete ATM_SETSC ioctl stub is left in place (it already just
warns and returns 0), as is the struct atm_vcc SVC bookkeeping shared
with the queueing layer.

Link: https://patch.msgid.link/20260615194416.752559-6-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:52 -07:00
Jakub Kicinski
a5a12d76d2 atm: remove the local ATM (NSAP) address registry
net/atm/addr.c maintained the per-device lists of local NSAP addresses
(dev->local) and ILMI-learned LECS addresses (dev->lecs). These exist
solely to serve SVC signaling: the lists are populated through the
ATM_{ADD,DEL,RST}ADDR / ATM_{ADD,DEL,GET}LECSADDR ioctls used by the
atmsigd / ILMI daemons, and consumed when registering addresses with the
signaling daemon. The LECS list belonged to LAN Emulation, which has
been removed.

With no SVC users in a DSL-only configuration these lists are always
empty, so drop the registry entirely:

 - remove the ADDR/LECSADDR/RSTADDR ioctls
 - drop the now-always-empty "atmaddress" sysfs attribute
 - remove the dev->local / dev->lecs lists, structs and enums
 - delete net/atm/addr.c and net/atm/addr.h

The device ESI ("MAC" address) and its ATM_{G,S}ETESI ioctls and
"address" sysfs attribute are retained - the USB DSL modems populate
the ESI.

Link: https://patch.msgid.link/20260615194416.752559-5-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:52 -07:00
Jakub Kicinski
b20aa9eded atm: remove the unused send_oam / push_oam callbacks
The atmdev_ops::send_oam device operation and the atm_vcc::push_oam
callback were the kernel's interface for raw F4/F5 OAM cell exchange.
Nothing assigns them a non-NULL value and nothing ever invokes them:
the core only ever initialises push_oam to NULL (in vcc_create() and the
AAL init helpers) and the Solos driver only lists send_oam = NULL for
documentation. The drivers that actually drove OAM through these hooks
were removed along with the legacy ATM adapters.

Drop both callbacks and the NULL initialisers.

Link: https://patch.msgid.link/20260615194416.752559-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 08:53:52 -07:00
Linus Torvalds
4f7e89065e Bootconfig updates for v7.2
- bootconfig: Render kernel subtree as cmdline string at build time
   . bootconfig: move xbc_snprint_cmdline() to lib/bootconfig.c. Move the
     xbc_snprint_cmdline() function and its buffer from main.c to the shared
     lib/bootconfig.c parser library so it can be reused by userspace tools.
   . tools/bootconfig: render kernel.* subtree as cmdline string with -C. Add a
     new -C option to print the kernel.* subtree as a flat command-line string
     at build time, allowing early parameter injection without runtime parsing.
 -----BEGIN PGP SIGNATURE-----
 
 iQFPBAABCgA5FiEEh7BulGwFlgAOi5DV2/sHvwUrPxsFAmown+YbHG1hc2FtaS5o
 aXJhbWF0c3VAZ21haWwuY29tAAoJENv7B78FKz8blVEIAJpMmmEIjiiCIdAEfJKL
 MTZo8C7V8sX+N3jmeaMmQNjkVfQuBbc4ORUtaZdxBs3E8BznN/zDs3ujSXfzbCe5
 1Hc5A95g+ZXY+83ylCCAem6qTsWfYSN3j7oiyBx0CrRrXy7KupInE1BePMTg1DnZ
 cAas3RLn5Qjyzg/yKMpkJNgCV/HxBCIAOXOF3F00S5THU5F1/W6VU3s8BpCU2mJK
 nQXYGW7XfRkVhhQlkmBF5pfo5yPDeq7louxVCIw4AVJLHWIgxQ3v/d1wR24wu+kT
 bZfDnsq0FVGeyjtRiX6iqFVc/zkQWhWrEFMbY3JNwW9lq4PT6nMH1ss1fNC3Ub1i
 CJ8=
 =apxi
 -----END PGP SIGNATURE-----

Merge tag 'bootconfig-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull bootconfig updates from Masami Hiramatsu:

 - bootconfig: move xbc_snprint_cmdline() to lib/bootconfig.c

   Move the xbc_snprint_cmdline() function and its buffer from
   main.c to the shared lib/bootconfig.c parser library so it
   can be reused by userspace tools.

 - render kernel.* subtree as cmdline string with -C

   Add a new -C option to print the kernel.* subtree as a flat
   command-line string at build time, allowing early parameter
   injection without runtime parsing.

* tag 'bootconfig-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  tools/bootconfig: render kernel.* subtree as cmdline string with -C
  bootconfig: move xbc_snprint_cmdline() to lib/bootconfig.c
2026-06-16 17:29:24 +05:30
Linus Torvalds
42eb3a5ef6 linux_kselftest-kunit-7.2-rc1
Fixes to tool and kunit core and new features to both to support
 JUnit XML (primitive) and backtrace suppression API:
 
  - bug/kunit: Core support for suppressing warning backtraces
  - kunit: tool: Parse and print the reason tests are skipped
  - kunit: tool: Add (primitive) support for outputting JUnit XML
  - kunit:tool: Don't write to stdout when it should be disabled
  - kunit: Add backtrace suppression self-tests
  - drm: Suppress intentional warning backtraces in scaling unit tests
  - kunit: Add documentation for warning backtrace suppression API
  - kunit: Fix spelling mistakes in comments and messages
  - gen_compile_commands: Ignore libgcc.a
  - kunit: qemu_configs: Add or1k / openrisc configuration
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAmowHNQACgkQCwJExA0N
 QxxjdQ/+MibsF3MON3LIOPC2/p23zoAv+jDkw4gxYWC3L9Wh3gqsZLUuYwyGc8Xn
 hO9xN7PEXressO4kukveWYnNtt//aXL3gnZ6Zysbt/BCO73LPxy1IGITDFL58ZVT
 F12ym07VsbqQIHMXR+ANJfxCE8RuaPzdkSW635sLQAhpB5W1Fb51XXfStbLswrVN
 iX8XNnOYGjBES8nDiwFKPCtgwvp19XN4B51iSo3XWU8nhcrrBxrk0ToWfyQVwEA0
 T87hRL81cHLH4WREw1lwEVQ+lRY5WGBwQsKB2JFmI3HaTwcHbNY8p1sa/YARspmY
 LFCRLZu/KLio0a4ZxaVq690JCeQ2osgBhCvF9B/sxtc90/kYM5QycpnmpdgyPBZq
 v0vEnFBG7nAj1epHvmt/S2z11oTpdDbkuTZIEDvW/wsI82wbB6kAkzMY30BRitSJ
 E+RLZxTtSIovI44BgFVFypVWRa2XMaCKL2+GGZoIJiGUwCeJZSTs1nKtnkhYuhel
 daHosU85uB6GFnKE1L8LVJ+Vii+iOZUXN9F4B+2vCJ+eXm/0t85yIm5zEmTpKvNu
 sS8c3KRIkK5kSRitKJtUpiuxUQtPaJCA/w2B9FdPx5+yHmHa+Em3JUn8ZuM1ZRem
 lNIy1b0gM+kJvGT8ZN1eNDSwrHrC+cJ3RI4AeBYPcJ2ECnFvTYI=
 =nc4g
 -----END PGP SIGNATURE-----

Merge tag 'linux_kselftest-kunit-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kunit updates from Shuah Khan:
 "Fixes to tool and kunit core and new features to both to support JUnit
  XML (primitive) and backtrace suppression API:
   - Core support for suppressing warning backtraces
   - Parse and print the reason tests are skipped
   - Add (primitive) support for outputting JUnit XML
   - Don't write to stdout when it should be disabled
   - Add backtrace suppression self-tests
   - Suppress intentional warning backtraces in scaling unit tests
   - Add documentation for warning backtrace suppression API
   - Fix spelling mistakes in comments and messages
   - gen_compile_commands: Ignore libgcc.a
   - qemu_configs: Add or1k / openrisc configuration"

* tag 'linux_kselftest-kunit-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  kunit:tool: Don't write to stdout when it should be disabled
  kunit: tool: Add (primitive) support for outputting JUnit XML
  kunit: tool: Parse and print the reason tests are skipped
  kunit: Add documentation for warning backtrace suppression API
  drm: Suppress intentional warning backtraces in scaling unit tests
  kunit: Add backtrace suppression self-tests
  bug/kunit: Core support for suppressing warning backtraces
  kunit: Fix spelling mistakes in comments and messages
  kunit: qemu_configs: Add or1k / openrisc configuration
  gen_compile_commands: Ignore libgcc.a
2026-06-16 16:33:57 +05:30
Linus Torvalds
ba9c792c82 for-7.2/block-20260615
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmowCYEQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpjUvD/0YcIgniTL/BDQkEQk4+FBVOqLiyPFPhdEY
 z/zxMfvRDcUx48E5t4uDHMFwytugTtymRpmkpLANUuUHHpigLPWhT1kCjzIc8OOU
 534VJ2Ksay5f3i9gVBhpORmdcBokevdmt5KSqvc+it0k+DNUy1o8DJGcQqPSnRtA
 C5Kk6e9QNHpOR30pNygaxtaAsx2rlyrBYw0zWUy7yeUQqI9X+0yZDLC8FUsVDVXW
 fptHqQN4///4zm8DdNvTAGhGPGCAcyciXQbrJKBrH9DlZuD5XzrDBFieuhZ96H6M
 jvr6eL6XlNx3qd/3x9PYsV4zyArTQZw++XLHakNMoP7Gd3ddSVutfKPLN4TZf5ij
 TA4chrhMoIhrubU8LYmDHhTFFCXoRd5NCG5f6JKu7usEzBQVKNO4IJ4fJDA/efeG
 iy3W1mdyAAefLS/DfH+i5foWUJbl5VXe4H/d1o8uIdgU2y8rM9d6NdSFWIHNbvc/
 Dhq47AHExyWONtIpIPnRjgL9lMVqyG0KjmnPLq8hFhPRUzu5XxvxufyhEfCbWBEr
 x6gWvnQlY35DmZYCLzn0FOJRIpYXy49hcJw+FS6fkMaBELhj+OQ7nbaKvCWTw91H
 utTltXKvYjJwisMlzfH6/V2Gv7bE4ytRwRTU5GKQQjYIn572RUe4DPbPd3SGxm6T
 mt9q2CMGbw==
 =upvV
 -----END PGP SIGNATURE-----

Merge tag 'for-7.2/block-20260615' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull block updates from Jens Axboe:

 - NVMe pull request via Keith:
     - Per-controller admin and IO timeout sysfs attributes, and
       letting the block layer set request timeouts (Maurizio,
       Maximilian)
     - Multipath passthrough iostats, and PCI P2PDMA enablement for
       multipath devices (Keith, Kiran)
     - A new diag sysfs attribute group exporting per-controller
       counters (retries, multipath failover, error counters, requeue
       and failure counts, reset and reconnect events) (Nilay)
     - FDP configuration validation and bounds check fixes (liuxixin)
     - Various nvmet fixes, including a pre-auth out-of-bounds read in
       the Discovery Get Log Page handler, auth payload bounds
       validation, and tcp error-path leak fixes (Bryam, Tianchu,
       Geliang)
     - nvme-tcp lockdep and workqueue fixes (Shin'ichiro, Kuniyuki,
       Eric)
     - Assorted other fixes and cleanups (John, Yao, Chao, Mateusz,
       Achkinazi, Wentao)

 - MD pull request via Yu Kuai:
     - raid1/raid10 fixes for a deadlock in the read error recovery
       path, error-path detection and bio accounting with cloned bios,
       and an nr_pending leak in the REQ_ATOMIC bad-block error path
       (Abd-Alrhman)
     - PCI P2PDMA propagation from member devices to the RAID device
       (Kiran)
     - dm-raid bio requeue fix, and various smaller fixes and cleanups
       (Benjamin, Chen, Li, Thorsten)

 - Enable Clang lock context analysis for the block layer, with the
   accompanying annotations across queue limits, the blk_holder_ops
   callbacks, crypto, cgroup, iocost, kyber and mq-deadline (Bart)

 - Block status code infrastructure work: a tagged status table, a
   str_to_blk_op() helper, a bio_endio_status() helper, and on top of
   that a new configurable block-layer error injection facility
   (Christoph)

 - DRBD netlink rework, replacing the genl_magic machinery with explicit
   netlink serialization and moving the DRBD UAPI headers to
   include/uapi/linux/ (Christoph Böhmwalder)

 - bvec improvements: a bvec_folio() helper and making the bvec_iter
   helpers proper inline functions (Willy, Christoph)

 - ublk cleanups and a canceling-flag fix for the disk-not-allocated
   case (Caleb, Ming)

 - Partition handling fixes: bound the AIX pp_count scan, fix an of_node
   refcount leak, and replace __get_free_page() with kmalloc() (Bryam,
   Wentao, Mike)

 - Convert numa_node to int in blk_mq_hw_ctx and ->init_request, and add
   WQ_PERCPU to the block workqueue users (Mateusz, Marco)

 - Block statistics and tracing: propagate in-flight to the whole disk
   on partition IO, export passthrough stats, and a new
   block_rq_tag_wait tracepoint (Tang, Keith, Aaron)

 - A round of removals, unexports and cleanups across bio, direct-io and
   the bvec helpers (Christoph)

 - Various driver fixes (mtip32xx use-after-free, rbd snap_count
   validation and strscpy conversion, nbd socket lockdep reclassify,
   virtio-blk zone report clamp, floppy) and a batch of MAINTAINERS
   email/list updates (Coly, Li, Yu, Christoph Böhmwalder)

 - Other little fixes and cleanups all over

* tag 'for-7.2/block-20260615' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (117 commits)
  MAINTAINERS: Update Coly Li's email address
  block: check bio split for unaligned bvec
  nbd: Reclassify sockets to avoid lockdep circular dependency
  block: add configurable error injection
  block: add a str_to_blk_op helper
  block: add a "tag" for block status codes
  block: add a macro to initialize the status table
  floppy: Drop unused pnp driver data
  block: propagate in_flight to whole disk on partition I/O
  virtio-blk: clamp zone report to the report buffer capacity
  block: optimize I/O merge hot path with unlikely() hints
  drivers/block/rbd: Use strscpy() to copy strings into arrays
  partitions: aix: bound the pp_count scan to the ppe array
  block: Enable lock context analysis
  block/mq-deadline: Make the lock context annotations compatible with Clang
  block/Kyber: Make the lock context annotations compatible with Clang
  block/blk-mq-debugfs: Improve lock context annotations
  block/blk-iocost: Inline iocg_lock() and iocg_unlock()
  block/blk-iocost: Split ioc_rqos_throttle()
  block/crypto: Annotate the crypto functions
  ...
2026-06-16 13:02:47 +05:30
Linus Torvalds
9b40ba14ed for-7.2/io_uring-20260615
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmowCCYQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgprbuEACf4MxZZvzd1Be5Fneo4ghy0IjJ0s8j67yo
 hERtfO0TPCFPvFi+cWmSQo/YTIhi62Z1nFro3Cr9opTF38NypbN2kB642KOaQPse
 f1LVQDg1p5MIj2bMGgBQsYeLlGipRwm/vLN7qX+Dfv6jL4Yq7KuIEtxkBr2UJefY
 FUEhW5xm45DgRriyZSn+Gn39yLB4XGL8pEntqrSMlrTw3fI8ZzyIw5w6e8Kgn/ES
 upVo8oxnrUSlPrGrfH2Eu42sFixWko9QULwASNgXsIT3yBRZbYYyBjXmWAQGER6k
 D3Nn5Zt/UogyMg6BLb/S2dgCnFn2VPKPD8l//4IPQrAAhPdtWpxaTjQUXq0c2w4M
 IaGD1EQDYw/VBc6jjRPAuqwEmKZmTXZirfXamvF4Y2MtSz0b84LulaeqqwGvmtUT
 Z2pOaIZBffJ1E//B4FpiG1xuwHpchc3F6esP7FyhyRlWGP93WR3ADo2em7/jKxEi
 IOFjXHAOO70C1wpdOgAxToRggc4GV16RAx+v4/GFRUI1m6okuxiwTxle6Ig+H4eR
 zFXBvroz7PDDaiqbyGk5kIQfOVhwmPnp9EZUUJIf4h9lIPgwJAjb4yLwcF8ySXyg
 x8C+Vp4DP1r0xccZLkkElIzOmmeR4bUaBeyFY33pT83WchnU1NxusBpEVpRL1FPf
 YR8Icz8F1A==
 =pkmg
 -----END PGP SIGNATURE-----

Merge tag 'for-7.2/io_uring-20260615' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring updates from Jens Axboe:

 - Rework the task_work infrastructure.

   Both the local (DEFER_TASKRUN) and the normal (tctx) task_work lists
   were llist based, which is LIFO ordered, and hence each run had to do
   an O(n) list reversal pass first to restore queue order.
   Additionally, to cap the amount of task_work run, each method needed
   a retry list as well.

   Add a lockless MPCS FIFO queue (based on Dmitry Vyukov's intrusive
   MPSC algorithm) and switch both task_work lists to it. It performs
   better than llists and we can then also ditch the retry lists as well
   as entries are popped one-at-the-time.

   On top of those changes, run the tctx fallback task_work directly and
   remove the now-unused per-ctx fallback machinery entirely.

 - zcrx user notifications.

   Add a mechanism for zcrx to communicate conditions back to userspace
   via a dedicated CQE, with the initial users being notification on
   running out of buffers and on a frag copy fallback, plus
   shared-memory notification statistics.

   Alongside that, a series of zcrx reliability and cleanup fixes: more
   reliable scrubbing, poisoning pointers on unregistration, dropping an
   extra ifq close, adding a ctx back-pointer, reordering fd allocation
   in the export path, and killing a dead 'sock' member.

 - Allow using io_uring registered buffers for plain SEND and RECV, not
   just for the zero-copy send path.

   This enables targets like ublk's NBD backend to push/pull IO data
   directly to/from a registered buffer over a plain send/recv on a TCP
   socket.

 - Registered buffer improvements: account huge pages correctly, bump
   the io_mapped_ubuf length field to size_t, and raise the previous 1GB
   registered buffer size limit.

 - Restrict the ctx access exposed to io_uring BPF struct_ops programs
   by handing them an opaque type rather than the full io_ring_ctx, and
   add a separate MAINTAINERS entry for the bpf-ops code.

 - Allow opcode filtering on IORING_OP_CONNECT.

 - Validate ring-provided buffer addresses with access_ok(), and align
   the legacy buffer add limit with MAX_BIDS_PER_BGID.

 - Various other cleanups and minor fixes, including avoiding msghdr
   async data on connect/bind, dropping async_size for OP_LISTEN, making
   the POLL_FIRST receive side checks consistent, re-checking
   IO_WQ_BIT_EXIT for each linked work item, and using
   trace_call__##name() at guarded tracepoint call sites.

* tag 'for-7.2/io_uring-20260615' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (31 commits)
  io_uring/bpf-ops: add a separate maintainer entry
  io_uring/net: make POLL_FIRST receive side checks consistent
  io_uring: remove the per-ctx fallback task_work machinery
  io_uring: run the tctx task_work fallback directly
  io_uring: switch normal task_work to a mpscq
  io_uring: switch local task_work to a mpscq
  io_uring/mpscq: add lockless multi-producer, single-consumer FIFO queue
  io_uring: grab RCU read lock marking task run
  io_uring/zcrx: kill dead 'sock' member in struct io_zcrx_args
  io_uring/kbuf: validate ring provided buffer addresses with access_ok()
  io_uring/net: support registered buffer for plain send and recv
  io_uring/nop: Drop a wrong comment in struct io_nop
  io_uring/net: Remove async_size for OP_LISTEN
  io_uring/net: Avoid msghdr on op_connect/op_bind async data
  io_uring/bpf-ops: restrict ctx access to BPF
  io_uring/io-wq: re-check IO_WQ_BIT_EXIT for each linked work item
  io_uring/kbuf: align legacy buffer add limit with MAX_BIDS_PER_BGID
  io_uring/zcrx: add shared-memory notification statistics
  io_uring/zcrx: notify user on frag copy fallback
  io_uring/zcrx: notify user when out of buffers
  ...
2026-06-16 12:53:59 +05:30
Linus Torvalds
d29fd593e6 hfs/hfsplus updates for v7.2
- hfs: rework hfsplus_readdir() logic
 - hfs: disable the updating of file access times (atime)
 - hfs: fix incorrect inode ID assignment in hfs_new_inode()
 - hfsplus: rework hfsplus_readdir() logic
 - hfs/hfsplus: zero-initialize buffer in hfs_bnode_read
 - hfs/hfsplus: fix u32 overflow in check_and_correct_requested_length
 - hfsplus: Add a sanity check for btree node size
 - hfsplus: fix issue of direct writes beyond end-of-file
 - hfs/hfxplus: use kzalloc_flex()
 - hfsplus: Remove the duplicate attr inode dirty marking action
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQT4wVoLCG92poNnMFAhI4xTh21NnQUCai948AAKCRAhI4xTh21N
 nRpsAP9w+yaRu3llG6VUMnKBtBOVkWkVO2SPVn4DGiNPIq+f3QEAzJguenZ6dn8N
 /Yjznl4uwgZA1u86SM81mM8tLyICLwU=
 =RwOP
 -----END PGP SIGNATURE-----

Merge tag 'hfs-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs

Pull hfs/hfsplus updates from Viacheslav Dubeyko:
 "Several fixes in HFS/HFS+ of syzbot reported issues and HFS//HFS+
  fixes of xfstests failures.

   - fix a null-ptr-deref issue reported by syzbot (Edward Adam Davis)

     If the attributes file is not loaded during system mount
     hfsplus_create_attributes_file can dereference a NULL pointer.

     Also, add a b-tree node size check in hfs_btree_open() with the
     goal to prevent an uninit-value bug reported by syzbot for the case
     of corrupted HFS+ image.

   - fix __hfs_bnode_create() by using kzalloc_flex() instead of
     kzalloc() (Rosen Penev)

   - fix early return in hfs_bnode_read() (Tristan Madani)

     hfs_bnode_read() can return early without writing to the output
     buffer when is_bnode_offset_valid() fails or when
     check_and_correct_requested_ length() corrects the length to zero.
     Callers such as hfs_bnode_read_ u16() and hfs_bnode_read_u8() pass
     stack-allocated buffers and use the result unconditionally, leading
     to KMSAN uninit-value reports.

  The rest fix (1) generic/637, generic/729 issue for the case of HFS+
  file system, (2) generic/003, generic/637 for the case of HFS file
  system"

* tag 'hfs-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/vdubeyko/hfs:
  hfs: rework hfsplus_readdir() logic
  hfs: disable the updating of file access times (atime)
  hfs: fix incorrect inode ID assignment in hfs_new_inode()
  hfsplus: rework hfsplus_readdir() logic
  hfs/hfsplus: zero-initialize buffer in hfs_bnode_read
  hfs/hfsplus: fix u32 overflow in check_and_correct_requested_length
  hfsplus: Add a sanity check for btree node size
  hfsplus: fix issue of direct writes beyond end-of-file
  hfs/hfxplus: use kzalloc_flex()
  hfsplus: Remove the duplicate attr inode dirty marking action
2026-06-16 12:27:23 +05:30
Linus Torvalds
31b706da2c for-7.2-tag
-----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCgA5FiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAmowa8obFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyAAoJEMVl1fnXbVg76+gP/3Cxtz9IrW3bQTSzU5sd
 2j8sgl7+SWsEqWrVofVUe2QfiiLgmoWLgwWPUvnAsPxLP9nzXzrPdFgN/NcZI9Bn
 nYWdkHFt8p+Tp9c5hevhZC8U+Sz0bPr8C9Q77SYpiG7dncB6WzeG9DzH0qSoiEkw
 BROVM9/C2ICnZw913y+KIYJyB0vhLsms2hGsAp/a4Kln0oFjis1mUiQUFdg67mWQ
 oBC3qz+LvGdt8L6qmNJWCiekps2hKVKfKW1I5qnPElQcr8YcOdvUqWJ4VnoRpc06
 KRtEY8tNLsD1BlXLVZgdRAM9T4ySHePv0DTIO5CNkiP7/sibIqYYow0O5aWMjO6f
 dbLaZPsElFvnwObw1BbSiSK235KxyPrVj0xswWN63bbYQ9jHE65slt84rroz/GWa
 o9pahM9y0h3PALYe9HPBZFcVuXs6sN7feOMorCDAIcTboUpZIGfNeZK+RQZYcOga
 AlsSZJ3gs+k03ZmLAqIH4eSK2TpKeOyLh3nkqvEofaeQxzkV+sYBxIMq1EUmleRm
 luAMqYlFmchc1SAelQjtAtOfGLAu3drcZPyuY48uq4X2oUpVanvgbP2iANqp/iQN
 ggHJUXMFGS6Y4Ikc6Uuf4m+mKFVKMaHDgeXOTp2tqo+CBCgKdLWhtWYIcjRhkj8K
 5in3OwbhMpLqJBJD9PSyJo0h
 =fX+v
 -----END PGP SIGNATURE-----

Merge tag 'for-7.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs updates from David Sterba:
 "The most noticeable change is to enable large folios by default, it's
  been in testing for a few releases. Related to that is huge folio
  support (still under experimental config). Otherwise a few ioctl
  updates, performance improvements and usual fixes and core changes.

  User visible changes:

   - enable large folios by default, added in 6.17 (under experimental
     build), no feature limitations, a big change internally

   - new ioctl to return raw checksums to userspace (a bit tricky given
     compression and tail extents), can be used for mkfs and
     deduplication optimizations

   - provide stable UUID for e.g. overlayfs and temp_fsid, also
     reflected in statvfs() field f_fsid, internal dev_t is hashed in to
     allow cloning

   - add 32bit compat version of GET_SUBVOL_INFO ioctl

   - in experimental build, support huge folios (up to 2M)

  Performance related improvements/changes:

   - limit bio size to the estimated optimum derived from the queue,
     this prevents build up of too much data for writeback, which could
     cause latency spikes (reported improvement 15% on sequential
     writes)

   - don't force direct IO to be serialized, forgotten change during
     mount API port, brings back +60% of throughput

   - lockless calculation of number of shrinkable extent maps, improve
     performance with many memcg allocated objects

  Notable fixes:

   - in zoned mode, fix a deadlock due to zone reclaim and relocation
     when space needs to be flushed

   - don't trim device which is internally not tracked as writeable
     (e.g. when missing device is being rescanned)

   - fix deadlock when cloning inline extent and mounted with
     flushoncommit

   - fix false IO failures after direct IO falls back to buffered write
     in some cases

  Core:

   - remove COW fixup mechanism completely; detect and fix changes to
     pages outside of filesystem tracking, guaranteed since 5.8, grace
     period is over

   - remove 2K block size support, experimental to test subpage code on
     x86_64 but now it would block folio changes

   - tree-checker improvements of:
      - free-space cache and tree items
      - root reference and backref items
      - extent state exceptions in reloc tree

   - subpage mode updates:
      - code optimizations, simplify tracking bitmaps
      - re-enable readahead of compressed extent
      - extend bitmap size to cover huge folios

   - add tracepoints related to sync, tree-log and transactions

   - device stats item tracking unification, remove item if there are no
     stats recorded, also don't leave stale stats on replaced device

   - allow extent buffer pages to be allocated as movable, to help page
     migration

   - added checks for proper extent buffer release

   - btrfs.ko code size reduction due to transaction abort call
     simplifications

   - several struct size reductions

   - more auto free conversions

   - more verbose assertions"

* tag 'for-7.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (130 commits)
  btrfs: fix use-after-free after relocation failure with concurrent COW
  btrfs: move WARN_ON on unexpected error in __add_tree_block()
  btrfs: move locking into btrfs_get_reloc_bg_bytenr()
  btrfs: lzo: reject compressed segment that overflows the compressed input
  btrfs: retry faulting in the pages after a zero sized short direct write
  btrfs: fix incorrect buffered IO fallback for append direct writes
  btrfs: fix false IO failure after falling back to buffered write
  btrfs: use verbose assertions in backref.c
  btrfs: print a message when a missing device re-appears
  btrfs: do not trim a device which is not writeable
  btrfs: return real error after lookup failure in btrfs_ioctl_default_subvol()
  btrfs: use mapping shared locking for reading super block
  btrfs: use lockless read in nr_cached_objects shrinker callback
  btrfs: switch local indicator variables to bools
  btrfs: send: pass bool for pending_move and refs_processed parameters
  btrfs: use shifts for sectorsize and nodesize
  btrfs: fix deadlock cloning inline extent when using flushoncommit
  btrfs: allocate eb-attached btree pages as movable
  btrfs: add 32-bit compat ioctl for BTRFS_IOC_GET_SUBVOL_INFO
  btrfs: derive f_fsid from on-disk fsid and dev_t
  ...
2026-06-16 12:08:02 +05:30
Linus Torvalds
59b1c2aa06 \n
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEq1nRK9aeMoq1VSgcnJ2qBz9kQNkFAmowEBIACgkQnJ2qBz9k
 QNlnFgf/XRSbY/410/TVuhxeFr23A3OUKXkJBslflsa0tvS4W8by0z9z546cJFhi
 Lm1HXXIvHHtB5//WxH0EDGCpRctgdX8tdNOfEQ+8RLs0rjZjKJbvsPZBhVM6u3tf
 53Rsgz0d8887DTxPJIsb9Ul++0YgjPU1KrsvLizQc7hmNS8zGeDjuw3lx5DcVlKt
 fIQjB33c6C79PyYJQrZqVswrz4VkThrDU0oP3RUNF3k/uZAiH0C+d8sABQ9A5eSw
 qhqSD9Af9VA+EK+Fvp4qIHPVBvuIGINTjlWgsqGKjTRXm1QysS2eKK7mKP6lWE5M
 +2gP6iqPxON8QVRVNq0YWuOgm8lORg==
 =vZm7
 -----END PGP SIGNATURE-----

Merge tag 'fsnotify_for_v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

Pull fsnotify updates from Jan Kara:

 - fanotify improvements for pidfd reporting

 - small cleanup in fanotify_error_event_equal

* tag 'fsnotify_for_v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
  fanotify: allow reporting pidfds for reaped tasks
  fanotify: report thread pidfds for FAN_REPORT_TID
  fanotify: simplify fanotify_error_event_equal
2026-06-16 11:56:43 +05:30
Linus Torvalds
481329ec5b hardening updates for v7.2-rc1
- lkdtm: Add case to provoke a crash in EFI runtime services (Ard Biesheuvel)
 
 - lkdtm: add PPC_RADIX_TLBIEL test and missed isync (Sayali Patil)
 
 - stddef: Document designated initializer semantics for __TRAILING_OVERLAP()
   (Gustavo A. R. Silva)
 
 - strarray: drop redundant allocation, add __counted_by_ptr (Thorsten Blum)
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRSPkdeREjth1dHnSE2KwveOeQkuwUCajBj8AAKCRA2KwveOeQk
 u/fjAPwJVWvocviOCGGA6Rq/BAPNJpkrahqtcNAjwvuh+SWDfQD/bHcdXLXi6tl2
 fHWCdJ2ScNBqAWVkJNl9F3k+XdSsmws=
 =GZAD
 -----END PGP SIGNATURE-----

Merge tag 'hardening-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull hardening updates from Kees Cook:

 - lkdtm:
     - Add case to provoke a crash in EFI runtime services (Ard Biesheuvel)
     - add PPC_RADIX_TLBIEL test and missed isync (Sayali Patil)

 - stddef: Document designated initializer semantics for
   __TRAILING_OVERLAP() (Gustavo A. R. Silva)

 - strarray: drop redundant allocation, add __counted_by_ptr (Thorsten
   Blum)

* tag 'hardening-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  lkdtm/powerpc: add PPC_RADIX_TLBIEL test for radix MCE validation
  lkdtm/powerpc: add isync after slbmte to enforce SLB update ordering
  lkdtm: Add case to provoke a crash in EFI runtime services
  lib/string_helpers: annotate struct strarray with __counted_by_ptr
  lib/string_helpers: drop redundant allocation in kasprintf_strarray
  MAINTAINERS: add kernel hardening keyword __counted_by_ptr
  stddef: Document designated initializer semantics for __TRAILING_OVERLAP()
2026-06-16 09:21:01 +05:30
Linus Torvalds
0d8c113493 This update includes the following changes:
API:
 
 - Drop support for off-CPU cryptography in af_alg.
 - Document that af_alg is *always* slower.
 - Document the deprecation of af_alg.
 - Remove zero-copy support from skcipher and aead in af_alg.
 - Cap AEAD AD length to 0x80000000 in af_alg.
 - Free default RNG on module exit.
 
 Algorithms:
 
 - Fix vli multiplication carry overflow in ecc.
 - Drop unused cipher_null crypto_alg.
 - Remove unused variants of drbg.
 - Use lib/crypto in drbg.
 - Use memcpy_from/to_sglist in authencesn.
 - Allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode.
 - Disallow RSA PKCS#1 SHA-1 sig algs in FIPS mode.
 - Filter out async aead implementations at alloc in krb5.
 - Fix non-parallel fallback by rstoring callback in pcrypt.
 - Validate poly1305 template argument in chacha20poly1305.
 
 Drivers:
 
 - Add sysfs PCI reset support to qat.
 - Add KPT support for GEN6 devices to qat.
 - Remove unused character device and ioctls from qat.
 - Add support for hw access via SMCC to mtk.
 - Remove prng support from crypto4xx.
 - Remove prng support from hisi-trng.
 - Remove prng support from sun4i-ss.
 - Remove prng support from xilinx-trng.
 - Remove loongson-rng.
 - Remove exynos-rng.
 
 Others:
 
 - Remove support for AIO on sockets.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmovcvMACgkQxycdCkmx
 i6emMA/8DfjbQLm7kGXKhlHaAZ9MgSxVUDs+yz+I1XbFL0sbEbLmZlwMiEta2Rg0
 GteR+ZGxkzBbDwL3CHQ+ZJHycCgPxokeRJJ9rWT1j+tGEkJoj/00SRtzMqVXXcY5
 0LGVcw8Ru15oUH7+PlMqnIKYhxrmIPXYGsSwP8FBdRF5CN2q1KNmfW5rtrc8KhPH
 g3SRgH6sE2Bv1cQ7C6GKlgqE89WX41nUil5F5jyQwMlylqZV7SErPjFtc6aqgcoV
 CQP0C2rC0LzZhfTrrnzXLT1h6RUNwulnQAkSICo40F9XZYO+o5EeZvRP0ESNvrda
 fNYCqFOWZaQDjtfnxNT1ZrjT0R00H/Am/Hz5rNFng2sB/XArAqzvHTHtvbuV8t0O
 Kew+KrMEWHSaGnsr+W4lYTw4wZKS1mxjE1P/FcVQN1WLeI5cNywyCVeD3qmhgcws
 GACmM4ghFErBTajBfcHa8dMCshidMQVA6fqHEdOmNn+CxOCZhEdlLmfnJO1KCnEr
 Aw9dnwhtuEdwha1kjNlzN0HC0T/zoumtINqI3Els4/23L7LW8doBAuyGLDd3VmII
 Vr3gu3Oj9pv4Tl0RYJKRObFWM7MwVU6RpVxz2eVkEuM+ZM2je5kZo56tEa8vELrp
 aM/L3yMeuYohssBcP9mfLpR7JCGB2186h47IUGGP6Jz0XjSy7Ns=
 =4BGT
 -----END PGP SIGNATURE-----

Merge tag 'v7.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto updates from Herbert Xu:
 "API:
   - Drop support for off-CPU cryptography in af_alg
   - Document that af_alg is *always* slower
   - Document the deprecation of af_alg
   - Remove zero-copy support from skcipher and aead in af_alg
   - Cap AEAD AD length to 0x80000000 in af_alg
   - Free default RNG on module exit

  Algorithms:
   - Fix vli multiplication carry overflow in ecc
   - Drop unused cipher_null crypto_alg
   - Remove unused variants of drbg
   - Use lib/crypto in drbg
   - Use memcpy_from/to_sglist in authencesn
   - Allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode
   - Disallow RSA PKCS#1 SHA-1 sig algs in FIPS mode
   - Filter out async aead implementations at alloc in krb5
   - Fix non-parallel fallback by rstoring callback in pcrypt
   - Validate poly1305 template argument in chacha20poly1305

  Drivers:
   - Add sysfs PCI reset support to qat
   - Add KPT support for GEN6 devices to qat
   - Remove unused character device and ioctls from qat
   - Add support for hw access via SMCC to mtk
   - Remove prng support from crypto4xx
   - Remove prng support from hisi-trng
   - Remove prng support from sun4i-ss
   - Remove prng support from xilinx-trng
   - Remove loongson-rng
   - Remove exynos-rng

  Others:
   - Remove support for AIO on sockets"

* tag 'v7.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (196 commits)
  crypto: tegra - fix refcount leak in tegra_se_host1x_submit()
  crypto: rng - Free default RNG on module exit
  crypto: testmgr - allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode
  hwrng: jh7110 - fix refcount leak in starfive_trng_read()
  crypto: atmel-ecc - drop dead code in atmel_ecdh_max_size
  crypto: cavium/cpt - fix DMA cleanup using wrong loop index
  crypto: marvell/octeontx - fix DMA cleanup using wrong loop index
  MAINTAINERS: make myself the maintainer of the Qualcomm QCE driver
  crypto: amcc - convert irq_of_parse_and_map to platform_get_irq
  crypto: sun4i-ss - Remove insecure and unused rng_alg
  hwrng: xilinx - Move xilinx-rng into drivers/char/hw_random/
  crypto: xilinx-trng - Replace crypto_drbg_ctr_df() with HMAC-SHA512
  crypto: xilinx-trng - Fix return value of xtrng_hwrng_trng_read()
  crypto: xilinx-trng - Remove crypto_rng interface
  crypto: exynos-rng - Remove exynos-rng driver
  hwrng: hisi-trng - Move hisi-trng into drivers/char/hw_random/
  crypto: hisi-trng - Remove crypto_rng interface
  crypto: loongson - Remove broken and unused loongson-rng
  crypto: crypto4xx - Remove insecure and unused rng_alg
  crypto: qat - validate RSA CRT component lengths
  ...
2026-06-16 09:01:23 +05:30
Linus Torvalds
f8115f0e8a slab changes for 7.2
-----BEGIN PGP SIGNATURE-----
 
 iQFPBAABCAA5FiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmovtcQbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyAAoJELvgsHXSRYia17cH/ROle2R7pTZbk60nupo3
 JHWvvOB6j2xh5s4bxbcoBIb8ZdS5L3YeAE8u/1NUGFHckIJ/7/rB3njxeDtoJyIn
 K1ER5LD2wd0jf0Z6P2WOB4MmoF0LSi+KcT0xRbMlmcd9KM9xQIFy7aLxYoWXlqqM
 T+kDmLuMtUawZGlN+foSFMp2ewO9Iz31kiQACreLa246zTIkCAhqzTBBCFRPkCMX
 cEES6J8Xb3YcfO66PUXqUC63pS0ikovP8P3yt92jWgaXTrntGDQYG/zxm2dkdwQl
 UklmXA0KT1mkaTA8vUDPdBk9LFWVCdhK2rkMWyeirQZqIsHYGfj8vB1HoR839m6a
 vTk=
 =YSns
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab updates from Vlastimil Babka:

 - Support for "allocation tokens" (currently available in Clang 22+)
   for smarter partitioning of kmalloc caches based on the allocated
   object type, which can be enabled instead of the "random"
   per-caller-address-hash partitioning.

   It should be able to deterministically separate types containing a
   pointer from those that do not (Marco Elver)

 - Improvements and simplification of the kmem_cache_alloc_bulk() and
   mempool_alloc_bulk() API. This includes adaptation of callers
   (Christoph Hellwig)

 - Performance improvements and cleanups related mostly to sheaves
   refill (Hao Li, Shengming Hu, Vlastimil Babka)

 - Several fixups for the slabinfo tool (Xuewen Wang)

* tag 'slab-for-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
  mm/slab: do not limit zeroing to orig_size when only red zoning is enabled
  mm/slub: preserve original size in _kmalloc_nolock_noprof retry path
  mm: simplify the mempool_alloc_bulk API
  mm/slab: improve kmem_cache_alloc_bulk
  mm/slub: detach and reattach partial slabs in batch
  mm/slub: introduce helpers for node partial slab state
  mm/slub: use empty sheaf helpers for oversized sheaves
  tools/mm/slabinfo: remove redundant slab->partial assignment
  tools/mm/slabinfo: remove dead assignment in get_obj_and_str()
  tools/mm/slabinfo: Fix trace disable logic inversion
  MAINTAINERS: add slab-related scripts and tools to SLAB ALLOCATOR
  mm/slub: fix typo in sheaves comment
  mm, slab: simplify returning slab in __refill_objects_node()
  mm, slab: add an optimistic __slab_try_return_freelist()
  slab: fix kernel-docs for mm-api
  slab: improve KMALLOC_PARTITION_RANDOM randomness
  slab: support for compiler-assisted type-based slab cache partitioning
  mm/slub: defer freelist construction until after bulk allocation from a new slab
2026-06-16 08:44:43 +05:30
Linus Torvalds
bd77e50c9a fbdev fixes & cleanups for 7.2-rc1:
Removal of drivers:
 - Hercules monochrome ISA graphics adapter driver [Ethan Nelson-Moore]
 - Hercules mdacon console driver [Ethan Nelson-Moore]
 
 Changes affecting many drivers at once:
 - possible memory leak fixes in various drivers [Abdun Nihaal]
 - many conversions to use strscpy() [David Laight]
 - Use named initializers in drivers [Uwe Kleine-König]
 
 Code fixes:
 - fbcon: don't suspend/resume when vc is graphics mode [Lu Yao]
 - modedb: fix a possible UAF in fb_find_mode() [Tuo Li]
 - modedb: Fix entry for 1920x1080-60 mode [Steffen Persvold]
 - arm: Export acorndata_8x8 font symbol for bootloader [Helge Deller]
 - omap2: fix use-after-free in omapfb_mmap [Hongling Zeng]
 
 Cleanups:
 - pxa168fb: use devm_ioremap_resource() [AlbertoArostegui]
 - provice helpers for fb_set_var() and fb_blank() and fbcon updates [Thomas Zimmermann]
 - fbcon: Use correct type for vc_resize() return value [Jiacheng Yu]
 - chipsfb: add missing MODULE_DESCRIPTION() macro [Rahman Mahmutović]
 - sunxvr2500: replace printk with device-aware logging functions [Rahman Mahmutović]
 - sm712: Fix operator precedence in big_swap macro [Li RongQing]
 - imxfb: Use of_device_get_match_data() [Rosen Penev]
 - atmel_lcdfb: Use of_device_get_match_data() [Rosen Penev]
 
 Documentation fixes:
 - grvga: Fix CLUT register address offset in comment [Eduardo Silva]
 - omap/dss: Fix stale modedb.c path [Costa Shulyupin]
 - correct CONFIG_FB_TILEBLITTING macro name in #endif comment [Ethan Nelson-Moore]
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCajAoegAKCRD3ErUQojoP
 X9kQAQC7h8nMZ+VZWjmGY3C8UMooNOXSMXv2oAA7IvMwvs5MtQD7BejDK7UQMjyd
 xod+t1k6XYzX1j8CDwa7k0qeQaLfvgc=
 =Q7dE
 -----END PGP SIGNATURE-----

Merge tag 'fbdev-for-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev updates from Helge Deller:
 "Beside the removal of the Hercules monochrome ISA graphics driver and
  the corresponding text console driver, there is just the typical
  maintanance with smaller driver fixes and cleanups:

  Removal of drivers:
   - Hercules monochrome ISA graphics adapter driver (Ethan Nelson-Moore)
   - Hercules mdacon console driver (Ethan Nelson-Moore)

  Changes affecting many drivers at once:
   - possible memory leak fixes in various drivers (Abdun Nihaal)
   - many conversions to use strscpy() (David Laight)
   - Use named initializers in drivers (Uwe Kleine-König)

  Code fixes:
   - fbcon: don't suspend/resume when vc is graphics mode (Lu Yao)
   - modedb: fix a possible UAF in fb_find_mode() (Tuo Li)
   - modedb: Fix entry for 1920x1080-60 mode (Steffen Persvold)
   - arm: Export acorndata_8x8 font symbol for bootloader (Helge Deller)
   - omap2: fix use-after-free in omapfb_mmap (Hongling Zeng)

  Cleanups:
   - pxa168fb: use devm_ioremap_resource() (Alberto Arostegui)
   - provice helpers for fb_set_var() and fb_blank() and fbcon updates
     (Thomas Zimmermann)
   - fbcon: Use correct type for vc_resize() return value (Jiacheng Yu)
   - chipsfb: add missing MODULE_DESCRIPTION() macro (Rahman Mahmutović)
   - sunxvr2500: replace printk with device-aware logging functions
     (Rahman Mahmutović)
   - sm712: Fix operator precedence in big_swap macro (Li RongQing)
   - imxfb: Use of_device_get_match_data() (Rosen Penev)
   - atmel_lcdfb: Use of_device_get_match_data() (Rosen Penev)

  Documentation fixes:
   - grvga: Fix CLUT register address offset in comment (Eduardo Silva)
   - omap/dss: Fix stale modedb.c path (Costa Shulyupin)
   - correct CONFIG_FB_TILEBLITTING macro name in #endif comment (Ethan
     Nelson-Moore)"

* tag 'fbdev-for-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (43 commits)
  fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
  fbdev: modedb: fix a possible UAF in fb_find_mode()
  fbdev: s3fb: Use strscpy() to copy strings into arrays
  fbdev: sm501fb: Fix buffer errors in OF binding code
  fbcon: correct CONFIG_FB_TILEBLITTING macro name in #endif comment
  fbdev/arm: Export acorndata_8x8 font symbol for bootloader
  fbdev: mmpfb: Use strscpy() to copy device name
  fbdev: sisfb: Replace strlen() strcpy() pair with strscpy()
  fbdev: rivafb: Use strscpy() to copy device name
  fbdev: cyber2000fb: Use strscpy() to copy device name
  fbdev: atmel_lcdfb: Use strscpy() to copy device name
  fbdev: Do not export fbcon from fbdev
  fbdev: Wrap fbcon updates from vga-switcheroo in helper
  fbdev: Wrap user-invoked calls to fb_blank() in helper
  fbdev: Wrap user-invoked calls to fb_set_var() in helper
  fbdev: omap2: fix use-after-free in omapfb_mmap
  docs: omap/dss: Fix stale modedb.c path
  fbdev: pxa168fb: use devm_ioremap_resource() for MMIO
  fbdev: grvga: Fix CLUT register address offset in comment
  fbdev: sunxvr2500: replace printk with device-aware logging functions
  ...
2026-06-16 08:28:41 +05:30
Linus Torvalds
464e2f089e MMC core:
- Validate host's max_segs to fail gracefully
 
 MMC host:
  - davinci: Avoid potential NULL dereference in the IRQ handler
  - davinci: Call mmc_add_host() in the correct order during probe
  - dw_mmc-exynos: Increase DMA threshold for exynos7870
  - renesas_sdhi: Add support for RZ/G2E, RZ/G2N and R-Car M3Le variants
  - sdhci-msm: Add support for Hawi, Eliza and Shikra variants
  - sdhci-of-k1: Add support for SD UHS-I modes
  - sdhci-of-k1: Add support for tuning for eMMC HS200 and SD UHS-I
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmov7/AQHHVsZmhAa2Vy
 bmVsLm9yZwAKCRD+JoQlc1iMKQmZEADIcTrvWmopPAI3YObMB4KdmtLxO2BNn0g/
 qbKagZyQu1dXwj/Bmq1hpDy+1gytuPUyIdcEH+21ScT2j/GwTBYFmDB4nVCYKZxq
 xOENXoG9CDcvMHe1q2pndRy6TtI4htQBLH4c1ItWghgHZewJipKYsBLmLCFBxWKq
 KzLnl+DcKY6dkJ7Ue1N8/QSCiP/Z3xSm/2ErRvcnVIoShKSA4vtt0QLhW7ec4o6w
 oVAzdlAUxgqgUp6xvAVXFQWZWZSNkXRc4RV6mkq6O2tOEd2GkhR3S5CsKSSVz6xg
 nxISvW7aZBoZvtLCwCjScLarmEXXPTo0kIV1qw0i2OCVj4z2K39FENm3pPGXbK0l
 QEggiANkvzyMHh9I6l4oZPkJ9G3N+AXZ6YGYdAzhOOq+/Z8iCtkPr16KIpDzO4kp
 WoFSHWavBotZutpZmZZzNRJNgjt5y2BnQf2IqHZzR8CTt8qWMYakEvJ/SDZ1CSNM
 nAj0TkI2cAq7Y02+DTZfCKim547I5DhcHteatkkNb3ki7aEC9sfHJOw0WziVQT8r
 UdaWtWNR/ddq7+R3LuteI27Fa7kWb1izaPEeb/d+NkO1o0DVdh0sPHOFwGtLtWv1
 KDZb//xAhvuiMSofQx73z1n1LX1A3AaXemz2qZfFVIa8iuegdlCEiAjyt0GkMocI
 itvImL3mtg==
 =ry/K
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Validate host's max_segs to fail gracefully

  MMC host:
   - davinci:
       - Avoid potential NULL dereference in the IRQ handler
       - Call mmc_add_host() in the correct order during probe
   - dw_mmc-exynos:
       - Increase DMA threshold for exynos7870
   - renesas_sdhi:
       - Add support for RZ/G2E, RZ/G2N and R-Car M3Le variants
   - sdhci-msm:
       - Add support for Hawi, Eliza and Shikra variants
   - sdhci-of-k1:
       - Add support for SD UHS-I modes
       - Add support for tuning for eMMC HS200 and SD UHS-I"

* tag 'mmc-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (24 commits)
  mmc: dw_mmc: Add desc_num field for clarity
  dt-bindings: mmc: sdhci-msm: Rename the binding to include 'qcom' prefix
  mmc: sdhci-of-dwcmshc: use dev_err_probe() to simplify error paths
  mmc: sdhci-of-dwcmshc: remove redundant IS_ERR() check
  dt-bindings: mmc: sdhci-msm: qcom: Add Hawi compatible
  mmc: renesas_sdhi: Add OF entry for RZ/G2E SoC
  mmc: renesas_sdhi: Add OF entry for RZ/G2N SoC
  dt-bindings: mmc: sdhci-msm: Add Eliza compatible
  mmc: davinci: fix mmc_add_host order in probe
  dt-bindings: mmc: sdhci-msm: Document the Shikra compatible
  mmc: sdhci-of-k1: add comprehensive SDR tuning support
  mmc: sdhci-of-k1: add regulator and pinctrl voltage switching support
  mmc: sdhci-of-k1: enable essential clock infrastructure for SD operation
  dt-bindings: mmc: spacemit,sdhci: add pinctrl support for voltage switching
  mmc: via-sdmmc: Simplify initialisation of pci_device_id array
  mmc: davinci: avoid NULL deref of host->data in IRQ handler
  memstick: Constify the driver id_table
  mmc: host: Move MODULE_DEVICE_TABLE next to the table itself
  mmc: renesas_sdhi: add R-Car M3Le compatibility string
  dt-bindings: mmc: renesas,sdhi: Document R-Car M3Le support
  ...
2026-06-16 08:16:55 +05:30
Linus Torvalds
fc2ce3ee10 hwmon updates for v7.2
* New drivers for the following chips
 
 - Analog Devices LTC4283 Swap Controller
 
 - Analog Devices MAX20830
 
 - Analog Devices MAX20860A
 
 - ARCTIC Fan Controller
 
 - Delta E50SN12051
 
 - Luxshare LX1308
 
 - Microchip EMC1812/13/14/15/33
 
 - Monolithic MP2985
 
 - Murata D1U74T PSU
 
 * New chip support added to existing drivers
 
 - asus-ec-sensors: Support for ROG MAXIMUS Z790 EXTREME, ROG STRIX B850-E
   GAMING WIFI, and ROG STRIX B650E-E GAMING WIFI
 
 - dell-smm: Add Dell Latitude 7530 to fan control whitelist
 
 - nct6683: Support for ASRock Z890 Pro-A
 
 - pmbus: Support for Flex BMR316, BMR321, BMR350 and BMR351
 
 - pmbus/max34440: Support for ADPM12250
 
 - pmbus/xdp720: Support for Infineon xdp730, and fix driver issues
   reported by Sashiko
 
 * New functionality
 
 - Add support for update_interval_us chip attribute, and support it
   in ina238 driver
 
 - Add support for guard() and scoped_guard() for subsystem locks,
   and use it in adt7411, ina2xx, and lm90 drivers
 
 - emc2305: Support configurable fan PWM at shutdown
 
 - lm63: Expose PWM frequency and LUT hysteresis as writable
 
 - lm75: Support active-high alert polarity
 
 - nct7802: Add time step attributes for tweaking responsiveness
 
 - pmbus/adm1266: Add rtc debugfs entries for rtc, powerup_counter,
   clear_blackbox, and firmware_revision
 
 - raspberrypi: Fix delayed-work teardown race, add voltage input support
   as well as voltage domain IDs
 
 mcp9982: Add support for reporting external diode faults
 
 * Miscellaneous bug fixes, changes and improvements
 
 - Use named initializers for platform_device_id arrays and
   i2c_device_data, and remove unused driver data
 
 - Various drivers: Move MODULE_DEVICE_TABLE next to the table itself
 
 - ads7871: Convert to hwmon_device_register_with_info(), and use
   DMA-safe buffer for SPI writes
 
 - adt7411: document supported sysfs attributes
 
 - adt7462: Add of_match_table to support devicetree
 
 - adt7475: Add explicit header include
 
 - coretemp; Fix outdated documentation, coding style issues, and
   replace hardcoded core count with dynamic value
 
 - cros_ec: Drop unused assignment of platform_device_id driver data
 
 - emc2305: Fix fan channel index handling
 
 - gpd-fan: Reject EC PWM value 0 as invalid, fix race condition between
   device removal and sysfs access, upgrade log level from warn to err for
   platform device creation failure, initialize EC before registering hwmon
   device, drop global driver data and use per-device allocation
 
 - htu31: document debugfs serial_number
 
 - ina238: Add support for samples and update_interval
 
 - it87: Clamp negative values to zero in set_fan()
 
 - lm75: Add explicit header include, Add explicit default cases in
   lm75_is_visible(), and add section for sysfs interface to documentation
 
 - pmbus/lm25066: Fix PMBus coefficients for LM5064/5066/5066i
 
 - tmp102: Use device_property_read_string API
 
 - tmp401: Read "ti,n-factor" as signed
 
 - Convert zyxel,nsa320-mcu to DT schema
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmowFrQACgkQyx8mb86f
 mYHgww/7B620RT1wqLdMizetj/nvYx83LFfBWQTljwCJaOHpX+1Ym1gTQpItNuec
 k0OdgkhoEzlemvo4CCNl6rKwH8WYyGcDrXkS8mPDKcbaDPT9c9SSXkzbsTSeNOFc
 N+PVjy1GA3h3uVxS9eG1+BVXpY4MGnDwN1zfGBZY0XjEzxzw9YIee3qQ6AncHAjn
 6x0n3H3p0B3uZaazyC+6Po1OH3BbvI1mgVAbhYlkf8Z9QAzLggEZWCmM7WtsqQip
 Jd9wsCGq3t6q+tKWOt955DxNEMj97QEHo4LhVQ5Ezr5wQ7GTHv9k8Ygswb+wVYNB
 OUK8pCVZJ2E6IFF6m2O2jJyzscijGGT9cifnJkopvk01Z1kTGggs8W2gQwlhE10T
 ir3gT6fAUoVy/R+t2Tqj633UiBNW3OofzwwhJ9W5m2Kej64W9KFp+2R1VageaPU2
 7J96Kdc8OUipaTf11XoqUR1JtiIvOg/UMEMgGwR3ihMjW6/tEq0hBWIGiNlY50ZK
 NdricCRKN3ujWvNSQRFoQl32UWuGONhE1P0bAvitmrMKyitYsEQMMFXm7ja5xqZO
 OogVAEaakzjqtMFk7MbZpBkYHYndtaDMu2L0HytlFifCvUqiqCqjmHBKzxk6zHPs
 +j6VP62fQ5iVffu6lpn0N505vtbon19JEP8JKB5JSJDgcAHUBJA=
 =mDMd
 -----END PGP SIGNATURE-----

Merge tag 'hwmon-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon updates from Guenter Roeck:
 "New drivers for the following chips:
   - Analog Devices LTC4283 Swap Controller
   - Analog Devices MAX20830
   - Analog Devices MAX20860A
   - ARCTIC Fan Controller
   - Delta E50SN12051
   - Luxshare LX1308
   - Microchip EMC1812/13/14/15/33
   - Monolithic MP2985
   - Murata D1U74T PSU

  New chip support added to existing drivers:
   - asus-ec-sensors: Support for ROG MAXIMUS Z790 EXTREME, ROG STRIX
     B850-E GAMING WIFI, and ROG STRIX B650E-E GAMING WIFI
   - dell-smm: Add Dell Latitude 7530 to fan control whitelist
   - nct6683: Support for ASRock Z890 Pro-A
   - pmbus: Support for Flex BMR316, BMR321, BMR350 and BMR351
   - pmbus/max34440: Support for ADPM12250
   - pmbus/xdp720: Support for Infineon xdp730, and fix driver issues
     reported by Sashiko

  New functionality:
   - Add support for update_interval_us chip attribute, and support it
     in ina238 driver
   - Add support for guard() and scoped_guard() for subsystem locks, and
     use it in adt7411, ina2xx, and lm90 drivers
   - emc2305: Support configurable fan PWM at shutdown
   - lm63: Expose PWM frequency and LUT hysteresis as writable
   - lm75: Support active-high alert polarity
   - nct7802: Add time step attributes for tweaking responsiveness
   - pmbus/adm1266: Add rtc debugfs entries for rtc, powerup_counter,
     clear_blackbox, and firmware_revision
   - raspberrypi: Fix delayed-work teardown race, add voltage input
     support as well as voltage domain IDs
   - mcp9982: Add support for reporting external diode faults

  Miscellaneous bug fixes, changes and improvements:
   - Use named initializers for platform_device_id arrays and
     i2c_device_data, and remove unused driver data
   - Various drivers: Move MODULE_DEVICE_TABLE next to the table itself
   - ads7871: Convert to hwmon_device_register_with_info(), and use
     DMA-safe buffer for SPI writes
   - adt7411: document supported sysfs attributes
   - adt7462: Add of_match_table to support devicetree
   - adt7475: Add explicit header include
   - coretemp; Fix outdated documentation, coding style issues, and
     replace hardcoded core count with dynamic value
   - cros_ec: Drop unused assignment of platform_device_id driver data
   - emc2305: Fix fan channel index handling
   - gpd-fan: Reject EC PWM value 0 as invalid, fix race condition
     between device removal and sysfs access, upgrade log level from
     warn to err for platform device creation failure, initialize EC
     before registering hwmon device, drop global driver data and use
     per-device allocation
   - htu31: document debugfs serial_number
   - ina238: Add support for samples and update_interval
   - it87: Clamp negative values to zero in set_fan()
   - lm75: Add explicit header include, Add explicit default cases in
     lm75_is_visible(), and add section for sysfs interface to
     documentation
   - pmbus/lm25066: Fix PMBus coefficients for LM5064/5066/5066i
   - tmp102: Use device_property_read_string API
   - tmp401: Read "ti,n-factor" as signed
   - Convert zyxel,nsa320-mcu to DT schema"

* tag 'hwmon-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (81 commits)
  hwmon: tmp401: Read "ti,n-factor" as signed
  hwmon: (pmbus/lm25066) Fix PMBus coefficients for LM5064/5066/5066i
  hwmon: (gpd-fan) Reject EC PWM value 0 as invalid
  hwmon: (dell-smm) Add Dell Latitude 7530 to fan control whitelist
  hwmon: temperature: add support for EMC1812
  dt-bindings: hwmon: temperature: add support for EMC1812
  hwmon: (gpd-fan): fix race condition between device removal and sysfs access
  hwmon: (gpd-fan): upgrade log level from warn to err for platform device creation failure
  hwmon: (gpd-fan): Initialize EC before registering hwmon device
  hwmon: (gpd-fan): drop global driver data and use per-device allocation
  hwmon: (pmbus/max34440): add support adpm12250
  hwmon: (ina238) Add update_interval_us attribute
  hwmon: Add update_interval_us chip attribute
  hwmon: (ina238) Add support for samples and update_interval
  gpio: gpio-ltc4283: Add support for the LTC4283 Swap Controller
  hwmon: ltc4283: Add support for the LTC4283 Swap Controller
  dt-bindings: hwmon: Document the LTC4283 Swap Controller
  hwmon: (pmbus/xdp720) Fix driver issues xdp720/730
  hwmon: (pmbus/xdp720) Add support for efuse xdp730
  dt-bindings: hwmon/pmbus: Add Infineon xdp730
  ...
2026-06-16 08:10:21 +05:30
Linus Torvalds
7e54cdd056 watchdog updates and fixes for v7.2
* subsystem
 
 - Unregister PM notifier on watchdog unregister
 
 - Various documentation fixes and improvements
 
 * Removed drivers
 
 - Remove AMD Elan SC520 processor watchdog driver
 - Drop SMARC-sAM67 support
 - Remove driver for integrated WDT of ZFx86 486-based SoC
 
 * New drivers
 
 - Driver for Andes ATCWDT200
 
 - Driver for Gunyah Watchdog
 
 * Added support to existing drivers
 
 - Add "apple,t8103-wdt" and "apple,t8122-wdt" compatibles to Apple
   watchdog driver
 
 - Add rockchip,rk3528-wdt and rockchip,rv1103b-wdt to snps,dw-wdt.yaml
 
 - Document IPQ9650, IPQ5210, Shikra, Nord, and Hawi in qcom-wdt.yaml
   Also document sram property and add support to get the bootstatus
   to qcom wdt driver
 
 - lenovo_se10_wdt: Fix use-after-rfree and add support for SE10 Gen 2
   platform
 
 - ti,rti-wdt: Add ti,am62l-rti-wdt compatible
 
 - renesas: Document RZ/G3L support and rework example for
   renesas,r9a09g057-wdt
 
 * Other bug fixes and improvements
 
 - Use named initializers (sc1200, ziirave_wdt)
 
 - Allow pic32-dmt and pic32-wdt to be built with COMPILE_TEST
 
 - realtek-otto: enable clock before using I/O, and prevent PHASE2 underflows
 
 - rti_wdt: Add reaction control
 
 - renesas,rzn1-wdt: Drop interrupt support and other cleanup
 
 - gpio_wdt: Add ACPI support
 
 - imx7ulp_wdt: Keep WDOG running until A55 enters WFI on i.MX94
 
 - sprd_wdt: Remove redundant sprd_wdt_disable() on register failure
 
 - bcm2835_wdt: Switch to new sys-off handler API
 
 - sama5d4_wdt: Fix WDDIS detection on SAM9X60 and SAMA7G5
 
 - hpwdt: Refine hpwdt message for UV platform
 
 - Convert TS-4800 bindings to DT schema
 
 - menz069_wdt: drop unneeded MODULE_ALIAS
 
 - sp5100_tco: Use EFCH MMIO for newer Hygon FCH
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmowBcsACgkQyx8mb86f
 mYEbpQ/+PAN/6V5DhDecXLEpb3hf7eX0NXykvrx9IqQKm7By1rrW5TjbjqSUweuF
 9AwOjw1bV6oxvBNWo+CcEvlJiX1Agjdv7GQwBawqBf0goWmOro6BuDTFtNFKXxsc
 h1TaOUXMBjN9YZK1lyHTrhMd51Wx+ifAosqMoDBmzKdV5mQm3SM5C04xkr+MxqBN
 PAsHUKnHKqTVmq0+qnbpSES+Pv5n+IsnoeMHylu0fCpTosd7EWCBn03WQjBZpsI6
 6ISOWP7Vthbu2Ae+m+X07TUHbEYZ9mOQi3kFCjEhjehurdTriyiiBeHk8V/3e1Ax
 mH1RezC7gVM1+tmGfQlfWjskYueds0GPUOYdgI3IhB0lYwdGFvxY7u6WaYs2egv1
 qsMrgTOSGEHbK/rBPZ/JDYC3lf35ueTuFmAW5NUhB40jQ0YVR6N8vDVbRm/1mBL4
 FwrBz94Nwvi4lsS1enG7HYwQtQMtJA7iFFs1lDtOl5Lj0EzOTQwUzIMnyQ1pUZOr
 ovL/2HgP1TtKiPPAFSfiDWGHin+rZQcrrMKRZ8vHseKS89LPrpv1WiI1ZEM3Q3T2
 2mfDuQp+6u/dEUtViv0BGqHY0XNE6qjRxsK5j9NuF4KvdXplHUgY3JCz/sWCI5rw
 t/aWt0hgSBs7xFeaCBjYW6ciCKfoY8CGq1z7nCwYhGkX46rc93Q=
 =macd
 -----END PGP SIGNATURE-----

Merge tag 'watchdog-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull watchdog updates and fixes from Guenter Roeck:
 "Subsystem:
   - Unregister PM notifier on watchdog unregister
   - Various documentation fixes and improvements

  Removed drivers:
   - Remove AMD Elan SC520 processor watchdog driver
   - Drop SMARC-sAM67 support
   - Remove driver for integrated WDT of ZFx86 486-based SoC

  New drivers:
   - Driver for Andes ATCWDT200
   - Driver for Gunyah Watchdog

  Added support to existing drivers:
   - Add "apple,t8103-wdt" and "apple,t8122-wdt" compatibles to Apple
     watchdog driver
   - Add rockchip,rk3528-wdt and rockchip,rv1103b-wdt to snps,dw-wdt.yaml
   - Document IPQ9650, IPQ5210, Shikra, Nord, and Hawi in qcom-wdt.yaml
     Also document sram property and add support to get the bootstatus
     to qcom wdt driver
   - lenovo_se10_wdt: Fix use-after-rfree and add support for SE10 Gen 2
     platform
   - ti,rti-wdt: Add ti,am62l-rti-wdt compatible
   - renesas: Document RZ/G3L support and rework example for
     renesas,r9a09g057-wdt

  Other bug fixes and improvements:
   - Use named initializers (sc1200, ziirave_wdt)
   - Allow pic32-dmt and pic32-wdt to be built with COMPILE_TEST
   - realtek-otto: enable clock before using I/O, and prevent PHASE2 underflows
   - rti_wdt: Add reaction control
   - renesas,rzn1-wdt: Drop interrupt support and other cleanup
   - gpio_wdt: Add ACPI support
   - imx7ulp_wdt: Keep WDOG running until A55 enters WFI on i.MX94
   - sprd_wdt: Remove redundant sprd_wdt_disable() on register failure
   - bcm2835_wdt: Switch to new sys-off handler API
   - sama5d4_wdt: Fix WDDIS detection on SAM9X60 and SAMA7G5
   - hpwdt: Refine hpwdt message for UV platform
   - Convert TS-4800 bindings to DT schema
   - menz069_wdt: drop unneeded MODULE_ALIAS
   - sp5100_tco: Use EFCH MMIO for newer Hygon FCH"

* tag 'watchdog-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (58 commits)
  watchdog: sc1200: Drop unused assignment of pnp_device_id driver data
  watchdog: unregister PM notifier on watchdog unregister
  dt-bindings: watchdog: qcom-wdt: Document IPQ5210 watchdog
  watchdog: dev: convert to kernel-doc comments
  watchdog: core: clean up some comments
  watchdog: uapi: add comments for what bit masks apply to
  watchdog: linux/watchdog.h: repair kernel-doc comments
  watchdog: add devm_watchdog_register_device() to watchdog-kernel-api
  watchdog: ziirave_wdt: Use named initializers for struct i2c_device_id
  watchdog: realtek-otto: enable clock before using I/O
  watchdog: realtek-otto: prevent PHASE2 underflows
  dt-bindings: watchdog: qcom-wdt: Document IPQ9650 watchdog
  dt-bindings: watchdog: renesas,rzn1-wdt: interrupts are not required
  dt-bindings: watchdog: apple,wdt: Add t8122 compatible
  watchdog: apple: Add "apple,t8103-wdt" compatible
  watchdog: rzn1: remove now obsolete interrupt support
  dt-bindings: watchdog: Add watchdog compatible for RK3528
  watchdog: convert the Kconfig dependency on OF_GPIO to OF
  watchdog: Remove AMD Elan SC520 processor watchdog driver
  watchdog: lenovo_se10_wdt: Fix use-after-free and resource leak risk
  ...
2026-06-16 08:04:24 +05:30
Linus Torvalds
c41cfae42c spi: Updates for v7.2
This has been quite a busy release, mainly due to the subsystem wide
 work Johan Hovold has done to modernise resource allocation for the
 subsystem on probe, the subsystem did some very clever allocation
 management pre devm which didn't quite mesh comfortably with managed
 allocations and made it far too easy to introduce error handling and
 removal bugs.
 
  - Cleanup and simplification of controller struct allocation, moving
    everything over to devm and making the devm APIs more robust, from
    Johan Hovold
  - Support for spi-mem devices that don't assert chip select and support
    for a secondary read command for memory mapped flashes, some commits
    for this are shared with mtd.
  - Support for SpacemiT K1.
 
 There will be a simple add/add conflict with the i2c-host tree in the
 x86 quirk data in drivers/acpi/acpi_apd.c.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmowLx0ACgkQJNaLcl1U
 h9BiuAf/bSzTrdeSLpQyQh/UxCKnl4joFtpyb9SValB/32oSTx9YecNYLDxA2z1L
 3dkEPBRGBcGjGCINDQldJM/WMMRT0JKG58aWluF3YNPshKN7qK18iNQxbeN9Dh8F
 qykmyWZ7wnLks03UCVm7be9kl2UHs4JJ+oRoHq0+6ktS7o+BrIzgJweprmTBmyB4
 rRigCbPSL2BNBZnNvWqrZSYeqWHnonGYabhogaSJnhmeJTkSfKE6mugE8qmGzi+O
 ZGeWsTdq270WU1omDZRy/PQQ3YLoLU2lUCGuHWTrT/98sGIJjkYV7UfE58GJwzpi
 d1N+y8unL0R5HgSkMM4B+f/4OL3VoA==
 =1zbv
 -----END PGP SIGNATURE-----

Merge tag 'spi-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi updates from Mark Brown:
 "This has been quite a busy release, mainly due to the subsystem wide
  work Johan Hovold has done to modernise resource allocation for the
  subsystem on probe, the subsystem did some very clever allocation
  management pre devm which didn't quite mesh comfortably with managed
  allocations and made it far too easy to introduce error handling and
  removal bugs.

   - Cleanup and simplification of controller struct allocation, moving
     everything over to devm and making the devm APIs more robust, from
     Johan Hovold

   - Support for spi-mem devices that don't assert chip select and
     support for a secondary read command for memory mapped flashes,
     some commits for this are shared with mtd.

   - Support for SpacemiT K1"

* tag 'spi-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (118 commits)
  spi: Fix mismatched DT property access types
  spi: xilinx: use FIFO occupancy register to determine buffer size
  spi: spi-mem: Fix spi_controller_mem_ops kdoc
  spi: xilinx: let transfers timeout in case of no IRQ
  spi: dt-bindings: nuvoton,npcm750-fiu: Convert to DT schema
  spi: meson-spifc: fix runtime PM leak on remove
  spi: Use named initializers for platform_device_id arrays
  spi: rzv2h-rspi: Add suspend/resume support
  spi: dw-pci: remove redundant pci_free_irq_vectors() calls
  spi: ep93xx: fix double-free of zeropage on DMA setup failure
  spi: cadence-xspi: Revert COMPILE_TEST support
  spi: cadence-xspi: Support 32bit and 64bit slave dma interface
  spi: tegra210-quad: Allocate DMA memory for DMA engine
  spi: imx: replace dmaengine_terminate_all() with dmaengine_terminate_sync()
  spi: fsl-lpspi: terminate the RX channel on TX prepare failure path
  spi: fsl-lpspi: replace dmaengine_terminate_all() with dmaengine_terminate_sync()
  spi: atmel: fix DMA channel and bounce buffer leaks
  spi: omap2-mcspi: Use of_device_get_match_data()
  spi: Use named initializers for arrays of i2c_device_data
  spi: aspeed: Replace VLA parameter with flat pointer in calibration helper
  ...
2026-06-16 07:56:47 +05:30
Linus Torvalds
1e66d46f6d regulator: Updates for v7.2
The development of the regulator subsystem continues to be quite quiet,
 we've got several new devices, removal of one old device and some kernel
 wide cleanup of platform devices but nothing in the core.
 
  - Cleanups of platform_device_id usage.
  - Filling out and fixing of the description of the MediaTek MT6359
  - Removal of the PCAP regulator driver, the MFD has been removed.
  - New device support for Qualcomm Nord RPMH, PM8109, PM8150 and
    PMAU0102, and SG Micro SGM3804.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmowBwMACgkQJNaLcl1U
 h9C39Qf/bQbsFwOOajnciGePTbn+0NiepkVr8H6+lYYt50oHI9olsvhiIE957x1h
 OR8pYIFcH+ct7fZMJxr0BpET9GmEbx4J0jdZ3dHP4sZUX4td/Ur9XoCsz23nFckD
 lx1VcYo1C3er+/pP5JMueELRB0S5QiJ1RtE2xP7/c3Vv2mqfZJ4bbacohjPYFfsc
 T/z+Is1sB1Bjk+CEs590CkduKw5ElXy+iwt7e7oZYsWZy66CCvmCPlk27Z9mAEYM
 4zLtnNfJyzdeapdadN49Y995mmqp/8Wk9mCYyjcakgAMXDVoYNf8fZLasixy7+zo
 4xbpSs8tFhsoB+4XU1bIlgXkzpRAFA==
 =NKM3
 -----END PGP SIGNATURE-----

Merge tag 'regulator-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator updates from Mark Brown:
 "The development of the regulator subsystem continues to be quite
  quiet, we've got several new devices, removal of one old device and
  some kernel wide cleanup of platform devices but nothing in the core.

   - Cleanups of platform_device_id usage

   - Filling out and fixing of the description of the MediaTek MT6359

   - Removal of the PCAP regulator driver, the MFD has been removed

   - New device support for Qualcomm Nord RPMH, PM8109, PM8150 and
     PMAU0102, and SG Micro SGM3804"

* tag 'regulator-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (23 commits)
  regulator: dt-bindings: mt6311: Convert to DT schema
  regulator: qcom_smd-regulator: Add PM8019
  regulator: dt-bindings: qcom,smd-rpm-regulator: Add PM8019
  regulator: mt6359: Fix vbbck default internal supply name
  regulator: bq257xx: drop confusing configuration of_node
  regulator: Unify usage of space and comma in platform_device_id arrays
  regulator: Use named initializers for platform_device_id arrays
  regulator: Drop unused assignment of platform_device_id driver data
  regulator: scmi: fix of_node refcount leak in scmi_regulator_probe()
  regulator: remove used pcap regulator driver
  regulator: add SGM3804 Dual Output driver
  regulator: dt-bindings: document the SGM3804 Dual Output regulator
  regulator: mt6359: Add proper ldo_vcn33_[12] regulators
  regulator: mt6359: Add regulator supply names
  regulator: mt6359: const-ify regulator descriptions
  regulator: dt-bindings: mt6359: Deprecate bogus vcn33_[12]_* split regulators
  regulator: dt-bindings: mt6359: Drop regulator-name pattern restrictions
  regulator: palmas: Move MODULE_DEVICE_TABLE next to the table itself
  regulator: qcom_smd: Add PM8150 regulators
  regulator: dt-bindings: qcom,smd-rpm-regulator: Document PM8150 IC
  ...
2026-06-16 07:50:31 +05:30
Linus Torvalds
31e6aeafcd power sequencing updates for v7.2-rc1
Power Sequencing core:
 - Add a helper allowing consumers to access the struct device object
   associated with a pwrseq provider
 - Print the power sequencing device's parent in debugfs to add more
   debugging information
 
 Driver updates:
 - Extend/rework the M.2 power sequencing driver in order to allow it to
   support more M.2 cards, not just WCN7850
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmovtaoACgkQBZ0uy/82
 hMMd+Q/9GRUyh5GW5PPZfWYxTps7riq7frye71DSg8ldUbWggaQcVGn04zjA8r09
 +w6uwPzq8Bnkzi8x4ZhKSJk7qsj9FHNJzOp6B/+j6aeE7vTV4X7QAHnF57Wa4R2L
 rae0Ub3AyqXzzyquDufuwND8HL8vTsbrxK3yYRCn9s2LjHyI7pZUUdo6K2t8nduu
 Hlw9rCWJjom7s2kJuFakoPf6K+KVieMWm5xp5j6vy1CYrgAiN27R2mLMG53fjLND
 LUhaoIyQM/Vly2Dtwe3GaqIbx74qBb41AWBMWkcTIn16q7YKonHg/3+sz3EVH2qE
 w0/fch4codv5Ldvu/M1IRtOeGzrS5InbwpGr67VBbHZMOvHXacKoEHDrk5vmX3uA
 Yr7G61R2NDtd1DQjkYTLETAzxQgzh14AB9VIwJT5b1yQaDAoEzdHSlYIUpLcQn1z
 MleZVwcYBJplDTWR4wsn9QsQFgIXoL9f58hcTvETQwzJJArgH8zOnH1enyZxIvT6
 fpQJivGAixyt/t8GUtUTnhHpTdr1ZNe7LAncKmVGM6ITw9n8w4JhpkspFyMp+TQW
 HajdZHEeHwP4kvQ5WzuTlpSyprPqnGWrMkuWzoNzAXpXOZP2+QAjMX0nHTegqRv8
 ysEhBiD3QpfPZuV6yPmHj4cbVIXH9lIAjodRvWKylYCFGzEPLYk=
 =Hwkw
 -----END PGP SIGNATURE-----

Merge tag 'pwrseq-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull power sequencing updates from Bartosz Golaszewski:
 "A set of extensions to the M.2 pwrseq driver allowing it to work with
  more cards than just the one from Qualcomm we supported initially.
  There's also a tweak to debugfs output and a new function that will be
  used by a bluetooth driver in the next cycle.

  Power Sequencing core:

   - Add a helper allowing consumers to access the struct device object
     associated with a pwrseq provider

   - Print the power sequencing device's parent in debugfs to add more
     debugging information

  Driver updates:

   - Extend/rework the M.2 power sequencing driver in order to allow it
     to support more M.2 cards, not just WCN7850"

* tag 'pwrseq-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: pcie-m2: Add PCI ID 0x1103 for WCN6855 Bluetooth
  power: sequencing: Add an API to return the pwrseq device's 'dev' pointer
  power: sequencing: pcie-m2: Create BT node based on the pci_device_id[] table
  power: sequencing: pcie-m2: Create serdev for PCI devices present before probe
  power: sequencing: pcie-m2: Improve PCI device ID check
  power: sequencing: pcie-m2: Allow creating serdev for multiple PCI devices
  power: sequencing: pcie-m2: Fix inconsistent function prefixes
  power: sequencing: print power sequencing device parent in debugfs
2026-06-16 07:38:04 +05:30
Linus Torvalds
77d084d66b gpio updates for v7.2-rc1
GPIO core:
 - Add an initial set of kunit test cases for the GPIO subsystem
 - Use the devres owner as the GPIO chip's parent in absence of any other
   parent
 - Fix const-correctness of GPIO chip SRCU guards
 - Provide new GPIO consumer interfaces: gpiod_is_single_ended() and
   fwnode_gpiod_get()
 - Quarantine all legacy GPIO APIs in linux/gpio/legacy.h
 - Use __ro_after_init where applicable
 
 New drivers:
 - Add driver for the GPIO controller on Waveshare DSI TOUCH panels
 
 Removed drivers:
 - Remove the obsolete ts5500 GPIO driver
 
 Driver updates:
 - Modernize gpio-timberdale: remove platform data support and use generic
   device property accessors
 - Extend test build coverage by enabling COMPILE_TEST for more GPIO
   drivers
 - Add some missing dependencies in Kconfig
 - Add support for sparse fixed direction to gpio-regmap
 - Remove dead code from gpio-nomadik
 - use BIT() in gpio-mxc
 - use bitmap_complement() in gpio-xilinx and gpio-pca953x
 - Use more appropriate printing functions where applicable
 - Use named initializers for platform_device_id and i2c_device_id arrays
 - Convert gpio-altera to using the generic GPIO chip helper library
 - Add support for new models to gpio-dwapb, gpio-zynq, gpio-usbio and
   gpio-tegra186
 - Unify the naming convention for Qualcomm in GPIO drivers
 - Fix interrupt bank mapping to GPIO chips in gpio-mt7621
 - Add support for the lines-initial-states property to gpio-74x164
 - Switch to using dynamic GPIO base in gpio-ixp4xx
 - Move the handling of an OF quirk from ASoC to gpiolib-of.c where other
   such quirks live
 - Use handle_bad_irq() in gpio-ep93xx
 - Some other minor tweaks and refactorings
 
 Devicetree bindings:
 - Document the Waveshare GPIO controller for DSI TOUCH panels
 - Document new models: Tegra238 in gpio-tegra186 and EIO GPIO in gpio-zynq
 - Add new properties for gpio-dwapb and fairchild,74hc595
 - Fix whitespace issues
 - Sort compatibles alphabetically in gpio-zynq
 
 Documentation:
 - Fix kerneldoc warnings in gpio-realtek-otto
 
 Misc:
 - Attach software nodes representing GPIO chips to the actual struct
   device objects associated with them in some legacy platforms enabling
   real firmware node lookup instead of string matching
 - Drop unneeded dependencies on OF_GPIO from bus and staging drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmovs6IACgkQBZ0uy/82
 hMNGIRAAj5dQALT1UfZ7jYRXR035CvQU1Sdn3O+0Y+r10eBdRaT573iI9IRDmoiu
 KOVoYdOD5mBP+nTYK6De88MTqm3kSDPnN6+fNlNv1dLz6tGyV30mmS1Ub0S4SrC/
 fKQJlj41EL+T/cK304KgQ3u0PpqS7lxSr8/3II5tIii0ED5uXN/t66IuZ4ztCA4p
 6F6WK4DNsxRs5HFGnVaoZjB45KiH6LqDzLqZb+OBVpETGSK4gRzXiHsVVqPUFZAr
 IkPDTrhE9jyGUr54HWFCCVL05K/yMoUlcFGiohxgpZNA2Vmzi0GvoVZBHcqZs1Bg
 EEG114QzqEjLLpvBaJidlBMJafrUB11prlUpkkjjceqJlakWlCDWfBsi3T9rRA27
 R7eBQ0XqDOMoMcFCKHkJVajkPK/rqFMz5LU9+AyXOXkGYO8VI6+6u8ylJY3CjZeB
 ziR5CE9Ly7WDO08CO3UlrVWvNQzh7BUQK/yoP+cRWUbPEP/NV6Jz2yfK5CDMlCDl
 4UYyxYnjaqUFx74TpFB2GtcA61Sqvy2EAATe6UL4uQcGrT16lDqiAJA0kYGChzjc
 4KvQBPen8ESb4n/zjfNdXOtCNxPm7JIFNjXPFuw62+w7qGKtDwDZUcr6FF3cZYVL
 oeUThOj4dwpsl3Pbd56nJYBHsiPyvgrm4Fk5Gv4+f2biIHZCas0=
 =MzJz
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "There's one new driver, one legacy driver removed, a kunit test-suite
  for the GPIO core, support for new models in existing drivers and a
  slew of various changes in many places though I can't think of
  anything controversial that would stand out - it's been a relatively
  calm cycle.

  GPIO core:
   - Add an initial set of kunit test cases for the GPIO subsystem
   - Use the devres owner as the GPIO chip's parent in absence of any
     other parent
   - Fix const-correctness of GPIO chip SRCU guards
   - Provide new GPIO consumer interfaces: gpiod_is_single_ended() and
     fwnode_gpiod_get()
   - Quarantine all legacy GPIO APIs in linux/gpio/legacy.h
   - Use __ro_after_init where applicable

  New drivers:
   - Add driver for the GPIO controller on Waveshare DSI TOUCH panels

  Removed drivers:
   - Remove the obsolete ts5500 GPIO driver

  Driver updates:
   - Modernize gpio-timberdale: remove platform data support and use
     generic device property accessors
   - Extend test build coverage by enabling COMPILE_TEST for more GPIO
     drivers
   - Add some missing dependencies in Kconfig
   - Add support for sparse fixed direction to gpio-regmap
   - Remove dead code from gpio-nomadik
   - use BIT() in gpio-mxc
   - use bitmap_complement() in gpio-xilinx and gpio-pca953x
   - Use more appropriate printing functions where applicable
   - Use named initializers for platform_device_id and i2c_device_id
     arrays
   - Convert gpio-altera to using the generic GPIO chip helper library
   - Add support for new models to gpio-dwapb, gpio-zynq, gpio-usbio and
     gpio-tegra186
   - Unify the naming convention for Qualcomm in GPIO drivers
   - Fix interrupt bank mapping to GPIO chips in gpio-mt7621
   - Add support for the lines-initial-states property to gpio-74x164
   - Switch to using dynamic GPIO base in gpio-ixp4xx
   - Move the handling of an OF quirk from ASoC to gpiolib-of.c where
     other such quirks live
   - Use handle_bad_irq() in gpio-ep93xx
   - Some other minor tweaks and refactorings

  Devicetree bindings:
   - Document the Waveshare GPIO controller for DSI TOUCH panels
   - Document new models: Tegra238 in gpio-tegra186 and EIO GPIO in
     gpio-zynq
   - Add new properties for gpio-dwapb and fairchild,74hc595
   - Fix whitespace issues
   - Sort compatibles alphabetically in gpio-zynq

  Documentation:
   - Fix kerneldoc warnings in gpio-realtek-otto

  Misc:
   - Attach software nodes representing GPIO chips to the actual struct
     device objects associated with them in some legacy platforms
     enabling real firmware node lookup instead of string matching
   - Drop unneeded dependencies on OF_GPIO from bus and staging drivers"

* tag 'gpio-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (62 commits)
  gpio: nomadik: remove dead DB8540 code from <gpio/gpio-nomadik.h>
  gpio: mt7621: fix interrupt banks mapping on gpio chips
  bus: ts-nbus: drop unneeded dependency on OF_GPIO
  staging: media: max96712: drop unneeded dependency on OF_GPIO
  gpiolib: Replace strcpy() with memcpy()
  gpio: remove obsolete UAF FIXMEs from lookup paths
  gpio: core: fix const-correctness of gpio_chip_guard
  gpio: mxc: use BIT() macro
  gpio: realtek-otto: fix kernel-doc warnings
  gpio: max77620: Unify usage of space and comma in platform_device_id array
  gpio: Use named initializers for platform_device_id arrays
  gpio: cros-ec: Drop unused assignment of platform_device_id driver data
  ARM: omap1: enable real software node lookup of GPIOs on Nokia 770
  ARM: omap1: use platform_device_register_full() for GPIO devices on OMAP 16xx
  ARM: omap1: drop unused variable from omap16xx_gpio_init()
  gpio: gpiolib: use seq_puts() for plain strings
  gpio: ts5500: remove obsolete driver
  gpio: add kunit test cases for the GPIO subsystem
  kunit: provide kunit_platform_device_unregister()
  kunit: provide kunit_platform_device_register_full()
  ...
2026-06-16 07:30:52 +05:30
Linus Torvalds
2b5f5609ae chrome-platform: Updates for v7.2
* Improvements
 
   - Use named initializers for struct i2c_device_id.
 
 * Fixes
 
   - Fix a probe race between cros_ec_sensorhub and cros_ec_sysfs.
   - Check for the presence of ACPI_COMPANION() for drivers converted
     from acpi_driver to platform_driver to avoid issues where
     device_match_driver_override() might forcibly match the driver to
     the device.
   - Fix a possible UAF in cros_ec_chardev.
   - Prevent build for big-endian systems as CHROME_PLATFORMS drivers are
     only running and testing under little-endian systems.
 
 * Cleanups
 
   - Drop some redundant bits in cros_kbd_led_backlight and Kconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iIkEABYKADEWIQS0yQeDP3cjLyifNRUrxTEGBto89AUCai9lxRMcdHp1bmdiaUBr
 ZXJuZWwub3JnAAoJECvFMQYG2jz04cYBALQW7+ddzPPKSShIxACyFsdMV7+DvfUT
 QH8RjhxrYDrjAQC+LGgyy14jGngfuo/mPjEuefuqdPwT2EBDlGXRnLYNDg==
 =lFBr
 -----END PGP SIGNATURE-----

Merge tag 'chrome-platform-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux

Pull chrome-platform updates from Tzung-Bi Shih:
 "Improvements:

   - Use named initializers for struct i2c_device_id

  Fixes:

   - Fix a probe race between cros_ec_sensorhub and cros_ec_sysfs

   - Check for the presence of ACPI_COMPANION() for drivers converted
     from acpi_driver to platform_driver to avoid issues where
     device_match_driver_override() might forcibly match the driver to
     the device

   - Fix a possible UAF in cros_ec_chardev

   - Prevent build for big-endian systems as CHROME_PLATFORMS drivers
     are only running and testing under little-endian systems

  Cleanups:

   - Drop some redundant bits in cros_kbd_led_backlight and Kconfig"

* tag 'chrome-platform-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
  platform/chrome: Prevent build for big-endian systems
  platform/chrome: Remove superfluous dependencies from CROS_EC
  platform/chrome: cros_ec_chardev: Introduce rwsem for protecting ec_dev
  platform/chrome: cros_ec_chardev: Add event relayer
  platform/chrome: cros_ec_chardev: Move data to chardev_pdata
  platform/chrome: cros_ec_chardev: Introduce chardev_data
  platform/chrome: Use named initializers for struct i2c_device_id
  platform/chrome: wilco_ec: event: Check ACPI_COMPANION()
  platform/chrome: chromeos_tbmc: Check ACPI_COMPANION()
  platform/chrome: chromeos_privacy_screen: Check ACPI_COMPANION()
  platform/chrome: cros_kbd_led_backlight: Drop CONFIG_MFD_CROS_EC_DEV ifdeffery
  platform/chrome: cros_kbd_led_backlight: Pass keyboard_led as parameter
  platform/chrome: cros_kbd_led_backlight: Drop max_brightness from driver data
  platform/chrome: Resolve kb_wake_angle visibility race
2026-06-16 07:19:53 +05:30
Linus Torvalds
3c26a6bc40 Preparatory work for MPAM counter assignment:
- Simplify the error handling path when creating monitor group event
   configuration directories
 
 - Make the MBM event filter configurable only on architectures that
   support it and expose this with the respective file modes in the event
   config
 
 - Disallow the MBA software controller on systems where MBM counters are
   assignable, as it requires continuous bandwidth measurement that
   assignable counters do not guarantee
 
 - Replace a compile-time Kconfig option for fixed counter assignment
   with a per-architecture runtime property, and expose whether the
   counter assignment mode is changeable to userspace
 
 - Continue counter allocation across all domains instead of aborting at
   the first failure
 
 - Document that automatic MBM counter assignment is best effort and may
   not assign counters to all domains
 
 - Document the behavior of task ID 0 and idle tasks in the resctrl tasks
   file
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmowEfYACgkQEsHwGGHe
 VUoqpA//SQnC9ehAKVg+tf/V0H5s4sAQimTI3fl9pMYWfduoHCQkdPs/lSWF4Su+
 YNhjr/+nffC1oqSpklG2XEDHYD3HoKnBqSrALX0lmEVPr4MHtAnOAQs/G57Jqp8G
 p1nniOgPqwDltndHYUl2vLX/dFpjIprqPG3lWfjPCFUzrVaOlTPd7Kkv8kSdmZOL
 IYMpMP8IPjA8QfLdGtcqKbtjsNu6gxNs9TS2pXSyy/NuPqaS9CAzsOwj0KNlYPOk
 Hi7KVXc87GAHAUS1LK8+ZjEao/BHtUE8XJlsnTNtPlvwfS7uuOCIrrQyooJS8uT4
 CKv5KbCxZKlRlWNnZLW6IsfYd85N+7gse9n0U2BNlqMor535AEp/X5bka6QO4mLa
 CuN72A8Tkw2bNEcUfOc1akeKNj7bQ9lgz0AESJefmaFNkLmaWJi5mNA/27JFAXBQ
 KfGvPHlKcwt7e8Mj3OaDnhEstf9kVppD2NAL+tl5eGA0mHixyK0WNrDqX1ZjiPkL
 Lf2w5bHA0tTUPtFR/71RqWyHL5N7jjctC6aeVmGDgji7dIkodD8bUFEj/ORY02iS
 oAX7n0E8ccC/E8+jAb8n+zukpbHE4V2ASr+tncLuGVNRuq03YfK5RXIwK0wN6OnM
 dDN1DjaNNMI5pkB48zytDhl1RK6QKVtOqBRBO2TMbQHypnjUMDI=
 =6iVq
 -----END PGP SIGNATURE-----

Merge tag 'x86_cache_for_v7.2_rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip

Pull x86 resource control updates from Borislav Petkov:
 "Preparatory work for MPAM counter assignment:

   - Simplify the error handling path when creating monitor group event
     configuration directories

   - Make the MBM event filter configurable only on architectures that
     support it and expose this with the respective file modes in the
     event config

   - Disallow the MBA software controller on systems where MBM counters
     are assignable, as it requires continuous bandwidth measurement
     that assignable counters do not guarantee

   - Replace a compile-time Kconfig option for fixed counter assignment
     with a per-architecture runtime property, and expose whether the
     counter assignment mode is changeable to userspace

   - Continue counter allocation across all domains instead of aborting
     at the first failure

   - Document that automatic MBM counter assignment is best effort and
     may not assign counters to all domains

   - Document the behavior of task ID 0 and idle tasks in the resctrl
     tasks file"

* tag 'x86_cache_for_v7.2_rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip:
  fs/resctrl: Document tasks file behaviour for task id 0 and idle tasks
  fs/resctrl: Document that automatic counter assignment is best effort
  fs/resctrl: Continue counter allocation after failure
  fs/resctrl: Add monitor property 'mbm_cntr_assign_fixed'
  fs/resctrl: Disallow the software controller when MBM counters are assignable
  x86,fs/resctrl: Create 'event_filter' files read only if they're not configurable
  fs/resctrl: Tidy up the error path in resctrl_mkdir_event_configs()
2026-06-16 05:35:40 +05:30
Linus Torvalds
4b5713ef2f - Fix a malformed Kconfig default for the AMD Address Translation Library
- Make sure i10nm loads successfully when the ADXL address decoder is absent
   because former has decoding capabilities too
 
 - Ensure error reporting is cleanly disabled on driver teardown and on failed
   initialization for several legacy Intel EDAC drivers
 
 - Fix a grammar issue in a diagnostic warning in the Sandy Bridge driver
 
 - Fix a missing resource release callback and incorrect memory topology
   parsing in the igen6 driver, and add support for Intel Panther Lake-H and
   Nova Lake-H SoCs
 
 - Fix an out-of-bounds shift causing undefined behaviour in the Skylake
   driver
 
 - Consolidate memory controller register access helpers into shared common
   code across the Intel Skylake, Ice Lake, and Meteor Lake drivers
 
 - Introduce sub-channel awareness and Rank Retry Logic improvements to
   the Intel Skylake and i10nm drivers in preparation for Diamond Rapids
   server support
 
 - Add Rank Retry Logic support for Intel Diamond Rapids server to
   imh_edac
 
 - Make In-Band ECC detection registers configurable per SoC in the igen6
   driver
 
 - Standardize PCI device ID table definitions across all EDAC drivers to
   use named field initializers and standard PCI helper macros
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmovc4AACgkQEsHwGGHe
 VUqnzhAAmgpZ1hrzP/yzhKs3ThDHrU4wacmmVKsV8ToNzuQ+4KtLty/faLIHx9kp
 fJri2FWXQwY4Y9L5ZWB6vf/zQJG8mjJAoMFuexpJ2Fw+8BWUYTJOdD7FayG0v3ck
 x+cVPe57toVxsvmZAO4hBcdacOf7vss9c0ceVtAOqS1GXYsGLTcBg2y71stCBr4q
 +aOjM4dXh7sR5RYIOijacYEs1p5UNXmzUZbtChW0zHJ0dJF+U8psO+cU3cMKFRzt
 EhCEI6i4z2iemWA3KIEy9zXtOzoSj96/8g+SIeNrhIs5ANtDjTXu/5nBGPbvw0xV
 ndsMvetv3EqrvI472rRUL4A00WLtYMfeB69kBFyGDEmqRutpesqW6d7zTqq5p2qB
 dbNycPQur2Qj3yMEzOMxTpT+98fxKEg/S0hJ4lxJPdcuVxdhuPncR4ZNRPd5q40C
 veJt17pAn4FQOMCWyjReJdK5rBlmM716Osd4B2SNpG1JsQkmvVDeT6n6Xg1e03mZ
 MUvTH2fdegZOocfSK5i6hlhmn8mYPNRUrsnh565ivxDhrpT7ffiJoqHUBYqAcYnm
 5o9WEgYjtxcncyyVkf0KmWLuJGWMJ2xxAVE6zXhNW0pP2/FDYWcDVGdTUV9oKS7t
 1vY/rM+6GYNf6cSXW4F54SmUJuaCkSUn2Nhucf9lKmE3GBu/8Rs=
 =WiqU
 -----END PGP SIGNATURE-----

Merge tag 'edac_updates_for_v7.2_rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/ras/ras

Pull EDAC updates from Borislav Petkov:

 - Fix a malformed Kconfig default for the AMD Address Translation
   Library

 - Make sure i10nm loads successfully when the ADXL address decoder is
   absent because former has decoding capabilities too

 - Ensure error reporting is cleanly disabled on driver teardown and on
   failed initialization for several legacy Intel EDAC drivers

 - Fix a grammar issue in a diagnostic warning in the Sandy Bridge
   driver

 - Fix a missing resource release callback and incorrect memory topology
   parsing in the igen6 driver, and add support for Intel Panther Lake-H
   and Nova Lake-H SoCs

 - Fix an out-of-bounds shift causing undefined behaviour in the Skylake
   driver

 - Consolidate memory controller register access helpers into shared
   common code across the Intel Skylake, Ice Lake, and Meteor Lake
   drivers

 - Introduce sub-channel awareness and Rank Retry Logic improvements to
   the Intel Skylake and i10nm drivers in preparation for Diamond Rapids
   server support

 - Add Rank Retry Logic support for Intel Diamond Rapids server to
   imh_edac

 - Make In-Band ECC detection registers configurable per SoC in the
   igen6 driver

 - Standardize PCI device ID table definitions across all EDAC drivers
   to use named field initializers and standard PCI helper macros

* tag 'edac_updates_for_v7.2_rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/ras/ras: (22 commits)
  EDAC: Consistently define pci_device_ids using named initializers
  EDAC/igen6: Add Intel Nova Lake-H SoC support
  EDAC/igen6: Make registers for detecting IBECC configurable
  EDAC/imh: Add RRL support for Intel Diamond Rapids server
  EDAC/{skx_common,i10nm}: Prepare RRL for sub-channel granularity
  EDAC/skx_common: Add SubChannel support to ADXL decode
  EDAC/{skx_common,i10nm}: Move RRL handling to common code
  EDAC/{skx_common,i10nm}: Introduce rrl_ctrl_mode
  EDAC/{skx_common,i10nm}: Rename rrl_mode to rrl_source_type
  EDAC/{skx_common,skx,i10nm}: Split skx_set_decode()
  EDAC/{skx_common,i10nm,imh}: Move MC register access helpers to skx_common
  EDAC/{skx_common,skx}: Fix UBSAN shift-out-of-bounds in skx_get_dimm_info
  EDAC/igen6: Add one Intel Panther Lake-H SoC support
  EDAC/igen6: Fix memory topology parsing for Panther Lake-H SoCs
  EDAC/igen6: Fix call trace due to missing release()
  EDAC/sb_edac: fix grammar in sb_decode_ddr3 warning
  EDAC/i5400: disable error reporting at teardown and refactor helper
  EDAC/i5100: disable error reporting at teardown and create helper
  EDAC/i5000: disable error reporting at teardown and refactor helper
  EDAC/i7300: disable error reporting if init fails and refactor helper
  ...
2026-06-16 05:31:01 +05:30
Linus Torvalds
80476f22b8 arm64 updates for 7.2
CPU errata handling:
 - Extend CnP disabling workaround to HiSilicon HIP09 hardware.
 - Work around eternally broken broadcast TLB invalidation on more CPUs.
 - Documentation and code cleanups.
 
 CPU features:
 - Add new hwcaps for the 2025 dpISA extensions.
 
 Floating point / SVE / SME:
 - Significant cleanup to the low-level state management code in the core
   architecture code and KVM.
 - Use correct register widths during SVE/SME save/restore assembly.
 - Expose SVE/SME save/restore memory accesses to sanitisers.
 
 Memory management:
 - Preparatory work for unmapping the kernel data and bss sections from
   the linear map.
 
 Miscellaneous:
 - Inline DAIF manipulation helpers so they can be used safely from
   non-instrumentable code.
 - Fix handling of the 'nosmp' cmdline option to avoid marking secondary
   cores as "possible".
 
 MPAM:
 - Add support for v0.1 of the MPAM architecture.
 
 Perf:
 - Update HiSilicon PMU MAINTAINERS entry.
 - Fix event encodings for the DVM node in the CMN driver.
 
 Selftests:
 - Extend sigframe tests to cover POE context.
 - Add coverage for the newly added 2025 dpISA hwcaps.
 
 System registers:
 - Add new registers and ESR encodings for the HDBSS feature.
 
 Plus minor fixes and cleanups across the board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmoun+0QHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNFEvB/9scDYXHUCxQOqoRB5TPUi63pgl5vl83IfI
 TWE2r2wNsrjqXlAV2FDbzuTWxLpACS+vpk5ltsb57aUfENQ5wZEFCDvJlbpNZuHS
 5/zAQmCajPpgC5TFDo7rbgSv2BSR4TXuFfvGS349+a82c9C12EUulBFvR1DDVElh
 FCYT5PfHNu1Khas4YiUln+9WSqS8qSHfYsz4Qb/lDaZcAmh22jQBPZQFU7fMlZST
 Fr/nzSy6cxkARotqU7RlRQLgtDHBEqTYrNHCP0WSQ2aPJN8SeFUyjEcQas/Zak+S
 Bme8OHcqn4pZPll5TfHUTaJp91oIJAA9uX5RSwE+G3NvAGNbptuw
 =LXuh
 -----END PGP SIGNATURE-----

Merge tag 'arm64-upstream' of gitolite.kernel.org:pub/scm/linux/kernel/git/arm64/linux

Pull arm64 updates from Will Deacon:
 "It feels like the new world of AI tooling has slowed us down a little
  on the feature side when compared to the fixes side. The extra rounds
  of Sashiko review have also pushed a few things out until next time.

  Still, there's some good foundational stuff here for the fpsimd code
  and hardening work towards removing the predictable linear alias of
  the kernel image.

  CPU errata handling:
   - Extend CnP disabling workaround to HiSilicon HIP09 hardware.
   - Work around eternally broken broadcast TLB invalidation on more
     CPUs.
   - Documentation and code cleanups.

  CPU features:
   - Add new hwcaps for the 2025 dpISA extensions.

  Floating point / SVE / SME:
   - Significant cleanup to the low-level state management code in the
     core architecture code and KVM.
   - Use correct register widths during SVE/SME save/restore assembly.
   - Expose SVE/SME save/restore memory accesses to sanitisers.

  Memory management:
   - Preparatory work for unmapping the kernel data and bss sections
     from the linear map.

  Miscellaneous:
   - Inline DAIF manipulation helpers so they can be used safely from
     non-instrumentable code.
   - Fix handling of the 'nosmp' cmdline option to avoid marking
     secondary cores as "possible".

  MPAM:
   - Add support for v0.1 of the MPAM architecture.

  Perf:
   - Update HiSilicon PMU MAINTAINERS entry.
   - Fix event encodings for the DVM node in the CMN driver.

  Selftests:
   - Extend sigframe tests to cover POE context.
   - Add coverage for the newly added 2025 dpISA hwcaps.

  System registers:
   - Add new registers and ESR encodings for the HDBSS feature.

  Plus minor fixes and cleanups across the board"

* tag 'arm64-upstream' of gitolite.kernel.org:pub/scm/linux/kernel/git/arm64/linux: (73 commits)
  arm64: errata: Mitigate TLBI errata on Microsoft Azure Cobalt 100 CPU
  arm64: errata: Mitigate TLBI errata on NVIDIA Olympus CPU
  arm64: errata: Mitigate TLBI errata on various Arm CPUs
  arm64: cputype: Add C1-Premium definitions
  arm64: cputype: Add C1-Ultra definitions
  Revert "arm64: mm: Unmap kernel data/bss entirely from the linear map"
  Revert "arm64: mm: Defer remap of linear alias of data/bss"
  arm64: arch_timer: reuse arch_timer_read_cnt{p,v}ct_el0() helpers
  arm64/mm: Rename ptdesc_t
  arm64: mm: Defer remap of linear alias of data/bss
  KVM: arm64: Omit tag sync on stage-2 mappings of the zero page
  arm64: Avoid double evaluation of __ptep_get()
  kasan: Move generic KASAN page tables out of BSS too
  arm64: Rename page table BSS section to .bss..pgtbl
  arm64: patching: replace min_t with min in __text_poke
  perf/arm-cmn: Fix DVM node events
  arm64: fpsimd: Remove <asm/fpsimdmacros.h>
  arm64: fpsimd: Move SME save/restore inline
  arm64: fpsimd: Move sve_flush_live() inline
  arm64: fpsimd: Move SVE save/restore inline
  ...
2026-06-16 05:18:04 +05:30