Linux/linux 0d9ff90drivers/scsi scsi_bsg.c, drivers/scsi/megaraid megaraid_sas_base.c

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

Pull SCSI fixes from James Bottomley:
 "Two enhancements to add support and MCQ for additional Intel 4.0
  controller types.

  The rest are all driver fixes, the largest of which is the mpi3mr
  target use after free fix, follwed by a similar TOCTOU fix for
  io_uring passthrough in bsg"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: megaraid_sas: Limit NVMe request size to the PRP chain frame
  scsi: bsg: Fix TOCTOU in io_uring passthrough command setup
  scsi: bsg: Cap io_uring sense copy to max_response_len
  scsi: mpt3sas: Avoid out-of-bounds cpumask_of_node() call in _base_assign_reply_queues()
  scsi: mpi3mr: Fix use-after-free on tgt_dev->starget during target device refresh/update
  scsi: target: iscsi: Reserve a terminator byte for the login payload
  scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands
  scsi: ufs: ufs-pci: Add MCQ support for Intel UFS 4.0 controllers

    [10 lines not shown]
DeltaFile
+59-0drivers/ufs/host/ufshcd-pci.c
+29-18drivers/scsi/scsi_bsg.c
+35-10drivers/scsi/mpi3mr/mpi3mr_os.c
+13-4drivers/ufs/host/ufs-qcom.c
+12-1drivers/scsi/megaraid/megaraid_sas_base.c
+8-0drivers/scsi/mpi3mr/mpi3mr_transport.c
+156-337 files not shown
+170-4013 files

Linux/linux d0fc310Documentation/fault-injection nvme-fault-injection.rst, drivers/nvme/host rdma.c fc.c

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

Pull block fixes from Jens Axboe:

 - NVMe fixes via Keith:
     - nvme-tcp fixes for an out-of-bounds write on an over-long PDU
     - nvmet-tcp, nvmet-rdma and nvme-rdma leak and cleanup-ordering
       fixes
     - FDP placement id array racy access fix
     - nvme-fc double free of fabrics options on nvme_add_ctrl()
       failure, and a secret leak failure
     - Fault injection opcode filtering
     - stale namespace removal during scan
     - Various other smaller fixes and cleanups

 - Flag zoned disks with GENHD_FL_NO_PART

 - Save the page offset gaps in a cloned bio


    [26 lines not shown]
DeltaFile
+57-42drivers/nvme/host/core.c
+65-0Documentation/fault-injection/nvme-fault-injection.rst
+20-6drivers/nvme/host/fc.c
+9-9include/linux/nvme-tcp.h
+10-8drivers/nvme/host/rdma.c
+7-8drivers/nvme/target/rdma.c
+168-7318 files not shown
+260-9024 files

Linux/linux 4d7d948Documentation/ABI/testing ima_policy, fs/configfs mount.c

Merge tag 'integrity-v7.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity

Pull IMA fixes from Mimi Zohar:

 - Instantiating the ima_file_truncate and ima_path_truncate LSM hooks
   resulted in configfs locking issues.

   configfs files should not be measured, appraised, or audited in the
   first place, so the builtin policies are updated to exclude them.

 - IMA audit messages include the filename, which could result in a page
   fault when the filename doesn't exist

 - Un-hide the IMA_MEASURE_PCR_IDX Kconfig prompt

* tag 'integrity-v7.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
  ima: allow users to specify the pcr index with IMA_MEASURE_PCR_IDX
  ima: Check for ERR_PTR from dentry_path() in validate_hash_algo()
  ima: don't measure/appraise files on configfs
  configfs: move CONFIGFS_MAGIC definition to magic.h
DeltaFile
+6-1security/integrity/ima/ima_policy.c
+5-1security/integrity/ima/Kconfig
+1-3fs/configfs/mount.c
+3-0Documentation/ABI/testing/ima_policy
+2-0security/integrity/ima/ima_appraise.c
+1-0include/uapi/linux/magic.h
+18-56 files

Linux/linux 654ae5ddrivers/dma-buf dma-heap.c, drivers/gpu/drm drm_pagemap.c

