Linux/linux ef5f46bsecurity/selinux hooks.c, security/selinux/include objsec.h

Merge tag 'selinux-pr-20260501' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux

Pull selinux fixes from Paul Moore:

 - Ensure SELinux is always properly accessing its own sock LSM state

 - Only reserve an xattr slot for SELinux if it will be used

 - Fix a SELinux auditing regression in the directory avdcache

* tag 'selinux-pr-20260501' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
  selinux: fix avdcache auditing
  selinux: don't reserve xattr slot when we won't fill it
  selinux: use sk blob accessor in socket permission helpers
DeltaFile
+17-21security/selinux/hooks.c
+1-3security/selinux/include/objsec.h
+18-242 files

Linux/linux ee9dce4kernel fork.c

futex: Drop CLONE_THREAD requirement for private default hash alloc

Currently need_futex_hash_allocate_default() depends on strict pthread
semantics, abusing CLONE_THREAD.  This breaks the non-concurrency
assumptions when doing the mm->futex_ref pcpu allocations, leading to
bugs[0] when sharing the mm in other ways; ie:

    BUG: KASAN: slab-use-after-free in futex_hash_put

... where the +1 bias can end up on a percpu counter that mm->futex_ref
no longer points at.

Loosen the check to cover any CLONE_VM clone, except vfork().  Excluding
vfork keeps the existing paths untouched (no overhead), and we can't
race in the first place: either the parent is suspended and the child
runs alone, or mm->futex_ref is already allocated from an earlier
CLONE_VM.

Link: https://lore.kernel.org/all/CAL_bE8LsmCQ-FAtYDuwbJhOkt9p2wwYQwAbMh=PifC=VsiBM6A@mail.gmail.com/ [0]

    [4 lines not shown]
DeltaFile
+5-7kernel/fork.c
+5-71 files

Linux/linux bb1d73f. MAINTAINERS, arch/s390/kernel debug.c

Merge tag 's390-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Alexander Gordeev:

 - Reject zero-length writes from userspace that corrupt Debug Facility
   buffers

 - Replace one s390 PCI maintainer

 - Remove SCLP_OFB Kconfig option and enable the guarded code
   unconditionally

 - Replace incorrect use of phys_to_folio() to virt_to_folio() in
   do_secure_storage_access()

* tag 's390-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/mm: Fix phys_to_folio() usage in do_secure_storage_access()
  s390/sclp: Remove SCLP_OFB Kconfig option
  MAINTAINERS: Replace one of the maintainers for s390/pci

    [2 lines not shown]
DeltaFile
+8-0arch/s390/kernel/debug.c
+0-8drivers/s390/char/Kconfig
+0-6drivers/s390/char/sclp_config.c
+1-1arch/s390/mm/fault.c
+1-1MAINTAINERS
+10-165 files

Linux/linux 227c3d5fs/smb/server connection.c smb2pdu.c

Merge tag 'v7.1-rc2-ksmbd-server-fixes' of git://git.samba.org/ksmbd

Pull smb server fixes from Steve French:

 - Fix shutdown (stop sessions)

 - Fix readdir unsupported info level

* tag 'v7.1-rc2-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
  ksmbd: rewrite stop_sessions() with restartable iteration
  smb: server: handle readdir_info_level_struct_sz() error
DeltaFile
+39-9fs/smb/server/connection.c
+7-1fs/smb/server/smb2pdu.c
+1-0fs/smb/server/connection.h
+47-103 files

Linux/linux 6fe0be6drivers/cdrom cdrom.c, drivers/md md.c md-bitmap.c

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

Pull block fixes from Jens Axboe:

 - MD pull request via Yu:
      - Fix a raid5 UAF on IO across the reshape position
      - Avoid failing RAID1/RAID10 devices for invalid IO errors
      - Fix RAID10 divide-by-zero when far_copies is zero
      - Restore bitmap grow through sysfs
      - Use mddev_is_dm() instead of open-coding gendisk checks
      - Use ATTRIBUTE_GROUPS() for md default sysfs attributes
      - Replace open-coded wait loops with wait_event helpers

 - NVMe pull request via Keith:
      - Target data transfer size configuation (Aurelien)
      - Enable P2P for RDMA (Shivaji Kant)
      - TCP target updates (Maurizio, Alistair, Chaitanya, Shivam Kumar)
      - TCP host updates (Alistair, Chaitanya)
      - Authentication updates (Alistair, Daniel, Chris Leech)

    [29 lines not shown]
