Linux/linux 4edcdefkernel/bpf btf.c stackmap.c, net/netfilter nf_conntrack_bpf.c

Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Pull bpf fixes from Alexei Starovoitov:

 - Fix effective prog array index with BPF_F_PREORDER (Amery Hung)

 - Zero-initialize the fib lookup flow struct (Avinash Duduskar)

 - Disable xfrm_decode_session hook attachment (Bradley Morgan)

 - Allow type tag BTF records to succeed other modifier records (Emil
   Tsalapatis)

 - Fix build_id caching in stack_map_get_build_id_offset() (Ihor
   Solodrai)

 - Add missing access_ok call to copy_user_syms (Jiri Olsa)

 - Fix stack slot index in nospec checks (Nuoqi Gui)

    [33 lines not shown]
DeltaFile
+123-86kernel/bpf/btf.c
+130-53kernel/bpf/stackmap.c
+62-46kernel/bpf/cgroup.c
+77-0tools/testing/selftests/bpf/prog_tests/cgroup_preorder.c
+13-22net/netfilter/nf_conntrack_bpf.c
+26-0tools/testing/selftests/bpf/progs/test_bpf_nf.c
+431-20713 files not shown
+535-23919 files

Linux/linux 8c04c12drivers/clk clk-k230.c, drivers/clk/microchip clk-core.c clk-pic32.c

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk updates from Stephen Boyd:
 "This is all clk driver updates. Mostly new SoC support for various
  Qualcomm chips and Canaan K230. Otherwise there's non-critical fixes
  and updates to clk data such as adding missing clks to existing
  drivers or marking clks critical. Nothing looks especially exciting"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (106 commits)
  clk: qcom: regmap-phy-mux: Rework the implementation
  clk: qcom: a53: Corrected frequency multiplier for 1152MHz
  clk: qcom: camcc-milos: Declare icc path dependency for CAMSS_TOP_GDSC
  clk: qcom: gdsc: Support enabling interconnect path for power domain
  dt-bindings: clock: qcom,milos-camcc: Document interconnect path
  interconnect: Add devm_of_icc_get_by_index() as exported API for users
  clk: qcom: camcc-x1p42100: Add support for camera clock controller
  clk: qcom: camcc-x1e80100: Add support for camera QDSS debug clocks
  clk: qcom: videocc-x1p42100: Add support for video clock controller
  dt-bindings: clock: qcom: Add X1P42100 camera clock controller

    [11 lines not shown]
DeltaFile
+3,657-0drivers/clk/qcom/gcc-hawi.c
+3,445-0drivers/clk/qcom/gcc-ipq9650.c
+2,452-0drivers/clk/clk-k230.c
+2,223-0drivers/clk/qcom/camcc-x1p42100.c
+0-1,019drivers/clk/microchip/clk-core.c
+1,019-0drivers/clk/microchip/clk-pic32.c
+12,796-1,01998 files not shown
+15,914-1,567104 files

Linux/linux ca3e303Documentation/devicetree/bindings/spmi qcom,glymur-spmi-pmic-arb.yaml, drivers/spmi spmi-pmic-arb.c spmi.c

Merge tag 'spmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi

Pull SPMI updates from Stephen Boyd:
 "Support for Qualcomm PMIC arbiter v8.5 and Hawi along with a
  kernel doc cleanup and a kzalloc flex usage"

* tag 'spmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi:
  spmi: use kzalloc_flex in main allocation
  spmi: clean up kernel-doc in spmi.h
  spmi: spmi-pmic-arb: add support for PMIC arbiter v8.5
  dt-bindings: spmi: glymur-spmi-pmic-arb: Add compatible for Qualcomm Hawi SoC
DeltaFile
+112-30drivers/spmi/spmi-pmic-arb.c
+4-1include/linux/spmi.h
+2-2drivers/spmi/spmi.c
+1-0Documentation/devicetree/bindings/spmi/qcom,glymur-spmi-pmic-arb.yaml
+119-334 files

Linux/linux 75218b7tools/tracing/rtla .gitignore, tools/tracing/rtla/tests/scripts/lib get_workload_pids.sh

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