Merge tag 'drm-fixes-2026-09-05' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Lots of scattered fixes: nouveau has a bunch of display fixes for
  blackwell GPUs that should mean we light up monitors properly and fix
  some desktop rendering problems, amdgpu and intel display changes as
  usual.

  There also changes to the core pagemap, then the usual amouny of AI
  inspired validation fixes.

  core:
   - Fix drm_crtc_commit leak when PAGE_FLIP_EVENT is used

  dma-buf:
   - Publish the dma-buf only after copy_to_user succeeds
   - fix some kernel-doc warnings

  atomic-state-helpers:

    [106 lines not shown]
DeltaFile
+233-37drivers/gpu/drm/drm_pagemap.c
+191-0drivers/gpu/drm/nouveau/nvkm/engine/disp/gb202.c
+52-73drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/disp.c
+112-1tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
+85-1drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.c
+40-40drivers/dma-buf/dma-heap.c
+713-15279 files not shown
+1,210-31785 files

Linux/linux 3f17a52arch/arm64/include/asm cpufeature.h, arch/arm64/kernel cpuinfo.c cpu_errata.c

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

Pull arm64 fixes from Will Deacon:
 "Nothing Earth-shattering, but worthwhile fixes nonetheless:

   - Disable interrupts during page-table walk in show_pte()

   - Fix kexec_file_load() with 52-bit capable kernels on machines
     without 52-bit addressing

   - Fix MIDR matching in CPU errata handling for KVM guests

   - Avoid reading MTE-specific ID registers when MTE support is
     disabled"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Don't read GMID_EL1 when MTE is disabled
  arm64: errata: pass REVIDR when matching target implementation CPUs
  arm64: trans_pgd: clone only the linear map that exists at runtime
  arm64: mm: Fix the lockless page-table walk in show_pte()
DeltaFile
+29-4arch/arm64/kernel/cpufeature.c
+8-4arch/arm64/mm/fault.c
+0-7arch/arm64/include/asm/cpufeature.h
+2-1arch/arm64/kernel/machine_kexec.c
+1-1arch/arm64/kernel/cpuinfo.c
+1-1arch/arm64/kernel/cpu_errata.c
+41-181 files not shown
+42-187 files

Linux/linux 408802ffs/ceph mds_client.h mds_client.c, net/ceph messenger.c

Merge tag 'ceph-for-7.3-rc2' of https://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:
 "A small fixup for the new nearfull_sync mount option, a potential
  use-after-free fix (marked for stable) and a patch that eliminates
  the last use of PageWriteback macro in the tree"

* tag 'ceph-for-7.3-rc2' of https://github.com/ceph/ceph-client:
  ceph: apply nearfull_sync option on remount
  libceph: remove pinning assertion in ceph_msg_data_iter_next()
  ceph: lock mutex in ceph_mds_check_access()
DeltaFile
+5-0fs/ceph/super.c
+4-0fs/ceph/mds_client.c
+0-1net/ceph/messenger.c
+1-0fs/ceph/mds_client.h
+10-14 files

Linux/linux 6903878security/integrity/ima Kconfig

ima: allow users to specify the pcr index with IMA_MEASURE_PCR_IDX

The IMA_MEASURE_PCR_IDX option is currently not visible in the kconfig
frontend, so it always uses its default, 10. This means that the
'range 8 14' is dead code, and users are unable to specify the pcr index
value.

In a previous discussion, Mimi explained that users should be able to use
this config option to specify the pcr index. [1]

Let's add a prompt for users to specify the pcr index, when EXPERT is
enabled.

This dead range was found by kconfirm, a static analysis tool for Kconfig.

Link: https://lore.kernel.org/all/1feff118-4afa-4b9c-86f1-271a7a88208f@gmail.com/T/#mc4efa2491b4937eb7c9e532c29ffba516a70e662 [1]
Signed-off-by: Julian Braha <julianbraha at gmail.com>
Signed-off-by: Mimi Zohar <zohar at linux.ibm.com>
DeltaFile
+5-1security/integrity/ima/Kconfig
+5-11 files

Linux/linux 986c24edrivers/hid wacom_wac.c hid-multitouch.c, drivers/hid/bpf hid_bpf_struct_ops.c

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

