Skip to contentSkip to conversation

Linux 6.12.54

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Oct 19, 2025 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.12.54 kernel.

All users of the 6.12 kernel series must upgrade.

The updated 6.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.12.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                   |    3 
 Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml |   15 
 Makefile                                                          |    2 
 arch/arm/mach-omap2/am33xx-restart.c                              |   36 
 arch/arm/mach-omap2/pm33xx-core.c                                 |    6 
 arch/arm64/boot/dts/qcom/msm8916.dtsi                             |    2 
 arch/arm64/boot/dts/qcom/msm8939.dtsi                             |    2 
 arch/arm64/boot/dts/qcom/sdm845.dtsi                              |    4 
 arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi                      |    2 
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi                         |    2 
 arch/arm64/kernel/cpufeature.c                                    |   10 
 arch/arm64/kernel/mte.c                                           |    3 
 arch/arm64/kernel/pi/map_kernel.c                                 |    6 
 arch/arm64/kernel/probes/kprobes.c                                |   12 
 arch/arm64/kernel/setup.c                                         |    4 
 arch/arm64/mm/init.c                                              |    2 
 arch/arm64/mm/mmu.c                                               |   14 
 arch/loongarch/Makefile                                           |    2 
 arch/loongarch/kernel/setup.c                                     |    1 
 arch/parisc/include/uapi/asm/ioctls.h                             |    8 
 arch/parisc/lib/memcpy.c                                          |    1 
 arch/powerpc/platforms/powernv/pci-ioda.c                         |    2 
 arch/powerpc/platforms/pseries/msi.c                              |    2 
 arch/s390/Makefile                                                |    1 
 arch/s390/kernel/vmlinux.lds.S                                    |   54 -
 arch/s390/net/bpf_jit.h                                           |   55 -
 arch/s390/net/bpf_jit_comp.c                                      |  139 ++-
 arch/sparc/kernel/of_device_32.c                                  |    1 
 arch/sparc/kernel/of_device_64.c                                  |    1 
 arch/sparc/mm/hugetlbpage.c                                       |   20 
 arch/x86/entry/entry_64_fred.S                                    |    2 
 arch/x86/hyperv/ivm.c                                             |    2 
 arch/x86/include/asm/msr-index.h                                  |    1 
 arch/x86/include/asm/mtrr.h                                       |   10 
 arch/x86/kernel/cpu/mtrr/generic.c                                |    6 
 arch/x86/kernel/cpu/mtrr/mtrr.c                                   |    2 
 arch/x86/kernel/kvm.c                                             |   21 
 arch/x86/kernel/umip.c                                            |   15 
 arch/x86/kvm/cpuid.c                                              |    2 
 arch/x86/kvm/pmu.c                                                |    5 
 arch/x86/kvm/svm/pmu.c                                            |    1 
 arch/x86/kvm/x86.c                                                |    2 
 arch/x86/xen/enlighten_pv.c                                       |    4 
 arch/xtensa/platforms/iss/simdisk.c                               |    6 
 block/blk-crypto-fallback.c                                       |    3 
 crypto/essiv.c                                                    |   14 
 drivers/acpi/acpi_dbg.c                                           |   26 
 drivers/acpi/acpi_tad.c                                           |    3 
 drivers/acpi/acpica/evglock.c                                     |    4 
 drivers/acpi/battery.c                                            |   60 -
 drivers/acpi/property.c                                           |  137 ++-
 drivers/block/loop.c                                              |    8 
 drivers/bus/mhi/ep/main.c                                         |   37 
 drivers/bus/mhi/host/init.c                                       |    5 
 drivers/char/ipmi/ipmi_kcs_sm.c                                   |   16 
 drivers/char/ipmi/ipmi_msghandler.c                               |  416 ++++------
 drivers/char/tpm/tpm_tis_core.c                                   |    4 
 drivers/clk/at91/clk-peripheral.c                                 |    7 
 drivers/clk/mediatek/clk-mt8195-infra_ao.c                        |    2 
 drivers/clk/mediatek/clk-mux.c                                    |    4 
 drivers/clk/nxp/clk-lpc18xx-cgu.c                                 |   20 
 drivers/clk/qcom/common.c                                         |    4 
 drivers/clk/qcom/tcsrcc-x1e80100.c                                |    4 
 drivers/clk/renesas/renesas-cpg-mssr.c                            |    7 
 drivers/clk/tegra/clk-bpmp.c                                      |    2 
 drivers/clocksource/clps711x-timer.c                              |   23 
 drivers/cpufreq/cpufreq-dt.c                                      |    2 
 drivers/cpufreq/imx6q-cpufreq.c                                   |    2 
 drivers/cpufreq/intel_pstate.c                                    |    8 
 drivers/cpufreq/mediatek-cpufreq-hw.c                             |    2 
 drivers/cpufreq/scmi-cpufreq.c                                    |    2 
 drivers/cpufreq/scpi-cpufreq.c                                    |    2 
 drivers/cpufreq/spear-cpufreq.c                                   |    2 
 drivers/cpufreq/tegra186-cpufreq.c                                |    8 
 drivers/crypto/aspeed/aspeed-hace-crypto.c                        |    2 
 drivers/crypto/atmel-tdes.c                                       |    2 
 drivers/crypto/rockchip/rk3288_crypto_ahash.c                     |    2 
 drivers/firmware/meson/meson_sm.c                                 |    7 
 drivers/gpio/gpio-wcd934x.c                                       |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                 |    4 
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c                |   21 
 drivers/gpu/drm/amd/display/dc/dce/dce_transform.h                |    4 
 drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_d.h              |    7 
 drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_sh_mask.h        |    2 
 drivers/gpu/drm/nouveau/nouveau_bo.c                              |    2 
 drivers/gpu/drm/panthor/panthor_drv.c                             |   11 
 drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c                   |    5 
 drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h              |    8 
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c                           |   17 
 drivers/gpu/drm/vmwgfx/vmwgfx_validation.c                        |    6 
 drivers/gpu/drm/xe/xe_hw_engine_group.c                           |    6 
 drivers/gpu/drm/xe/xe_query.c                                     |   15 
 drivers/iio/adc/pac1934.c                                         |   20 
 drivers/iio/adc/xilinx-ams.c                                      |   47 -
 drivers/iio/dac/ad5360.c                                          |    2 
 drivers/iio/dac/ad5421.c                                          |    2 
 drivers/iio/frequency/adf4350.c                                   |   20 
 drivers/iio/imu/inv_icm42600/inv_icm42600_core.c                  |    4 
 drivers/iommu/intel/iommu.c                                       |    2 
 drivers/irqchip/irq-sifive-plic.c                                 |   13 
 drivers/mailbox/mtk-cmdq-mailbox.c                                |   12 
 drivers/mailbox/zynqmp-ipi-mailbox.c                              |   24 
 drivers/media/cec/usb/extron-da-hd-4k-plus/Makefile               |    6 
 drivers/media/i2c/mt9v111.c                                       |    2 
 drivers/media/mc/mc-devnode.c                                     |    6 
 drivers/media/mc/mc-entity.c                                      |    2 
 drivers/media/pci/cx18/cx18-queue.c                               |   13 
 drivers/media/pci/ivtv/ivtv-irq.c                                 |    2 
 drivers/media/pci/ivtv/ivtv-yuv.c                                 |    8 
 drivers/media/pci/mgb4/mgb4_trigger.c                             |    2 
 drivers/media/platform/qcom/venus/firmware.c                      |    8 
 drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c           |   35 
 drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c             |    9 
 drivers/media/rc/lirc_dev.c                                       |    9 
 drivers/media/test-drivers/vivid/vivid-cec.c                      |   12 
 drivers/memory/samsung/exynos-srom.c                              |   10 
 drivers/mfd/intel_soc_pmic_chtdc_ti.c                             |    5 
 drivers/mmc/core/sdio.c                                           |    6 
 drivers/mmc/host/mmc_spi.c                                        |    2 
 drivers/mtd/nand/raw/fsmc_nand.c                                  |    6 
 drivers/net/ethernet/freescale/fsl_pq_mdio.c                      |    2 
 drivers/net/ethernet/intel/ice/ice_adapter.c                      |   10 
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c                    |    2 
 drivers/net/ethernet/mscc/ocelot_stats.c                          |    2 
 drivers/net/wireless/ath/ath11k/core.c                            |    6 
 drivers/net/wireless/ath/ath11k/hal.c                             |   16 
 drivers/net/wireless/ath/ath11k/hal.h                             |    1 
 drivers/net/wireless/mediatek/mt76/mt7921/usb.c                   |    3 
 drivers/net/wireless/mediatek/mt76/mt7925/usb.c                   |    3 
 drivers/nvme/host/pci.c                                           |    2 
 drivers/of/unittest.c                                             |    1 
 drivers/pci/controller/cadence/pci-j721e.c                        |   25 
 drivers/pci/controller/dwc/pci-keystone.c                         |    4 
 drivers/pci/controller/dwc/pcie-rcar-gen4.c                       |    2 
 drivers/pci/controller/dwc/pcie-tegra194.c                        |   32 
 drivers/pci/controller/pci-tegra.c                                |   27 
 drivers/pci/controller/pcie-rcar-host.c                           |   40 
 drivers/pci/controller/pcie-xilinx-nwl.c                          |    7 
 drivers/pci/endpoint/functions/pci-epf-test.c                     |   19 
 drivers/pci/iov.c                                                 |    5 
 drivers/pci/pci-driver.c                                          |    1 
 drivers/pci/pci-sysfs.c                                           |   20 
 drivers/pci/pcie/aer.c                                            |   12 
 drivers/pci/pcie/err.c                                            |    8 
 drivers/perf/arm-cmn.c                                            |    9 
 drivers/pinctrl/samsung/pinctrl-samsung.h                         |    4 
 drivers/power/supply/max77976_charger.c                           |   12 
 drivers/pwm/pwm-berlin.c                                          |    4 
 drivers/rtc/interface.c                                           |   27 
 drivers/rtc/rtc-optee.c                                           |    1 
 drivers/rtc/rtc-x1205.c                                           |    2 
 drivers/s390/block/dasd.c                                         |   17 
 drivers/s390/cio/device.c                                         |   37 
 drivers/scsi/hpsa.c                                               |   21 
 drivers/scsi/mvsas/mv_init.c                                      |    2 
 drivers/scsi/sd.c                                                 |   50 -
 drivers/spi/spi-cadence-quadspi.c                                 |   18 
 drivers/video/fbdev/core/fb_cmdline.c                             |    2 
 drivers/xen/events/events_base.c                                  |   37 
 drivers/xen/manage.c                                              |    3 
 fs/btrfs/export.c                                                 |    8 
 fs/btrfs/extent_io.c                                              |   14 
 fs/cramfs/inode.c                                                 |   11 
 fs/eventpoll.c                                                    |  139 ---
 fs/ext4/ext4.h                                                    |    2 
 fs/ext4/fsmap.c                                                   |   14 
 fs/ext4/indirect.c                                                |    2 
 fs/ext4/inode.c                                                   |   10 
 fs/ext4/move_extent.c                                             |    2 
 fs/ext4/orphan.c                                                  |   17 
 fs/ext4/super.c                                                   |   26 
 fs/ext4/xattr.c                                                   |   19 
 fs/file.c                                                         |    5 
 fs/fs-writeback.c                                                 |   32 
 fs/fsopen.c                                                       |   70 -
 fs/fuse/dev.c                                                     |    2 
 fs/fuse/file.c                                                    |    8 
 fs/minix/inode.c                                                  |    8 
 fs/namei.c                                                        |    8 
 fs/namespace.c                                                    |  108 +-
 fs/nfs/callback.c                                                 |    4 
 fs/nfs/callback_xdr.c                                             |    1 
 fs/nfsd/export.c                                                  |   96 +-
 fs/nfsd/export.h                                                  |    6 
 fs/nfsd/lockd.c                                                   |   28 
 fs/nfsd/netns.h                                                   |    4 
 fs/nfsd/nfs4proc.c                                                |    4 
 fs/nfsd/nfs4state.c                                               |    6 
 fs/nfsd/nfs4xdr.c                                                 |    2 
 fs/nfsd/nfsfh.c                                                   |   40 
 fs/nfsd/trace.h                                                   |    2 
 fs/nfsd/vfs.c                                                     |   14 
 fs/nfsd/vfs.h                                                     |    2 
 fs/ntfs3/bitmap.c                                                 |    1 
 fs/quota/dquot.c                                                  |   10 
 fs/read_write.c                                                   |   14 
 fs/smb/client/smb1ops.c                                           |   62 +
 fs/smb/client/smb2inode.c                                         |   22 
 fs/smb/client/smb2ops.c                                           |   10 
 fs/squashfs/inode.c                                               |   24 
 include/acpi/acpixf.h                                             |    6 
 include/asm-generic/io.h                                          |   98 +-
 include/linux/cpufreq.h                                           |    3 
 include/linux/iio/frequency/adf4350.h                             |    2 
 include/linux/ksm.h                                               |    8 
 include/linux/mm.h                                                |   22 
 include/linux/rseq.h                                              |   11 
 include/linux/sunrpc/svc.h                                        |    2 
 include/linux/sunrpc/svc_xprt.h                                   |   19 
 include/media/v4l2-subdev.h                                       |   30 
 include/trace/events/dma.h                                        |    1 
 init/main.c                                                       |   12 
 kernel/bpf/inode.c                                                |    4 
 kernel/fork.c                                                     |    2 
 kernel/pid.c                                                      |    2 
 kernel/rseq.c                                                     |   10 
 kernel/sched/deadline.c                                           |   73 +
 kernel/sched/fair.c                                               |    9 
 kernel/sys.c                                                      |   22 
 kernel/trace/trace_fprobe.c                                       |   11 
 kernel/trace/trace_kprobe.c                                       |   11 
 kernel/trace/trace_probe.h                                        |    9 
 kernel/trace/trace_uprobe.c                                       |   12 
 lib/crypto/Makefile                                               |    4 
 lib/genalloc.c                                                    |    5 
 mm/damon/lru_sort.c                                               |    2 
 mm/damon/vaddr.c                                                  |    8 
 mm/huge_memory.c                                                  |   15 
 mm/hugetlb.c                                                      |    3 
 mm/migrate.c                                                      |   23 
 mm/page_alloc.c                                                   |    2 
 mm/slab.h                                                         |    8 
 mm/slub.c                                                         |    3 
 net/bridge/br_vlan.c                                              |    2 
 net/core/filter.c                                                 |    2 
 net/core/page_pool.c                                              |   76 +
 net/ipv4/tcp.c                                                    |    5 
 net/ipv4/tcp_input.c                                              |    1 
 net/mptcp/pm.c                                                    |    7 
 net/mptcp/pm_netlink.c                                            |   50 +
 net/mptcp/protocol.h                                              |    8 
 net/netfilter/nft_objref.c                                        |   39 
 net/sctp/sm_make_chunk.c                                          |    3 
 net/sctp/sm_statefuns.c                                           |    6 
 net/sunrpc/svc_xprt.c                                             |   45 -
 net/sunrpc/svcsock.c                                              |    2 
 net/xdp/xsk_queue.h                                               |   45 -
 security/keys/trusted-keys/trusted_tpm1.c                         |    7 
 sound/soc/sof/intel/hda-pcm.c                                     |   29 
 sound/soc/sof/intel/hda-stream.c                                  |   29 
 sound/soc/sof/ipc4-pcm.c                                          |  138 ++-
 sound/soc/sof/ipc4-topology.c                                     |   16 
 sound/soc/sof/ipc4-topology.h                                     |   10 
 tools/build/feature/Makefile                                      |    4 
 tools/lib/perf/include/perf/event.h                               |    1 
 tools/perf/builtin-stat.c                                         |   18 
 tools/perf/pmu-events/arch/arm64/ampere/ampereonex/metrics.json   |   10 
 tools/perf/tests/perf-record.c                                    |    4 
 tools/perf/tests/shell/record_lbr.sh                              |   29 
 tools/perf/tests/shell/stat.sh                                    |   29 
 tools/perf/tests/shell/trace_btf_enum.sh                          |   11 
 tools/perf/util/arm-spe-decoder/arm-spe-decoder.h                 |   18 
 tools/perf/util/arm-spe.c                                         |   34 
 tools/perf/util/disasm.c                                          |    7 
 tools/perf/util/evsel.c                                           |   31 
 tools/perf/util/lzma.c                                            |    2 
 tools/perf/util/session.c                                         |    2 
 tools/perf/util/setup.py                                          |    5 
 tools/perf/util/zlib.c                                            |    2 
 tools/testing/selftests/mm/madv_populate.c                        |   21 
 tools/testing/selftests/mm/soft-dirty.c                           |    5 
 tools/testing/selftests/mm/vm_util.c                              |   77 +
 tools/testing/selftests/mm/vm_util.h                              |    1 
 tools/testing/selftests/net/mptcp/mptcp_join.sh                   |   11 
 tools/testing/selftests/net/netfilter/nf_nat_edemux.sh            |   58 -
 tools/testing/selftests/rseq/rseq.c                               |    8 
 276 files changed, 2881 insertions(+), 1569 deletions(-)

Aaron Kling (1):
cpufreq: tegra186: Set target frequency for all cpus in policy

Abel Vesa (1):
clk: qcom: tcsrcc-x1e80100: Set the bi_tcxo as parent to eDP refclk

Abinash Singh (1):
scsi: sd: Fix build warning in sd_revalidate_disk()

Adam Xue (1):
bus: mhi: host: Do not use uninitialized 'dev' pointer in mhi_init_irq_setup()

Ahmet Eray Karadag (1):
ext4: guard against EA inode refcount underflow in xattr update

Aleksa Sarai (1):
fscontext: do not consume log entries when returning -EMSGSIZE

Aleksandar Gerasimovski (1):
iio/adc/pac1934: fix channel disable configuration

Aleksandrs Vinarskis (1):

      arm64: dts: qcom: x1e80100-pmics: Disable pm8010 by default

Alex Deucher (1):
drm/amdgpu: Add additional DCE6 SCL registers

Alexander Lobakin (1):
xsk: Harden userspace-supplied xdp_desc validation

Alexander Sverdlin (1):
ARM: AM33xx: Implement TI advisory 1.0.36 (EMU0/EMU1 pins state on reset)

