Linux/linux a7c7074drivers/video/fbdev/core fbmem.c fb_io_fops.c

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

Pull fbdev fixes from Helge Deller:
 "A few patches for the core fbdev layer which stabilize or fix
  potential issues with text font rendering after screen rotation or
  after user initiated font changes and locking fixes for sysfb during
  modifications of the graphics mode database"

* tag 'fbdev-for-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
  fbdev: bitblit: bound-check glyph index in bit_cursor()
  fbdev: Fix out-of-bounds access when rotating console after font resize
  fbdev: core: Fix pointer desynchronization in fb_io_read()
  fbdev: serialize mode sysfs access with lock_fb_info()
  fbdev: clear fb_info->mode before deleting a videomode
  fbdev: bound mode sysfs output to the sysfs buffer
DeltaFile
+47-12drivers/video/fbdev/core/fbsysfs.c
+25-0drivers/video/fbdev/core/fbcon.c
+7-2drivers/video/fbdev/core/bitblit.c
+8-0drivers/video/fbdev/core/fb_io_fops.c
+4-1drivers/video/fbdev/core/fbmem.c
+91-155 files

Linux/linux 361efacinclude/linux device.h, rust/helpers io.c

Merge tag 'driver-core-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core

Pull driver core fixes from Danilo Krummrich:

 - Fix Rust build failure on s390 by gating ioremap() / iounmap()
   helpers and the io::mem module on CONFIG_HAS_IOMEM; gate affected
   doctests as well.

 - Add missing kernel-doc for show_const / store_const union members in
   struct device_attribute.

* tag 'driver-core-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core:
  rust: io: gate ioremap doctests on CONFIG_HAS_IOMEM
  rust: io: gate ioremap/iounmap on CONFIG_HAS_IOMEM
  driver core: add missing kernel-doc for union members
DeltaFile
+5-4rust/kernel/platform.rs
+2-0rust/kernel/io.rs
+2-0rust/helpers/io.c
+2-0include/linux/device.h
+1-0rust/kernel/devres.rs
+12-45 files

Linux/linux 7d8c681drivers/input evdev.c, drivers/input/joystick/iforce iforce-packets.c

Merge tag 'input-for-v7.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input updates from Dmitry Torokhov:

 - Fixes for information leaks and OOB accesses across several drivers,
   including evdev, focaltech, edt-ft5x06, iforce, and cs40l50-vibra

 - Improvements to the synaptics-rmi4 driver to properly handle F54
   worker errors and prevent buffer overflows

 - Input validation fixes in the hynitron_cstxxx touchscreen driver to
   prevent issues with invalid finger IDs and touch counts

 - Fixes for use-after-free and initialization bugs in the byd mouse and
   psxpad-spi drivers

 - New quirks for the atkbd driver to make keyboard work on HONOR and
   Xiaomi laptops


    [21 lines not shown]
DeltaFile
+32-11drivers/input/rmi4/rmi_f54.c
+16-11drivers/input/evdev.c
+18-2drivers/input/keyboard/atkbd.c
+10-3drivers/input/touchscreen/hynitron_cstxxx.c
+10-1drivers/input/joystick/iforce/iforce-packets.c
+8-2drivers/input/misc/cs40l50-vibra.c
+94-308 files not shown
+108-3614 files

Linux/linux afe80aearch/powerpc/platforms/pseries pci.c lparcfg.c

Merge tag 'powerpc-7.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Madhavan Srinivasan:

 - A couple of fixes for a memory leak and a underflow case

Thanks to George Wilson and R Nageswara Sastry

* tag 'powerpc-7.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/pseries: lparcfg - fix kbuf[] underflow
  powerpc/pseries: pci - logic bug
  powerpc/pseries: papr-phy-attest - validate cmd.length, plug mem leak
DeltaFile
+11-1arch/powerpc/platforms/pseries/papr-phy-attest.c
+1-1arch/powerpc/platforms/pseries/pci.c
+1-1arch/powerpc/platforms/pseries/lparcfg.c
+13-33 files

Linux/linux ef7656edrivers/video/fbdev/core fbcon.c

fbdev: Fix out-of-bounds access when rotating console after font resize

[BUG]
Recently, we encountered a KASAN warning as follows:

BUG: KASAN: slab-out-of-bounds in ccw_putcs+0x8bd/0xa80
Read of size 1 at addr ff11000110067100 by task bash/1209
CPU: 10 UID: 0 PID: 1209 Comm: bash Not tainted 7.2.0-rc3 #69 PREEMPT(full)
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc41 04/01/2014
 Call Trace:
  <TASK>
  ...
  kasan_report+0xf0/0x120
  ? ccw_putcs+0x8bd/0xa80
  ccw_putcs+0x8bd/0xa80
  ? __pfx_ccw_putcs+0x10/0x10
  fbcon_putcs+0x338/0x410
  ? __pfx_ccw_putcs+0x10/0x10
  do_update_region+0x21d/0x450

    [97 lines not shown]
DeltaFile
+25-0drivers/video/fbdev/core/fbcon.c
+25-01 files

Linux/linux 81cc73bdrivers/video/fbdev/core fb_io_fops.c

fbdev: core: Fix pointer desynchronization in fb_io_read()

In fb_io_read(), if copy_to_user() performs a partial copy (e.g., due to
a faulty user buffer), the loop adjusts the chunk size 'c' and updates
the remaining 'count'. However, the hardware 'src' pointer has already
been eagerly advanced by the original chunk size.

If the loop is allowed to continue, the read will resume from an
incorrect, over-advanced offset. Since the remaining 'count' was only
decremented by the successful bytes, this desynchronization causes the
next iterations to execute more hardware reads than originally bounded,
eventually leading to out-of-bounds I/O reads.

Fix this by breaking out of the loop immediately upon a partial
copy_to_user(). A partial copy indicates a faulty user buffer, making
subsequent read attempts futile. Breaking out ensures we return the
number of successfully read bytes without risking out-of-bounds hardware
accesses in subsequent mismatched iterations.


    [4 lines not shown]
DeltaFile
+8-0drivers/video/fbdev/core/fb_io_fops.c
+8-01 files

Linux/linux d15d51fdrivers/video/fbdev/core fbsysfs.c

fbdev: bound mode sysfs output to the sysfs buffer

mode_string() uses snprintf() which can return a value larger than the
remaining buffer space. show_modes() accumulates the return value into i
without checking whether i has reached PAGE_SIZE, causing the offset to
advance past the sysfs buffer if the modelist is long enough.

Add a size parameter to mode_string() and use scnprintf() to return
only the bytes actually written. Add an early return when offset
already exceeds the buffer. In show_modes(), stop accumulating once
the buffer is full.

Cc: stable at vger.kernel.org # v7.1+
Signed-off-by: Melbin K Mathew <mlbnkm1 at gmail.com>
Signed-off-by: Helge Deller <deller at gmx.de>
DeltaFile
+10-5drivers/video/fbdev/core/fbsysfs.c
+10-51 files

Linux/linux e033cbfdrivers/video/fbdev/core bitblit.c

fbdev: bitblit: bound-check glyph index in bit_cursor()

bit_cursor() fetches the glyph under the cursor with

        c = scr_readw(vc_pos);
        src = vc_font.data + ((c & charmask) * w * height);

where charmask is 0x1ff when vc_hi_font_mask is set. The screen buffer
value comes directly from scr_readw() and may be larger than the current
font's glyph count.

Syzkaller triggers this via vcs_write(). The Call Trace shows
vcs_write() in vc_screen.c writing an arbitrary 16-bit value with
writev() to /dev/vcsa, which vcs_write_buf() in vc_screen.c stores via
vcs_scr_writew() without checking charcount. The stored value is later
read in bit_cursor() in bitblit.c.

When the font is changed from a font with 512 glyphs to a font with
256 glyphs, the screen buffer can retain characters with the high

    [38 lines not shown]
DeltaFile
+7-2drivers/video/fbdev/core/bitblit.c
+7-21 files

Linux/linux 061db6bdrivers/video/fbdev/core fbsysfs.c

fbdev: serialize mode sysfs access with lock_fb_info()

show_mode(), show_modes(), and store_mode() access fb_info->modelist
and fb_info->mode without holding lock_fb_info(). store_modes() takes
lock_fb_info() while replacing the modelist and freeing the old one.

A concurrent reader or writer can load a pointer to an old modelist
entry before store_modes() frees it, then dereference freed memory or
store a stale freed pointer in fb_info->mode.