Pull rtla fixes from Steven Rostedt:

 - Fix and cleanup .gitignore

 - Fix pgrep filter in get_workload_pids.sh

   Fix parsing of kernel thread names in get_workload_pids() helper
   function. On some systems pgrep matches kernel thread names including
   the brackets (e.g. "[osnoise/0]") and other systems brackets are not
   included. Fix the tests to handle both.

* tag 'trace-tools-7.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  rtla/tests: Fix pgrep filter in get_workload_pids.sh
  rtla: Fix and clean up .gitignore
DeltaFile
+4-9tools/tracing/rtla/.gitignore
+1-1tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh
+5-102 files

Linux/linux 805185bdrivers/net/ethernet/airoha airoha_eth.c, net/core netdev_work.c

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

Pull networking fixes from Jakub Kicinski:
 "Including fixes from netfilter and IPsec.

  Current release - regressions:

   - do not acquire dev->tx_global_lock in netdev_watchdog_up()

   - ethtool: keep rtnl_lock for ops using ethtool_op_get_link()

   - fix deadlock in nested UP notifier events

  Current release - new code bugs:

   - eth:
      - cn20k: fix subbank free list indexing for search order
      - airoha: fix BQL underflow in shared QDMA TX ring


    [44 lines not shown]
DeltaFile
+113-88drivers/net/ethernet/airoha/airoha_eth.c
+180-0tools/testing/selftests/drivers/net/bonding/bond_vlan_real_dev.sh
+175-0tools/testing/selftests/bpf/prog_tests/xdp_context_test_run.c
+162-0net/core/netdev_work.c
+81-74net/netfilter/nf_conntrack_expect.c
+71-52tools/testing/selftests/bpf/progs/test_xdp_meta.c
+782-214233 files not shown
+3,041-1,290239 files

Linux/linux c75597carch/s390/kvm kvm-s390.c gmap.c, arch/x86/include/asm kvm_host.h

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini:
 "s390:

   - Fix S390_USER_OPEREXEC so it can now be enabled regardless of other
     unrelated capabilities

   - Fix handling of the _PAGE_UNUSED pte bit that could lead to guest
     memory corruption in some scenarios

   - A bunch of misc gmap fixes (locking, behaviour under memory
     pressure)

   - Fix CMMA dirty tracking

  x86:

   - Tidy up some WARN_ON() and BUG_ON(), replacing them with

    [33 lines not shown]
DeltaFile
+110-0tools/testing/selftests/kvm/s390/user_operexec.c
+48-23arch/s390/kvm/kvm-s390.c
+30-7arch/s390/kvm/gmap.c
+7-7arch/x86/kvm/mmu/mmu.c
+11-1arch/s390/kvm/gmap.h
+1-11arch/x86/include/asm/kvm_host.h
+207-4919 files not shown
+266-8625 files

Linux/linux fe9f4eeinclude/linux netdevice.h, net/8021q vlan.c vlan_dev.c

Merge branch 'net-avoid-nested-up-notifier-events'

Jakub Kicinski says:

====================
net: avoid nested UP notifier events

syzbot reported that recent ethtool rework leads to deadlock
on stacked devices. VLANs create nested notifications, confusing
execution context. Bringing up dummy causes vlan to bring itself
up as well. Which in turn causes bond to ask for link state -
a call chain traveling in the opposite direction.

  bond    (3) bond_update_speed_duplex(vlan)
    |           ^                v
  vlan    (2) UP(vlan)    (4) vlan_ethtool_get_link_ksettings()
    |           ^                v
  dummy   (1) UP(dummy)   (5) __ethtool_get_link_ksettings()


    [16 lines not shown]
DeltaFile
+180-0tools/testing/selftests/drivers/net/bonding/bond_vlan_real_dev.sh
+162-0net/core/netdev_work.c
+3-74net/core/dev_addr_lists.c
+8-68net/8021q/vlan.c
+60-0net/8021q/vlan_dev.c
+17-4include/linux/netdevice.h
+430-1466 files not shown
+457-14812 files

