Linux/linux 17e7b8efs/smb/client misc.c smb2pdu.c

Merge tag 'cifs-fixes-7.3-rc4' of https://git.manguebit.org/linux

Pull smb client fixes from Paulo Alcantara:
 "A batch of bug fixes for the smb client:

   - Fix multiple out-of-bounds reads and use-after-frees in the SMB2/3
     receive path that are reachable from a malicious or compromised
     server: a stale next_buffer pointer and an integer overflow in
     compound encrypted frame handling, missing minimum-PDU-size and
     per-sub-PDU length validation before parsing command-specific
     response fields, missing bounds checks in DFS referral, server
     interface list, EA list, POSIX SID, snapshot enumeration and SMB1
     reparse point parsing

   - Fix use-after-frees and races in multichannel and connection
     teardown, including an interface freed while still in use when
     adding channels, a server used after its channel reference was
     dropped, a reconnect work item left queued after the server is
     freed and an uninitialized reconnect list node

    [38 lines not shown]
DeltaFile
+63-41fs/smb/client/sess.c
+41-28fs/smb/client/smb2misc.c
+36-22fs/smb/client/reparse.c
+38-13fs/smb/client/smb2ops.c
+7-6fs/smb/client/smb2pdu.c
+10-2fs/smb/client/misc.c
+195-1126 files not shown
+223-11812 files

Linux/linux 925724cdrivers/scsi scsi.c, drivers/scsi/fnic fnic.h fnic_isr.c

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

Pull SCSI fixes from James Bottomley:
 "Four driver fixes, three of which are minor and one of which (fnic)
  tries to add some logic to try to avoid MSI-X being ineffective if
  hyperthreading is disabled.

  The core fix adds validation to mode sense buffer sizes because it is
  used by ATA and could, theoretically, be exploited by a specially
  crafted USB device that can simply be plugged in to any laptop or
  server"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: core: Validate MODE SENSE lengths in scsi_cdl_enable()
  scsi: fnic: Fix missed link-up when critical IRQ targets offline CPU
  scsi: ibmvfc: Add Kconfig dependency to fix link failure when NVME_FC=m
  scsi: qla2xxx: Fix the ql2xfc2target parameter description
  scsi: pm80xx: Fix the use_msix, use_tasklet and read_wwn parameter descriptions
DeltaFile
+40-1drivers/scsi/fnic/fnic_main.c
+19-5drivers/scsi/scsi.c
+10-3drivers/scsi/fnic/fnic_isr.c
+3-3drivers/scsi/pm8001/pm8001_init.c
+1-1drivers/scsi/qla2xxx/qla_os.c
+1-1drivers/scsi/fnic/fnic.h
+74-141 files not shown
+75-147 files

Linux/linux ef31d04drivers/pci/controller/dwc pci-imx6.c

Merge tag 'pci-v7.3-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci

Pull PCI fix from Bjorn Helgaas:

 - Enable clock after core reset is asserted to fix enumeration
   regression on i.MX6Q Apalis platforms with ASM1061/ASM1062 SATA
   controllers (Richard Zhu)

* tag 'pci-v7.3-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
  PCI: imx6: Move clock enable after core reset assertion
DeltaFile
+6-6drivers/pci/controller/dwc/pci-imx6.c
+6-61 files

Linux/linux c3d85c6fs/smb/server smb2pdu.h connection.h, fs/smb/server/mgmt user_session.h user_session.c

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

Pull smb server fixes from Namjae Jeon:

 - Fix session expiration so that valid sessions are no longer removed
   after ten seconds of inactivity when a new session setup request is
   received.

   Sessions now expire only after credential expiration, while stale
   unauthenticated sessions are cleaned up after a 45-second timeout.

 - Keep earlier responses in compound requests when Query Info fails
   because the output buffer is too small. The error response is
   appended without truncating preceding responses.

 - Return STATUS_BUFFER_OVERFLOW for partial
   FILE_NORMALIZED_NAME_INFORMATION responses instead of incorrectly
   returning STATUS_INFO_LENGTH_MISMATCH.


    [4 lines not shown]