Take lock_fb_info() in show_mode(), show_modes(), and store_mode() to
serialize with store_modes(). In show_mode(), copy the mode to the
stack and format after dropping the lock. In store_mode(), split
activate() into a _locked variant to avoid double-locking, and hold
the locks for the modelist walk, mode conversion, activation, and
fb_info->mode assignment together.

Cc: stable at vger.kernel.org # v7.1+
Signed-off-by: Melbin K Mathew <mlbnkm1 at gmail.com>
Signed-off-by: Helge Deller <deller at gmx.de>
DeltaFile
+38-8drivers/video/fbdev/core/fbsysfs.c
+38-81 files

Linux/linux 95e647ddrivers/video/fbdev/core fbmem.c

fbdev: clear fb_info->mode before deleting a videomode

fb_set_var() can delete a mode from info->modelist when userspace
passes FB_ACTIVATE_INV_MODE through FBIOPUT_VSCREENINFO. The code
checks that the mode being deleted is not the current info->var and
that fbcon is not using it, but it does not check fb_info->mode.

fb_info->mode may still point into the modelist entry being deleted.
If the entry is freed, later mode sysfs reads through show_mode() can
dereference a stale pointer.

Clear fb_info->mode before calling fb_delete_videomode() when it
matches the mode being removed.

Cc: stable at vger.kernel.org # v7.1+
Signed-off-by: Melbin K Mathew <mlbnkm1 at gmail.com>
Signed-off-by: Helge Deller <deller at gmx.de>
DeltaFile
+4-1drivers/video/fbdev/core/fbmem.c
+4-11 files

Linux/linux fb442a6arch/powerpc/platforms/pseries lparcfg.c

powerpc/pseries: lparcfg - fix kbuf[] underflow

In lparcfg_write(), a count of 0 results in kbuf[] being indexed at -1.
Check for count == 0 in the existing check for count > sizeof(kbuf) and
return -EINVAL if true.

Fixes: 74422e2b1939 ("powerpc/pseries: Remove VLA from lparcfg_write()")
Acked-by: Nayna Jain <nayna at linux.ibm.com>
Tested-by: R Nageswara Sastry <rnsastry at linux.ibm.com>
Cc: stable at vger.kernel.org # 4.20
Signed-off-by: George Wilson <gcwilson at linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
DeltaFile
+1-1arch/powerpc/platforms/pseries/lparcfg.c
+1-11 files

Linux/linux 649c10barch/powerpc/platforms/pseries pci.c

powerpc/pseries: pci - logic bug

The checks on num_vfs in pseries_pci_sriov_enable() are ANDed where OR
was apparently intended.  Change it to OR.

Fixes: 9a7f6b438664 ("powerpc/pseries/pci: Associate PEs to VFs in configure SR-IOV")
Acked-by: Nayna Jain <nayna at linux.ibm.com>
Tested-by: R Nageswara Sastry <rnsastry at linux.ibm.com>
Cc: stable at vger.kernel.org # 4.16
Signed-off-by: George Wilson <gcwilson at linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
DeltaFile
+1-1arch/powerpc/platforms/pseries/pci.c
+1-11 files

Linux/linux 5b17f3farch/powerpc/platforms/pseries papr-phy-attest.c

powerpc/pseries: papr-phy-attest - validate cmd.length, plug mem leak

In papr_phy_attest_create_handle(), the params->cmd.length is not
validated before use, which can result in a buffer overlow.  Check it and
return -EINVAL if it is either 0 or exceeds sizeof(params->cmd).

Also, params is freed on the success path but not error. Free it on
errors after memory allocation.  And free it on negative fd.

Fixes: 86900ab620a4 ("powerpc/pseries: Add a char driver for physical-attestation RTAS")
Acked-by: Haren Myneni <haren at linux.ibm.com>
Acked-by: Nayna Jain <nayna at linux.ibm.com>
Tested-by: R Nageswara Sastry <rnsastry at linux.ibm.com>
Cc: stable at vger.kernel.org # 6.16
Signed-off-by: George Wilson <gcwilson at linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy at linux.ibm.com>
DeltaFile
+11-1arch/powerpc/platforms/pseries/papr-phy-attest.c
+11-11 files