Alexandr Sapozhnikov (1):
net/sctp: fix a null dereference in sctp_disposition sctp_sf_do_5_1D_ce()

Alexey Gladkov (1):
s390: vmlinux.lds.S: Reorder sections

Alok Tiwari (1):
clk: nxp: Fix pll0 rate check condition in LPC18xx CGU driver

Amir Mohammad Jahangirzad (1):
ACPI: debug: fix signedness issues in read/write helpers

Anderson Nascimento (1):
btrfs: avoid potential out-of-bounds in btrfs_encode_fh()

Andy Shevchenko (2):
mfd: intel_soc_pmic_chtdc_ti: Drop unneeded assignment for cache_type
ACPI: battery: Check for error code from devm_mutex_init() call

AngeloGioacchino Del Regno (1):
clk: mediatek: mt8195-infra_ao: Fix parent for infra_ao_hdmi_26m

Anthony Yznaga (1):
sparc64: fix hugetlb for sun4u

Arnd Bergmann (1):
media: s5p-mfc: remove an unused/uninitialized variable

Askar Safin (1):
openat2: don't trigger automounts with RESOLVE_NO_XDEV

Baokun Li (1):
ext4: add ext4_sb_bread_nofail() helper function for ext4_free_branches()

Bartosz Golaszewski (1):
gpio: wcd934x: mark the GPIO controller as sleeping

Borislav Petkov (AMD) (1):
KVM: x86: Advertise SRSO_USER_KERNEL_NO to userspace

Brian Masney (2):
clk: at91: peripheral: fix return value
clk: nxp: lpc18xx-cgu: convert from round_rate() to determine_rate()

Brian Norris (1):
PCI/sysfs: Ensure devices are powered for config reads

Catalin Marinas (1):
arm64: mte: Do not flag the zero page as PG_mte_tagged

Chen-Yu Tsai (1):
clk: mediatek: clk-mux: Do not pass flags to clk_mux_determine_rate_flags()

Christian Brauner (3):
listmount: don't call path_put() under namespace semaphore
statmount: don't call path_put() under namespace semaphore
mount: handle NULL values in mnt_ns_release()

Chuck Lever (1):
NFSD: Replace use of NFSD_MAY_LOCK in nfsd4_lock()

Clément Le Goffic (1):
rtc: optee: fix memory leak on driver removal

Corey Minyard (2):
Revert "ipmi: fix msg stack when IPMI is disconnected"
ipmi: Rework user message limit handling

Dan Carpenter (2):
clk: qcom: common: Fix NULL vs IS_ERR() check in qcom_cc_icc_register() net/mlx4: prevent potential use after free in mlx4_en_do_uc_filter()

Daniel Borkmann (1):

      bpf: Fix metadata_dst leak __bpf_redirect_neigh_v{4,6}

Daniel Tang (1):
ACPI: TAD: Add missing sysfs_remove_group() for ACPI_TAD_RT

Darrick J. Wong (1):
fuse: fix livelock in synchronous file put from fuseblk workers

David Lechner (1):
media: pci: mg4b: fix uninitialized iio scan data

Deepanshu Kartikey (1):
ext4: validate ea_ino and size in check_xattrs

Donet Tom (1):
mm/ksm: fix incorrect KSM counter handling in mm_struct during fork

Duoming Zhou (2):
scsi: mvsas: Fix use-after-free bugs in mvs_work_queue
net: mscc: ocelot: Fix use-after-free caused by cyclic delayed work

Dzmitry Sankouski (1):
power: supply: max77976_charger: fix constant current reporting

Edward Adam Davis (1):
media: mc: Clear minor number before put device

Eric Biggers (2):
KEYS: trusted_tpm1: Compare HMAC values in constant time
sctp: Fix MAC comparison to be constant-time

Eric Dumazet (1):

      tcp: take care of zero tp->window_clamp in tcp_set_rcvlowat()

Eric Woudstra (1):
bridge: br_vlan_fill_forward_path_pvid: use br_vlan_group_rcu()

Erick Karanja (1):
net: fsl_pq_mdio: Fix device node reference leak in fsl_pq_mdio_probe

Esben Haabendal (2):
rtc: interface: Ensure alarm irq is enabled when UIE is enabled
rtc: interface: Fix long-standing race when setting alarm

Fangzhi Zuo (1):
drm/amd/display: Enable Dynamic DTBCLK Switch

Fedor Pchelkin (1):
clk: tegra: do not overallocate memory for bpmp clocks

Fernando Fernandez Mancera (1):
netfilter: nft_objref: validate objref and objrefmap expressions

Finn Thain (1):
fbdev: Fix logic error in "offb" name match

Florian Westphal (1):
selftests: netfilter: query conntrack state to check for port clash resolution

Fushuai Wang (1):
cifs: Fix copy_to_iter return value check

Georg Gottleuber (1):
nvme-pci: Add TUXEDO IBS Gen8 to Samsung sleep quirk

Greg Kroah-Hartman (1):

      Linux 6.12.54

Guenter Roeck (1):
ipmi: Fix handling of messages with provided receive message pointer

Gunnar Kudrjavets (1):
tpm_tis: Fix incorrect arguments in tpm_tis_probe_irq_single

Hans Verkuil (1):
media: vivid: fix disappearing <Vendor Command With ID> messages

Hans de Goede (2):
mfd: intel_soc_pmic_chtdc_ti: Fix invalid regmap-config max_register value
mfd: intel_soc_pmic_chtdc_ti: Set use_single_read regmap_config flag

Haotian Zhang (1):
ice: ice_adapter: release xa entry on adapter allocation failure

Haoxiang Li (1):
fs/ntfs3: Fix a resource leak bug in wnd_extend()

Harini T (4):
mailbox: zynqmp-ipi: Remove redundant mbox_controller_unregister() call
mailbox: zynqmp-ipi: Remove dev.parent check in zynqmp_ipi_free_mboxes
mailbox: zynqmp-ipi: Fix out-of-bounds access in mailbox cleanup loop
mailbox: zynqmp-ipi: Fix SGI cleanup on unbind

Harshit Agarwal (1):
sched/deadline: Fix race in push_dl_task()

Heiko Carstens (1):
s390: Add -Wno-pointer-sign to KBUILD_CFLAGS_DECOMPRESSOR

Herbert Xu (1):
crypto: essiv - Check ssize for decryption and in-place encryption

Hongbo Li (1):
irqchip/sifive-plic: Make use of __assign_bit()

Huacai Chen (3):
LoongArch: Init acpi_gbl_use_global_lock to false
init: handle bootloader identifier in kernel parameters
ACPICA: Allow to skip Global Lock initialization

Ian Forbes (2):
drm/vmwgfx: Fix Use-after-free in validation drm/vmwgfx: Fix copy-paste typo in validation

Ian Rogers (8):
perf disasm: Avoid undefined behavior in incrementing NULL perf test trace_btf_enum: Skip if permissions are insufficient perf evsel: Avoid container_of on a NULL leader libperf event: Ensure tracing data is multiple of 8 sized perf test shell lbr: Avoid failures with perf event paranoia perf test: Don't leak workload gopipe in PERF_RECORD_* perf evsel: Ensure the fallback message is always written to perf test stat: Avoid hybrid assumption when virtualized

Ilkka Koskinen (1):
perf vendor events arm64 AmpereOneX: Fix typo - should be l1d_cache_access_prefetches

Ilya Leoshkevich (4):
s390/bpf: Centralize frame offset calculations s390/bpf: Describe the frame using a struct instead of constants s390/bpf: Write back tail call counter for BPF_PSEUDO_CALL s390/bpf: Write back tail call counter for BPF_TRAMP_F_CALL_ORIG

Jaehoon Kim (2):
s390/dasd: enforce dma_alignment to ensure proper buffer validation s390/dasd: Return BLK_STS_INVAL for EINVAL from do_dasd_request

Jai Luthra (2):
media: ti: j721e-csi2rx: Use devm_of_platform_populate
media: ti: j721e-csi2rx: Fix source subdev link creation

James Clark (1):
perf test: Add a test for default perf stat command

Jan Kara (4):
ext4: verify orphan file size is not too big
ext4: free orphan info with kvfree
writeback: Avoid softlockup when switching many inodes
writeback: Avoid excessively long inode switching times

Jani Nurminen (1):
PCI: xilinx-nwl: Fix ECAM programming

Jann Horn (1):
drm/panthor: Fix memory leak in panthor_ioctl_group_create()

Jason Andryuk (3):
xen/events: Cleanup find_virq() return codes xen/events: Return -EEXIST for bound VIRQs xen/events: Update virq_to_irq on migration

Jason-JH Lin (1):
mailbox: mtk-cmdq: Remove pm_runtime APIs from cmdq_mbox_send_data()

Jisheng Zhang (1):
pwm: berlin: Fix wrong register in suspend/resume

Johan Hovold (2):
firmware: meson_sm: fix device leak at probe lib/genalloc: fix device leak in of_gen_pool_get()

John David Anglin (1):
parisc: Remove spurious if statement from raw_copy_from_user()

K Prateek Nayak (1):
sched/fair: Block delayed tasks on throttled hierarchy during dequeue

KaFai Wan (1):
bpf: Avoid RCU context warning when unpinning htab with internal structs

Kai Vehmanen (2):
ASoC: SOF: ipc4-pcm: fix delay calculation when DSP resamples
ASoC: SOF: ipc4-pcm: fix start offset calculation for chain DMA

Kirill A. Shutemov (1):
x86/mtrr: Rename mtrr_overwrite_state() to guest_force_mtrr_state()

Krzysztof Kozlowski (1):
pinctrl: samsung: Drop unused S3C24xx driver data

Kuniyuki Iwashima (1):
tcp: Don't call reqsk_fastopen_remove() in tcp_conn_request().

Lance Yang (3):
mm/thp: fix MTE tag mismatch when replacing zero-filled subpages
selftests/mm: skip soft-dirty tests when CONFIG_MEM_SOFT_DIRTY is disabled
mm/rmap: fix soft-dirty and uffd-wp bit loss when remapping zero-filled mTHP subpage to shared zeropage

Laurent Pinchart (1):
media: mc: Fix MUST_CONNECT handling for pads with no links

Leo Yan (6):
perf arm_spe: Correct setting remote access perf arm-spe: Rename the common data source encoding perf arm_spe: Correct memory level for remote access perf session: Fix handling when buffer exceeds 2 GiB tools build: Align warning options with perf perf python: split Clang options when invoking Popen

Li Chen (1):
loop: fix backing file reference leak on validation error

Li RongQing (1):
mm/hugetlb: early exit from hugetlb_pages_alloc_boot() when max_huge_pages=0

Lichen Liu (1):
fs: Add 'initramfs_options' to set initramfs mount options

Linus Walleij (1):
mtd: rawnand: fsmc: Default to autodetect buswidth

Lu Baolu (1):
iommu/vt-d: PRS isn't usable if PDS isn't supported

Lucas Zampieri (1):
irqchip/sifive-plic: Avoid interrupt ID 0 handling during suspend/resume

Lukas Wunner (3):
xen/manage: Fix suspend error path PCI/ERR: Fix uevent on failure to recover PCI/AER: Support errors introduced by PCIe r6.0

Ma Ke (3):
media: lirc: Fix error handling in lirc_register()
of: unittest: Fix device reference count leak in of_unittest_pci_node_verify
sparc: fix error handling in scan_one_device()

Marek Vasut (5):
drm/rcar-du: dsi: Fix 1/2/3 lane support
PCI: tegra: Convert struct tegra_msi mask_lock into raw spinlock
PCI: rcar-gen4: Fix PHY initialization
PCI: rcar-host: Drop PMSR spinlock
PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock

Matthew Auld (1):
drm/xe/uapi: loosen used tracking restriction

Matthieu Baerts (NGI0) (2):
selftests: mptcp: join: validate C-flag + def limit
mptcp: pm: in-kernel: usable client side with C-flag

Miaoqian Lin (2):
ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init
xtensa: simdisk: add input size check in proc_write_simdisk

Michael Hennerich (2):
iio: frequency: adf4350: Fix ADF4350_REG3_12BIT_CLKDIV_MODE
iio: frequency: adf4350: Fix prescaler usage.

Michael Riesch (1):
dt-bindings: phy: rockchip-inno-csi-dphy: make power-domains non-required

Miklos Szeredi (2):
fuse: fix possibly missing fuse_copy_finish() call in fuse_notify()
copy_file_range: limit size if in compat mode

Muhammad Usama Anjum (1):
wifi: ath11k: HAL SRNG: don't deinitialize and re-initialize again

Nam Cao (3):
eventpoll: Replace rwlock with spinlock powerpc/powernv/pci: Fix underflow and leak issue powerpc/pseries/msi: Fix potential underflow and leak issue

Namhyung Kim (2):
perf test: Update sysfs path for core PMU caps perf tools: Add fallback for exclude_guest

Nathan Chancellor (2):
s390/vmlinux.lds.S: Move .vmlinux.info to end of allocatable sections lib/crypto/curve25519-hacl64: Disable KASAN with clang-17 and older

NeilBrown (2):
nfsd: refine and rename NFSD_MAY_LOCK
nfsd: don't use sv_nrthreads in connection limiting calculations.

Nick Morrow (2):

      wifi: mt76: mt7925u: Add VID/PID for Netgear A9000
      wifi: mt76: mt7921u: Add VID/PID for Netgear A7500

Niklas Cassel (2):
PCI: tegra194: Fix broken tegra_pcie_ep_raise_msi_irq()
PCI: tegra194: Reset BARs when running in PCIe endpoint mode

Niklas Schnelle (2):
PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV PCI/AER: Fix missing uevent on recovery when a reset is requested

Ojaswin Mujoo (1):
ext4: correctly handle queries for metadata mappings

Oleg Nesterov (1):

      kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths

Olga Kornievskaia (4):
nfsd: nfserr_jukebox in nlm_fopen should lead to a retry
nfsd: unregister with rpcbind when deleting a transport
nfsd: fix __fh_verify for localio
nfsd: fix access checking for NLM under XPRTSEC policies

Omar Sandoval (1):
arm64: map [_text, _stext) virtual address range non-executable+read-only

Pali Rohár (2):
cifs: Query EA $LXMOD in cifs_query_path_info() for WSL reparse points
nfsd: Fix NFSD_MAY_BYPASS_GSS and NFSD_MAY_BYPASS_GSS_ON_ROOT

Paulo Alcantara (1):
smb: client: fix missing timestamp updates after utime(2)

Peter Ujfalusi (5):
ASoC: SOF: ipc4-topology: Correct the minimum host DMA buffer size
ASoC: SOF: ipc4-topology: Account for different ChainDMA host buffer size
ASoC: SOF: Intel: hda-pcm: Place the constraint on period time instead of buffer time
ASoC: SOF: Intel: Read the LLP via the associated Link DMA channel
ASoC: SOF: ipc4-pcm: Enable delay reporting for ChainDMA streams

Petr Tesarik (1):
dma-mapping: fix direction in dma_alloc direction traces

Phillip Lougher (2):
Squashfs: add additional inode sanity checking
Squashfs: reject negative file sizes in squashfs_read_inode()

Pratyush Yadav (2):
spi: cadence-quadspi: Flush posted register writes before INDAC access
spi: cadence-quadspi: Flush posted register writes before DAC access

Qianfeng Rong (3):
media: i2c: mt9v111: fix incorrect type for ret
iio: dac: ad5360: use int type to store negative error codes
iio: dac: ad5421: use int type to store negative error codes

Qu Wenruo (1):
btrfs: fix the incorrect max_bytes value for find_lock_delalloc_range()

Rafael J. Wysocki (7):
ACPI: property: Fix buffer properties extraction for subnodes
cpufreq: intel_pstate: Fix object lifecycle issue in update_qos_request()
cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency
ACPI: battery: Add synchronization between interface updates
ACPI: property: Disregard references in data-only subnode lists
ACPI: property: Add code comments explaining what is going on
ACPI: property: Do not pass NULL handles to acpi_attach_data()

Randy Dunlap (1):
media: cec: extron-da-hd-4k-plus: drop external-module make commands

Rex Chen (2):
mmc: core: SPI mode remove cmd7
mmc: mmc_spi: multiple block read remove read crc ack

Rob Herring (Arm) (1):
rtc: x1205: Fix Xicor X1205 vendor prefix

Robin Murphy (1):
perf/arm-cmn: Fix CMN S3 DTM offset

Sakari Ailus (2):
mailbox: mtk-cmdq-mailbox: Switch to __pm_runtime_put_autosuspend()
mailbox: mtk-cmdq: Switch to pm_runtime_put_autosuspend()

Sam James (1):
parisc: don't reference obsolete termio struct for TC* constants

Santhosh Kumar K (1):
spi: cadence-quadspi: Fix cqspi_setup_flash()

Scott Mayhew (1):
nfsd: decouple the xprtsec policy check from check_nfsd_access()

Sean Anderson (2):
iio: xilinx-ams: Fix AMS_ALARM_THR_DIRECT_MASK
iio: xilinx-ams: Unmask interrupts after updating alarms

Sean Christopherson (5):
KVM: SVM: Emulate PERF_CNTR_GLOBAL_STATUS_SET for PerfMonV2 rseq/selftests: Use weak symbol reference, not definition, to link with glibc x86/umip: Check that the instruction opcode is at least two bytes x86/umip: Fix decoding of register forms of 0F 01 (SGDT and SIDT aliases) x86/kvm: Force legacy PCI hole to UC when overriding MTRRs for TDX/SNP

Sean Nyekjaer (1):
iio: imu: inv_icm42600: Drop redundant pm_runtime reinitialization in resume

SeongJae Park (2):
mm/damon/vaddr: do not repeat pte_offset_map_lock() until success mm/damon/lru_sort: use param_ctx for damon_attrs staging

Shashank A P (1):
fs: quota: create dedicated workqueue for quota_release_work

Shin'ichiro Kawasaki (1):
PCI: endpoint: pci-epf-test: Add NULL check for DMA channels before release

Shuhao Fu (1):
drm/nouveau: fix bad ret code in nouveau_bo_move_prep

Shuicheng Lin (1):
drm/xe/hw_engine_group: Fix double write lock release in error path

Siddharth Vadapalli (2):
PCI: j721e: Fix programming sequence of "strap" settings
PCI: keystone: Use devm_request_irq() to free "ks-pcie-error-irq" on exit

