Skip to contentSkip to conversation

Linux 6.14.3

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Apr 20, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.14.3 kernel.

All users of the 6.14 kernel series must upgrade.

The updated 6.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.14.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/kernel-parameters.txt                                      |    2 
 Documentation/arch/arm64/silicon-errata.rst                                          |    2 
 Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml                       |    3 
 Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml                       |    3 
 Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml                       |    2 
 Makefile                                                                             |    5 
 arch/arm/lib/crc-t10dif-glue.c                                                       |    4 
 arch/arm64/Kconfig                                                                   |    9 
 arch/arm64/boot/dts/exynos/google/gs101.dtsi                                         |    1 
 arch/arm64/boot/dts/mediatek/mt8173.dtsi                                             |    6 
 arch/arm64/boot/dts/mediatek/mt8188.dtsi                                             |    2 
 arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi                            |    7 
 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi                             |    6 
 arch/arm64/include/asm/cputype.h                                                     |    4 
 arch/arm64/include/asm/kvm_arm.h                                                     |    4 
 arch/arm64/include/asm/spectre.h                                                     |    1 
 arch/arm64/include/asm/traps.h                                                       |    4 
 arch/arm64/kernel/proton-pack.c                                                      |  218 ++-
 arch/arm64/kvm/arm.c                                                                 |    6 
 arch/arm64/kvm/sys_regs.c                                                            |  204 +--
 arch/arm64/lib/crc-t10dif-glue.c                                                     |    4 
 arch/arm64/mm/mmu.c                                                                  |    3 
 arch/powerpc/kvm/powerpc.c                                                           |    5 
 arch/s390/Makefile                                                                   |    2 
 arch/s390/kernel/perf_cpum_cf.c                                                      |    9 
 arch/s390/kernel/perf_cpum_sf.c                                                      |    3 
 arch/s390/pci/pci_bus.c                                                              |    3 
 arch/s390/pci/pci_mmio.c                                                             |   18 
 arch/sparc/include/asm/pgtable_64.h                                                  |    2 
 arch/sparc/mm/tlb.c                                                                  |    5 
 arch/x86/Kbuild                                                                      |    4 
 arch/x86/Kconfig                                                                     |   20 
 arch/x86/coco/sev/core.c                                                             |    2 
 arch/x86/kernel/acpi/boot.c                                                          |   11 
 arch/x86/kernel/cpu/amd.c                                                            |    3 
 arch/x86/kernel/e820.c                                                               |   17 
 arch/x86/kernel/head64.c                                                             |    2 
 arch/x86/kernel/signal_32.c                                                          |   62 -
 arch/x86/kvm/cpuid.c                                                                 |    8 
 arch/x86/kvm/x86.c                                                                   |    4 
 arch/x86/mm/kasan_init_64.c                                                          |    1 
 arch/x86/mm/mem_encrypt_amd.c                                                        |    2 
 arch/x86/mm/mem_encrypt_identity.c                                                   |    2 
 arch/x86/mm/pat/set_memory.c                                                         |    6 
 arch/x86/xen/enlighten.c                                                             |   10 
 arch/x86/xen/setup.c                                                                 |    3 
 block/blk-mq.c                                                                       |    1 
 drivers/accel/ivpu/ivpu_debugfs.c                                                    |    4 
 drivers/accel/ivpu/ivpu_ipc.c                                                        |    3 
 drivers/accel/ivpu/ivpu_ms.c                                                         |   24 
 drivers/acpi/Makefile                                                                |    4 
 drivers/ata/ahci.c                                                                   |   11 
 drivers/ata/ahci.h                                                                   |    1 
 drivers/ata/libahci.c                                                                |    4 
 drivers/ata/libata-core.c                                                            |   38 
 drivers/ata/libata-eh.c                                                              |   11 
 drivers/ata/pata_pxa.c                                                               |    6 
 drivers/ata/sata_sx4.c                                                               |   13 
 drivers/auxdisplay/hd44780.c                                                         |    4 
 drivers/base/devres.c                                                                |    7 
 drivers/block/ublk_drv.c                                                             |   30 
 drivers/bluetooth/btintel_pcie.c                                                     |    1 
 drivers/bluetooth/btqca.c                                                            |   27 
 drivers/bluetooth/btqca.h                                                            |    4 
 drivers/bluetooth/btusb.c                                                            |   32 
 drivers/bluetooth/hci_ldisc.c                                                        |   19 
 drivers/bluetooth/hci_qca.c                                                          |   27 
 drivers/bluetooth/hci_uart.h                                                         |    1 
 drivers/bus/mhi/host/main.c                                                          |   16 
 drivers/char/tpm/tpm-chip.c                                                          |    6 
 drivers/char/tpm/tpm-interface.c                                                     |    7 
 drivers/char/tpm/tpm_tis_core.c                                                      |   20 
 drivers/char/tpm/tpm_tis_core.h                                                      |    1 
 drivers/clk/qcom/clk-branch.c                                                        |    4 
 drivers/clk/qcom/gdsc.c                                                              |   61 -
 drivers/clk/renesas/r9a07g043-cpg.c                                                  |    7 
 drivers/clocksource/timer-stm32-lp.c                                                 |    4 
 drivers/cpufreq/amd-pstate.c                                                         |    5 
 drivers/cpuidle/Makefile                                                             |    3 
 drivers/crypto/ccp/sp-pci.c                                                          |   15 
 drivers/firmware/cirrus/test/cs_dsp_test_control_parse.c                             |   51 
 drivers/gpio/gpio-mpc8xxx.c                                                          |    4 
 drivers/gpio/gpio-tegra186.c                                                         |   27 
 drivers/gpio/gpio-zynq.c                                                             |    1 
 drivers/gpio/gpiolib-of.c                                                            |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                                           |   10 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                                               |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h                                               |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c                                            |   43 
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c                                             |   10 
 drivers/gpu/drm/amd/amdkfd/kfd_device.c                                              |    5 
 drivers/gpu/drm/amd/amdkfd/kfd_process.c                                             |   17 
 drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c                               |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_svm.c                                                 |   31 
 drivers/gpu/drm/amd/display/dc/core/dc.c                                             |    8 
 drivers/gpu/drm/amd/display/dc/dc.h                                                  |    2 
 drivers/gpu/drm/amd/display/dc/dc_dp_types.h                                         |    8 
 drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c       |    2 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_resource_mgmt.c                          |   26 
 drivers/gpu/drm/amd/display/dc/hubp/dcn31/dcn31_hubp.c                               |    2 
 drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c                              |   22 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c                   |   12 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c                     |    2 
 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training_fixed_vs_pe_retimer.c |    3 
 drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c                                     |    5 
 drivers/gpu/drm/drm_atomic_helper.c                                                  |    2 
 drivers/gpu/drm/drm_debugfs.c                                                        |    2 
 drivers/gpu/drm/drm_panel.c                                                          |    5 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                                       |   46 
 drivers/gpu/drm/i915/gt/intel_rc6.c                                                  |   19 
 drivers/gpu/drm/i915/gt/uc/intel_huc.c                                               |   11 
 drivers/gpu/drm/i915/gt/uc/intel_huc.h                                               |    1 
 drivers/gpu/drm/i915/gt/uc/intel_uc.c                                                |    1 
 drivers/gpu/drm/i915/selftests/i915_selftest.c                                       |   18 
 drivers/gpu/drm/mediatek/mtk_dpi.c                                                   |   23 
 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c                                          |   16 
 drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c                                       |   29 
 drivers/gpu/drm/tests/drm_client_modeset_test.c                                      |    3 
 drivers/gpu/drm/tests/drm_cmdline_parser_test.c                                      |   10 
 drivers/gpu/drm/tests/drm_kunit_helpers.c                                            |   22 
 drivers/gpu/drm/tests/drm_modes_test.c                                               |   22 
 drivers/gpu/drm/tests/drm_probe_helper_test.c                                        |    8 
 drivers/gpu/drm/virtio/virtgpu_prime.c                                               |    2 
 drivers/gpu/drm/virtio/virtgpu_vq.c                                                  |    3 
 drivers/gpu/drm/xe/xe_gt.c                                                           |    4 
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c                                           |    4 
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c                                                  |   16 
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h                                                  |    1 
 drivers/gpu/drm/xe/xe_guc_pc.c                                                       |    1 
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c                                        |  108 -
 drivers/gpu/drm/xe/xe_tuning.c                                                       |    8 
 drivers/gpu/drm/xe/xe_wa.c                                                           |    7 
 drivers/hid/Kconfig                                                                  |   14 
 drivers/hid/Makefile                                                                 |    1 
 drivers/hid/hid-ids.h                                                                |   37 
 drivers/hid/hid-lenovo.c                                                             |    2 
 drivers/hid/hid-universal-pidff.c                                                    |  202 +++
 drivers/hid/usbhid/hid-core.c                                                        |    1 
 drivers/hid/usbhid/hid-pidff.c                                                       |  569 ++++++----
 drivers/hid/usbhid/hid-pidff.h                                                       |   33 
 drivers/hsi/clients/ssi_protocol.c                                                   |    1 
 drivers/i3c/master.c                                                                 |    3 
 drivers/i3c/master/svc-i3c-master.c                                                  |    2 
 drivers/idle/Makefile                                                                |    5 
 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c                                       |   32 
 drivers/iommu/exynos-iommu.c                                                         |    4 
 drivers/iommu/intel/iommu.c                                                          |    2 
 drivers/iommu/intel/irq_remapping.c                                                  |   71 -
 drivers/iommu/iommufd/device.c                                                       |  123 ++
 drivers/iommu/iommufd/fault.c                                                        |    8 
 drivers/iommu/iommufd/iommufd_private.h                                              |   33 
 drivers/iommu/mtk_iommu.c                                                            |   26 
 drivers/irqchip/irq-gic-v3-its.c                                                     |   23 
 drivers/irqchip/irq-renesas-rzv2h.c                                                  |    2 
 drivers/leds/rgb/leds-qcom-lpg.c                                                     |    8 
 drivers/mailbox/tegra-hsp.c                                                          |   72 +
 drivers/md/dm-ebs-target.c                                                           |    7 
 drivers/md/dm-integrity.c                                                            |   48 
 drivers/md/dm-verity-target.c                                                        |    8 
 drivers/media/common/siano/smsdvb-main.c                                             |    2 
 drivers/media/i2c/adv748x/adv748x.h                                                  |    2 
 drivers/media/i2c/ccs/ccs-core.c                                                     |    6 
 drivers/media/i2c/hi556.c                                                            |    5 
 drivers/media/i2c/imx214.c                                                           |   25 
 drivers/media/i2c/imx219.c                                                           |  106 +
 drivers/media/i2c/imx319.c                                                           |    9 
 drivers/media/i2c/ov08x40.c                                                          |    8 
 drivers/media/i2c/ov7251.c                                                           |    4 
 drivers/media/pci/intel/ipu6/ipu6-isys-video.c                                       |    1 
 drivers/media/pci/mgb4/mgb4_cmt.c                                                    |    8 
 drivers/media/platform/chips-media/wave5/wave5-hw.c                                  |    2 
 drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c                             |   31 
 drivers/media/platform/chips-media/wave5/wave5-vpu.c                                 |    4 
 drivers/media/platform/chips-media/wave5/wave5-vpuapi.c                              |   10 
 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c                    |    5 
 drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c                   |    6 
 drivers/media/platform/nuvoton/npcm-video.c                                          |    6 
 drivers/media/platform/qcom/venus/hfi_parser.c                                       |  100 +
 drivers/media/platform/qcom/venus/hfi_venus.c                                        |   18 
 drivers/media/platform/rockchip/rga/rga-hw.c                                         |    2 
 drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c                              |    5 
 drivers/media/platform/st/stm32/dma2d/dma2d.c                                        |    3 
 drivers/media/platform/xilinx/xilinx-tpg.c                                           |    2 
 drivers/media/rc/streamzap.c                                                         |   68 -
 drivers/media/test-drivers/vim2m.c                                                   |    6 
 drivers/media/test-drivers/visl/visl-core.c                                          |   12 
 drivers/media/usb/uvc/uvc_driver.c                                                   |    9 
 drivers/media/v4l2-core/v4l2-dv-timings.c                                            |    4 
 drivers/mfd/ene-kb3930.c                                                             |    2 
 drivers/misc/pci_endpoint_test.c                                                     |    7 
 drivers/mmc/host/dw_mmc.c                                                            |   94 +
 drivers/mmc/host/dw_mmc.h                                                            |   27 
 drivers/mtd/inftlcore.c                                                              |    9 
 drivers/mtd/mtdpstore.c                                                              |   12 
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                                             |    2 
 drivers/mtd/nand/raw/r852.c                                                          |    3 
 drivers/net/can/flexcan/flexcan-core.c                                               |   35 
 drivers/net/can/flexcan/flexcan.h                                                    |    5 
 drivers/net/dsa/mv88e6xxx/chip.c                                                     |   23 
 drivers/net/ethernet/google/gve/gve_ethtool.c                                        |    4 
 drivers/net/ethernet/google/gve/gve_rx_dqo.c                                         |    3 
 drivers/net/ethernet/intel/igc/igc.h                                                 |    2 
 drivers/net/ethernet/intel/igc/igc_main.c                                            |    4 
 drivers/net/ethernet/intel/igc/igc_xdp.c                                             |    2 
 drivers/net/ethernet/marvell/octeontx2/nic/qos.c                                     |    5 
 drivers/net/ethernet/microsoft/mana/mana_en.c                                        |   46 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                                    |   11 
 drivers/net/ethernet/wangxun/libwx/wx_lib.c                                          |    6 
 drivers/net/ethernet/wangxun/libwx/wx_type.h                                         |    3 
 drivers/net/phy/phy_device.c                                                         |   57 -
 drivers/net/phy/sfp.c                                                                |   13 
 drivers/net/ppp/ppp_synctty.c                                                        |    5 
 drivers/net/usb/asix_devices.c                                                       |   17 
 drivers/net/usb/cdc_ether.c                                                          |    7 
 drivers/net/usb/r8152.c                                                              |    6 
 drivers/net/usb/r8153_ecm.c                                                          |    6 
 drivers/net/wireless/ath/ath11k/ahb.c                                                |    4 
 drivers/net/wireless/ath/ath11k/core.c                                               |    4 
 drivers/net/wireless/ath/ath11k/core.h                                               |    5 
 drivers/net/wireless/ath/ath11k/dp.c                                                 |   35 
 drivers/net/wireless/ath/ath11k/fw.c                                                 |    3 
 drivers/net/wireless/ath/ath11k/mac.c                                                |   14 
 drivers/net/wireless/ath/ath11k/pci.c                                                |    3 
 drivers/net/wireless/ath/ath11k/reg.c                                                |   85 +
 drivers/net/wireless/ath/ath11k/reg.h                                                |    3 
 drivers/net/wireless/ath/ath11k/wmi.h                                                |    1 
 drivers/net/wireless/ath/ath12k/dp_mon.c                                             |   66 -
 drivers/net/wireless/ath/ath12k/dp_rx.c                                              |   42 
 drivers/net/wireless/ath/ath12k/hal_rx.h                                             |    3 
 drivers/net/wireless/ath/ath12k/pci.c                                                |    2 
 drivers/net/wireless/ath/ath9k/ath9k.h                                               |    2 
 drivers/net/wireless/mediatek/mt76/eeprom.c                                          |    4 
 drivers/net/wireless/mediatek/mt76/mt76.h                                            |    1 
 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c                                 |    4 
 drivers/net/wireless/mediatek/mt76/mt76x2/usb.c                                      |    1 
 drivers/net/wireless/mediatek/mt76/mt7925/init.c                                     |    1 
 drivers/net/wireless/mediatek/mt76/mt7925/main.c                                     |  160 +-
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.c                                      |  170 +-
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.h                                      |    6 
 drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h                                   |    3 
 drivers/net/wireless/mediatek/mt76/mt792x.h                                          |    9 
 drivers/net/wireless/mediatek/mt76/mt792x_core.c                                     |    3 
 drivers/net/wireless/realtek/rtw88/rtw8822bu.c                                       |    4 
 drivers/ntb/ntb_transport.c                                                          |    2 
 drivers/nvme/target/fcloop.c                                                         |    2 
 drivers/of/irq.c                                                                     |   80 -
 drivers/pci/controller/cadence/pci-j721e.c                                           |    5 
 drivers/pci/controller/dwc/pci-layerscape.c                                          |    2 
 drivers/pci/controller/pcie-brcmstb.c                                                |   13 
 drivers/pci/controller/pcie-rockchip-host.c                                          |    2 
 drivers/pci/controller/pcie-rockchip.h                                               |    1 
 drivers/pci/controller/vmd.c                                                         |   12 
 drivers/pci/devres.c                                                                 |   18 
 drivers/pci/hotplug/pciehp_core.c                                                    |    5 
 drivers/pci/iomap.c                                                                  |   29 
 drivers/pci/pci.c                                                                    |    6 
 drivers/pci/pci.h                                                                    |   16 
 drivers/pci/probe.c                                                                  |   22 
 drivers/perf/arm_pmu.c                                                               |    8 
 drivers/perf/dwc_pcie_pmu.c                                                          |   51 
 drivers/phy/freescale/phy-fsl-imx8m-pcie.c                                           |   11 
 drivers/pinctrl/qcom/pinctrl-msm.c                                                   |   12 
 drivers/pinctrl/samsung/pinctrl-exynos-arm64.c                                       |   98 -
 drivers/pinctrl/samsung/pinctrl-exynos.h                                             |   22 
 drivers/pinctrl/samsung/pinctrl-samsung.c                                            |    1 
 drivers/pinctrl/samsung/pinctrl-samsung.h                                            |    4 
 drivers/platform/chrome/cros_ec_lpc.c                                                |   22 
 drivers/platform/x86/x86-android-tablets/Kconfig                                     |    1 
 drivers/pwm/pwm-fsl-ftm.c                                                            |    6 
 drivers/pwm/pwm-mediatek.c                                                           |    8 
 drivers/pwm/pwm-rcar.c                                                               |   24 
 drivers/pwm/pwm-stm32.c                                                              |   12 
 drivers/s390/virtio/virtio_ccw.c                                                     |   16 
 drivers/scsi/lpfc/lpfc_sli.c                                                         |    2 
 drivers/scsi/mpi3mr/mpi3mr.h                                                         |   14 
 drivers/scsi/mpi3mr/mpi3mr_app.c                                                     |   24 
 drivers/scsi/mpi3mr/mpi3mr_fw.c                                                      |   99 +
 drivers/scsi/st.c                                                                    |    2 
 drivers/soc/samsung/exynos-chipid.c                                                  |    2 
 drivers/spi/spi-cadence-quadspi.c                                                    |    6 
 drivers/spi/spi-fsl-qspi.c                                                           |   36 
 drivers/target/target_core_spc.c                                                     |    2 
 drivers/thermal/mediatek/lvts_thermal.c                                              |   52 
 drivers/thermal/rockchip_thermal.c                                                   |    1 
 drivers/vdpa/mlx5/core/mr.c                                                          |    7 
 drivers/video/backlight/led_bl.c                                                     |    5 
 drivers/video/fbdev/omap2/omapfb/dss/dispc.c                                         |    6 
 drivers/xen/balloon.c                                                                |   34 
 drivers/xen/xenfs/xensyms.c                                                          |    4 
 fs/btrfs/disk-io.c                                                                   |   12 
 fs/btrfs/extent-tree.c                                                               |    8 
 fs/btrfs/tests/extent-map-tests.c                                                    |    1 
 fs/btrfs/transaction.c                                                               |   12 
 fs/btrfs/zoned.c                                                                     |    6 
 fs/dlm/lock.c                                                                        |    2 
 fs/erofs/fileio.c                                                                    |    2 
 fs/ext4/inode.c                                                                      |   68 -
 fs/ext4/namei.c                                                                      |    2 
 fs/ext4/super.c                                                                      |   17 
 fs/ext4/xattr.c                                                                      |   11 
 fs/f2fs/checkpoint.c                                                                 |   21 
 fs/f2fs/f2fs.h                                                                       |   32 
 fs/f2fs/inode.c                                                                      |    8 
 fs/f2fs/node.c                                                                       |  110 -
 fs/f2fs/super.c                                                                      |    8 
 fs/file.c                                                                            |   26 
 fs/fuse/dev.c                                                                        |   34 
 fs/fuse/dev_uring.c                                                                  |   15 
 fs/fuse/dev_uring_i.h                                                                |    6 
 fs/fuse/fuse_dev_i.h                                                                 |    1 
 fs/fuse/fuse_i.h                                                                     |    3 
 fs/jbd2/journal.c                                                                    |    1 
 fs/jfs/jfs_dmap.c                                                                    |   10 
 fs/jfs/jfs_imap.c                                                                    |    4 
 fs/namespace.c                                                                       |    3 
 fs/smb/client/cifsencrypt.c                                                          |   16 
 fs/smb/client/connect.c                                                              |    3 
 fs/smb/client/fs_context.c                                                           |    5 
 fs/smb/client/inode.c                                                                |   10 
 fs/smb/client/reparse.c                                                              |   29 
 fs/smb/client/sess.c                                                                 |    7 
 fs/smb/client/smb2misc.c                                                             |    9 
 fs/smb/client/smb2ops.c                                                              |    6 
 fs/smb/client/smb2pdu.c                                                              |   11 
 fs/smb/common/smb2pdu.h                                                              |    6 
 fs/udf/inode.c                                                                       |    1 
 fs/userfaultfd.c                                                                     |   51 
 include/drm/drm_kunit_helpers.h                                                      |    3 
 include/drm/intel/pciids.h                                                           |   11 
 include/linux/cgroup-defs.h                                                          |    1 
 include/linux/cgroup.h                                                               |    2 
 include/linux/damon.h                                                                |   11 
 include/linux/hid.h                                                                  |    6 
 include/linux/io_uring_types.h                                                       |    3 
 include/linux/kvm_host.h                                                             |    2 
 include/linux/mtd/spinand.h                                                          |    2 
 include/linux/page-flags.h                                                           |    6 
 include/linux/pci_ids.h                                                              |    2 
 include/linux/perf_event.h                                                           |   17 
 include/linux/pgtable.h                                                              |   14 
 include/linux/printk.h                                                               |    6 
 include/linux/tpm.h                                                                  |    1 
 include/net/mac80211.h                                                               |    6 
 include/net/sctp/structs.h                                                           |    3 
 include/net/sock.h                                                                   |   40 
 include/uapi/linux/kfd_ioctl.h                                                       |    2 
 include/uapi/linux/landlock.h                                                        |    2 
 include/uapi/linux/psp-sev.h                                                         |   21 
 include/uapi/linux/rkisp1-config.h                                                   |    2 
 include/xen/interface/xen-mca.h                                                      |    2 
 io_uring/io_uring.c                                                                  |    4 
 io_uring/kbuf.c                                                                      |    2 
 io_uring/net.c                                                                       |    3 
 kernel/Makefile                                                                      |    5 
 kernel/cgroup/cgroup.c                                                               |    6 
 kernel/cgroup/cpuset.c                                                               |   55 
 kernel/entry/Makefile                                                                |    3 
 kernel/events/core.c                                                                 |  184 +--
 kernel/events/uprobes.c                                                              |   15 
 kernel/locking/lockdep.c                                                             |    3 
 kernel/power/hibernate.c                                                             |    6 
 kernel/printk/printk.c                                                               |    4 
 kernel/rcu/srcutree.c                                                                |   11 
 kernel/reboot.c                                                                      |    1 
 kernel/sched/Makefile                                                                |    5 
 kernel/sched/ext.c                                                                   |    4 
 kernel/time/Makefile                                                                 |    6 
 kernel/trace/fprobe.c                                                                |  170 ++
 kernel/trace/ftrace.c                                                                |    9 
 kernel/trace/ring_buffer.c                                                           |    5 
 kernel/trace/trace_eprobe.c                                                          |    2 
 kernel/trace/trace_events.c                                                          |    4 
 kernel/trace/trace_events_synth.c                                                    |    1 
 kernel/trace/trace_fprobe.c                                                          |   31 
 kernel/trace/trace_kprobe.c                                                          |    5 
 kernel/trace/trace_probe.c                                                           |   28 
 kernel/trace/trace_probe.h                                                           |    1 
 kernel/trace/trace_uprobe.c                                                          |    9 
 lib/Makefile                                                                         |    5 
 lib/sg_split.c                                                                       |    2 
 lib/zstd/common/portability_macros.h                                                 |    2 
 mm/damon/core.c                                                                      |    1 
 mm/damon/ops-common.c                                                                |    2 
 mm/damon/paddr.c                                                                     |   57 -
 mm/hugetlb.c                                                                         |    2 
 mm/memory-failure.c                                                                  |   11 
 mm/memory_hotplug.c                                                                  |    3 
 mm/mremap.c                                                                          |   10 
 mm/page_vma_mapped.c                                                                 |   13 
 mm/rmap.c                                                                            |    2 
 mm/shmem.c                                                                           |    3 
 mm/vmscan.c                                                                          |    2 
 net/8021q/vlan_dev.c                                                                 |   31 
 net/core/filter.c                                                                    |   80 -
 net/core/page_pool.c                                                                 |    8 
 net/core/page_pool_user.c                                                            |    2 
 net/core/sock.c                                                                      |    5 
 net/ethtool/cmis.h                                                                   |    1 
 net/ethtool/cmis_cdb.c                                                               |   18 
 net/ethtool/common.c                                                                 |    1 
 net/ethtool/netlink.c                                                                |    8 
 net/ipv6/route.c                                                                     |    8 
 net/mac80211/debugfs.c                                                               |   44 
 net/mac80211/iface.c                                                                 |    5 
 net/mac80211/mesh_hwmp.c                                                             |   14 
 net/mac80211/mlme.c                                                                  |   59 -
 net/mptcp/sockopt.c                                                                  |   28 
 net/mptcp/subflow.c                                                                  |   19 
 net/netfilter/nft_set_pipapo_avx2.c                                                  |    3 
 net/sched/cls_api.c                                                                  |   66 -
 net/sched/sch_codel.c                                                                |    5 
 net/sched/sch_fq_codel.c                                                             |    6 
 net/sched/sch_sfq.c                                                                  |   66 -
 net/sctp/socket.c                                                                    |   22 
 net/sctp/transport.c                                                                 |    2 
 net/sunrpc/xprtrdma/svc_rdma_transport.c                                             |    3 
 net/tipc/link.c                                                                      |    1 
 net/tls/tls_main.c                                                                   |    6 
 scripts/generate_builtin_ranges.awk                                                  |    5 
 security/integrity/ima/ima.h                                                         |    3 
 security/integrity/ima/ima_main.c                                                    |   18 
 security/landlock/errata.h                                                           |   99 +
 security/landlock/errata/abi-4.h                                                     |   15 
 security/landlock/errata/abi-6.h                                                     |   19 
 security/landlock/fs.c                                                               |   39 
 security/landlock/setup.c                                                            |   38 
 security/landlock/setup.h                                                            |    3 
 security/landlock/syscalls.c                                                         |   22 
 security/landlock/task.c                                                             |   12 
 sound/pci/hda/hda_intel.c                                                            |   44 
 sound/pci/hda/patch_realtek.c                                                        |   41 
 sound/soc/amd/acp/acp-sdw-legacy-mach.c                                              |   34 
 sound/soc/amd/acp/soc_amd_sdw_common.h                                               |    1 
 sound/soc/amd/ps/acp63.h                                                             |    1 
 sound/soc/amd/ps/pci-ps.c                                                            |    2 
 sound/soc/amd/yc/acp6x-mach.c                                                        |   14 
 sound/soc/codecs/wcd937x.c                                                           |    2 
 sound/soc/fsl/fsl_audmix.c                                                           |   16 
 sound/soc/intel/common/soc-acpi-intel-adl-match.c                                    |   29 
 sound/soc/qcom/qdsp6/q6apm-dai.c                                                     |   60 -
 sound/soc/qcom/qdsp6/q6apm.c                                                         |   18 
 sound/soc/qcom/qdsp6/q6apm.h                                                         |    3 
 sound/soc/qcom/qdsp6/q6asm-dai.c                                                     |   19 
 sound/soc/sof/topology.c                                                             |    4 
 sound/usb/midi.c                                                                     |   80 +
 tools/objtool/check.c                                                                |    5 
 tools/power/cpupower/bench/parse.c                                                   |    4 
 tools/testing/ktest/ktest.pl                                                         |    8 
 tools/testing/selftests/futex/functional/futex_wait_wouldblock.c                     |    2 
 tools/testing/selftests/landlock/base_test.c                                         |   46 
 tools/testing/selftests/landlock/common.h                                            |    1 
 tools/testing/selftests/landlock/scoped_signal_test.c                                |  108 +
 tools/testing/selftests/net/mptcp/mptcp_connect.c                                    |   11 
 virt/kvm/Kconfig                                                                     |    2 
 virt/kvm/eventfd.c                                                                   |   10 
 455 files changed, 5761 insertions(+), 2514 deletions(-)