Linux/linux e83d0a2tools/testing/selftests/drivers/net/bonding bond_vlan_real_dev.sh Makefile

selftests: bonding: add a test for VLAN propagation over a bonded real device

Add a regression test for the VLAN notifier handling that the netdev_work
deferral fixed.

A VLAN's real device propagates its UP/DOWN, MTU and feature changes onto
the VLANs stacked on top of it. This used to be done synchronously from the
real device's notifier and deadlocked when the real device was brought up
while enslaved to a bond (instance lock held across NETDEV_UP) and the VLAN
on top was itself a bond member: the synchronous propagation re-entered the
stack and took the same instance lock again.

The test covers both halves:
 - that the deferred UP/DOWN, MTU and feature propagation actually lands on
   the VLAN (link state and MTU use an ops-locked dummy, i.e. the deferral
   path; features use veth, which exports vlan_features to inherit), and
 - that the deadlock-prone topology - a VLAN on a dummy, with the VLAN and
   the dummy each enslaved to a different bond - can be built without
   hanging.

    [5 lines not shown]
DeltaFile
+180-0tools/testing/selftests/drivers/net/bonding/bond_vlan_real_dev.sh
+1-0tools/testing/selftests/drivers/net/bonding/Makefile
+181-02 files

Linux/linux 12c765binclude/linux netdevice.h, net/core netdev_work.c dev_addr_lists.c

net: turn the rx_mode work into a generic netdev_work facility

The rx_mode update runs from a workqueue: drivers have their
ndo_set_rx_mode_async() callback executed by a single global
work item under RTNL and ops lock. This is a useful pattern.

Support multiple "events" that need to be serviced and make RX_MODE
sync the first one. Call the events "core" because later on
we will let drivers define and schedule their own.

Reviewed-by: Kuniyuki Iwashima <kuniyu at google.com>
Acked-by: Stanislav Fomichev <sdf at fomichev.me>
Link: https://patch.msgid.link/20260624182018.2445732-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+117-0net/core/netdev_work.c
+3-74net/core/dev_addr_lists.c
+10-1net/core/dev.h
+6-4include/linux/netdevice.h
+1-1net/core/Makefile
+1-0net/core/dev.c
+138-806 files

Linux/linux 129cdceinclude/linux netdevice.h, net/core netdev_work.c

net: add the driver-facing netdev_work scheduling API

With an extra event mask we can easily extend the netdev work
to also service driver-defined events. For advanced drivers
this is probably not a perfect match, but it makes running
deferred work easier in simple cases.

Expose the netdev_work facility to drivers. Add helpers
to schedule work and a dedicated ndo to perform the driver-
-scheduled actions.

Reviewed-by: Kuniyuki Iwashima <kuniyu at google.com>
Acked-by: Stanislav Fomichev <sdf at fomichev.me>
Link: https://patch.msgid.link/20260624182018.2445732-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+63-18net/core/netdev_work.c
+11-0include/linux/netdevice.h
+74-182 files

Linux/linux cd1c188Documentation/networking netdevices.rst, net/8021q vlan.c vlan_dev.c

vlan: defer real device state propagation to netdev_work

vlan_device_event() generates nested UP/DOWN, MTU and feature
change events. It executes an event for the VLAN device directly
from the notifier - while the locks of the lower device are held.

This causes deadlocks, for example:

  bond    (3) bond_update_speed_duplex(vlan)
    |           ^                v
  vlan    (2) UP(vlan)    (4) vlan_ethtool_get_link_ksettings()
    |           ^                v
  dummy   (1) UP(dummy)   (5) __ethtool_get_link_ksettings()

The dummy device is ops locked, vlan creates a nested event (2),
then bond wants to ask vlan for link state (3). bond uses the
"I'm already holding the instance lock" flavor of API. But in
this case the lock held refers to vlan itself. We hit vlan's
link settings trampoline (4) and call __ethtool_get_link_ksettings()

    [37 lines not shown]
DeltaFile
+8-68net/8021q/vlan.c
+60-0net/8021q/vlan_dev.c
+11-0net/8021q/vlan.h
+2-0Documentation/networking/netdevices.rst
+1-0net/core/dev.c
+82-685 files