DeltaFile
+116-8fs/smb/server/mgmt/user_session.c
+72-0fs/smb/server/connection.c
+40-31fs/smb/server/smb2pdu.c
+7-1fs/smb/server/mgmt/user_session.h
+1-2fs/smb/server/smb2pdu.h
+3-0fs/smb/server/connection.h
+239-423 files not shown
+243-439 files

Linux/linux bfda5a0fs/ntfs volume.h super.c

Merge tag 'ntfs-for-7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs

Pull ntfs fixes from Namjae Jeon:

 - Make MFT extension work on existing Windows-created volumes by
   dynamically reserving MFT tail records, accounting for records added
   during allocation, and avoiding false -ENOSPC failures

 - Repack non-resident $MFT/$ATTRIBUTE_LIST when its mapping pairs no
   longer fit in the base MFT record, while propagating allocation and
   writeback errors

 - Serialize runlist updates with the runlist lock and restore both the
   in-memory runlist and on-disk mapping pairs when allocation rollback
   is required

 - Propagate folio errors and harden inode failure handling by treating
   interrupted reads as transient failures and discarding and unhashing
   inodes whose initialization fails

    [15 lines not shown]
DeltaFile
+354-101fs/ntfs/mft.c
+203-56fs/ntfs/attrib.c
+210-14fs/ntfs/attrlist.c
+42-23fs/ntfs/inode.c
+6-6fs/ntfs/volume.h
+9-3fs/ntfs/super.c
+824-2036 files not shown
+840-20712 files

Linux/linux 8cb0606drivers/mmc/core sdio_uart.c, drivers/mmc/host mxcmmc.c sdhci-of-aspeed.c

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

Pull MMC/MEMSTICK fixes from Ulf Hansson:
 "MMC core:
   - Prevent potential use-after-free for SDIO IRQ work
   - Fix OF node reference leak on card add failure
   - Fix memory lea when the port table is full for sdio_uart

  MMC host:
   - hsq: Fix use-after-free in retry work
   - mmci: Fix use-after-free in busy-timeout work
   - mmc_spi: Reset bytes_xfered before retrying CRC failures
   - mxcmmc: Cancel data work and watchdog on remove
   - rtsx_pci_sdmmc: Ignore broken write-protect on ThinkPad X260
   - sdhci_am654: A couple of fixes for the tuning sequence
   - sdhci-of-aspeed: Remove children before releasing SDC resources
   - sh_mmcif: Initialize IRQ-thread mutex before requesting interrupt

  MEMSTICK:

    [18 lines not shown]
DeltaFile
+28-15drivers/mmc/host/sdhci_am654.c
+7-1drivers/mmc/host/mmc_hsq.c
+4-1drivers/mmc/host/sdhci-of-aspeed.c
+5-0drivers/mmc/host/rtsx_pci_sdmmc.c
+4-0drivers/mmc/host/mxcmmc.c
+3-0drivers/mmc/core/sdio_uart.c
+51-176 files not shown
+60-2012 files

Linux/linux ae09f35drivers/ata libahci_platform.c libata-scsi.c

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

Pull ata fixes from Niklas Cassel:

 - Explicitly clear upper address bits on quirked AHCI controllers

   AHCI controllers that claim to support 64-bit DMA, but which have
   been quirked to only do 32-bit DMA, could start the DMA engine with a
   non-zero value in the upper address bits registers (me)

 - Fix a resource leak in ahci_platform_get_resources() (Wentao)

 - Fix invalid kernel-doc formatting for ata_dsm_trim_pages() (me)

* tag 'ata-7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: libata-scsi: fix ata_dsm_trim_pages() kernel-doc
  ata: libahci_platform: Fix device reference leak in ahci_platform_get_resources()
  ata: libahci: clear PxCLBU and PxFBU for AHCI_HFLAG_32BIT_ONLY
DeltaFile
+14-1drivers/ata/libahci.c
+3-4drivers/ata/libata-scsi.c
+1-1drivers/ata/libahci_platform.c
+18-63 files