Linux/linux a59f57edrivers/watchdog at91sam9_wdt.c bd96801_wdt.c

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

Pull watchdog fixes from Guenter Roeck:

 - at91sam9_wdt: prevent timer rearm during teardown

 - bd96801_wdt: Fix timeout for enabled WDG

 - atcwdt200: Fix return value when watchdog is enabled

* tag 'watchdog-for-v7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  watchdog: at91sam9_wdt: prevent timer rearm during teardown
  watchdog: bd96801_wdt: Fix timeout for enabled WDG
  watchdog: atcwdt200: fix return value when watchdog is enabled
DeltaFile
+4-3drivers/watchdog/atcwdt200_wdt.c
+2-3drivers/watchdog/bd96801_wdt.c
+2-2drivers/watchdog/at91sam9_wdt.c
+8-83 files

Linux/linux 5d78d19drivers/hwmon nzxt-smart2.c ads7828.c, drivers/hwmon/pmbus lm25066.c pmbus_core.c

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

Pull hwmon fixes from Guenter Roeck:
 "Various fixes, most of them fixing critical or high severity bugs
  reported by Sashiko.

  ads7828:
   - Fix external VREF regulator handling

  corsair-psu:
   - Fix linear11 calculation
   - Serialize debugfs access against hwmon
   - Fix possible out-of-bounds access on missing string termination

  ltc4282:
   - Fix parsing adi,current-limit-sense-microvolt
   - Clamp negative current limits
   - Avoid overflow in maximum power calculation


    [22 lines not shown]
DeltaFile
+41-24drivers/hwmon/pmbus/pmbus_core.c
+20-11drivers/hwmon/corsair-psu.c
+12-8drivers/hwmon/ltc4282.c
+6-5drivers/hwmon/ads7828.c
+5-1drivers/hwmon/nzxt-smart2.c
+3-2drivers/hwmon/pmbus/lm25066.c
+87-516 files

Linux/linux 9a14352drivers/ata libata-core.c pata_sl82c105.c

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

Pull ata fixes from Damien Le Moal:

 - Disable link power management on yet another misbehaving WD drive
   (Niklas)

 - Fix a use after free issue in the pata_sl82c105 driver (Hongyan)

* tag 'ata-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: pata_sl82c105: fix bridge revision use-after-free
  ata: libata-core: Disable LPM on WDC WD141KFGX-68FH9N0
DeltaFile
+3-1drivers/ata/pata_sl82c105.c
+1-0drivers/ata/libata-core.c
+4-12 files

Linux/linux bcc44b6drivers/accel/amdxdna amdxdna_gem.c, drivers/gpu/drm/amd/amdgpu amdgpu_cs.c amdgpu_ttm.c

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

Pull drm fixes from Dave Airlie:
 "Weekly fixes for drm, feels relatively quiet for the post-AI world,
  mostly amdgpu and xe with a few fixes across the board:

  shmem:
   - check VMA boundaries for PMD mappings

  xe:
   - Fix memory leak in exec_queue_set_hang_replay_state
   - Apply RCS/CCS yield policy to SR-IOV VFs

  amdgpu:
   - JPEG queue reset fixes
   - GC 12 fix
   - GMC 12.1 fixes
   - Lockdep false positive fix
   - Userq fix

    [45 lines not shown]
DeltaFile
+30-24drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
+47-1drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
+26-21drivers/accel/amdxdna/amdxdna_gem.c
+13-16drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+21-6drivers/gpu/drm/bridge/parade-ps8640.c
+26-1drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+163-6919 files not shown
+298-9625 files

Linux/linux 3f00828drivers/pinctrl/qcom pinctrl-ipq9650.c pinctrl-msm.h

Merge tag 'pinctrl-v7.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control fixes from Linus Walleij:
 "Qualcomm fixes: some incorrectly defined groups in IPQ9650, two pins
  needing to be marked as GPIO in IPQ806X"

* tag 'pinctrl-v7.2-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: qcom: ipq806x: mark pci reset as a GPIO pin function
  pinctrl: qcom: ipq806x: mark gpio as a GPIO pin function
  pinctrl: qcom: ipq9650: fix audio_sec_mclk_in1/out1 group pins