Pull HID fixes from Benjamin Tissoires:

 - hid-hyperv build fixes on certain configs (Jiri Kosina)

 - HID-BPF fix and selftests now that the bpf verifier is more
   restrictive (Benjamin Tissoires)

 - Some AI detected fixes for OOB, errors and validation (Ibrahim
   Hashimov, Shen Yongchao, Wei Jie Law)

 - various device fixes (Dave Carey and Vadim Klishko)

* tag 'hid-for-linus-2026090401' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  HID: bpf: serialize device reference release in struct_ops destroy path
  HID: rmi: fix OOB access with undersized RMI reports
  selftests/hid: prepare test_rdesc_fixup_get_data_overflow for the new verifier
  selftests/hid: Add a test to ensure we can write fields in hid_device

    [6 lines not shown]
DeltaFile
+43-8tools/testing/selftests/hid/hid_bpf.c
+43-3drivers/hid/hid-rmi.c
+26-0tools/testing/selftests/hid/progs/hid.c
+19-4drivers/hid/bpf/hid_bpf_struct_ops.c
+8-11drivers/hid/hid-multitouch.c
+13-0drivers/hid/wacom_wac.c
+152-265 files not shown
+161-2911 files

Linux/linux 36ec09esound/core pcm_native.c, sound/hda/codecs conexant.c

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

Pull sound fixes from Takashi Iwai:
 "A collection of small fixes since 7.3-rc1.

  Quite a few fixes are for ALSA core for issues that have been detected
  by the things you know well. Additionally a series of hardening for
  runtime PM, and usual quirk updates, and some other misc driver fixes
  are included.

  Core:
   - Fixes for PCM races
   - UMP parser NULL dereference fix
   - Fix error handling in rawmidi ioctl

  USB- and HD-audio:
   - Implement missing runtime PM guards across multiple interfaces
   - Fix for OOB access in US-122L MIDI driver
   - Double-free fix for CAIAQ driver

    [29 lines not shown]
DeltaFile
+38-1sound/hda/codecs/realtek/alc269.c
+27-10sound/core/pcm_native.c
+30-6sound/usb/mixer_scarlett2.c
+20-0sound/hda/codecs/conexant.c
+18-0sound/usb/mixer_maps.c
+5-5sound/usb/caiaq/audio.c
+138-2213 files not shown
+191-3119 files

Linux/linux 3e66602drivers/ata libata-scsi.c ahci.c

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

Pull ata fixes from Niklas Cassel:

 - Work around lost interrupts on Marvell 88SE61xx

   The Marvell AHCI controller requires you to clear interrupts in the
   opposite order from what is specified in the AHCI specification in
   order to not lose interrupts (Hajo)

 - Do not raise UNIT ATTENTION for depopulation commands

   The libata completion function unconditionally sets sense data with
   sense key UNIT ATTENTION (UA) for depopulation commands. The SCSI
   layer will fail a command when seeing this sense data. UA is only
   supposed to be raised if the capacity actually changed.

   Since these commands are currently only supported as passthrough
   commands, the user is expected to revalidate the device, which will

    [6 lines not shown]
DeltaFile
+49-0drivers/ata/ahci.c
+0-24drivers/ata/libata-scsi.c
+49-242 files

Linux/linux 58f93a4fs/smb/server ksmbd_work.h vfs.c, fs/smb/server/mgmt tree_connect.c

Merge tag 'ksmbd-for-7.3-rc2-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb

Pull smb server fixes from Namjae Jeon:

 - Fix a tree connection use-after-free in smb2_tree_connect() by
   balancing references across concurrent connect, disconnect, and
   session logoff paths.

 - Validate source and target ranges in COPYCHUNK requests before range
   locking and copy operations.

 - Fix an oplock break notification UAF by acquiring a connection
   reference under ksmbd_inode lock and releasing it after the
   notification work completes.

 - Fix the sparc build by using an unsigned int for the atomic work
   state, ensuring xchg() uses a supported four-byte operation.

* tag 'ksmbd-for-7.3-rc2-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb:

    [4 lines not shown]
DeltaFile
+57-16fs/smb/server/oplock.c
+13-15fs/smb/server/smb2pdu.c
+11-1fs/smb/server/vfs.c
+8-0fs/smb/server/mgmt/tree_connect.c
+1-1fs/smb/server/ksmbd_work.h
+90-335 files