Linux/linux 1105ef9drivers/net/ethernet/google/gve gve_ethtool.c, drivers/net/ethernet/mellanox/mlx5/core en_ethtool.c en_rep.c

net: ethtool: keep rtnl_lock for ops using ethtool_op_get_link()

Breno reports following splats on mlx5:

  RTNL: assertion failed at net/core/dev.c (2241)
  WARNING: net/core/dev.c:2241 at netif_state_change+0xed/0x130, CPU#5: ethtool/1335
  RIP: 0010:netif_state_change+0xf9/0x130
  Call Trace:
    <TASK>
     __linkwatch_sync_dev+0xea/0x120
     ethtool_op_get_link+0xe/0x20
     __ethtool_get_link+0x26/0x40
     linkstate_prepare_data+0x51/0x200
     ethnl_default_doit+0x213/0x470
     genl_family_rcv_msg_doit+0xdd/0x110

Looks like I missed ethtool_op_get_link() trying to sync linkwatch,
which needs rtnl_lock. Not all drivers do this - bnxt doesn't,
it just returns the link state, so add an opt-in bit.

    [8 lines not shown]
DeltaFile
+3-1drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c
+4-0net/ethtool/common.h
+2-1drivers/net/ethernet/google/gve/gve_ethtool.c
+2-1drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
+2-1drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+2-1drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c
+15-53 files not shown
+20-69 files

Linux/linux 2c0f1b6fs/afs rxrpc.c, net/rxrpc input.c oob.c

Merge branch 'rxrpc-miscellaneous-fixes'

David Howells says:

====================
rxrpc: Miscellaneous fixes

Here are some miscellaneous AF_RXRPC fixes for more stuff found by Sashiko[1][2]:

 (1) Fix ACKALL handling by adding two more call states to simplify when
     ACKs are valid.

 (2) Fix connection leak from AF_RXRPC recvmsg userspace OOB handling.

 (3) Fix double unlock in AF_RXRPC recvmsg userspace OOB handling.

 (4) Fix AFS preallocate charge to flush the waitqueue after unlistening
     the socket so that any charging thread that does manage to get started
     will be waited for before socket destruction.

    [22 lines not shown]
DeltaFile
+32-7net/rxrpc/input.c
+10-2net/rxrpc/oob.c
+4-6net/rxrpc/recvmsg.c
+9-1fs/afs/rxrpc.c
+7-2net/rxrpc/conn_event.c
+4-2net/rxrpc/ar-internal.h
+66-205 files not shown
+77-2411 files

Linux/linux a5462danet/rxrpc input.c

rxrpc: Fix rxrpc_rotate_tx_rotate() to check there's something to rotate

Fix rxrpc_rotate_tx_rotate() to check that there's something in the
transmission buffer to be rotated before it attempts to rotate anything.

Fixes: b341a0263b1b ("rxrpc: Implement progressive transmission queue struct")
Link: https://sashiko.dev/#/patchset/20260618134802.2477777-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-12-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+3-0net/rxrpc/input.c
+3-01 files

Linux/linux 4bdb9e4net/rxrpc recvmsg.c

rxrpc: Fix leak of released call in recvmsg(MSG_PEEK)

Fix rxrpc_recvmsg() to also drop the ref it holds on an already-released
call if MSG_PEEK is in force (the function holds a ref on the call
irrespective of whether MSG_PEEK is specified or not).

Fixes: 962fb1f651c2 ("rxrpc: Fix recv-recv race of completed call")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-11-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-2net/rxrpc/recvmsg.c
+1-21 files

Linux/linux e66f8f3net/rxrpc recvmsg.c

rxrpc: Fix socket notification race

There's a race between rxrpc_recvmsg() and rxrpc_notify_socket(), whereby
the latter's attempt to avoid disabling interrupts and taking the socket's
recvmsg_lock if the call is already queued may happen simultaneously with
the former's discarding of a call that has nothing queued.