DeltaFile
+4-4drivers/pinctrl/qcom/pinctrl-ipq8064.c
+5-0drivers/pinctrl/qcom/pinctrl-msm.h
+2-2drivers/pinctrl/qcom/pinctrl-ipq9650.c
+11-63 files

Linux/linux a13307ekernel/bpf verifier.c, net/ipv4 tcp_ipv4.c

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

Pull BPF fixes from Daniel Borkmann:

 - Fix BPF verifier to preserve full pointer state for commuted
   scalar += pointer arithmetic (Yiyang Chen, Eduard Zingerman)

 - Fix a use-after-free of request sockets in the BPF TCP iterator
   batching (Jose Fernandez)

 - Fix a use-after-free of sk_redir in the BPF sockmap send verdict
   path (Chengfeng Ye)

 - Fix a netns reference imbalance in the BPF conntrack kfuncs
   (Chengfeng Ye)

 - Fix bpf_get_fsverity_digest() dynptr assumptions and silent
   digest truncation (Eric Biggers)


    [18 lines not shown]
DeltaFile
+48-24net/netfilter/nf_conntrack_bpf.c
+22-23kernel/bpf/verifier.c
+24-19net/ipv4/tcp_ipv4.c
+41-0tools/testing/selftests/bpf/progs/verifier_basic_stack.c
+30-0tools/testing/selftests/bpf/progs/dynptr_fail.c
+17-0tools/testing/selftests/bpf/progs/mem_rdonly_untrusted.c
+182-664 files not shown
+198-7610 files

Linux/linux 0150da6arch/s390/kvm pv.c kvm-s390.c, arch/x86/kvm/svm sev.c

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

Pull vkm fixes from Paolo Bonzini:
 "s390:

   - fix a lot of small bugs and races

  x86:

   - fix missing locking related to KVM_CAP_MOVE_ENC_CONTEXT_FROM

   - warn on creating a new page table that is the child of an invalid
     one, and limit damage before it's too late

   - disable use of INVLPGA when NPT is enabled, because it doesn't seem
     to flush TLBs correctly"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (26 commits)
  KVM: x86/mmu: WARN and clear role.invalid when creating a child shadow page

    [20 lines not shown]
DeltaFile
+81-44arch/s390/kvm/kvm-s390.c
+55-19drivers/s390/cio/vfio_ccw_cp.c
+22-21arch/s390/kvm/pv.c
+35-4drivers/s390/cio/vfio_ccw_ops.c
+25-9arch/x86/kvm/svm/sev.c
+26-5drivers/s390/cio/vfio_ccw_chp.c
+244-10219 files not shown
+379-14325 files

Linux/linux 7cbe91adrivers/hwmon hwmon.c, drivers/thermal thermal_hwmon.c

Merge tag 'thermal-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull thermal control fixes from Rafael Wysocki:
 "Revert three thermal core updates, two recent ones and one older.

  The recent ones attempted to fix a design issue in the thermal core
  and simplify code on top of that, but they made changes visible to
  user space and made it unhappy.

  The older one is a misguided code cleanup that introduced a
  (potentially nasty) bug"

* tag 'thermal-7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  Revert "thermal/drivers/hwmon: Cleanup coding style a bit"
  Revert "thermal: hwmon: Register a hwmon device for each thermal zone"
  Revert "thermal: hwmon: Use extra_groups for adding temperature attributes"
DeltaFile
+161-71drivers/thermal/thermal_hwmon.c
+2-4drivers/hwmon/hwmon.c
+1-2include/linux/hwmon.h
+164-773 files

Linux/linux 7e73882sound/soc/amd/yc acp6x-mach.c, sound/soc/codecs cs35l45-tables.c

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

Pull sound fixes from Takashi Iwai:
 "A collection of small fixes since the last pull request. More than
  few, but an enough-manageable amount at this time.

  USB-audio:
   - UAF, OOB and such hardening fixes for USB-audio, usx2y and
     us144mkii
   - Mixer regression fixes for Logitech PRO X 2 LIGHTSPEED headset and
     M-Audio Fast Track Ultra

  HD-audio:
   - Fix for an ACPI reference leak in TAS2781 HDA side-codec

  ASoC:
   - Fixes the default tables for Cirrus Logic codecs
   - Fixes for invalid enum accesses for Qualcomm LPASS
   - Error handling and robustness fixes for Intel SOF & Soundwire

    [24 lines not shown]