Linux/linux 4210669kernel kprobes.c, kernel/trace trace_probe.h trace_btf.h

Merge tag 'probes-fixes-v7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull probes fixes from Masami Hiramatsu:

 - Protect kprobe_blacklist with RCU

   RCU-protect kprobe_blacklist and use kfree_rcu() to prevent UAF races
   during module unloading and enable safe atomic lookups.

 - Fix multi-probe field use-after-free

   Duplicate field and type strings on trace_probe_event to prevent UAF
   when freeing primary probe

 - Fix probe BTF member lookup:

   Check the containing inner struct/union kflag when resolving
   anonymous members to ensure correct bitfield offset calculation


    [17 lines not shown]
DeltaFile
+55-8kernel/trace/trace_probe.c
+17-14kernel/trace/trace_btf.c
+10-4kernel/kprobes.c
+2-2kernel/trace/trace_uprobe.c
+2-1kernel/trace/trace_btf.h
+2-0kernel/trace/trace_probe.h
+88-291 files not shown
+89-297 files

Linux/linux 65119e8drivers/cpuidle dt_idle_genpd.c cpuidle-psci.c, drivers/pmdomain/mediatek Kconfig

Merge tag 'pmdomain-v7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain and cpuidle fixes from Ulf Hansson:
 "pmdomain providers:
   - mediatek: Fix Kconfig for Airoha power domains
   - qcom: Revert adding the missing power domains for Eliza

  cpuidle:
   - psci: Fix support for probe deferral by dropping the faux device
   - dt_idle_genpd: Free the original name allocation"

* tag 'pmdomain-v7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
  cpuidle: dt_idle_genpd: kfree() the original name allocation
  pmdomain: airoha: fix unselectable AIROHA_CPU_PM_DOMAIN kconfig
  cpuidle: psci: Fix support for probe deferral by dropping the faux device
  Revert "pmdomain: qcom: rpmhpd: Add missing MXC and MMCX power domains for Eliza"
DeltaFile
+16-26drivers/cpuidle/cpuidle-psci.c
+3-2drivers/pmdomain/mediatek/Kconfig
+0-4drivers/pmdomain/qcom/rpmhpd.c
+1-2drivers/cpuidle/dt_idle_genpd.c
+20-344 files

Linux/linux c96294adrivers/gpu/drm/xe xe_vram.c xe_oa.c

Merge tag 'drm-xe-fixes-2026-09-03' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes

A small fix on the error handling of an OA uapi and the
addition of a drm_info message to report FLAT_CSS base misalignment.

Signed-off-by: Dave Airlie <airlied at redhat.com>

From: Rodrigo Vivi <rodrigo.vivi at intel.com>
Link: https://patch.msgid.link/apnVOtDv4WAIoj_X@intel.com
DeltaFile
+4-2drivers/gpu/drm/xe/xe_oa.c
+3-0drivers/gpu/drm/xe/xe_vram.c
+7-22 files

Linux/linux 7f78fe8drivers/gpu/drm/amd/amdgpu gfx_v12_0.c gfx_v11_0.c, drivers/gpu/drm/amd/amdkfd kfd_process_queue_manager.c kfd_device_queue_manager.c

Merge tag 'amd-drm-fixes-7.3-2026-09-03' of https://gitlab.freedesktop.org/drm/amdgpu/kernel into drm-fixes

amd-drm-fixes-7.3-2026-09-03:

amdgpu:
- SR-IOV fix
- GFX8 fix
- MES queue reset fix
- GPUVM fixes
- DCN 6 warning fix
- DCN 3.5/3.6 fix
- DML fix
- Backlight fix
- Colorop fix
- DC get_estimated_bw() fix
- devcoredump fix
- Userq fixes
- APU PSP fix
- Cursor fix

    [12 lines not shown]
DeltaFile
+10-24drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
+12-1drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+6-6drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+4-4drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+4-4drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+5-3drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+41-4214 files not shown
+83-5920 files

Linux/linux 5ff6e2fdrivers/gpu/drm/i915/display intel_cx0_phy.c intel_lt_phy.c