DeltaFile
+102-80drivers/md/md.c
+120-13drivers/md/md-bitmap.c
+64-53drivers/nvme/target/tcp.c
+74-20drivers/nvme/common/auth.c
+48-25drivers/cdrom/cdrom.c
+22-7drivers/nvme/host/tcp.c
+430-19827 files not shown
+588-27633 files

Linux/linux 9d88bb9include/uapi/linux io_uring.h, io_uring tw.c kbuf.c

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

Pull io_uring fixes from Jens Axboe:

 - Remove dead struct io_buffer_list member

 - Fix for incrementally consumed buffers with recvmsg multishot, which
   requires a minimum value left in a buffer for any receive for the
   headers. If there's still a bit of buffer left but it's smaller than
   that value, then userspace will see a spurious -EFAULT returned in
   the CQE

 - Locking fix for the DEFER_TASKRUN retry list, which otherwise could
   race with fallback cancelations. If the task is exiting with
   task_work left in both the normal and retry list AND the exit cleanup
   races with the task running task work, then entries could either be
   doubly completed or lost

 - Cap NAPI busy poll timeout to something sane, to avoid syzbot running

    [7 lines not shown]
DeltaFile
+11-1io_uring/tw.c
+7-2io_uring/kbuf.c
+7-1io_uring/kbuf.h
+2-1include/uapi/linux/io_uring.h
+2-0io_uring/napi.c
+29-55 files

Linux/linux 33d0c9cdrivers/spi spi-cadence-quadspi.c spi-cadence.c

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

Pull spi fixes from Mark Brown:
 "There are a couple of nasty issues fixed here in the axiado and
  rockchip drivers. We've also got more of the fixes from Johan here,
  this time for the two Cadence drivers, plus a couple of other similar
  fixes from John and Felix"

* tag 'spi-fix-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: amlogic-spisg: initialize completion before requesting IRQ
  spi: axiado: replace usleep_range() with udelay() in IRQ path
  spi: cadence-quadspi: fix runtime pm and clock imbalance on unbind
  spi: cadence-quadspi: fix unclocked access on unbind
  spi: cadence-quadspi: fix clock imbalance on probe failure
  spi: cadence-quadspi: fix runtime pm disable imbalance on probe failure
  spi: cadence: fix clock imbalance on probe failure
  spi: cadence: fix unclocked access on unbind
  spi: rockchip: Drop unused and broken CR0 macros
  spi: rockchip: Read ISR, not IMR, to detect cs-inactive IRQ
  spi: rzv2h-rspi: Fix silent failure in clock setup error path
DeltaFile
+18-18drivers/spi/spi-cadence-quadspi.c
+13-2drivers/spi/spi-cadence.c
+2-4drivers/spi/spi-rockchip.c
+1-2drivers/spi/spi-amlogic-spisg.c
+1-1drivers/spi/spi-axiado.c
+1-1drivers/spi/spi-rzv2h-rspi.c
+36-286 files

Linux/linux d8b0e2edrivers/regulator Kconfig

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

Pull regulator fix from Mark Brown:
 "A fix from Arnd re-adding a dependency on gpiolib which was implicitly
  pulled in via an OF specific route which got removed as part of a
  cleanup"

* tag 'regulator-fix-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: rpi-panel-attiny: add back GPIOLIB dependency
DeltaFile
+1-0drivers/regulator/Kconfig
+1-01 files

Linux/linux a973736drivers/base/regmap regmap-sdw-mbq.c

Merge tag 'regmap-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap fix from Mark Brown:
 "A fix from Colin for a spelling mistake in a dev_warn() message"

* tag 'regmap-v7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: sdw-mbq: Fix spelling mistake "undeferable" -> "undeferrable"
DeltaFile
+1-1drivers/base/regmap/regmap-sdw-mbq.c
+1-11 files

Linux/linux 2b4d021. MAINTAINERS, mm memcontrol.c util.c