DeltaFile
+33-0sound/soc/sof/ipc4-topology.c
+16-16sound/soc/codecs/cs35l45-tables.c
+28-3sound/soc/sof/intel/hda-sdw-bpt.c
+19-6sound/soc/sof/ipc4-pcm.c
+21-1sound/soc/amd/yc/acp6x-mach.c
+9-1sound/usb/fcp.c
+126-2716 files not shown
+175-4922 files

Linux/linux 5fb2107drivers/gpu/drm/amd/amdgpu amdgpu_lockdep.c jpeg_v4_0_5.c

Merge tag 'amd-drm-fixes-7.2-2026-08-06' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes

amd-drm-fixes-7.2-2026-08-06:

amdgpu:
- JPEG queue reset fixes
- GC 12 fix
- GMC 12.1 fixes
- Lockdep false positive fix
- Userq fix
- Bounds checking fixes
- Devcoredump fixes
- DCN 2.0.1 fix
- Aperture mapping fix
- DC avmute fix
- DC self refresh fix

radeon:
- Performance regression fix

    [5 lines not shown]
DeltaFile
+30-24drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
+47-1drivers/gpu/drm/amd/amdgpu/gmc_v12_1.c
+13-16drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+26-1drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+15-6drivers/gpu/drm/amd/amdgpu/amdgpu_lockdep.c
+17-4drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c
+148-5210 files not shown
+216-6416 files

Linux/linux 0f7f502drivers/accel/amdxdna amdxdna_gem.c, drivers/gpu/drm drm_gem_shmem_helper.c

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

drm-misc-fixes for v7.2-rc6:
- panthor & shmem helpers: Check vma range inside pmd fault handler.
- panthor: handle empty firmware sections correctly.
- bridge/ps8640: Forward aux transfer errors.
- amdxdna: Improve error handling in amdxdna_insert_pages.

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

From: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Link: https://patch.msgid.link/415659f6-5199-4078-8319-22d7529e777d@linux.intel.com
DeltaFile
+26-21drivers/accel/amdxdna/amdxdna_gem.c
+21-6drivers/gpu/drm/bridge/parade-ps8640.c
+8-1drivers/gpu/drm/v3d/v3d_sched.c
+5-1drivers/gpu/drm/panthor/panthor_gem.c
+5-1drivers/gpu/drm/drm_gem_shmem_helper.c
+6-0drivers/gpu/drm/v3d/v3d_drv.h
+71-301 files not shown
+74-307 files

Linux/linux a8934c2sound/usb quirks.c

ALSA: usb-audio: Fix sticky mixer regressions on M-Audio Fast Track Ultra

The recent fix for sticky mixer volumes caused regressions of M-audio
Fast Track Ultra device, where the mixer state is kept to the default
value.

Add the quirk entries to tolerate the broken mixer behavior.  As the
device is known to work in the implicit feedback mode, explicitly
enable the implicit feedback mode, too.

Since there are two FTU models that are almost identical, both entries
are added in this patch (0763:2080 and 0763:2081).

Fixes: 86aa1ea1f15c ("ALSA: usb-audio: Do not expose sticky mixers")
Link: https://bugzilla.suse.com/show_bug.cgi?id=1273166
Link: https://patch.msgid.link/20260807083418.1712585-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai at suse.de>
DeltaFile
+4-0sound/usb/quirks.c
+4-01 files

Linux/linux 5ec42d5arch/x86/kvm/mmu mmu.c

KVM: x86/mmu: WARN and clear role.invalid when creating a child shadow page

Explicitly clear role.invalid when deriving a child shadow page's role from
its parent to harden against bugs elsewhere in KVM, as violating KVM's
invariant that invalid pages are NOT on the list of active MMU pages leads
to use-after-free due to __kvm_mmu_prepare_zap_page() using list_add()
instead of list_move() when processing an invalid shadow page, i.e. makes a
bad situation far worse.