Merge tag 'drm-intel-fixes-2026-09-03' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes

drm/i915 fixes for v7.3-rc2:
- Drop an accidentally duplicated panel fitter call in DP MST
- Fix DDI clock programming for Cx0 and LT PHY
- Fix PTL CDCLK handling at probe, causing a glitch
- Fix dg2_power_well_count() return type
- Fix a NULL pointer deref at forced probe
- Fix selective fetch disable

Signed-off-by: Dave Airlie <airlied at redhat.com>
From: Jani Nikula <jani.nikula at intel.com>
Link: https://patch.msgid.link/affe11af9d5eb9dc6f906441495cb843f9d4817c@intel.com
DeltaFile
+10-5drivers/gpu/drm/i915/display/skl_universal_plane.c
+10-5drivers/gpu/drm/i915/display/intel_cursor.c
+11-0drivers/gpu/drm/i915/display/intel_ddi.c
+6-4drivers/gpu/drm/i915/display/intel_cdclk.c
+4-2drivers/gpu/drm/i915/display/intel_lt_phy.c
+3-2drivers/gpu/drm/i915/display/intel_cx0_phy.c
+44-183 files not shown
+48-229 files

Linux/linux 42bc1b9drivers/dma-buf dma-heap.c, drivers/gpu/drm drm_pagemap.c

Merge tag 'drm-misc-fixes-2026-09-03' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes

A whole bunch of fixes for various drivers

- Fix drm_crtc_commit leak when PAGE_FLIP_EVENT is used,
- amd: plane blend mode fixes
- amdxdna: out-of-bounds access fix, reject commands chains with no
  commands, handle chained mapping BO failures, refuse to flush an
  imported BO
- atomic-state-helpers: set pixel_blend_mode to prop default on reset
- dma-buf: Publish the dma-buf only after copy_to_user succeeds, fix
  some kernel-doc warnings
- ethosu: handle mmio mapping failures, handle storage modes only on
  hardware that supports it, fix job completion fence cleanup
- fastrpc: Publish the dma-buf only after copy_to_user succeeds
- gud: Improve TV modes and rotation handling
- nouveau: use-after-free fixes, add scanline position support, HDMI
  and DP fixes, null pointer dereference fix, dmem accounting fixes for
  large folios, use write-combined maps for coherent

    [13 lines not shown]
DeltaFile
+233-37drivers/gpu/drm/drm_pagemap.c
+191-0drivers/gpu/drm/nouveau/nvkm/engine/disp/gb202.c
+52-73drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/disp.c
+112-1tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
+85-1drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.c
+40-40drivers/dma-buf/dma-heap.c
+713-15248 files not shown
+1,072-23454 files

Linux/linux 00ef224Documentation/fault-injection nvme-fault-injection.rst, drivers/nvme/host rdma.c fc.c

Merge tag 'nvme-7.3-2026-09-03' of git://git.infradead.org/nvme into block-7.3

Pull NVMe fixes from Keith:

"- Harden the tcp host and target against malformed PDUs: reject C2HData
   for a non-read command, bound an over-long PDU before copying it, and
   reject unsolicited H2CData (Yehyeong, Shivam)
 - Fix circular locking on TLS queues (Xixin)
 - Fix a soft lockup when scanning sparse namespace ID space (Mohamed)
 - Fix racy access to the FDP placement id array (Kanchan)
 - RDMA host and target fixes for a double cleanup on the queue_rq
   error path and a queue leak when the connect backlog is exceeded
   (Xixin)
 - Authentication fixes: drain the target's expiry work before the SQ
   is freed, and release the DH-CHAP secret when parsing fails (Kazuki,
   Xu Rao)
 - Fix nvme-fc options double free when nvme_add_ctrl() fails (Niklas)
 - Add missing SRCU grace period to nvme_alloc_ns() error path (Tristan)
 - Skip zoned limits update when the zone info query failed (Chao)

    [26 lines not shown]
DeltaFile
+57-42drivers/nvme/host/core.c
+65-0Documentation/fault-injection/nvme-fault-injection.rst
+20-6drivers/nvme/host/fc.c
+9-9include/linux/nvme-tcp.h
+10-8drivers/nvme/host/rdma.c
+7-8drivers/nvme/target/rdma.c
+168-7313 files not shown
+228-8419 files