Linux/linux d24e3bfDocumentation/hwmon cgbc-hwmon.rst, drivers/hwmon gpio-fan.c pwm-fan.c

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

Pull hwmon fixes from Guenter Roeck:

 - Add missing sensors, and fix current sensors ID lookup (cgbc-hwmon)

 - Return IRQ_HANDLED from the shared alarm IRQ handler to fix possible
   interrupt storm (gpioufan)

 - Improve raw WMI string handling, and fix UaF in show function
   (hp-wmi-sensors)

 - Fix k10temp model id range of Zen5 Turin to stop reporting
   temperature data for non-existing CCDs

 - pmbus:
     - Increase number of phases to fix UaF problems
     - Fix TPS53676 phase page decoding, and select page 0 for
       single-page applications

    [20 lines not shown]
DeltaFile
+80-49drivers/hwmon/cgbc-hwmon.c
+26-16Documentation/hwmon/cgbc-hwmon.rst
+24-8drivers/hwmon/hp-wmi-sensors.c
+12-1drivers/hwmon/pwm-fan.c
+10-1drivers/hwmon/pmbus/tps53679.c
+2-2drivers/hwmon/gpio-fan.c
+154-774 files not shown
+161-8010 files

Linux/linux 928ba50drivers/watchdog da9062_wdt.c sp5100_tco.c

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

Pull watchdog fixes from Guenter Roeck:

 - Fix suspend/resume handling of HW_RUNNING watchdog (da9062, da9063)

 - Avoid division by zero if clock rate is 0 (digicolor, rtd119x, and
   rzv2h)

 - Fix premature reset during timeout update, and propagate error code
   in msc313e resume()

 - Fix pci_dev reference leak in sp5100_tco_init()

 - Fix runtime PM leak in starfive_wdt_pm_start()

* tag 'watchdog-fixes-for-v7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  watchdog: da9063: fix suspend/resume handling of HW_RUNNING watchdog
  watchdog: starfive-wdt: Fix runtime PM leak in starfive_wdt_pm_start()

    [7 lines not shown]
DeltaFile
+13-3drivers/watchdog/msc313e_wdt.c
+9-4drivers/watchdog/digicolor_wdt.c
+6-1drivers/watchdog/rzv2h_wdt.c
+6-1drivers/watchdog/rtd119x_wdt.c
+5-1drivers/watchdog/sp5100_tco.c
+2-2drivers/watchdog/da9062_wdt.c
+41-122 files not shown
+44-158 files

Linux/linux 5ad17a9drivers/crypto/caam jr.c

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

Pull crypto fix from Herbert Xu:
 "Fix a regression in caam"

* tag 'v7.3-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: caam - map job ring registers without claiming region
DeltaFile
+20-3drivers/crypto/caam/jr.c
+20-31 files

Linux/linux f259f44arch/arm64/boot/dts/amlogic amlogic-t7.dtsi amlogic-t7-a311d2-khadas-vim4.dts, arch/arm64/boot/dts/renesas r9a09g057.dtsi r9a09g087.dtsi

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

Pull SoC fixes from Arnd Bergmann:
 "The driver fixes are all for simple mistakes: a use-after-free bug on
  Samsung Exynos, error handling and reference counting on Arm SCMI
  firmware and a problem dealing with inconsistent firmware information.

  The rest are devicetree fixes for arm64 platforms from Altera, Renesas
  and Amlogic. On the Renesas platform, one patch addresses a boot time
  regression, the rest address minor performance and correctness issues"

* tag 'soc-fixes-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (21 commits)
  soc: samsung: exynos-pmu: fix use-after-free of interrupt generator node
  arm64: dts: renesas: r8a779f0: Set UFS lane count
  firmware: arm_scmi: Fix typo "upto" in comment
  arm64: dts: renesas: r9a09g087: Switch GBETH TX queue scheduling to WRR
  arm64: dts: renesas: r9a09g077: Switch GBETH TX queue scheduling to WRR
  arm64: dts: renesas: r9a09g047: Switch GBETH TX queue scheduling to WRR
  arm64: dts: renesas: r9a09g056: Switch GBETH TX queue scheduling to WRR

    [14 lines not shown]