Fix this by removing the shortcut.  Note that this only affects userspace's
use of AF_RXRPC; the AFS filesystem driver doesn't use the socket queue.

Fixes: 248f219cb8bc ("rxrpc: Rewrite the data and ack handling code")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-10-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+0-2net/rxrpc/recvmsg.c
+0-21 files

Linux/linux a58e334net/rxrpc input.c

rxrpc: Fix the reception of a reply packet before data transmission

Fix rxrpc_receiving_reply() to handle the reception of an apparent reply
DATA packet before rxrpc has had a chance to send any request DATA packets
on a client call by checking to see if the call has been exposed yet by
sending the first packet.

Without this, rxrpc_rotate_tx_window() might oops.

Also fix rxrpc_rotate_tx_window() to handle the Tx queue being empty by
changing the do...while loop into a while loop, just in case a call is
abnormally terminated by an early reply before the last request packet is
transmitted.

Fixes: b341a0263b1b ("rxrpc: Implement progressive transmission queue struct")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>

    [5 lines not shown]
DeltaFile
+10-3net/rxrpc/input.c
+10-31 files

Linux/linux 2daf8acfs/afs rxrpc.c

afs: Fix further netns teardown to cancel the preallocation charger

When an afs network namespace is torn down, it cancels and waits for the
work item that keeps the preallocated rxrpc call/conn/peer queue charged
before disabling incoming (i.e. listen 0), but there's a small window in
which it can be requeued by an incoming call wending through the I/O
thread.

Fix this by cancelling the charger work item again after reducing the
listen backlog to zero.

Fixes: 47694fbc9d24 ("afs: Fix netns teardown to cancel the preallocation charger")
Reported-by: Jakub Kicinski <kuba at kernel.org>
Signed-off-by: David Howells <dhowells at redhat.com>
Link: https://sashiko.dev/#/patchset/20260609140911.838677-1-dhowells%40redhat.com
cc: Li Daming <d4n.for.sec at gmail.com>
cc: Ren Wei <n05ec at lzu.edu.cn>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>

    [5 lines not shown]
DeltaFile
+5-0fs/afs/rxrpc.c
+5-01 files

Linux/linux 67a0332net/rxrpc recvmsg.c

rxrpc: Fix potential infinite loop in rxrpc_recvmsg()

Fix the wait in rxrpc_recvmsg() also take check the oob queue.

Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-9-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-1net/rxrpc/recvmsg.c
+2-11 files

Linux/linux a4057e5fs/afs rxrpc.c cm_security.c

afs: Fix uncancelled rxrpc OOB message handler

Fix AFS to cancel its OOB message processing (typically to respond to
security challenges).  Also move OOB message processing to afs_wq so that
it's also waited for and make the OOB handler just return if the net
namespace is no longer live.

Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Link: https://sashiko.dev/#/patchset/20260609140911.838677-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Li Daming <d4n.for.sec at gmail.com>
cc: Ren Wei <n05ec at lzu.edu.cn>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-6-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+4-1fs/afs/rxrpc.c
+2-1fs/afs/cm_security.c
+6-22 files

Linux/linux 0922758net/rxrpc conn_event.c oob.c

rxrpc: Fix oob challenge leak in cleanup after notification failure

Fix rxrpc_notify_socket_oob() to return an indication of failure in the
event that it failed to queue a packet and fix rxrpc_post_challenge() to
clean up the connection ref in such an event.

Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Link: https://sashiko.dev/#/patchset/20260616155749.2125907-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Jeffrey Altman <jaltman at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-8-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+7-2net/rxrpc/conn_event.c
+5-2net/rxrpc/oob.c
+2-2net/rxrpc/ar-internal.h
+14-63 files

Linux/linux a2f299bnet/rxrpc recvmsg.c

rxrpc: Fix double unlock in rxrpc_recvmsg()

Fix a double unlock in rxrpc_recvmsg() when dealing with OOB messages.

Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Link: https://sashiko.dev/#/patchset/20260609140911.838677-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-4-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1net/rxrpc/recvmsg.c
+1-11 files

Linux/linux 4b28876net/rxrpc oob.c

rxrpc: Fix leak of connection from OOB challenge