Linux/linux bc35965Documentation/admin-guide/cgroup-v1 memory.rst, mm hugetlb_cma.c mremap.c

Merge tag 'mm-hotfixes-stable-2026-09-03-17-45' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull misc fixes from Andrew Morton:
 "18 hotfixes.  13 are cc:stable.  15 are for MM.

  All are singletons - please see the changelogs for details.

  There are no fixes (yet) for all the stuff we added in the most recent
  merge window. Hopefully a good sign"

* tag 'mm-hotfixes-stable-2026-09-03-17-45' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
  mm/secretmem: properly account locked pages
  mm/mremap: reset unfaulted VMA page offset for MREMAP_DONTUNMAP
  MAINTAINERS: add Kiryl as a THP reviewer
  MAINTAINERS: cover all of RAID
  MAINTAINERS: mailmap: update entries for Thorsten Blum
  MAINTAINERS: remove Lorenzo as THP co-maintainer
  Revert "once: don't use a work queue to reset sleepable static key"
  mm/hugetlb: fix missing migratable flag on same-node hugetlb migration

    [10 lines not shown]
DeltaFile
+107-9mm/secretmem.c
+6-43Documentation/admin-guide/cgroup-v1/memory.rst
+26-17mm/memcontrol-v1.c
+1-29tools/testing/selftests/mm/memfd_secret.c
+17-5mm/mremap.c
+18-3mm/hugetlb_cma.c
+175-10612 files not shown
+233-13318 files

Linux/linux eaa948cdrivers/nvme/target core.c nvmet.h

nvmet-auth: Synchronize timeout work during SQ teardown

nvmet_auth_sq_free() cancels auth_expired_work with
cancel_delayed_work(). If the work has already started, cancellation does
not wait for the callback. Transport teardown can consequently free or
reuse the queue containing struct nvmet_sq while
nvmet_auth_expired_work() still accesses that SQ.

Add a teardown-specific helper that synchronously drains the delayed work
before freeing authentication state, and use it from nvmet_sq_destroy().
Keep the non-synchronous helper for in-band authentication state cleanup,
where the SQ owner remains alive.

Fixes: 1a70200f404a ("nvmet-auth: expire authentication sessions")
Cc: stable at vger.kernel.org
Signed-off-by: Kazuki Hanai <hnkz.64 at gmail.com>
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+6-0drivers/nvme/target/auth.c
+1-1drivers/nvme/target/core.c
+2-0drivers/nvme/target/nvmet.h
+9-13 files

Linux/linux 09d0c07drivers/nvme/target core.c

nvmet: reject namespace enable without device path

A newly allocated namespace has a NULL device_path until userspace
configures the device_path attribute.

If buffered_io is enabled before device_path is configured,
nvmet_bdev_ns_enable() returns -ENOTBLK and nvmet_ns_enable() falls
back to nvmet_file_ns_enable(). The latter passes the NULL
device_path to filp_open(), causing a NULL pointer dereference in
getname_kernel().

Reject namespace enable when device_path has not been configured.

Reported-by: syzbot+f613f9f010ec98eb9d86 at syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=f613f9f010ec98eb9d86
Signed-off-by: Seokgyu Choi <tjrrb0313 at gmail.com>
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+5-0drivers/nvme/target/core.c
+5-01 files

Linux/linux 56e6279drivers/nvme/host fc.c

nvme-fc: fix double free of fabrics options when nvme_add_ctrl() fails

nvmf_create_ctrl() owns the fabrics options and frees them whenever
->create_ctrl() returns an error, so a transport must not free them on
its own error paths.  nvme-fc tracks this by testing ctrl->ctrl.opts in
nvme_fc_ctrl_free(), which requires nvme_fc_init_ctrl() to clear that
pointer on every error exit.