Merge tag 'mm-hotfixes-stable-2026-04-30-15-39' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull MM fixes from Andrew Morton:
 "20 hotfixes. All are for MM (and for MMish maintainers). 9 are
  cc:stable and the remainder are for post-7.0 issues or aren't deemed
  suitable for backporting.

  There are two DAMON series from SeongJae Park which address races
  which could lead to use-after-free errors, and avoid the possibility
  of presenting stale parameter values to users"

* tag 'mm-hotfixes-stable-2026-04-30-15-39' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  mm: memcontrol: fix rcu unbalance in get_non_dying_memcg_end()
  mm/userfaultfd: detect VMA type change after copy retry in mfill_copy_folio_retry()
  MAINTAINERS: remove stale kdump project URL
  mm/damon/stat: detect and use fresh enabled value
  mm/damon/lru_sort: detect and use fresh enabled and kdamond_pid values
  mm/damon/reclaim: detect and use fresh enabled and kdamond_pid values
  selftests/mm: specify requirement for PROC_MEM_ALWAYS_FORCE=y

    [13 lines not shown]
DeltaFile
+55-30mm/damon/reclaim.c
+55-30mm/damon/lru_sort.c
+20-10mm/damon/stat.c
+15-15MAINTAINERS
+19-10mm/memcontrol.c
+17-9mm/util.c
+181-10417 files not shown
+262-14023 files

Linux/linux 8c0f9cddrivers/spi spi-cadence.c

spi: cadence: Probe and unbind fixes

Several fixes from Johan for issues with unbind and error handling in
probe.
DeltaFile
+13-2drivers/spi/spi-cadence.c
+13-21 files

Linux/linux 4f12ee0drivers/spi spi-cadence-quadspi.c

spi: cadence-quadspi: Probe and unbind fixes

Several fixes from Johan for probe failure and unbind issues in the
cadence-quadspi driver.
DeltaFile
+18-18drivers/spi/spi-cadence-quadspi.c
+18-181 files

Linux/linux 26fd6bfdrivers/mtd/nand/spi core.c winbond.c, drivers/mtd/spi-nor debugfs.c

Merge tag 'mtd/fixes-for-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux

Pull mtd fixes from Miquel Raynal:
 "Besides an out-of-bound bug, this is about properly supporting Winbond
  octal SPI NAND chips which use a specific pattern for stuffing more
  address bits in some operations. This uses the spi-mem flag in SPI
  NAND that was added to the spi-mem layer just before the merge window
  through the spi tree"

* tag 'mtd/fixes-for-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
  mtd: spinand: winbond: Fix ODTR write VCR on W35NxxJW
  mtd: spinand: winbond: Set the packed page read flag to W35N02/04JW
  mtd: spinand: Add support for packed read data ODTR commands
  mtd: spi-nor: debugfs: fix out-of-bounds read in spi_nor_params_show()
DeltaFile
+21-3drivers/mtd/nand/spi/core.c
+7-0include/linux/mtd/spinand.h
+3-3drivers/mtd/nand/spi/winbond.c
+3-1drivers/mtd/spi-nor/debugfs.c
+34-74 files

Linux/linux cae4ef6drivers/acpi acpi_tad.c video_detect.c, drivers/acpi/apei einj-core.c

Merge tag 'acpi-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI support fixes from Rafael Wysocki:
 "These fix leftover issues in the ACPI Time and Alarm Device (TAD)
  driver on top of the recently merged updates of it and address
  assorted issues in the ACPI support code:

   - Fix removal code ordering in the ACPI TAD driver, refine timer
     value computations and checks in its RTC class device interface,
     make it use the __ATTRIBUTE_GROUPS() macro, and fix a comment in it
     (Rafael Wysocki)

   - Fix EINJV2 memory error injection in APEI (Tony Luck)

   - Add missing notifier_block structure forward declaration to
     acpi_bus.h (Bartosz Golaszewski)

   - Fix related_cpus inconsistency during CPU hotplug in the ACPI CPPC
     library (Jinjie Ruan)

    [14 lines not shown]