Aakarsh Jain (1):
media: s5p-mfc: Corrected NV12M/NV21M plane-sizes

Abel Vesa (2):
leds: rgb: leds-qcom-lpg: Fix pwm resolution max for Hi-Res PWMs
leds: rgb: leds-qcom-lpg: Fix calculation of best period Hi-Res PWMs

Abhinav Kumar (1):
drm: allow encoder mode_set even when connectors change for crtc

Ajit Pandey (1):
clk: qcom: clk-branch: Fix invert halt status bit check for votable clocks

Akihiko Odaki (1):

      KVM: arm64: PMU: Set raw values from user to PM{C,I}NTEN{SET,CLR}, PMOVS{SET,CLR}

Alain Volmat (1):
dt-bindings: media: st,stmipid02: correct lane-polarities maxItems

Alexander Aring (2):
dlm: fix error if inactive rsb is not hashed
dlm: fix error if active rsb is not hashed

Alexandra Diupina (1):
cifs: avoid NULL pointer dereference in dbg call

Alexandre Torgue (1):
clocksource/drivers/stm32-lptimer: Use wakeup capable instead of init wakeup

Alexey Klimov (1):
ASoC: qdsp6: q6asm-dai: fix q6asm_dai_compr_set_params error path

Aman (1):
CIFS: Propagate min offload along with other parameters from primary to secondary channels.

Amit Machhiwal (1):
KVM: PPC: Enable CAP_SPAPR_TCE_VFIO on pSeries KVM guests

Andrew Wyatt (5):
drm: panel-orientation-quirks: Add support for AYANEO 2S
drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB
drm: panel-orientation-quirks: Add quirk for AYA NEO Slide
drm: panel-orientation-quirks: Add new quirk for GPD Win 2
drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel)

Andrii Nakryiko (1):
uprobes: Avoid false-positive lockdep splat on CONFIG_PREEMPT_RT=y in the ri_timer() uprobe timer callback, use raw_write_seqcount_*()

Andy Chiu (1):
ftrace: Properly merge notrace hashes

Andy Shevchenko (1):
gpiolib: of: Fix the choice for Ingenic NAND quirk

AngeloGioacchino Del Regno (2):
drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off

Arnaud Lecomte (1):
net: ppp: Add bound checking for skb data on ppp_sync_txmung

Arnd Bergmann (1):
media: mtk-vcodec: venc: avoid -Wenum-compare-conditional warning

Arseniy Krasnov (2):
Bluetooth: hci_uart: fix race during initialization
Bluetooth: hci_uart: Fix another race during initialization

Artem Sadovnikov (1):
ext4: fix off-by-one error in do_split

Ayush Jain (1):
ktest: Fix Test Failures Due to Missing LOG_FILE Directories

Badal Nilawar (1):
drm/i915: Disable RPG during live selftest

Bard Liao (1):
ASoC: Intel: adl: add 2xrt1316 audio configuration

Bernd Schubert (1):
fuse: {io-uring} Fix a possible req cancellation race

Bhupesh (1):
ext4: ignore xattrs past end

Biju Das (1):
irqchip/renesas-rzv2h: Fix wrong variable usage in rzv2h_tint_set_type()

Bingbu Cao (1):
media: intel/ipu6: set the dev_parent of video device to pdev

Birger Koblitz (1):
net: sfp: add quirk for 2.5G OEM BX SFP

Bjorn Helgaas (1):
PCI: Enable Configuration RRS SV early

Boqun Feng (1):
locking/lockdep: Decrease nr_unused_locks if lock unused in zap_class()

Boris Burkov (1):
btrfs: harden block_group::bg_list against list_del() races

Brendan Tam (1):
drm/amd/display: add workaround flag to link to force FFE preset

Bryan O'Donoghue (2):
clk: qcom: gdsc: Release pm subdomains in reverse add order
clk: qcom: gdsc: Capture pm_genpd_add_subdomain result code

Chao Yu (3):
f2fs: don't retry IO for corrupted data scenario
f2fs: fix to avoid out-of-bounds access in f2fs_truncate_inode_blocks() Revert "f2fs: rebuild nat_bits during umount"

Chaohai Chen (1):
scsi: target: spc: Fix RSOC parameter data header size

Chen-Yu Tsai (1):
arm64: dts: mediatek: mt8173: Fix disp-pwm compatible string

Chenyuan Yang (3):
net: libwx: handle page_pool_dev_alloc_pages error
soc: samsung: exynos-chipid: Add NULL pointer check in exynos_chipid_probe()
mfd: ene-kb3930: Fix a potential NULL pointer dereference

Chris Chiu (2):
ALSA: hda/realtek: fix micmute LEDs on HP Laptops with ALC3315
ALSA: hda/realtek: fix micmute LEDs on HP Laptops with ALC3247

Christian König (1):
drm/amdgpu: grab an additional reference on the gang fence v2

Ciprian Marian Costea (2):
can: flexcan: Add quirk to handle separate interrupt lines for mailboxes
can: flexcan: add NXP S32G2/S32G3 SoC support

Cong Liu (1):
selftests: mptcp: fix incorrect fd checks in main_loop

Cong Wang (1):

      codel: remove sch->q.qlen check before qdisc_tree_reduce_backlog()

Dan Carpenter (1):
media: xilinx-tpg: fix double put in xtpg_parse_of()

Daniel Kral (1):
ahci: add PCI ID for Marvell 88SE9215 SATA Controller

Daniel Schaefer (1):
platform/chrome: cros_ec_lpc: Match on Framework ACPI device

Daniel Wagner (1):
nvmet-fcloop: swap list_add_tail arguments

Dave Hansen (1):
x86/cpu: Avoid running off the end of an AMD erratum table

Dave Stevenson (1):
media: imx219: Adjust PLL settings based on the number of MIPI lanes

David Hildenbrand (2):
mm/rmap: reject hugetlb folios in folio_make_device_exclusive() s390/virtio_ccw: Don't allocate/assign airqs for non-existing queues

David Yat Sin (1):
drm/amdkfd: clamp queue size to minimum

Derek Foreman (1):
drm/rockchip: Don't change hdmi reference clock rate

Dionna Glaze (1):
crypto: ccp - Fix uAPI definitions of PSP errors

Dmitry Antipov (1):
wifi: ath9k: use unsigned long for activity check timestamp

Dmitry Baryshkov (2):
Bluetooth: qca: simplify WCN399x NVM loading
Bluetooth: qca: add WCN3950 support

Dmitry Osipenko (2):
irqchip/gic-v3: Add Rockchip 3568002 erratum workaround drm/virtio: Set missing bo->attached flag

Dorian Cruveiller (1):
Bluetooth: btusb: Add new VID/PID for WCN785x

Douglas Anderson (6):
arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD
arm64: cputype: Add MIDR_CORTEX_A76AE
arm64: errata: Add QCOM_KRYO_4XX_GOLD to the spectre_bhb_k24_list
arm64: errata: Assume that unknown CPUs _are_ vulnerable to Spectre BHB
arm64: errata: Add KRYO 2XX/3XX/4XX silver cores to Spectre BHB safe list
arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists

Edward Adam Davis (2):
jfs: Prevent copying of nlink with value 0 from disk inode
jfs: add sanity check for agwidth in dbMount

Edward Liaw (1):
selftests/futex: futex_waitv wouldblock test should fail

Emily Deng (1):
drm/amdgpu: Fix the race condition for draining retry fault

Eric Biggers (2):
arm/crc-t10dif: fix use of out-of-scope array in crc_t10dif_arch() arm64/crc-t10dif: fix use of out-of-scope array in crc_t10dif_arch()

Ewan D. Milne (1):

      scsi: lpfc: Restore clearing of NLP_UNREG_INP in ndlp->nlp_flag

Fedor Pchelkin (1):
ntb: use 64-bit arithmetic for the MSI doorbell mask

Filipe Manana (2):
btrfs: fix non-empty delayed iputs list on unmount due to compressed write workers
btrfs: tests: fix chunk map leak after failure to add it to the tree

Florian Westphal (1):
nft_set_pipapo: fix incorrect avx2 match of 5th field octet

Frederic Weisbecker (1):
perf: Fix hang while freeing sigtrap event

Gabriele Paoloni (1):
tracing: fix return value in __ftrace_event_enable_disable for TRACE_REG_UNREGISTER

Gang Yan (1):
mptcp: fix NULL pointer in can_accept_new_subflow

Gavrilov Ilia (1):
wifi: mac80211: fix integer overflow in hwmp_route_info_get()

Geliang Tang (1):
selftests: mptcp: close fd_in before returning in main_loop

Greg Kroah-Hartman (1):

      Linux 6.14.3

Guixin Liu (1):
gpio: tegra186: fix resource handling in ACPI probe path

Haiyang Zhang (1):
net: mana: Switch to page pool for jumbo frames

Han Xu (1):
spi: fsl-qspi: use devm function instead of driver remove

Hans de Goede (3):
platform/x86: x86-android-tablets: Add select POWER_SUPPLY to Kconfig
media: ov08x40: Properly turn sensor on/off when runtime-suspended
media: hi556: Fix memory leak (on error) in hi556_check_hwcfg()

Haoxiang Li (3):
auxdisplay: hd44780: Fix an API misuse in hd44780.c
wifi: mt76: Add check for devm_kstrdup()
ASoC: codecs: wcd937x: fix a potential memory leak in wcd937x_soc_codec_probe()

Hariprasad Kelam (1):
octeontx2-pf: qos: fix VF root node parent queue index

Harshitha Ramamurthy (1):
gve: unlink old napi only if page pool exists

Henry Martin (1):
ata: pata_pxa: Fix potential NULL pointer dereference in pxa_ata_probe()

Herve Codina (1):
backlight: led_bl: Hold led_access lock when calling led_sysfs_disable()

Huacai Chen (1):
ahci: Marvell 88SE9215 controllers prefer DMA for ATAPI

Icenowy Zheng (1):
wifi: mt76: mt76x2u: add TP-Link TL-WDN6200 ID to device table

Ido Schimmel (2):
ipv6: Align behavior across nexthops during path selection
ethtool: cmis_cdb: Fix incorrect read / write length extension

Ingo Molnar (1):
zstd: Increase DYNAMIC_BMI2 GCC version cutoff from 4.8 to 11.0 to work around compiler segfault

Ioana Ciornei (1):
PCI: layerscape: Fix arg_count to syscon_regmap_lookup_by_phandle_args()

Jacek Lawrynowicz (3):
accel/ivpu: Fix PM related deadlocks in MS IOCTLs accel/ivpu: Fix warning in ivpu_ipc_send_receive_internal() accel/ivpu: Fix deadlock in ivpu_ms_cleanup()

Jackson.lee (4):
media: chips-media: wave5: Fix gray color on screen
media: chips-media: wave5: Avoid race condition in the interrupt handler
media: chips-media: wave5: Fix a hang after seeking
media: chips-media: wave5: Fix timeout while testing 10bit hevc fluster

Jaegeuk Kim (1):
f2fs: fix the missing write pointer correction

Jake Hillion (1):
sched_ext: create_dsq: Return -EEXIST on duplicate request

Jakub Kicinski (1):
net: tls: explicitly disallow disconnect

Jan Beulich (1):
xenfs/xensyms: respect hypervisor's "next" indication

Jan Kara (2):
udf: Fix inode_getblk() return value
jbd2: remove wrong sb->s_sequence check

Janaki Ramaiah Thota (1):
Bluetooth: hci_qca: use the power sequencer for wcn6750

Jane Chu (1):
mm: make page_mapped_in_vma() hugetlb walk aware

Jani Nikula (1):
drm/rockchip: stop passing non struct drm_device to drm_err() and friends

Jann Horn (1):
ext4: don't treat fhandle lookup of ea_inode as FS corruption

Janusz Krzysztofik (1):
drm/i915/huc: Fix fence not released on early probe errors

Jason Xing (1):
page_pool: avoid infinite loop to schedule delayed worker

Jeff Hugo (1):
bus: mhi: host: Fix race between unprepare and queue_buf

Jens Axboe (1):
io_uring/kbuf: reject zero sized provided buffers

Jiande Lu (1):
Bluetooth: btusb: Add 2 HWIDs for MT7922

Jiasheng Jiang (4):
media: mediatek: vcodec: Fix a resource leak related to the scp device in FW initialization
media: platform: stm32: Add check for clk_enable()
mtd: Add check for devm_kcalloc()
mtd: Replace kcalloc() with devm_kcalloc()

Jiawen Wu (1):
net: libwx: Fix the wrong Rx descriptor field

Jinjiang Tu (1):
mm/hwpoison: introduce folio_contain_hwpoisoned_page() helper

Jo Van Bulck (1):
dm-integrity: fix non-constant-time tag verification

Joe Damato (1):
igc: Fix XSK queue NAPI ID mapping

Johannes Berg (2):
wifi: mac80211: add strict mode disabling workarounds
wifi: mac80211: fix userspace_selectors corruption

Johannes Thumshirn (2):
btrfs: zoned: fix zone activation with missing devices
btrfs: zoned: fix zone finishing with missing devices

John Keeping (1):
media: rockchip: rga: fix rga offset lookup

Jonathan McDowell (3):
tpm, tpm_tis: Workaround failed command reception on Infineon devices
tpm: End any active auth session before shutdown
tpm, tpm_tis: Fix timeout handling when waiting for TPM status

Josh Poimboeuf (3):
objtool: Fix INSN_CONTEXT_SWITCH handling in validate_unret()
tracing: Disable branch profiling in noinstr code
pwm: mediatek: Prevent divide-by-zero in pwm_mediatek_config()

Joshua Washington (1):
gve: handle overflow when reporting TX consumed descriptors

Kai Mäkisara (1):
scsi: st: Fix array overflow in st_setup()

Kaixin Wang (1):
HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition

Kamal Dasu (1):
mtd: rawnand: brcmnand: fix PM resume warning

Karina Yankevich (1):
media: v4l2-dv-timings: prevent possible overflow in v4l2_detect_gtf()

Kartik Rajput (1):
mailbox: tegra-hsp: Define dimensioning masks in SoC data

Kaustabh Chakraborty (1):
mmc: dw_mmc: add a quirk for accessing 64-bit FIFOs in two halves

Keerthy (1):

      arm64: dts: ti: k3-j784s4-j742s2-main-common: Correct the GICD size

Kees Cook (1):
xen/mcelog: Add __nonstring annotations for unterminated strings

Keir Fraser (1):
arm64: mops: Do not dereference src reg for a set operation

Kevin Hao (1):
spi: fsl-qspi: Fix double cleanup in probe error path

Kiran K (1):
Bluetooth: btintel_pcie: Add device id of Whale Peak

Kris Van Hees (1):
kbuild: exclude .rodata.(cst|str)* when building ranges

Krzysztof Kozlowski (4):
dt-bindings: coresight: qcom,coresight-tpda: Fix too many 'reg'
dt-bindings: coresight: qcom,coresight-tpdm: Fix too many 'reg'
gpio: mpc8xxx: Fix wakeup source leaks on device unbind
gpio: zynq: Fix wakeup source leaks on device unbind

Kunihiko Hayashi (3):
misc: pci_endpoint_test: Avoid issue of interrupts remaining after request_irq error
misc: pci_endpoint_test: Fix displaying 'irq_type' after 'request_irq' error
misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type

Kuniyuki Iwashima (1):
net: Fix null-ptr-deref by sock_lock_init_class_and_name() and rmmod.

Lad Prabhakar (1):
clk: renesas: r9a07g043: Fix HP clock source for RZ/Five

Leonid Arapov (1):
fbdev: omapfb: Add 'plane' value check

Lizhi Xu (1):
PM: hibernate: Avoid deadlock in hibernate_compressor_param_set()

Lorenzo Stoakes (1):
mm/mremap: correctly handle partial mremap() of VMA starting at 0

Louis-Alexis Eyraud (1):
iommu/mediatek: Fix NULL pointer deference in mtk_iommu_device_group

Lu Baolu (1):
iommu/vt-d: Fix possible circular locking dependency

Luca Ceresoli (2):
drm/debugfs: fix printk format for bridge index
drm/bridge: panel: forbid initializing a panel with unknown connector type

Lucas De Marchi (1):
drivers: base: devres: Allow to release group on device release

Lukas Wunner (1):
PCI: pciehp: Avoid unnecessary device replacement check

Ma Ke (2):
PCI: Fix reference leak in pci_alloc_child_bus()
PCI: Fix reference leak in pci_register_host_bridge()

Manish Dharanenthiran (1):
wifi: ath12k: Fix invalid data access in ath12k_dp_rx_h_undecap_nwifi

Manjunatha Venkatesh (1):
i3c: Add NULL pointer check in i3c_master_queue_ibi()

Marc Herbert (1):
mm/hugetlb: move hugetlb_sysctl_init() to the __init section

Marek Behún (2):
net: dsa: mv88e6xxx: workaround RGMII transmit delay erratum for 6320 family
net: dsa: mv88e6xxx: fix internal PHYs for 6320 family

Marek Szyprowski (1):
iommu/exynos: Fix suspend/resume with IDENTITY domain

Mario Limonciello (1):
cpufreq/amd-pstate: Invalidate cppc_req_cached during suspend

Mark Rutland (1):
perf: arm_pmu: Don't disable counter in armpmu_add()

Martin Schiller (1):
net: sfp: add quirk for FS SFP-10GM-T copper SFP+ module

Martin Tůma (2):
media: mgb4: Fix CMT registers update logic
media: mgb4: Fix switched CMT frequency range "magic values" sets

Masami Hiramatsu (Google) (5):
tracing: fprobe: Cleanup fprobe hash when module unloading
tracing: probe-events: Log error for exceeding the number of arguments
tracing: probe-events: Add comments about entry data storing code
tracing: fprobe: Fix to lock module while registering fprobe
tracing: fprobe events: Fix possible UAF on modules

Mateusz Guzik (1):
fs: consistently deref the files table with rcu_dereference_raw()

Mathieu Desnoyers (1):
mm: add missing release barrier on PGDAT_RECLAIM_LOCKED unlock

Matt Atwood (1):
drm/xe/ptl: Update the PTL pci id table

Matthew Majewski (1):
media: vim2m: print device name after registering device

Matthew Wilcox (Oracle) (1):
x86/mm: Clear _PAGE_DIRTY for kernel mappings when we clear _PAGE_RW

Matthieu Baerts (NGI0) (3):
mptcp: sockopt: fix getting IPV6_V6ONLY
mptcp: sockopt: fix getting freebind & transparent
mptcp: only inc MPJoinAckHMacFailure for HMAC failures

Max Grobecker (1):
x86/cpu: Don't clear X86_FEATURE_LAHF_LM flag in init_amd_k8() on AMD when running in a virtual machine

Max Schulze (1):
net: usb: asix_devices: add FiberGecko DeviceID

Maxim Mikityanskiy (2):
ALSA: hda: intel: Fix Optimus when GPU has no sound
ALSA: hda: intel: Add Lenovo IdeaPad Z570 to probe denylist

Maxime Chevallier (1):
net: ethtool: Don't call .cleanup_data when prepare_data fails

Maxime Ripard (5):
drm/tests: modeset: Fix drm_display_mode memory leak drm/tests: helpers: Create kunit helper to destroy a drm_display_mode drm/tests: cmdline: Fix drm_display_mode memory leak drm/tests: modes: Fix drm_display_mode memory leak drm/tests: probe-helper: Fix drm_display_mode memory leak

Miaoqing Pan (2):
wifi: ath11k: fix memory leak in ath11k_xxx_remove()
wifi: ath12k: fix memory leak in ath12k_pci_remove()

Michael Strauss (1):
drm/amd/display: Update FIXED_VS Link Rate Toggle Workaround Usage

Michal Wajdeczko (2):
drm/xe/pf: Don't send BEGIN_ID if VF has no context/doorbells drm/xe/vf: Don't try to trigger a full GT reset if VF

Mickaël Salaün (7):
landlock: Move code to ease future backports
landlock: Add the errata interface
landlock: Add erratum for TCP fix
landlock: Always allow signals between threads of the same process
landlock: Prepare to add second errata selftests/landlock: Split signal_scoping_threads tests selftests/landlock: Add a new test for setuid()

Mike Katsnelson (1):
drm/amd/display: stop DML2 from removing pipes based on planes

Mikulas Patocka (3):
dm-ebs: fix prefetch-vs-suspend race
dm-integrity: set ti->error on memory allocation failure
dm-verity: fix prefetch-vs-suspend race

Mimi Zohar (2):
ima: limit the number of open-writers integrity violations
ima: limit the number of ToMToU integrity violations

Ming Lei (2):
ublk: fix handling recovery & reissue in ublk_abort_queue()
block: make sure ->nr_integrity_segments is cloned in blk_rq_prep_clone

Ming Yen Hsieh (8):
wifi: mt76: mt792x: re-register CHANCTX_STA_CSA only for the mt7921 series
wifi: mt76: mt7925: ensure wow pattern command align fw format
wifi: mt76: mt7925: fix country count limitation for CLC
wifi: mt76: mt7925: fix the wrong link_idx when a p2p_device is present
wifi: mt76: mt7925: fix the wrong simultaneous cap for MLO
wifi: mt76: mt7925: adjust rm BSS flow to prevent next connection failure
wifi: mt76: mt7925: integrate *mlo_sta_cmd and *sta_cmd
wifi: mt76: mt7925: update the power-saving flow

Miquel Raynal (2):
spi: cadence-qspi: Fix probe on AM62A LP SK
mtd: spinand: Fix build with gcc < 7.5

Miri Korenblit (1):

      wifi: mac80211: ensure sdata->work is canceled before initialized.

Murad Masimov (1):
media: streamzap: prevent processing IR data on URB failure

Myrrh Periwinkle (1):
x86/e820: Fix handling of subpage regions when calculating nosave ranges in e820__register_nosave_regions()

Nathan Chancellor (1):
kbuild: Add '-fno-builtin-wcslen'

Nicolas Dufresne (1):
media: visl: Fix ERANGE error when setting enum controls

Nicolin Chen (3):
iommufd: Fix uninitialized rc in iommufd_access_rw() iommu/tegra241-cmdqv: Fix warnings due to dmam_free_coherent()
iommufd: Make attach_handle generic than fault specific

Niklas Cassel (2):
ata: libata-core: Add 'external' to the libata.force kernel parameter
ata: libata-eh: Do not use ATAPI DMA for a device limited to PIO mode

Niklas Schnelle (2):
s390/pci: Fix s390_mmio_read/write syscall page fault handling s390/pci: Fix zpci_bus_is_isolated_vf() for non-VFs

Niklas Söderlund (2):
media: uapi: rkisp1-config: Fix typo in extensible params example
media: i2c: adv748x: Fix test pattern selection mask

Ninad Malwade (1):
arm64: tegra: Remove the Orin NX/Nano suspend key

Nícolas F. R. A. Prado (3):
arm64: dts: mediatek: mt8188: Assign apll1 clock as parent to avoid hang thermal/drivers/mediatek/lvts: Disable monitor mode during suspend thermal/drivers/mediatek/lvts: Disable Stage 3 thermal threshold

Octavian Purdila (2):
net_sched: sch_sfq: use a temporary work area for validating configuration
net_sched: sch_sfq: move the limit validation

Ojaswin Mujoo (1):
ext4: protect ext4_release_dquot against freezing

Olga Kornievskaia (1):
svcrdma: do not unregister device for listeners

Oliver Upton (1):
KVM: arm64: Set HCR_EL2.TID1 unconditionally

P Praneesh (3):
wifi: ath11k: Fix DMA buffer allocation to resolve SWIOTLB issues
wifi: ath12k: Fix invalid entry fetch in ath12k_dp_mon_srng_process
wifi: ath12k: Avoid memory leak while enabling statistics