Fix leak of connection object from OOB challenge queue when response is
provided by userspace.

Fixes: 5800b1cf3fd8 ("rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE")
Link: https://sashiko.dev/#/patchset/20260609140911.838677-1-dhowells%40redhat.com
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Marc Dionne <marc.dionne at auristor.com>
cc: Simon Horman <horms at kernel.org>
cc: linux-afs at lists.infradead.org
cc: stable at kernel.org
Link: https://patch.msgid.link/20260624163819.3017002-3-dhowells@redhat.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+5-0net/rxrpc/oob.c
+5-01 files

Linux/linux 9b6ce59net/rxrpc input.c call_event.c

rxrpc: Fix ACKALL packet handling

rxrpc_input_ackall() accepts ACKALL packets without checking whether the
call is in a state that can legitimately have outstanding transmit buffers.
A forged ACKALL can therefore reach a new service call in
RXRPC_CALL_SERVER_RECV_REQUEST before any reply packets have been queued.

In that state call->tx_top is zero and call->tx_queue is NULL, so
rxrpc_rotate_tx_window() dereferences a NULL txqueue and triggers a
null-pointer dereference.

Fix the handling of ACKALL packets by the following means:

 (1) Add two new call states: RXRPC_CALL_CLIENT_PRE_SEND which indicates
     that the client call is connected, but nothing has been transmitted as
     yet; and RXRPC_CALL_CLIENT_AWAIT_ACK, which indicates that everything
     has been transmitted at least once, but we're now waiting for the
     stuff remaining in the Tx buffer to be ACK'd (retransmissions may
     still happen).

    [43 lines not shown]
DeltaFile
+19-4net/rxrpc/input.c
+4-1net/rxrpc/call_event.c
+2-1net/rxrpc/sendmsg.c
+1-1net/rxrpc/conn_client.c
+2-0net/rxrpc/ar-internal.h
+2-0net/rxrpc/call_object.c
+30-76 files

Linux/linux a142da0block blk-cgroup.c bfq-cgroup.c, drivers/md raid5.c raid1.c

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