DeltaFile
+30-25drivers/acpi/apei/einj-core.c
+19-16drivers/acpi/acpi_tad.c
+8-0drivers/acpi/video_detect.c
+6-0include/acpi/actbl1.h
+3-3drivers/acpi/cppc_acpi.c
+2-0include/acpi/acpi_bus.h
+68-446 files

Linux/linux 74b54e9fs/smb/client fs_context.c smb2ops.c

Merge tag 'v7.1-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:

 - multichannel crediting fix

 - memory allocation improvement for smb2_compound_op

 - remove some dead code

* tag 'v7.1-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  cifs: change_conf needs to be called for session setup
  smb: client: change allocation requirements in smb2_compound_op
  smb/client: remove unused smb3_parse_opt()
DeltaFile
+0-31fs/smb/client/fs_context.c
+11-0fs/smb/client/smb2ops.c
+1-1fs/smb/client/smb2inode.c
+0-1fs/smb/client/cifsproto.h
+12-334 files

Linux/linux 36a96eddrivers/acpi video_detect.c cppc_acpi.c, drivers/acpi/apei einj-core.c

Merge branches 'acpi-apei', 'acpi-bus', 'acpi-cppc' and 'acpi-video'

Merge assorted ACPI support fixes for 7.1-rc2:

 - Fix EINJV2 memory error injection in APEI (Tony Luck)

 - Add missing notifier_block structure forward declaration to
   acpi_bus.h (Bartosz Golaszewski)

 - Fix related_cpus inconsistency during CPU hotplug in the ACPI CPPC
   library (Jinjie Ruan)

 - Add a quirk to force native backlight on HP OMEN 16 (8A44) in the
   ACPI video bus driver (Shivam Kalra)

* acpi-apei:
  ACPI: APEI: EINJ: Fix EINJV2 memory error injection
  ACPICA: Provide #defines for EINJV2 error types


    [8 lines not shown]
DeltaFile
+30-25drivers/acpi/apei/einj-core.c
+8-0drivers/acpi/video_detect.c
+6-0include/acpi/actbl1.h
+3-3drivers/acpi/cppc_acpi.c
+2-0include/acpi/acpi_bus.h
+49-285 files

Linux/linux 08d0d34drivers/net/bonding bond_3ad.c, drivers/net/ethernet/intel/ice ice_dpll.c

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

Pull networking fixes from Paolo Abeni:
 "Including fixes from netfilter.

  Current release - regressions:

   - ipmr: free mr_table after RCU grace period.

  Previous releases - regressions:

   - core: add net_iov_init() and use it to initialize ->page_type

   - sched: taprio: fix NULL pointer dereference in class dump

   - netfilter: nf_tables:
      - use list_del_rcu for netlink hooks
      - fix strict mode inbound policy matching


    [53 lines not shown]
DeltaFile
+225-89net/netfilter/nf_tables_api.c
+113-104net/sched/sch_cake.c
+118-34net/netfilter/nf_conntrack_sip.c
+134-12drivers/net/ethernet/intel/ice/ice_dpll.c
+60-49drivers/net/bonding/bond_3ad.c
+58-50net/ipv4/ipmr.c
+708-33868 files not shown
+1,351-60374 files

Linux/linux 6cd7026drivers/ata/pata_parport pata_parport.c

Merge tag 'ata-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fix from Niklas Cassel:

 - Fix a reference leak on device_register() failure in pata_parport

* tag 'ata-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: pata_parport: switch to dynamic root device
DeltaFile
+7-14drivers/ata/pata_parport/pata_parport.c
+7-141 files

Linux/linux 2aa0a36sound/core/oss pcm_oss.c, sound/drivers aloop.c

Merge tag 'sound-7.1-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "A bunch of small fixes. One minor fix is found in the core side for
  data race in PCM OSS layer, while remaining changes are various
  device-specific fixes and quirks.

   - Core: PCM OSS data race fix

   - HD-audio: Fixes for TAS2781, CS35L56, and Realtek/Conexant quirks;
     avoidance of a WARN_ON for HDMI channel mapping

   - USB-audio: Improvements in UAC3 parsing robustness (leaks, size
     checks) and fixes for potential endless loops

   - ASoC: Driver-specific fixes for CS35L56, Intel bytcr_wm5102,
     Spacemit, AW88395, and others, plus a new quirk for Steam Deck
     OLED


    [25 lines not shown]