Simon Schuster (1):
copy_sighand: Handle architectures where sizeof(unsigned long) < sizeof(u64)

Stephan Gerhold (4):
arm64: dts: qcom: msm8916: Add missing MDSS reset
arm64: dts: qcom: msm8939: Add missing MDSS reset
arm64: dts: qcom: sdm845: Fix slimbam num-channels/ees
media: venus: firmware: Use correct reset sequence for IRIS2

Sumit Kumar (1):
bus: mhi: ep: Fix chained transfer handling in read path

Suren Baghdasaryan (2):
slab: prevent warnings when slab obj_exts vector allocation fails
slab: mark slab->obj_exts allocation failures unconditionally

Tetsuo Handa (2):
minixfs: Verify inode mode when loading from disk
cramfs: Verify inode mode when loading from disk

Thadeu Lima de Souza Cascardo (1):
mm/page_alloc: only set ALLOC_HIGHATOMIC for __GPF_HIGH allocations

Theodore Ts'o (1):
ext4: avoid potential buffer over-read in parse_apply_sb_mount_options()

Thomas Fourier (5):
media: cx18: Add missing check after DMA map
media: pci: ivtv: Add missing check after DMA map
crypto: aspeed - Fix dma_unmap_sg() direction
crypto: atmel - Fix dma_unmap_sg() direction
crypto: rockchip - Fix dma_unmap_sg() nents value

Thomas Gleixner (1):
rseq: Protect event mask against membarrier IPI

Thomas Weißschuh (3):
fs: always return zero on success from replace_fd()
ACPI: battery: allocate driver data through devm_ APIs
ACPI: battery: initialize mutexes through devm_ APIs

Thorsten Blum (2):
scsi: hpsa: Fix potential memory leak in hpsa_big_passthru_ioctl()
NFSD: Fix destination buffer size in nfsd4_ssc_setup_dul()

Tiezhu Yang (1):
LoongArch: Add cflag -fno-isolate-erroneous-paths-dereference

Timur Kristóf (3):
drm/amd/display: Add missing DCE6 SCL_HORZ_FILTER_INIT* SRIs drm/amd/display: Properly clear SCL_*_FILTER_CONTROL on DCE6 drm/amd/display: Properly disable scaling on DCE6

Toke Høiland-Jørgensen (1):
page_pool: Fix PP_MAGIC_MASK to avoid crashing on some 32-bit arches

Tomi Valkeinen (1):
media: v4l2-subdev: Fix alloc failure check in v4l2_subdev_call_state_try()

Varad Gautam (1):
asm-generic/io.h: Skip trace helpers if rwmmio events are disabled

Vibhore Vardhan (1):
arm64: dts: ti: k3-am62a-main: Fix main padcfg length

Vidya Sagar (1):
PCI: tegra194: Handle errors in BPMP response

Vineeth Vijayan (1):
s390/cio: Update purge function to unregister the unused subchannels

Wang Jiang (1):
PCI: endpoint: Remove surplus return statement from pci_epf_test_clean_dma_chan()

Xin Li (Intel) (1):
x86/fred: Remove ENDBR64 from FRED entry points

Yang Shi (1):
arm64: kprobes: call set_memory_rox() for kprobe page

Yongjian Sun (1):
ext4: increase i_disksize to offset + len in ext4_update_disksize_before_punch()

Yu Kuai (1):
blk-crypto: fix missing blktrace bio split events

Yuan CHen (1):
clk: renesas: cpg-mssr: Fix memory leak in cpg_mssr_reserved_init()

Yuan Chen (1):
tracing: Fix race condition in kprobe initialization causing NULL pointer dereference

Yunseong Kim (1):
perf util: Fix compression checks returning -1 as bool

Zack Rusin (1):
drm/vmwgfx: Fix a null-ptr access in the cursor snooper

Zhang Yi (1):
ext4: fix an off-by-one issue during moving extents

Zhen Ni (2):
clocksource/drivers/clps711x: Fix resource leaks in error paths
memory: samsung: exynos-srom: Fix of_iomap leak in exynos_srom_probe

gaoxiang17 (1):
pid: Add a judgment for ns null in pid_nr_ns

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +3 -0
index 8724c2c580b8..e88505e945d5 100644
@@ -5923,6 +5923,9 @@
 
 	rootflags=	[KNL] Set root filesystem mount option string
 
+	initramfs_options= [KNL]
+                        Specify mount options for for the initramfs mount.
+
 	rootfstype=	[KNL] Set root filesystem type
 
 	rootwait	[KNL] Wait (indefinitely) for root device to show up.
Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml +14 -1
index 5ac994b3c0aa..b304bc5a08c4 100644
@@ -57,11 +57,24 @@ required:
   - clocks
   - clock-names
   - '#phy-cells'
-  - power-domains
   - resets
   - reset-names
   - rockchip,grf
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - rockchip,px30-csi-dphy
+              - rockchip,rk1808-csi-dphy
+              - rockchip,rk3326-csi-dphy
+              - rockchip,rk3368-csi-dphy
+    then:
+      required:
+        - power-domains
+
 additionalProperties: false
 
 examples:
Makefile +1 -1
index a4a2228276e6..0c6deb33c239 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 12
-SUBLEVEL = 53
+SUBLEVEL = 54
 EXTRAVERSION =
 NAME = Baby Opossum Posse
 
arch/arm/mach-omap2/am33xx-restart.c +36 -0
index fcf3d557aa78..3cdf223addcc 100644
@@ -2,12 +2,46 @@
 /*
  * am33xx-restart.c - Code common to all AM33xx machines.
  */
+#include <dt-bindings/pinctrl/am33xx.h>
+#include <linux/delay.h>
 #include <linux/kernel.h>
 #include <linux/reboot.h>
 
 #include "common.h"
+#include "control.h"
 #include "prm.h"
 
+/*
+ * Advisory 1.0.36 EMU0 and EMU1: Terminals Must be Pulled High Before
+ * ICEPick Samples
+ *
+ * If EMU0/EMU1 pins have been used as GPIO outputs and actively driving low
+ * level, the device might not reboot in normal mode. We are in a bad position
+ * to override GPIO state here, so just switch the pins into EMU input mode
+ * (that's what reset will do anyway) and wait a bit, because the state will be
+ * latched 190 ns after reset.
+ */
+static void am33xx_advisory_1_0_36(void)
+{
+	u32 emu0 = omap_ctrl_readl(AM335X_PIN_EMU0);
+	u32 emu1 = omap_ctrl_readl(AM335X_PIN_EMU1);
+
+	/* If both pins are in EMU mode, nothing to do */
+	if (!(emu0 & 7) && !(emu1 & 7))
+		return;
+
+	/* Switch GPIO3_7/GPIO3_8 into EMU0/EMU1 modes respectively */
+	omap_ctrl_writel(emu0 & ~7, AM335X_PIN_EMU0);
+	omap_ctrl_writel(emu1 & ~7, AM335X_PIN_EMU1);
+
+	/*
+	 * Give pull-ups time to load the pin/PCB trace capacity.
+	 * 5 ms shall be enough to load 1 uF (would be huge capacity for these
+	 * pins) with TI-recommended 4k7 external pull-ups.
+	 */
+	mdelay(5);
+}
+
 /**
  * am33xx_restart - trigger a software restart of the SoC
  * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c
@@ -18,6 +52,8 @@
  */
 void am33xx_restart(enum reboot_mode mode, const char *cmd)
 {
+	am33xx_advisory_1_0_36();
+
 	/* TODO: Handle cmd if necessary */
 	prm_reboot_mode = mode;
 
arch/arm/mach-omap2/pm33xx-core.c +5 -1
index c907478be196..4abb86dc98fd 100644
@@ -388,12 +388,15 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
 		if (!state_node)
 			break;
 
-		if (!of_device_is_available(state_node))
+		if (!of_device_is_available(state_node)) {
+			of_node_put(state_node);
 			continue;
+		}
 
 		if (i == CPUIDLE_STATE_MAX) {
 			pr_warn("%s: cpuidle states reached max possible\n",
 				__func__);
+			of_node_put(state_node);
 			break;
 		}
 
@@ -403,6 +406,7 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
 			states[state_count].wfi_flags |= WFI_FLAG_WAKE_M3 |
 							 WFI_FLAG_FLUSH_CACHE;
 
+		of_node_put(state_node);
 		state_count++;
 	}
 