Pull block fixes from Jens Axboe:

 - blk-cgroup locking rework and fixes:
      - fix a use-after-free in __blkcg_rstat_flush()
      - defer freeing policy data until after an RCU grace period
      - defer the blkcg css_put until the blkg is unlinked from
        the queue
      - unwind the queue_lock nesting under RCU / blkcg->lock
        across the lookup, create, associate and destroy paths

 - NVMe fixes via Keith:
      - Fix a crash and memory leak during invalid cdev teardown,
        and related cdev cleanups (Maurizio, John)
      - nvmet fixes: handle TCP_CLOSING in the tcp state_change
        handler, reject short AUTH_RECEIVE buffers, handle inline
        data with a nonzero offset in rdma, fix an sq refcount leak,
        and allocate ana_state with the port (Maurizio, Michael,

    [54 lines not shown]
DeltaFile
+112-84block/blk-cgroup.c
+82-49drivers/md/raid5.c
+58-41drivers/md/raid1.c
+30-15drivers/nvme/host/core.c
+25-5block/bfq-cgroup.c
+20-8drivers/md/raid10.c
+327-20235 files not shown
+519-31641 files

Linux/linux c58ddacinclude/linux io_uring_types.h, io_uring register.c tw.c

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

Pull io_uring fixes from Jens Axboe:

 - Fix a file reference leak in the nop opcode when used with
   IOSQE_FIXED_FILE

 - Preserve the SQ array entries when resizing the ring via the register
   path

 - Preserve the partial result for an iopoll request rather than
   overwriting it

 - Don't audit log IORING_OP_RECV_ZC

 - Bound io_pin_pages() by the page array byte size in the memmap path

 - Follow-up cleanup to the task_work mpscq conversion, getting rid of
   the now-unnecessary tw_pending tracking for the !DEFER_TASKRUN path

    [11 lines not shown]
DeltaFile
+24-13io_uring/register.c
+9-12io_uring/tw.c
+6-6io_uring/rw.c
+9-0io_uring/mpscq.h
+4-4io_uring/nop.c
+0-2include/linux/io_uring_types.h
+52-372 files not shown
+54-388 files

Linux/linux 962528farch/x86 Kconfig, arch/x86/platform/geode geode-common.c

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

Pull gpio fixes from Bartosz Golaszewski:

 - fix locking context with shared GPIOs in gpio-tegra

 - fix IRQ domain leak in error path in gpio-davinci

 - fix returning a potentially uninitialized integer in
   gpiochip_set_multiple()

 - use raw spinlock in gpio-eic-sprd and gpio-sch to address locking
   context issues

 - bail out of probe() if registering the GPIO chip fails in gpio-mlxbf3

 - fix varible type for storing the "ngpios" property in gpio-pisosr

 - fix out-of-bounds pin access in GPIO ACPI

    [22 lines not shown]
DeltaFile
+45-12drivers/gpio/gpiolib-acpi-core.c
+16-16drivers/gpio/gpio-sch.c
+2-16drivers/gpio/gpio-tegra.c
+5-7arch/x86/platform/geode/geode-common.c
+5-5arch/x86/Kconfig
+4-4drivers/gpio/gpio-eic-sprd.c
+77-605 files not shown
+87-6411 files

Linux/linux ec85be7drivers/power/sequencing core.c pwrseq-pcie-m2.c

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

Pull power sequencing fixes from Bartosz Golaszewski:

 - fix an ABBA deadlock in pwrseq unregister path

 - fix a use-after-free bug in pwrseq core

 - sort PCI device IDs in ascending order in pwrseq-pcie-m2

* tag 'pwrseq-fixes-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: fix ABBA deadlock in pwrseq_device_unregister()
  power: sequencing: pcie-m2: Sort PCI device IDs in ascending order
  pwrseq: core: fix use-after-free in pwrseq_debugfs_seq_next()
DeltaFile
+15-8drivers/power/sequencing/core.c
+2-2drivers/power/sequencing/pwrseq-pcie-m2.c
+17-102 files

Linux/linux b78f348drivers/net/ethernet/hisilicon/hns3 hns3_ethtool.c, drivers/net/ethernet/hisilicon/hns3/hns3pf hclge_main.c hclge_main.h

Merge branch 'net-hns3-fix-configuration-deadlocks-and-refactor-link-setup'

Jijie Shao says:

====================
net: hns3: fix configuration deadlocks and refactor link setup

This patch series addresses a sequence of link configuration deadlocks
and parameter contamination issues in the hns3 network driver, which
typically occur during hardware resets or driver initialization under
specific user-configured scenarios.

The bugs root from asynchronous discrepancies between the MAC state
machine and cached user requests during sudden hardware resets, leading
to invalid parameter combos or frozen registers.
====================

Link: https://patch.msgid.link/20260624141319.271439-1-shaojijie@huawei.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+86-22drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+15-16drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+1-0drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
+102-383 files

Linux/linux c01f6e6drivers/net/ethernet/hisilicon/hns3/hns3pf hclge_main.c hclge_main.h

net: hns3: refactor MAC autoneg and speed configuration

Extract the MAC autoneg and speed/duplex/lane configuration logic out
of hclge_mac_init() and encapsulate it into a new dedicated helper
function hclge_set_autoneg_speed_dup().

In the init path (hclge_init_ae_dev), this helper is now called after
hclge_update_port_info() so that firmware-reported autoneg values are
already populated before applying the link configuration.

Introduce a separate req_lane_num field in struct hclge_mac to isolate
the user-requested lane count from mac.lane_num, which firmware may
overwrite via hclge_get_sfp_info() with stale values from a prior link
lifecycle (e.g., lane_num=4 from 100G). During probe, req_lane_num is
initialized to 0, which instructs firmware to auto-select the correct
lane count for the current speed, rather than reusing the firmware-
reported mac.lane_num that may be inconsistent with the target speed.
This prevents probe failures from mismatched (speed, lane_num) pairs.


    [8 lines not shown]
DeltaFile
+41-14drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+1-0drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
+42-142 files