DeltaFile
+25-37sound/usb/stream.c
+34-15sound/soc/spacemit/k1_i2s.c
+30-13sound/drivers/aloop.c
+21-10sound/hda/codecs/side-codecs/cs35l56_hda.c
+23-6sound/core/oss/pcm_oss.c
+25-1sound/soc/codecs/wcd937x.c
+158-8226 files not shown
+266-12232 files

Linux/linux 99ebc50mm memcontrol.c

mm: memcontrol: fix rcu unbalance in get_non_dying_memcg_end()

Currently, get_non_dying_memcg_start() and get_non_dying_memcg_end() both
evaluate cgroup_subsys_on_dfl(memory_cgrp_subsys) independently to
determine whether to acquire or release the RCU read lock.

However, the result of cgroup_subsys_on_dfl() can change dynamically at
runtime due to cgroup hierarchy rebinding (e.g., when the memory
controller is moved between cgroup v1 and v2 hierarchies).  This can cause
the following warning:

 =====================================
 WARNING: bad unlock balance detected!
 7.0.0-next-20260420+ #83 Tainted: G        W
 -------------------------------------
 memcg-repro/270 is trying to release lock (rcu_read_lock) at:
 [<ffffffff815f57f7>] rcu_read_unlock+0x17/0x60
 but there are no more locks to release!


    [47 lines not shown]
DeltaFile
+19-10mm/memcontrol.c
+19-101 files

Linux/linux 17666e2io_uring tw.c

io_uring/tw: serialize ctx->retry_llist with ->uring_lock

The DEFER_TASKRUN local task work paths all run under ctx->uring_lock,
which serializes them with each other and with the rest of the ring's
hot paths. io_move_task_work_from_local() is the exception - it's called
from io_ring_exit_work() on a kworker without holding the lock and from
the iopoll cancelation side right after dropping it.

->work_llist is fine with this, as it's only ever updated via the
expected paths. But the ->retry_llist is updated while runing, and hence
it could potentially race between normal task_work running and the
task-has-exited shutdown path.

Simply grab ->uring_lock while moving the local work to the fallback
list for exit purposes, which nicely serializes it across both the
normal additions and the exit prune path.

Cc: stable at vger.kernel.org
Fixes: f46b9cdb22f7 ("io_uring: limit local tw done")

    [4 lines not shown]
DeltaFile
+11-1io_uring/tw.c
+11-11 files

Linux/linux 1e01abenet/sched cls_flower.c

net/sched: cls_flower: revert unintended changes