The coupling is implicit, and commit 1a9e218195a5 ("nvme: split device
add from initialization") broke it by adding a second error exit.  When
nvme_add_ctrl() fails, nvme_fc_init_ctrl() jumps to out_put_ctrl:, past
the "ctrl->ctrl.opts = NULL" that only sits on the fail_ctrl: path, so
nvme_fc_ctrl_free() frees the options and nvmf_create_ctrl() frees them
a second time:

  BUG: KASAN: slab-use-after-free in nvmf_free_options+0x30/0x190
   nvmf_free_options+0x30/0x190 drivers/nvme/host/fabrics.c:1284
   nvmf_create_ctrl drivers/nvme/host/fabrics.c:1374 [inline]
  Freed by task 5534:

    [51 lines not shown]
DeltaFile
+20-6drivers/nvme/host/fc.c
+20-61 files

Linux/linux fd9beb8include/linux nvme-tcp.h

nvme-tcp.h: drop kernel-doc comments, fix a few descriptions

Expand @fei into @feil and @feih because the field was split due to it
not being 32-bit aligned.

Struct member @hdr was described twice in struct nvme_tcp_rsp_pdu, so
drop one of them.

These structs are defined in a spec outside of the kernel, so kernel-doc
comments for them aren't needed here as well.

This avoids kernel-doc warnings:

Warning: include/linux/nvme-tcp.h:95 struct member 'rsvd2' not described in 'nvme_tcp_icreq_pdu'
Warning: include/linux/nvme-tcp.h:113 struct member 'rsvd' not described in 'nvme_tcp_icresp_pdu'
Warning: include/linux/nvme-tcp.h:128 struct member 'feil' not described in 'nvme_tcp_term_pdu'
Warning: include/linux/nvme-tcp.h:128 struct member 'feiu' not described in 'nvme_tcp_term_pdu'
Warning: include/linux/nvme-tcp.h:128 struct member 'rsvd' not described in 'nvme_tcp_term_pdu'
Warning: include/linux/nvme-tcp.h:169 struct member 'rsvd' not described in 'nvme_tcp_r2t_pdu'

    [5 lines not shown]
DeltaFile
+9-9include/linux/nvme-tcp.h
+9-91 files

Linux/linux 59fe1cbdrivers/nvme/target pr.c core.c

nvmet: print namespace IDs as unsigned 32bit value

struct nvmet_ns.nsid is a u32, but a few messages print it with %d.
An NSID larger than 0x7fffffff is rendered as a negative number, which
is misleading in general and particularly so for the configfs messages
that echo back the NSID the user just asked for.

For example:
[  T200] nvmet: adding nsid -16 to subsystem mysubsystem

Print them with %u. The invalid-NSID error in nvmet_ns_make() keeps its
%#x because the two values it rejects, 0 and NVME_NSID_ALL, are more
readable in hex format. No functional change other than how the NSID is
formatted.

Fixes: a07b4970f464 ("nvmet: add a generic NVMe target")
Fixes: c6925093d0b2 ("nvmet: Optionally use PCI P2P memory")
Fixes: 5a47c2080a73 ("nvmet: support reservation feature")
Signed-off-by: Mohamed Khalfella <mkhalfella at purestorage.com>

    [2 lines not shown]
DeltaFile
+2-2drivers/nvme/target/configfs.c
+1-1drivers/nvme/target/pr.c
+1-1drivers/nvme/target/core.c
+4-43 files

Linux/linux db62b35drivers/nvme/target tcp.c

nvmet-tcp: reject unsolicited H2CData PDUs

nvmet_tcp_handle_h2c_data_pdu() accepts an H2CData PDU after only checking
that its TTAG is a valid in-range command index and that the command's
data buffers are mapped. It never checks that the target has actually
solicited that data by sending an R2T for the command.

A remote host can abuse this. It submits a write command that takes the
R2T path and, before the target transmits the R2T, sends an H2CData PDU
for that command's tag. The data completes the command early, and when
the command then fails synchronously (e.g. a length mismatch caught by
nvmet_check_transfer_len()), it is completed a second time. Each
completion calls nvmet_tcp_queue_response(), so the same command is added
to queue->resp_list twice while it is still linked; the second llist_add()
makes the node point to itself (lentry->next == lentry).

nvmet_tcp_process_resp_list() then walks that self-referential node and
adds the command to resp_send_list twice. With CONFIG_DEBUG_LIST this
trips the "list_add double add" check (kernel BUG); without it the loop

    [14 lines not shown]
DeltaFile
+8-0drivers/nvme/target/tcp.c
+8-01 files

Linux/linux 08acb54drivers/nvme/host tcp.c

nvme-tcp: defer TLS inline send to io_work

blk_mq holds set->srcu while queuing and running requests.  The kTLS
software send path takes ctx->tx_lock.  lockdep knows that tx_lock
nests under elevator_lock which then waits on srcu, so an inline
send from that path under TLS triggers circular locking.

Skip the inline send optimization for TLS queues so the send runs
from the workqueue instead.  The same workqueue already retries TLS
sends on write-space notifications.  Plain TCP keeps the inline path.

Fixes: be8e82caa685 ("nvme-tcp: enable TLS handshake upcall")
Reviewed-by: Hannes Reinecke <hare at kernel.org>
Signed-off-by: Xixin Liu <liuxixin at kylinos.cn>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+5-0drivers/nvme/host/tcp.c
+5-01 files

Linux/linux df7197edrivers/nvme/host tcp.c

nvme-tcp: return -EPROTO for a C2HData on a write

The direction check in nvme_tcp_handle_c2h_data() returns -EIO.  A
C2HData PDU naming a command that did not ask for data is a protocol
violation, and the check that rejects a PDU on those grounds a few
lines below it - SUCCESS set without LAST - returns -EPROTO.

No caller distinguishes the two, so this changes the error code alone.

Suggested-by: Sagi Grimberg <sagi at grimberg.me>
Signed-off-by: Yehyeong Lee <yhlee at isslab.korea.ac.kr>
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+1-1drivers/nvme/host/tcp.c
+1-11 files

Linux/linux 14cc5a7drivers/nvme/target tcp.c

nvmet-tcp: fix out-of-bounds write when receiving an over-long PDU

nvmet_tcp_try_recv_pdu() reads a PDU header into the fixed 128-byte
queue->pdu union, then computes the remaining payload length as

        queue->left = hdr->hlen - queue->offset + hdgst;

and reads that many more bytes into &queue->pdu + queue->offset, without
ever bounding the result against sizeof(queue->pdu).

A struct nvme_tcp_icreq_pdu is itself 128 bytes, exactly the size of the
union. Once a header digest has been negotiated (hdgst = 4), a second
ICReq passes the hlen == nvmet_tcp_pdu_size() check but yields
queue->left = 128 - 8 + 4 = 124, so bytes 8..132 are written into the
128-byte buffer -- 4 bytes past its end, over queue->hdr_digest and
queue->data_digest. Those bytes are attacker-controlled (an ICReq
carries no digest), and the duplicate ICReq is only rejected later,
after the overflow. A remote unauthenticated host can thus corrupt
kernel memory adjacent to the receive buffer.

    [10 lines not shown]
DeltaFile
+2-0drivers/nvme/target/tcp.c
+2-01 files

Linux/linux 5cdd07a. MAINTAINERS

MAINTAINERS: update nvme entry

Update Jens' entry to match the mail address of his other entries.

Acked-by: Jens Axboe <axboe at kernel.dk>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+1-1MAINTAINERS
+1-11 files

Linux/linux ef248d5drivers/nvme/host core.c

nvme: add missing SRCU grace period in error path

nvme_alloc_ns() error path at out_unlink_ns removes ns from the
namespace head siblings list with list_del_rcu(&ns->siblings) but
does not wait for SRCU readers before freeing the namespace struct.
Multipath code iterates the head->list under srcu_read_lock() in
nvme_find_path() and nvme_mpath_revalidate_paths(), so a concurrent
reader can still hold a reference to ns when kfree(ns) runs.

The normal removal path in nvme_ns_remove() correctly calls
synchronize_srcu(&ns->head->srcu) after list_del_rcu() to wait for
in-progress readers. Add the same grace period in the error path.

Fixes: ed754e5deeb1 ("nvme: track shared namespaces")
Cc: stable at vger.kernel.org
Signed-off-by: Tristan Madani <tristan at talencesecurity.com>
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
Reviewed-by: John Garry <john.g.garry at oracle.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Signed-off-by: Keith Busch <kbusch at kernel.org>
DeltaFile
+3-0drivers/nvme/host/core.c
+3-01 files