Pali Rohár (2):
cifs: Fix support for WSL-style symlinks
cifs: Ensure that all non-client-specific reparse points are processed by the server

Paul E. McKenney (2):
srcu: Force synchronization for srcu_get_delay() Flush console log from kernel_power_off()

Paulo Alcantara (1):
smb: client: fix UAF in decryption with multichannel

Pavel Begunkov (3):
net: page_pool: don't cast mp param to devmem io_uring/net: fix accept multishot handling io_uring/net: fix io_req_post_cqe abuse by send bundle

Peter Griffin (2):
arm64: dts: exynos: gs101: disable pinctrl_gsacore node
pinctrl: samsung: add support for eint_fltcon_offset

Peter Xu (1):
mm/userfaultfd: fix release hang over concurrent GUP

Peter Zijlstra (1):
perf/core: Simplify the perf_event_alloc() error path

Petr Vaněk (1):
x86/acpi: Don't limit CPUs to 1 for Xen PV guests due to disabled ACPI

Philip Yang (4):
drm/amdgpu: Unlocked unmap only clear page table leaves drm/amdkfd: Fix mode1 reset crash issue drm/amdkfd: Fix pqm_destroy_queue race with GPU reset drm/amdkfd: debugfs hang_hws skip GPU with MES

Philipp Hahn (1):
cdc_ether|r8152: ThinkPad Hybrid USB-C/A Dock quirk

Philipp Stanner (2):
PCI: Check BAR index for validity
PCI: Fix wrong length of devres array

Qingfang Deng (1):
net: stmmac: Fix accessing freed irq affinity_hint

Rand Deeb (2):
fs/jfs: cast inactags to s64 to prevent potential overflow fs/jfs: Prevent integer overflow in AG size calculation

Ranjan Kumar (2):
scsi: mpi3mr: Avoid reply queue full condition
scsi: mpi3mr: Synchronous access b/w reset and tm thread for reply queue

Ricard Wanderlof (1):
ALSA: usb-audio: Fix CME quirk for UF series keyboards

Ricardo Cañuelo Navarro (1):
sctp: detect and prevent references to a freed transport in sendmsg

Ricardo Ribalda (3):
media: uvcvideo: Add quirk for Actions UVC05
media: nuvoton: Fix reference handling of ece_node
media: nuvoton: Fix reference handling of ece_pdev

Rodrigo Vivi (1):
drm/xe: Restore EIO errno return when GuC PC start fails

Roger Pau Monne (1):
x86/xen: fix balloon target initialization for PVH dom0

Roman Smirnov (1):
cifs: fix integer overflow in match_server()

Ryan Roberts (3):
sparc/mm: disable preemption in lazy mmu mode sparc/mm: avoid calling arch_enter/leave_lazy_mmu() in set_ptes
mm: fix lazy mmu docs and usage

Ryan Seto (1):
drm/amd/display: Prevent VStartup Overflow

Ryo Takakura (1):
PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type

Sakari Ailus (8):
Revert "media: imx214: Fix the error handling in imx214_probe()"
media: i2c: ccs: Set the device's runtime PM status correctly in remove
media: i2c: ccs: Set the device's runtime PM status correctly in probe
media: i2c: ov7251: Set enable GPIO low in probe
media: i2c: ov7251: Introduce 1 ms delay between regulators and en GPIO
media: i2c: imx319: Rectify runtime PM handling probe and remove
media: i2c: imx219: Rectify runtime PM handling in probe and remove
media: i2c: imx214: Rectify probe error handling related to runtime PM

Sean Christopherson (6):
iommu/vt-d: Put IRTE back into posted MSI mode if vCPU posting is disabled iommu/vt-d: Don't clobber posted vCPU IRTE when host IRQ affinity changes iommu/vt-d: Wire up irq_ack() to irq_move_irq() for posted MSIs
KVM: Allow building irqbypass.ko as as module when kvm.ko is a module
KVM: x86: Explicitly zero-initialize on-stack CPUID unions
KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses

Sean Wang (1):

      Revert "wifi: mt76: mt7925: Update mt7925_mcu_uni_[tx,rx]_ba for MLO"

SeongJae Park (1):
mm/damon: avoid applying DAMOS action to same entity multiple times

Sharan Kumar M (1):

      ALSA: hda/realtek: Enable Mute LED on HP OMEN 16 Laptop xd000xx

Shawn Lin (1):
PCI: Add Rockchip Vendor ID

Shekhar Chauhan (1):
drm/xe/bmg: Add new PCI IDs

Sheng Yong (1):
erofs: set error to bio if file-backed IO fails

Shengjiu Wang (1):
ASoC: fsl_audmix: register card device depends on 'dais' property

Shuai Xue (1):
mm/hwpoison: do not send SIGBUS to processes with recovered clean pages

Si-Wei Liu (1):
vdpa/mlx5: Fix oversized null mkey longer than 32bit

Siddharth Vadapalli (2):
arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix serdes_ln_ctrl reg-masks
PCI: j721e: Fix the value of .linkdown_irq_regfield for J784S4

Srinivas Kandagatla (5):
ASoC: q6apm: add q6apm_get_hw_pointer helper
ASoC: q6apm-dai: schedule all available frames to avoid dsp under-runs
ASoC: q6apm-dai: make use of q6apm_get_hw_pointer
ASoC: qdsp6: q6apm-dai: set 10 ms period and buffer alignment.
ASoC: qdsp6: q6apm-dai: fix capture pipeline overruns.

Stanimir Varbanov (1):
PCI: brcmstb: Fix missing of_node_put() in brcm_pcie_probe()

Stanislav Fomichev (1):
net: vlan: don't propagate flags on open

Stanley Chu (1):
i3c: master: svc: Use readsb helper for reading MDB

Stefan Eichenberger (1):
phy: freescale: imx8m-pcie: assert phy reset and perst in power off

Stephan Gerhold (1):
pinctrl: qcom: Clear latched interrupt status when changing IRQ type

Steve French (1):
smb311 client: fix missing tcon check when mounting with linux/posix extensions

Steven Rostedt (2):
tracing: Do not add length to print format in synthetic events
ring-buffer: Use flush_kernel_vmap_range() over flush_dcache_folio()

Sumanth Korikkar (1):
s390: Fix linker error when -no-pie option is unavailable

Sung Lee (1):
drm/amd/display: Guard Possible Null Pointer Dereference

Syed Saba kareem (1):
ASoC: amd: yc: update quirk data for new Lenovo model

T Pratham (1):
lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets

Taehee Yoo (1):
net: ethtool: fix ethtool_ringparam_get_cfg() returns a hds_thresh value always as 0.

Taniya Das (1):
clk: qcom: gdsc: Set retain_ff before moving to HW CTRL

Tejas Upadhyay (1):
drm/xe/hw_engine: define sysfs_ops on all directories

Thadeu Lima de Souza Cascardo (1):
tpm: do not start chip while suspended

Thomas Richter (1):
s390/cpumf: Fix double free on error in cpumf_pmu_event_init()

Thomas Weißschuh (1):
firmware: cs_dsp: test_control_parse: null-terminate test strings

Toke Høiland-Jørgensen (1):
tc: Ensure we have enough buffer space when sending filter netlink notifications

Tom Lendacky (1):
crypto: ccp - Fix check for the primary ASP device

Tomasz Pakuła (31):
HID: pidff: Convert infinite length from Linux API to PID standard
HID: pidff: Do not send effect envelope if it's empty
HID: pidff: Add MISSING_DELAY quirk and its detection
HID: pidff: Add MISSING_PBO quirk and its detection
HID: pidff: Add PERMISSIVE_CONTROL quirk
HID: pidff: Add hid_pidff_init_with_quirks and export as GPL symbol
HID: pidff: Add FIX_WHEEL_DIRECTION quirk
HID: Add hid-universal-pidff driver and supported device ids
HID: pidff: Add PERIODIC_SINE_ONLY quirk
HID: pidff: Fix null pointer dereference in pidff_find_fields
HID: pidff: Clamp PERIODIC effect period to device's logical range
HID: pidff: Stop all effects before enabling actuators
HID: pidff: Completely rework and fix pidff_reset function
HID: pidff: Simplify pidff_upload_effect function
HID: pidff: Define values used in pidff_find_special_fields
HID: pidff: Rescale time values to match field units
HID: pidff: Factor out code for setting gain
HID: pidff: Move all hid-pidff definitions to a dedicated header
HID: pidff: Simplify pidff_rescale_signed
HID: pidff: Use macros instead of hardcoded min/max values for shorts
HID: pidff: Factor out pool report fetch and remove excess declaration
HID: pidff: Make sure to fetch pool before checking SIMULTANEOUS_MAX
HID: hid-universal-pidff: Add Asetek wheelbases support
HID: pidff: Comment and code style update
HID: pidff: Support device error response from PID_BLOCK_LOAD
HID: pidff: Remove redundant call to pidff_find_special_keys
HID: pidff: Rename two functions to align them with naming convention
HID: pidff: Clamp effect playback LOOP_COUNT value
HID: pidff: Compute INFINITE value instead of using hardcoded 0xffff
HID: pidff: Fix 90 degrees direction name North -> East
HID: pidff: Fix set_device_control()

Trevor Woerner (1):
thermal/drivers/rockchip: Add missing rk3328 mapping entry

Trond Myklebust (1):
umount: Allow superblock owners to force umount

Tung Nguyen (1):
tipc: fix memory leak in tipc_link_xmit

Tvrtko Ursulin (1):
drm/xe/xelp: Move Wa_16011163337 from tunings to workarounds

Uros Bizjak (1):
x86/percpu: Disable named address spaces for UBSAN_BOOL with KASAN for GCC < 14.2

Usama Arif (1):
mm/damon/ops: have damon_get_folio return folio even for tail pages

Uwe Kleine-König (3):
pwm: rcar: Improve register calculation
pwm: fsl-ftm: Handle clk_get_rate() returning 0
pwm: stm32: Search an appropriate duty_cycle if period cannot be modified

Vijendar Mukunda (2):
ASoC: amd: ps: use macro for ACP6.3 pci revision id
ASoC: amd: amd_sdw: Add quirks for Dell SKU's

Vikash Garodia (4):
media: venus: hfi: add a check to handle OOB in sfr region
media: venus: hfi: add check to handle incorrect queue size
media: venus: hfi_parser: add check to avoid out of bound access
media: venus: hfi_parser: refactor hfi packet parsing logic

Vishnu Sankar (1):
HID: lenovo: Fix to ensure the data as __le32 instead of u32

Vivek Kasireddy (1):
drm/virtio: Fix flickering issue seen with imported dmabufs

Vladimir Oltean (2):
net: phy: move phy_link_change() prior to mdio_bus_phy_may_suspend()
net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY

Waiman Long (3):
cgroup/cpuset: Fix incorrect isolated_cpus update in update_parent_effective_cpumask() cgroup/cpuset: Fix error handling in remote_partition_disable() cgroup/cpuset: Fix race between newly created partition and dying one

Wen Gong (1):
wifi: ath11k: update channel list in worker when wait flag is set

Wentao Liang (4):
ata: sata_sx4: Add error handling in pdc20621_i2c_read() drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create()
mtd: inftlcore: Add error check for inftl_read_oob()
mtd: rawnand: Add status chack in r852_ready()

Will Deacon (1):
KVM: arm64: Tear down vGIC on failed vCPU creation

Willem de Bruijn (1):
bpf: support SKF_NET_OFF and SKF_LL_OFF on skb frags

Xin Li (Intel) (1):
x86/ia32: Leave NULL selector values 0~3 unchanged

Yeongjin Gil (1):
f2fs: fix to avoid atomicity corruption of atomic file

Yi Liu (1):
iommufd: Fail replace if device has not been attached

Yuan Can (1):
media: siano: Fix error handling in smsdvb_module_init()

Yunhui Cui (2):
perf/dwc_pcie: fix some unreleased resources perf/dwc_pcie: fix duplicate pci_dev devices

Zenm Chen (1):
wifi: rtw88: Add support for Mercusys MA30N and D-Link DWA-T185 rev. A1

Zhang Heng (1):
ASoC: SOF: topology: Use krealloc_array() to replace krealloc()

Zhenhua Huang (1):
arm64: mm: Correct the update of max_pfn

Zhikai Zhai (1):
drm/amd/display: Update Cursor request mode to the beginning prefetch always

Zhongqiu Han (2):
pm: cpupower: bench: Prevent NULL dereference on malloc failure
jfs: Fix uninit-value access of imap allocated in the diMount() function

Zijun Hu (6):
Bluetooth: btusb: Add 13 USB device IDs for Qualcomm WCN785x of/irq: Fix device node refcount leakage in API of_irq_parse_one() of/irq: Fix device node refcount leakage in API of_irq_parse_raw() of/irq: Fix device node refcount leakages in of_irq_count() of/irq: Fix device node refcount leakage in API irq_of_parse_and_map() of/irq: Fix device node refcount leakages in of_irq_init()

keenplify (1):
ASoC: amd: Add DMI quirk for ACP6X mic support

zhoumin (1):
ftrace: Add cond_resched() to ftrace_graph_set_hash()

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +2 -0
index fb8752b42ec8..aa7447f8837c 100644
@@ -3116,6 +3116,8 @@
 			* max_sec_lba48: Set or clear transfer size limit to
 			  65535 sectors.
 
+			* external: Mark port as external (hotplug-capable).
+
 			* [no]lpm: Enable or disable link power management.
 
 			* [no]setxfer: Indicate if transfer speed mode setting
Documentation/arch/arm64/silicon-errata.rst +2 -0
index f074f6219f5c..f968c13b46a7 100644
@@ -284,6 +284,8 @@ stable kernels.
 +----------------+-----------------+-----------------+-----------------------------+
 | Rockchip       | RK3588          | #3588001        | ROCKCHIP_ERRATUM_3588001    |
 +----------------+-----------------+-----------------+-----------------------------+
+| Rockchip       | RK3568          | #3568002        | ROCKCHIP_ERRATUM_3568002    |
++----------------+-----------------+-----------------+-----------------------------+
 +----------------+-----------------+-----------------+-----------------------------+
 | Fujitsu        | A64FX           | E#010001        | FUJITSU_ERRATUM_010001      |
 +----------------+-----------------+-----------------+-----------------------------+
Documentation/devicetree/bindings/arm/qcom,coresight-tpda.yaml +1 -2
index 76163abed655..5ed40f21b8eb 100644
@@ -55,8 +55,7 @@ properties:
       - const: arm,primecell
 
   reg:
-    minItems: 1
-    maxItems: 2
+    maxItems: 1
 
   clocks:
     maxItems: 1
Documentation/devicetree/bindings/arm/qcom,coresight-tpdm.yaml +1 -2
index 8eec07d9d454..07d21a3617f5 100644
@@ -41,8 +41,7 @@ properties:
       - const: arm,primecell
 
   reg:
-    minItems: 1
-    maxItems: 2
+    maxItems: 1
 
   qcom,dsb-element-bits:
     description:
Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml +1 -1
index b68141264c0e..4d40e75b4e1e 100644
@@ -71,7 +71,7 @@ properties:
                 description:
                   Any lane can be inverted or not.
                 minItems: 1
-                maxItems: 2
+                maxItems: 3
 
             required:
               - data-lanes
Makefile +4 -1
index 907a4565f06a..93870f58505f 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 14
-SUBLEVEL = 2
+SUBLEVEL = 3
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
@@ -1065,6 +1065,9 @@ ifdef CONFIG_CC_IS_GCC
 KBUILD_CFLAGS   += -fconserve-stack
 endif
 
+# Ensure compilers do not transform certain loops into calls to wcslen()
+KBUILD_CFLAGS += -fno-builtin-wcslen
+
 # change __FILE__ to the relative path to the source directory
 ifdef building_out_of_srctree
 KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srcroot)/=)
arch/arm/lib/crc-t10dif-glue.c +1 -3
index d24dee62670e..4ab8daa4ec0b 100644
@@ -44,9 +44,7 @@ u16 crc_t10dif_arch(u16 crc, const u8 *data, size_t length)
 			crc_t10dif_pmull8(crc, data, length, buf);
 			kernel_neon_end();
 
-			crc = 0;
-			data = buf;
-			length = sizeof(buf);
+			return crc_t10dif_generic(0, buf, sizeof(buf));
 		}
 	}
 	return crc_t10dif_generic(crc, data, length);
arch/arm64/Kconfig +9 -0
index 940343beb3d4..3e7483ad5276 100644
@@ -1302,6 +1302,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
 
 	  If unsure, say Y.
 
+config ROCKCHIP_ERRATUM_3568002
+	bool "Rockchip 3568002: GIC600 can not access physical addresses higher than 4GB"
+	default y
+	help
+	  The Rockchip RK3566 and RK3568 GIC600 SoC integrations have AXI
+	  addressing limited to the first 32bit of physical address space.
+
+	  If unsure, say Y.
+
 config ROCKCHIP_ERRATUM_3588001
 	bool "Rockchip 3588001: GIC600 can not support shareability attributes"
 	default y