While applying the blamed commit 4ca07b9239bd ("net: mctp i2c: check
length before marking flow active"), I unintentionally included
unrelated and unacceptable changes.

Revert them.

Fixes: 4ca07b9239bd ("net: mctp i2c: check length before marking flow active")
Reported-by: Jeremy Kerr <jk at codeconstruct.com.au>
Closes: https://lore.kernel.org/netdev/bd8704fe0bd53e278add5cde4873256656623e2e.camel@codeconstruct.com.au/
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
Link: https://patch.msgid.link/043026a53ff84da88b17648c4b0d17f0331749cb.1777447863.git.pabeni@redhat.com
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+1-3net/sched/cls_flower.c
+1-31 files

Linux/linux 051ffb0drivers/net/ethernet/sfc efx_devlink.c

sfc: fix error code in efx_devlink_info_running_versions()

Return -EIO if efx_mcdi_rpc() doesn't return enough space.

Fixes: 14743ddd2495 ("sfc: add devlink info support for ef100")
Signed-off-by: Dan Carpenter <error27 at gmail.com>
Reviewed-by: Edward Cree <ecree.xilinx at gmail.com>
Link: https://patch.msgid.link/afGpsbLRHL4_H0KS@stanley.mountain
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+1-1drivers/net/ethernet/sfc/efx_devlink.c
+1-11 files

Linux/linux 5868949net/tls tls_strp.c tls_sw.c

net: tls: fix strparser anchor skb leak on offload RX setup failure

When tls_set_device_offload_rx() fails at tls_dev_add(), the error path
calls tls_sw_free_resources_rx() to clean up the SW context that was
initialized by tls_set_sw_offload(). This function calls
tls_sw_release_resources_rx() (which stops the strparser via
tls_strp_stop()) and tls_sw_free_ctx_rx() (which kfrees the context),
but never frees the anchor skb that was allocated by alloc_skb(0) in
tls_strp_init().

Note that tls_sw_free_resources_rx() is exclusively used for this
"failed to start offload" code path, there's no other caller.

The leak did not exist before commit 84c61fe1a75b ("tls: rx: do not use
the standard strparser"), because the standard strparser doesn't try
to pre-allocate an skb.

The normal close path in tls_sk_proto_close() handles cleanup by calling
tls_sw_strparser_done() (which calls tls_strp_done()) after dropping

    [8 lines not shown]
DeltaFile
+6-0net/tls/tls_strp.c
+4-0net/tls/tls_sw.c
+1-0net/tls/tls.h
+11-03 files

Linux/linux 4788859drivers/dpll dpll_netlink.c, drivers/net/ethernet/intel/iavf iavf_virtchnl.c iavf_main.c

Merge branch 'intel-wired-lan-update-2026-04-27-ice-iavf'

Jacob Keller says:

====================
Intel Wired LAN Update 2026-04-27 (ice, iavf)

Petr Oros from RedHat has accumulated a number of fixes for the Intel ice
and iavf drivers, bundled together in this series.

First, a series of 4 fixes to resolve issues with the iavf driver logic for
handling VLAN filters. This includes keeping VLAN filters while the
interface is brought down, waiting for confirmation on filter deletion
before deleting filters from the driver tracking structures, and handling
the VIRTCHNL_OP_ADD_VLAN for the old v1 VLAN_ADD command.

A fix for a crash in ice_reset_all_vfs(), properly checking for errors when
ice_vf_rebuild_vsi() fails.


    [22 lines not shown]
DeltaFile
+134-12drivers/net/ethernet/intel/ice/ice_dpll.c
+36-40drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
+12-40drivers/net/ethernet/intel/iavf/iavf_main.c
+10-0drivers/dpll/dpll_netlink.c
+4-5drivers/net/ethernet/intel/iavf/iavf.h
+6-1drivers/net/ethernet/intel/ice/ice_vf_lib.c
+202-985 files not shown
+207-10211 files

Linux/linux 620055cdrivers/dpll dpll_netlink.c dpll_netlink.h, include/linux dpll.h

dpll: export __dpll_pin_change_ntf() for use under dpll_lock

Export __dpll_pin_change_ntf() so that drivers can send pin change
notifications from within pin callbacks, which are already called
under dpll_lock. Using dpll_pin_change_ntf() in that context would
deadlock.

Add lockdep_assert_held() to catch misuse without the lock held.

Acked-by: Vadim Fedorenko <vadim.fedorenko at linux.dev>
Signed-off-by: Ivan Vecera <ivecera at redhat.com>
Signed-off-by: Petr Oros <poros at redhat.com>
Tested-by: Alexander Nowlin <alexander.nowlin at intel.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski at intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller at intel.com>
Link: https://patch.msgid.link/20260427-jk-iwl-net-petr-oros-fixes-v1-9-cdcb48303fd8@intel.com
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+10-0drivers/dpll/dpll_netlink.c
+0-2drivers/dpll/dpll_netlink.h
+1-0include/linux/dpll.h
+11-23 files

Linux/linux 6f9d839drivers/net/ethernet/intel/ice ice_dpll.c

ice: fix SMA and U.FL pin state changes affecting paired pin

SMA and U.FL pins share physical signal paths in pairs (SMA1/U.FL1 and
SMA2/U.FL2) controlled by the PCA9575 GPIO expander.  Each pair can
only have one active pin at a time: SMA1 output and U.FL1 output share
the same CGU output, SMA2 input and U.FL2 input share the same CGU
input.  The PCA9575 register bits determine which connector in each
pair owns the signal path.

The driver does not account for this pairing in two places:

ice_dpll_ufl_pin_state_set() modifies PCA9575 bits and disables the
backing CGU pin without checking whether the U.FL pin is currently
active.  Disconnecting an already inactive U.FL pin flips bits that
the paired SMA pin relies on, breaking its connection.

ice_dpll_sma_direction_set() does not propagate direction changes to
the paired U.FL pin.  For SMA2/U.FL2 the ICE_SMA2_UFL2_RX_DIS bit is
never managed, so U.FL2 stays disconnected after SMA2 switches to

    [16 lines not shown]
DeltaFile
+49-1drivers/net/ethernet/intel/ice/ice_dpll.c
+49-11 files

Linux/linux 9e5deaddrivers/net/ethernet/intel/ice ice_dpll.c

ice: add dpll peer notification for paired SMA and U.FL pins

SMA and U.FL pins share physical signal paths in pairs (SMA1/U.FL1 and
SMA2/U.FL2).  When one pin's state changes via a PCA9575 GPIO write,
the paired pin's state also changes, but no notification is sent for
the peer pin.  Userspace consumers monitoring the peer via dpll netlink
subscribe never learn about the update.

Add ice_dpll_sw_pin_notify_peer() which sends a change notification for
the paired SW pin.  Call it from ice_dpll_pin_sma_direction_set(),
ice_dpll_sma_pin_state_set(), and ice_dpll_ufl_pin_state_set() after
pf->dplls.lock is released.  Use __dpll_pin_change_ntf() because
dpll_lock is still held by the dpll netlink layer (dpll_pin_pre_doit).

Fixes: 2dd5d03c77e2 ("ice: redesign dpll sma/u.fl pins control")
Signed-off-by: Petr Oros <poros at redhat.com>
Tested-by: Alexander Nowlin <alexander.nowlin at intel.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski at intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>

    [3 lines not shown]
DeltaFile
+32-0drivers/net/ethernet/intel/ice/ice_dpll.c
+32-01 files

Linux/linux 1a41b58drivers/net/ethernet/intel/ice ice_dpll.c

ice: fix missing dpll notifications for SW pins

The SMA/U.FL pin redesign (commit 2dd5d03c77e2 ("ice: redesign dpll
sma/u.fl pins control")) introduced software-controlled pins that wrap
backing CGU input/output pins, but never updated the notification and
data paths to propagate pin events to these SW wrappers.

The periodic work sends dpll_pin_change_ntf() only for direct CGU input
pins.  SW pins that wrap these inputs never receive change or phase
offset notifications, so userspace consumers such as synce4l monitoring
SMA pins via dpll netlink never learn about state transitions or phase
offset updates.  Similarly, ice_dpll_phase_offset_get() reads the SW
pin's own phase_offset field which is never updated; the PPS monitor
writes to the backing CGU input's field instead.

Fix by introducing ice_dpll_pin_ntf(), a wrapper around
dpll_pin_change_ntf() that also notifies any registered SMA/U.FL pin
whose backing CGU input matches.  Replace all direct
dpll_pin_change_ntf() calls in the periodic notification paths with

    [12 lines not shown]
DeltaFile
+36-11drivers/net/ethernet/intel/ice/ice_dpll.c
+36-111 files

Linux/linux bbcbe4edrivers/net/ethernet/intel/iavf iavf_virtchnl.c iavf_main.c

iavf: wait for PF confirmation before removing VLAN filters

The VLAN filter DELETE path was asymmetric with the ADD path: ADD
waits for PF confirmation (ADD -> ADDING -> ACTIVE), but DELETE
immediately frees the filter struct after sending the DEL message
without waiting for the PF response.

This is problematic because:
 - If the PF rejects the DEL, the filter remains in HW but the driver
   has already freed the tracking structure, losing sync.
 - Race conditions between DEL pending and other operations
   (add, reset) cannot be properly resolved if the filter struct
   is already gone.

Add IAVF_VLAN_REMOVING state to make the DELETE path symmetric:

  REMOVE -> REMOVING (send DEL) -> PF confirms -> kfree
                                -> PF rejects  -> ACTIVE


    [28 lines not shown]
DeltaFile
+25-12drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
+8-5drivers/net/ethernet/intel/iavf/iavf_main.c
+1-0drivers/net/ethernet/intel/iavf/iavf.h
+34-173 files