Linux/linux 97313d6drivers/iommu/generic_pt pt_defs.h .kunitconfig, drivers/iommu/iommufd Kconfig

Merge tag 'iommu-fixes-v6.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iomu fixes from Joerg Roedel:

 - several Kconfig-related build fixes

 - fix for when gcc 8.5 on PPC refuses to inline a function from a
   header file

* tag 'iommu-fixes-v6.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
  iommupt: Make pt_feature() always_inline
  iommufd/selftest: Prevent module/builtin conflicts in kconfig
  iommufd/selftest: Add missing kconfig for DMA_SHARED_BUFFER
  iommupt: Fix the kunit building
DeltaFile
+2-2drivers/iommu/generic_pt/pt_defs.h
+2-1drivers/iommu/iommufd/Kconfig
+1-1drivers/iommu/generic_pt/.kunitconfig
+5-43 files

Linux/linux 7893cc1fs/erofs super.c

erofs: fix file-backed mounts no longer working on EROFS partitions

Sheng Yong reported [1] that Android APEX images didn't work with commit
072a7c7cdbea ("erofs: don't bother with s_stack_depth increasing for
now") because "EROFS-formatted APEX file images can be stored within an
EROFS-formatted Android system partition."

In response, I sent a quick fat-fingered [PATCH v3] to address the
report.  Unfortunately, the updated condition was incorrect:

         if (erofs_is_fileio_mode(sbi)) {
-            sb->s_stack_depth =
-                file_inode(sbi->dif0.file)->i_sb->s_stack_depth + 1;
-            if (sb->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) {
-                erofs_err(sb, "maximum fs stacking depth exceeded");
+            inode = file_inode(sbi->dif0.file);
+            if ((inode->i_sb->s_op == &erofs_sops && !sb->s_bdev) ||
+                inode->i_sb->s_stack_depth) {


    [19 lines not shown]
DeltaFile
+2-1fs/erofs/super.c
+2-11 files

Linux/linux 6a3d5fddrivers/iommu/generic_pt pt_defs.h

iommupt: Make pt_feature() always_inline

gcc 8.5 on powerpc does not automatically inline these functions even
though they evaluate to constants in key cases. Since the constant
propagation is essential for some code elimination and built-time checks
this causes a build failure:

 ERROR: modpost: "__pt_no_sw_bit" [drivers/iommu/generic_pt/fmt/iommu_amdv1.ko] undefined!

Caused by this:

        if (pts_feature(&pts, PT_FEAT_DMA_INCOHERENT) &&
            !pt_test_sw_bit_acquire(&pts,
                                    SW_BIT_CACHE_FLUSH_DONE))
                flush_writes_item(&pts);

Where pts_feature() evaluates to a constant false. Mark them as
__always_inline to force it to evaluate to a constant and trigger the code
elimination.

    [5 lines not shown]
DeltaFile
+2-2drivers/iommu/generic_pt/pt_defs.h
+2-21 files

Linux/linux faa37ffdrivers/iommu/iommufd Kconfig

iommufd/selftest: Add missing kconfig for DMA_SHARED_BUFFER

The test doesn't build without it, dma-buf.h does not provide stub
functions if it is not enabled. Compilation can fail with:

 ERROR:root:ld: vmlinux.o: in function `iommufd_test':
 (.text+0x3b1cdd): undefined reference to `dma_buf_get'
 ld: (.text+0x3b1d08): undefined reference to `dma_buf_put'
 ld: (.text+0x3b2105): undefined reference to `dma_buf_export'
 ld: (.text+0x3b211f): undefined reference to `dma_buf_fd'
 ld: (.text+0x3b2e47): undefined reference to `dma_buf_move_notify'

Add the missing select.

Fixes: d2041f1f11dd ("iommufd/selftest: Add some tests for the dmabuf flow")
Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
Signed-off-by: Joerg Roedel <joerg.roedel at amd.com>
DeltaFile
+1-0drivers/iommu/iommufd/Kconfig
+1-01 files

Linux/linux 7adfd68drivers/iommu/iommufd Kconfig

iommufd/selftest: Prevent module/builtin conflicts in kconfig

The selftest now depends on the AMDv1 page table, however the selftest
kconfig itself is just an sub-option of the main IOMMUFD module kconfig.

This means it cannot be modular and so kconfig allowed a modular
IOMMU_PT_AMDV1 with a built in IOMMUFD. This causes link failures:

   ld: vmlinux.o: in function `mock_domain_alloc_pgtable.isra.0':
   selftest.c:(.text+0x12e8ad3): undefined reference to `pt_iommu_amdv1_init'
   ld: vmlinux.o: in function `BSWAP_SHUFB_CTL':
   sha1-avx2-asm.o:(.rodata+0xaa36a8): undefined reference to `pt_iommu_amdv1_read_and_clear_dirty'
   ld: sha1-avx2-asm.o:(.rodata+0xaa36f0): undefined reference to `pt_iommu_amdv1_map_pages'
   ld: sha1-avx2-asm.o:(.rodata+0xaa36f8): undefined reference to `pt_iommu_amdv1_unmap_pages'
   ld: sha1-avx2-asm.o:(.rodata+0xaa3720): undefined reference to `pt_iommu_amdv1_iova_to_phys'

Adjust the kconfig to disable IOMMUFD_TEST if IOMMU_PT_AMDV1 is incompatible.

Fixes: e93d5945ed5b ("iommufd: Change the selftest to use iommupt instead of xarray")

    [5 lines not shown]
DeltaFile
+1-1drivers/iommu/iommufd/Kconfig
+1-11 files

Linux/linux cefd81edrivers/iommu/generic_pt .kunitconfig

iommupt: Fix the kunit building

The kunit doesn't work since the below commit made GENERIC_PT
unselectable:

 $ make ARCH=x86_64 O=build_kunit_x86_64 olddefconfig
 ERROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config.
 This is probably due to unsatisfied dependencies.
 Missing: CONFIG_DEBUG_GENERIC_PT=y, CONFIG_IOMMUFD_TEST=y,
 CONFIG_IOMMU_PT_X86_64=y, CONFIG_GENERIC_PT=y, CONFIG_IOMMU_PT_AMDV1=y,
 CONFIG_IOMMU_PT_VTDSS=y, CONFIG_IOMMU_PT=y, CONFIG_IOMMU_PT_KUNIT_TEST=y

Also remove the unneeded CONFIG_IOMMUFD_TEST reference as the iommupt kunit
doesn't interact with iommufd, and it doesn't currently build for the
kunit due problems with DMA_SHARED buffer either.

Fixes: 01569c216dde ("genpt: Make GENERIC_PT invisible")
Fixes: 1dd4187f53c3 ("iommupt: Add a kunit test for Generic Page Table")
Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>

    [2 lines not shown]
DeltaFile
+1-1drivers/iommu/generic_pt/.kunitconfig
+1-11 files

Linux/linux b6151c4fs/erofs super.c

Merge tag 'erofs-for-6.19-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs

Pull erofs fix from Gao Xiang:

 - Don't increase s_stack_depth which caused regressions in some
   composefs mount setups (EROFS + ovl^2)

   Instead just allow one extra unaccounted fs stacking level for
   straightforward cases.

* tag 'erofs-for-6.19-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
  erofs: don't bother with s_stack_depth increasing for now
DeltaFile
+12-6fs/erofs/super.c
+12-61 files

Linux/linux 072a7c7fs/erofs super.c

erofs: don't bother with s_stack_depth increasing for now

Previously, commit d53cd891f0e4 ("erofs: limit the level of fs stacking
for file-backed mounts") bumped `s_stack_depth` by one to avoid kernel
stack overflow when stacking an unlimited number of EROFS on top of
each other.

This fix breaks composefs mounts, which need EROFS+ovl^2 sometimes
(and such setups are already used in production for quite a long time).

One way to fix this regression is to bump FILESYSTEM_MAX_STACK_DEPTH
from 2 to 3, but proving that this is safe in general is a high bar.

After a long discussion on GitHub issues [1] about possible solutions,
one conclusion is that there is no need to support nesting file-backed
EROFS mounts on stacked filesystems, because there is always the option
to use loopback devices as a fallback.

As a quick fix for the composefs regression for this cycle, instead of

    [32 lines not shown]
DeltaFile
+12-6fs/erofs/super.c
+12-61 files

Linux/linux cb2076bblock blk-rq-qos.h blk-integrity.c, drivers/block loop.c ublk_drv.c

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

Pull block fixes from Jens Axboe:

 - Kill unlikely checks for blk-rq-qos. These checks are really
   all-or-nothing, either the branch is taken all the time, or it's not.
   Depending on the configuration, either one of those cases may be
   true. Just remove the annotation

 - Fix for merging bios with different app tags set

 - Fix for a recently introduced slowdown due to RCU synchronization

 - Fix for a status change on loop while it's in use, and then a later
   fix for that fix

 - Fix for the async partition scanning in ublk

* tag 'block-6.19-20260109' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:

    [6 lines not shown]
DeltaFile
+33-12drivers/block/loop.c
+22-15drivers/block/ublk_drv.c
+9-16block/blk-rq-qos.h
+18-5block/blk-integrity.c
+1-2block/blk-mq.c
+83-505 files

Linux/linux 68ad209io_uring io-wq.c

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

Pull io_uring fixes from Jens Axboe:
 "A single fix for a regression introduced in 6.15, where a failure to
  wake up idle io-wq workers at ring exit will wait for the timeout to
  expire.

  This isn't normally noticeable, as the exit is async.

  But if a parent task created a thread that sets up a ring and uses
  requests that cause io-wq threads to be created, and the parent task
  then waits for the thread to exit, then it can take 5 seconds for that
  pthread_join() to succeed as the child thread is waiting for its
  children to exit.

  On top of that, just a basic cleanup as well"

* tag 'io_uring-6.19-20260109' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  io_uring/io-wq: remove io_wq_for_each_worker() return value
  io_uring/io-wq: fix incorrect io_wq_for_each_worker() termination logic
DeltaFile
+4-7io_uring/io-wq.c
+4-71 files

Linux/linux e28ddd0arch/arm64/include/asm suspend.h efi.h, arch/arm64/mm proc.S pageattr.c

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

Pull arm64 fixes from Catalin Marinas:

 - Do not return false if !preemptible() in current_in_efi(). EFI
   runtime services can now run with preemption enabled

 - Fix uninitialised variable in the arm MPAM driver, reported by sparse

 - Fix partial kasan_reset_tag() use in change_memory_common() when
   calculating page indices or comparing ranges

 - Save/restore TCR2_EL1 during suspend/resume, otherwise the E0POE bit
   is lost

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Fix cleared E0POE bit after cpu_suspend()/resume()
  arm64: mm: Fix incomplete tag reset in change_memory_common()
  arm_mpam: Stop using uninitialized variables in __ris_msmon_read()
  arm64/efi: Don't fail check current_in_efi() if preemptible
DeltaFile
+8-0arch/arm64/mm/proc.S
+4-3drivers/resctrl/mpam_devices.c
+4-2arch/arm64/mm/pageattr.c
+1-1arch/arm64/include/asm/suspend.h
+1-1arch/arm64/include/asm/efi.h
+18-75 files

Linux/linux e55feeaarch/arm64/boot/dts/broadcom bcm2712-rpi-5-b-ovl-rp1.dts bcm2712-rpi-5-b-base.dtsi, drivers/misc/rp1 rp1_pci.c rp1-pci.dtso

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

Pull SoC fixes from Arnd Bergmann:
 "The main code change is a revert of the Raspberry Pi RP1 overlay
  support that was decided to not be ready.

  The other fixes are all for devicetree sources:

   - ethernet configuration on ixp42x-actiontec-mi424wr is board
     revision specific

   - validation warning fixes for imx27/imx51/imx6, hikey960 and k3

   - Minor corrections across imx8 boards, addressing all types of
     issues with interrups, dma, ethernet and clock settings, all simple
     one-line changes"

* tag 'soc-fixes-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
  arm64: dts: hisilicon: hikey960: Drop "snps,gctl-reset-quirk" and "snps,tx_de_emphasis*" properties

    [20 lines not shown]
DeltaFile
+0-254arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts
+254-0arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
+26-13arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+4-33drivers/misc/rp1/rp1_pci.c
+0-25drivers/misc/rp1/rp1-pci.dtso
+0-14arch/arm64/boot/dts/broadcom/rp1-nexus.dtsi
+284-33929 files not shown
+365-40435 files

Linux/linux 4621c33. MAINTAINERS, net/ceph osdmap.c osd_client.c

Merge tag 'ceph-for-6.19-rc5' of https://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:
 "A bunch of libceph fixes split evenly between memory safety and
  implementation correctness issues (all marked for stable) and a change
  in maintainers for CephFS: Slava and Alex have formally taken over
  Xiubo's role"

* tag 'ceph-for-6.19-rc5' of https://github.com/ceph/ceph-client:
  libceph: make calc_target() set t->paused, not just clear it
  libceph: reset sparse-read state in osd_fault()
  libceph: return the handler error from mon_handle_auth_done()
  libceph: make free_choose_arg_map() resilient to partial allocation
  ceph: update co-maintainers list in MAINTAINERS
  libceph: replace overzealous BUG_ON in osdmap_apply_incremental()
  libceph: prevent potential out-of-bounds reads in handle_auth_done()
DeltaFile
+15-9net/ceph/osdmap.c
+12-2net/ceph/osd_client.c
+4-2MAINTAINERS
+1-1net/ceph/mon_client.c
+2-0net/ceph/messenger_v2.c
+34-145 files

Linux/linux 372800cfs/btrfs inode.c super.c

Merge tag 'for-6.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:

 - fix potential NULL pointer dereference when replaying tree log after
   an error

 - release path before initializing extent tree to avoid potential
   deadlock when allocating new inode

 - on filesystems with block size > page size
    - fix potential read out of bounds during encoded read of an inline
      extent
    - only enforce free space tree if v1 cache is required

 - print correct tree id in error message

* tag 'for-6.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: show correct warning if can't read data reloc tree

    [5 lines not shown]
DeltaFile
+32-9fs/btrfs/inode.c
+5-7fs/btrfs/super.c
+1-1fs/btrfs/tree-log.c
+1-0fs/btrfs/disk-io.c
+39-174 files

Linux/linux 4d6fe1darch/sparc/kernel pci.c, drivers/pci/controller/dwc pci-meson.c pcie-qcom.c

Merge tag 'pci-v6.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci

Pull PCI fixes from Bjorn Helgaas:

 - Remove ASPM L0s support for MSM8996 SoC since we now enable L0s when
   advertised, and it caused random hangs on this device (Manivannan
   Sadhasivam)

 - Fix meson-pcie to report that the link is up while in ASPM L0s or L1,
   since those are active states from the software point of view, and
   treating the link as down caused config access failures (Bjorn
   Helgaas)

 - Fix up sparc DTS BAR descriptions that are above 4GB but not marked
   as prefetchable, which caused resource assignment and driver probe
   failures after we converted from the SPARC pcibios_enable_device() to
   the generic version (Ilpo Järvinen)

* tag 'pci-v6.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:

    [3 lines not shown]
DeltaFile
+3-34drivers/pci/controller/dwc/pci-meson.c
+23-0arch/sparc/kernel/pci.c
+3-1drivers/pci/controller/dwc/pcie-qcom.c
+29-353 files

Linux/linux 553410fdrivers/acpi pci_link.c pci_irq.c, drivers/xen acpi.c

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

Pull ACPI support fix from Rafael Wysocki:
 "This fixes the ACPI/PCI legacy interrupts (INTx) parsing in the case
  when the ACPI Global System Interrupt (GSI) value is a 32-bit one with
  the MSB set.

  That was interpreted as a negative integer and caused
  acpi_pci_link_allocate_irq() to fail and acpi_irq_get_penalty() to
  trigger an out-of-bounds array dereference (Lorenzo Pieralisi)"

* tag 'acpi-6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: PCI: IRQ: Fix INTx GSIs signedness
DeltaFile
+25-14drivers/acpi/pci_link.c
+11-8drivers/acpi/pci_irq.c
+7-6drivers/xen/acpi.c
+1-1include/acpi/acpi_drivers.h
+44-294 files

Linux/linux 81c5ffekernel/power swap.c

Merge tag 'pm-6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fix from Rafael Wysocki:
 "This fixes a crash in the hibernation image saving code that can be
  triggered when the given compression algorithm is unavailable (Malaya
  Kumar Rout)"

* tag 'pm-6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM: hibernate: Fix crash when freeing invalid crypto compressor
DeltaFile
+10-4kernel/power/swap.c
+10-41 files

Linux/linux a81668ddrivers/gpio gpiolib-shared.c gpiolib.c

Merge tag 'gpio-fixes-for-v6.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:
 "There are several ordinary driver fixes and a fix to a race between
  the registration of two chips that causes a crash in GPIO core.

  The bulk of the changed lines however, concerns the management of
  shared GPIOs that landed in v6.19-rc1. Enabling it for ARCH_QCOM
  enabled it in defconfig which effectively enabled it for all arm64
  platforms and exposed the code to quite a lot of testing (which is
  good, right? :)).

  As a resukt, I received a number of bug reports, which I progressively
  fixed over the course of last weeks. This explains the number of lines
  higher than what I normally aim for at this stage.

   - balance superio enter/exit calls in error path in gpio-it87

   - fix a race where we try to take the SRCU read lock of the GPIO

    [26 lines not shown]
DeltaFile
+180-71drivers/gpio/gpiolib-shared.c
+79-57drivers/gpio/gpiolib.c
+24-1drivers/gpio/gpio-pca953x.c
+11-1drivers/gpio/gpio-mpsse.c
+3-8drivers/gpio/gpio-it87.c
+3-1drivers/gpio/gpiolib-shared.h
+300-1391 files not shown
+301-1397 files

Linux/linux cbd4480drivers/gpu/drm drm_atomic_helper.c, drivers/gpu/drm/amd/display/dc/bios command_table.c

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

Pull drm fixes from Dave Airlie:
 "I missed the drm-rust fixes tree for last week, so this catches up on
  that, along with amdgpu, and then some misc fixes across a few
  drivers. I hadn't got an xe pull by the time I sent this, I suspect
  one will arrive 10 mins after, but I don't think there is anything
  that can't wait for next week.

  Things seem to have picked up a little with people coming back from
  holidays,

  MAINTAINERS:
   - Fix Nova GPU driver git links
   - Fix typo in TYR driver entry preventing correct behavior of
     scripts/get_maintainer.pl
   - Exclude TYR driver from DRM MISC

  nova-core:

    [62 lines not shown]
DeltaFile
+139-406drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
+66-183include/drm/drm_bridge.h
+99-23drivers/gpu/drm/drm_atomic_helper.c
+59-46drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs
+38-40drivers/gpu/nova-core/gsp/fw.rs
+35-9drivers/gpu/drm/amd/display/dc/bios/command_table.c
+436-70735 files not shown
+724-81341 files

Linux/linux 2bfe3e0fs locks.c namei.c, fs/iomap buffered-io.c

Merge tag 'vfs-6.19-rc5.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs

Pull vfs fixes from Christian Brauner:

 - Remove incorrect __user annotation from struct xattr_args::value

 - Documentation fix: Add missing kernel-doc description for the @isnew
   parameter in ilookup5_nowait() to silence Sphinx warnings

 - Documentation fix: Fix kernel-doc comment for __start_dirop() - the
   function name in the comment was wrong and the @state parameter was
   undocumented

 - Replace dynamic folio_batch allocation with stack allocation in
   iomap_zero_range(). The dynamic allocation was problematic for
   ext4-on-iomap work (didn't handle allocation failure properly) and
   triggered lockdep complaints. Uses a flag instead to control batch
   usage


    [48 lines not shown]
DeltaFile
+61-58fs/locks.c
+35-15fs/iomap/buffered-io.c
+21-2fs/nfsd/nfs4layouts.c
+15-6fs/namei.c
+19-0fs/nfsd/nfs4state.c
+18-0fs/pidfs.c
+169-8110 files not shown
+196-9716 files

Linux/linux 77d4c5ddrivers/crypto/intel/qat/qat_common adf_aer.c

Merge tag 'v6.19-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto fix from Herbert Xu:

 - Fix duplicate restart messages in qat

* tag 'v6.19-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: qat - fix duplicate restarting msg during AER error
DeltaFile
+0-2drivers/crypto/intel/qat/qat_common/adf_aer.c
+0-21 files

Linux/linux f0d385fdrivers/block ublk_drv.c

ublk: fix use-after-free in ublk_partition_scan_work

A race condition exists between the async partition scan work and device
teardown that can lead to a use-after-free of ub->ub_disk:

1. ublk_ctrl_start_dev() schedules partition_scan_work after add_disk()
2. ublk_stop_dev() calls ublk_stop_dev_unlocked() which does:
   - del_gendisk(ub->ub_disk)
   - ublk_detach_disk() sets ub->ub_disk = NULL
   - put_disk() which may free the disk
3. The worker ublk_partition_scan_work() then dereferences ub->ub_disk
   leading to UAF

Fix this by using ublk_get_disk()/ublk_put_disk() in the worker to hold
a reference to the disk during the partition scan. The spinlock in
ublk_get_disk() synchronizes with ublk_detach_disk() ensuring the worker
either gets a valid reference or sees NULL and exits early.

Also change flush_work() to cancel_work_sync() to avoid running the

    [6 lines not shown]
DeltaFile
+22-15drivers/block/ublk_drv.c
+22-151 files

Linux/linux bdf3f41arch/arm64/include/asm suspend.h, arch/arm64/mm proc.S

arm64: Fix cleared E0POE bit after cpu_suspend()/resume()

TCR2_ELx.E0POE is set during smp_init().
However, this bit is not reprogrammed when the CPU enters suspension and
later resumes via cpu_resume(), as __cpu_setup() does not re-enable E0POE
and there is no save/restore logic for the TCR2_ELx system register.

As a result, the E0POE feature no longer works after cpu_resume().

To address this, save and restore TCR2_EL1 in the cpu_suspend()/cpu_resume()
path, rather than adding related logic to __cpu_setup(), taking into account
possible future extensions of the TCR2_ELx feature.

Fixes: bf83dae90fbc ("arm64: enable the Permission Overlay Extension for EL0")
Cc: <stable at vger.kernel.org> # 6.12.x
Signed-off-by: Yeoreum Yun <yeoreum.yun at arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual at arm.com>
Reviewed-by: Kevin Brodsky <kevin.brodsky at arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
DeltaFile
+8-0arch/arm64/mm/proc.S
+1-1arch/arm64/include/asm/suspend.h
+9-12 files

Linux/linux d578b31drivers/gpio gpiolib-shared.c

gpio: shared: fix a false-positive sharing detection with reset-gpios

After scanning the devicetree, we remove all entries that have only one
reference, while creating GPIO shared proxies for the remaining, shared
entries. However: for the reset-gpio corner-case, we will have two
references for a "reset-gpios" pin that's not really shared. In this
case one will come from the actual consumer fwnode and the other from
the potential auxiliary reset-gpio device. This causes the GPIO core to
create unnecessary GPIO shared proxy devices for pins that are not
really shared.

Add a function that can detect this situation and remove entries that
have exactly two references but one of them is a reset-gpio.

Fixes: 7b78b26757e0 ("gpio: shared: handle the reset-gpios corner case")
Link: https://lore.kernel.org/r/20260108-gpio-shared-false-positive-v1-1-5dbf8d1b2f7d@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at oss.qualcomm.com>
DeltaFile
+32-2drivers/gpio/gpiolib-shared.c
+32-21 files

Linux/linux 623fb99. .mailmap, drivers/pinctrl Kconfig

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

Pull pin control fixes from Linus Walleij:

 - Fix the mt8189 register base name order back from being fixed broken

 - Add REGMAP_MMIO to the pic64gx-gpio2 to avoid build breakages

 - Mark the Qualcomm lpass-lpi pin controller GPIO chip instance as
   sleeping to fix lock splats

 - Update .mailmap with my new kernel.org address for all old mails
   after maintainers ran into issues with this

* tag 'pinctrl-v6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: qcom: lpass-lpi: mark the GPIO controller as sleeping
  pinctrl: pic64gx-gpio2: Add REGMAP_MMIO dependency
  Update .mailmap for Linus Walleij
  pinctrl: mediatek: mt8189: restore previous register base name array order
DeltaFile
+4-0.mailmap
+1-1drivers/pinctrl/mediatek/pinctrl-mt8189.c
+1-1drivers/pinctrl/qcom/pinctrl-lpass-lpi.c
+1-0drivers/pinctrl/Kconfig
+7-24 files

Linux/linux 5fcd551arch/arm64/mm pageattr.c

arm64: mm: Fix incomplete tag reset in change_memory_common()

Running KASAN KUnit tests with {HW,SW}_TAGS mode triggers a fault in
change_memory_common():

  Call trace:
   change_memory_common+0x168/0x210 (P)
   set_memory_ro+0x20/0x48
   vmalloc_helpers_tags+0xe8/0x338
   kunit_try_run_case+0x74/0x188
   kunit_generic_run_threadfn_adapter+0x30/0x70
   kthread+0x11c/0x200
   ret_from_fork+0x10/0x20
  ---[ end trace 0000000000000000 ]---
      # vmalloc_helpers_tags: try faulted
      not ok 67 vmalloc_helpers_tags

Commit a06494adb7ef ("arm64: mm: use untagged address to calculate page index")
fixed a KASAN warning in the BPF subsystem by adding kasan_reset_tag() to

    [31 lines not shown]
DeltaFile
+4-2arch/arm64/mm/pageattr.c
+4-21 files

Linux/linux c2803bddrivers/resctrl mpam_devices.c

arm_mpam: Stop using uninitialized variables in __ris_msmon_read()

Dan has reported two uses of uninitialized variables in __ris_msmon_read().
If an unknown monitor type is encountered then the local variable, now, is
used uninitialized. Fix this by returning early on error. If a non-mbwu
monitor is being read then the local variable, overflow, is not initialized
but still read. Initialize it to false as overflow is not relevant for csu
monitors.

Fixes: 823e7c3712c5 ("arm_mpam: Add mpam_msmon_read() to read monitor value")
Fixes: 9e5afb7c3283 ("arm_mpam: Use long MBWU counters if supported")
Reported-by: kernel test robot <lkp at intel.com>
Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
Closes: https://lore.kernel.org/r/202512091519.RBwiJcSq-lkp@intel.com/
Closes: https://lore.kernel.org/r/202512100547.N7QPYgfb-lkp@intel.com/
Signed-off-by: Ben Horgan <ben.horgan at arm.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron at huawei.com>
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
DeltaFile
+4-3drivers/resctrl/mpam_devices.c
+4-31 files

Linux/linux 5572ad8include/linux trace_recursion.h ftrace.h, kernel/trace trace.c trace_events.c

Merge tag 'trace-v6.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing fixes from Steven Rostedt:

 - Remove useless assignment of soft_mode variable

   The function __ftrace_event_enable_disable() sets "soft_mode" in one
   of the branch paths but doesn't use it after that. Remove the setting
   of that variable.

 - Add a cond_resched() in ring_buffer_resize()

   The resize function that allocates all the pages for the ring buffer
   was causing a soft lockup on PREEMPT_NONE configs when allocating
   large buffers on machines with many CPUs. Hopefully this is the last
   cond_resched() needed to be added as PREEMPT_LAZY becomes the norm in
   the future.

 - Make ftrace_graph_ent depth field signed

    [31 lines not shown]
DeltaFile
+9-0include/linux/trace_recursion.h
+7-1kernel/trace/trace.c
+3-4kernel/trace/trace_events.c
+1-1include/linux/ftrace.h
+2-0kernel/trace/ring_buffer.c
+22-65 files

Linux/linux f2a3b12drivers/net/dsa/mv88e6xxx serdes.c, drivers/net/ethernet/intel/idpf idpf_lib.c idpf_ethtool.c

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

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

  Current release - fix to a fix:

   - net: do not write to msg_get_inq in callee

   - arp: do not assume dev_hard_header() does not change skb->head

  Current release - regressions:

   - wifi: mac80211: don't iterate not running interfaces

   - eth: mlx5: fix NULL pointer dereference in ioctl module EEPROM

  Current release - new code bugs:


    [38 lines not shown]
DeltaFile
+154-120drivers/net/ethernet/intel/idpf/idpf_lib.c
+63-29drivers/net/ethernet/intel/idpf/idpf_ethtool.c
+59-0tools/testing/selftests/drivers/net/netdevsim/peer.sh
+47-0tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json
+19-27drivers/net/ethernet/intel/idpf/idpf_txrx.c
+0-46drivers/net/dsa/mv88e6xxx/serdes.c
+342-22268 files not shown
+638-37374 files

Linux/linux c92510fnet/ipv4 arp.c

arp: do not assume dev_hard_header() does not change skb->head

arp_create() is the only dev_hard_header() caller
making assumption about skb->head being unchanged.

A recent commit broke this assumption.

Initialize @arp pointer after dev_hard_header() call.

Fixes: db5b4e39c4e6 ("ip6_gre: make ip6gre_header() robust")
Reported-by: syzbot+58b44a770a1585795351 at syzkaller.appspotmail.com
Signed-off-by: Eric Dumazet <edumazet at google.com>
Link: https://patch.msgid.link/20260107212250.384552-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+4-3net/ipv4/arp.c
+4-31 files