arch/arm64/boot/dts/exynos/google/gs101.dtsi +1 -0
index c5335dd59dfe..813f96089578 100644
@@ -1454,6 +1454,7 @@ pinctrl_gsacore: pinctrl@17a80000 {
 			/* TODO: update once support for this CMU exists */
 			clocks = <0>;
 			clock-names = "pclk";
+			status = "disabled";
 		};
 
 		cmu_top: clock-controller@1e080000 {
arch/arm64/boot/dts/mediatek/mt8173.dtsi +2 -4
index 0ca63e8c4e16..6d1d8877b43f 100644
@@ -1255,8 +1255,7 @@ dpi0_out: endpoint {
 		};
 
 		pwm0: pwm@1401e000 {
-			compatible = "mediatek,mt8173-disp-pwm",
-				     "mediatek,mt6595-disp-pwm";
+			compatible = "mediatek,mt8173-disp-pwm";
 			reg = <0 0x1401e000 0 0x1000>;
 			#pwm-cells = <2>;
 			clocks = <&mmsys CLK_MM_DISP_PWM026M>,
@@ -1266,8 +1265,7 @@ pwm0: pwm@1401e000 {
 		};
 
 		pwm1: pwm@1401f000 {
-			compatible = "mediatek,mt8173-disp-pwm",
-				     "mediatek,mt6595-disp-pwm";
+			compatible = "mediatek,mt8173-disp-pwm";
 			reg = <0 0x1401f000 0 0x1000>;
 			#pwm-cells = <2>;
 			clocks = <&mmsys CLK_MM_DISP_PWM126M>,
arch/arm64/boot/dts/mediatek/mt8188.dtsi +1 -1
index 338120930b81..17e22d4515ab 100644
@@ -1392,7 +1392,7 @@ afe: audio-controller@10b10000 {
 			compatible = "mediatek,mt8188-afe";
 			reg = <0 0x10b10000 0 0x10000>;
 			assigned-clocks = <&topckgen CLK_TOP_A1SYS_HP>;
-			assigned-clock-parents =  <&clk26m>;
+			assigned-clock-parents = <&topckgen CLK_TOP_APLL1_D4>;
 			clocks = <&clk26m>,
 				 <&apmixedsys CLK_APMIXED_APLL1>,
 				 <&apmixedsys CLK_APMIXED_APLL2>,
arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi +0 -7
index 19340d13f789..41821354bbda 100644
@@ -227,13 +227,6 @@ key-power {
 			wakeup-event-action = <EV_ACT_ASSERTED>;
 			wakeup-source;
 		};
-
-		key-suspend {
-			label = "Suspend";
-			gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
-			linux,input-type = <EV_KEY>;
-			linux,code = <KEY_SLEEP>;
-		};
 	};
 
 	fan: pwm-fan {
arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi +4 -2
index 83bbf94b58d1..1944616ab357 100644
@@ -84,7 +84,9 @@ serdes_ln_ctrl: mux-controller@4080 {
 					<0x10 0x3>, <0x14 0x3>, /* SERDES1 lane0/1 select */
 					<0x18 0x3>, <0x1c 0x3>, /* SERDES1 lane2/3 select */
 					<0x20 0x3>, <0x24 0x3>, /* SERDES2 lane0/1 select */
-					<0x28 0x3>, <0x2c 0x3>; /* SERDES2 lane2/3 select */
+					<0x28 0x3>, <0x2c 0x3>, /* SERDES2 lane2/3 select */
+					<0x40 0x3>, <0x44 0x3>, /* SERDES4 lane0/1 select */
+					<0x48 0x3>, <0x4c 0x3>; /* SERDES4 lane2/3 select */
 			idle-states = <J784S4_SERDES0_LANE0_PCIE1_LANE0>,
 				      <J784S4_SERDES0_LANE1_PCIE1_LANE1>,
 				      <J784S4_SERDES0_LANE2_IP3_UNUSED>,
@@ -193,7 +195,7 @@ gic500: interrupt-controller@1800000 {
 		ranges;
 		#interrupt-cells = <3>;
 		interrupt-controller;
-		reg = <0x00 0x01800000 0x00 0x200000>, /* GICD */
+		reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
 		      <0x00 0x01900000 0x00 0x100000>, /* GICR */
 		      <0x00 0x6f000000 0x00 0x2000>,   /* GICC */
 		      <0x00 0x6f010000 0x00 0x1000>,   /* GICH */
arch/arm64/include/asm/cputype.h +4 -0
index 6f3f4142e214..41c21feaef4a 100644
@@ -75,6 +75,7 @@
 #define ARM_CPU_PART_CORTEX_A76		0xD0B
 #define ARM_CPU_PART_NEOVERSE_N1	0xD0C
 #define ARM_CPU_PART_CORTEX_A77		0xD0D
+#define ARM_CPU_PART_CORTEX_A76AE	0xD0E
 #define ARM_CPU_PART_NEOVERSE_V1	0xD40
 #define ARM_CPU_PART_CORTEX_A78		0xD41
 #define ARM_CPU_PART_CORTEX_A78AE	0xD42
@@ -119,6 +120,7 @@
 #define QCOM_CPU_PART_KRYO		0x200
 #define QCOM_CPU_PART_KRYO_2XX_GOLD	0x800
 #define QCOM_CPU_PART_KRYO_2XX_SILVER	0x801
+#define QCOM_CPU_PART_KRYO_3XX_GOLD	0x802
 #define QCOM_CPU_PART_KRYO_3XX_SILVER	0x803
 #define QCOM_CPU_PART_KRYO_4XX_GOLD	0x804
 #define QCOM_CPU_PART_KRYO_4XX_SILVER	0x805
@@ -159,6 +161,7 @@
 #define MIDR_CORTEX_A76	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A76)
 #define MIDR_NEOVERSE_N1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N1)
 #define MIDR_CORTEX_A77	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A77)
+#define MIDR_CORTEX_A76AE	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A76AE)
 #define MIDR_NEOVERSE_V1	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_V1)
 #define MIDR_CORTEX_A78	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78)
 #define MIDR_CORTEX_A78AE	MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE)
@@ -196,6 +199,7 @@
 #define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO)
 #define MIDR_QCOM_KRYO_2XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_GOLD)
 #define MIDR_QCOM_KRYO_2XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_SILVER)
+#define MIDR_QCOM_KRYO_3XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_GOLD)
 #define MIDR_QCOM_KRYO_3XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_SILVER)
 #define MIDR_QCOM_KRYO_4XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_GOLD)
 #define MIDR_QCOM_KRYO_4XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_SILVER)
arch/arm64/include/asm/kvm_arm.h +2 -2
index c2417a424b98..974d72b5905b 100644
@@ -92,12 +92,12 @@
  * SWIO:	Turn set/way invalidates into set/way clean+invalidate
  * PTW:		Take a stage2 fault if a stage1 walk steps in device memory
  * TID3:	Trap EL1 reads of group 3 ID registers
- * TID2:	Trap CTR_EL0, CCSIDR2_EL1, CLIDR_EL1, and CSSELR_EL1
+ * TID1:	Trap REVIDR_EL1, AIDR_EL1, and SMIDR_EL1
  */
 #define HCR_GUEST_FLAGS (HCR_TSC | HCR_TSW | HCR_TWE | HCR_TWI | HCR_VM | \
 			 HCR_BSU_IS | HCR_FB | HCR_TACR | \
 			 HCR_AMO | HCR_SWIO | HCR_TIDCP | HCR_RW | HCR_TLOR | \
-			 HCR_FMO | HCR_IMO | HCR_PTW | HCR_TID3)
+			 HCR_FMO | HCR_IMO | HCR_PTW | HCR_TID3 | HCR_TID1)
 #define HCR_HOST_NVHE_FLAGS (HCR_RW | HCR_API | HCR_APK | HCR_ATA)
 #define HCR_HOST_NVHE_PROTECTED_FLAGS (HCR_HOST_NVHE_FLAGS | HCR_TSC)
 #define HCR_HOST_VHE_FLAGS (HCR_RW | HCR_TGE | HCR_E2H)
arch/arm64/include/asm/spectre.h +0 -1
index 0c4d9045c31f..f1524cdeacf1 100644
@@ -97,7 +97,6 @@ enum mitigation_state arm64_get_meltdown_state(void);
 
 enum mitigation_state arm64_get_spectre_bhb_state(void);
 bool is_spectre_bhb_affected(const struct arm64_cpu_capabilities *entry, int scope);
-u8 spectre_bhb_loop_affected(int scope);
 void spectre_bhb_enable_mitigation(const struct arm64_cpu_capabilities *__unused);
 bool try_emulate_el1_ssbs(struct pt_regs *regs, u32 instr);
 
arch/arm64/include/asm/traps.h +2 -2
index d780d1bd2eac..82cf1f879c61 100644
@@ -109,10 +109,9 @@ static inline void arm64_mops_reset_regs(struct user_pt_regs *regs, unsigned lon
 	int dstreg = ESR_ELx_MOPS_ISS_DESTREG(esr);
 	int srcreg = ESR_ELx_MOPS_ISS_SRCREG(esr);
 	int sizereg = ESR_ELx_MOPS_ISS_SIZEREG(esr);
-	unsigned long dst, src, size;
+	unsigned long dst, size;
 
 	dst = regs->regs[dstreg];
-	src = regs->regs[srcreg];
 	size = regs->regs[sizereg];
 
 	/*
@@ -129,6 +128,7 @@ static inline void arm64_mops_reset_regs(struct user_pt_regs *regs, unsigned lon
 		}
 	} else {
 		/* CPY* instruction */
+		unsigned long src = regs->regs[srcreg];
 		if (!(option_a ^ wrong_option)) {
 			/* Format is from Option B */
 			if (regs->pstate & PSR_N_BIT) {
arch/arm64/kernel/proton-pack.c +118 -100

281 lines not on this page · raw message

arch/arm64/kvm/arm.c +5 -1
index 0160b4924351..1a479df5d78e 100644
@@ -466,7 +466,11 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)
 	if (err)
 		return err;
 
-	return kvm_share_hyp(vcpu, vcpu + 1);
+	err = kvm_share_hyp(vcpu, vcpu + 1);
+	if (err)
+		kvm_vgic_vcpu_destroy(vcpu);
+
+	return err;
 }
 
 void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu)
arch/arm64/kvm/sys_regs.c +100 -104

287 lines not on this page · raw message

arch/arm64/lib/crc-t10dif-glue.c +1 -3
index dab7e3796232..2dcb1e31bbb2 100644
@@ -45,9 +45,7 @@ u16 crc_t10dif_arch(u16 crc, const u8 *data, size_t length)
 			crc_t10dif_pmull_p8(crc, data, length, buf);
 			kernel_neon_end();
 
-			crc = 0;
-			data = buf;
-			length = sizeof(buf);
+			return crc_t10dif_generic(0, buf, sizeof(buf));
 		}
 	}
 	return crc_t10dif_generic(crc, data, length);
arch/arm64/mm/mmu.c +2 -1
index 1dfe1a8efdbe..310ff75891ef 100644
@@ -1361,7 +1361,8 @@ int arch_add_memory(int nid, u64 start, u64 size,
 		__remove_pgd_mapping(swapper_pg_dir,
 				     __phys_to_virt(start), size);
 	else {
-		max_pfn = PFN_UP(start + size);
+		/* Address of hotplugged memory can be smaller */
+		max_pfn = max(max_pfn, PFN_UP(start + size));
 		max_low_pfn = max_pfn;
 	}
 
arch/powerpc/kvm/powerpc.c +1 -4
index ce1d91eed231..a7138eb18d59 100644
@@ -550,12 +550,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 
 #ifdef CONFIG_PPC_BOOK3S_64
 	case KVM_CAP_SPAPR_TCE:
+		fallthrough;
 	case KVM_CAP_SPAPR_TCE_64:
-		r = 1;
-		break;
 	case KVM_CAP_SPAPR_TCE_VFIO:
-		r = !!cpu_has_feature(CPU_FTR_HVMODE);
-		break;
 	case KVM_CAP_PPC_RTAS:
 	case KVM_CAP_PPC_FIXUP_HCALL:
 	case KVM_CAP_PPC_ENABLE_HCALL:
arch/s390/Makefile +1 -1
index 5fae311203c2..fd3b70d9aab1 100644
@@ -15,7 +15,7 @@ KBUILD_CFLAGS_MODULE += -fPIC
 KBUILD_AFLAGS	+= -m64
 KBUILD_CFLAGS	+= -m64
 KBUILD_CFLAGS	+= -fPIC
-LDFLAGS_vmlinux	:= -no-pie --emit-relocs --discard-none
+LDFLAGS_vmlinux	:= $(call ld-option,-no-pie) --emit-relocs --discard-none
 extra_tools	:= relocs
 aflags_dwarf	:= -Wa,-gdwarf-2
 KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
arch/s390/kernel/perf_cpum_cf.c +1 -8
index 33205dd410e4..60a60185b1d4 100644
@@ -858,18 +858,13 @@ static int cpumf_pmu_event_type(struct perf_event *event)
 static int cpumf_pmu_event_init(struct perf_event *event)
 {
 	unsigned int type = event->attr.type;
-	int err;
+	int err = -ENOENT;
 
 	if (type == PERF_TYPE_HARDWARE || type == PERF_TYPE_RAW)
 		err = __hw_perf_event_init(event, type);
 	else if (event->pmu->type == type)
 		/* Registered as unknown PMU */
 		err = __hw_perf_event_init(event, cpumf_pmu_event_type(event));
-	else
-		return -ENOENT;
-
-	if (unlikely(err) && event->destroy)
-		event->destroy(event);
 
 	return err;
 }
@@ -1819,8 +1814,6 @@ static int cfdiag_event_init(struct perf_event *event)
 	event->destroy = hw_perf_event_destroy;
 
 	err = cfdiag_event_init2(event);
-	if (unlikely(err))
-		event->destroy(event);
 out:
 	return err;
 }
arch/s390/kernel/perf_cpum_sf.c +0 -3
index 5f60248cb468..ad22799d8a7d 100644
@@ -885,9 +885,6 @@ static int cpumsf_pmu_event_init(struct perf_event *event)
 		event->attr.exclude_idle = 0;
 
 	err = __hw_perf_event_init(event);
-	if (unlikely(err))
-		if (event->destroy)
-			event->destroy(event);
 	return err;
 }
 
arch/s390/pci/pci_bus.c +3 -0
index 39a481ec4a40..983d9239feb4 100644
@@ -335,6 +335,9 @@ static bool zpci_bus_is_isolated_vf(struct zpci_bus *zbus, struct zpci_dev *zdev
 {
 	struct pci_dev *pdev;
 
+	if (!zdev->vfn)
+		return false;
+
 	pdev = zpci_iov_find_parent_pf(zbus, zdev);
 	if (!pdev)
 		return true;
arch/s390/pci/pci_mmio.c +13 -5
index 46f99dc164ad..1997d9b7965d 100644
@@ -175,8 +175,12 @@ SYSCALL_DEFINE3(s390_pci_mmio_write, unsigned long, mmio_addr,
 	args.address = mmio_addr;
 	args.vma = vma;
 	ret = follow_pfnmap_start(&args);
-	if (ret)
-		goto out_unlock_mmap;
+	if (ret) {
+		fixup_user_fault(current->mm, mmio_addr, FAULT_FLAG_WRITE, NULL);
+		ret = follow_pfnmap_start(&args);
+		if (ret)
+			goto out_unlock_mmap;
+	}
 
 	io_addr = (void __iomem *)((args.pfn << PAGE_SHIFT) |
 			(mmio_addr & ~PAGE_MASK));
@@ -315,14 +319,18 @@ SYSCALL_DEFINE3(s390_pci_mmio_read, unsigned long, mmio_addr,
 	if (!(vma->vm_flags & (VM_IO | VM_PFNMAP)))
 		goto out_unlock_mmap;
 	ret = -EACCES;
-	if (!(vma->vm_flags & VM_WRITE))
+	if (!(vma->vm_flags & VM_READ))
 		goto out_unlock_mmap;
 
 	args.vma = vma;
 	args.address = mmio_addr;
 	ret = follow_pfnmap_start(&args);
-	if (ret)
-		goto out_unlock_mmap;
+	if (ret) {
+		fixup_user_fault(current->mm, mmio_addr, 0, NULL);
+		ret = follow_pfnmap_start(&args);
+		if (ret)
+			goto out_unlock_mmap;
+	}
 
 	io_addr = (void __iomem *)((args.pfn << PAGE_SHIFT) |
 			(mmio_addr & ~PAGE_MASK));
arch/sparc/include/asm/pgtable_64.h +0 -2
index 2b7f358762c1..dc28f2c4eee3 100644
@@ -936,7 +936,6 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
 static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_t *ptep, pte_t pte, unsigned int nr)
 {
-	arch_enter_lazy_mmu_mode();
 	for (;;) {
 		__set_pte_at(mm, addr, ptep, pte, 0);
 		if (--nr == 0)
@@ -945,7 +944,6 @@ static inline void set_ptes(struct mm_struct *mm, unsigned long addr,
 		pte_val(pte) += PAGE_SIZE;
 		addr += PAGE_SIZE;
 	}
-	arch_leave_lazy_mmu_mode();
 }
 #define set_ptes set_ptes
 
arch/sparc/mm/tlb.c +4 -1
index 8648a50afe88..a35ddcca5e76 100644
@@ -52,8 +52,10 @@ void flush_tlb_pending(void)
 
 void arch_enter_lazy_mmu_mode(void)
 {
-	struct tlb_batch *tb = this_cpu_ptr(&tlb_batch);
+	struct tlb_batch *tb;
 
+	preempt_disable();
+	tb = this_cpu_ptr(&tlb_batch);
 	tb->active = 1;
 }
 
@@ -64,6 +66,7 @@ void arch_leave_lazy_mmu_mode(void)
 	if (tb->tlb_nr)
 		flush_tlb_pending();
 	tb->active = 0;
+	preempt_enable();
 }
 
 static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
arch/x86/Kbuild +4 -0
index cf0ad89f5639..f7fb3d88c57b 100644
@@ -1,4 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
+
+# Branch profiling isn't noinstr-safe.  Disable it for arch/x86/*
+subdir-ccflags-$(CONFIG_TRACE_BRANCH_PROFILING) += -DDISABLE_BRANCH_PROFILING
+
 obj-$(CONFIG_ARCH_HAS_CC_PLATFORM) += coco/
 
 obj-y += entry/
arch/x86/Kconfig +11 -9
index aaec6ebd6c4e..aeb95b6e5536 100644
@@ -2452,18 +2452,20 @@ config CC_HAS_NAMED_AS
 	def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
 	depends on CC_IS_GCC
 
+#
+# -fsanitize=kernel-address (KASAN) and -fsanitize=thread (KCSAN)
+# are incompatible with named address spaces with GCC < 13.3
+# (see GCC PR sanitizer/111736 and also PR sanitizer/115172).
+#
+
 config CC_HAS_NAMED_AS_FIXED_SANITIZERS
-	def_bool CC_IS_GCC && GCC_VERSION >= 130300
+	def_bool y
+	depends on !(KASAN || KCSAN) || GCC_VERSION >= 130300
+	depends on !(UBSAN_BOOL && KASAN) || GCC_VERSION >= 140200
 
 config USE_X86_SEG_SUPPORT
-	def_bool y
-	depends on CC_HAS_NAMED_AS
-	#
-	# -fsanitize=kernel-address (KASAN) and -fsanitize=thread
-	# (KCSAN) are incompatible with named address spaces with
-	# GCC < 13.3 - see GCC PR sanitizer/111736.
-	#
-	depends on !(KASAN || KCSAN) || CC_HAS_NAMED_AS_FIXED_SANITIZERS
+	def_bool CC_HAS_NAMED_AS
+	depends on CC_HAS_NAMED_AS_FIXED_SANITIZERS
 
 config CC_HAS_SLS
 	def_bool $(cc-option,-mharden-sls=all)
arch/x86/coco/sev/core.c +0 -2
index 96c7bc698e6b..d14bce0f82cc 100644
@@ -9,8 +9,6 @@
 
 #define pr_fmt(fmt)	"SEV: " fmt
 
-#define DISABLE_BRANCH_PROFILING
-
 #include <linux/sched/debug.h>	/* For show_regs() */
 #include <linux/percpu-defs.h>
 #include <linux/cc_platform.h>
arch/x86/kernel/acpi/boot.c +11 -0
index dae6a73be40e..9fa321a95eb3 100644
@@ -23,6 +23,8 @@
 #include <linux/serial_core.h>
 #include <linux/pgtable.h>
 
+#include <xen/xen.h>
+
 #include <asm/e820/api.h>
 #include <asm/irqdomain.h>
 #include <asm/pci_x86.h>
@@ -1729,6 +1731,15 @@ int __init acpi_mps_check(void)
 {
 #if defined(CONFIG_X86_LOCAL_APIC) && !defined(CONFIG_X86_MPPARSE)
 /* mptable code is not built-in*/
+
+	/*
+	 * Xen disables ACPI in PV DomU guests but it still emulates APIC and
+	 * supports SMP. Returning early here ensures that APIC is not disabled
+	 * unnecessarily and the guest is not limited to a single vCPU.
+	 */
+	if (xen_pv_domain() && !xen_initial_domain())
+		return 0;
+
 	if (acpi_disabled || acpi_noirq) {
 		pr_warn("MPS support code is not built-in, using acpi=off or acpi=noirq or pci=noacpi may have problem\n");
 		return 1;
arch/x86/kernel/cpu/amd.c +2 -1
index 54194f5995de..4c9b20d028eb 100644
@@ -632,7 +632,7 @@ static void init_amd_k8(struct cpuinfo_x86 *c)
 	 * (model = 0x14) and later actually support it.
 	 * (AMD Erratum #110, docId: 25759).
 	 */
-	if (c->x86_model < 0x14 && cpu_has(c, X86_FEATURE_LAHF_LM)) {
+	if (c->x86_model < 0x14 && cpu_has(c, X86_FEATURE_LAHF_LM) && !cpu_has(c, X86_FEATURE_HYPERVISOR)) {
 		clear_cpu_cap(c, X86_FEATURE_LAHF_LM);
 		if (!rdmsrl_amd_safe(0xc001100d, &value)) {
 			value &= ~BIT_64(32);
@@ -803,6 +803,7 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
 static const struct x86_cpu_id erratum_1386_microcode[] = {
 	X86_MATCH_VFM_STEPS(VFM_MAKE(X86_VENDOR_AMD, 0x17, 0x01), 0x2, 0x2, 0x0800126e),
 	X86_MATCH_VFM_STEPS(VFM_MAKE(X86_VENDOR_AMD, 0x17, 0x31), 0x0, 0x0, 0x08301052),
+	{}
 };
 
 static void fix_erratum_1386(struct cpuinfo_x86 *c)
arch/x86/kernel/e820.c +8 -9
index 82b96ed9890a..84264205dae5 100644
@@ -754,22 +754,21 @@ void __init e820__memory_setup_extended(u64 phys_addr, u32 data_len)
 void __init e820__register_nosave_regions(unsigned long limit_pfn)
 {
 	int i;
-	unsigned long pfn = 0;
+	u64 last_addr = 0;
 
 	for (i = 0; i < e820_table->nr_entries; i++) {
 		struct e820_entry *entry = &e820_table->entries[i];
 
-		if (pfn < PFN_UP(entry->addr))
-			register_nosave_region(pfn, PFN_UP(entry->addr));
-
-		pfn = PFN_DOWN(entry->addr + entry->size);
-
 		if (entry->type != E820_TYPE_RAM && entry->type != E820_TYPE_RESERVED_KERN)
-			register_nosave_region(PFN_UP(entry->addr), pfn);
+			continue;
 
-		if (pfn >= limit_pfn)
-			break;
+		if (last_addr < entry->addr)
+			register_nosave_region(PFN_DOWN(last_addr), PFN_UP(entry->addr));
+
+		last_addr = entry->addr + entry->size;
 	}
+
+	register_nosave_region(PFN_DOWN(last_addr), limit_pfn);
 }
 
 #ifdef CONFIG_ACPI
arch/x86/kernel/head64.c +0 -2
index 22c9ba305ac1..368157a7f6d2 100644
@@ -5,8 +5,6 @@
  *  Copyright (C) 2000 Andrea Arcangeli <[email protected]> SuSE
  */
 
-#define DISABLE_BRANCH_PROFILING
-
 /* cpu_feature_enabled() cannot be used this early */
 #define USE_EARLY_PGTABLE_L5
 
arch/x86/kernel/signal_32.c +43 -19

86 lines not on this page · raw message

arch/x86/kvm/cpuid.c +3 -5
index 121edf1f2a79..9b92f3f56f49 100644
@@ -1423,8 +1423,8 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 		}
 		break;
 	case 0xa: { /* Architectural Performance Monitoring */
-		union cpuid10_eax eax;
-		union cpuid10_edx edx;
+		union cpuid10_eax eax = { };
+		union cpuid10_edx edx = { };
 
 		if (!enable_pmu || !static_cpu_has(X86_FEATURE_ARCH_PERFMON)) {
 			entry->eax = entry->ebx = entry->ecx = entry->edx = 0;
@@ -1440,8 +1440,6 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 
 		if (kvm_pmu_cap.version)
 			edx.split.anythread_deprecated = 1;
-		edx.split.reserved1 = 0;
-		edx.split.reserved2 = 0;
 
 		entry->eax = eax.full;
 		entry->ebx = kvm_pmu_cap.events_mask;
@@ -1759,7 +1757,7 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function)
 		break;
 	/* AMD Extended Performance Monitoring and Debug */
 	case 0x80000022: {
-		union cpuid_0x80000022_ebx ebx;
+		union cpuid_0x80000022_ebx ebx = { };
 
 		entry->ecx = entry->edx = 0;
 		if (!enable_pmu || !kvm_cpu_cap_has(X86_FEATURE_PERFMON_V2)) {
arch/x86/kvm/x86.c +4 -0
index 01d3fa84d2a4..91f9590a8dde 100644
@@ -11773,6 +11773,8 @@ int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
 	if (kvm_mpx_supported())
 		kvm_load_guest_fpu(vcpu);
 
+	kvm_vcpu_srcu_read_lock(vcpu);
+
 	r = kvm_apic_accept_events(vcpu);
 	if (r < 0)
 		goto out;
@@ -11786,6 +11788,8 @@ int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
 		mp_state->mp_state = vcpu->arch.mp_state;
 
 out:
+	kvm_vcpu_srcu_read_unlock(vcpu);
+
 	if (kvm_mpx_supported())
 		kvm_put_guest_fpu(vcpu);
 	vcpu_put(vcpu);
arch/x86/mm/kasan_init_64.c +0 -1
index 9dddf19a5571..0539efd0d216 100644
@@ -1,5 +1,4 @@
 // SPDX-License-Identifier: GPL-2.0
-#define DISABLE_BRANCH_PROFILING
 #define pr_fmt(fmt) "kasan: " fmt
 
 /* cpu_feature_enabled() cannot be used this early */
arch/x86/mm/mem_encrypt_amd.c +0 -2
index b56c5c073003..7490ff6d83b1 100644
@@ -7,8 +7,6 @@
  * Author: Tom Lendacky <[email protected]>
  */
 
-#define DISABLE_BRANCH_PROFILING
-
 #include <linux/linkage.h>
 #include <linux/init.h>
 #include <linux/mm.h>
arch/x86/mm/mem_encrypt_identity.c +0 -2
index 9fce5b87b8c5..5eecdd92da10 100644
@@ -7,8 +7,6 @@
  * Author: Tom Lendacky <[email protected]>
  */
 
-#define DISABLE_BRANCH_PROFILING
-
 /*
  * Since we're dealing with identity mappings, physical and virtual
  * addresses are the same, so override these defines which are ultimately
arch/x86/mm/pat/set_memory.c +3 -3
index ef4514d64c05..b491d8190a6c 100644
@@ -2420,7 +2420,7 @@ static int __set_pages_np(struct page *page, int numpages)
 				.pgd = NULL,
 				.numpages = numpages,
 				.mask_set = __pgprot(0),
-				.mask_clr = __pgprot(_PAGE_PRESENT | _PAGE_RW),
+				.mask_clr = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY),
 				.flags = CPA_NO_CHECK_ALIAS };
 
 	/*
@@ -2507,7 +2507,7 @@ int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn, unsigned long address,
 		.pgd = pgd,
 		.numpages = numpages,
 		.mask_set = __pgprot(0),
-		.mask_clr = __pgprot(~page_flags & (_PAGE_NX|_PAGE_RW)),
+		.mask_clr = __pgprot(~page_flags & (_PAGE_NX|_PAGE_RW|_PAGE_DIRTY)),
 		.flags = CPA_NO_CHECK_ALIAS,
 	};
 
@@ -2550,7 +2550,7 @@ int __init kernel_unmap_pages_in_pgd(pgd_t *pgd, unsigned long address,
 		.pgd		= pgd,
 		.numpages	= numpages,
 		.mask_set	= __pgprot(0),
-		.mask_clr	= __pgprot(_PAGE_PRESENT | _PAGE_RW),
+		.mask_clr	= __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY),
 		.flags		= CPA_NO_CHECK_ALIAS,
 	};
 
arch/x86/xen/enlighten.c +10 -0
index 43dcd8c7badc..1b7710bd0d05 100644
@@ -70,6 +70,9 @@ EXPORT_SYMBOL(xen_start_flags);
  */
 struct shared_info *HYPERVISOR_shared_info = &xen_dummy_shared_info;
 
+/* Number of pages released from the initial allocation. */
+unsigned long xen_released_pages;
+
 static __ref void xen_get_vendor(void)
 {
 	init_cpu_devs();
@@ -466,6 +469,13 @@ int __init arch_xen_unpopulated_init(struct resource **res)
 			xen_free_unpopulated_pages(1, &pg);
 		}
 
+		/*
+		 * Account for the region being in the physmap but unpopulated.
+		 * The value in xen_released_pages is used by the balloon
+		 * driver to know how much of the physmap is unpopulated and
+		 * set an accurate initial memory target.
+		 */
+		xen_released_pages += xen_extra_mem[i].n_pfns;
 		/* Zero so region is not also added to the balloon driver. */
 		xen_extra_mem[i].n_pfns = 0;
 	}
arch/x86/xen/setup.c +0 -3
index c3db71d96c43..3823e52aef52 100644
@@ -37,9 +37,6 @@
 
 #define GB(x) ((uint64_t)(x) * 1024 * 1024 * 1024)
 
-/* Number of pages released from the initial allocation. */
-unsigned long xen_released_pages;
-
 /* Memory map would allow PCI passthrough. */
 bool xen_pv_pci_possible;
 
block/blk-mq.c +1 -0
index 40490ac88045..005c520d3498 100644
@@ -3314,6 +3314,7 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src,
 		rq->special_vec = rq_src->special_vec;
 	}
 	rq->nr_phys_segments = rq_src->nr_phys_segments;
+	rq->nr_integrity_segments = rq_src->nr_integrity_segments;
 
 	if (rq->bio && blk_crypto_rq_bio_prep(rq, rq->bio, gfp_mask) < 0)
 		goto free_and_out;
drivers/accel/ivpu/ivpu_debugfs.c +2 -2
index 8180b95ed69d..093a2e93b0b3 100644
@@ -331,7 +331,7 @@ ivpu_force_recovery_fn(struct file *file, const char __user *user_buf, size_t si
 		return -EINVAL;
 
 	ret = ivpu_rpm_get(vdev);
-	if (ret)
+	if (ret < 0)
 		return ret;
 
 	ivpu_pm_trigger_recovery(vdev, "debugfs");
@@ -382,7 +382,7 @@ static int dct_active_set(void *data, u64 active_percent)
 		return -EINVAL;
 
 	ret = ivpu_rpm_get(vdev);
-	if (ret)
+	if (ret < 0)
 		return ret;
 
 	if (active_percent)
drivers/accel/ivpu/ivpu_ipc.c +2 -1
index 01ebf88fe6ef..5daaf07fc1a7 100644
@@ -302,7 +302,8 @@ ivpu_ipc_send_receive_internal(struct ivpu_device *vdev, struct vpu_jsm_msg *req
 	struct ivpu_ipc_consumer cons;
 	int ret;
 
-	drm_WARN_ON(&vdev->drm, pm_runtime_status_suspended(vdev->drm.dev));
+	drm_WARN_ON(&vdev->drm, pm_runtime_status_suspended(vdev->drm.dev) &&
+		    pm_runtime_enabled(vdev->drm.dev));
 
 	ivpu_ipc_consumer_add(vdev, &cons, channel, NULL);
 
drivers/accel/ivpu/ivpu_ms.c +24 -0
index ffe7b10f8a76..2a043baf10ca 100644
@@ -4,6 +4,7 @@
  */
 
 #include <drm/drm_file.h>
+#include <linux/pm_runtime.h>
 
 #include "ivpu_drv.h"
 #include "ivpu_gem.h"
@@ -44,6 +45,10 @@ int ivpu_ms_start_ioctl(struct drm_device *dev, void *data, struct drm_file *fil
 	    args->sampling_period_ns < MS_MIN_SAMPLE_PERIOD_NS)
 		return -EINVAL;
 
+	ret = ivpu_rpm_get(vdev);
+	if (ret < 0)
+		return ret;
+
 	mutex_lock(&file_priv->ms_lock);
 
 	if (get_instance_by_mask(file_priv, args->metric_group_mask)) {
@@ -96,6 +101,8 @@ int ivpu_ms_start_ioctl(struct drm_device *dev, void *data, struct drm_file *fil
 	kfree(ms);
 unlock:
 	mutex_unlock(&file_priv->ms_lock);
+
+	ivpu_rpm_put(vdev);
 	return ret;
 }
 
@@ -160,6 +167,10 @@ int ivpu_ms_get_data_ioctl(struct drm_device *dev, void *data, struct drm_file *
 	if (!args->metric_group_mask)
 		return -EINVAL;
 
+	ret = ivpu_rpm_get(vdev);
+	if (ret < 0)
+		return ret;
+
 	mutex_lock(&file_priv->ms_lock);
 
 	ms = get_instance_by_mask(file_priv, args->metric_group_mask);
@@ -187,6 +198,7 @@ int ivpu_ms_get_data_ioctl(struct drm_device *dev, void *data, struct drm_file *
 unlock:
 	mutex_unlock(&file_priv->ms_lock);
 
+	ivpu_rpm_put(vdev);
 	return ret;
 }
 
@@ -204,11 +216,17 @@ int ivpu_ms_stop_ioctl(struct drm_device *dev, void *data, struct drm_file *file
 {
 	struct ivpu_file_priv *file_priv = file->driver_priv;
 	struct drm_ivpu_metric_streamer_stop *args = data;
+	struct ivpu_device *vdev = file_priv->vdev;
 	struct ivpu_ms_instance *ms;
+	int ret;
 
 	if (!args->metric_group_mask)
 		return -EINVAL;
 
+	ret = ivpu_rpm_get(vdev);
+	if (ret < 0)
+		return ret;
+
 	mutex_lock(&file_priv->ms_lock);
 
 	ms = get_instance_by_mask(file_priv, args->metric_group_mask);
@@ -217,6 +235,7 @@ int ivpu_ms_stop_ioctl(struct drm_device *dev, void *data, struct drm_file *file
 
 	mutex_unlock(&file_priv->ms_lock);
 
+	ivpu_rpm_put(vdev);
 	return ms ? 0 : -EINVAL;
 }
 
@@ -281,6 +300,9 @@ int ivpu_ms_get_info_ioctl(struct drm_device *dev, void *data, struct drm_file *
 void ivpu_ms_cleanup(struct ivpu_file_priv *file_priv)
 {
 	struct ivpu_ms_instance *ms, *tmp;
+	struct ivpu_device *vdev = file_priv->vdev;
+
+	pm_runtime_get_sync(vdev->drm.dev);
 
 	mutex_lock(&file_priv->ms_lock);
 
@@ -293,6 +315,8 @@ void ivpu_ms_cleanup(struct ivpu_file_priv *file_priv)
 		free_instance(file_priv, ms);
 
 	mutex_unlock(&file_priv->ms_lock);
+
+	pm_runtime_put_autosuspend(vdev->drm.dev);
 }
 
 void ivpu_ms_cleanup_all(struct ivpu_device *vdev)
drivers/acpi/Makefile +4 -0
index 40208a0f5dfb..797070fc9a3f 100644
@@ -5,6 +5,10 @@
 
 ccflags-$(CONFIG_ACPI_DEBUG)	+= -DACPI_DEBUG_OUTPUT
 
+ifdef CONFIG_TRACE_BRANCH_PROFILING
+CFLAGS_processor_idle.o += -DDISABLE_BRANCH_PROFILING
+endif
+
 #
 # ACPI Boot-Time Table Parsing
 #
drivers/ata/ahci.c +11 -0
index f813dbdc2346..f3a6bfe098cd 100644
@@ -63,6 +63,7 @@ enum board_ids {
 	board_ahci_pcs_quirk_no_devslp,
 	board_ahci_pcs_quirk_no_sntf,
 	board_ahci_yes_fbs,
+	board_ahci_yes_fbs_atapi_dma,
 
 	/* board IDs for specific chipsets in alphabetical order */
 	board_ahci_al,
@@ -188,6 +189,14 @@ static const struct ata_port_info ahci_port_info[] = {
 		.udma_mask	= ATA_UDMA6,
 		.port_ops	= &ahci_ops,
 	},
+	[board_ahci_yes_fbs_atapi_dma] = {
+		AHCI_HFLAGS	(AHCI_HFLAG_YES_FBS |
+				 AHCI_HFLAG_ATAPI_DMA_QUIRK),
+		.flags		= AHCI_FLAG_COMMON,
+		.pio_mask	= ATA_PIO4,
+		.udma_mask	= ATA_UDMA6,
+		.port_ops	= &ahci_ops,
+	},
 	/* by chipsets */
 	[board_ahci_al] = {
 		AHCI_HFLAGS	(AHCI_HFLAG_NO_PMP | AHCI_HFLAG_NO_MSI),
@@ -589,6 +598,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	  .driver_data = board_ahci_yes_fbs },
 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x91a3),
 	  .driver_data = board_ahci_yes_fbs },
+	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9215),
+	  .driver_data = board_ahci_yes_fbs_atapi_dma },
 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9230),
 	  .driver_data = board_ahci_yes_fbs },
 	{ PCI_DEVICE(PCI_VENDOR_ID_MARVELL_EXT, 0x9235),
drivers/ata/ahci.h +1 -0
index c842e2de6ef9..2c10c8f440d1 100644
@@ -246,6 +246,7 @@ enum {
 	AHCI_HFLAG_NO_SXS		= BIT(26), /* SXS not supported */
 	AHCI_HFLAG_43BIT_ONLY		= BIT(27), /* 43bit DMA addr limit */
 	AHCI_HFLAG_INTEL_PCS_QUIRK	= BIT(28), /* apply Intel PCS quirk */
+	AHCI_HFLAG_ATAPI_DMA_QUIRK	= BIT(29), /* force ATAPI to use DMA */
 
 	/* ap->flags bits */
 
drivers/ata/libahci.c +4 -0
index e7ace4b10f15..22afa4ff860d 100644
@@ -1322,6 +1322,10 @@ static void ahci_dev_config(struct ata_device *dev)
 {
 	struct ahci_host_priv *hpriv = dev->link->ap->host->private_data;
 
+	if ((dev->class == ATA_DEV_ATAPI) &&
+	    (hpriv->flags & AHCI_HFLAG_ATAPI_DMA_QUIRK))
+		dev->quirks |= ATA_QUIRK_ATAPI_MOD16_DMA;
+
 	if (hpriv->flags & AHCI_HFLAG_SECT255) {
 		dev->max_sectors = 255;
 		ata_dev_info(dev,
drivers/ata/libata-core.c +38 -0
index 3d730c10f7be..05bfcb359f92 100644
@@ -88,6 +88,7 @@ struct ata_force_param {
 	unsigned int	xfer_mask;
 	unsigned int	quirk_on;
 	unsigned int	quirk_off;
+	unsigned int	pflags_on;
 	u16		lflags_on;
 	u16		lflags_off;
 };
@@ -331,6 +332,35 @@ void ata_force_cbl(struct ata_port *ap)
 	}
 }
 
+/**
+ *	ata_force_pflags - force port flags according to libata.force
+ *	@ap: ATA port of interest
+ *
+ *	Force port flags according to libata.force and whine about it.
+ *
+ *	LOCKING:
+ *	EH context.
+ */
+static void ata_force_pflags(struct ata_port *ap)
+{
+	int i;
+
+	for (i = ata_force_tbl_size - 1; i >= 0; i--) {
+		const struct ata_force_ent *fe = &ata_force_tbl[i];
+
+		if (fe->port != -1 && fe->port != ap->print_id)
+			continue;
+
+		/* let pflags stack */
+		if (fe->param.pflags_on) {
+			ap->pflags |= fe->param.pflags_on;
+			ata_port_notice(ap,
+					"FORCE: port flag 0x%x forced -> 0x%x\n",
+					fe->param.pflags_on, ap->pflags);
+		}
+	}
+}
+
 /**
  *	ata_force_link_limits - force link limits according to libata.force
  *	@link: ATA link of interest
@@ -486,6 +516,7 @@ static void ata_force_quirks(struct ata_device *dev)
 	}
 }
 #else
+static inline void ata_force_pflags(struct ata_port *ap) { }
 static inline void ata_force_link_limits(struct ata_link *link) { }
 static inline void ata_force_xfermask(struct ata_device *dev) { }
 static inline void ata_force_quirks(struct ata_device *dev) { }
@@ -5460,6 +5491,8 @@ struct ata_port *ata_port_alloc(struct ata_host *host)
 #endif
 	ata_sff_port_init(ap);
 
+	ata_force_pflags(ap);
+
 	return ap;
 }
 EXPORT_SYMBOL_GPL(ata_port_alloc);
@@ -6272,6 +6305,9 @@ EXPORT_SYMBOL_GPL(ata_platform_remove_one);
 	{ "no" #name,	.lflags_on	= (flags) },	\
 	{ #name,	.lflags_off	= (flags) }
 
+#define force_pflag_on(name, flags)			\
+	{ #name,	.pflags_on	= (flags) }
+
 #define force_quirk_on(name, flag)			\
 	{ #name,	.quirk_on	= (flag) }
 
@@ -6331,6 +6367,8 @@ static const struct ata_force_param force_tbl[] __initconst = {
 	force_lflag_on(rstonce,		ATA_LFLAG_RST_ONCE),
 	force_lflag_onoff(dbdelay,	ATA_LFLAG_NO_DEBOUNCE_DELAY),
 
+	force_pflag_on(external,	ATA_PFLAG_EXTERNAL),
+
 	force_quirk_onoff(ncq,		ATA_QUIRK_NONCQ),
 	force_quirk_onoff(ncqtrim,	ATA_QUIRK_NO_NCQ_TRIM),
 	force_quirk_onoff(ncqati,	ATA_QUIRK_NO_NCQ_ON_ATI),
drivers/ata/libata-eh.c +9 -2
index 3b303d4ae37a..16cd676eae1f 100644
@@ -1542,8 +1542,15 @@ unsigned int atapi_eh_request_sense(struct ata_device *dev,
 	tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;
 	tf.command = ATA_CMD_PACKET;
 
-	/* is it pointless to prefer PIO for "safety reasons"? */
-	if (ap->flags & ATA_FLAG_PIO_DMA) {
+	/*
+	 * Do not use DMA if the connected device only supports PIO, even if the
+	 * port prefers PIO commands via DMA.
+	 *
+	 * Ideally, we should call atapi_check_dma() to check if it is safe for
+	 * the LLD to use DMA for REQUEST_SENSE, but we don't have a qc.
+	 * Since we can't check the command, perhaps we should only use pio?
+	 */
+	if ((ap->flags & ATA_FLAG_PIO_DMA) && !(dev->flags & ATA_DFLAG_PIO)) {
 		tf.protocol = ATAPI_PROT_DMA;
 		tf.feature |= ATAPI_PKT_DMA;
 	} else {
drivers/ata/pata_pxa.c +6 -0
index 434f380114af..03dbaf4a13a7 100644
@@ -223,10 +223,16 @@ static int pxa_ata_probe(struct platform_device *pdev)
 
 	ap->ioaddr.cmd_addr	= devm_ioremap(&pdev->dev, cmd_res->start,
 						resource_size(cmd_res));
+	if (!ap->ioaddr.cmd_addr)
+		return -ENOMEM;
 	ap->ioaddr.ctl_addr	= devm_ioremap(&pdev->dev, ctl_res->start,
 						resource_size(ctl_res));
+	if (!ap->ioaddr.ctl_addr)
+		return -ENOMEM;
 	ap->ioaddr.bmdma_addr	= devm_ioremap(&pdev->dev, dma_res->start,
 						resource_size(dma_res));
+	if (!ap->ioaddr.bmdma_addr)
+		return -ENOMEM;
 
 	/*
 	 * Adjust register offsets
drivers/ata/sata_sx4.c +10 -3
index a482741eb181..c3042eca6332 100644
@@ -1117,9 +1117,14 @@ static int pdc20621_prog_dimm0(struct ata_host *host)
 	mmio += PDC_CHIP0_OFS;
 
 	for (i = 0; i < ARRAY_SIZE(pdc_i2c_read_data); i++)
-		pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS,
-				  pdc_i2c_read_data[i].reg,
-				  &spd0[pdc_i2c_read_data[i].ofs]);
+		if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS,
+				       pdc_i2c_read_data[i].reg,
+				       &spd0[pdc_i2c_read_data[i].ofs])) {
+			dev_err(host->dev,
+				"Failed in i2c read at index %d: device=%#x, reg=%#x\n",
+				i, PDC_DIMM0_SPD_DEV_ADDRESS, pdc_i2c_read_data[i].reg);
+			return -EIO;
+		}
 
 	data |= (spd0[4] - 8) | ((spd0[21] != 0) << 3) | ((spd0[3]-11) << 4);
 	data |= ((spd0[17] / 4) << 6) | ((spd0[5] / 2) << 7) |
@@ -1284,6 +1289,8 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
 
 	/* Programming DIMM0 Module Control Register (index_CID0:80h) */
 	size = pdc20621_prog_dimm0(host);
+	if (size < 0)
+		return size;
 	dev_dbg(host->dev, "Local DIMM Size = %dMB\n", size);
 
 	/* Programming DIMM Module Global Control Register (index_CID0:88h) */
drivers/auxdisplay/hd44780.c +2 -2
index 0526f0d90a79..9d0ae9c02e9b 100644
@@ -313,7 +313,7 @@ static int hd44780_probe(struct platform_device *pdev)
 fail3:
 	kfree(hd);
 fail2:
-	kfree(lcd);
+	charlcd_free(lcd);
 fail1:
 	kfree(hdc);
 	return ret;
@@ -328,7 +328,7 @@ static void hd44780_remove(struct platform_device *pdev)
 	kfree(hdc->hd44780);
 	kfree(lcd->drvdata);
 
-	kfree(lcd);
+	charlcd_free(lcd);
 }
 
 static const struct of_device_id hd44780_of_match[] = {
drivers/base/devres.c +7 -0
index 93e7779ef21e..b955a2f9520b 100644
@@ -687,6 +687,13 @@ int devres_release_group(struct device *dev, void *id)
 		spin_unlock_irqrestore(&dev->devres_lock, flags);
 
 		release_nodes(dev, &todo);
+	} else if (list_empty(&dev->devres_head)) {
+		/*
+		 * dev is probably dying via devres_release_all(): groups
+		 * have already been removed and are on the process of
+		 * being released - don't touch and don't warn.
+		 */
+		spin_unlock_irqrestore(&dev->devres_lock, flags);
 	} else {
 		WARN_ON(1);
 		spin_unlock_irqrestore(&dev->devres_lock, flags);
drivers/block/ublk_drv.c +26 -4
index b7adfaddc3ab..971b793dedd0 100644
@@ -1094,6 +1094,25 @@ static void ublk_complete_rq(struct kref *ref)
 	__ublk_complete_rq(req);
 }
 
+static void ublk_do_fail_rq(struct request *req)
+{
+	struct ublk_queue *ubq = req->mq_hctx->driver_data;
+
+	if (ublk_nosrv_should_reissue_outstanding(ubq->dev))
+		blk_mq_requeue_request(req, false);
+	else
+		__ublk_complete_rq(req);
+}
+
+static void ublk_fail_rq_fn(struct kref *ref)
+{
+	struct ublk_rq_data *data = container_of(ref, struct ublk_rq_data,
+			ref);
+	struct request *req = blk_mq_rq_from_pdu(data);
+
+	ublk_do_fail_rq(req);
+}
+
 /*
  * Since __ublk_rq_task_work always fails requests immediately during
  * exiting, __ublk_fail_req() is only called from abort context during
@@ -1107,10 +1126,13 @@ static void __ublk_fail_req(struct ublk_queue *ubq, struct ublk_io *io,
 {
 	WARN_ON_ONCE(io->flags & UBLK_IO_FLAG_ACTIVE);
 
-	if (ublk_nosrv_should_reissue_outstanding(ubq->dev))
-		blk_mq_requeue_request(req, false);
-	else
-		ublk_put_req_ref(ubq, req);
+	if (ublk_need_req_ref(ubq)) {
+		struct ublk_rq_data *data = blk_mq_rq_to_pdu(req);
+
+		kref_put(&data->ref, ublk_fail_rq_fn);
+	} else {
+		ublk_do_fail_rq(req);
+	}
 }
 
 static void ubq_complete_io_cmd(struct ublk_io *io, int res,
drivers/bluetooth/btintel_pcie.c +1 -0
index 091ffe3e1495..6130854b6658 100644
@@ -36,6 +36,7 @@
 /* Intel Bluetooth PCIe device id table */
 static const struct pci_device_id btintel_pcie_table[] = {
 	{ BTINTEL_PCI_DEVICE(0xA876, PCI_ANY_ID) },
+	{ BTINTEL_PCI_DEVICE(0xE476, PCI_ANY_ID) },
 	{ 0 }
 };
 MODULE_DEVICE_TABLE(pci, btintel_pcie_table);
drivers/bluetooth/btqca.c +20 -7
index cdf09d9a9ad2..3d6778b95e00 100644
@@ -785,6 +785,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		   const char *firmware_name, const char *rampatch_name)
 {
 	struct qca_fw_config config = {};
+	const char *variant = "";
 	int err;
 	u8 rom_ver = 0;
 	u32 soc_ver;
@@ -815,6 +816,10 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		snprintf(config.fwname, sizeof(config.fwname), "qca/%s", rampatch_name);
 	} else {
 		switch (soc_type) {
+		case QCA_WCN3950:
+			snprintf(config.fwname, sizeof(config.fwname),
+				 "qca/cmbtfw%02x.tlv", rom_ver);
+			break;
 		case QCA_WCN3990:
 		case QCA_WCN3991:
 		case QCA_WCN3998:
@@ -880,16 +885,23 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 		}
 	} else {
 		switch (soc_type) {
+		case QCA_WCN3950:
+			if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_T)
+				variant = "t";
+			else if (le32_to_cpu(ver.soc_id) == QCA_WCN3950_SOC_ID_S)
+				variant = "u";
+
+			snprintf(config.fwname, sizeof(config.fwname),
+				 "qca/cmnv%02x%s.bin", rom_ver, variant);
+			break;
 		case QCA_WCN3990:
 		case QCA_WCN3991:
 		case QCA_WCN3998:
-			if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID) {
-				snprintf(config.fwname, sizeof(config.fwname),
-					 "qca/crnv%02xu.bin", rom_ver);
-			} else {
-				snprintf(config.fwname, sizeof(config.fwname),
-					 "qca/crnv%02x.bin", rom_ver);
-			}
+			if (le32_to_cpu(ver.soc_id) == QCA_WCN3991_SOC_ID)
+				variant = "u";
+
+			snprintf(config.fwname, sizeof(config.fwname),
+				 "qca/crnv%02x%s.bin", rom_ver, variant);
 			break;
 		case QCA_WCN3988:
 			snprintf(config.fwname, sizeof(config.fwname),
@@ -948,6 +960,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	 * VsMsftOpCode.
 	 */
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
drivers/bluetooth/btqca.h +4 -0
index 9d28c8800225..8f3c1b1c77b3 100644
@@ -41,6 +41,9 @@
 
 #define QCA_WCN3991_SOC_ID		0x40014320
 
+#define QCA_WCN3950_SOC_ID_T		0x40074130
+#define QCA_WCN3950_SOC_ID_S		0x40075130
+
 /* QCA chipset version can be decided by patch and SoC
  * version, combination with upper 2 bytes from SoC
  * and lower 2 bytes from patch will be used.
@@ -145,6 +148,7 @@ enum qca_btsoc_type {
 	QCA_INVALID = -1,
 	QCA_AR3002,
 	QCA_ROME,
+	QCA_WCN3950,
 	QCA_WCN3988,
 	QCA_WCN3990,
 	QCA_WCN3998,
drivers/bluetooth/btusb.c +32 -0
index 699ff21d9767..bfd769f2026b 100644
@@ -376,10 +376,38 @@ static const struct usb_device_id quirks_table[] = {
 						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x0489, 0xe0f3), .driver_info = BTUSB_QCA_WCN6855 |
 						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe100), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe103), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe10a), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe10d), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe11b), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe11c), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe11f), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe141), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe14a), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe14b), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe14d), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x13d3, 0x3623), .driver_info = BTUSB_QCA_WCN6855 |
 						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x13d3, 0x3624), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x2c7c, 0x0130), .driver_info = BTUSB_QCA_WCN6855 |
 						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x2c7c, 0x0131), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x2c7c, 0x0132), .driver_info = BTUSB_QCA_WCN6855 |
+						     BTUSB_WIDEBAND_SPEECH },
 
 	/* Broadcom BCM2035 */
 	{ USB_DEVICE(0x0a5c, 0x2009), .driver_info = BTUSB_BCM92035 },
@@ -640,6 +668,10 @@ static const struct usb_device_id quirks_table[] = {
 						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x0489, 0xe102), .driver_info = BTUSB_MEDIATEK |
 						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe152), .driver_info = BTUSB_MEDIATEK |
+						     BTUSB_WIDEBAND_SPEECH },
+	{ USB_DEVICE(0x0489, 0xe153), .driver_info = BTUSB_MEDIATEK |
+						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x04ca, 0x3804), .driver_info = BTUSB_MEDIATEK |
 						     BTUSB_WIDEBAND_SPEECH },
 	{ USB_DEVICE(0x04ca, 0x38e4), .driver_info = BTUSB_MEDIATEK |
drivers/bluetooth/hci_ldisc.c +14 -5
index d2d6ba8d2f8b..acba83156de9 100644
@@ -102,7 +102,8 @@ static inline struct sk_buff *hci_uart_dequeue(struct hci_uart *hu)
 	if (!skb) {
 		percpu_down_read(&hu->proto_lock);
 
-		if (test_bit(HCI_UART_PROTO_READY, &hu->flags))
+		if (test_bit(HCI_UART_PROTO_READY, &hu->flags) ||
+		    test_bit(HCI_UART_PROTO_INIT, &hu->flags))
 			skb = hu->proto->dequeue(hu);
 
 		percpu_up_read(&hu->proto_lock);
@@ -124,7 +125,8 @@ int hci_uart_tx_wakeup(struct hci_uart *hu)
 	if (!percpu_down_read_trylock(&hu->proto_lock))
 		return 0;
 
-	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags))
+	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags) &&
+	    !test_bit(HCI_UART_PROTO_INIT, &hu->flags))
 		goto no_schedule;
 
 	set_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
@@ -278,7 +280,8 @@ static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
 
 	percpu_down_read(&hu->proto_lock);
 
-	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags)) {
+	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags) &&
+	    !test_bit(HCI_UART_PROTO_INIT, &hu->flags)) {
 		percpu_up_read(&hu->proto_lock);
 		return -EUNATCH;
 	}
@@ -585,7 +588,8 @@ static void hci_uart_tty_wakeup(struct tty_struct *tty)
 	if (tty != hu->tty)
 		return;
 
-	if (test_bit(HCI_UART_PROTO_READY, &hu->flags))
+	if (test_bit(HCI_UART_PROTO_READY, &hu->flags) ||
+	    test_bit(HCI_UART_PROTO_INIT, &hu->flags))
 		hci_uart_tx_wakeup(hu);
 }
 
@@ -611,7 +615,8 @@ static void hci_uart_tty_receive(struct tty_struct *tty, const u8 *data,
 
 	percpu_down_read(&hu->proto_lock);
 
-	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags)) {
+	if (!test_bit(HCI_UART_PROTO_READY, &hu->flags) &&
+	    !test_bit(HCI_UART_PROTO_INIT, &hu->flags)) {
 		percpu_up_read(&hu->proto_lock);
 		return;
 	}
@@ -707,12 +712,16 @@ static int hci_uart_set_proto(struct hci_uart *hu, int id)
 
 	hu->proto = p;
 
+	set_bit(HCI_UART_PROTO_INIT, &hu->flags);
+
 	err = hci_uart_register_dev(hu);
 	if (err) {
 		return err;
 	}
 
 	set_bit(HCI_UART_PROTO_READY, &hu->flags);
+	clear_bit(HCI_UART_PROTO_INIT, &hu->flags);
+
 	return 0;
 }
 
drivers/bluetooth/hci_qca.c +26 -1
index 0ac2168f1dc4..f2558506a02c 100644
@@ -623,6 +623,7 @@ static int qca_open(struct hci_uart *hu)
 		qcadev = serdev_device_get_drvdata(hu->serdev);
 
 		switch (qcadev->btsoc_type) {
+		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
 		case QCA_WCN3991:
@@ -1366,6 +1367,7 @@ static int qca_set_baudrate(struct hci_dev *hdev, uint8_t baudrate)
 
 	/* Give the controller time to process the request */
 	switch (qca_soc_type(hu)) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1452,6 +1454,7 @@ static unsigned int qca_get_speed(struct hci_uart *hu,
 static int qca_check_speeds(struct hci_uart *hu)
 {
 	switch (qca_soc_type(hu)) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1494,6 +1497,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		 * changing the baudrate of chip and host.
 		 */
 		switch (soc_type) {
+		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
 		case QCA_WCN3991:
@@ -1528,6 +1532,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 
 error:
 		switch (soc_type) {
+		case QCA_WCN3950:
 		case QCA_WCN3988:
 		case QCA_WCN3990:
 		case QCA_WCN3991:
@@ -1746,6 +1751,7 @@ static int qca_regulator_init(struct hci_uart *hu)
 	}
 
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1776,6 +1782,7 @@ static int qca_regulator_init(struct hci_uart *hu)
 	qca_set_speed(hu, QCA_INIT_SPEED);
 
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1807,6 +1814,7 @@ static int qca_power_on(struct hci_dev *hdev)
 		return 0;
 
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1891,6 +1899,7 @@ static int qca_setup(struct hci_uart *hu)
 		soc_name = "qca2066";
 		break;
 
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1925,6 +1934,7 @@ static int qca_setup(struct hci_uart *hu)
 	clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
 
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -1958,6 +1968,7 @@ static int qca_setup(struct hci_uart *hu)
 	}
 
 	switch (soc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -2046,6 +2057,17 @@ static const struct hci_uart_proto qca_proto = {
 	.dequeue	= qca_dequeue,
 };
 
+static const struct qca_device_data qca_soc_data_wcn3950 __maybe_unused = {
+	.soc_type = QCA_WCN3950,
+	.vregs = (struct qca_vreg []) {
+		{ "vddio", 15000  },
+		{ "vddxo", 60000  },
+		{ "vddrf", 155000 },
+		{ "vddch0", 585000 },
+	},
+	.num_vregs = 4,
+};
+
 static const struct qca_device_data qca_soc_data_wcn3988 __maybe_unused = {
 	.soc_type = QCA_WCN3988,
 	.vregs = (struct qca_vreg []) {
@@ -2338,6 +2360,7 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 		qcadev->btsoc_type = QCA_ROME;
 
 	switch (qcadev->btsoc_type) {
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
@@ -2359,6 +2382,7 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 	switch (qcadev->btsoc_type) {
 	case QCA_WCN6855:
 	case QCA_WCN7850:
+	case QCA_WCN6750:
 		if (!device_property_present(&serdev->dev, "enable-gpios")) {
 			/*
 			 * Backward compatibility with old DT sources. If the
@@ -2374,11 +2398,11 @@ static int qca_serdev_probe(struct serdev_device *serdev)
 			break;
 		}
 		fallthrough;
+	case QCA_WCN3950:
 	case QCA_WCN3988:
 	case QCA_WCN3990:
 	case QCA_WCN3991:
 	case QCA_WCN3998:
-	case QCA_WCN6750:
 		qcadev->bt_power->dev = &serdev->dev;
 		err = qca_init_regulators(qcadev->bt_power, data->vregs,
 					  data->num_vregs);
@@ -2683,6 +2707,7 @@ static const struct of_device_id qca_bluetooth_of_match[] = {
 	{ .compatible = "qcom,qca6174-bt" },
 	{ .compatible = "qcom,qca6390-bt", .data = &qca_soc_data_qca6390},
 	{ .compatible = "qcom,qca9377-bt" },
+	{ .compatible = "qcom,wcn3950-bt", .data = &qca_soc_data_wcn3950},
 	{ .compatible = "qcom,wcn3988-bt", .data = &qca_soc_data_wcn3988},
 	{ .compatible = "qcom,wcn3990-bt", .data = &qca_soc_data_wcn3990},
 	{ .compatible = "qcom,wcn3991-bt", .data = &qca_soc_data_wcn3991},
drivers/bluetooth/hci_uart.h +1 -0
index fbf3079b92a5..5ea5dd80e297 100644
@@ -90,6 +90,7 @@ struct hci_uart {
 #define HCI_UART_REGISTERED		1
 #define HCI_UART_PROTO_READY		2
 #define HCI_UART_NO_SUSPEND_NOTIFIER	3
+#define HCI_UART_PROTO_INIT		4
 
 /* TX states  */
 #define HCI_UART_SENDING	1
drivers/bus/mhi/host/main.c +10 -6
index 4de75674f193..aa8a0ef697c7 100644
@@ -1207,11 +1207,16 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 	struct mhi_ring_element *mhi_tre;
 	struct mhi_buf_info *buf_info;
 	int eot, eob, chain, bei;
-	int ret;
+	int ret = 0;
 
 	/* Protect accesses for reading and incrementing WP */
 	write_lock_bh(&mhi_chan->lock);
 
+	if (mhi_chan->ch_state != MHI_CH_STATE_ENABLED) {
+		ret = -ENODEV;
+		goto out;
+	}
+
 	buf_ring = &mhi_chan->buf_ring;
 	tre_ring = &mhi_chan->tre_ring;
 
@@ -1229,10 +1234,8 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 
 	if (!info->pre_mapped) {
 		ret = mhi_cntrl->map_single(mhi_cntrl, buf_info);
-		if (ret) {
-			write_unlock_bh(&mhi_chan->lock);
-			return ret;
-		}
+		if (ret)
+			goto out;
 	}
 
 	eob = !!(flags & MHI_EOB);
@@ -1250,9 +1253,10 @@ int mhi_gen_tre(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
 	mhi_add_ring_element(mhi_cntrl, tre_ring);
 	mhi_add_ring_element(mhi_cntrl, buf_ring);
 
+out:
 	write_unlock_bh(&mhi_chan->lock);
 
-	return 0;
+	return ret;
 }
 
 int mhi_queue_buf(struct mhi_device *mhi_dev, enum dma_data_direction dir,
drivers/char/tpm/tpm-chip.c +6 -0
index 7df7abaf3e52..e25daf2396d3 100644
@@ -168,6 +168,11 @@ int tpm_try_get_ops(struct tpm_chip *chip)
 		goto out_ops;
 
 	mutex_lock(&chip->tpm_mutex);
+
+	/* tmp_chip_start may issue IO that is denied while suspended */
+	if (chip->flags & TPM_CHIP_FLAG_SUSPENDED)
+		goto out_lock;
+
 	rc = tpm_chip_start(chip);
 	if (rc)
 		goto out_lock;
@@ -300,6 +305,7 @@ int tpm_class_shutdown(struct device *dev)
 	down_write(&chip->ops_sem);
 	if (chip->flags & TPM_CHIP_FLAG_TPM2) {
 		if (!tpm_chip_start(chip)) {
+			tpm2_end_auth_session(chip);
 			tpm2_shutdown(chip, TPM2_SU_CLEAR);
 			tpm_chip_stop(chip);
 		}
drivers/char/tpm/tpm-interface.c +0 -7
index b1daa0d7b341..f62f7871edbd 100644
@@ -445,18 +445,11 @@ int tpm_get_random(struct tpm_chip *chip, u8 *out, size_t max)
 	if (!chip)
 		return -ENODEV;
 
-	/* Give back zero bytes, as TPM chip has not yet fully resumed: */
-	if (chip->flags & TPM_CHIP_FLAG_SUSPENDED) {
-		rc = 0;
-		goto out;
-	}
-
 	if (chip->flags & TPM_CHIP_FLAG_TPM2)
 		rc = tpm2_get_random(chip, out, max);
 	else
 		rc = tpm1_get_random(chip, out, max);
 
-out:
 	tpm_put_ops(chip);
 	return rc;
 }
drivers/char/tpm/tpm_tis_core.c +15 -5
index fdef214b9f6b..ed0d3d8449b3 100644
@@ -114,11 +114,10 @@ static int wait_for_tpm_stat(struct tpm_chip *chip, u8 mask,
 		return 0;
 	/* process status changes without irq support */
 	do {
+		usleep_range(priv->timeout_min, priv->timeout_max);
 		status = chip->ops->status(chip);
 		if ((status & mask) == mask)
 			return 0;
-		usleep_range(priv->timeout_min,
-			     priv->timeout_max);
 	} while (time_before(jiffies, stop));
 	return -ETIME;
 }
@@ -464,7 +463,10 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
 
 		if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
 					&priv->int_queue, false) < 0) {
-			rc = -ETIME;
+			if (test_bit(TPM_TIS_STATUS_VALID_RETRY, &priv->flags))
+				rc = -EAGAIN;
+			else
+				rc = -ETIME;
 			goto out_err;
 		}
 		status = tpm_tis_status(chip);
@@ -481,7 +483,10 @@ static int tpm_tis_send_data(struct tpm_chip *chip, const u8 *buf, size_t len)
 
 	if (wait_for_tpm_stat(chip, TPM_STS_VALID, chip->timeout_c,
 				&priv->int_queue, false) < 0) {
-		rc = -ETIME;
+		if (test_bit(TPM_TIS_STATUS_VALID_RETRY, &priv->flags))
+			rc = -EAGAIN;
+		else
+			rc = -ETIME;
 		goto out_err;
 	}
 	status = tpm_tis_status(chip);
@@ -546,9 +551,11 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
 		if (rc >= 0)
 			/* Data transfer done successfully */
 			break;
-		else if (rc != -EIO)
+		else if (rc != -EAGAIN && rc != -EIO)
 			/* Data transfer failed, not recoverable */
 			return rc;
+
+		usleep_range(priv->timeout_min, priv->timeout_max);
 	}
 
 	/* go and do it */
@@ -1144,6 +1151,9 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
 		priv->timeout_max = TIS_TIMEOUT_MAX_ATML;
 	}
 
+	if (priv->manufacturer_id == TPM_VID_IFX)
+		set_bit(TPM_TIS_STATUS_VALID_RETRY, &priv->flags);
+
 	if (is_bsw()) {
 		priv->ilb_base_addr = ioremap(INTEL_LEGACY_BLK_BASE_ADDR,
 					ILB_REMAP_SIZE);
drivers/char/tpm/tpm_tis_core.h +1 -0
index 690ad8e9b731..970d02c337c7 100644
@@ -89,6 +89,7 @@ enum tpm_tis_flags {
 	TPM_TIS_INVALID_STATUS		= 1,
 	TPM_TIS_DEFAULT_CANCELLATION	= 2,
 	TPM_TIS_IRQ_TESTED		= 3,
+	TPM_TIS_STATUS_VALID_RETRY	= 4,
 };
 
 struct tpm_tis_data {
drivers/clk/qcom/clk-branch.c +2 -2
index 229480c5b075..0f10090d4ae6 100644
@@ -28,7 +28,7 @@ static bool clk_branch_in_hwcg_mode(const struct clk_branch *br)
 
 static bool clk_branch_check_halt(const struct clk_branch *br, bool enabling)
 {
-	bool invert = (br->halt_check == BRANCH_HALT_ENABLE);
+	bool invert = (br->halt_check & BRANCH_HALT_ENABLE);
 	u32 val;
 
 	regmap_read(br->clkr.regmap, br->halt_reg, &val);
@@ -44,7 +44,7 @@ static bool clk_branch2_check_halt(const struct clk_branch *br, bool enabling)
 {
 	u32 val;
 	u32 mask;
-	bool invert = (br->halt_check == BRANCH_HALT_ENABLE);
+	bool invert = (br->halt_check & BRANCH_HALT_ENABLE);
 
 	mask = CBCR_NOC_FSM_STATUS;
 	mask |= CBCR_CLK_OFF;
drivers/clk/qcom/gdsc.c +38 -23

108 lines not on this page · raw message

drivers/clk/renesas/r9a07g043-cpg.c +7 -0
index c3c2b0c43983..fce2eecfa8c0 100644
@@ -89,7 +89,9 @@ static const struct clk_div_table dtable_1_32[] = {
 
 /* Mux clock tables */
 static const char * const sel_pll3_3[] = { ".pll3_533", ".pll3_400" };
+#ifdef CONFIG_ARM64
 static const char * const sel_pll6_2[]	= { ".pll6_250", ".pll5_250" };
+#endif
 static const char * const sel_sdhi[] = { ".clk_533", ".clk_400", ".clk_266" };
 
 static const u32 mtable_sdhi[] = { 1, 2, 3 };
@@ -137,7 +139,12 @@ static const struct cpg_core_clk r9a07g043_core_clks[] __initconst = {
 	DEF_DIV("P2", R9A07G043_CLK_P2, CLK_PLL3_DIV2_4_2, DIVPL3A, dtable_1_32),
 	DEF_FIXED("M0", R9A07G043_CLK_M0, CLK_PLL3_DIV2_4, 1, 1),
 	DEF_FIXED("ZT", R9A07G043_CLK_ZT, CLK_PLL3_DIV2_4_2, 1, 1),
+#ifdef CONFIG_ARM64
 	DEF_MUX("HP", R9A07G043_CLK_HP, SEL_PLL6_2, sel_pll6_2),
+#endif
+#ifdef CONFIG_RISCV
+	DEF_FIXED("HP", R9A07G043_CLK_HP, CLK_PLL6_250, 1, 1),
+#endif
 	DEF_FIXED("SPI0", R9A07G043_CLK_SPI0, CLK_DIV_PLL3_C, 1, 2),
 	DEF_FIXED("SPI1", R9A07G043_CLK_SPI1, CLK_DIV_PLL3_C, 1, 4),
 	DEF_SD_MUX("SD0", R9A07G043_CLK_SD0, SEL_SDHI0, SEL_SDHI0_STS, sel_sdhi,
drivers/clocksource/timer-stm32-lp.c +1 -3
index a4c95161cb22..193e4f643358 100644
@@ -168,9 +168,7 @@ static int stm32_clkevent_lp_probe(struct platform_device *pdev)
 	}
 
 	if (of_property_read_bool(pdev->dev.parent->of_node, "wakeup-source")) {
-		ret = device_init_wakeup(&pdev->dev, true);
-		if (ret)
-			goto out_clk_disable;
+		device_set_wakeup_capable(&pdev->dev, true);
 
 		ret = dev_pm_set_wake_irq(&pdev->dev, irq);
 		if (ret)
drivers/cpufreq/amd-pstate.c +4 -1
index bd63837eabb4..1b26845703f6 100644
@@ -1619,7 +1619,7 @@ static int amd_pstate_epp_reenable(struct cpufreq_policy *policy)
 					  max_perf, policy->boost_enabled);
 	}
 
-	return amd_pstate_update_perf(cpudata, 0, 0, max_perf, cpudata->epp_cached, false);
+	return amd_pstate_epp_update_limit(policy);
 }
 
 static int amd_pstate_epp_cpu_online(struct cpufreq_policy *policy)
@@ -1668,6 +1668,9 @@ static int amd_pstate_epp_suspend(struct cpufreq_policy *policy)
 	if (cppc_state != AMD_PSTATE_ACTIVE)
 		return 0;
 
+	/* invalidate to ensure it's rewritten during resume */
+	cpudata->cppc_req_cached = 0;
+
 	/* set this flag to avoid setting core offline*/
 	cpudata->suspended = true;
 
drivers/cpuidle/Makefile +3 -0
index d103342b7cfc..1de9e92c5b0f 100644
@@ -3,6 +3,9 @@
 # Makefile for cpuidle.
 #
 
+# Branch profiling isn't noinstr-safe
+ccflags-$(CONFIG_TRACE_BRANCH_PROFILING) += -DDISABLE_BRANCH_PROFILING
+
 obj-y += cpuidle.o driver.o governor.o sysfs.o governors/
 obj-$(CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED) += coupled.o
 obj-$(CONFIG_DT_IDLE_STATES)		  += dt_idle_states.o
drivers/crypto/ccp/sp-pci.c +9 -6
index 248d98fd8c48..157f9a9ed636 100644
@@ -189,14 +189,17 @@ static bool sp_pci_is_master(struct sp_device *sp)
 	pdev_new = to_pci_dev(dev_new);
 	pdev_cur = to_pci_dev(dev_cur);
 
-	if (pdev_new->bus->number < pdev_cur->bus->number)
-		return true;
+	if (pci_domain_nr(pdev_new->bus) != pci_domain_nr(pdev_cur->bus))
+		return pci_domain_nr(pdev_new->bus) < pci_domain_nr(pdev_cur->bus);
 
-	if (PCI_SLOT(pdev_new->devfn) < PCI_SLOT(pdev_cur->devfn))
-		return true;
+	if (pdev_new->bus->number != pdev_cur->bus->number)
+		return pdev_new->bus->number < pdev_cur->bus->number;
 
-	if (PCI_FUNC(pdev_new->devfn) < PCI_FUNC(pdev_cur->devfn))
-		return true;
+	if (PCI_SLOT(pdev_new->devfn) != PCI_SLOT(pdev_cur->devfn))
+		return PCI_SLOT(pdev_new->devfn) < PCI_SLOT(pdev_cur->devfn);
+
+	if (PCI_FUNC(pdev_new->devfn) != PCI_FUNC(pdev_cur->devfn))
+		return PCI_FUNC(pdev_new->devfn) < PCI_FUNC(pdev_cur->devfn);
 
 	return false;
 }
drivers/firmware/cirrus/test/cs_dsp_test_control_parse.c +19 -32

99 lines not on this page · raw message

drivers/gpio/gpio-mpc8xxx.c +3 -1
index 0cd4c36ae8aa..541517536489 100644
@@ -410,7 +410,9 @@ static int mpc8xxx_probe(struct platform_device *pdev)
 		goto err;
 	}
 
-	device_init_wakeup(dev, true);
+	ret = devm_device_init_wakeup(dev);
+	if (ret)
+		return dev_err_probe(dev, ret, "Failed to init wakeup\n");
 
 	return 0;
 err:
drivers/gpio/gpio-tegra186.c +14 -13
index 6895b65c86af..d27bfac6c9f5 100644
@@ -823,6 +823,7 @@ static int tegra186_gpio_probe(struct platform_device *pdev)
 	struct gpio_irq_chip *irq;
 	struct tegra_gpio *gpio;
 	struct device_node *np;
+	struct resource *res;
 	char **names;
 	int err;
 
@@ -842,19 +843,19 @@ static int tegra186_gpio_probe(struct platform_device *pdev)
 	gpio->num_banks++;
 
 	/* get register apertures */
-	gpio->secure = devm_platform_ioremap_resource_byname(pdev, "security");
-	if (IS_ERR(gpio->secure)) {
-		gpio->secure = devm_platform_ioremap_resource(pdev, 0);
-		if (IS_ERR(gpio->secure))
-			return PTR_ERR(gpio->secure);
-	}
-
-	gpio->base = devm_platform_ioremap_resource_byname(pdev, "gpio");
-	if (IS_ERR(gpio->base)) {
-		gpio->base = devm_platform_ioremap_resource(pdev, 1);
-		if (IS_ERR(gpio->base))
-			return PTR_ERR(gpio->base);
-	}
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "security");
+	if (!res)
+		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	gpio->secure = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(gpio->secure))
+		return PTR_ERR(gpio->secure);
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "gpio");
+	if (!res)
+		res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+	gpio->base = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(gpio->base))
+		return PTR_ERR(gpio->base);
 
 	err = platform_irq_count(pdev);
 	if (err < 0)
drivers/gpio/gpio-zynq.c +1 -0
index be81fa2b17ab..3dae63f3ea21 100644
@@ -1011,6 +1011,7 @@ static void zynq_gpio_remove(struct platform_device *pdev)
 	ret = pm_runtime_get_sync(&pdev->dev);
 	if (ret < 0)
 		dev_warn(&pdev->dev, "pm_runtime_get_sync() Failed\n");
+	device_init_wakeup(&pdev->dev, 0);
 	gpiochip_remove(&gpio->chip);
 	device_set_wakeup_capable(&pdev->dev, 0);
 	pm_runtime_disable(&pdev->dev);
drivers/gpio/gpiolib-of.c +2 -0
index 2e537ee979f3..176e9142fd8f 100644
@@ -193,6 +193,8 @@ static void of_gpio_try_fixup_polarity(const struct device_node *np,
 		 */
 		{ "himax,hx8357",	"gpios-reset",	false },
 		{ "himax,hx8369",	"gpios-reset",	false },
+#endif
+#if IS_ENABLED(CONFIG_MTD_NAND_JZ4780)
 		/*
 		 * The rb-gpios semantics was undocumented and qi,lb60 (along with
 		 * the ingenic driver) got it wrong. The active state encodes the
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +9 -1
index f5909977eed4..9a8f6cb2b836 100644
@@ -6851,18 +6851,26 @@ struct dma_fence *amdgpu_device_switch_gang(struct amdgpu_device *adev,
 {
 	struct dma_fence *old = NULL;
 
+	dma_fence_get(gang);
 	do {
 		dma_fence_put(old);
 		old = amdgpu_device_get_gang(adev);
 		if (old == gang)
 			break;
 
-		if (!dma_fence_is_signaled(old))
+		if (!dma_fence_is_signaled(old)) {
+			dma_fence_put(gang);
 			return old;
+		}
 
 	} while (cmpxchg((struct dma_fence __force **)&adev->gang_submit,
 			 old, gang) != old);
 
+	/*
+	 * Drop it once for the exchanged reference in adev and once for the
+	 * thread local reference acquired in amdgpu_device_get_gang().
+	 */
+	dma_fence_put(old);
 	dma_fence_put(old);
 	return NULL;
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +0 -4
index 5c07777d3239..22aa4a8f1189 100644
@@ -2534,8 +2534,6 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 	spin_lock_init(&vm->status_lock);
 	INIT_LIST_HEAD(&vm->freed);
 	INIT_LIST_HEAD(&vm->done);
-	INIT_LIST_HEAD(&vm->pt_freed);
-	INIT_WORK(&vm->pt_free_work, amdgpu_vm_pt_free_work);
 	INIT_KFIFO(vm->faults);
 
 	r = amdgpu_vm_init_entities(adev, vm);
@@ -2717,8 +2715,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
 
 	amdgpu_amdkfd_gpuvm_destroy_cb(adev, vm);
 
-	flush_work(&vm->pt_free_work);
-
 	root = amdgpu_bo_ref(vm->root.bo);
 	amdgpu_bo_reserve(root, true);
 	amdgpu_vm_set_pasid(adev, vm, 0);
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +0 -4
index a3e128e373bc..5010a3107bf8 100644
@@ -374,10 +374,6 @@ struct amdgpu_vm {
 	/* BOs which are invalidated, has been updated in the PTs */
 	struct list_head        done;
 
-	/* PT BOs scheduled to free and fill with zero if vm_resv is not hold */
-	struct list_head	pt_freed;
-	struct work_struct	pt_free_work;
-
 	/* contains the page directory */
 	struct amdgpu_vm_bo_base     root;
 	struct dma_fence	*last_update;
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c +13 -30

66 lines not on this page · raw message

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +10 -0
index 065d87841459..33df35cab467 100644
@@ -212,6 +212,11 @@ static int set_queue_properties_from_user(struct queue_properties *q_properties,
 		return -EINVAL;
 	}
 
+	if (args->ring_size < KFD_MIN_QUEUE_RING_SIZE) {
+		args->ring_size = KFD_MIN_QUEUE_RING_SIZE;
+		pr_debug("Size lower. clamped to KFD_MIN_QUEUE_RING_SIZE");
+	}
+
 	if (!access_ok((const void __user *) args->read_pointer_address,
 			sizeof(uint32_t))) {
 		pr_err("Can't access read pointer\n");
@@ -461,6 +466,11 @@ static int kfd_ioctl_update_queue(struct file *filp, struct kfd_process *p,
 		return -EINVAL;
 	}
 
+	if (args->ring_size < KFD_MIN_QUEUE_RING_SIZE) {
+		args->ring_size = KFD_MIN_QUEUE_RING_SIZE;
+		pr_debug("Size lower. clamped to KFD_MIN_QUEUE_RING_SIZE");
+	}
+
 	properties.queue_address = args->ring_base_address;
 	properties.queue_size = args->ring_size;
 	properties.queue_percent = args->queue_percentage & 0xFF;
drivers/gpu/drm/amd/amdkfd/kfd_device.c +5 -0
index a29374c86405..6cefd338f23d 100644
@@ -1593,6 +1593,11 @@ int kfd_debugfs_hang_hws(struct kfd_node *dev)
 		return -EINVAL;
 	}
 
+	if (dev->kfd->shared_resources.enable_mes) {
+		dev_err(dev->adev->dev, "Inducing MES hang is not supported\n");
+		return -EINVAL;
+	}
+
 	return dqm_debugfs_hang_hws(dev->dqm);
 }
 
drivers/gpu/drm/amd/amdkfd/kfd_process.c +17 -0
index 083f83c94531..c3f2c0428e01 100644
@@ -35,6 +35,7 @@
 #include <linux/pm_runtime.h>
 #include "amdgpu_amdkfd.h"
 #include "amdgpu.h"
+#include "amdgpu_reset.h"
 
 struct mm_struct;
 
@@ -1140,6 +1141,17 @@ static void kfd_process_remove_sysfs(struct kfd_process *p)
 	p->kobj = NULL;
 }
 
+/*
+ * If any GPU is ongoing reset, wait for reset complete.
+ */
+static void kfd_process_wait_gpu_reset_complete(struct kfd_process *p)
+{
+	int i;
+
+	for (i = 0; i < p->n_pdds; i++)
+		flush_workqueue(p->pdds[i]->dev->adev->reset_domain->wq);
+}
+
 /* No process locking is needed in this function, because the process
  * is not findable any more. We must assume that no other thread is
  * using it any more, otherwise we couldn't safely free the process
@@ -1154,6 +1166,11 @@ static void kfd_process_wq_release(struct work_struct *work)
 	kfd_process_dequeue_from_all_devices(p);
 	pqm_uninit(&p->pqm);
 
+	/*
+	 * If GPU in reset, user queues may still running, wait for reset complete.
+	 */
+	kfd_process_wait_gpu_reset_complete(p);
+
 	/* Signal the eviction fence after user mode queues are
 	 * destroyed. This allows any BOs to be freed without
 	 * triggering pointless evictions or waiting for fences.
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +1 -1
index 6c02bc36d634..d79caa1a6867 100644
@@ -548,7 +548,7 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
 			pr_err("Pasid 0x%x destroy queue %d failed, ret %d\n",
 				pqm->process->pasid,
 				pqn->q->properties.queue_id, retval);
-			if (retval != -ETIME)
+			if (retval != -ETIME && retval != -EIO)
 				goto err_destroy_queue;
 		}
 		kfd_procfs_del_queue(pqn->q);
drivers/gpu/drm/amd/amdkfd/kfd_svm.c +17 -14
index 9477a4adcd36..d1cf9dd35290 100644
@@ -3002,19 +3002,6 @@ svm_range_restore_pages(struct amdgpu_device *adev, unsigned int pasid,
 		goto out;
 	}
 
-	/* check if this page fault time stamp is before svms->checkpoint_ts */
-	if (svms->checkpoint_ts[gpuidx] != 0) {
-		if (amdgpu_ih_ts_after(ts,  svms->checkpoint_ts[gpuidx])) {
-			pr_debug("draining retry fault, drop fault 0x%llx\n", addr);
-			r = 0;
-			goto out;
-		} else
-			/* ts is after svms->checkpoint_ts now, reset svms->checkpoint_ts
-			 * to zero to avoid following ts wrap around give wrong comparing
-			 */
-			svms->checkpoint_ts[gpuidx] = 0;
-	}
-
 	if (!p->xnack_enabled) {
 		pr_debug("XNACK not enabled for pasid 0x%x\n", pasid);
 		r = -EFAULT;
@@ -3034,6 +3021,21 @@ svm_range_restore_pages(struct amdgpu_device *adev, unsigned int pasid,
 	mmap_read_lock(mm);
 retry_write_locked:
 	mutex_lock(&svms->lock);
+
+	/* check if this page fault time stamp is before svms->checkpoint_ts */
+	if (svms->checkpoint_ts[gpuidx] != 0) {
+		if (amdgpu_ih_ts_after(ts,  svms->checkpoint_ts[gpuidx])) {
+			pr_debug("draining retry fault, drop fault 0x%llx\n", addr);
+			r = -EAGAIN;
+			goto out_unlock_svms;
+		} else {
+			/* ts is after svms->checkpoint_ts now, reset svms->checkpoint_ts
+			 * to zero to avoid following ts wrap around give wrong comparing
+			 */
+			svms->checkpoint_ts[gpuidx] = 0;
+		}
+	}
+
 	prange = svm_range_from_addr(svms, addr, NULL);
 	if (!prange) {
 		pr_debug("failed to find prange svms 0x%p address [0x%llx]\n",
@@ -3159,7 +3161,8 @@ svm_range_restore_pages(struct amdgpu_device *adev, unsigned int pasid,
 	mutex_unlock(&svms->lock);
 	mmap_read_unlock(mm);
 
-	svm_range_count_fault(node, p, gpuidx);
+	if (r != -EAGAIN)
+		svm_range_count_fault(node, p, gpuidx);
 
 	mmput(mm);
 out:
drivers/gpu/drm/amd/display/dc/core/dc.c +5 -3
index f84e795e35f5..4683c7ef4507 100644
@@ -5549,9 +5549,11 @@ void dc_allow_idle_optimizations_internal(struct dc *dc, bool allow, char const
 	if (dc->clk_mgr != NULL && dc->clk_mgr->funcs->get_hard_min_memclk)
 		idle_dramclk_khz = dc->clk_mgr->funcs->get_hard_min_memclk(dc->clk_mgr);
 
-	for (i = 0; i < dc->res_pool->pipe_count; i++) {
-		pipe = &context->res_ctx.pipe_ctx[i];
-		subvp_pipe_type[i] = dc_state_get_pipe_subvp_type(context, pipe);
+	if (dc->res_pool && context) {
+		for (i = 0; i < dc->res_pool->pipe_count; i++) {
+			pipe = &context->res_ctx.pipe_ctx[i];
+			subvp_pipe_type[i] = dc_state_get_pipe_subvp_type(context, pipe);
+		}
 	}
 
 	DC_LOG_DC("%s: allow_idle=%d\n HardMinUClk_Khz=%d HardMinDramclk_Khz=%d\n Pipe_0=%d Pipe_1=%d Pipe_2=%d Pipe_3=%d Pipe_4=%d Pipe_5=%d (caller=%s)\n",
drivers/gpu/drm/amd/display/dc/dc.h +2 -0
index 053481ab69ef..ab77dcbc1058 100644
@@ -1788,7 +1788,9 @@ struct dc_link {
 		bool dongle_mode_timing_override;
 		bool blank_stream_on_ocs_change;
 		bool read_dpcd204h_on_irq_hpd;
+		bool force_dp_ffe_preset;
 	} wa_flags;
+	union dc_dp_ffe_preset forced_dp_ffe_preset;
 	struct link_mst_stream_allocation_table mst_stream_alloc_table;
 
 	struct dc_link_status link_status;
drivers/gpu/drm/amd/display/dc/dc_dp_types.h +8 -0
index 94ce8fe74481..cc005da75ce4 100644
@@ -1119,6 +1119,8 @@ struct dc_lttpr_caps {
 	union dp_main_link_channel_coding_lttpr_cap main_link_channel_coding;
 	union dp_128b_132b_supported_lttpr_link_rates supported_128b_132b_rates;
 	uint8_t aux_rd_interval[MAX_REPEATER_CNT - 1];
+	uint8_t lttpr_ieee_oui[3];
+	uint8_t lttpr_device_id[6];
 };
 
 struct dc_dongle_dfp_cap_ext {
@@ -1379,6 +1381,12 @@ struct dp_trace {
 #ifndef DP_BRANCH_VENDOR_SPECIFIC_START
 #define DP_BRANCH_VENDOR_SPECIFIC_START     0x50C
 #endif
+#ifndef DP_LTTPR_IEEE_OUI
+#define DP_LTTPR_IEEE_OUI 0xF003D
+#endif
+#ifndef DP_LTTPR_DEVICE_ID
+#define DP_LTTPR_DEVICE_ID 0xF0040
+#endif
 /** USB4 DPCD BW Allocation Registers Chapter 10.7 **/
 #ifndef DP_TUNNELING_CAPABILITIES
 #define DP_TUNNELING_CAPABILITIES			0xE000D /* 1.4a */
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c +2 -0
index 8ed49a9df378..c1ff869512f2 100644
@@ -15,6 +15,7 @@
 //#define DML_MODE_SUPPORT_USE_DPM_DRAM_BW
 //#define DML_GLOBAL_PREFETCH_CHECK
 #define ALLOW_SDPIF_RATE_LIMIT_PRE_CSTATE
+#define DML_MAX_VSTARTUP_START 1023
 
 const char *dml2_core_internal_bw_type_str(enum dml2_core_internal_bw_type bw_type)
 {
@@ -3726,6 +3727,7 @@ static unsigned int CalculateMaxVStartup(
 	dml2_printf("DML::%s: vblank_avail = %u\n", __func__, vblank_avail);
 	dml2_printf("DML::%s: max_vstartup_lines = %u\n", __func__, max_vstartup_lines);
 #endif
+	max_vstartup_lines = (unsigned int)math_min2(max_vstartup_lines, DML_MAX_VSTARTUP_START);
 	return max_vstartup_lines;
 }
 
drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_resource_mgmt.c +0 -26
index 1ed21c1b86a5..a966abd40788 100644
@@ -532,26 +532,6 @@ static void calculate_odm_slices(const struct dc_stream_state *stream, unsigned
 	odm_slice_end_x[odm_factor - 1] = stream->src.width - 1;
 }
 
-static bool is_plane_in_odm_slice(const struct dc_plane_state *plane, unsigned int slice_index, unsigned int *odm_slice_end_x, unsigned int num_slices)
-{
-	unsigned int slice_start_x, slice_end_x;
-
-	if (slice_index == 0)
-		slice_start_x = 0;
-	else
-		slice_start_x = odm_slice_end_x[slice_index - 1] + 1;
-
-	slice_end_x = odm_slice_end_x[slice_index];
-
-	if (plane->clip_rect.x + plane->clip_rect.width < slice_start_x)
-		return false;
-
-	if (plane->clip_rect.x > slice_end_x)
-		return false;
-
-	return true;
-}
-
 static void add_odm_slice_to_odm_tree(struct dml2_context *ctx,
 		struct dc_state *state,
 		struct dc_pipe_mapping_scratch *scratch,
@@ -791,12 +771,6 @@ static void map_pipes_for_plane(struct dml2_context *ctx, struct dc_state *state
 	sort_pipes_for_splitting(&scratch->pipe_pool);
 
 	for (odm_slice_index = 0; odm_slice_index < scratch->odm_info.odm_factor; odm_slice_index++) {
-		// We build the tree for one ODM slice at a time.
-		// Each ODM slice shares a common OPP
-		if (!is_plane_in_odm_slice(plane, odm_slice_index, scratch->odm_info.odm_slice_end_x, scratch->odm_info.odm_factor)) {
-			continue;
-		}
-
 		// Now we have a list of all pipes to be used for this plane/stream, now setup the tree.
 		scratch->odm_info.next_higher_pipe_for_odm_slice[odm_slice_index] = add_plane_to_blend_tree(ctx, state,
 				plane,
drivers/gpu/drm/amd/display/dc/hubp/dcn31/dcn31_hubp.c +1 -1
index c2900c79a2d3..7fd582a8a4ba 100644
@@ -44,7 +44,7 @@ void hubp31_set_unbounded_requesting(struct hubp *hubp, bool enable)
 	struct dcn20_hubp *hubp2 = TO_DCN20_HUBP(hubp);
 
 	REG_UPDATE(DCHUBP_CNTL, HUBP_UNBOUNDED_REQ_MODE, enable);
-	REG_UPDATE(CURSOR_CONTROL, CURSOR_REQ_MODE, enable);
+	REG_UPDATE(CURSOR_CONTROL, CURSOR_REQ_MODE, 1);
 }
 
 void hubp31_soft_reset(struct hubp *hubp, bool reset)
drivers/gpu/drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c +9 -13
index 44e405e9bc97..13f9e9b439f6 100644
@@ -1992,20 +1992,11 @@ static void delay_cursor_until_vupdate(struct dc *dc, struct pipe_ctx *pipe_ctx)
 	dc->hwss.get_position(&pipe_ctx, 1, &position);
 	vpos = position.vertical_count;
 
-	/* Avoid wraparound calculation issues */
-	vupdate_start += stream->timing.v_total;
-	vupdate_end += stream->timing.v_total;
-	vpos += stream->timing.v_total;
-
 	if (vpos <= vupdate_start) {
 		/* VPOS is in VACTIVE or back porch. */
 		lines_to_vupdate = vupdate_start - vpos;
-	} else if (vpos > vupdate_end) {
-		/* VPOS is in the front porch. */
-		return;
 	} else {
-		/* VPOS is in VUPDATE. */
-		lines_to_vupdate = 0;
+		lines_to_vupdate = stream->timing.v_total - vpos + vupdate_start;
 	}
 
 	/* Calculate time until VUPDATE in microseconds. */
@@ -2013,13 +2004,18 @@ static void delay_cursor_until_vupdate(struct dc *dc, struct pipe_ctx *pipe_ctx)
 		stream->timing.h_total * 10000u / stream->timing.pix_clk_100hz;
 	us_to_vupdate = lines_to_vupdate * us_per_line;
 
+	/* Stall out until the cursor update completes. */
+	if (vupdate_end < vupdate_start)
+		vupdate_end += stream->timing.v_total;
+
+	/* Position is in the range of vupdate start and end*/
+	if (lines_to_vupdate > stream->timing.v_total - vupdate_end + vupdate_start)
+		us_to_vupdate = 0;
+
 	/* 70 us is a conservative estimate of cursor update time*/
 	if (us_to_vupdate > 70)
 		return;
 
-	/* Stall out until the cursor update completes. */
-	if (vupdate_end < vupdate_start)
-		vupdate_end += stream->timing.v_total;
 	us_vupdate = (vupdate_end - vupdate_start + 1) * us_per_line;
 	udelay(us_to_vupdate + us_vupdate);
 }
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_capability.c +10 -2
index 44c3023a7731..44f33e3bc1c5 100644
@@ -1568,10 +1568,18 @@ enum dc_status dp_retrieve_lttpr_cap(struct dc_link *link)
 	/* Attempt to train in LTTPR transparent mode if repeater count exceeds 8. */
 	is_lttpr_present = dp_is_lttpr_present(link);
 
-	if (is_lttpr_present)
+	DC_LOG_DC("is_lttpr_present = %d\n", is_lttpr_present);
+
+	if (is_lttpr_present) {
 		CONN_DATA_DETECT(link, lttpr_dpcd_data, sizeof(lttpr_dpcd_data), "LTTPR Caps: ");
 
-	DC_LOG_DC("is_lttpr_present = %d\n", is_lttpr_present);
+		core_link_read_dpcd(link, DP_LTTPR_IEEE_OUI, link->dpcd_caps.lttpr_caps.lttpr_ieee_oui, sizeof(link->dpcd_caps.lttpr_caps.lttpr_ieee_oui));
+		CONN_DATA_DETECT(link, link->dpcd_caps.lttpr_caps.lttpr_ieee_oui, sizeof(link->dpcd_caps.lttpr_caps.lttpr_ieee_oui), "LTTPR IEEE OUI: ");
+
+		core_link_read_dpcd(link, DP_LTTPR_DEVICE_ID, link->dpcd_caps.lttpr_caps.lttpr_device_id, sizeof(link->dpcd_caps.lttpr_caps.lttpr_device_id));
+		CONN_DATA_DETECT(link, link->dpcd_caps.lttpr_caps.lttpr_device_id, sizeof(link->dpcd_caps.lttpr_caps.lttpr_device_id), "LTTPR Device ID: ");
+	}
+
 	return status;
 }
 
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c +2 -0
index 88d4288cde0f..751c18e592ea 100644
@@ -736,6 +736,8 @@ void override_training_settings(
 		lt_settings->pre_emphasis = overrides->pre_emphasis;
 	if (overrides->post_cursor2 != NULL)
 		lt_settings->post_cursor2 = overrides->post_cursor2;
+	if (link->wa_flags.force_dp_ffe_preset && !dp_is_lttpr_present(link))
+		lt_settings->ffe_preset = &link->forced_dp_ffe_preset;
 	if (overrides->ffe_preset != NULL)
 		lt_settings->ffe_preset = overrides->ffe_preset;
 	/* Override HW lane settings with BIOS forced values if present */
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training_fixed_vs_pe_retimer.c +2 -1
index ccf8096dde29..ce174ce5579c 100644
@@ -270,7 +270,8 @@ enum link_training_result dp_perform_fixed_vs_pe_training_sequence(
 
 	rate = get_dpcd_link_rate(&lt_settings->link_settings);
 
-	if (!link->dpcd_caps.lttpr_caps.main_link_channel_coding.bits.DP_128b_132b_SUPPORTED) {
+	// Only perform toggle if FIXED_VS LTTPR reports no IEEE OUI
+	if (memcmp("\x0,\x0,\x0", &link->dpcd_caps.lttpr_caps.lttpr_ieee_oui[0], 3) == 0) {
 		/* Vendor specific: Toggle link rate */
 		toggle_rate = (rate == 0x6) ? 0xA : 0x6;
 
drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c +5 -0
index 686345f75f26..6cd327fecebb 100644
@@ -51,6 +51,11 @@ static int amd_powerplay_create(struct amdgpu_device *adev)
 	hwmgr->adev = adev;
 	hwmgr->not_vf = !amdgpu_sriov_vf(adev);
 	hwmgr->device = amdgpu_cgs_create_device(adev);
+	if (!hwmgr->device) {
+		kfree(hwmgr);
+		return -ENOMEM;
+	}
+
 	mutex_init(&hwmgr->msg_lock);
 	hwmgr->chip_family = adev->family;
 	hwmgr->chip_id = adev->asic_type;
drivers/gpu/drm/drm_atomic_helper.c +1 -1
index 5186d2114a50..32902f77f00d 100644
@@ -1376,7 +1376,7 @@ crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
 		mode = &new_crtc_state->mode;
 		adjusted_mode = &new_crtc_state->adjusted_mode;
 
-		if (!new_crtc_state->mode_changed)
+		if (!new_crtc_state->mode_changed && !new_crtc_state->connectors_changed)
 			continue;
 
 		drm_dbg_atomic(dev, "modeset on [ENCODER:%d:%s]\n",
drivers/gpu/drm/drm_debugfs.c +1 -1
index 536409a35df4..6b2178864c7e 100644
@@ -748,7 +748,7 @@ static int bridges_show(struct seq_file *m, void *data)
 	unsigned int idx = 0;
 
 	drm_for_each_bridge_in_chain(encoder, bridge) {
-		drm_printf(&p, "bridge[%d]: %ps\n", idx++, bridge->funcs);
+		drm_printf(&p, "bridge[%u]: %ps\n", idx++, bridge->funcs);
 		drm_printf(&p, "\ttype: [%d] %s\n",
 			   bridge->type,
 			   drm_get_connector_type_name(bridge->type));
drivers/gpu/drm/drm_panel.c +4 -1
index 9940e96d35e3..c627e42a7ce7 100644
@@ -50,7 +50,7 @@ static LIST_HEAD(panel_list);
  * @dev: parent device of the panel
  * @funcs: panel operations
  * @connector_type: the connector type (DRM_MODE_CONNECTOR_*) corresponding to
- *	the panel interface
+ *	the panel interface (must NOT be DRM_MODE_CONNECTOR_Unknown)
  *
  * Initialize the panel structure for subsequent registration with
  * drm_panel_add().
@@ -58,6 +58,9 @@ static LIST_HEAD(panel_list);
 void drm_panel_init(struct drm_panel *panel, struct device *dev,
 		    const struct drm_panel_funcs *funcs, int connector_type)
 {
+	if (connector_type == DRM_MODE_CONNECTOR_Unknown)
+		DRM_WARN("%s: %s: a valid connector type is required!\n", __func__, dev_name(dev));
+
 	INIT_LIST_HEAD(&panel->list);
 	INIT_LIST_HEAD(&panel->followers);
 	mutex_init(&panel->follower_lock);
drivers/gpu/drm/drm_panel_orientation_quirks.c +44 -2

59 lines not on this page · raw message

drivers/gpu/drm/i915/gt/intel_rc6.c +4 -15
index 9378d5901c49..9ca42589da4d 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/gt/uc/intel_huc.c +5 -6
index b3cbf85c00cb..eb59c1f2dccd 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/gt/uc/intel_huc.h +1 -0
index d5e441b9e08d..921ad4b1687f 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/gt/uc/intel_uc.c +1 -0
index 5b8080ec5315..4f751ce74214 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/selftests/i915_selftest.c +18 -0
index fee76c1d2f45..889281819c5b 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/mediatek/mtk_dpi.c +16 -7
index 1864eb02dbf5..a12ef24c7742 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +8 -8
index e7a6669c46b0..f737e7d46e66 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c +8 -21
index e498767a0a66..6bbc84c5d716 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/tests/drm_client_modeset_test.c +3 -0
index 7516f6cb36e4..3e9518d7b8b7 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/tests/drm_cmdline_parser_test.c +9 -1
index 59c8408c453c..1cfcb597b088 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/tests/drm_kunit_helpers.c +22 -0
index 3c0b7824c0be..922c4b6ed1dc 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/tests/drm_modes_test.c +22 -0
index 6ed51f99e133..7ba646d87856 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/tests/drm_probe_helper_test.c +7 -1
index bc09ff38aca1..db0e4f5df275 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/virtio/virtgpu_prime.c +1 -1
index f92133a01195..58c9e22e9745 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/virtio/virtgpu_vq.c +3 -0
index ad91624df42d..062639250a4e 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_gt.c +4 -0
index 9f4f27d1ef4a..8a20e6744836 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c +2 -2
index 878e96281c03..4bd255adfb40 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_gt_sriov_vf.c +16 -0
index cca5d5732802..9c30cbd9af6e 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_gt_sriov_vf.h +1 -0
index 912d20814261..ba6c5d74e326 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_guc_pc.c +1 -0
index b995d1d51aed..f382f5d53ca8 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c +52 -56

108 lines not on this page · raw message

drivers/gpu/drm/xe/xe_tuning.c +0 -8
index d449de0fb6ec..3c78f3d71559 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/xe/xe_wa.c +7 -0
index 570fe0376402..2553accf8c51 100644

Lines of this file are not shown. View the raw message.

drivers/hid/Kconfig +14 -0
index dfc245867a46..4cfea399ebab 100644

Lines of this file are not shown. View the raw message.

drivers/hid/Makefile +1 -0
index 0abfe51704a0..c7ecfbb3e228 100644

Lines of this file are not shown. View the raw message.

drivers/hid/hid-ids.h +37 -0
index 7e400624908e..288a2b864cc4 100644

Lines of this file are not shown. View the raw message.

drivers/hid/hid-lenovo.c +1 -1
index a7d9ca02779e..04508c36bdc8 100644

Lines of this file are not shown. View the raw message.

drivers/hid/hid-universal-pidff.c new file +202 -0

202 lines not on this page · raw message

drivers/hid/usbhid/hid-core.c +1 -0
index a6eb6fe6130d..44c2351b870f 100644

Lines of this file are not shown. View the raw message.

drivers/hid/usbhid/hid-pidff.c +372 -197

569 lines not on this page · raw message

drivers/hid/usbhid/hid-pidff.h new file +33 -0
new file mode 100644
index 000000000000..dda571e0a5bd

Lines of this file are not shown. View the raw message.

drivers/hsi/clients/ssi_protocol.c +1 -0
index afe470f3661c..6105ea9a6c6a 100644

Lines of this file are not shown. View the raw message.

drivers/i3c/master.c +3 -0
index d5dc4180afbc..c65006aa0684 100644

Lines of this file are not shown. View the raw message.

drivers/i3c/master/svc-i3c-master.c +1 -1
index ecc07c17f4c7..ed7b9d7f688c 100644

Lines of this file are not shown. View the raw message.

drivers/idle/Makefile +4 -1
index 0a3c37510079..a34af1ba09bd 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +5 -27
index d525ab43a4ae..dd7d030d2e89 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/exynos-iommu.c +2 -2
index 69e23e017d9e..317266aca6e2 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/intel/iommu.c +2 -0
index 25d31f8c129a..76417bd5e926 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/intel/irq_remapping.c +42 -29

71 lines not on this page · raw message

drivers/iommu/iommufd/device.c +122 -1

123 lines not on this page · raw message

drivers/iommu/iommufd/fault.c +4 -4
index d9a937450e55..cb844e6799d4 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/iommufd/iommufd_private.h +4 -29
index 0b1bafc7fd99..02fe1ada97cc 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/mtk_iommu.c +13 -13
index 034b0e670384..df98d0c65f54 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-gic-v3-its.c +22 -1
index 8c3ec5734f1e..f30ed281882f 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-renesas-rzv2h.c +1 -1
index fe2d29e91026..f6363246a71a 100644

Lines of this file are not shown. View the raw message.

drivers/leds/rgb/leds-qcom-lpg.c +4 -4
index f3c9ef2bfa57..5d8e27e2e7ae 100644

Lines of this file are not shown. View the raw message.

drivers/mailbox/tegra-hsp.c +60 -12

72 lines not on this page · raw message

drivers/md/dm-ebs-target.c +7 -0
index 18ae45dcbfb2..b19b0142a690 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-integrity.c +25 -23

48 lines not on this page · raw message

drivers/md/dm-verity-target.c +8 -0
index e86c1431b108..24b167f71c5f 100644

Lines of this file are not shown. View the raw message.

drivers/media/common/siano/smsdvb-main.c +2 -0
index 44d8fe8b220e..9b1a650ed055 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/adv748x/adv748x.h +1 -1
index 9bc0121d0eff..2c1db5968af8 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/ccs/ccs-core.c +4 -2
index 2cdab2f3d9dc..004d28c33287 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/hi556.c +3 -2
index 3ac42d1ab8b4..c28eca2f86f6 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/imx214.c +15 -10
index 4962cfe7c83d..6a393e18267f 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/imx219.c +77 -29

106 lines not on this page · raw message

drivers/media/i2c/imx319.c +6 -3
index dd1b4ff983dc..701840f4a5cc 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/ov08x40.c +6 -2
index b9682264e2f5..83b49cf114ac 100644

Lines of this file are not shown. View the raw message.

drivers/media/i2c/ov7251.c +3 -1
index 30f61e04ecaf..3226888d77e9 100644

Lines of this file are not shown. View the raw message.

drivers/media/pci/intel/ipu6/ipu6-isys-video.c +1 -0
index 387963529adb..959869a88556 100644

Lines of this file are not shown. View the raw message.

drivers/media/pci/mgb4/mgb4_cmt.c +5 -3
index a25b68403bc6..c22ef51436ed 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/chips-media/wave5/wave5-hw.c +1 -1
index c8a905994109..d94cf84c3ee5 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c +30 -1
index d3ff420c52ce..fd71f0c43ac3 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/chips-media/wave5/wave5-vpu.c +2 -2
index d1320298a0f7..5948a18958d1 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/chips-media/wave5/wave5-vpuapi.c +10 -0
index e16b990041c2..e5e879a13e8b 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c +4 -1
index ff23b225db70..1b0bc47355c0 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/mediatek/vcodec/encoder/venc/venc_h264_if.c +5 -1
index f8145998fcaf..8522f71fc901 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/nuvoton/npcm-video.c +3 -3
index 024cd8ee1709..7a9d8928ae40 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/qcom/venus/hfi_parser.c +74 -26

100 lines not on this page · raw message

drivers/media/platform/qcom/venus/hfi_venus.c +16 -2
index a9167867063c..b5f2ea879950 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/rockchip/rga/rga-hw.c +1 -1
index bf55beec0fac..43ed742a1649 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +3 -2
index 73f7af674c01..0c636090d723 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/st/stm32/dma2d/dma2d.c +2 -1
index b6c8400fb92d..48fa781aab06 100644

Lines of this file are not shown. View the raw message.

drivers/media/platform/xilinx/xilinx-tpg.c +0 -2
index cb93711ea3e3..7deec6e37edc 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/streamzap.c +38 -30

68 lines not on this page · raw message

drivers/media/test-drivers/vim2m.c +3 -3
index 6c24dcf27eb0..0fe97e208c02 100644

Lines of this file are not shown. View the raw message.

drivers/media/test-drivers/visl/visl-core.c +12 -0
index 01c964ea6f76..5bf3136b36eb 100644

Lines of this file are not shown. View the raw message.

drivers/media/usb/uvc/uvc_driver.c +9 -0
index deadbcea5e22..11b04f6f60cd 100644

Lines of this file are not shown. View the raw message.

drivers/media/v4l2-core/v4l2-dv-timings.c +2 -2
index d26edf157e64..32930956740d 100644

Lines of this file are not shown. View the raw message.

drivers/mfd/ene-kb3930.c +1 -1
index fa0ad2f14a39..9460a67acb0b 100644

Lines of this file are not shown. View the raw message.

drivers/misc/pci_endpoint_test.c +5 -2
index 9dac7cbe8748..4c0f37ad0281 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/dw_mmc.c +92 -2

94 lines not on this page · raw message

drivers/mmc/host/dw_mmc.h +27 -0
index 6447b916990d..5463392dc811 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/inftlcore.c +5 -4
index 9739387cff8c..58c6e1743f5c 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/mtdpstore.c +6 -6
index 7ac8ac901306..9cf3872e37ae 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/brcmnand/brcmnand.c +1 -1
index fea5b6119956..17f6d9723df9 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/r852.c +3 -0
index b07c2f8b4035..918974d088cf 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/flexcan/flexcan-core.c +34 -1
index b080740bcb10..fca290afb532 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/flexcan/flexcan.h +5 -0
index 4933d8c7439e..2cf886618c96 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/mv88e6xxx/chip.c +21 -2
index 4a9fbfa8db41..29a89ab4b789 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/google/gve/gve_ethtool.c +3 -1
index bdfc6e77b2af..1f5db1096d4a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/google/gve/gve_rx_dqo.c +2 -1
index f0674a443567..b5be2c18858a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc.h +0 -2
index cd1d7b6c1782..c35cc5cb1185 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc_main.c +2 -2
index 706dd26d4dde..daf2a24ead03 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc_xdp.c +0 -2
index 13bbd3346e01..869815f48ac1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/nic/qos.c +5 -0
index 0f844c14485a..35acc07bd964 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/microsoft/mana/mana_en.c +9 -37

46 lines not on this page · raw message

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +4 -7
index c0ae7db96f46..b7c3bfdaa180 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/wangxun/libwx/wx_lib.c +4 -2
index 497abf2723a5..5b113fd71fe2 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/wangxun/libwx/wx_type.h +1 -2
index b54bffda027b..1d9ed1cffd67 100644

Lines of this file are not shown. View the raw message.

drivers/net/phy/phy_device.c +42 -15

57 lines not on this page · raw message

drivers/net/phy/sfp.c +8 -5
index 7dbcbf0a4ee2..c88217af44a1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ppp/ppp_synctty.c +5 -0
index 644e99fc3623..9c4932198931 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/asix_devices.c +17 -0
index 57d6e5abc30e..da24941a6e44 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/cdc_ether.c +7 -0
index a6469235d904..a032c1ded406 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/r8152.c +6 -0
index 468c73974046..96fa3857d8e2 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/r8153_ecm.c +6 -0
index 20b2df8d74ae..8d860dacdf49 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/ahb.c +3 -1
index f2fc04596d48..eedba3766ba2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/core.c +2 -2
index c576bbba52bf..12dd37c2e904 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/core.h +4 -1
index a9dc7fe7765a..c142b79ba543 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/dp.c +11 -24
index fbf666d0ecf1..f124b7329e1a 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/fw.c +2 -1
index 4e36292a79db..cbbd8e57119f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/mac.c +14 -0
index 1298a3190a3c..f04dd4a35376 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/pci.c +2 -1
index eaac9eabcc70..4d96f838b5ae 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/reg.c +59 -26

85 lines not on this page · raw message

drivers/net/wireless/ath/ath11k/reg.h +2 -1
index 263ea9061948..72b483594015 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/wmi.h +1 -0
index 8982b909c821..30b4b0c17682 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath12k/dp_mon.c +10 -56

66 lines not on this page · raw message

drivers/net/wireless/ath/ath12k/dp_rx.c +40 -2

42 lines not on this page · raw message

drivers/net/wireless/ath/ath12k/hal_rx.h +3 -0
index b08aa2e79f41..54f3eaeca8bb 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath12k/pci.c +1 -1
index 2851f6944b86..ee14b8484548 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath9k/ath9k.h +1 -1
index a728cc0387df..cbcf37008556 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/eeprom.c +4 -0
index 0bc66cc19acd..443517d06c9f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76.h +1 -0
index 132148f7b107..05651efb549e 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +2 -2
index f30cf9e71610..d0e49d68c5db 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x2/usb.c +1 -0
index e832ad53e239..a4f4d12f904e 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7925/init.c +1 -0
index f41ca4248497..a2bb36dab231 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7925/main.c +106 -54

160 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +72 -98

170 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mt7925/mcu.h +4 -2
index 1e47d2c61b54..8ac43feb26d6 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h +1 -2
index 8707b5d04743..cb7b1a49fbd1 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt792x.h +9 -0
index 32ed01a96bf7..6e25a4421e12 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt792x_core.c +2 -1
index 8799627f6292..0f7806f6338d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtw88/rtw8822bu.c +4 -0
index 8883300fc6ad..572d1f31832e 100644

Lines of this file are not shown. View the raw message.

drivers/ntb/ntb_transport.c +1 -1
index a22ea4a4b202..4f775c3e218f 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/fcloop.c +1 -1
index e1abb27927ff..da195d61a966 100644

Lines of this file are not shown. View the raw message.

drivers/of/irq.c +46 -34

80 lines not on this page · raw message

drivers/pci/controller/cadence/pci-j721e.c +3 -2
index 0341d51d6aed..ef1cfdae33bb 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/dwc/pci-layerscape.c +1 -1
index 239a05b36e8e..a44b5c256d6e 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pcie-brcmstb.c +9 -4
index 3d7dbfcd689e..1a3bdc01b074 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pcie-rockchip-host.c +1 -1
index 5adac6adc046..6a46be17aa91 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/pcie-rockchip.h +0 -1
index 11def598534b..14954f43e5e9 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/vmd.c +6 -6
index 9d9596947350..94ceec50a2b9 100644

Lines of this file are not shown. View the raw message.

drivers/pci/devres.c +15 -3
index 3431a7df3e0d..73047316889e 100644

Lines of this file are not shown. View the raw message.

drivers/pci/hotplug/pciehp_core.c +4 -1
index ff458e692fed..997841c69893 100644

Lines of this file are not shown. View the raw message.

drivers/pci/iomap.c +21 -8
index 9fb7cacc15cd..fe706ed946df 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pci.c +6 -0
index 3e78cf86ef03..3152750aab2f 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pci.h +16 -0
index 01e51db8d285..d22755de688b 100644

Lines of this file are not shown. View the raw message.

drivers/pci/probe.c +16 -6
index 0154b48bfbd7..3da48c13d9cc 100644

Lines of this file are not shown. View the raw message.

drivers/perf/arm_pmu.c +3 -5
index 398cce3d76fc..2f33e69a8caf 100644

Lines of this file are not shown. View the raw message.

drivers/perf/dwc_pcie_pmu.c +34 -17

51 lines not on this page · raw message

drivers/phy/freescale/phy-fsl-imx8m-pcie.c +11 -0
index e98361dcdead..afd52392cd53 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/qcom/pinctrl-msm.c +6 -6
index 47daa47153c9..82f0cc43bbf4 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/pinctrl-exynos-arm64.c +49 -49

98 lines not on this page · raw message

drivers/pinctrl/samsung/pinctrl-exynos.h +22 -0
index 7b7ff7ffeb56..33df21d5c9d6 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/pinctrl-samsung.c +1 -0
index cfced7afd4ca..963060920301 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/pinctrl-samsung.h +4 -0
index bb0689d52ea0..371e4f02bbfb 100644

Lines of this file are not shown. View the raw message.

drivers/platform/chrome/cros_ec_lpc.c +14 -8
index 5a2f1d98b350..be319949b941 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/x86-android-tablets/Kconfig +1 -0
index a67bddc43007..193da15ee01c 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-fsl-ftm.c +6 -0
index 2510c10ca473..c45a5fca4cbb 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-mediatek.c +6 -2
index 01dfa0fab80a..7eaab5831499 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-rcar.c +13 -11
index 2261789cc27d..578dbdd2d5a7 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-stm32.c +3 -9
index a59de4de18b6..ec2c05c9ee7a 100644

Lines of this file are not shown. View the raw message.

drivers/s390/virtio/virtio_ccw.c +12 -4
index 21fa7ac849e5..4904b831c0a7 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/lpfc_sli.c +2 -0
index 3fd9723cd271..92f3d4423729 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mpi3mr/mpi3mr.h +13 -1
index 0d72b5f1b69d..6e3f337ace9f 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mpi3mr/mpi3mr_app.c +24 -0
index f4b5813e6fc4..db4b9f1b1d1b 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mpi3mr/mpi3mr_fw.c +92 -7

99 lines not on this page · raw message

drivers/scsi/st.c +1 -1
index ebbd50ec0cda..344e4da336bb 100644

Lines of this file are not shown. View the raw message.

drivers/soc/samsung/exynos-chipid.c +2 -0
index e37dde1fb588..95294462ff21 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-cadence-quadspi.c +6 -0
index 0cd37a7436d5..c90462783b3f 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-fsl-qspi.c +18 -18
index 355e6a39fb41..2f54dc09d11b 100644

Lines of this file are not shown. View the raw message.

drivers/target/target_core_spc.c +1 -1
index ea14a3835681..61c065702350 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/mediatek/lvts_thermal.c +36 -16

52 lines not on this page · raw message

drivers/thermal/rockchip_thermal.c +1 -0
index f551df48eef9..a8ad85feb68f 100644

Lines of this file are not shown. View the raw message.

drivers/vdpa/mlx5/core/mr.c +5 -2
index 8455f08f5d40..61424342c096 100644

Lines of this file are not shown. View the raw message.

drivers/video/backlight/led_bl.c +4 -1
index ae34d1ecbfbe..d2db157b2c29 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/omap2/omapfb/dss/dispc.c +5 -1
index ccb96a5be07e..139476f9d918 100644

Lines of this file are not shown. View the raw message.

drivers/xen/balloon.c +24 -10
index 163f7f1d70f1..ee165f4f7fe6 100644

Lines of this file are not shown. View the raw message.

drivers/xen/xenfs/xensyms.c +2 -2
index b799bc759c15..088b7f02c358 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/disk-io.c +12 -0
index 70b61bc237e9..ca821e5966bd 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/extent-tree.c +8 -0
index 3014a1a23efd..6d615711f040 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/tests/extent-map-tests.c +1 -0
index 56e61ac1cc64..609bb6c9c087 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/transaction.c +12 -0
index aca83a98b75a..c0e9d4bbe380 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/zoned.c +6 -0
index 73e0aa9fc08a..aaf925897fdd 100644

Lines of this file are not shown. View the raw message.

fs/dlm/lock.c +2 -0
index c8ff88f1cdcf..e01d5f29f4d2 100644

Lines of this file are not shown. View the raw message.

fs/erofs/fileio.c +2 -0
index 0ffd1c63beeb..abb9c6d3b1aa 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inode.c +48 -20

68 lines not on this page · raw message

fs/ext4/namei.c +1 -1
index 8e49cb711858..b998020c6819 100644

Lines of this file are not shown. View the raw message.

fs/ext4/super.c +17 -0
index dc46a7063f1e..528979de0f7c 100644

Lines of this file are not shown. View the raw message.

fs/ext4/xattr.c +10 -1
index a10fb8a9d02d..8ced9beba2f7 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/checkpoint.c +6 -15
index bd890738b94d..92be53a83744 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/f2fs.h +30 -2
index 493dda2d4b66..02fc4e9d4212 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/inode.c +5 -3
index cd17d6f4c291..1221067d2da8 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/node.c +31 -79

110 lines not on this page · raw message

fs/f2fs/super.c +7 -1
index 26b1021427ae..b8a0e925a401 100644

Lines of this file are not shown. View the raw message.

fs/file.c +17 -9
index d868cdb95d1e..1ba03662ae66 100644

Lines of this file are not shown. View the raw message.

fs/fuse/dev.c +25 -9
index 51e31df4c546..d9bfdd774c92 100644

Lines of this file are not shown. View the raw message.

fs/fuse/dev_uring.c +11 -4
index 82bf458fa9db..5f1566c69ddc 100644

Lines of this file are not shown. View the raw message.

fs/fuse/dev_uring_i.h +6 -0
index 2102b3d0c1ae..e5b39a92b7ca 100644

Lines of this file are not shown. View the raw message.

fs/fuse/fuse_dev_i.h +1 -0
index 3b2bfe1248d3..2481da3388c5 100644

Lines of this file are not shown. View the raw message.

fs/fuse/fuse_i.h +3 -0
index fee96fe7887b..2086dac7243b 100644

Lines of this file are not shown. View the raw message.

fs/jbd2/journal.c +0 -1
index a10e086a0165..b6a1bbc211ef 100644

Lines of this file are not shown. View the raw message.

fs/jfs/jfs_dmap.c +7 -3
index f9009e4f9ffd..0e1019382cf5 100644

Lines of this file are not shown. View the raw message.

fs/jfs/jfs_imap.c +2 -2
index debfc1389cb3..ecb8e05b8b84 100644

Lines of this file are not shown. View the raw message.

fs/namespace.c +2 -1
index 8f1000f9f3df..d401486fe95d 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/cifsencrypt.c +5 -11
index e69968e88fe7..35892df7335c 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/connect.c +3 -0
index cb14a6828c50..e417052694f2 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/fs_context.c +5 -0
index 8c73d4d60d1a..e38521a713a6 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/inode.c +10 -0
index 616149c7f0a5..c88a70e6e132 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/reparse.c +16 -13
index 2b9e9885dc42..1416b9ffaca1 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/sess.c +7 -0
index faa80e7d54a6..eb70ebf38464 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/smb2misc.c +5 -4
index f3c4b70b77b9..cddf273c14ae 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/smb2ops.c +3 -3
index 4dd11eafb69d..7aeac8dd9a1d 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/smb2pdu.c +2 -9
index f9c521b3c65e..163b8fea47e8 100644

Lines of this file are not shown. View the raw message.

fs/smb/common/smb2pdu.h +3 -3
index c7a0efda4403..12f001333405 100644

Lines of this file are not shown. View the raw message.

fs/udf/inode.c +1 -0
index 70c907fe8af9..4386dd845e40 100644

Lines of this file are not shown. View the raw message.

fs/userfaultfd.c +25 -26

51 lines not on this page · raw message

include/drm/drm_kunit_helpers.h +3 -0
index afdd46ef04f7..c835f113055d 100644

Lines of this file are not shown. View the raw message.

include/drm/intel/pciids.h +6 -5
index 77c826589ec1..f9d3e85142ea 100644

Lines of this file are not shown. View the raw message.

include/linux/cgroup-defs.h +1 -0
index 17960a1e858d..d1aee2d3e189 100644

Lines of this file are not shown. View the raw message.

include/linux/cgroup.h +1 -1
index f8ef47f8a634..fc1324ed597d 100644

Lines of this file are not shown. View the raw message.

include/linux/damon.h +11 -0
index c9074d569596..b4d37d9b9221 100644

Lines of this file are not shown. View the raw message.

include/linux/hid.h +0 -6
index cdc0dc13c87f..9ca7e26ac4e9 100644

Lines of this file are not shown. View the raw message.

include/linux/io_uring_types.h +3 -0
index 3def525a1da3..6d011ca63401 100644

Lines of this file are not shown. View the raw message.

include/linux/kvm_host.h +1 -1
index f34f4cfaa513..be7e1cd516d1 100644

Lines of this file are not shown. View the raw message.

include/linux/mtd/spinand.h +1 -1
index 0da8a1c7740e..b4bcade821a4 100644

Lines of this file are not shown. View the raw message.

include/linux/page-flags.h +6 -0
index 36d283552f80..be2f0017a667 100644

Lines of this file are not shown. View the raw message.

include/linux/pci_ids.h +2 -0
index 1a2594a38199..2a9ca3dbaa0e 100644

Lines of this file are not shown. View the raw message.

include/linux/perf_event.h +9 -8
index bcb764c3a803..93ea9c6672f0 100644

Lines of this file are not shown. View the raw message.

include/linux/pgtable.h +8 -6
index 4c107e17c547..e2b705c14945 100644

Lines of this file are not shown. View the raw message.

include/linux/printk.h +6 -0
index 4217a9f412b2..5b462029d03c 100644

Lines of this file are not shown. View the raw message.

include/linux/tpm.h +1 -0
index 20a40ade8030..6c3125300c00 100644

Lines of this file are not shown. View the raw message.

include/net/mac80211.h +6 -0
index c3ed2fcff8b7..dcbb2e54746c 100644

Lines of this file are not shown. View the raw message.

include/net/sctp/structs.h +2 -1
index 31248cfdfb23..dcd288fa1bb6 100644

Lines of this file are not shown. View the raw message.

include/net/sock.h +38 -2
index 7ef728324e4e..93587308c38a 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/kfd_ioctl.h +2 -0
index fa9f9846b88e..b0160b09987c 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/landlock.h +2 -0
index e1d2c27533b4..8806a132d7b8 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/psp-sev.h +14 -7
index 832c15d9155b..eeb20dfb1fda 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/rkisp1-config.h +1 -1
index 430daceafac7..2d995f3c1ca3 100644

Lines of this file are not shown. View the raw message.

include/xen/interface/xen-mca.h +1 -1
index 464aa6b3a5f9..1c9afbe8cc26 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +2 -2
index 4910ee7ac18a..7370f763346f 100644

Lines of this file are not shown. View the raw message.

io_uring/kbuf.c +2 -0
index 8e72de7712ac..b224c03056c5 100644

Lines of this file are not shown. View the raw message.

io_uring/net.c +3 -0
index 16d54cd4d53f..8f965ec67b57 100644

Lines of this file are not shown. View the raw message.

kernel/Makefile +5 -0
index 87866b037fbe..434929de17ef 100644

Lines of this file are not shown. View the raw message.

kernel/cgroup/cgroup.c +6 -0
index afc665b7b1fe..81f078c059e8 100644

Lines of this file are not shown. View the raw message.

kernel/cgroup/cpuset.c +40 -15

55 lines not on this page · raw message

kernel/entry/Makefile +3 -0
index 095c775e001e..d4b8bd0af79b 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +78 -106

184 lines not on this page · raw message

kernel/events/uprobes.c +13 -2
index 7420a2a0d1f7..29c59599153d 100644

Lines of this file are not shown. View the raw message.

kernel/locking/lockdep.c +3 -0
index 4470680f0226..54fff13ed249 100644

Lines of this file are not shown. View the raw message.

kernel/power/hibernate.c +3 -3
index 10a01af63a80..b129ed1d25a8 100644

Lines of this file are not shown. View the raw message.

kernel/printk/printk.c +1 -3
index 07668433644b..057db78876cd 100644

Lines of this file are not shown. View the raw message.

kernel/rcu/srcutree.c +10 -1
index b83c74c4dcc0..2d8f3329023c 100644

Lines of this file are not shown. View the raw message.

kernel/reboot.c +1 -0
index f348f1ba9e22..9461b6b0baa3 100644

Lines of this file are not shown. View the raw message.

kernel/sched/Makefile +5 -0
index 976092b7bd45..8ae86371ddcd 100644

Lines of this file are not shown. View the raw message.

kernel/sched/ext.c +2 -2
index 7b9dfee858e7..9688f1a5df8b 100644

Lines of this file are not shown. View the raw message.

kernel/time/Makefile +6 -0
index fe0ae82124fe..e6e9b85d4db5 100644

Lines of this file are not shown. View the raw message.

kernel/trace/fprobe.c +149 -21

170 lines not on this page · raw message

kernel/trace/ftrace.c +5 -4
index fc88e0688daf..62d300eee7eb 100644

Lines of this file are not shown. View the raw message.

kernel/trace/ring_buffer.c +3 -2
index 510409f97992..9b8ce8f4ff9b 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_eprobe.c +2 -0
index 82fd637cfc19..af9fa0632b57 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events.c +3 -1
index b1f6d04f9fe9..ceeedcb5940b 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events_synth.c +0 -1
index 0330ecdfb9f1..88b2795847c7 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_fprobe.c +21 -10
index 985ff98272da..b40fa59159ac 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_kprobe.c +4 -1
index d8d5f18a141a..8287b175667f 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_probe.c +28 -0
index 8f58ee1e8858..2eeecb6c95ee 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_probe.h +1 -0
index 96792bc4b092..854e5668f5ee 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_uprobe.c +7 -2
index ccc762fbb69c..3386439ec9f6 100644

Lines of this file are not shown. View the raw message.

lib/Makefile +5 -0
index d5cfc7afbbb8..4f3d00a2fd65 100644

Lines of this file are not shown. View the raw message.

lib/sg_split.c +0 -2
index 60a0babebf2e..0f89aab5c671 100644

Lines of this file are not shown. View the raw message.

lib/zstd/common/portability_macros.h +1 -1
index 0e3b2c0a527d..0dde8bf56595 100644

Lines of this file are not shown. View the raw message.

mm/damon/core.c +1 -0
index 384935ef4e65..dc8f94fe7c3b 100644

Lines of this file are not shown. View the raw message.

mm/damon/ops-common.c +1 -1
index d25d99cb5f2b..d511be201c4c 100644

Lines of this file are not shown. View the raw message.

mm/damon/paddr.c +42 -15

57 lines not on this page · raw message

mm/hugetlb.c +1 -1
index 318624c96584..44b8feb83402 100644

Lines of this file are not shown. View the raw message.

mm/memory-failure.c +8 -3
index 327e02fdc029..b04fb434b6cf 100644

Lines of this file are not shown. View the raw message.

mm/memory_hotplug.c +1 -2
index 16cf9e17077e..75401866fb76 100644

Lines of this file are not shown. View the raw message.

mm/mremap.c +5 -5
index cff7f552f909..c3e4c86d0b8d 100644

Lines of this file are not shown. View the raw message.

mm/page_vma_mapped.c +9 -4
index 81839a9e74f1..367209e65830 100644

Lines of this file are not shown. View the raw message.

mm/rmap.c +1 -1
index c6c4d4ea29a7..17fbfa61f7ef 100644

Lines of this file are not shown. View the raw message.

mm/shmem.c +1 -2
index 1ede0800e846..1dd513d82332 100644

Lines of this file are not shown. View the raw message.

mm/vmscan.c +1 -1
index c767d71c43d7..fada3b35aff8 100644

Lines of this file are not shown. View the raw message.

net/8021q/vlan_dev.c +4 -27
index 91d134961357..ee7186e4d353 100644

Lines of this file are not shown. View the raw message.

net/core/filter.c +44 -36

80 lines not on this page · raw message

net/core/page_pool.c +7 -1
index f5e908c9e7ad..ede82c610936 100644

Lines of this file are not shown. View the raw message.

net/core/page_pool_user.c +1 -1
index 6677e0c2e256..d5e214c30c31 100644

Lines of this file are not shown. View the raw message.

net/core/sock.c +5 -0
index 6c0e87f97fa4..45df78655214 100644

Lines of this file are not shown. View the raw message.

net/ethtool/cmis.h +0 -1
index 1e790413db0e..4a9a946cabf0 100644

Lines of this file are not shown. View the raw message.

net/ethtool/cmis_cdb.c +3 -15
index d159dc121bde..0e2691ccb0df 100644

Lines of this file are not shown. View the raw message.

net/ethtool/common.c +1 -0
index b97374b508f6..e2f8a41cc108 100644

Lines of this file are not shown. View the raw message.

net/ethtool/netlink.c +5 -3
index 734849a57369..e088a30d1dd2 100644

Lines of this file are not shown. View the raw message.

net/ipv6/route.c +4 -4
index 169a7b9bc40e..08cee62e789e 100644

Lines of this file are not shown. View the raw message.

net/mac80211/debugfs.c +42 -2

44 lines not on this page · raw message

net/mac80211/iface.c +4 -1
index 738de269e13f..459fc391a4d9 100644

Lines of this file are not shown. View the raw message.

net/mac80211/mesh_hwmp.c +10 -4
index 4e9546e998b6..c94a9c7ca960 100644

Lines of this file are not shown. View the raw message.

net/mac80211/mlme.c +37 -22

59 lines not on this page · raw message

net/mptcp/sockopt.c +28 -0
index 505445a9598f..3caa0a9d3b38 100644

Lines of this file are not shown. View the raw message.

net/mptcp/subflow.c +12 -7
index 9f18217dddc8..f2e82599dd0a 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_pipapo_avx2.c +2 -1
index b8d3c3213efe..c15db28c5ebc 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_api.c +45 -21

66 lines not on this page · raw message

net/sched/sch_codel.c +1 -4
index 81189d02fee7..12dd71139da3 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_fq_codel.c +2 -4
index 799f5397ad4c..6c9029f71e88 100644

Lines of this file are not shown. View the raw message.

net/sched/sch_sfq.c +50 -16

66 lines not on this page · raw message

net/sctp/socket.c +14 -8
index 36ee34f483d7..53725ee7ba06 100644

Lines of this file are not shown. View the raw message.

net/sctp/transport.c +2 -0
index 2abe45af98e7..31eca29b6cfb 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/xprtrdma/svc_rdma_transport.c +2 -1
index c3fbf0779d4a..aca8bdf65d72 100644

Lines of this file are not shown. View the raw message.

net/tipc/link.c +1 -0
index 5c2088a469ce..5689e1f48547 100644

Lines of this file are not shown. View the raw message.

net/tls/tls_main.c +6 -0
index 99ca4465f702..4d7702ce17c0 100644

Lines of this file are not shown. View the raw message.

scripts/generate_builtin_ranges.awk +5 -0
index b9ec761b3bef..d4bd5c2b998c 100755

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima.h +2 -1
index a4f284bd846c..e0489c6f7f59 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_main.c +13 -5
index 28b8b0db6f9b..f3e7ac513db3 100644

Lines of this file are not shown. View the raw message.

security/landlock/errata.h new file +99 -0

99 lines not on this page · raw message

security/landlock/errata/abi-4.h new file +15 -0
new file mode 100644
index 000000000000..c052ee54f89f

Lines of this file are not shown. View the raw message.

security/landlock/errata/abi-6.h new file +19 -0
new file mode 100644
index 000000000000..df7bc0e1fdf4

Lines of this file are not shown. View the raw message.

security/landlock/fs.c +33 -6
index 71b9dc331aae..c19aab87c4d2 100644

Lines of this file are not shown. View the raw message.

security/landlock/setup.c +34 -4
index 28519a45b11f..0c85ea27e409 100644

Lines of this file are not shown. View the raw message.

security/landlock/setup.h +3 -0
index c4252d46d49d..fca307c35fee 100644

Lines of this file are not shown. View the raw message.

security/landlock/syscalls.c +18 -4
index a9760d252fc2..cf9e0483e542 100644

Lines of this file are not shown. View the raw message.

security/landlock/task.c +12 -0
index dc7dab78392e..4578ce6e319d 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/hda_intel.c +43 -1

44 lines not on this page · raw message

sound/pci/hda/patch_realtek.c +41 -0

41 lines not on this page · raw message

sound/soc/amd/acp/acp-sdw-legacy-mach.c +34 -0
index 9280cd30d19c..a0defa5d15f7 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/acp/soc_amd_sdw_common.h +1 -0
index b7bae107c13e..ed5aec9c0145 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/ps/acp63.h +1 -0
index e54eabaa4d3e..28d3959a416b 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/ps/pci-ps.c +1 -1
index 8b556950b855..6015dd527073 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/yc/acp6x-mach.c +14 -0
index a7637056972a..e632f16c9102 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wcd937x.c +2 -0
index c9d5e67bf66e..951fd1caf847 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_audmix.c +11 -5
index 3cd9a66b70a1..7981d598ba13 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/common/soc-acpi-intel-adl-match.c +29 -0
index bb1324fb588e..a68efbe98948 100644

Lines of this file are not shown. View the raw message.

sound/soc/qcom/qdsp6/q6apm-dai.c +32 -28

60 lines not on this page · raw message

sound/soc/qcom/qdsp6/q6apm.c +17 -1
index 2a2a5bd98110..ca57413cb784 100644

Lines of this file are not shown. View the raw message.

sound/soc/qcom/qdsp6/q6apm.h +3 -0
index c248c8d2b1ab..7ce08b401e31 100644

Lines of this file are not shown. View the raw message.

sound/soc/qcom/qdsp6/q6asm-dai.c +13 -6
index 045100c94352..a400c9a31fea 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/topology.c +2 -2
index 688cc7ac1714..dc9cb8324067 100644

Lines of this file are not shown. View the raw message.

sound/usb/midi.c +74 -6

80 lines not on this page · raw message

tools/objtool/check.c +5 -0
index 159fb130e282..9f4c54fe6f56 100644

Lines of this file are not shown. View the raw message.

tools/power/cpupower/bench/parse.c +4 -0
index 080678d9d74e..bd67c758b33a 100644

Lines of this file are not shown. View the raw message.

tools/testing/ktest/ktest.pl +8 -0
index 8c8da966c641..a5f7fdd0c1fb 100755

Lines of this file are not shown. View the raw message.

tools/testing/selftests/futex/functional/futex_wait_wouldblock.c +1 -1
index 7d7a6a06cdb7..2d8230da9064 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/landlock/base_test.c +45 -1

46 lines not on this page · raw message

tools/testing/selftests/landlock/common.h +1 -0
index 6064c9ac0532..076a9a625c98 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/landlock/scoped_signal_test.c +93 -15

108 lines not on this page · raw message

tools/testing/selftests/net/mptcp/mptcp_connect.c +7 -4
index d240d02fa443..c83a8b47bbdf 100644

Lines of this file are not shown. View the raw message.

virt/kvm/Kconfig +1 -1
index 54e959e7d68f..570938f0455c 100644

Lines of this file are not shown. View the raw message.

virt/kvm/eventfd.c +5 -5
index 249ba5b72e9b..11e5d1e3f12e 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.