DeltaFile
+110-3arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts
+38-6arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi
+27-0arch/arm64/boot/dts/renesas/r9a09g087.dtsi
+27-0arch/arm64/boot/dts/renesas/r9a09g077.dtsi
+8-3drivers/clk/clk-scpi.c
+10-0arch/arm64/boot/dts/renesas/r9a09g057.dtsi
+220-1211 files not shown
+253-2317 files

Linux/linux a077be4Documentation/arch/arm64 memory-tagging-extension.rst, arch/arm64/include/asm percpu.h

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

Pull arm64 fixes from Will Deacon:
 "In this batch we've got a couple of hibernation fixes, a couple of
  minor MTE fixes, some per-cpu codegen fixes (which were found as part
  of Mark's series adding preemptible this_cpu_*() operations) and a fix
  for the Arm CMN PMU driver.

  Summary:

   - Fix hypercall arguments when resetting EL2 vectors during
     hibernation

   - Fix hibernation with 52-bit capable kernels on machines without
     52-bit addressing, similarly to the recent kexec fix

   - Fix a bunch of clumsy codegen issues with our per-cpu accessors

   - Fix MTE ptrace documentation to reflect the de-facto ABI behaviour

    [14 lines not shown]
DeltaFile
+10-10arch/arm64/include/asm/percpu.h
+7-3drivers/perf/arm-cmn.c
+2-3Documentation/arch/arm64/memory-tagging-extension.rst
+2-2arch/arm64/kernel/hibernate.c
+1-1tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c
+1-1arch/arm64/kernel/mte.c
+23-201 files not shown
+25-207 files

Linux/linux 5023f5b. MAINTAINERS, arch/mips Kconfig

Merge tag 'mips-fixes_7.3_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux

Pull MIPS fixes from Thomas Bogendoerfer:

 - Fix kconfig dependencies for ECONET

 - Enable weak reordering for EYEQ

 - Include USB FDT fixup for Octeon even when USB is modular

* tag 'mips-fixes_7.3_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
  MIPS: Octeon: apply USB FDT fixups also when USB is modular
  mips: select CONFIG_WEAK_REORDERING_BEYOND_LLSC from CONFIG_EYEQ
  MIPS: config: Add EcoNet EN751221 defconfig
  mips: econet: fix unmet dependencies for ECONET
DeltaFile
+264-0arch/mips/configs/econet_en751221_defconfig
+1-3arch/mips/Kconfig
+2-2arch/mips/cavium-octeon/octeon-platform.c
+1-0MAINTAINERS
+268-54 files

Linux/linux 7cb575bdrivers/watchdog da9063_wdt.c

watchdog: da9063: fix suspend/resume handling of HW_RUNNING watchdog

da9063_wdt_suspend() and da9063_wdt_resume() only check watchdog_active(),
when the watchdog is left running by the driver sets
WDOG_HW_RUNNING in da9063_wdt_probe() but userspace never opens the
device, so WDOG_ACTIVE remains cleared, the wdt_disable() will not be
executed in da9063_wdt_suspend. In this case, the suspend callback is
a no-op and the watchdog keeps counting during system suspend,
leading to an unexpected system reset.
Check WDOG_HW_RUNNING and wdd,can fix this issue.

Fixes: a7ceca4398bc8 ("watchdog: da9063: optionally disable watchdog during suspend")
Cc: stable at vger.kernel.org
Signed-off-by: Li Jun <lijun01 at kylinos.cn>
Link: https://patch.msgid.link/20260917013710.2754679-1-lijun01@kylinos.cn
Signed-off-by: Guenter Roeck <linux at roeck-us.net>
DeltaFile
+2-2drivers/watchdog/da9063_wdt.c
+2-21 files

Linux/linux 4dd1999drivers/soc/samsung exynos-pmu.c

soc: samsung: exynos-pmu: fix use-after-free of interrupt generator node

The setup_cpuhp_and_cpuidle() parses the device tree node for the
interrupt generation block via of_parse_phandle() and decrements its
reference count using of_node_put() immediately after fetching the resource
address. However, later the intr_gen_node pointer is passed into
of_syscon_register_regmap().

Fix this by declaring intr_gen_node with __free() and removing
of_node_put().

Reported-by: Sashiko <sashiko-bot at kernel.org>
Closes: https://sashiko.dev/#/patchset/20260513-exynos850-cpuhotplug-v4-0-54fec5f65362@linaro.org?part=3
Fixes: 78b72897a5c8 ("soc: samsung: exynos-pmu: Enable CPU Idle for gs101")
Cc: stable at vger.kernel.org
Signed-off-by: Alexey Klimov <alexey.klimov at linaro.org>
Link: https://patch.msgid.link/20260828-exynos-pmu-cpuhp-idle-fixes-v2-1-06bce6107bd6@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
Link: https://lore.kernel.org/r/20260917081641.72291-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
DeltaFile
+2-5drivers/soc/samsung/exynos-pmu.c
+2-51 files

Linux/linux 2d5061farch/arm64/boot/dts/renesas r8a779f0.dtsi

Merge tag 'renesas-fixes-for-v7.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes

Renesas fixes for v7.3 (take two)

  - Fix UFS regression on R-Car S4.

* tag 'renesas-fixes-for-v7.3-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a779f0: Set UFS lane count

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
DeltaFile
+1-0arch/arm64/boot/dts/renesas/r8a779f0.dtsi
+1-01 files

Linux/linux 5dd1818include/keys request_key_auth-type.h, security/keys gc.c request_key_auth.c

Merge tag 'for-next-keys-v7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd

Pull key fixes from Jarkko Sakkinen.

* tag 'for-next-keys-v7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
  KEYS: encrypted: fix integer overflow of datablob_len
  KEYS: trusted: Fix tpm2_load_cmd() boundary check
  keys: translate request_key_auth pid for the reading procfs instance
  keys: fix lost wakeup when reaping a dead key type
DeltaFile
+14-6security/keys/encrypted-keys/encrypted.c
+7-5security/keys/trusted-keys/trusted_tpm2.c
+9-3security/keys/request_key_auth.c
+1-3security/keys/gc.c
+1-1include/keys/request_key_auth-type.h
+32-185 files

Linux/linux 717e0a2fs/smb/client smb2pdu.c

cifs: Fix server use-after-free in cifs_chan_skip_or_disable()

When a secondary channel is no longer supported by the server,
cifs_chan_skip_or_disable() drops the channel reference with
cifs_put_tcp_session() and then continues to use the server pointer by
calling cifs_signal_cifsd_for_reconnect() on it and reading its
primary_server pointer. cifs_put_tcp_session() can drop the last
reference of the channel and tear it down, so both the channel and the
primary server (whose reference is also dropped by
cifs_put_tcp_session()) can be freed before they are signaled for
reconnect.

Signal the channel and the primary server and capture the primary
server pointer before dropping the channel reference with
cifs_put_tcp_session().

Fixes: f591062bdbf4 ("cifs: handle servers that still advertise multichannel after disabling")
Cc: stable at vger.kernel.org
Signed-off-by: Wentao Liang <vulab at iscas.ac.cn>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+7-6fs/smb/client/smb2pdu.c
+7-61 files

Linux/linux c9dc7d7drivers/pci/controller/dwc pci-imx6.c

PCI: imx6: Move clock enable after core reset assertion

Commit 610fa91d9863 ("PCI: imx6: Assert PERST# before enabling regulators")
inadvertently moved clock enablement before core reset assertion, breaking
PCI device initialization on i.MX6Q Apalis platforms with
ASM1061/ASM1062 SATA controllers connected:

  imx6q-pcie 1ffc000.pcie: host bridge /soc/pcie at 1ffc000 ranges:
  imx6q-pcie 1ffc000.pcie:       IO 0x0001f80000..0x0001f8ffff -> 0x0000000000
  imx6q-pcie 1ffc000.pcie:      MEM 0x0001000000..0x0001efffff -> 0x0001000000
  imx6q-pcie 1ffc000.pcie: config reg[1] 0x01f00000 == cpu 0x01f00000
  imx6q-pcie 1ffc000.pcie: iATU: unroll F, 4 ob, 4 ib, align 64K, limit 4G
  imx6q-pcie 1ffc000.pcie: Link: Only Gen1 is enabled
  imx6q-pcie 1ffc000.pcie: Link failed to come up. LTSSM: POLL_CONFIG
  imx6q-pcie 1ffc000.pcie: probe with driver imx6q-pcie failed with error -110

NOTE: It is not 100% clear if the issue is specific to the ASM1061/ASM1062
device or on the specific power-up sequence (reset vs cold-power-on).


    [14 lines not shown]
DeltaFile
+6-6drivers/pci/controller/dwc/pci-imx6.c
+6-61 files

Linux/linux 5f0306efs/smb/client cifssmb.c

smb: client: fix reparse buffer bounds in cifs_query_reparse_point()

In cifs_query_reparse_point(), the start >= end check before casting to
struct reparse_data_buffer * only ensures the start pointer is within the
response. It fails to verify that there is enough space remaining for the
fixed 8-byte header of the structure.

If a server provides a DataOffset that leaves less than 8 bytes remaining,
the check passes, but subsequent reads of ReparseTag and ReparseDataLength
will occur out-of-bounds.

Fix this by ensuring the remaining space is at least the size of the
reparse_data_buffer structure before accessing its fields.

Fixes: 56e84c64fc25 ("cifs: Fix validation of SMB1 query reparse point response")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>
Reviewed-by: David Howells <dhowells at redhat.com>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+1-1fs/smb/client/cifssmb.c
+1-11 files

Linux/linux 4775c3bfs/smb/client smb2ops.c

smb: client: fix potential OOB read in smb3_enum_snapshots()

If snapshot_array_size is smaller than GMT_TOKEN_SIZE,
smb3_enum_snapshots() sets ret_data_len to
sizeof(struct smb_snapshot_array) without verifying the actual length
of the server's reply.

Because SMB2_ioctl() places no lower bound on the server-supplied
OutputCount and allocates retbuf to exactly that length, a short reply
results in ret_data_len exceeding the size of retbuf. The subsequent
copy_to_user() then reads past the end of retbuf, leaking adjacent slab
memory to userspace.  The subsequent clamp check is ineffective as it
only reduces ret_data_len.

Fix this by rejecting replies shorter than
sizeof(struct smb_snapshot_array) with -EIO. Note that the bound is set
to the 12-byte struct size rather than the 16-byte
MIN_SNAPSHOT_ARRAY_SIZE defined in MS-SMB2 3.3.5.15.1, because 12 bytes
is exactly what copy_to_user() attempts to read.

    [6 lines not shown]
DeltaFile
+7-1fs/smb/client/smb2ops.c
+7-11 files

Linux/linux b09d092fs/smb/client smb2inode.c

smb: client: fix missing iov bounds check in parse_posix_sids()

In parse_posix_sids(), sidsbuf_end is calculated using the server-supplied
out_len without being validated against the actual length of the received
iov (iov_len).

If a server provides an inflated out_len, sidsbuf_end will point past the
end of the iov. This defeats the bounds guards in posix_info_sid_size(),
allowing out-of-bounds reads into adjacent kernel memory.

Fix this by rejecting responses where the calculated sidsbuf_end would
exceed the received iov boundaries or cause pointer wraparound.

Fixes: a90f37e3d7ac ("smb: client: parse owner/group when creating reparse points")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>
Reviewed-by: David Howells <dhowells at redhat.com>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+11-0fs/smb/client/smb2inode.c
+11-01 files

Linux/linux eeb5ef6fs/smb/client trace.h smb2ops.c

smb: client: fix OOB struct field reads in move_smb2_ea_to_cifs()

In move_smb2_ea_to_cifs(), the while (src_size > 0) loop condition is
insufficient. It allows iteration to continue even if the remaining
src_size is too small to contain a complete smb2_ea_info structure.
Consequently, reads of ea_name_length and ea_value_length can occur
out-of-bounds.

Fix this by ensuring src_size >= sizeof(*src) before attempting to read
any structure fields. Additionally, reject any next_entry_offset that is
smaller than sizeof(*src) or that would advance the pointer beyond the
available buffer.

Note that for calls where the server returns a malformed EA list, the
error returned to userspace changes from -ENODATA (getxattr) or
-ERANGE (listxattr) to -EIO. This correctly signals a server protocol
error rather than misleadingly indicating "attribute not present" or
"output buffer too small".


    [5 lines not shown]
DeltaFile
+17-8fs/smb/client/smb2ops.c
+1-0fs/smb/client/trace.h
+18-82 files

Linux/linux 1b3221bfs/smb/client smb2ops.c

smb: client: reject short Next offsets in parse_server_interfaces()

In parse_server_interfaces(), the server-supplied Next offset is
validated against bytes_left, but not against the size of the interface
structure itself.

A small, non-zero Next value can pass the bounds check but advance the
pointer by less than sizeof(*p). This causes the next iteration of the
loop to read misaligned, overlapping structure fields.

Fix this by ensuring the Next offset is at least sizeof(*p).

Fixes: 7d34ec36abb8 ("smb3: fix for slab out of bounds on mount to ksmbd")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>
Reviewed-by: David Howells <dhowells at redhat.com>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+3-3fs/smb/client/smb2ops.c
+3-31 files

Linux/linux e83330cfs/smb/client misc.c

smb: client: fix missing lower-bound check on DFS referral string offsets

parse_dfs_referrals() checks that DfsPathOffset and NetworkAddressOffset
do not exceed the buffer end, but fails to check that they don't point
inside the referral header itself.

If a server provides an offset smaller than
sizeof(struct dfs_referral_level_3), the derived string pointer overlaps
with the struct fields, causing cifs_strndup_from_utf16() to interpret
header data as UTF-16 strings.

Fix this by enforcing that string offsets are at least sizeof(*ref).

Fixes: 4ecce920e13a ("CIFS: move DFS response parsing out of SMB1 code")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>
Reviewed-by: David Howells <dhowells at redhat.com>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+10-2fs/smb/client/misc.c
+10-21 files

Linux/linux f73726bfs/smb/client smb2ops.c

smb: client: fix server->total_read for compound encrypted PDUs

In receive_encrypted_standard(), server->total_read is left at the
full decrypted frame size when walking sub-PDUs of a compound encrypted
frame. As a result, cifs_handle_standard() passes this full size
to smb2_check_message(), causing the PDU length guards to incorrectly
validate the entire compound frame instead of the current sub-PDU.

This allows truncated non-last sub-PDUs to bypass length validation,
leading to out-of-bounds reads in smb2_get_data_area_len().

Fix this by setting server->total_read to the true length of the
current sub-PDU: next_cmd for non-last sub-PDUs, and the remaining
pdu_length for the last one.

Fixes: b24df3e30cbf ("cifs: update receive_encrypted_standard to handle compounded responses")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>
Reviewed-by: David Howells <dhowells at redhat.com>
Signed-off-by: Paulo Alcantara <pc at manguebit.org>
DeltaFile
+1-0fs/smb/client/smb2ops.c
+1-01 files

Linux/linux b4694f2fs/smb/client smb2misc.c

smb: client: validate minimum PDU size before smb2_get_data_area_len()

__smb2_calc_size() calls smb2_get_data_area_len(), which reads
command-specific struct fields to locate the data area. However,
smb2_check_message() only validates StructureSize2, meaning a truncated
response could cause smb2_get_data_area_len() to read out-of-bounds.

Replace has_smb2_data_area[] with smb2_min_pdu_len[], which is now
used to indicate both whether a command's response has a data area
and the size of that fixed response struct.  A non-zero entry means
the command has a data area, and is the minimum length required
before the struct is read.

For each command with a data area, PDUs shorter than this minimum size
are rejected instead of parsed.

The minimum is not applied to SMB2 error responses, which carry only
the 9-byte error body, the same exemption the StructureSize2 check
above it already makes.  STATUS_MORE_PROCESSING_REQUIRED is

    [6 lines not shown]
DeltaFile
+41-28fs/smb/client/smb2misc.c
+41-281 files

Linux/linux 05762c5fs/smb/client smb2ops.c

smb: client: fix next_buffer UAF and NextCommand bounds in compound PDUs

Fix several related bounds checking and pointer lifecycle issues in
receive_encrypted_standard()'s handling of compound encrypted frames:

- Clear next_buffer after assigning it to server->bigbuf. A stale
  next_buffer pointer can lead to a use-after-free on subsequent
  error paths.
- Update pdu_length to the decrypted plaintext size (buf_size). Using
  the pre-decryption length allows NextCommand to point into stale
  ciphertext residue.
- Reject next_cmd values smaller than MID_HEADER_SIZE(server).
- Fix an integer overflow in the upper bound check by verifying
  pdu_length - next_cmd < MID_HEADER_SIZE(server), ensuring the
  trailing slice is large enough for a header.

Fixes: b24df3e30cbf ("cifs: update receive_encrypted_standard to handle compounded responses")
Cc: stable at vger.kernel.org
Signed-off-by: Frank Sorenson <sorenson at redhat.com>

    [2 lines not shown]
DeltaFile
+10-1fs/smb/client/smb2ops.c
+10-11 files

Linux/linux b5a051fdrivers/net/ethernet/stmicro/stmmac stmmac_tc.c, net/mac80211 tx.c

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

Pull networking fixes from Paolo Abeni:
 "Including fixes from Netfilter, Bluetooth, IPSec and WiFi.

  Previous releases - regressions:

   - netfilter: hold reference on ct until flow is released

   - bridge:
      - move switchdev call outside rcu
      - vlan: fix bugs caused by switchdev deletion errors

   - wifi:
      - mac80211: reset state when starting AP fails
      - cfg80211: don't free driver-owned scan requests

   - tcp: don't call skb_clone_and_charge_r() for close()d listener in
     tcp_v6_do_rcv()

    [62 lines not shown]
DeltaFile
+90-63net/wireless/core.c
+128-0tools/testing/selftests/tc-testing/tc-tests/qdiscs/hhf_flows_limit.json
+73-42net/mac80211/tx.c
+115-0tools/testing/selftests/tc-testing/tc-tests/actions/batch-delete.json
+70-29drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
+72-0tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json
+548-134130 files not shown
+2,071-681136 files

Linux/linux 4982d35sound/soc/amd/acp acp-sdw-sof-mach.c, sound/soc/codecs rt712-sdca.c

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

Pull sound fixes from Takashi Iwai:
 "A collection of small fixes. Most of them are device-specific fixes
  while there are a few core fixes. The continued flux, but not too
  scaring yet. Some highlights below.

  ALSA Core:
   - Fix potential UAF after asynchronous card release
   - Fix a race condition in PCM timer initialization order

  USB-Audio:
   - Hardening fixes for issues reported by fuzzer for 6fire, bcd2000,
     and implicit FB packets
   - Fix double list addition in implicit FB handling
   - Quirks for AVerMedia GC553Pro and Behringer FCA1616

  HD-Audio:
   - Quirks / fixes for HP OmniBook 7, OMEN 15, and Victus 15 laptops

    [33 lines not shown]
DeltaFile
+83-3sound/soc/codecs/rt712-sdca.c
+0-46sound/soc/sdw_utils/soc_sdw_cs_amp.c
+26-7sound/usb/bcd2000/bcd2000.c
+14-10sound/soc/sdw_utils/soc_sdw_utils.c
+17-6sound/soc/amd/acp/acp-sdw-sof-mach.c
+14-7sound/usb/endpoint.c
+154-7926 files not shown
+316-11932 files