Yell loudly if the parent is invalid, as it means KVM has missed a validity
check, i.e. KVM is attempting to map memory using an invalid/obsolete root,
but continue on as the child is otherwise still a valid shadow page.

  ==================================================================
  BUG: KASAN: slab-use-after-free in __kvm_mmu_get_shadow_page+0x1817/0x1860 [kvm]
  Write of size 8 at addr ff11000153dd1368 by task repro/853

  CPU: 1 UID: 1000 PID: 853 Comm: repro Not tainted 7.2.0-rc2-3aec122bdcaf-next-vm #5 PREEMPT
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015

    [49 lines not shown]
DeltaFile
+3-0arch/x86/kvm/mmu/mmu.c
+3-01 files

Linux/linux 2da6050drivers/hwmon corsair-psu.c

hwmon: (corsair-psu) serialize debugfs access against hwmon

corsairpsu_request() sends a rail select command and then the actual
read as two separate transfers, both going through the single shared
cmd_buffer and wait_completion in corsairpsu_usb_cmd(). The hwmon core
serializes its own callers, but the debugfs files call
corsairpsu_get_value() directly and never take that lock, so a debugfs
read can land between another reader's rail select and its value read.

The result is a value from the wrong rail reported as the right one,
because corsairpsu_usb_cmd() only checks the command echo and both
transfers echo the command it expects. It can also make a caller consume
the reply meant for the other one, since raw_event() writes into the
shared buffer and completes whoever happens to be waiting.

Locking was dropped in commit 4207069edbf0 ("hwmon: (corsair-psu) Rely
on subsystem locking") on the grounds that the subsystem serializes for
us, which holds for sysfs but not for these files. Take
the same lock in the debugfs paths that issue commands, using the guard

    [15 lines not shown]
DeltaFile
+4-0drivers/hwmon/corsair-psu.c
+4-01 files

Linux/linux 335698fdrivers/hwmon ltc4282.c

hwmon: (ltc4282) Fix parsing adi,current-limit-sense-microvolt

ltc4282_parse_dt() evaluates the wrong variable when parsing the current
limit.

When the adi,current-limit-sense-microvolt property is parsed into
st->vsense_max, the subsequent switch statement evaluates the unrelated
val variable instead of st->vsense_max:

drivers/hwmon/ltc4282.c:ltc4282_parse_dt() {
    ...
        ret = device_property_read_u32(dev, "adi,current-limit-sense-microvolt",
                                       &st->vsense_max);
        if (!ret) {
                int reg_val;

                switch (val) {
                case 12500:
                        reg_val = 0;

    [18 lines not shown]
DeltaFile
+1-1drivers/hwmon/ltc4282.c
+1-11 files

Linux/linux c6c4234drivers/hwmon corsair-psu.c

hwmon: (corsair-psu) Fix linear11 calculation

In corsairpsu_linear11_to_int(), the mantissa is extracted using bitwise
operations and cast to s16 before being shifted left:

static int corsairpsu_linear11_to_int(const u16 val, const int scale)
{
    ...
    const int mant = (((s16)(val & 0x7ff)) << 5) >> 5;
    ...
}

Due to C integer promotion rules, the masked value (which is always
positive) is promoted to a 32-bit integer before the left shift. As a
result, the sign bit is never extended to bit 31 of the promoted integer.

When the device hardware reports a negative temperature in Linear11 format
(such as an ambient temperature probe reporting sub-zero), the negative
mantissa is parsed incorrectly as a massive positive value. For example,

    [20 lines not shown]
DeltaFile
+14-9drivers/hwmon/corsair-psu.c
+14-91 files

Linux/linux fddb5cedrivers/hwmon ads7828.c

hwmon: (ads7828) Fix external VREF regulator handling

The driver currently has two issues with the external VREF regulator
handling in ads7828_probe():

1. All errors from devm_regulator_get_optional() are ignored, causing the
   driver to incorrectly fall back to internal VREF even for transient
   errors like -EPROBE_DEFER or genuine failures like -ENOMEM.

2. The external regulator is never enabled. The driver calls
   regulator_get_voltage() without first calling regulator_enable(),
   so the VREF pin may remain unpowered if the regulator is not
   configured as always-on.

Fix both issues by switching to devm_regulator_get_enable_read_voltage(),
which handles regulator get, enable, and voltage read in one call.
Only -ENODEV (no regulator specified in device tree) should trigger the
fallback to internal VREF. All other errors are propagated to the caller.


    [4 lines not shown]
DeltaFile
+6-5drivers/hwmon/ads7828.c
+6-51 files