arch/arm64/boot/dts/qcom/msm8916.dtsi +2 -0
index 800bfe83dbf8..b0f1c1b2e6f3 100644
@@ -1540,6 +1540,8 @@ mdss: display-subsystem@1a00000 {
 
 			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 
+			resets = <&gcc GCC_MDSS_BCR>;
+
 			interrupt-controller;
 			#interrupt-cells = <1>;
 
arch/arm64/boot/dts/qcom/msm8939.dtsi +2 -0
index effa3aaeb250..39493f75c0dc 100644
@@ -1218,6 +1218,8 @@ mdss: display-subsystem@1a00000 {
 
 			power-domains = <&gcc MDSS_GDSC>;
 
+			resets = <&gcc GCC_MDSS_BCR>;
+
 			#address-cells = <1>;
 			#size-cells = <1>;
 			#interrupt-cells = <1>;
arch/arm64/boot/dts/qcom/sdm845.dtsi +2 -2
index 9bf7a405a964..54956ae1f674 100644
@@ -5365,11 +5365,11 @@ slimbam: dma-controller@17184000 {
 			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
 			qcom,controlled-remotely;
 			reg = <0 0x17184000 0 0x2a000>;
-			num-channels = <31>;
+			num-channels = <23>;
 			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
 			#dma-cells = <1>;
 			qcom,ee = <1>;
-			qcom,num-ees = <2>;
+			qcom,num-ees = <4>;
 			iommus = <&apps_smmu 0x1806 0x0>;
 		};
 
arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi +2 -0
index 5b54ee79f048..9986a10ae006 100644
@@ -475,6 +475,8 @@ pm8010: pmic@c {
 		#address-cells = <1>;
 		#size-cells = <0>;
 
+		status = "disabled";
+
 		pm8010_temp_alarm: temp-alarm@2400 {
 			compatible = "qcom,spmi-temp-alarm";
 			reg = <0x2400>;
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +1 -1
index 45d68a0d1b59..c4857bfbeb14 100644
@@ -258,7 +258,7 @@ secure_proxy_sa3: mailbox@43600000 {
 
 	main_pmx0: pinctrl@f4000 {
 		compatible = "pinctrl-single";
-		reg = <0x00 0xf4000 0x00 0x2ac>;
+		reg = <0x00 0xf4000 0x00 0x25c>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;
 		pinctrl-single,function-mask = <0xffffffff>;
arch/arm64/kernel/cpufeature.c +7 -3
index 9ca5ffd8d817..5e68d65e675e 100644
@@ -2279,17 +2279,21 @@ static void bti_enable(const struct arm64_cpu_capabilities *__unused)
 #ifdef CONFIG_ARM64_MTE
 static void cpu_enable_mte(struct arm64_cpu_capabilities const *cap)
 {
+	static bool cleared_zero_page = false;
+
 	sysreg_clear_set(sctlr_el1, 0, SCTLR_ELx_ATA | SCTLR_EL1_ATA0);
 
 	mte_cpu_setup();
 
 	/*
 	 * Clear the tags in the zero page. This needs to be done via the
-	 * linear map which has the Tagged attribute.
+	 * linear map which has the Tagged attribute. Since this page is
+	 * always mapped as pte_special(), set_pte_at() will not attempt to
+	 * clear the tags or set PG_mte_tagged.
 	 */
-	if (try_page_mte_tagging(ZERO_PAGE(0))) {
+	if (!cleared_zero_page) {
+		cleared_zero_page = true;
 		mte_clear_page_tags(lm_alias(empty_zero_page));
-		set_page_mte_tagged(ZERO_PAGE(0));
 	}
 
 	kasan_init_hw_tags_cpu();
arch/arm64/kernel/mte.c +2 -1
index 6174671be7c1..5d63ca966737 100644
@@ -428,7 +428,8 @@ static int __access_remote_tags(struct mm_struct *mm, unsigned long addr,
 			put_page(page);
 			break;
 		}
-		WARN_ON_ONCE(!page_mte_tagged(page));
+
+		WARN_ON_ONCE(!page_mte_tagged(page) && !is_zero_page(page));
 
 		/* limit access to the end of the page */
 		offset = offset_in_page(addr);
arch/arm64/kernel/pi/map_kernel.c +6 -0
index e57b043f324b..adec61b8b278 100644
@@ -78,6 +78,12 @@ static void __init map_kernel(u64 kaslr_offset, u64 va_offset, int root_level)
 	twopass |= enable_scs;
 	prot = twopass ? data_prot : text_prot;
 
+	/*
+	 * [_stext, _text) isn't executed after boot and contains some
+	 * non-executable, unpredictable data, so map it non-executable.
+	 */
+	map_segment(init_pg_dir, &pgdp, va_offset, _text, _stext, data_prot,
+		    false, root_level);
 	map_segment(init_pg_dir, &pgdp, va_offset, _stext, _etext, prot,
 		    !twopass, root_level);
 	map_segment(init_pg_dir, &pgdp, va_offset, __start_rodata,
arch/arm64/kernel/probes/kprobes.c +12 -0
index 4268678d0e86..6e397d8dcd4c 100644
@@ -10,6 +10,7 @@
 
 #define pr_fmt(fmt) "kprobes: " fmt
 
+#include <linux/execmem.h>
 #include <linux/extable.h>
 #include <linux/kasan.h>
 #include <linux/kernel.h>
@@ -41,6 +42,17 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
 static void __kprobes
 post_kprobe_handler(struct kprobe *, struct kprobe_ctlblk *, struct pt_regs *);
 
+void *alloc_insn_page(void)
+{
+	void *addr;
+
+	addr = execmem_alloc(EXECMEM_KPROBES, PAGE_SIZE);
+	if (!addr)
+		return NULL;
+	set_memory_rox((unsigned long)addr, 1);
+	return addr;
+}
+
 static void __kprobes arch_prepare_ss_slot(struct kprobe *p)
 {
 	kprobe_opcode_t *addr = p->ainsn.api.insn;
arch/arm64/kernel/setup.c +2 -2
index 87f61fd6783c..8185979f0f11 100644
@@ -213,7 +213,7 @@ static void __init request_standard_resources(void)
 	unsigned long i = 0;
 	size_t res_size;
 
-	kernel_code.start   = __pa_symbol(_stext);
+	kernel_code.start   = __pa_symbol(_text);
 	kernel_code.end     = __pa_symbol(__init_begin - 1);
 	kernel_data.start   = __pa_symbol(_sdata);
 	kernel_data.end     = __pa_symbol(_end - 1);
@@ -281,7 +281,7 @@ u64 cpu_logical_map(unsigned int cpu)
 
 void __init __no_sanitize_address setup_arch(char **cmdline_p)
 {
-	setup_initial_init_mm(_stext, _etext, _edata, _end);
+	setup_initial_init_mm(_text, _etext, _edata, _end);
 
 	*cmdline_p = boot_command_line;
 
arch/arm64/mm/init.c +1 -1
index 93ba66de160c..c59aa6df14db 100644
@@ -300,7 +300,7 @@ void __init arm64_memblock_init(void)
 	 * Register the kernel text, kernel data, initrd, and initial
 	 * pagetables with memblock.
 	 */
-	memblock_reserve(__pa_symbol(_stext), _end - _stext);
+	memblock_reserve(__pa_symbol(_text), _end - _text);
 	if (IS_ENABLED(CONFIG_BLK_DEV_INITRD) && phys_initrd_size) {
 		/* the generic initrd code expects virtual addresses */
 		initrd_start = __phys_to_virt(phys_initrd_start);
arch/arm64/mm/mmu.c +9 -5
index aed8d32979d9..ea80e271301e 100644
@@ -561,8 +561,8 @@ void __init mark_linear_text_alias_ro(void)
 	/*
 	 * Remove the write permissions from the linear alias of .text/.rodata
 	 */
-	update_mapping_prot(__pa_symbol(_stext), (unsigned long)lm_alias(_stext),
-			    (unsigned long)__init_begin - (unsigned long)_stext,
+	update_mapping_prot(__pa_symbol(_text), (unsigned long)lm_alias(_text),
+			    (unsigned long)__init_begin - (unsigned long)_text,
 			    PAGE_KERNEL_RO);
 }
 
@@ -623,7 +623,7 @@ static inline void arm64_kfence_map_pool(phys_addr_t kfence_pool, pgd_t *pgdp) {
 static void __init map_mem(pgd_t *pgdp)
 {
 	static const u64 direct_map_end = _PAGE_END(VA_BITS_MIN);
-	phys_addr_t kernel_start = __pa_symbol(_stext);
+	phys_addr_t kernel_start = __pa_symbol(_text);
 	phys_addr_t kernel_end = __pa_symbol(__init_begin);
 	phys_addr_t start, end;
 	phys_addr_t early_kfence_pool;
@@ -670,7 +670,7 @@ static void __init map_mem(pgd_t *pgdp)
 	}
 
 	/*
-	 * Map the linear alias of the [_stext, __init_begin) interval
+	 * Map the linear alias of the [_text, __init_begin) interval
 	 * as non-executable now, and remove the write permission in
 	 * mark_linear_text_alias_ro() below (which will be called after
 	 * alternative patching has completed). This makes the contents
@@ -697,6 +697,10 @@ void mark_rodata_ro(void)
 	WRITE_ONCE(rodata_is_rw, false);
 	update_mapping_prot(__pa_symbol(__start_rodata), (unsigned long)__start_rodata,
 			    section_size, PAGE_KERNEL_RO);
+	/* mark the range between _text and _stext as read only. */
+	update_mapping_prot(__pa_symbol(_text), (unsigned long)_text,
+			    (unsigned long)_stext - (unsigned long)_text,
+			    PAGE_KERNEL_RO);
 }
 
 static void __init declare_vma(struct vm_struct *vma,
@@ -767,7 +771,7 @@ static void __init declare_kernel_vmas(void)
 {
 	static struct vm_struct vmlinux_seg[KERNEL_SEGMENT_COUNT];
 
-	declare_vma(&vmlinux_seg[0], _stext, _etext, VM_NO_GUARD);
+	declare_vma(&vmlinux_seg[0], _text, _etext, VM_NO_GUARD);
 	declare_vma(&vmlinux_seg[1], __start_rodata, __inittext_begin, VM_NO_GUARD);
 	declare_vma(&vmlinux_seg[2], __inittext_begin, __inittext_end, VM_NO_GUARD);
 	declare_vma(&vmlinux_seg[3], __initdata_begin, __initdata_end, VM_NO_GUARD);
arch/loongarch/Makefile +1 -1
index 567bd122a9ee..c14ae21075c5 100644
@@ -114,7 +114,7 @@ KBUILD_RUSTFLAGS_KERNEL		+= -Crelocation-model=pie
 LDFLAGS_vmlinux			+= -static -pie --no-dynamic-linker -z notext $(call ld-option, --apply-dynamic-relocs)
 endif
 
-cflags-y += $(call cc-option, -mno-check-zero-division)
+cflags-y += $(call cc-option, -mno-check-zero-division -fno-isolate-erroneous-paths-dereference)
 
 ifndef CONFIG_KASAN
 cflags-y += -fno-builtin-memcpy -fno-builtin-memmove -fno-builtin-memset
arch/loongarch/kernel/setup.c +1 -0
index 1fa6a604734e..2ceb198ae8c8 100644
@@ -354,6 +354,7 @@ void __init platform_init(void)
 
 #ifdef CONFIG_ACPI
 	acpi_table_upgrade();
+	acpi_gbl_use_global_lock = false;
 	acpi_gbl_use_default_register_widths = false;
 	acpi_boot_table_init();
 #endif
arch/parisc/include/uapi/asm/ioctls.h +4 -4
index 82d1148c6379..74b4027a4e80 100644
@@ -10,10 +10,10 @@
 #define TCSETS		_IOW('T', 17, struct termios) /* TCSETATTR */
 #define TCSETSW		_IOW('T', 18, struct termios) /* TCSETATTRD */
 #define TCSETSF		_IOW('T', 19, struct termios) /* TCSETATTRF */
-#define TCGETA		_IOR('T', 1, struct termio)
-#define TCSETA		_IOW('T', 2, struct termio)
-#define TCSETAW		_IOW('T', 3, struct termio)
-#define TCSETAF		_IOW('T', 4, struct termio)
+#define TCGETA          0x40125401
+#define TCSETA          0x80125402
+#define TCSETAW         0x80125403
+#define TCSETAF         0x80125404
 #define TCSBRK		_IO('T', 5)
 #define TCXONC		_IO('T', 6)
 #define TCFLSH		_IO('T', 7)
arch/parisc/lib/memcpy.c +0 -1
index 69d65ffab312..03165c82dfdb 100644
@@ -41,7 +41,6 @@ unsigned long raw_copy_from_user(void *dst, const void __user *src,
 	mtsp(get_kernel_space(), SR_TEMP2);
 
 	/* Check region is user accessible */
-	if (start)
 	while (start < end) {
 		if (!prober_user(SR_TEMP1, start)) {
 			newlen = (start - (unsigned long) src);
arch/powerpc/platforms/powernv/pci-ioda.c +1 -1
index b0a14e48175c..4d938c1bfdd3 100644
@@ -1897,7 +1897,7 @@ static int pnv_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
 	return 0;
 
 out:
-	irq_domain_free_irqs_parent(domain, virq, i - 1);
+	irq_domain_free_irqs_parent(domain, virq, i);
 	msi_bitmap_free_hwirqs(&phb->msi_bmp, hwirq, nr_irqs);
 	return ret;
 }
arch/powerpc/platforms/pseries/msi.c +1 -1
index ba98a680a12e..169859df1aa9 100644
@@ -592,7 +592,7 @@ static int pseries_irq_domain_alloc(struct irq_domain *domain, unsigned int virq
 
 out:
 	/* TODO: handle RTAS cleanup in ->msi_finish() ? */
-	irq_domain_free_irqs_parent(domain, virq, i - 1);
+	irq_domain_free_irqs_parent(domain, virq, i);
 	return ret;
 }
 
arch/s390/Makefile +1 -0
index 5b97af311709..f949f7e1000c 100644
@@ -25,6 +25,7 @@ endif
 KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -mpacked-stack -std=gnu11
 KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
 KBUILD_CFLAGS_DECOMPRESSOR += -D__DECOMPRESSOR
+KBUILD_CFLAGS_DECOMPRESSOR += -Wno-pointer-sign
 KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float -mbackchain
 KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
 KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding
arch/s390/kernel/vmlinux.lds.S +27 -27

66 lines not on this page · raw message

arch/s390/net/bpf_jit.h deleted +0 -55

55 lines not on this page · raw message

arch/s390/net/bpf_jit_comp.c +86 -53

320 lines not on this page · raw message

arch/sparc/kernel/of_device_32.c +1 -0
index 06012e68bdca..284a4cafa432 100644
@@ -387,6 +387,7 @@ static struct platform_device * __init scan_one_device(struct device_node *dp,
 
 	if (of_device_register(op)) {
 		printk("%pOF: Could not register of device.\n", dp);
+		put_device(&op->dev);
 		kfree(op);
 		op = NULL;
 	}
arch/sparc/kernel/of_device_64.c +1 -0
index f98c2901f335..f53092b07b9e 100644
@@ -677,6 +677,7 @@ static struct platform_device * __init scan_one_device(struct device_node *dp,
 
 	if (of_device_register(op)) {
 		printk("%pOF: Could not register of device.\n", dp);
+		put_device(&op->dev);
 		kfree(op);
 		op = NULL;
 	}
arch/sparc/mm/hugetlbpage.c +20 -0
index c276d70a7479..305f191ba81b 100644
@@ -130,6 +130,26 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
 
 static pte_t sun4u_hugepage_shift_to_tte(pte_t entry, unsigned int shift)
 {
+	unsigned long hugepage_size = _PAGE_SZ4MB_4U;
+
+	pte_val(entry) = pte_val(entry) & ~_PAGE_SZALL_4U;
+
+	switch (shift) {
+	case HPAGE_256MB_SHIFT:
+		hugepage_size = _PAGE_SZ256MB_4U;
+		pte_val(entry) |= _PAGE_PMD_HUGE;
+		break;
+	case HPAGE_SHIFT:
+		pte_val(entry) |= _PAGE_PMD_HUGE;
+		break;
+	case HPAGE_64K_SHIFT:
+		hugepage_size = _PAGE_SZ64K_4U;
+		break;
+	default:
+		WARN_ONCE(1, "unsupported hugepage shift=%u\n", shift);
+	}
+
+	pte_val(entry) = pte_val(entry) | hugepage_size;
 	return entry;
 }
 
arch/x86/entry/entry_64_fred.S +1 -1
index a02bc6f3d2e6..0ca9db540b16 100644
@@ -16,7 +16,7 @@
 
 .macro FRED_ENTER
 	UNWIND_HINT_END_OF_STACK
-	ENDBR
+	ANNOTATE_NOENDBR
 	PUSH_AND_CLEAR_REGS
 	movq	%rsp, %rdi	/* %rdi -> pt_regs */
 .endm
arch/x86/hyperv/ivm.c +1 -1
index af87f440bc2a..8c345ad45841 100644
@@ -681,7 +681,7 @@ void __init hv_vtom_init(void)
 	x86_platform.guest.enc_status_change_finish = hv_vtom_set_host_visibility;
 
 	/* Set WB as the default cache mode. */
-	mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
+	guest_force_mtrr_state(NULL, 0, MTRR_TYPE_WRBACK);
 }
 
 #endif /* defined(CONFIG_AMD_MEM_ENCRYPT) || defined(CONFIG_INTEL_TDX_GUEST) */
arch/x86/include/asm/msr-index.h +1 -0
index 21d07aa9400c..b67280d761f6 100644
@@ -722,6 +722,7 @@
 #define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS	0xc0000300
 #define MSR_AMD64_PERF_CNTR_GLOBAL_CTL		0xc0000301
 #define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR	0xc0000302
+#define MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET	0xc0000303
 
 /* AMD Last Branch Record MSRs */
 #define MSR_AMD64_LBR_SELECT			0xc000010e
arch/x86/include/asm/mtrr.h +5 -5
index 4218248083d9..c69e269937c5 100644
@@ -58,8 +58,8 @@ struct mtrr_state_type {
  */
 # ifdef CONFIG_MTRR
 void mtrr_bp_init(void);
-void mtrr_overwrite_state(struct mtrr_var_range *var, unsigned int num_var,
-			  mtrr_type def_type);
+void guest_force_mtrr_state(struct mtrr_var_range *var, unsigned int num_var,
+			    mtrr_type def_type);
 extern u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform);
 extern void mtrr_save_fixed_ranges(void *);
 extern void mtrr_save_state(void);
@@ -75,9 +75,9 @@ void mtrr_disable(void);
 void mtrr_enable(void);
 void mtrr_generic_set_state(void);
 #  else
-static inline void mtrr_overwrite_state(struct mtrr_var_range *var,
-					unsigned int num_var,
-					mtrr_type def_type)
+static inline void guest_force_mtrr_state(struct mtrr_var_range *var,
+					  unsigned int num_var,
+					  mtrr_type def_type)
 {
 }
 
arch/x86/kernel/cpu/mtrr/generic.c +3 -3
index 1ececfce7a46..4b1e2d14e5aa 100644
@@ -423,7 +423,7 @@ void __init mtrr_copy_map(void)
 }
 
 /**
- * mtrr_overwrite_state - set static MTRR state
+ * guest_force_mtrr_state - set static MTRR state for a guest
  *
  * Used to set MTRR state via different means (e.g. with data obtained from
  * a hypervisor).
@@ -436,8 +436,8 @@ void __init mtrr_copy_map(void)
  * @num_var: length of the @var array
  * @def_type: default caching type
  */
-void mtrr_overwrite_state(struct mtrr_var_range *var, unsigned int num_var,
-			  mtrr_type def_type)
+void guest_force_mtrr_state(struct mtrr_var_range *var, unsigned int num_var,
+			    mtrr_type def_type)
 {
 	unsigned int i;
 
arch/x86/kernel/cpu/mtrr/mtrr.c +1 -1
index 989d368be04f..ecbda0341a8a 100644
@@ -625,7 +625,7 @@ void mtrr_save_state(void)
 static int __init mtrr_init_finalize(void)
 {
 	/*
-	 * Map might exist if mtrr_overwrite_state() has been called or if
+	 * Map might exist if guest_force_mtrr_state() has been called or if
 	 * mtrr_enabled() returns true.
 	 */
 	mtrr_copy_map();
arch/x86/kernel/kvm.c +19 -2
index 21e9e4845354..bd21c568bc2a 100644
@@ -933,6 +933,19 @@ static void kvm_sev_hc_page_enc_status(unsigned long pfn, int npages, bool enc)
 
 static void __init kvm_init_platform(void)
 {
+	u64 tolud = PFN_PHYS(e820__end_of_low_ram_pfn());
+	/*
+	 * Note, hardware requires variable MTRR ranges to be power-of-2 sized
+	 * and naturally aligned.  But when forcing guest MTRR state, Linux
+	 * doesn't program the forced ranges into hardware.  Don't bother doing
+	 * the math to generate a technically-legal range.
+	 */
+	struct mtrr_var_range pci_hole = {
+		.base_lo = tolud | X86_MEMTYPE_UC,
+		.mask_lo = (u32)(~(SZ_4G - tolud - 1)) | MTRR_PHYSMASK_V,
+		.mask_hi = (BIT_ULL(boot_cpu_data.x86_phys_bits) - 1) >> 32,
+	};
+
 	if (cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT) &&
 	    kvm_para_has_feature(KVM_FEATURE_MIGRATION_CONTROL)) {
 		unsigned long nr_pages;
@@ -982,8 +995,12 @@ static void __init kvm_init_platform(void)
 	kvmclock_init();
 	x86_platform.apic_post_init = kvm_apic_init;
 
-	/* Set WB as the default cache mode for SEV-SNP and TDX */
-	mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
+	/*
+	 * Set WB as the default cache mode for SEV-SNP and TDX, with a single
+	 * UC range for the legacy PCI hole, e.g. so that devices that expect
+	 * to get UC/WC mappings don't get surprised with WB.
+	 */
+	guest_force_mtrr_state(&pci_hole, 1, MTRR_TYPE_WRBACK);
 }
 
 #if defined(CONFIG_AMD_MEM_ENCRYPT)
arch/x86/kernel/umip.c +13 -2
index 5a4b21389b1d..d432f3824f0c 100644
@@ -156,15 +156,26 @@ static int identify_insn(struct insn *insn)
 	if (!insn->modrm.nbytes)
 		return -EINVAL;
 
-	/* All the instructions of interest start with 0x0f. */
-	if (insn->opcode.bytes[0] != 0xf)
+	/* The instructions of interest have 2-byte opcodes: 0F 00 or 0F 01. */
+	if (insn->opcode.nbytes < 2 || insn->opcode.bytes[0] != 0xf)
 		return -EINVAL;
 
 	if (insn->opcode.bytes[1] == 0x1) {
 		switch (X86_MODRM_REG(insn->modrm.value)) {
 		case 0:
+			/* The reg form of 0F 01 /0 encodes VMX instructions. */
+			if (X86_MODRM_MOD(insn->modrm.value) == 3)
+				return -EINVAL;
+
 			return UMIP_INST_SGDT;
 		case 1:
+			/*
+			 * The reg form of 0F 01 /1 encodes MONITOR/MWAIT,
+			 * STAC/CLAC, and ENCLS.
+			 */
+			if (X86_MODRM_MOD(insn->modrm.value) == 3)
+				return -EINVAL;
+
 			return UMIP_INST_SIDT;
 		case 4:
 			return UMIP_INST_SMSW;
arch/x86/kvm/cpuid.c +1 -1
index 8f587c5bb6bc..a7a1486ce270 100644
@@ -816,7 +816,7 @@ void kvm_set_cpu_caps(void)
 		F(NO_NESTED_DATA_BP) | F(LFENCE_RDTSC) | 0 /* SmmPgCfgLock */ |
 		F(VERW_CLEAR) |
 		F(NULL_SEL_CLR_BASE) | F(AUTOIBRS) | 0 /* PrefetchCtlMsr */ |
-		F(WRMSR_XX_BASE_NS)
+		F(WRMSR_XX_BASE_NS) | F(SRSO_USER_KERNEL_NO)
 	);
 
 	kvm_cpu_cap_check_and_set(X86_FEATURE_SBPB);
arch/x86/kvm/pmu.c +5 -0
index 47a46283c866..a26e8f5ad790 100644
@@ -650,6 +650,7 @@ int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		msr_info->data = pmu->global_ctrl;
 		break;
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 	case MSR_CORE_PERF_GLOBAL_OVF_CTRL:
 		msr_info->data = 0;
 		break;
@@ -711,6 +712,10 @@ int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		if (!msr_info->host_initiated)
 			pmu->global_status &= ~data;
 		break;
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
+		if (!msr_info->host_initiated)
+			pmu->global_status |= data & ~pmu->global_status_rsvd;
+		break;
 	default:
 		kvm_pmu_mark_pmc_in_use(vcpu, msr_info->index);
 		return kvm_pmu_call(set_msr)(vcpu, msr_info);
arch/x86/kvm/svm/pmu.c +1 -0
index 22d5a65b410c..dbca6453ec4d 100644
@@ -113,6 +113,7 @@ static bool amd_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_CTL:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 		return pmu->version > 1;
 	default:
 		if (msr > MSR_F15H_PERF_CTR5 &&
arch/x86/kvm/x86.c +2 -0
index 86cabeca6265..20f89bceaeae 100644
@@ -364,6 +364,7 @@ static const u32 msrs_to_save_pmu[] = {
 	MSR_AMD64_PERF_CNTR_GLOBAL_CTL,
 	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS,
 	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR,
+	MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET,
 };
 
 static u32 msrs_to_save[ARRAY_SIZE(msrs_to_save_base) +
@@ -7449,6 +7450,7 @@ static void kvm_probe_msr_to_save(u32 msr_index)
 	case MSR_AMD64_PERF_CNTR_GLOBAL_CTL:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS:
 	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_CLR:
+	case MSR_AMD64_PERF_CNTR_GLOBAL_STATUS_SET:
 		if (!kvm_cpu_cap_has(X86_FEATURE_PERFMON_V2))
 			return;
 		break;
arch/x86/xen/enlighten_pv.c +2 -2
index a8eb7e0c473c..e033d5594265 100644
@@ -171,7 +171,7 @@ static void __init xen_set_mtrr_data(void)
 
 	/* Only overwrite MTRR state if any MTRR could be got from Xen. */
 	if (reg)
-		mtrr_overwrite_state(var, reg, MTRR_TYPE_UNCACHABLE);
+		guest_force_mtrr_state(var, reg, MTRR_TYPE_UNCACHABLE);
 #endif
 }
 
@@ -195,7 +195,7 @@ static void __init xen_pv_init_platform(void)
 	if (xen_initial_domain())
 		xen_set_mtrr_data();
 	else
-		mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
+		guest_force_mtrr_state(NULL, 0, MTRR_TYPE_WRBACK);
 
 	/* Adjust nr_cpu_ids before "enumeration" happens */
 	xen_smp_count_cpus();
arch/xtensa/platforms/iss/simdisk.c +5 -1
index d6d2b533a574..f5add569ca83 100644
@@ -230,10 +230,14 @@ static ssize_t proc_read_simdisk(struct file *file, char __user *buf,
 static ssize_t proc_write_simdisk(struct file *file, const char __user *buf,
 			size_t count, loff_t *ppos)
 {
-	char *tmp = memdup_user_nul(buf, count);
+	char *tmp;
 	struct simdisk *dev = pde_data(file_inode(file));
 	int err;
 
+	if (count == 0 || count > PAGE_SIZE)
+		return -EINVAL;
+
+	tmp = memdup_user_nul(buf, count);
 	if (IS_ERR(tmp))
 		return PTR_ERR(tmp);
 
block/blk-crypto-fallback.c +3 -0
index b1e7415f8439..d04192ae3dce 100644
@@ -18,6 +18,7 @@
 #include <linux/module.h>
 #include <linux/random.h>
 #include <linux/scatterlist.h>
+#include <trace/events/block.h>
 
 #include "blk-cgroup.h"
 #include "blk-crypto-internal.h"
@@ -230,7 +231,9 @@ static bool blk_crypto_fallback_split_bio_if_needed(struct bio **bio_ptr)
 			bio->bi_status = BLK_STS_RESOURCE;
 			return false;
 		}
+
 		bio_chain(split_bio, bio);
+		trace_block_split(split_bio, bio->bi_iter.bi_sector);
 		submit_bio_noacct(bio);
 		*bio_ptr = split_bio;
 	}
crypto/essiv.c +6 -8
index e63fc6442e32..aa7ebc123527 100644
@@ -186,9 +186,14 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc)
 	const struct essiv_tfm_ctx *tctx = crypto_aead_ctx(tfm);
 	struct essiv_aead_request_ctx *rctx = aead_request_ctx(req);
 	struct aead_request *subreq = &rctx->aead_req;
+	int ivsize = crypto_aead_ivsize(tfm);
+	int ssize = req->assoclen - ivsize;
 	struct scatterlist *src = req->src;
 	int err;
 
+	if (ssize < 0)
+		return -EINVAL;
+
 	crypto_cipher_encrypt_one(tctx->essiv_cipher, req->iv, req->iv);
 
 	/*
@@ -198,19 +203,12 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc)
 	 */
 	rctx->assoc = NULL;
 	if (req->src == req->dst || !enc) {
-		scatterwalk_map_and_copy(req->iv, req->dst,
-					 req->assoclen - crypto_aead_ivsize(tfm),
-					 crypto_aead_ivsize(tfm), 1);
+		scatterwalk_map_and_copy(req->iv, req->dst, ssize, ivsize, 1);
 	} else {
 		u8 *iv = (u8 *)aead_request_ctx(req) + tctx->ivoffset;
-		int ivsize = crypto_aead_ivsize(tfm);
-		int ssize = req->assoclen - ivsize;
 		struct scatterlist *sg;
 		int nents;
 
-		if (ssize < 0)
-			return -EINVAL;
-
 		nents = sg_nents_for_len(req->src, ssize);
 		if (nents < 0)
 			return -EINVAL;
drivers/acpi/acpi_dbg.c +13 -13
index d50261d05f3a..515b20d0b698 100644
@@ -569,11 +569,11 @@ static int acpi_aml_release(struct inode *inode, struct file *file)
 	return 0;
 }
 
-static int acpi_aml_read_user(char __user *buf, int len)
+static ssize_t acpi_aml_read_user(char __user *buf, size_t len)
 {
-	int ret;
 	struct circ_buf *crc = &acpi_aml_io.out_crc;
-	int n;
+	ssize_t ret;
+	size_t n;
 	char *p;
 
 	ret = acpi_aml_lock_read(crc, ACPI_AML_OUT_USER);
@@ -582,7 +582,7 @@ static int acpi_aml_read_user(char __user *buf, int len)
 	/* sync head before removing logs */
 	smp_rmb();
 	p = &crc->buf[crc->tail];
-	n = min(len, circ_count_to_end(crc));
+	n = min_t(size_t, len, circ_count_to_end(crc));
 	if (copy_to_user(buf, p, n)) {
 		ret = -EFAULT;
 		goto out;
@@ -599,8 +599,8 @@ static int acpi_aml_read_user(char __user *buf, int len)
 static ssize_t acpi_aml_read(struct file *file, char __user *buf,
 			     size_t count, loff_t *ppos)
 {
-	int ret = 0;
-	int size = 0;
+	ssize_t ret = 0;
+	ssize_t size = 0;
 
 	if (!count)
 		return 0;
@@ -639,11 +639,11 @@ static ssize_t acpi_aml_read(struct file *file, char __user *buf,
 	return size > 0 ? size : ret;
 }
 
-static int acpi_aml_write_user(const char __user *buf, int len)
+static ssize_t acpi_aml_write_user(const char __user *buf, size_t len)
 {
-	int ret;
 	struct circ_buf *crc = &acpi_aml_io.in_crc;
-	int n;
+	ssize_t ret;
+	size_t n;
 	char *p;
 
 	ret = acpi_aml_lock_write(crc, ACPI_AML_IN_USER);
@@ -652,7 +652,7 @@ static int acpi_aml_write_user(const char __user *buf, int len)
 	/* sync tail before inserting cmds */
 	smp_mb();
 	p = &crc->buf[crc->head];
-	n = min(len, circ_space_to_end(crc));
+	n = min_t(size_t, len, circ_space_to_end(crc));
 	if (copy_from_user(p, buf, n)) {
 		ret = -EFAULT;
 		goto out;
@@ -663,14 +663,14 @@ static int acpi_aml_write_user(const char __user *buf, int len)
 	ret = n;
 out:
 	acpi_aml_unlock_fifo(ACPI_AML_IN_USER, ret >= 0);
-	return n;
+	return ret;
 }
 
 static ssize_t acpi_aml_write(struct file *file, const char __user *buf,
 			      size_t count, loff_t *ppos)
 {
-	int ret = 0;
-	int size = 0;
+	ssize_t ret = 0;
+	ssize_t size = 0;
 
 	if (!count)
 		return 0;
drivers/acpi/acpi_tad.c +3 -0
index b831cb8e53dc..b75ceaab716e 100644
@@ -565,6 +565,9 @@ static void acpi_tad_remove(struct platform_device *pdev)
 
 	pm_runtime_get_sync(dev);
 
+	if (dd->capabilities & ACPI_TAD_RT)
+		sysfs_remove_group(&dev->kobj, &acpi_tad_time_attr_group);
+
 	if (dd->capabilities & ACPI_TAD_DC_WAKE)
 		sysfs_remove_group(&dev->kobj, &acpi_tad_dc_attr_group);
 
drivers/acpi/acpica/evglock.c +4 -0
index 989dc01af03f..bc205b330904 100644
@@ -42,6 +42,10 @@ acpi_status acpi_ev_init_global_lock_handler(void)
 		return_ACPI_STATUS(AE_OK);
 	}
 
+	if (!acpi_gbl_use_global_lock) {
+		return_ACPI_STATUS(AE_OK);
+	}
+
 	/* Attempt installation of the global lock handler */
 
 	status = acpi_install_fixed_event_handler(ACPI_EVENT_GLOBAL,
drivers/acpi/battery.c +37 -23

147 lines not on this page · raw message

drivers/acpi/property.c +88 -49

212 lines not on this page · raw message

drivers/block/loop.c +6 -2
index db9b5164ccca..dd4117192201 100644
@@ -536,8 +536,10 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
 		return -EBADF;
 
 	error = loop_check_backing_file(file);
-	if (error)
+	if (error) {
+		fput(file);
 		return error;
+	}
 
 	/* suppress uevents while reconfiguring the device */
 	dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 1);
@@ -973,8 +975,10 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
 		return -EBADF;
 
 	error = loop_check_backing_file(file);
-	if (error)
+	if (error) {
+		fput(file);
 		return error;
+	}
 
 	is_loop = is_loop_device(file);
 
drivers/bus/mhi/ep/main.c +12 -25
index b3eafcf2a2c5..cdea24e92919 100644
@@ -403,17 +403,13 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 {
 	struct mhi_ep_chan *mhi_chan = &mhi_cntrl->mhi_chan[ring->ch_id];
 	struct device *dev = &mhi_cntrl->mhi_dev->dev;
-	size_t tr_len, read_offset, write_offset;
+	size_t tr_len, read_offset;
 	struct mhi_ep_buf_info buf_info = {};
 	u32 len = MHI_EP_DEFAULT_MTU;
 	struct mhi_ring_element *el;
-	bool tr_done = false;
 	void *buf_addr;
-	u32 buf_left;
 	int ret;
 
-	buf_left = len;
-
 	do {
 		/* Don't process the transfer ring if the channel is not in RUNNING state */
 		if (mhi_chan->state != MHI_CH_STATE_RUNNING) {
@@ -426,24 +422,23 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 		/* Check if there is data pending to be read from previous read operation */
 		if (mhi_chan->tre_bytes_left) {
 			dev_dbg(dev, "TRE bytes remaining: %u\n", mhi_chan->tre_bytes_left);
-			tr_len = min(buf_left, mhi_chan->tre_bytes_left);
+			tr_len = min(len, mhi_chan->tre_bytes_left);
 		} else {
 			mhi_chan->tre_loc = MHI_TRE_DATA_GET_PTR(el);
 			mhi_chan->tre_size = MHI_TRE_DATA_GET_LEN(el);
 			mhi_chan->tre_bytes_left = mhi_chan->tre_size;
 
-			tr_len = min(buf_left, mhi_chan->tre_size);
+			tr_len = min(len, mhi_chan->tre_size);
 		}
 
 		read_offset = mhi_chan->tre_size - mhi_chan->tre_bytes_left;
-		write_offset = len - buf_left;
 
 		buf_addr = kmem_cache_zalloc(mhi_cntrl->tre_buf_cache, GFP_KERNEL);
 		if (!buf_addr)
 			return -ENOMEM;
 
 		buf_info.host_addr = mhi_chan->tre_loc + read_offset;
-		buf_info.dev_addr = buf_addr + write_offset;
+		buf_info.dev_addr = buf_addr;
 		buf_info.size = tr_len;
 		buf_info.cb = mhi_ep_read_completion;
 		buf_info.cb_buf = buf_addr;
@@ -459,16 +454,12 @@ static int mhi_ep_read_channel(struct mhi_ep_cntrl *mhi_cntrl,
 			goto err_free_buf_addr;
 		}
 
-		buf_left -= tr_len;
 		mhi_chan->tre_bytes_left -= tr_len;
 
-		if (!mhi_chan->tre_bytes_left) {
-			if (MHI_TRE_DATA_GET_IEOT(el))
-				tr_done = true;
-
+		if (!mhi_chan->tre_bytes_left)
 			mhi_chan->rd_offset = (mhi_chan->rd_offset + 1) % ring->ring_size;
-		}
-	} while (buf_left && !tr_done);
+	/* Read until the some buffer is left or the ring becomes not empty */
+	} while (!mhi_ep_queue_is_empty(mhi_chan->mhi_dev, DMA_TO_DEVICE));
 
 	return 0;
 
@@ -502,15 +493,11 @@ static int mhi_ep_process_ch_ring(struct mhi_ep_ring *ring)
 		mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
 	} else {
 		/* UL channel */
-		do {
-			ret = mhi_ep_read_channel(mhi_cntrl, ring);
-			if (ret < 0) {
-				dev_err(&mhi_chan->mhi_dev->dev, "Failed to read channel\n");
-				return ret;
-			}
-
-			/* Read until the ring becomes empty */
-		} while (!mhi_ep_queue_is_empty(mhi_chan->mhi_dev, DMA_TO_DEVICE));
+		ret = mhi_ep_read_channel(mhi_cntrl, ring);
+		if (ret < 0) {
+			dev_err(&mhi_chan->mhi_dev->dev, "Failed to read channel\n");
+			return ret;
+		}
 	}
 
 	return 0;
drivers/bus/mhi/host/init.c +2 -3
index a9b1f8beee7b..223fc54c45b3 100644
@@ -194,7 +194,6 @@ void mhi_deinit_free_irq(struct mhi_controller *mhi_cntrl)
 int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 {
 	struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
-	struct device *dev = &mhi_cntrl->mhi_dev->dev;
 	unsigned long irq_flags = IRQF_SHARED | IRQF_NO_SUSPEND;
 	int i, ret;
 
@@ -221,7 +220,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 			continue;
 
 		if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
-			dev_err(dev, "irq %d not available for event ring\n",
+			dev_err(mhi_cntrl->cntrl_dev, "irq %d not available for event ring\n",
 				mhi_event->irq);
 			ret = -EINVAL;
 			goto error_request;
@@ -232,7 +231,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 				  irq_flags,
 				  "mhi", mhi_event);
 		if (ret) {
-			dev_err(dev, "Error requesting irq:%d for ev:%d\n",
+			dev_err(mhi_cntrl->cntrl_dev, "Error requesting irq:%d for ev:%d\n",
 				mhi_cntrl->irq[mhi_event->irq], i);
 			goto error_request;
 		}
drivers/char/ipmi/ipmi_kcs_sm.c +5 -11
index ecfcb50302f6..efda90dcf5b3 100644
@@ -122,10 +122,10 @@ struct si_sm_data {
 	unsigned long  error0_timeout;
 };
 
-static unsigned int init_kcs_data_with_state(struct si_sm_data *kcs,
-				  struct si_sm_io *io, enum kcs_states state)
+static unsigned int init_kcs_data(struct si_sm_data *kcs,
+				  struct si_sm_io *io)
 {
-	kcs->state = state;
+	kcs->state = KCS_IDLE;
 	kcs->io = io;
 	kcs->write_pos = 0;
 	kcs->write_count = 0;
@@ -140,12 +140,6 @@ static unsigned int init_kcs_data_with_state(struct si_sm_data *kcs,
 	return 2;
 }
 
-static unsigned int init_kcs_data(struct si_sm_data *kcs,
-				  struct si_sm_io *io)
-{
-	return init_kcs_data_with_state(kcs, io, KCS_IDLE);
-}
-
 static inline unsigned char read_status(struct si_sm_data *kcs)
 {
 	return kcs->io->inputb(kcs->io, 1);
@@ -276,7 +270,7 @@ static int start_kcs_transaction(struct si_sm_data *kcs, unsigned char *data,
 	if (size > MAX_KCS_WRITE_SIZE)
 		return IPMI_REQ_LEN_EXCEEDED_ERR;
 
-	if (kcs->state != KCS_IDLE) {
+	if ((kcs->state != KCS_IDLE) && (kcs->state != KCS_HOSED)) {
 		dev_warn(kcs->io->dev, "KCS in invalid state %d\n", kcs->state);
 		return IPMI_NOT_IN_MY_STATE_ERR;
 	}
@@ -501,7 +495,7 @@ static enum si_sm_result kcs_event(struct si_sm_data *kcs, long time)
 	}
 
 	if (kcs->state == KCS_HOSED) {
-		init_kcs_data_with_state(kcs, kcs->io, KCS_ERROR0);
+		init_kcs_data(kcs, kcs->io);
 		return SI_SM_HOSED;
 	}
 
drivers/char/ipmi/ipmi_msghandler.c +200 -216

588 lines not on this page · raw message

drivers/char/tpm/tpm_tis_core.c +2 -2
index ed0d3d8449b3..59e992dc65c4 100644
@@ -977,8 +977,8 @@ static int tpm_tis_probe_irq_single(struct tpm_chip *chip, u32 intmask,
 	 * will call disable_irq which undoes all of the above.
 	 */
 	if (!(chip->flags & TPM_CHIP_FLAG_IRQ)) {
-		tpm_tis_write8(priv, original_int_vec,
-			       TPM_INT_VECTOR(priv->locality));
+		tpm_tis_write8(priv, TPM_INT_VECTOR(priv->locality),
+			       original_int_vec);
 		rc = -1;
 	}
 
drivers/clk/at91/clk-peripheral.c +5 -2
index c173a44c800a..629f050a855a 100644
@@ -279,8 +279,11 @@ static int clk_sam9x5_peripheral_determine_rate(struct clk_hw *hw,
 	long best_diff = LONG_MIN;
 	u32 shift;
 
-	if (periph->id < PERIPHERAL_ID_MIN || !periph->range.max)
-		return parent_rate;
+	if (periph->id < PERIPHERAL_ID_MIN || !periph->range.max) {
+		req->rate = parent_rate;
+
+		return 0;
+	}
 
 	/* Fist step: check the available dividers. */
 	for (shift = 0; shift <= PERIPHERAL_MAX_SHIFT; shift++) {
drivers/clk/mediatek/clk-mt8195-infra_ao.c +1 -1
index bb648a88e43a..ad47fdb23460 100644
@@ -103,7 +103,7 @@ static const struct mtk_gate infra_ao_clks[] = {
 	GATE_INFRA_AO0(CLK_INFRA_AO_CQ_DMA_FPC, "infra_ao_cq_dma_fpc", "fpc", 28),
 	GATE_INFRA_AO0(CLK_INFRA_AO_UART5, "infra_ao_uart5", "top_uart", 29),
 	/* INFRA_AO1 */
-	GATE_INFRA_AO1(CLK_INFRA_AO_HDMI_26M, "infra_ao_hdmi_26m", "clk26m", 0),
+	GATE_INFRA_AO1(CLK_INFRA_AO_HDMI_26M, "infra_ao_hdmi_26m", "top_hdmi_xtal", 0),
 	GATE_INFRA_AO1(CLK_INFRA_AO_SPI0, "infra_ao_spi0", "top_spi", 1),
 	GATE_INFRA_AO1(CLK_INFRA_AO_MSDC0, "infra_ao_msdc0", "top_msdc50_0_hclk", 2),
 	GATE_INFRA_AO1(CLK_INFRA_AO_MSDC1, "infra_ao_msdc1", "top_axi", 4),
drivers/clk/mediatek/clk-mux.c +1 -3
index 60990296450b..9a12e58230be 100644
@@ -146,9 +146,7 @@ static int mtk_clk_mux_set_parent_setclr_lock(struct clk_hw *hw, u8 index)
 static int mtk_clk_mux_determine_rate(struct clk_hw *hw,
 				      struct clk_rate_request *req)
 {
-	struct mtk_clk_mux *mux = to_mtk_clk_mux(hw);
-
-	return clk_mux_determine_rate_flags(hw, req, mux->data->flags);
+	return clk_mux_determine_rate_flags(hw, req, 0);
 }
 
 const struct clk_ops mtk_mux_clr_set_upd_ops = {
drivers/clk/nxp/clk-lpc18xx-cgu.c +11 -9
index 81efa885069b..b9e204d63a97 100644
@@ -370,23 +370,25 @@ static unsigned long lpc18xx_pll0_recalc_rate(struct clk_hw *hw,
 	return 0;
 }
 
-static long lpc18xx_pll0_round_rate(struct clk_hw *hw, unsigned long rate,
-				    unsigned long *prate)
+static int lpc18xx_pll0_determine_rate(struct clk_hw *hw,
+				       struct clk_rate_request *req)
 {
 	unsigned long m;
 
-	if (*prate < rate) {
+	if (req->best_parent_rate < req->rate) {
 		pr_warn("%s: pll dividers not supported\n", __func__);
 		return -EINVAL;
 	}
 
-	m = DIV_ROUND_UP_ULL(*prate, rate * 2);
-	if (m <= 0 && m > LPC18XX_PLL0_MSEL_MAX) {
-		pr_warn("%s: unable to support rate %lu\n", __func__, rate);
+	m = DIV_ROUND_UP_ULL(req->best_parent_rate, req->rate * 2);
+	if (m == 0 || m > LPC18XX_PLL0_MSEL_MAX) {
+		pr_warn("%s: unable to support rate %lu\n", __func__, req->rate);
 		return -EINVAL;
 	}
 
-	return 2 * *prate * m;
+	req->rate = 2 * req->best_parent_rate * m;
+
+	return 0;
 }
 
 static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
@@ -402,7 +404,7 @@ static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
 	}
 
 	m = DIV_ROUND_UP_ULL(parent_rate, rate * 2);
-	if (m <= 0 && m > LPC18XX_PLL0_MSEL_MAX) {
+	if (m == 0 || m > LPC18XX_PLL0_MSEL_MAX) {
 		pr_warn("%s: unable to support rate %lu\n", __func__, rate);
 		return -EINVAL;
 	}
@@ -443,7 +445,7 @@ static int lpc18xx_pll0_set_rate(struct clk_hw *hw, unsigned long rate,
 
 static const struct clk_ops lpc18xx_pll0_ops = {
 	.recalc_rate	= lpc18xx_pll0_recalc_rate,
-	.round_rate	= lpc18xx_pll0_round_rate,
+	.determine_rate = lpc18xx_pll0_determine_rate,
 	.set_rate	= lpc18xx_pll0_set_rate,
 };
 
drivers/clk/qcom/common.c +2 -2
index 33cc1f73c69d..cab2dbb7a8d4 100644
@@ -273,8 +273,8 @@ static int qcom_cc_icc_register(struct device *dev,
 		icd[i].slave_id = desc->icc_hws[i].slave_id;
 		hws = &desc->clks[desc->icc_hws[i].clk_id]->hw;
 		icd[i].clk = devm_clk_hw_get_clk(dev, hws, "icc");
-		if (!icd[i].clk)
-			return dev_err_probe(dev, -ENOENT,
+		if (IS_ERR(icd[i].clk))
+			return dev_err_probe(dev, PTR_ERR(icd[i].clk),
 					     "(%d) clock entry is null\n", i);
 		icd[i].name = clk_hw_get_name(hws);
 	}
drivers/clk/qcom/tcsrcc-x1e80100.c +4 -0
index ff61769a0807..a367e1f55622 100644
@@ -29,6 +29,10 @@ static struct clk_branch tcsr_edp_clkref_en = {
 		.enable_mask = BIT(0),
 		.hw.init = &(const struct clk_init_data) {
 			.name = "tcsr_edp_clkref_en",
+			.parent_data = &(const struct clk_parent_data){
+				.index = DT_BI_TCXO_PAD,
+			},
+			.num_parents = 1,
 			.ops = &clk_branch2_ops,
 		},
 	},
drivers/clk/renesas/renesas-cpg-mssr.c +5 -2
index 0f27c33192e1..112ed81f648e 100644
@@ -1012,6 +1012,7 @@ static int __init cpg_mssr_reserved_init(struct cpg_mssr_priv *priv,
 
 		of_for_each_phandle(&it, rc, node, "clocks", "#clock-cells", -1) {
 			int idx;
+			unsigned int *new_ids;
 
 			if (it.node != priv->np)
 				continue;
@@ -1022,11 +1023,13 @@ static int __init cpg_mssr_reserved_init(struct cpg_mssr_priv *priv,
 			if (args[0] != CPG_MOD)
 				continue;
 
-			ids = krealloc_array(ids, (num + 1), sizeof(*ids), GFP_KERNEL);
-			if (!ids) {
+			new_ids = krealloc_array(ids, (num + 1), sizeof(*ids), GFP_KERNEL);
+			if (!new_ids) {
 				of_node_put(it.node);
+				kfree(ids);
 				return -ENOMEM;
 			}
+			ids = new_ids;
 
 			if (priv->reg_layout == CLK_REG_LAYOUT_RZ_A)
 				idx = MOD_CLK_PACK_10(args[1]);	/* for DEF_MOD_STB() */
drivers/clk/tegra/clk-bpmp.c +1 -1
index 7bfba0afd778..4ec408c3a26a 100644
@@ -635,7 +635,7 @@ static int tegra_bpmp_register_clocks(struct tegra_bpmp *bpmp,
 
 	bpmp->num_clocks = count;
 
-	bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(struct tegra_bpmp_clk), GFP_KERNEL);
+	bpmp->clocks = devm_kcalloc(bpmp->dev, count, sizeof(*bpmp->clocks), GFP_KERNEL);
 	if (!bpmp->clocks)
 		return -ENOMEM;
 
drivers/clocksource/clps711x-timer.c +16 -7
index e95fdc49c226..bbceb0289d45 100644
@@ -78,24 +78,33 @@ static int __init clps711x_timer_init(struct device_node *np)
 	unsigned int irq = irq_of_parse_and_map(np, 0);
 	struct clk *clock = of_clk_get(np, 0);
 	void __iomem *base = of_iomap(np, 0);
+	int ret = 0;
 
 	if (!base)
 		return -ENOMEM;
-	if (!irq)
-		return -EINVAL;
-	if (IS_ERR(clock))
-		return PTR_ERR(clock);
+	if (!irq) {
+		ret = -EINVAL;
+		goto unmap_io;
+	}
+	if (IS_ERR(clock)) {
+		ret = PTR_ERR(clock);
+		goto unmap_io;
+	}
 
 	switch (of_alias_get_id(np, "timer")) {
 	case CLPS711X_CLKSRC_CLOCKSOURCE:
 		clps711x_clksrc_init(clock, base);
 		break;
 	case CLPS711X_CLKSRC_CLOCKEVENT:
-		return _clps711x_clkevt_init(clock, base, irq);
+		ret =  _clps711x_clkevt_init(clock, base, irq);
+		break;
 	default:
-		return -EINVAL;
+		ret = -EINVAL;
+		break;
 	}
 
-	return 0;
+unmap_io:
+	iounmap(base);
+	return ret;
 }
 TIMER_OF_DECLARE(clps711x, "cirrus,ep7209-timer", clps711x_timer_init);
drivers/cpufreq/cpufreq-dt.c +1 -1
index 983443396f8f..30e1b64d0558 100644
@@ -110,7 +110,7 @@ static int cpufreq_init(struct cpufreq_policy *policy)
 
 	transition_latency = dev_pm_opp_get_max_transition_latency(cpu_dev);
 	if (!transition_latency)
-		transition_latency = CPUFREQ_ETERNAL;
+		transition_latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	cpumask_copy(policy->cpus, priv->cpus);
 	policy->driver_data = priv;
drivers/cpufreq/imx6q-cpufreq.c +1 -1
index c20d3ecc5a81..33c1df7f683e 100644
@@ -443,7 +443,7 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)
 	}
 
 	if (of_property_read_u32(np, "clock-latency", &transition_latency))
-		transition_latency = CPUFREQ_ETERNAL;
+		transition_latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	/*
 	 * Calculate the ramp time for max voltage change in the
drivers/cpufreq/intel_pstate.c +5 -3
index e90871092038..d0f4f7c2ae4d 100644
@@ -1582,10 +1582,10 @@ static void update_qos_request(enum freq_qos_req_type type)
 			continue;
 
 		req = policy->driver_data;
-		cpufreq_cpu_put(policy);
-
-		if (!req)
+		if (!req) {
+			cpufreq_cpu_put(policy);
 			continue;
+		}
 
 		if (hwp_active)
 			intel_pstate_get_hwp_cap(cpu);
@@ -1601,6 +1601,8 @@ static void update_qos_request(enum freq_qos_req_type type)
 
 		if (freq_qos_update_request(req, freq) < 0)
 			pr_warn("Failed to update freq constraint: CPU%d\n", i);
+
+		cpufreq_cpu_put(policy);
 	}
 }
 
drivers/cpufreq/mediatek-cpufreq-hw.c +1 -1
index aeb5e6304542..1f1ec43aad7c 100644
@@ -238,7 +238,7 @@ static int mtk_cpufreq_hw_cpu_init(struct cpufreq_policy *policy)
 
 	latency = readl_relaxed(data->reg_bases[REG_FREQ_LATENCY]) * 1000;
 	if (!latency)
-		latency = CPUFREQ_ETERNAL;
+		latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	policy->cpuinfo.transition_latency = latency;
 	policy->fast_switch_possible = true;
drivers/cpufreq/scmi-cpufreq.c +1 -1
index a2ec1addafc9..bb265541671a 100644
@@ -280,7 +280,7 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
 
 	latency = perf_ops->transition_latency_get(ph, domain);
 	if (!latency)
-		latency = CPUFREQ_ETERNAL;
+		latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	policy->cpuinfo.transition_latency = latency;
 
drivers/cpufreq/scpi-cpufreq.c +1 -1
index a191d9bdf667..bdbc3923629e 100644
@@ -157,7 +157,7 @@ static int scpi_cpufreq_init(struct cpufreq_policy *policy)
 
 	latency = scpi_ops->get_transition_latency(cpu_dev);
 	if (!latency)
-		latency = CPUFREQ_ETERNAL;
+		latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	policy->cpuinfo.transition_latency = latency;
 
drivers/cpufreq/spear-cpufreq.c +1 -1
index d8ab5b01d46d..c032dd5d12d3 100644
@@ -183,7 +183,7 @@ static int spear_cpufreq_probe(struct platform_device *pdev)
 
 	if (of_property_read_u32(np, "clock-latency",
 				&spear_cpufreq.transition_latency))
-		spear_cpufreq.transition_latency = CPUFREQ_ETERNAL;
+		spear_cpufreq.transition_latency = CPUFREQ_DEFAULT_TRANSITION_LATENCY_NS;
 
 	cnt = of_property_count_u32_elems(np, "cpufreq_tbl");
 	if (cnt <= 0) {
drivers/cpufreq/tegra186-cpufreq.c +6 -2
index 7b8fcfa55038..39186008afbf 100644
@@ -86,10 +86,14 @@ static int tegra186_cpufreq_set_target(struct cpufreq_policy *policy,
 {
 	struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
 	struct cpufreq_frequency_table *tbl = policy->freq_table + index;
-	unsigned int edvd_offset = data->cpus[policy->cpu].edvd_offset;
+	unsigned int edvd_offset;
 	u32 edvd_val = tbl->driver_data;
+	u32 cpu;
 
-	writel(edvd_val, data->regs + edvd_offset);
+	for_each_cpu(cpu, policy->cpus) {
+		edvd_offset = data->cpus[cpu].edvd_offset;
+		writel(edvd_val, data->regs + edvd_offset);
+	}
 
 	return 0;
 }
drivers/crypto/aspeed/aspeed-hace-crypto.c +1 -1
index a72dfebc53ff..fa201dae1f81 100644
@@ -346,7 +346,7 @@ static int aspeed_sk_start_sg(struct aspeed_hace_dev *hace_dev)
 
 	} else {
 		dma_unmap_sg(hace_dev->dev, req->dst, rctx->dst_nents,
-			     DMA_TO_DEVICE);
+			     DMA_FROM_DEVICE);
 		dma_unmap_sg(hace_dev->dev, req->src, rctx->src_nents,
 			     DMA_TO_DEVICE);
 	}
drivers/crypto/atmel-tdes.c +1 -1
index dcc2380a5889..d15b2e943447 100644
@@ -512,7 +512,7 @@ static int atmel_tdes_crypt_start(struct atmel_tdes_dev *dd)
 
 	if (err && (dd->flags & TDES_FLAGS_FAST)) {
 		dma_unmap_sg(dd->dev, dd->in_sg, 1, DMA_TO_DEVICE);
-		dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_TO_DEVICE);
+		dma_unmap_sg(dd->dev, dd->out_sg, 1, DMA_FROM_DEVICE);
 	}
 
 	return err;
drivers/crypto/rockchip/rk3288_crypto_ahash.c +1 -1
index 69d6019d8abc..ba26b4db7a60 100644
@@ -252,7 +252,7 @@ static void rk_hash_unprepare(struct crypto_engine *engine, void *breq)
 	struct rk_ahash_rctx *rctx = ahash_request_ctx(areq);
 	struct rk_crypto_info *rkc = rctx->dev;
 
-	dma_unmap_sg(rkc->dev, areq->src, rctx->nrsg, DMA_TO_DEVICE);
+	dma_unmap_sg(rkc->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE);
 }
 
 static int rk_hash_run(struct crypto_engine *engine, void *breq)
drivers/firmware/meson/meson_sm.c +6 -1
index f25a9746249b..3ab67aaa9e5d 100644
@@ -232,11 +232,16 @@ EXPORT_SYMBOL(meson_sm_call_write);
 struct meson_sm_firmware *meson_sm_get(struct device_node *sm_node)
 {
 	struct platform_device *pdev = of_find_device_by_node(sm_node);
+	struct meson_sm_firmware *fw;
 
 	if (!pdev)
 		return NULL;
 
-	return platform_get_drvdata(pdev);
+	fw = platform_get_drvdata(pdev);
+
+	put_device(&pdev->dev);
+
+	return fw;
 }
 EXPORT_SYMBOL_GPL(meson_sm_get);
 
drivers/gpio/gpio-wcd934x.c +1 -1
index cfa7b0a50c8e..03b16b8f639a 100644
@@ -102,7 +102,7 @@ static int wcd_gpio_probe(struct platform_device *pdev)
 	chip->base = -1;
 	chip->ngpio = WCD934X_NPINS;
 	chip->label = dev_name(dev);
-	chip->can_sleep = false;
+	chip->can_sleep = true;
 
 	return devm_gpiochip_add_data(dev, chip, data);
 }
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +4 -0
index b02ff92bae0b..ffa0d7483ffc 100644
@@ -2027,6 +2027,10 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
 
 	init_data.flags.disable_ips_in_vpb = 0;
 
+	/* DCN35 and above supports dynamic DTBCLK switch */
+	if (amdgpu_ip_version(adev, DCE_HWIP, 0) >= IP_VERSION(3, 5, 0))
+		init_data.flags.allow_0_dtb_clk = true;
+
 	/* Enable DWB for tested platforms only */
 	if (amdgpu_ip_version(adev, DCE_HWIP, 0) >= IP_VERSION(3, 0, 0))
 		init_data.num_virtual_links = 1;
drivers/gpu/drm/amd/display/dc/dce/dce_transform.c +13 -8
index 2b1673d69ea8..1ab5ae9b5ea5 100644
@@ -154,10 +154,13 @@ static bool dce60_setup_scaling_configuration(
 	REG_SET(SCL_BYPASS_CONTROL, 0, SCL_BYPASS_MODE, 0);
 
 	if (data->taps.h_taps + data->taps.v_taps <= 2) {
-		/* Set bypass */
-
-		/* DCE6 has no SCL_MODE register, skip scale mode programming */
+		/* Disable scaler functionality */
+		REG_WRITE(SCL_SCALER_ENABLE, 0);
 
+		/* Clear registers that can cause glitches even when the scaler is off */
+		REG_WRITE(SCL_TAP_CONTROL, 0);
+		REG_WRITE(SCL_AUTOMATIC_MODE_CONTROL, 0);
+		REG_WRITE(SCL_F_SHARP_CONTROL, 0);
 		return false;
 	}
 
@@ -165,7 +168,7 @@ static bool dce60_setup_scaling_configuration(
 			SCL_H_NUM_OF_TAPS, data->taps.h_taps - 1,
 			SCL_V_NUM_OF_TAPS, data->taps.v_taps - 1);
 
-	/* DCE6 has no SCL_MODE register, skip scale mode programming */
+	REG_WRITE(SCL_SCALER_ENABLE, 1);
 
 	/* DCE6 has no SCL_BOUNDARY_MODE bit, skip replace out of bound pixels */
 
@@ -502,6 +505,8 @@ static void dce60_transform_set_scaler(
 	REG_SET(DC_LB_MEM_SIZE, 0,
 		DC_LB_MEM_SIZE, xfm_dce->lb_memory_size);
 
+	REG_WRITE(SCL_UPDATE, 0x00010000);
+
 	/* Clear SCL_F_SHARP_CONTROL value to 0 */
 	REG_WRITE(SCL_F_SHARP_CONTROL, 0);
 
@@ -527,8 +532,7 @@ static void dce60_transform_set_scaler(
 		if (coeffs_v != xfm_dce->filter_v || coeffs_h != xfm_dce->filter_h) {
 			/* 4. Program vertical filters */
 			if (xfm_dce->filter_v == NULL)
-				REG_SET(SCL_VERT_FILTER_CONTROL, 0,
-						SCL_V_2TAP_HARDCODE_COEF_EN, 0);
+				REG_WRITE(SCL_VERT_FILTER_CONTROL, 0);
 			program_multi_taps_filter(
 					xfm_dce,
 					data->taps.v_taps,
@@ -542,8 +546,7 @@ static void dce60_transform_set_scaler(
 
 			/* 5. Program horizontal filters */
 			if (xfm_dce->filter_h == NULL)
-				REG_SET(SCL_HORZ_FILTER_CONTROL, 0,
-						SCL_H_2TAP_HARDCODE_COEF_EN, 0);
+				REG_WRITE(SCL_HORZ_FILTER_CONTROL, 0);
 			program_multi_taps_filter(
 					xfm_dce,
 					data->taps.h_taps,
@@ -566,6 +569,8 @@ static void dce60_transform_set_scaler(
 	/* DCE6 has no SCL_COEF_UPDATE_COMPLETE bit to flip to new coefficient memory */
 
 	/* DCE6 DATA_FORMAT register does not support ALPHA_EN */
+
+	REG_WRITE(SCL_UPDATE, 0);
 }
 #endif
 
drivers/gpu/drm/amd/display/dc/dce/dce_transform.h +4 -0
index cbce194ec7b8..eb716e8337e2 100644
@@ -155,6 +155,9 @@
 	SRI(SCL_COEF_RAM_TAP_DATA, SCL, id), \
 	SRI(VIEWPORT_START, SCL, id), \
 	SRI(VIEWPORT_SIZE, SCL, id), \
+	SRI(SCL_SCALER_ENABLE, SCL, id), \
+	SRI(SCL_HORZ_FILTER_INIT_RGB_LUMA, SCL, id), \
+	SRI(SCL_HORZ_FILTER_INIT_CHROMA, SCL, id), \
 	SRI(SCL_HORZ_FILTER_SCALE_RATIO, SCL, id), \
 	SRI(SCL_VERT_FILTER_SCALE_RATIO, SCL, id), \
 	SRI(SCL_VERT_FILTER_INIT, SCL, id), \
@@ -590,6 +593,7 @@ struct dce_transform_registers {
 	uint32_t SCL_VERT_FILTER_SCALE_RATIO;
 	uint32_t SCL_HORZ_FILTER_INIT;
 #if defined(CONFIG_DRM_AMD_DC_SI)
+	uint32_t SCL_SCALER_ENABLE;
 	uint32_t SCL_HORZ_FILTER_INIT_RGB_LUMA;
 	uint32_t SCL_HORZ_FILTER_INIT_CHROMA;
 #endif
drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_d.h +7 -0
index 9de01ae574c0..067eddd9c62d 100644
@@ -4115,6 +4115,7 @@
 #define mmSCL0_SCL_COEF_RAM_CONFLICT_STATUS 0x1B55
 #define mmSCL0_SCL_COEF_RAM_SELECT 0x1B40
 #define mmSCL0_SCL_COEF_RAM_TAP_DATA 0x1B41
+#define mmSCL0_SCL_SCALER_ENABLE 0x1B42
 #define mmSCL0_SCL_CONTROL 0x1B44
 #define mmSCL0_SCL_DEBUG 0x1B6A
 #define mmSCL0_SCL_DEBUG2 0x1B69
@@ -4144,6 +4145,7 @@
 #define mmSCL1_SCL_COEF_RAM_CONFLICT_STATUS 0x1E55
 #define mmSCL1_SCL_COEF_RAM_SELECT 0x1E40
 #define mmSCL1_SCL_COEF_RAM_TAP_DATA 0x1E41
+#define mmSCL1_SCL_SCALER_ENABLE 0x1E42
 #define mmSCL1_SCL_CONTROL 0x1E44
 #define mmSCL1_SCL_DEBUG 0x1E6A
 #define mmSCL1_SCL_DEBUG2 0x1E69
@@ -4173,6 +4175,7 @@
 #define mmSCL2_SCL_COEF_RAM_CONFLICT_STATUS 0x4155
 #define mmSCL2_SCL_COEF_RAM_SELECT 0x4140
 #define mmSCL2_SCL_COEF_RAM_TAP_DATA 0x4141
+#define mmSCL2_SCL_SCALER_ENABLE 0x4142
 #define mmSCL2_SCL_CONTROL 0x4144
 #define mmSCL2_SCL_DEBUG 0x416A
 #define mmSCL2_SCL_DEBUG2 0x4169
@@ -4202,6 +4205,7 @@
 #define mmSCL3_SCL_COEF_RAM_CONFLICT_STATUS 0x4455
 #define mmSCL3_SCL_COEF_RAM_SELECT 0x4440
 #define mmSCL3_SCL_COEF_RAM_TAP_DATA 0x4441
+#define mmSCL3_SCL_SCALER_ENABLE 0x4442
 #define mmSCL3_SCL_CONTROL 0x4444
 #define mmSCL3_SCL_DEBUG 0x446A
 #define mmSCL3_SCL_DEBUG2 0x4469
@@ -4231,6 +4235,7 @@
 #define mmSCL4_SCL_COEF_RAM_CONFLICT_STATUS 0x4755
 #define mmSCL4_SCL_COEF_RAM_SELECT 0x4740
 #define mmSCL4_SCL_COEF_RAM_TAP_DATA 0x4741
+#define mmSCL4_SCL_SCALER_ENABLE 0x4742
 #define mmSCL4_SCL_CONTROL 0x4744
 #define mmSCL4_SCL_DEBUG 0x476A
 #define mmSCL4_SCL_DEBUG2 0x4769
@@ -4260,6 +4265,7 @@
 #define mmSCL5_SCL_COEF_RAM_CONFLICT_STATUS 0x4A55
 #define mmSCL5_SCL_COEF_RAM_SELECT 0x4A40
 #define mmSCL5_SCL_COEF_RAM_TAP_DATA 0x4A41
+#define mmSCL5_SCL_SCALER_ENABLE 0x4A42
 #define mmSCL5_SCL_CONTROL 0x4A44
 #define mmSCL5_SCL_DEBUG 0x4A6A
 #define mmSCL5_SCL_DEBUG2 0x4A69
@@ -4287,6 +4293,7 @@
 #define mmSCL_COEF_RAM_CONFLICT_STATUS 0x1B55
 #define mmSCL_COEF_RAM_SELECT 0x1B40
 #define mmSCL_COEF_RAM_TAP_DATA 0x1B41
+#define mmSCL_SCALER_ENABLE 0x1B42
 #define mmSCL_CONTROL 0x1B44
 #define mmSCL_DEBUG 0x1B6A
 #define mmSCL_DEBUG2 0x1B69
drivers/gpu/drm/amd/include/asic_reg/dce/dce_6_0_sh_mask.h +2 -0
index bd8085ec54ed..da5596fbfdcb 100644
@@ -8648,6 +8648,8 @@
 #define REGAMMA_LUT_INDEX__REGAMMA_LUT_INDEX__SHIFT 0x00000000
 #define REGAMMA_LUT_WRITE_EN_MASK__REGAMMA_LUT_WRITE_EN_MASK_MASK 0x00000007L
 #define REGAMMA_LUT_WRITE_EN_MASK__REGAMMA_LUT_WRITE_EN_MASK__SHIFT 0x00000000
+#define SCL_SCALER_ENABLE__SCL_SCALE_EN_MASK 0x00000001L
+#define SCL_SCALER_ENABLE__SCL_SCALE_EN__SHIFT 0x00000000
 #define SCL_ALU_CONTROL__SCL_ALU_DISABLE_MASK 0x00000001L
 #define SCL_ALU_CONTROL__SCL_ALU_DISABLE__SHIFT 0x00000000
 #define SCL_BYPASS_CONTROL__SCL_BYPASS_MODE_MASK 0x00000003L
drivers/gpu/drm/nouveau/nouveau_bo.c +1 -1
index 2016c1e7242f..fc433f39c127 100644
@@ -852,7 +852,7 @@ nouveau_bo_move_prep(struct nouveau_drm *drm, struct ttm_buffer_object *bo,
 		nvif_vmm_put(vmm, &old_mem->vma[1]);
 		nvif_vmm_put(vmm, &old_mem->vma[0]);
 	}
-	return 0;
+	return ret;
 }
 
 static int
drivers/gpu/drm/panthor/panthor_drv.c +6 -5
index 03eb7d52209a..9360d486e52e 100644
@@ -1032,14 +1032,15 @@ static int panthor_ioctl_group_create(struct drm_device *ddev, void *data,
 
 	ret = group_priority_permit(file, args->priority);
 	if (ret)
-		return ret;
+		goto out;
 
 	ret = panthor_group_create(pfile, args, queue_args);
-	if (ret >= 0) {
-		args->group_handle = ret;
-		ret = 0;
-	}
+	if (ret < 0)
+		goto out;
+	args->group_handle = ret;
+	ret = 0;
 
+out:
 	kvfree(queue_args);
 	return ret;
 }
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c +4 -1
index 92f4261305bd..f2ae5d17ea60 100644
@@ -576,7 +576,10 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
 	udelay(10);
 	rcar_mipi_dsi_clr(dsi, CLOCKSET1, CLOCKSET1_UPDATEPLL);
 
-	ppisetr = PPISETR_DLEN_3 | PPISETR_CLEN;
+	rcar_mipi_dsi_clr(dsi, TXSETR, TXSETR_LANECNT_MASK);
+	rcar_mipi_dsi_set(dsi, TXSETR, dsi->lanes - 1);
+
+	ppisetr = ((BIT(dsi->lanes) - 1) & PPISETR_DLEN_MASK) | PPISETR_CLEN;
 	rcar_mipi_dsi_write(dsi, PPISETR, ppisetr);
 
 	rcar_mipi_dsi_set(dsi, PHYSETUP, PHYSETUP_SHUTDOWNZ);
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h +4 -4
index a6b276f1d6ee..a54c7eb4113b 100644
@@ -12,6 +12,9 @@
 #define LINKSR_LPBUSY			(1 << 1)
 #define LINKSR_HSBUSY			(1 << 0)
 
+#define TXSETR				0x100
+#define TXSETR_LANECNT_MASK		(0x3 << 0)
+
 /*
  * Video Mode Register
  */
@@ -80,10 +83,7 @@
  * PHY-Protocol Interface (PPI) Registers
  */
 #define PPISETR				0x700
-#define PPISETR_DLEN_0			(0x1 << 0)
-#define PPISETR_DLEN_1			(0x3 << 0)
-#define PPISETR_DLEN_2			(0x7 << 0)
-#define PPISETR_DLEN_3			(0xf << 0)
+#define PPISETR_DLEN_MASK		(0xf << 0)
 #define PPISETR_CLEN			(1 << 8)
 
 #define PPICLCR				0x710
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +12 -5
index ea741bc4ac3f..8b72848bb25c 100644
@@ -1515,6 +1515,7 @@ static int vmw_cmd_dma(struct vmw_private *dev_priv,
 		       SVGA3dCmdHeader *header)
 {
 	struct vmw_bo *vmw_bo = NULL;
+	struct vmw_resource *res;
 	struct vmw_surface *srf = NULL;
 	VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdSurfaceDMA);
 	int ret;
@@ -1550,18 +1551,24 @@ static int vmw_cmd_dma(struct vmw_private *dev_priv,
 
 	dirty = (cmd->body.transfer == SVGA3D_WRITE_HOST_VRAM) ?
 		VMW_RES_DIRTY_SET : 0;
-	ret = vmw_cmd_res_check(dev_priv, sw_context, vmw_res_surface,
-				dirty, user_surface_converter,
-				&cmd->body.host.sid, NULL);
+	ret = vmw_cmd_res_check(dev_priv, sw_context, vmw_res_surface, dirty,
+				user_surface_converter, &cmd->body.host.sid,
+				NULL);
 	if (unlikely(ret != 0)) {
 		if (unlikely(ret != -ERESTARTSYS))
 			VMW_DEBUG_USER("could not find surface for DMA.\n");
 		return ret;
 	}
 
-	srf = vmw_res_to_srf(sw_context->res_cache[vmw_res_surface].res);
+	res = sw_context->res_cache[vmw_res_surface].res;
+	if (!res) {
+		VMW_DEBUG_USER("Invalid DMA surface.\n");
+		return -EINVAL;
+	}
 
-	vmw_kms_cursor_snoop(srf, sw_context->fp->tfile, &vmw_bo->tbo, header);
+	srf = vmw_res_to_srf(res);
+	vmw_kms_cursor_snoop(srf, sw_context->fp->tfile, &vmw_bo->tbo,
+			     header);
 
 	return 0;
 }
drivers/gpu/drm/vmwgfx/vmwgfx_validation.c +4 -2
index e7625b3f71e0..80e8bbc3021d 100644
@@ -309,8 +309,10 @@ int vmw_validation_add_resource(struct vmw_validation_context *ctx,
 		hash_add_rcu(ctx->sw_context->res_ht, &node->hash.head, node->hash.key);
 	}
 	node->res = vmw_resource_reference_unless_doomed(res);
-	if (!node->res)
+	if (!node->res) {
+		hash_del_rcu(&node->hash.head);
 		return -ESRCH;
+	}
 
 	node->first_usage = 1;
 	if (!res->dev_priv->has_mob) {
@@ -637,7 +639,7 @@ void vmw_validation_drop_ht(struct vmw_validation_context *ctx)
 		hash_del_rcu(&val->hash.head);
 
 	list_for_each_entry(val, &ctx->resource_ctx_list, head)
-		hash_del_rcu(&entry->hash.head);
+		hash_del_rcu(&val->hash.head);
 
 	ctx->sw_context = NULL;
 }
drivers/gpu/drm/xe/xe_hw_engine_group.c +1 -5
index 82750520a90a..f14a3cc7d117 100644
@@ -237,17 +237,13 @@ static int xe_hw_engine_group_suspend_faulting_lr_jobs(struct xe_hw_engine_group
 
 		err = q->ops->suspend_wait(q);
 		if (err)
-			goto err_suspend;
+			return err;
 	}
 
 	if (need_resume)
 		xe_hw_engine_group_resume_faulting_lr_jobs(group);
 
 	return 0;
-
-err_suspend:
-	up_write(&group->mode_sem);
-	return err;
 }
 
 /**
drivers/gpu/drm/xe/xe_query.c +6 -9
index 6e7c940d7e22..71a5e852fbac 100644
@@ -277,8 +277,7 @@ static int query_mem_regions(struct xe_device *xe,
 	mem_regions->mem_regions[0].instance = 0;
 	mem_regions->mem_regions[0].min_page_size = PAGE_SIZE;
 	mem_regions->mem_regions[0].total_size = man->size << PAGE_SHIFT;
-	if (perfmon_capable())
-		mem_regions->mem_regions[0].used = ttm_resource_manager_usage(man);
+	mem_regions->mem_regions[0].used = ttm_resource_manager_usage(man);
 	mem_regions->num_mem_regions = 1;
 
 	for (i = XE_PL_VRAM0; i <= XE_PL_VRAM1; ++i) {
@@ -294,13 +293,11 @@ static int query_mem_regions(struct xe_device *xe,
 			mem_regions->mem_regions[mem_regions->num_mem_regions].total_size =
 				man->size;
 
-			if (perfmon_capable()) {
-				xe_ttm_vram_get_used(man,
-					&mem_regions->mem_regions
-					[mem_regions->num_mem_regions].used,
-					&mem_regions->mem_regions
-					[mem_regions->num_mem_regions].cpu_visible_used);
-			}
+			xe_ttm_vram_get_used(man,
+					     &mem_regions->mem_regions
+					     [mem_regions->num_mem_regions].used,
+					     &mem_regions->mem_regions
+					     [mem_regions->num_mem_regions].cpu_visible_used);
 
 			mem_regions->mem_regions[mem_regions->num_mem_regions].cpu_visible_size =
 				xe_ttm_vram_get_cpu_visible_size(man);
drivers/iio/adc/pac1934.c +18 -2
index c3f9fa307b84..2db16c36d814 100644
@@ -88,6 +88,7 @@
 #define PAC1934_VPOWER_3_ADDR			0x19
 #define PAC1934_VPOWER_4_ADDR			0x1A
 #define PAC1934_REFRESH_V_REG_ADDR		0x1F
+#define PAC1934_SLOW_REG_ADDR			0x20
 #define PAC1934_CTRL_STAT_REGS_ADDR		0x1C
 #define PAC1934_PID_REG_ADDR			0xFD
 #define PAC1934_MID_REG_ADDR			0xFE
@@ -1265,8 +1266,23 @@ static int pac1934_chip_configure(struct pac1934_chip_info *info)
 	/* no SLOW triggered REFRESH, clear POR */
 	regs[PAC1934_SLOW_REG_OFF] = 0;
 
-	ret =  i2c_smbus_write_block_data(client, PAC1934_CTRL_STAT_REGS_ADDR,
-					  ARRAY_SIZE(regs), (u8 *)regs);
+	/*
+	 * Write the three bytes sequentially, as the device does not support
+	 * block write.
+	 */
+	ret = i2c_smbus_write_byte_data(client, PAC1934_CTRL_STAT_REGS_ADDR,
+					regs[PAC1934_CHANNEL_DIS_REG_OFF]);
+	if (ret)
+		return ret;
+
+	ret = i2c_smbus_write_byte_data(client,
+					PAC1934_CTRL_STAT_REGS_ADDR + PAC1934_NEG_PWR_REG_OFF,
+					regs[PAC1934_NEG_PWR_REG_OFF]);
+	if (ret)
+		return ret;
+
+	ret = i2c_smbus_write_byte_data(client, PAC1934_SLOW_REG_ADDR,
+					regs[PAC1934_SLOW_REG_OFF]);
 	if (ret)
 		return ret;
 
drivers/iio/adc/xilinx-ams.c +26 -21

48 lines not on this page · raw message

drivers/iio/dac/ad5360.c +1 -1
index e0b7f658d611..cf9cf90cd6e2 100644

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

drivers/iio/dac/ad5421.c +1 -1
index 7644acfd879e..9228e3cee1b8 100644

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

drivers/iio/frequency/adf4350.c +13 -7
index e13e64a5164c..f58d23c049ec 100644

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

drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +0 -4
index 73aeddf53b76..790bc8fbf21d 100644

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

drivers/iommu/intel/iommu.c +1 -1
index 32d6710e264a..667407974e23 100644

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

drivers/irqchip/irq-sifive-plic.c +7 -6
index 36dbcf2d728a..9c4af7d58846 100644

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

drivers/mailbox/mtk-cmdq-mailbox.c +1 -11
index d24f71819c3d..38ab35157c85 100644

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

drivers/mailbox/zynqmp-ipi-mailbox.c +13 -11
index d59fcb74b347..5bf81b60e9e6 100644

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

drivers/media/cec/usb/extron-da-hd-4k-plus/Makefile +0 -6
index 2e8f7f60263f..08d58524419f 100644

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

drivers/media/i2c/mt9v111.c +1 -1
index 723fe138e7bc..8bf06a763a25 100644

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

drivers/media/mc/mc-devnode.c +1 -5
index 56444edaf136..6daa7aa99442 100644

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

drivers/media/mc/mc-entity.c +1 -1
index 96dd0f6ccd0d..b3761839a521 100644

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

drivers/media/pci/cx18/cx18-queue.c +10 -3
index 013694bfcb1c..7cbb2d586932 100644

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

drivers/media/pci/ivtv/ivtv-irq.c +1 -1
index b7aaa8b4a784..e39bf64c5c71 100644

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

drivers/media/pci/ivtv/ivtv-yuv.c +7 -1
index 2d9274537725..71f040106647 100644

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

drivers/media/pci/mgb4/mgb4_trigger.c +1 -1
index 923650d53d4c..d7dddc5c8728 100644

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

drivers/media/platform/qcom/venus/firmware.c +4 -4
index 66a18830e66d..4e2636b05366 100644

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

drivers/media/platform/samsung/s5p-mfc/s5p_mfc_cmd_v6.c +13 -22
index 47bc3014b5d8..f7c682fca645 100644

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

drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c +6 -3
index 3853245fcf6e..f8cb93ce9459 100644

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

drivers/media/rc/lirc_dev.c +5 -4
index f042f3f14afa..314f64420f62 100644

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

drivers/media/test-drivers/vivid/vivid-cec.c +5 -7
index 356a988dd6a1..2d15fdd5d999 100644

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

drivers/memory/samsung/exynos-srom.c +4 -6
index e73dd330af47..d913fb901973 100644

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

drivers/mfd/intel_soc_pmic_chtdc_ti.c +3 -2
index 992855bfda3e..6daf33e07ea0 100644

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

drivers/mmc/core/sdio.c +5 -1
index 4b19b8a16b09..2e37700ae36e 100644

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

drivers/mmc/host/mmc_spi.c +1 -1
index 47443fb5eb33..f42d5f9c48c1 100644

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

drivers/mtd/nand/raw/fsmc_nand.c +5 -1
index fe5912d31bee..b0a70badf3eb 100644

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

drivers/net/ethernet/freescale/fsl_pq_mdio.c +2 -0
index 026f7270a54d..fb5d12a87872 100644

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

drivers/net/ethernet/intel/ice/ice_adapter.c +6 -4
index 10285995c9ed..cc4798026182 100644

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

drivers/net/ethernet/mellanox/mlx4/en_netdev.c +1 -1
index 281b34af0bb4..3160a1a2d2ab 100644

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

drivers/net/ethernet/mscc/ocelot_stats.c +1 -1
index c018783757fb..858d4cbc83d3 100644

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

drivers/net/wireless/ath/ath11k/core.c +1 -5
index bb46ef986b2a..afac4a1e9a1d 100644

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

drivers/net/wireless/ath/ath11k/hal.c +16 -0
index 65e52ab742b4..e47774b6d992 100644

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

drivers/net/wireless/ath/ath11k/hal.h +1 -0
index dc8bbe073017..0f725668b819 100644

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

drivers/net/wireless/mediatek/mt76/mt7921/usb.c +3 -0
index e3459295ad88..5be0edb2fe9a 100644

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

drivers/net/wireless/mediatek/mt76/mt7925/usb.c +3 -0
index 682db1bab21c..a63ff630eaba 100644

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

drivers/nvme/host/pci.c +2 -0
index fdc9f1df0578..ff004350dc2c 100644

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

drivers/of/unittest.c +1 -0
index 9a72f75e5c2d..63b5b435bd3a 100644

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

drivers/pci/controller/cadence/pci-j721e.c +25 -0
index eb772c18d44e..c014220d2b24 100644

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

drivers/pci/controller/dwc/pci-keystone.c +2 -2
index 44b34559de1a..4f75d13fe1de 100644

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

drivers/pci/controller/dwc/pcie-rcar-gen4.c +1 -1
index 14f69efa243c..397c2f9477a1 100644

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

drivers/pci/controller/dwc/pcie-tegra194.c +28 -4
index 815599ef72db..c2d626b090e3 100644

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

drivers/pci/controller/pci-tegra.c +13 -14
index 4f70b7f2ded9..927ef421c4fc 100644

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

drivers/pci/controller/pcie-rcar-host.c +15 -25
index 3dd653f3d784..a90beedd8e24 100644

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

drivers/pci/controller/pcie-xilinx-nwl.c +4 -3
index a8ae14474dd0..2e7356c28b5e 100644

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

drivers/pci/endpoint/functions/pci-epf-test.c +11 -8
index 21aa3709e257..eeb7fbc2d67a 100644

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

drivers/pci/iov.c +5 -0
index aaa33e8dc4c9..44a33df3c69c 100644

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

drivers/pci/pci-driver.c +1 -0
index 35270172c833..0c3aa91d1aee 100644

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

drivers/pci/pci-sysfs.c +19 -1
index 5af4a804a4f8..96f9cf9f8d64 100644

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

drivers/pci/pcie/aer.c +6 -6
index 13b8586924ea..e5cbea3a4968 100644

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

drivers/pci/pcie/err.c +7 -1
index 31090770fffc..628d192de90b 100644

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

drivers/perf/arm-cmn.c +6 -3
index 978b239ec10b..e6b0c8ec9c1f 100644

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

drivers/pinctrl/samsung/pinctrl-samsung.h +0 -4
index 7ffd2e193e42..02b53ae9d9aa 100644

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

drivers/power/supply/max77976_charger.c +6 -6
index d7e520da7688..e2424efb266d 100644

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

drivers/pwm/pwm-berlin.c +2 -2
index 831aed228caf..858d36991374 100644

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

drivers/rtc/interface.c +27 -0
index aaf76406cd7d..39db12f267cc 100644

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

drivers/rtc/rtc-optee.c +1 -0
index 9f8b5d4a8f6b..6b77c122fdc1 100644

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

drivers/rtc/rtc-x1205.c +1 -1
index 4bcd7ca32f27..b8a0fccef14e 100644

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

drivers/s390/block/dasd.c +12 -5
index 42a4a996defb..93f346d313e9 100644

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

drivers/s390/cio/device.c +24 -13
index 9498825d9c7a..858a9e171351 100644

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

drivers/scsi/hpsa.c +12 -9
index 0c49414c1f35..6cb6586f4790 100644

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

drivers/scsi/mvsas/mv_init.c +1 -1
index 020037cbf0d9..655cca5fe7cc 100644

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

drivers/scsi/sd.c +28 -22

50 lines not on this page · raw message

drivers/spi/spi-cadence-quadspi.c +13 -5
index 56be0b6901a8..06e43b184d85 100644

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

drivers/video/fbdev/core/fb_cmdline.c +1 -1
index 4d1634c492ec..594b60424d1c 100644

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

drivers/xen/events/events_base.c +29 -8
index 81effbd53dc5..ecd3ddda6ccb 100644

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

drivers/xen/manage.c +2 -1
index b4b4ebed68da..8f543c816347 100644

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

fs/btrfs/export.c +7 -1
index e2b22bea348a..c403117ac013 100644

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

fs/btrfs/extent_io.c +11 -3
index 60fe155b1ce0..b310a07a84ad 100644

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

fs/cramfs/inode.c +10 -1
index b84d1747a020..e7d192f7ab3b 100644

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

fs/eventpoll.c +26 -113

139 lines not on this page · raw message

fs/ext4/ext4.h +2 -0
index 37e18e654f71..d8a059ec1ad6 100644

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

fs/ext4/fsmap.c +9 -5
index 91185c40f755..22fc333244ef 100644

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

fs/ext4/indirect.c +1 -1
index d45124318200..da76353b3a57 100644

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

fs/ext4/inode.c +8 -2
index 558a585c5df5..6af572425596 100644

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

fs/ext4/move_extent.c +1 -1
index 898443e98efc..a4c94eabc78e 100644

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

fs/ext4/orphan.c +14 -3
index c53918768cb2..05997b4d0120 100644

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

fs/ext4/super.c +14 -12
index cbb65e61c492..78ecdedadb07 100644

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

fs/ext4/xattr.c +12 -7
index 6ff94cdf1515..5ddfa4801bb3 100644

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

fs/file.c +4 -1
index bfc9eb9e7229..68c1bcc6b7e9 100644

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

fs/fs-writeback.c +21 -11
index 4ae226778d64..28edfad85c62 100644

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

fs/fsopen.c +38 -32

70 lines not on this page · raw message

fs/fuse/dev.c +1 -1
index 1f64ae6d7a69..8207855f9af2 100644

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

fs/fuse/file.c +7 -1
index 49659d1b2932..a8218a3bc0b4 100644

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

fs/minix/inode.c +7 -1
index f007e389d5d2..fc01f9dc8c39 100644

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

fs/namei.c +8 -0
index 6795600c5738..1eb20cb5e58f 100644

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

fs/namespace.c +73 -35

108 lines not on this page · raw message

fs/nfs/callback.c +0 -4
index 6cf92498a5ac..86bdc7d23fb9 100644

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

fs/nfs/callback_xdr.c +1 -0
index fdeb0b34a3d3..4254ba3ee7c5 100644

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

fs/nfsd/export.c +74 -22

96 lines not on this page · raw message

fs/nfsd/export.h +5 -1
index 3794ae253a70..0f4d34943e2c 100644

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

fs/nfsd/lockd.c +26 -2
index 46a7f9b813e5..6b042218668b 100644

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

fs/nfsd/netns.h +2 -2
index 26f7b34d1a03..a05a45bb1978 100644

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

fs/nfsd/nfs4proc.c +2 -2
index 02c9f3b312a0..8f2dc7eb4fc4 100644

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

fs/nfsd/nfs4state.c +2 -4
index bcb44400e243..7b0fabf8c657 100644

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

fs/nfsd/nfs4xdr.c +1 -1
index 6edeb3bdf81b..90db900b346c 100644

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

fs/nfsd/nfsfh.c +32 -8
index 96e19c50a5d7..854dcdc36b2c 100644

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

fs/nfsd/trace.h +1 -1
index b8470d4cbe99..3448e444d410 100644

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

fs/nfsd/vfs.c +2 -12
index ca29a5e1600f..8c4f4e2f9cee 100644

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

fs/nfsd/vfs.h +1 -1
index 3ff146522556..a61ada4fd920 100644

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

fs/ntfs3/bitmap.c +1 -0
index cf4fe21a5039..29b585f443f3 100644

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

fs/quota/dquot.c +9 -1
index 71c0ce31a4c4..94825180385a 100644

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

fs/read_write.c +9 -5
index befec0b5c537..46408bab9238 100644

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

fs/smb/client/smb1ops.c +60 -2

62 lines not on this page · raw message

fs/smb/client/smb2inode.c +12 -10
index 104a563dc317..cb049bc70e0c 100644

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

fs/smb/client/smb2ops.c +5 -5
index c946c3a09245..1b30035d02bc 100644

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

fs/squashfs/inode.c +22 -2
index 53104f25de51..f5dcb8353f86 100644

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

include/acpi/acpixf.h +6 -0
index 78b24b090488..f35b29f50097 100644

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

include/asm-generic/io.h +66 -32

98 lines not on this page · raw message

include/linux/cpufreq.h +3 -0
index a604c54ae44d..794e38320f56 100644

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

include/linux/iio/frequency/adf4350.h +1 -1
index de45cf2ee1e4..ce2086f97e3f 100644

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

include/linux/ksm.h +7 -1
index ec9c05044d4f..af303641819a 100644

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

include/linux/mm.h +13 -9
index 41f5c88bdf3b..f0fa8404957d 100644

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

include/linux/rseq.h +8 -3
index bc8af3eb5598..1fbeb61babeb 100644

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

include/linux/sunrpc/svc.h +1 -1
index e68fecf6eab5..617ebfff2f30 100644

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

include/linux/sunrpc/svc_xprt.h +19 -0
index 0981e35a9fed..72d1a08f4828 100644

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

include/media/v4l2-subdev.h +17 -13
index 43343f1586d1..d0746e2c869a 100644

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

include/trace/events/dma.h +1 -0
index 63b55ccc4f00..e5187144c91b 100644

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

init/main.c +12 -0
index c4778edae797..821df1f05e9c 100644

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

kernel/bpf/inode.c +2 -2
index 9aaf5124648b..746b5644d9a1 100644

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

kernel/fork.c +1 -1
index 97c9afe3efc3..e5ec098a6f61 100644

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

kernel/pid.c +1 -1
index 2715afb77eab..b80c3bfb58d0 100644

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

kernel/rseq.c +5 -5
index 23894ba8250c..810005f927d7 100644

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

kernel/sched/deadline.c +49 -24

73 lines not on this page · raw message

kernel/sched/fair.c +6 -3
index af61769b1d50..b3d9826e25b0 100644

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

kernel/sys.c +20 -2
index 4da31f28fda8..35990f0796bc 100644

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

kernel/trace/trace_fprobe.c +7 -4
index af7d6e2060d9..440dbfa6bbfd 100644

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

kernel/trace/trace_kprobe.c +7 -4
index 6b9c3f3f870f..b273611c5026 100644

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

kernel/trace/trace_probe.h +7 -2
index 8a6797c2278d..4f54f7935d5d 100644

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

kernel/trace/trace_uprobe.c +8 -4
index 9916677acf24..f210e71bc155 100644

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

lib/crypto/Makefile +4 -0
index 969baab8c805..7ccc18accb23 100644

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

lib/genalloc.c +4 -1
index 4fa5635bf81b..841f29783833 100644

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

mm/damon/lru_sort.c +1 -1
index c2b4f0b07147..5654e31a198a 100644

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

mm/damon/vaddr.c +2 -6
index dba3b2f4d758..52e5c244bd02 100644

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

mm/huge_memory.c +3 -12
index f94a9d413585..029b67d48d30 100644

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

mm/hugetlb.c +3 -0
index fff6edb1174d..d404532ae41e 100644

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

mm/migrate.c +11 -12
index 8619aa884eaa..2bcfc41b7e4c 100644

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

mm/page_alloc.c +1 -1
index 752576749db9..765c890e6a84 100644

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

mm/slab.h +6 -2
index 92ca5ff20375..b65d2462b3fd 100644

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

mm/slub.c +1 -2
index 7fbba36f7aac..b75b50ad6748 100644

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

net/bridge/br_vlan.c +1 -1
index f2efb58d152b..13d6c3f51c29 100644

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

net/core/filter.c +2 -0
index c850e5d6cbd8..fef4d85fee00 100644

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

net/core/page_pool.c +53 -23

76 lines not on this page · raw message

net/ipv4/tcp.c +4 -1
index 739931aabb4e..795ffa62cc0e 100644

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

net/ipv4/tcp_input.c +0 -1
index 30f4375f8431..4c8d84fc27ca 100644

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

net/mptcp/pm.c +5 -2
index 2c8815daf5b0..1b7541206a70 100644

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

net/mptcp/pm_netlink.c +49 -1

50 lines not on this page · raw message

net/mptcp/protocol.h +8 -0
index 6f191b125978..9653fee227ab 100644

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

net/netfilter/nft_objref.c +39 -0
index 8ee66a86c3bc..1a62e384766a 100644

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

net/sctp/sm_make_chunk.c +2 -1
index f80208edd6a5..96ca400120e6 100644

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

net/sctp/sm_statefuns.c +4 -2
index a0524ba8d787..dc66dff33d6d 100644

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

net/sunrpc/svc_xprt.c +29 -16

45 lines not on this page · raw message

net/sunrpc/svcsock.c +2 -0
index e61e94576058..443d8390ebf1 100644

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

net/xdp/xsk_queue.h +35 -10

45 lines not on this page · raw message

security/keys/trusted-keys/trusted_tpm1.c +4 -3
index 89c9798d1800..e73f2c6c817a 100644

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

sound/soc/sof/intel/hda-pcm.c +21 -8
index f6e24edd7adb..898e4fcde2dd 100644

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

sound/soc/sof/intel/hda-stream.c +27 -2
index 24f3cc767614..2be0d02f9cf9 100644

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

sound/soc/sof/ipc4-pcm.c +113 -25

138 lines not on this page · raw message

sound/soc/sof/ipc4-topology.c +10 -6
index f82db7f2a6b7..4849a3ce02dc 100644

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

sound/soc/sof/ipc4-topology.h +8 -2
index f4dc499c0ffe..da9592430b15 100644

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

tools/build/feature/Makefile +2 -2
index 1658596188bf..592ca17b4b74 100644

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

tools/lib/perf/include/perf/event.h +1 -0
index 37bb7771d914..32b75c0326c9 100644

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

tools/perf/builtin-stat.c +15 -3
index 628c61397d2d..b578930ed76a 100644

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

tools/perf/pmu-events/arch/arm64/ampere/ampereonex/metrics.json +5 -5
index 5228f94a793f..6817cac149e0 100644

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

tools/perf/tests/perf-record.c +4 -0
index 1c4feec1adff..6e7f053006b4 100644

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

tools/perf/tests/shell/record_lbr.sh +22 -7
index 32314641217e..5984ca9b78f8 100755

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

tools/perf/tests/shell/stat.sh +29 -0
index 3f1e67795490..62f13dfeae8e 100755

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

tools/perf/tests/shell/trace_btf_enum.sh +11 -0
index 8d1e6bbeac90..1447d7425f38 100755

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

tools/perf/util/arm-spe-decoder/arm-spe-decoder.h +9 -9
index 1443c28545a9..358c611eeddb 100644

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

tools/perf/util/arm-spe.c +17 -17
index 2c06f2a85400..9890b17241c3 100644

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

tools/perf/util/disasm.c +5 -2
index 648e8d87ef19..a228a7ba30ca 100644

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

tools/perf/util/evsel.c +28 -3
index 6d7249cc1a99..dda107b12b8c 100644

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

tools/perf/util/lzma.c +1 -1
index af9a97612f9d..f61574d1581e 100644

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

tools/perf/util/session.c +1 -1
index dbaf07bf6c5f..89e5354fa094 100644

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

tools/perf/util/setup.py +4 -1
index 649550e9b7aa..abb567de3e8a 100644

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

tools/perf/util/zlib.c +1 -1
index 78d2297c1b67..1f7c06523059 100644

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

tools/testing/selftests/mm/madv_populate.c +2 -19
index ef7d911da13e..16f5754b8b1f 100644

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

tools/testing/selftests/mm/soft-dirty.c +4 -1
index bdfa5d085f00..7b91df12ce5b 100644

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

tools/testing/selftests/mm/vm_util.c +77 -0

77 lines not on this page · raw message

tools/testing/selftests/mm/vm_util.h +1 -0
index 2eaed8209925..823d07d84ad0 100644

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

tools/testing/selftests/net/mptcp/mptcp_join.sh +11 -0
index c07e2bd3a315..6b22b8c73742 100755

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

tools/testing/selftests/net/netfilter/nf_nat_edemux.sh +41 -17

58 lines not on this page · raw message

tools/testing/selftests/rseq/rseq.c +4 -4
index f6156790c3b4..05dc77fd527b 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.