Linux 6.18.51
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.18.51 kernel.
All users of the 6.18 kernel series must upgrade.
The updated 6.18.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.18.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/ABI/testing/sysfs-kernel-mm-damon | 8 Documentation/admin-guide/cgroup-v1/memory.rst | 49 - Documentation/trace/hisi-ptt.rst | 28 Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst | 12 Makefile | 2 arch/arm64/include/asm/kvm_nested.h | 20 arch/arm64/kernel/cpu_errata.c | 2 arch/arm64/kvm/at.c | 2 arch/arm64/kvm/nested.c | 94 +- arch/arm64/kvm/sys_regs.c | 11 arch/arm64/kvm/vgic/vgic-init.c | 1 arch/arm64/kvm/vgic/vgic-its.c | 8 arch/arm64/kvm/vgic/vgic-v3-nested.c | 2 arch/arm64/kvm/vgic/vgic-v3.c | 12 arch/arm64/mm/fault.c | 12 arch/loongarch/Kconfig | 2 arch/loongarch/include/asm/kvm_host.h | 1 arch/loongarch/include/asm/pgtable.h | 7 arch/loongarch/kernel/acpi.c | 3 arch/loongarch/kernel/kprobes.c | 3 arch/loongarch/kernel/rethook_trampoline.S | 2 arch/loongarch/kvm/exit.c | 1 arch/loongarch/kvm/main.c | 6 arch/loongarch/kvm/mmu.c | 10 arch/loongarch/kvm/vcpu.c | 6 arch/loongarch/kvm/vm.c | 1 arch/loongarch/net/bpf_jit.c | 22 arch/parisc/kernel/head.S | 1 arch/powerpc/include/asm/papr-watchdog.h | 64 + arch/powerpc/include/asm/reg.h | 12 arch/powerpc/kexec/file_load_64.c | 2 arch/powerpc/kexec/ranges.c | 12 arch/powerpc/kvm/book3s_hv.c | 15 arch/powerpc/kvm/powerpc.c | 6 arch/powerpc/mm/book3s64/radix_pgtable.c | 7 arch/powerpc/platforms/pseries/setup.c | 28 arch/s390/include/asm/nmi.h | 3 arch/s390/kernel/nmi.c | 5 arch/s390/kvm/guestdbg.c | 9 arch/s390/kvm/interrupt.c | 26 arch/s390/kvm/kvm-s390.c | 15 arch/x86/events/intel/lbr.c | 12 arch/x86/kernel/rtc.c | 4 arch/x86/kvm/hyperv.c | 25 arch/x86/kvm/mmu/mmu.c | 102 +- arch/x86/kvm/mmu/tdp_iter.h | 7 arch/x86/kvm/mmu/tdp_mmu.c | 20 arch/x86/kvm/vmx/nested.c | 75 +- arch/x86/kvm/x86.c | 5 arch/x86/kvm/x86.h | 2 block/genhd.c | 7 drivers/acpi/acpi_pnp.c | 2 drivers/acpi/acpi_tad.c | 178 +++-- drivers/acpi/cppc_acpi.c | 13 drivers/acpi/x86/cmos_rtc.c | 13 drivers/ata/ahci.c | 49 + drivers/block/ublk_drv.c | 6 drivers/block/zram/zram_drv.c | 65 - drivers/block/zram/zram_drv.h | 1 drivers/clk/mediatek/Kconfig | 1 drivers/clk/meson/gxbb.c | 2 drivers/clk/qcom/gcc-mdm9607.c | 182 ----- drivers/clk/qcom/gcc-msm8916.c | 5 drivers/clk/qcom/gcc-msm8939.c | 5 drivers/clk/rockchip/clk-rk3588.c | 2 drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 4 drivers/cpufreq/apple-soc-cpufreq.c | 36 - drivers/cpufreq/cppc_cpufreq.c | 2 drivers/cpuidle/cpuidle-psci.c | 42 - drivers/cpuidle/dt_idle_genpd.c | 3 drivers/crypto/atmel-ecc.c | 50 - drivers/crypto/intel/iaa/iaa_crypto_main.c | 138 ++- drivers/crypto/intel/iaa/iaa_crypto_stats.c | 9 drivers/crypto/intel/iaa/iaa_crypto_stats.h | 2 drivers/cxl/core/Makefile | 1 drivers/cxl/core/core.h | 11 drivers/cxl/core/mbox.c | 8 drivers/cxl/core/mce.c | 27 drivers/cxl/core/pci.c | 115 --- drivers/cxl/core/ras_rch.c | 136 +++ drivers/cxl/core/region.c | 122 ++- drivers/cxl/cxl.h | 9 drivers/cxl/cxlmem.h | 2 drivers/dax/Makefile | 3 drivers/dax/cxl.c | 27 drivers/dma/dw-edma/dw-edma-core.c | 23 drivers/dma/dw-edma/dw-hdma-v0-core.c | 2 drivers/dma/fsl-edma-trace.h | 4 drivers/firmware/qcom/qcom_scm.c | 30 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 7 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 26 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 7 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 8 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 8 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 10 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 10 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 3 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 23 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 56 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 13 drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia_bw.c | 5 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 13 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 drivers/gpu/drm/drm_atomic_uapi.c | 2 drivers/gpu/drm/drm_drv.c | 34 drivers/gpu/drm/gud/gud_connector.c | 12 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 52 - drivers/gpu/drm/i915/i915_pci.c | 3 drivers/gpu/drm/msm/dsi/dsi_host.c | 12 drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h | 1 drivers/gpu/drm/nouveau/nouveau_chan.c | 9 drivers/gpu/drm/nouveau/nouveau_sgdma.c | 4 drivers/gpu/drm/nouveau/nouveau_uvmm.c | 6 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 10 drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c | 13 drivers/gpu/drm/nouveau/nvkm/engine/disp/gb202.c | 191 +++++ drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c | 4 drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h | 4 drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 1 drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h | 17 drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.c | 86 ++ drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/disp.c | 129 +-- drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/disp.c | 64 + drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c | 9 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/nvrm/disp.h | 2 drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h | 5 drivers/gpu/drm/panel/panel-edp.c | 19 drivers/gpu/drm/panthor/panthor_fw.c | 22 drivers/gpu/drm/solomon/ssd130x.c | 9 drivers/gpu/drm/sun4i/sun4i_backend.c | 2 drivers/gpu/drm/sysfb/ofdrm.c | 8 drivers/gpu/drm/sysfb/simpledrm.c | 74 +- drivers/gpu/drm/xe/xe_vram.c | 26 drivers/hid/bpf/hid_bpf_struct_ops.c | 17 drivers/hid/hid-mcp2221.c | 15 drivers/hid/hid-rmi.c | 46 + drivers/hid/hid-sony.c | 78 -- drivers/hid/wacom_wac.c | 13 drivers/i2c/busses/i2c-designware-platdrv.c | 2 drivers/i2c/busses/i2c-qcom-geni.c | 4 drivers/i2c/i2c-core-base.c | 6 drivers/i2c/i2c-mux.c | 1 drivers/i2c/muxes/i2c-demux-pinctrl.c | 1 drivers/iio/adc/Kconfig | 1 drivers/iio/adc/adi-axi-adc.c | 30 drivers/iio/adc/pac1921.c | 2 drivers/iio/adc/ti-ads7138.c | 42 - drivers/iio/chemical/atlas-sensor.c | 19 drivers/iio/chemical/sgp30.c | 3 drivers/iio/dac/ad3552r-hs.c | 2 drivers/iio/dac/m62332.c | 17 drivers/iio/gyro/mpu3050-core.c | 2 drivers/iio/industrialio-buffer.c | 38 - drivers/iio/light/cm32181.c | 2 drivers/iio/light/gp2ap002.c | 10 drivers/iio/light/ltrf216a.c | 3 drivers/iio/light/opt4001.c | 37 - drivers/iio/light/opt4060.c | 5 drivers/iio/pressure/dps310.c | 3 drivers/iio/pressure/mpl115.c | 11 drivers/iio/proximity/srf04.c | 1 drivers/iio/temperature/hid-sensor-temperature.c | 3 drivers/infiniband/hw/ionic/ionic_hw_stats.c | 95 +- drivers/infiniband/hw/ionic/ionic_ibdev.h | 11 drivers/input/tablet/aiptek.c | 13 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 14 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 9 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 3 drivers/irqchip/irq-mbigen.c | 20 drivers/irqchip/irq-stm32mp-exti.c | 4 drivers/md/dm.c | 14 drivers/media/cec/core/cec-adap.c | 10 drivers/media/cec/core/cec-core.c | 2 drivers/media/cec/platform/meson/ao-cec-g12a.c | 1 drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c | 3 drivers/media/dvb-frontends/rtl2832_sdr.c | 21 drivers/media/i2c/alvium-csi2.c | 2 drivers/media/i2c/imx355.c | 3 drivers/media/i2c/imx415.c | 4 drivers/media/i2c/ov02a10.c | 12 drivers/media/i2c/ov7740.c | 4 drivers/media/i2c/video-i2c.c | 8 drivers/media/pci/cobalt/cobalt-alsa-main.c | 1 drivers/media/pci/cx23885/cimax2.c | 1 drivers/media/pci/intel/ipu6/ipu6-isys.c | 1 drivers/media/pci/saa7164/saa7164-core.c | 8 drivers/media/pci/zoran/zoran_card.c | 2 drivers/media/platform/amphion/venc.c | 2 drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c | 3 drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c | 6 drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c | 6 drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 6 drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c | 2 drivers/media/platform/qcom/iris/iris_state.c | 2 drivers/media/platform/qcom/iris/iris_vidc.c | 11 drivers/media/platform/qcom/iris/iris_vpu_common.c | 2 drivers/media/platform/qcom/venus/hfi_parser.c | 9 drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c | 5 drivers/media/platform/rockchip/rkvdec/rkvdec.c | 4 drivers/media/rc/sunxi-cir.c | 9 drivers/media/test-drivers/vimc/vimc-capture.c | 4 drivers/media/tuners/tda18250.c | 4 drivers/media/usb/airspy/airspy.c | 17 drivers/media/usb/cx231xx/cx231xx-video.c | 4 drivers/media/usb/em28xx/em28xx-cards.c | 3 drivers/media/usb/em28xx/em28xx-core.c | 2 drivers/media/usb/go7007/snd-go7007.c | 10 drivers/media/usb/s2255/s2255drv.c | 11 drivers/media/usb/usbtv/usbtv-audio.c | 11 drivers/media/v4l2-core/v4l2-async.c | 1 drivers/media/v4l2-core/v4l2-ctrls-core.c | 49 - drivers/media/v4l2-core/v4l2-fwnode.c | 2 drivers/mfd/qnap-mcu.c | 13 drivers/mtd/mtdoops.c | 3 drivers/mtd/nand/ecc-realtek.c | 1 drivers/mtd/nand/raw/nand_onfi.c | 27 drivers/mtd/parsers/afs.c | 7 drivers/nvdimm/btt.c | 8 drivers/nvme/host/core.c | 3 drivers/nvme/host/fabrics.c | 2 drivers/nvme/host/fc.c | 26 drivers/nvme/host/tcp.c | 7 drivers/nvme/target/auth.c | 6 drivers/nvme/target/core.c | 2 drivers/nvme/target/nvmet.h | 2 drivers/nvme/target/tcp.c | 10 drivers/parisc/eisa.c | 5 drivers/pci/controller/plda/pcie-starfive.c | 36 - drivers/pmdomain/mediatek/Kconfig | 5 drivers/power/supply/ab8500_fg.c | 32 drivers/remoteproc/qcom_q6v5_pas.c | 9 drivers/rtc/rtc-cmos.c | 10 drivers/rtc/rtc-rzn1.c | 30 drivers/s390/crypto/vfio_ap_ops.c | 203 ++++- drivers/scsi/fnic/fip.c | 2 drivers/scsi/megaraid/megaraid_sas_base.c | 13 drivers/scsi/pm8001/pm8001_init.c | 4 drivers/scsi/qla2xxx/qla_attr.c | 6 drivers/scsi/qla2xxx/qla_bsg.c | 39 - drivers/scsi/qla2xxx/qla_dbg.c | 2 drivers/scsi/qla2xxx/qla_dfs.c | 4 drivers/scsi/qla2xxx/qla_edif.c | 3 drivers/scsi/qla2xxx/qla_gs.c | 4 drivers/scsi/qla2xxx/qla_init.c | 61 + drivers/scsi/qla2xxx/qla_inline.h | 13 drivers/scsi/qla2xxx/qla_isr.c | 39 + drivers/scsi/qla2xxx/qla_mbx.c | 28 drivers/scsi/qla2xxx/qla_nvme.c | 31 drivers/scsi/qla2xxx/qla_os.c | 14 drivers/soc/qcom/qcom-geni-se.c | 24 drivers/spi/spi-bcm63xx-hsspi.c | 8 drivers/spi/spi-bcm63xx.c | 6 drivers/spi/spi-bcmbca-hsspi.c | 8 drivers/spi/spi.c | 34 drivers/staging/media/meson/vdec/vdec.c | 4 drivers/staging/media/sunxi/cedrus/cedrus.c | 4 drivers/staging/rtl8723bs/core/rtw_ieee80211.c | 7 drivers/target/iscsi/iscsi_target_login.c | 2 drivers/thermal/imx_thermal.c | 9 drivers/thermal/qoriq_thermal.c | 13 drivers/usb/dwc3/ep0.c | 2 drivers/usb/dwc3/gadget.c | 21 drivers/usb/gadget/function/f_fs.c | 31 drivers/usb/gadget/function/f_mass_storage.c | 2 drivers/usb/gadget/function/f_midi.c | 2 drivers/usb/gadget/function/f_midi2.c | 17 drivers/usb/gadget/functions.c | 2 drivers/usb/gadget/legacy/inode.c | 3 drivers/usb/host/xhci-debugfs.c | 21 drivers/usb/host/xhci-hub.c | 117 +-- drivers/usb/host/xhci-mem.c | 34 drivers/usb/host/xhci-pci.c | 6 drivers/usb/host/xhci-ring.c | 40 - drivers/usb/host/xhci-tegra.c | 12 drivers/usb/host/xhci-trace.h | 5 drivers/usb/host/xhci.c | 81 +- drivers/usb/host/xhci.h | 46 - drivers/usb/image/mdc800.c | 4 drivers/usb/storage/ene_ub6250.c | 2 drivers/usb/storage/realtek_cr.c | 9 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy.c | 2 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c | 5 drivers/usb/typec/tcpm/tcpm.c | 28 drivers/usb/typec/tipd/core.c | 17 drivers/usb/typec/tipd/tps6598x.h | 4 drivers/usb/typec/ucsi/displayport.c | 2 drivers/watchdog/pseries-wdt.c | 53 - drivers/xen/balloon.c | 56 + fs/afs/callback.c | 1 fs/ceph/caps.c | 63 + fs/ceph/crypto.c | 46 + fs/ceph/mds_client.c | 71 +- fs/ceph/mds_client.h | 2 fs/ceph/super.h | 13 fs/erofs/zutil.c | 2 fs/f2fs/data.c | 5 fs/f2fs/dir.c | 7 fs/f2fs/file.c | 154 +++- fs/f2fs/gc.c | 2 fs/f2fs/inline.c | 2 fs/f2fs/namei.c | 17 fs/f2fs/node.c | 9 fs/f2fs/sysfs.c | 7 fs/f2fs/xattr.c | 2 fs/fuse/args.h | 65 + fs/fuse/cuse.c | 7 fs/fuse/dev.c | 44 - fs/fuse/dev_uring.c | 187 +++-- fs/fuse/file.c | 22 fs/fuse/fuse_i.h | 53 - fs/fuse/inode.c | 10 fs/lockd/svcsubs.c | 2 fs/nfsd/filecache.c | 115 +-- fs/nfsd/netns.h | 11 fs/nfsd/nfs4proc.c | 139 +++ fs/nfsd/nfs4state.c | 170 +++- fs/nfsd/nfsctl.c | 25 fs/nfsd/nfsd.h | 15 fs/nfsd/state.h | 2 fs/notify/fanotify/fanotify_user.c | 12 fs/notify/inotify/inotify_user.c | 15 fs/ntfs3/frecord.c | 20 fs/ocfs2/dir.c | 71 +- fs/overlayfs/dir.c | 1 fs/pidfs.c | 136 ++- fs/smb/client/cifs_debug.c | 4 fs/smb/client/cifs_spnego.h | 2 fs/smb/client/cifs_unicode.h | 3 fs/smb/client/cifsfs.c | 5 fs/smb/client/cifsfs.h | 6 fs/smb/client/cifsglob.h | 10 fs/smb/client/cifsproto.h | 29 fs/smb/client/cifssmb.c | 146 ++++ fs/smb/client/compress.c | 21 fs/smb/client/compress.h | 19 fs/smb/client/connect.c | 142 ---- fs/smb/client/dir.c | 2 fs/smb/client/dns_resolve.h | 4 fs/smb/client/fs_context.c | 2 fs/smb/client/fs_context.h | 16 fs/smb/client/fscache.h | 10 fs/smb/client/inode.c | 61 + fs/smb/client/misc.c | 1 fs/smb/client/netmisc.c | 2 fs/smb/client/smb1ops.c | 171 ---- fs/smb/client/smb1proto.h | 40 + fs/smb/client/smb1transport.c | 198 +++++ fs/smb/client/smb2file.c | 3 fs/smb/client/smb2inode.c | 1 fs/smb/client/smb2maperror.c | 3 fs/smb/client/smb2ops.c | 99 ++ fs/smb/client/smb2pdu.c | 5 fs/smb/client/smb2proto.h | 14 fs/smb/client/trace.h | 151 ++++ fs/smb/server/oplock.c | 61 + fs/smb/server/smb2pdu.c | 7 include/linux/acpi.h | 14 include/linux/firmware/qcom/qcom_scm.h | 10 include/linux/huge_mm.h | 7 include/linux/hugetlb.h | 5 include/linux/kprobes.h | 1 include/linux/lockd/lockd.h | 2 include/linux/memcontrol.h | 10 include/linux/mm.h | 2 include/linux/rmap.h | 9 include/linux/soc/qcom/geni-se.h | 4 include/net/dst.h | 6 include/net/ip.h | 25 include/net/ip6_route.h | 43 + include/net/ipv6.h | 10 include/net/tcp.h | 5 kernel/bpf/percpu_freelist.c | 35 kernel/bpf/percpu_freelist.h | 1 kernel/bpf/stackmap.c | 173 +++- kernel/bpf/verifier.c | 81 +- kernel/dma/direct.c | 18 kernel/entry/syscall-common.c | 3 kernel/futex/requeue.c | 12 kernel/kprobes.c | 14 kernel/sched/core.c | 60 + kernel/sched/deadline.c | 8 kernel/sched/ext.c | 17 kernel/sched/fair.c | 4 kernel/sched/idle.c | 2 kernel/sched/rt.c | 8 kernel/sched/sched.h | 12 kernel/sched/stop_task.c | 2 kernel/trace/ftrace.c | 13 kernel/trace/ring_buffer.c | 20 mm/damon/core.c | 22 mm/damon/ops-common.c | 5 mm/damon/paddr.c | 20 mm/damon/sysfs-schemes.c | 18 mm/damon/sysfs.c | 23 mm/damon/tests/core-kunit.h | 15 mm/damon/tests/vaddr-kunit.h | 5 mm/damon/vaddr.c | 34 mm/huge_memory.c | 354 +++++----- mm/hugetlb.c | 25 mm/hugetlb_cgroup.c | 7 mm/hugetlb_vmemmap.c | 296 +++----- mm/memcontrol-v1.c | 43 - mm/memcontrol.c | 13 mm/mempolicy.c | 2 mm/migrate.c | 12 mm/mm_init.c | 1 mm/page_alloc.c | 6 mm/page_vma_mapped.c | 8 mm/rmap.c | 15 mm/slab.h | 8 mm/slab_common.c | 44 + mm/slub.c | 106 +- mm/sparse-vmemmap.c | 53 - mm/userfaultfd.c | 4 mm/vmscan.c | 41 - net/8021q/vlan.c | 7 net/8021q/vlan_dev.c | 32 net/batman-adv/bridge_loop_avoidance.c | 15 net/batman-adv/distributed-arp-table.c | 8 net/batman-adv/main.c | 4 net/batman-adv/multicast_forw.c | 7 net/core/skbuff.c | 5 net/ipv4/icmp.c | 2 net/ipv4/ip_output.c | 4 net/ipv4/ip_sockglue.c | 2 net/ipv4/ipmr.c | 2 net/ipv4/netfilter/nf_reject_ipv4.c | 2 net/ipv4/route.c | 4 net/ipv4/tcp_ipv4.c | 15 net/ipv4/tcp_minisocks.c | 2 net/ipv4/tcp_output.c | 6 net/ipv6/exthdrs.c | 55 - net/ipv6/ip6_gre.c | 2 net/ipv6/ip6_output.c | 47 - net/ipv6/ip6_tunnel.c | 6 net/ipv6/ipv6_sockglue.c | 4 net/ipv6/route.c | 10 net/ipv6/sit.c | 2 net/ipv6/tcp_ipv6.c | 11 net/openvswitch/conntrack.c | 121 ++- net/openvswitch/conntrack.h | 6 net/openvswitch/datapath.c | 10 net/openvswitch/datapath.h | 8 net/packet/af_packet.c | 96 ++ net/sunrpc/auth_gss/gss_rpc_xdr.c | 9 net/sunrpc/xprtrdma/ib_client.c | 24 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 12 net/sunrpc/xprtrdma/svc_rdma_rw.c | 5 net/sunrpc/xprtrdma/svc_rdma_transport.c | 32 rust/kernel/bug.rs | 10 rust/kernel/drm/ioctl.rs | 6 samples/damon/mtier.c | 14 samples/damon/prcl.c | 11 samples/damon/wsse.c | 11 security/integrity/ima/ima_appraise.c | 2 sound/core/pcm_native.c | 2 sound/core/rawmidi.c | 2 sound/parisc/harmony.c | 6 sound/soc/codecs/aw88261.c | 30 sound/soc/codecs/aw88261.h | 6 sound/soc/codecs/cs35l33.c | 14 sound/soc/codecs/cs35l34.c | 14 sound/soc/codecs/hdac_hda.c | 4 sound/soc/fsl/fsl_easrc.c | 2 sound/soc/fsl/mpc5200_psc_i2s.c | 1 sound/soc/intel/atom/sst/sst_pci.c | 4 sound/soc/loongson/loongson_card.c | 6 sound/soc/samsung/aries_wm8994.c | 1 sound/usb/midi.c | 2 tools/objtool/check.c | 3 tools/perf/util/bpf_skel/augmented_raw_syscalls.bpf.c | 155 ++-- tools/perf/util/hisi-ptt-decoder/hisi-ptt-pkt-decoder.c | 47 - tools/perf/util/hisi-ptt-decoder/hisi-ptt-pkt-decoder.h | 12 tools/sched_ext/scx_qmap.bpf.c | 2 tools/testing/cxl/Kbuild | 1 480 files changed, 6983 insertions(+), 4022 deletions(-)
Abdifatah Suruur (1):
ksmbd: fix use-after-free in oplock break notification
Abhijit Gangurde (1):
RDMA/ionic: Embed counter driver data in rdma_counter allocation
Ahmad Byagowi (1):
i2c: mux: Fix channel node leak on adapter add failure
Akari Tsuyukusa (1):
clk: mediatek: mt8196: Select REGMAP_MMIO for vlpckgen
Aleksandr Nogikh (1):
usb: gadget: midi2: Fix null-pointer dereference in f_midi2_free_ep_reqs
Ali Ahmet Memis (1):
mfd: qnap-mcu: keep the reply buffer alive past a command timeout
Ali Tariq (1):
PCI: starfive: Fix resource leaks on error paths in host_init()
Amit Barzilai (2):
drm/ssd130x: fix column and row end address in partial updates for ssd132x
drm/ssd130x: fix column and row end address in partial updates in ssd133xAmit Machhiwal (1):
KVM: PPC: Book3S HV: Validate arch_compat against host compatibility mode
Amit Sunil Dhamne (1):
usb: typec: tcpm: constrain TCPM_SOURCING_VBUS event handling
Andy Shevchenko (1):
usb: f_mass_storage: Bump local buffer size in fsg_common_create_luns()
Aneesh Kumar K.V (Arm) (1):
dma-direct: return struct page from dma_direct_alloc_from_pool()
Anthony Krowiak (9):
s390/vfio-ap: fix stale pqap_hook pointer on error in vfio_ap_mdev_set_kvm() s390/vfio-ap: Fix stale do_remove flag across iterations in vfio_ap_mdev_cfg_remove s390/vfio-ap: Fix control domain removal in vfio_ap_mdev_cfg_remove s390/vfio-ap: Fix dereference matrix_mdev->kvm without checking for NULL s390/vfio-ap: Fix hot-unplug skipped when last AP adapter or domain removed s390/vfio-ap: Fix missing lock required to access list of ap_matrix_mdev objects s390/vfio-ap: Fix NULL deref in status_show() during queue probe s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap s390/vfio-ap: Fix required lock not held during update of ap_matrix_mdev object
Anton Protopopov (1):
bpf: fix the return value of push_stack
Antoniu Miclaus (1):
iio: adc: adi-axi-adc: add data size support for AD408X backend
Arash Golgol (1):
media: vimc: fix pixel format lookup in enum_framesizes
Arthur Gautier (1):
xhci: fix lost bounce buffers on TDs spanning several ring segments
Babanpreet Singh (1):
iio: dac: ad3552r-hs: fix scnprintf() buffer bound in data source show
Bibo Mao (1):
LoongArch: Fix acpi_package_ids[] array overflow
Binbin Zhou (1):
ASoC: loongson: Fix error handling in ACPI property parsing
Biren Pandya (4):
media: cec: disable delayed work before freeing an interrupted transmit
media: i2c: ov02a10: fix endpoint parsing use-after-free
media: i2c: ov7740: fix use-after-destroy in remove
media: v4l2-fwnode: Fix fwnode leak in v4l2_fwnode_parse_link
Bradley Morgan (1):
ima: Check for ERR_PTR from dentry_path() in validate_hash_algo()
Brendan Jackman (1):
mm/page_alloc: don't spin_trylock() in NMI on UP
Breno Leitao (1):
usb: xhci: bail out of setup if the controller is inaccessible
Bryam Vargas (3):
nvdimm/btt: reject an arena whose nfree is below the lane count
media: cx231xx: reject geometry changes while the VBI queue is busy
smb: client: reject a tree connect response whose byte count is too small
Bryan Lim (1):
userfaultfd: reset err to be 0 when move_pages_ptes succeeded
Bryan O'Donoghue (1):
media: iris: Enumerate cap->bus_info to differentiate between encoder and decoder
Can Peng (6):
thermal/drivers/imx: Disable clock on runtime resume failure thermal/drivers/qoriq: Disable clock on resume failure
spi: bcm63xx-hsspi: disable clocks on resume failure
spi: bcm63xx: disable clock on resume failure
spi: bcmbca-hsspi: disable clocks on resume failure
iio: pressure: mpl115: Fix runtime PM cleanup
Carlos López (1):
KVM: x86: hyper-v: Clamp stimer deadline to avoid livelock
Chaithanya Lagisetty (1):
LoongArch: KVM: Free init resources if kvm_init() fails
Chao Yu (7):
f2fs: fix to avoid move_range and defragment on device_alias file
f2fs: fix to avoid potential section-unaligned pinfile
f2fs: fix to avoid potential deadloop in f2fs_fsync_node_pages()
f2fs: fix to off-by-one issue in f2fs_zero_post_eof_page()
f2fs: fix to clear dirty flag on folio in error path
f2fs: fix to pass folio->index to f2fs_sanity_check_node_footer()
f2fs: fix to zero post-EOF data when extending file size
Chen Changcheng (1):
f2fs: fix valid block count leak on data block allocation failure
Chen Linxuan (1):
pidfd: hold exec_update_lock around namespace ioctl
Chris Mason (1):
SUNRPC: fix gssx_dec_option_array error path bugs
Christian Borntraeger (9):
KVM: s390: Fix length check __import_wp_info()
KVM: s390: Fix memory leak in guest debug handling
KVM: s390: Fix old_data leak in guest debug error path
KVM: s390: Free guest debug data on vcpu destroy
KVM: s390: Take srcu when importing watchpoint data
KVM: s390: Zero initialize irq in reinject_machine_check
KVM: s390: Fix memory corruption by not reinjecting CK machine checks
KVM: s390: pv: Fix rc/rrc offset for PVM_DUMP
KVM: s390: Restore sigset on error path
Christian Brauner (2):
pidfs: simplify PIDFD_GET_<type>_NAMESPACE ioctls
pidfs: protect PIDFD_GET_* ioctls() via ifdef
Christian Hewitt (1):
media: meson: vdec: fix NULL pointer deref in vdec_try_fmt_common
Christian Loehle (1):
ACPI: CPPC: Reject desired_perf reads on _CPC revision 4+
Christian Marangi (1):
pmdomain: airoha: fix unselectable AIROHA_CPU_PM_DOMAIN kconfig
Chuck Lever (11):
NFSD: Guard admin state-revocation walks with NFSD_NET_UP
svcrdma: Release transport resources synchronously
svcrdma: Reorder rpcrdma_rn_unregister before rdma_destroy_id
rpcrdma: arm rn_done before publishing the notification
svcrdma: Reject oversized Read segments at decode time
svcrdma: Reject Read lists that exceed the page budget
NFSD: Prevent client use-after-free during delegation revoke
NFSD: Prevent client use-after-free during admin state revocation
NFSD: Consolidate the revocation-path client unpin
NFSD: Prevent client use-after-free during blocked-lock reaping
NFSD: Prevent client use-after-free during close_lru reaping
Cong Nguyen (4):
iio: adc: pac1921: fix wrong channel used in trigger handler read
iio: gyro: mpu3050: fix sign of raw angular velocity readings
iio: srf04: fix pm_runtime handling on probe error path
media: intel/ipu6: fix async notifier cleanup leak on parse error
Daeho Jeong (1):
f2fs: fix to migrate all curseg types during free_segment_range
Damien Le Moal (1):
block: flag zoned disks with GENHD_FL_NO_PART
Dan Williams (1):
dax/cxl, hmem: Initialize hmem early and defer dax_cxl binding
Danilo Krummrich (2):
rust: drm: ioctl: fix unbounded lifetimes in ioctl handler arguments
drm: fix race between partial drm_dev_register() failure and ioctl
Dapeng Mi (1):
perf/x86/intel: Fix kernel address leakages in LBR stack
Dave Jiang (1):
cxl/mce: Make the MCE notifier per-region
Dave Stevenson (1):
media: imx355: Avoid calling imx355_power_off twice in error path
David (Ming Qiang) Wu (1):
drm/amdgpu/vcn: fix integer overflow in dec_msg buffer count check
David Howells (9):
afs: Fix leak of ungot volume
cifs: Scripted clean up fs/smb/client/cifs_unicode.h
cifs: Scripted clean up fs/smb/client/fscache.h
cifs: Scripted clean up fs/smb/client/fs_context.h
cifs: Scripted clean up fs/smb/client/smb2proto.h
cifs: Remove dead function prototypes
cifs: SMB1 split: Create smb1proto.h for SMB1 declarations
cifs: SMB1 split: Separate out SMB1 decls into smb1proto.h
cifs: Do some preparation prior to organising the function declarations
Dawei Feng (1):
media: cedrus: fix memory leak in cedrus_init_ctrls()
Deepanshu Kartikey (2):
drm/i915: Guard against NULL driver_data in i915_pci_probe() drm/gud: NUL-terminate TV mode names read from the device
Dev Jain (2):
mm/page_vma_mapped: use huge_ptep_get() for hugetlb mm/rmap: use huge_ptep_get() in try_to_migrate_one()
Diego Fernando Mancera Gomez (1):
media: em28xx: defer audio-only extension registration
Dikshita Agarwal (1):
media: qcom: iris: fix state-change debug log printing stale value
Doruk Tan Ozturk (2):
HID: sony: clean up device list on probe failure
ocfs2: validate directory-index entry counts when reading metadata
Elson Serrao (1):
usb: dwc3: clear forceRM when issuing EndTransfer
Eric Dumazet (7):
mm/mempolicy: fix sleeping allocation in alloc_pages_bulk_weighted_interleave()
vlan: fix skb_under_panic and races when toggling HW VLAN offload
ipv6: pass proto by value to ipv6_push_nfrag_opts() and ipv6_push_frag_opts()
ipv6: add some unlikely()/likely() clauses in ip6_output.c
inet: add dst4_mtu() and dst6_mtu() helpers
ipv6: use dst6_mtu() instead of dst_mtu()
ipv4: use dst4_mtu() instead of dst_mtu()
Erick Henrique (1):
iio: dac: m62332: Fix regulator reference count imbalance
FUJITA Tomonori (2):
objtool/rust: add one more noreturn Rust function
rust: bug: prevent dead_code warning from warn_on!'s flags constant
Faith Ekstrand (1):
drm/nouveau: Use write-combined maps for coherent
Fan Wu (6):
usb: typec: qcom-pmic-typec: disable cc_debounce_dwork on stop
usb: typec: qcom-pmic-typec: drain cc_debounce_dwork if port_start() fails
usb: typec: qcom-pmic: cancel reset_work on stop
iio: chemical: atlas-sensor: use iio_trigger_poll_nested() to fix remove UAF
media: cx23885: cancel NetUP CI work before teardown
power: supply: ab8500_fg: fix use-after-free on remove
Florian Pradines (1):
HID: mcp2221: fix OOB write in mcp2221_raw_event()
Frank Sorenson (4):
cifs: add cifs_resize_file_locked() to guard fscache_resize_cookie() under i_rwsem
smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2
smb: client: fix OOB read/write from unvalidated DataOffset in coalesce_t2()
cifs: add fscache_resize_cookie() to cifs_setsize()
Fuad Tabba (2):
KVM: arm64: vgic: Reset in_kernel on private IRQ allocation failure
KVM: arm64: vgic-its: Don't dereference a NULL collection on ITT save
Gabriel Prostitis (1):
USB: gadget: ffs: fix mm lifetime handling
Giorgi Tchankvetadze (1):
iio: light: cm32181: return zero after writing calibscale
Giovanni Cabiddu (1):
crypto: iaa - fall back to software for multi-entry scatterlists
Greg Kroah-Hartman (1):
Linux 6.18.51
Griffin Kroah-Hartman (1):
usb: image: mdc800: change kmalloc() to kzalloc()
Guanghui Yang (1):
f2fs: fix dentry folio leak in find_in_level
Guangshuo Li (3):
media: platform: mtk-mdp3: Fix SCP device refcounting
media: saa7164: fix cleanup on resource allocation failure drm/amdgpu: fix autosuspend cleanup during removal
Guoniu Zhou (3):
media: nxp: imx8-isi: Fix stream ID validation bypass in crossbar routing
media: nxp: imx8-isi: Correct color map between V4L2 and ISI
media: nxp: imx8-isi: Use BIT_ULL() for 64-bit stream masks
HE WEI(ギカク) (1):
fs/ntfs3: fix slab-out-of-bounds write in ni_create_attr_list()
Hajo Noerenberg (1):
ata: ahci: work around lost interrupts on Marvell 88SE61xx
Hal Feng (1):
PCI: starfive: Use regulator APIs to control the 3v3 power supply of PCIe slots
Han Gao (1):
LoongArch: Add DIRECT_MAP_PHYSMEM_END definition
Hans Verkuil (1):
media: cec: extron-da-hd-4k-plus: add sanity check
Hao-Qun Huang (1):
f2fs: reject overlapping move range after len expansion
Haoxiang Li (4):
ASoC: fsl: mpc5200-i2s: Free DMA resources on probe failure
ASoC: hdac_hda: Fix hlink refcount leak on component registration failure
AsoC: intel: sst: fix PCI device reference leak on probe failure
cpufreq: apple-soc: Fix OPP table cleanup
Hari Mishal (1):
drm/amd/display: fix division by zero in get_estimated_bw()
Harry Wentland (2):
drm/amd/display: avoid divide-by-zero in __is_lut_linear() drm/amd/display: validate plane degamma LUT size for private color prop
Heiko Stuebner (1):
clk: rockchip: rk3588: Don't change PLL rates when setting dclk_vop2_src
Helge Deller (1):
parisc: Fix alignment of asm statements in head.S
Hongbo Yao (1):
i2c: designware: Enable interrupt mask workaround for HJMC3001
Honghui Jiang (1):
spi: Fix DMA mapping ownership on partial map failure
Hui Su (1):
bpf: Fix infinite loop in pcpu_freelist push with one possible CPU
Huiwen He (2):
smb/client: reduce fallocate zero buffer allocation smb/client: emulate small EOF-extending mode 0 fallocate ranges
Hungyu Lin (1):
media: qcom: iris: use disable_irq() during power-off
HyeongJun An (3):
ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()
ALSA: rawmidi: Return the error from snd_rawmidi_input_params()
media: s2255: bound JPEG frame size before copying into the buffer
Ibrahim Hashimov (1):
HID: wacom: validate report length in wacom_intuos_pro2_bt_irq
Ilya Krutskih (1):
media: tda18250: fix possible integer overflow
Ivy Lopez (1):
usb: gadget: f_midi2: fix use-after-free in string attribute show path
Jackson Lee (2):
media: chips-media: wave5: Guard bit depth check with initial_info_obtained
media: chips-media: wave5: Set inst->std during default format initialization
Jameson Thies (1):
usb: typec: ucsi: displayport: Fix OOB altmode array index
Jeff Layton (8):
nfsd: check nfsd4_acl_to_attr() return value in nfsd4_create()
nfsd: move struct nfsd_genl_rqstp to nfsctl.c
nfsd: widen nfsd_genl_rqstp address fields to sockaddr_storage
nfsd: fix clock domain mismatch in clients_still_reclaiming()
nfsd: fix fcache_disposal UAF by inlining dispose state into nfsd_net
nfsd: fix UAF in async copy cancel and shutdown
nfsd: close shrinker/GC/fsnotify vs per-net shutdown race in filecache
nfsd: convert global state_lock to per-net deleg_lock
Jeffin Philip (2):
usb: gadget: f_midi: initialize work in f_midi_alloc()
usb: gadget: fix null pointer dereference in usb_put_function_instance()
Jiangong.Han (1):
media: em28xx: fix use-after-free of dev_next->devlist on disconnect
Jiangshan Yi (2):
HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes
smb: client: clear setuid/setgid bit on write with cifsacl/modefromsid/posix extensions
Jiayuan Chen (1):
net: advertise TCP MSS from the configured MTU, not the learned PMTU
Jinjie Ruan (3):
entry: Fix seccomp bypass after ptrace with TSYNC powerpc/kexec_file: Fix null-ptr-def in extra size calculation powerpc/kexec_file: Prevent kexec range truncation
Jiri Olsa (5):
bpf: Factor stackid_init function from __bpf_get_stackid
bpf: Factor stackid_fastpath function from __bpf_get_stackid
bpf: Factor stackid_new_bucket from __bpf_get_stackid
bpf: Use stack id functions instead of __bpf_get_stackid
bpf: Disable preemption in bpf_get_stackid
Joanne Chang (1):
f2fs: dirty directory inodes on mtime/ctime update
Joanne Koong (7):
fuse: publish io-uring queues with release semantics
fuse: fix missing barrier when checking io-uring readiness
fuse-uring: refactor io-uring header copying to ring
fuse-uring: refactor io-uring header copying from ring
fuse-uring: use enum types for header copying
fuse-uring: refactor setting up copy state for payload copying
fuse-uring: use named constants for io-uring iovec indices
Johan Hovold (3):
media: platform: mtk-mdp3: fix NULL deref on failed SCP lookup drm/bridge: dw-hdmi: fix i2c adapter leak on probe failure drm/panel-edp: fix i2c adapter leak on probe failure
John Stultz (2):
sched: Add assert_balance_callbacks_empty helper
sched: Rework prev_balance() to avoid stale prev references
Jonas Karlman (1):
media: cec: core: Fix kmemleak due to missed rc_free_device() call
Jorijn van der Graaf (1):
ASoC: codecs: aw88261: only check PLL and clock state at power-up
Joseph Qi (1):
ocfs2: validate dx_root extent list fields during block read
Joshua Crofts (1):
iio: adc: max34408: add missing 'select REGMAP_I2C' to Kconfig
Ju Nan (1):
irqchip/stm32mp-exti: Fix the unit of the hwspinlock timeout
Jérémy Jean (1):
LoongArch: Avoid preempt count underflow without probe
Kairui Song (2):
mm/mglru: use the common routine for dirty/writeback reactivation mm/mglru: fix and remove redundant unevictable folio handling
Kajetan Puchalski (1):
KVM: arm64: vgic: Fix detection of MI on no pending LR
Kanala Ramalingeswara Reddy (1):
drm/amdgpu: Skip accessing psp rum time db for APUs
Kanishka De Silva (1):
ublk: clear VM_MAYWRITE on read-only ublk char device mmap
Karl Mehltretter (1):
arm64: mm: Fix the lockless page-table walk in show_pte()
Kathiravan Thirumoorthy (1):
i2c: qcom-geni: update frequency table to fix timing parameters
Kavan Smith (1):
drm/msm/dsi: round 6G byte clock rate to the PLL-achievable value
Kazuki Hanai (1):
nvmet-auth: Synchronize timeout work during SQ teardown
Khushit Shah (1):
arm64: errata: pass REVIDR when matching target implementation CPUs
Kiryl Shutsemau (3):
mm/hugetlb: refactor code around vmemmap_walk
mm: rework compound_head() for power-of-2 sizeof(struct page)
hugetlb: remove VMEMMAP_SYNCHRONIZE_RCU
Kiryl Shutsemau (Meta) (1):
mm/hugetlb: defer vmemmap population for bootmem hugepages
Koichiro Den (3):
dmaengine: dw-edma: Fix HDMA channel status register access
dmaengine: dw-edma: Complete descriptors before pausing
dmaengine: dw-edma: Initialize IRQ data before requesting IRQs
Kyle Zeng (1):
net/packet: defer vmalloc TX_RING free until skbs finish
Lad Prabhakar (4):
rtc: rzn1: Handle EPROBE_DEFER for optional pps interrupt
rtc: rzn1: Fix weekday underflow when alarm crosses month boundary
rtc: rzn1: Handle unset alarm weekday in rzn1_rtc_read_alarm
rtc: rzn1: Disable alarm interrupt before reprogramming alarm registers
Lars-Peter Clausen (3):
iio: buffer: Fix potential use-after-free in anonymous buffer release
iio: buffer: Make IIO DMA fence release RCU-safe
iio: buffer: Tie IIO dma fence lock lifetime to the fence
Laxman Acharya Padhya (1):
iio: light: gp2ap002: Disable regulators on resume failure
Lei Huang (1):
media: s2255: check firmware size before reading trailing marker
Li Xiasong (1):
mm/slub: fix missing debugfs entries for caches created before sysfs init
Linkai Gong (4):
cpuidle: dt_idle_genpd: kfree() the original name allocation
i2c: mux: demux-pinctrl: fix OF node leak on kstrdup failure drm/amd/display: fix dc_lock leak on GPU reset error paths
scsi: fnic: Use GFP_ATOMIC for VLAN alloc under spinlock
Linmao Li (1):
iio: chemical: sgp30: Handle IAQ thread creation failure
Linus Torvalds (1):
drm/xe: Don't hand out the flat CCS storage as usable VRAM
Liu Qi (1):
usb-storage: ene_ub6250: fix race between scan work and probe
Longlong Xia (2):
mm/hugetlb: keep max_huge_pages when dissolving surplus folios
zram: fix out-of-bounds access in read_block_state()
Lovekesh Solanki (1):
USB: gadget: fix NULL pointer dereference in gadget_dev_ioctl()
Lyude Paul (1):
drm/nouveau/disp/r535: Add scanline position support + head state support
Marc Zyngier (6):
KVM: arm64: Consider SCTLR_EL2.M when mapping the L1 VNCR page
KVM: arm64: Handle negative S1 walk levels in VNCR TLB size evaluation
KVM: arm64: Correctly handle end of VA space TLBI invalidation
KVM: arm64: Make VNCR invalidation participate in MMU invalidation retry
KVM: arm64: Sign-extend VA for range-based TLBI invalidation
KVM: arm64: Correctly cap TLBI Range to the architural limit
Marek Czernohous (1):
drm/nouveau: unsubscribe the channel-kill event before the fence context
Mario Limonciello (1):
drm/amd: Drop calls to restore power limit and clock from smu_resume()
Martin Blumenstingl (1):
clk: meson: align gxbb_32k_clk_sel number of parents with actual count
Martin Hecht (1):
media: i2c: alvium: Fix: Correct name of register in alvium_set_ctrl_auto_exposure
Martin Kaiser (1):
dmaengine: fsl-edma: tracing: no ptr dereference during log output
Masami Hiramatsu (Google) (1):
kprobes: Protect kprobe_blacklist with RCU
Matthew Auld (1):
drm/xe/vram: report FLAT_CCS base misalignment
Matthew Wilcox (Oracle) (1):
migrate: replace RMP_ flags with TTU_ flags
Max Kellermann (2):
ceph: lock mutex in ceph_mds_check_access()
ceph: force a cap message when a deferred revoke can't be acked immediately
Michael Bommarito (1):
ceph: cap delegated inode count in ceph_parse_deleg_inos()
Miklos Szeredi (3):
fuse: split off fuse_args and related definitions into a separate header
fuse: remove fm arg of args->end callback
fuse: fix race between interrupt and resend
Mikulas Patocka (2):
dm: fix race when loading and unloading a table
dm: fix resume-vs-remove race
Ming Qian (2):
media: amphion: Remove obsolete frame_count check in venc_start_session
media: v4l2-ctrls: Allow unknown HDR10 white point and luminance
Mohamed Ahmed (8):
drm/nouveau/gsp: use per-version DP_CONFIG_STREAM params on r570 firmware drm/nouveau/disp: move GSP head-timing ISR and vblank helpers to tu102.c drm/nouveau/disp: move the GSP HDMI GCP AVMute write to engine/disp drm/nouveau/disp: route GSP-RM display MMIO through nvkm_disp_func hooks drm/nouveau/disp: fix HDMI vendor infoframes on GB20x drm/nouveau/disp: fix HDMI GCP AVMute register offsets on GB20x drm/nouveau/disp: fix head state readback on GB20x drm/nouveau/gsp: fix vblank interrupts on GB20x
Mohammed EL Kadiri (2):
media: venus: fix payload size returned by parse_caps() and parse_alloc_mode()
media: venus: fix payload size calculation in parse_raw_formats()
Moksh Panicker (1):
iio: chemical: atlas-sensor: fix PM reference leak in buffer postenable
Muchun Song (6):
powerpc/mm: fix wrong addr_pfn tracking in compound vmemmap population mm/hugetlb: initialize gigantic bootmem hugepage struct pages earlier mm/hugetlb_vmemmap: fix __hugetlb_vmemmap_optimize_folios()
mm: thp: introduce folio_split_queue_lock and its variants
mm: thp: use folio_batch to handle THP splitting in deferred_split_scan() mm/hugetlb_vmemmap: fix incorrect vmemmap restore in rollback
Muhammad Bilal (2):
staging: rtl8723bs: fix OOB read / stack overflow in rtw_get_wps_attr()
staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()
Mukesh Ojha (2):
firmware: qcom_scm: Rename peripheral as pas_id
remoteproc: qcom: pas: Guard dtb metadata release with dtb_pas_id check
Myeonghun Pak (2):
usb: storage: realtek_cr: fix use-after-free on disconnect
media: rc: sunxi-cir: Unregister rc device on probe failure
Namjae Jeon (1):
ksmbd: zero pipe read compound padding
Narasimharao Vadlamudi (3):
media: i2c: imx415: Release runtime PM reference on VBLANK error
media: i2c: imx415: Return test pattern write errors
media: rkvdec: Propagate platform_get_irq() errors
Narek Jilavyan (1):
mm/hugetlb_cgroup: call page_counter_set_max() outside VM_BUG_ON()
Nathan Chancellor (1):
LoongArch: Do not select HAVE_RUST when KASAN is enabled
Neill Kapron (1):
usb: gadget: f_fs: Fix Use-After-Free in AIO error path
Nikhil Gautam (4):
iio: light: opt4001: Fix power down clearing bits of the wrong register
iio: light: opt4001: Fix incompatible pointer type passed to div_u64_rem()
iio: light: opt4001: Reject integration times with a non-zero seconds part
iio: light: opt4001: Fix reversed GENMASK() arguments in fault count mask
Nikhil Gurudasani (1):
erofs: skip sufficiently large global buffers when resizing
Niklas Cassel (1):
nvme-fc: fix double free of fabrics options when nvme_add_ctrl() fails
Niklas Neronin (6):
usb: xhci: add tracing for PORTSC register writes
usb: xhci: add helper to read PORTSC register
usb: xhci: add USB Port Register Set struct
usb: xhci: implement USB Port Register Set struct
usb: xhci: use cached HCSPARAMS1 value
usb: xhci: simplify handling of Structural Parameters 1 values
Nilesh Javali (28):
scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers
scsi: qla2xxx: Bound i2c->length in I2C bsg handlers
scsi: qla2xxx: edif: Fix NULL pointer deref in RX SA delete check
scsi: qla2xxx: Fix Name Server logout detection on FWI2 adapters
scsi: qla2xxx: Hold vport reference in qla24xx_report_id_acquisition()
scsi: qla2xxx: Initialize NVMe abort_work once at submission
scsi: qla2xxx: Check entry_status in qla24xx_modify_vp_config()
scsi: qla2xxx: Bound image count in qla2x00_update_fru_versions()
scsi: qla2xxx: Hold qpair lock when sending NVMe LS reject
scsi: qla2xxx: Clamp MSI-X derived queue counts to avoid truncation
scsi: qla2xxx: Serialize flash version read in reset handler
scsi: qla2xxx: Fix cs84xx use-after-free on host teardown
scsi: qla2xxx: Fix FCE trace use-after-free during firmware dump
scsi: qla2xxx: Zero mailbox struct in qla2x00_get_firmware_state()
scsi: qla2xxx: Fix FCE trace enable parsing in debugfs
scsi: qla2xxx: Don't query firmware state while chip is down
scsi: qla2xxx: Reject non-SCSI SRB on status IOCB fast path
scsi: qla2xxx: Fix response queue over-consumption in __qla_consume_iocb()
scsi: qla2xxx: Quiesce response IRQ before freeing request queue
scsi: qla2xxx: Avoid double completion in async IOCB timeout
scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read
scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_error_entry()
scsi: qla2xxx: Fix NVMe abort reference leak on repeated abort
scsi: qla2xxx: Drop vport reference under lock in report ID acquisition
scsi: qla2xxx: Hold vport_slock for host map update in report ID acquisition
scsi: qla2xxx: Use coherent DMA buffer for D_Port diagnostics
scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak
scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started
Nirbhay Sharma (1):
fs/ntfs3: fix KMSAN uninit-value in ni_create_attr_list
Norbert Szetei (1):
net: skbuff: don't skb_tx_error() the source skb in skb_zerocopy()
Osama Abdelkader (2):
drm/panthor: harden firmware build-info bounds checks drm/panthor: fix firmware control interface bounds checks
Oscar Ou (1):
lockd: fix swapped arguments in nlmsvc_match_ip()
Pan Chuang (1):
power: supply: ab8500_fg: Remove redundant dev_err()/dev_err_probe()
Paul Geurts (1):
iio: ti-ads7138: Disable STATS_EN bit while reading conversion results
Pavel Löbl (1):
clk: clocking-wizard: fix integer overflow in rate calculation
Pei Xiao (1):
parisc: eisa: Fix infinite loop when parsing invalid IRQ value
Pengpeng Hou (4):
Input: aiptek - validate raw macro indices before updating state
mtd: afs: validate v2 image info bounds
mtd: nand: realtek-ecc: add missing MODULE_DEVICE_TABLE()
mtd: rawnand: validate ONFI extended parameter page sections
Phil Rosenthal (1):
KVM: x86/mmu: Consume the locked rmap value in the lockless rmap walk
Priya Hosur (1):
drm/amdkfd: Add TLB flush after MES queue eviction/suspension
Qihang (1):
KVM: arm64: vgic-v3: take an LPI reference in vgic_v3_save_pending_tables
Rafael J. Wysocki (4):
ACPI: x86: cmos_rtc: Create a CMOS RTC platform device
ACPI: x86/rtc-cmos: Use platform device for driver binding
ACPI: TAD: Rearrange RT data validation checking
ACPI: TAD: Add locking around AML evaluations
Robin Murphy (1):
iommu/arm-smmu-v3: Add HAFT support for SVA
Roger Pau Monne (2):
xen/balloon: improve accuracy of initial balloon target for dom0 x86/xen: fix init of balloon stats again
Rosalie Wanders (1):
HID: sony: use guard() and scoped_guard()
Runyu Xiao (4):
scsi: pm8001: Use rollback index when freeing MSI-X vectors
ALSA: harmony: initialize locks before requesting IRQ
ASoC: cs35l33: drain threaded IRQ before runtime suspend
ASoC: cs35l34: drain threaded IRQ before runtime suspend
Ruoyu Wang (3):
media: cec: Serialize exclusive follower delivery
media: cobalt: Avoid freeing ALSA private data twice
media: zoran: Avoid freeing a registered video_device twice
Rupesh Majhi (1):
iio: pressure: dps310: fix NULL pointer dereference on ACPI probe
SJ Park (23):
mm/damon/vaddr-kunit: check region count in three_regions test samples/damon/mtier: handle damon_start() failure samples/damon/mtier: handle damon_stop() failure samples/damon/prcl: handle damon_start() failure samples/damon/prcl: stop and free damon ctx when damon_call() fails samples/damon/wsse: handle damon_start() failure samples/damon/wsse: stop and free damon ctx when damon_call() fails mm/damon/sysfs-schemes: kobject_del() scheme action destination dirs mm/damon/sysfs-schemes: kobject_del() scheme dirs mm/damon/sysfs-schemes: kobject_del() scheme filter dirs mm/damon/sysfs-schemes: kobject_del() scheme quota goal dirs mm/damon/sysfs-schemes: kobject_del() scheme region dirs mm/damon/sysfs: kobject_del() region and target (error) dirs mm/damon/sysfs: kobject_del() target (normal), context and kdamond dirs mm/damon/core-kunit: check region count before testing in split_at() mm/damon/tests/core-kunit: catch test failure in test_merge_regions_of() mm/damon/vaddr: drop last same folio access check optimization mm/damon/paddr: drop last same folio access check reuse optimization mm/damon/ops-common: use nr_accesses moving sum for quota score mm/damon/core: skip aging from repeated aggressive merging mm/damon/sysfs: read addr_unit only once in damon_sysfs_apply_inputs() mm/damon/core-kunit: handle region split failure in filter_out() mm/damon/core: initialize damos->last_applied
Sam Edwards (1):
ceph: properly decrypt filenames in vmalloc() buffers
Sanjay Chitroda (1):
iio: temperature: hid-sensor-temperature: switch to non-devm iio_device_register()
Sean Christopherson (8):
KVM: nVMX: Decouple INVVPID operand checks from flushing of vpid02
KVM: nVMX: Ensure KVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit
KVM: x86/mmu: Fold kvm_mmu_zap_memslot() into kvm_arch_flush_shadow_memslot()
KVM: x86/mmu: Split kvm_mmu_zap_all_fast() into "front" and "back" halves
KVM: x86/mmu: Use CMPXCHG when clearing Accessed bit in TDP MMU
KVM: x86/mmu: Use split "zap all fast" helpers when invalidating memslot
KVM: x86: Serialize writes to disabled_quirks using kvm->lock
KVM: x86: Ensure runtime reads of disabled_quirks are resolved once
Sergey Senozhatsky (5):
zram: fixup read_block_state()
zram: take write lock in wb limit store handlers
zram: drop wb_limit_lock
zram: read slot block idx under slot lock
zram: set default primary compressor in zram_destroy_comps()
Shakeel Butt (2):
memcg: bypass the reclaim and oom killer for dying tasks once oom_reaper is done
memcg: make the v1 soft limit knob inert
Shen Yongchao (1):
HID: bpf: serialize device reference release in struct_ops destroy path
Shivam Kumar (2):
nvmet-tcp: fix out-of-bounds write when receiving an over-long PDU
nvmet-tcp: reject unsolicited H2CData PDUs
Shixiong Ou (2):
drm/sysfb: ofdrm: Fix integer overflow in fb_size calculation drm/sysfb: ofdrm: Fix is_avivo() constant comparison bug
Shuangpeng Bai (2):
media: usbtv: keep device alive while ALSA card exists
media: go7007: defer the ALSA v4l2 put until card release
Sizhe Liu (1):
perf hisi-ptt: Fix PTT trace TLP header parsing
Smita Koralahalli (1):
cxl/region: Add helper to check Soft Reserved containment by CXL regions
Song Hu (1):
Docs/ABI/damon: fix typo in intervals_goal sysfs path
Sourabh Jain (3):
powerpc/pseries: Handle and log pseries-wdt registration failures powerpc/pseries: Move H_WATCHDOG definitions to a common header powerpc/crash: stop watchdogs before booting kdump kernel
Stephan Gerhold (8):
clk: qcom: gcc-mdm9607: Increase delay for USB PHY reset
clk: qcom: gcc-msm8916: Fix enable_reg for gcc_blsp1_sleep_clk
clk: qcom: gcc-msm8939: Fix enable_reg for gcc_blsp1_sleep_clk
clk: qcom: gcc-mdm9607: Drop incorrect apss_tcu_clk_src
clk: qcom: gcc-mdm9607: Drop incorrect system_noc_bfdcd_clk_src
clk: qcom: gcc-mdm9607: Fix enable_reg for gcc_blsp1_sleep_clk
clk: qcom: gcc-mdm9607: Fix halt_reg for gcc_apss_axi_clk
clk: qcom: gcc-mdm9607: Drop incorrect BIMC PLL and related clocks
Steven Rostedt (1):
ftrace: Synchronize the initialization of ftrace_ops
Sujal Tuladhar (1):
scsi: target: iscsi: Reserve a terminator byte for the login payload
Sun Jian (1):
fsnotify: inotify: pass mark connector to fsnotify_recalc_mask()
Sunday Clement (1):
drm/amdkfd: Reject zero-sized AQL queue allocations after size halving
Sunil Khatri (3):
drm/amdgpu: update the fw version for gfx11 userqueues drm/amdgpu: update the fw version for gfx12 userqueues drm/amdgpu: use AMDGPU_GPU_PAGE_SHIFT instead of PAGE_SHIFT
Sven Eckelmann (5):
batman-adv: mcast: ensure unshared skb for multicast packets
batman-adv: mcast: linearize skbuff for packet generation
batman-adv: dat: avoid unaligned fault in IP extraction
batman-adv: bla: fix freeing of claims on meshif deletion
batman-adv: bla: prevent CRC corruptions after claim flush
Sven Peter (1):
usb: typec: tipd: Fix Thunderbolt altmode VDOs for cd321x
Takashi Iwai (1):
ALSA: pcm: Fix race between non-atomic ops and trigger-start
Tao Cui (1):
LoongArch: KVM: Fix TOCTOU race on pv_features
Tao Yu (1):
drm/gud: validate TV mode names before creating enum property
Tejun Heo (2):
sched_ext: Fix inverted ops.core_sched_before() invocation sched/core: Make core-sched flips wait for in-flight selections
Terry Bowman (3):
cxl/pci: Move CXL driver's RCH error handling into core/ras_rch.c cxl/ras: Fix cxl_rch_get_aer_info() out-of-bounds AER register read cxl/ras: Fix cxl_rch_get_aer_severity() wrong severity register
Thadeu Lima de Souza Cascardo (1):
drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used
Thomas Hellström (1):
drm/amdgpu: Fix init ordering in amdgpu_vram_mgr_init()
Thomas Lamprecht (1):
scsi: megaraid_sas: Limit NVMe request size to the PRP chain frame
Thomas Zimmermann (5):
drm/hibmc: Fix list of formats on the primary plane drm/hibmc: Use drm_atomic_helper_check_plane_state() drm/sysfb: simpledrm: Improve framebuffer-size validation drm/sysfb: simpledrm: Improve panel-size validation drm/sysfb: simpledrm: Improve stride validation
Thorsten Blum (3):
crypto: atmel-ecc - replace min_t with min
crypto: atmel-ecc - clean up and improve ECDH comments
crypto: atmel-ecc - avoid stale fallback key after set_secret failure
Tiezhu Yang (2):
LoongArch: BPF: Optimize redundant TCC loads in epilogue
LoongArch: BPF: Refactor jump offset calculation in tail call
Tommaso Merciai (1):
media: rzg2l-cru: Align bytesperline to hardware DMA stride requirement
Tristan Madani (1):
nvme: add missing SRCU grace period in error path
Uday Khare (1):
media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure
Ulf Hansson (1):
cpuidle: psci: Fix support for probe deferral by dropping the faux device
Val Packett (1):
ASoC: codecs: aw88261: reduce log spam
Valery Borovsky (3):
media: airspy: use vb2_video_unregister_device() on disconnect to fix NULL deref
media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak
media: rtl2832_sdr: release URBs and stream buffers on start_streaming() failure
Vasileios Almpanis (1):
i2c: core: fix debugfs UAF on adapter removal
Vidhu Sarwal (3):
iio: light: ltrf216a: fix runtime PM reference leak in error path
iio: light: opt4060: Reject integration times with a non-zero seconds part
iio: light: opt4060: Fix incorrect register name in threshold read error message
Viken Dadhaniya (1):
soc: qcom: geni-se: Use HW PROG_RAM_DEPTH to validate firmware size
Viktor Malik (2):
perf trace: Factor out BPF loop body
perf trace: Refactor augmented_raw_syscalls using bpf_for
Vincent Donnefort (1):
ring-buffer: Make cpu_buffer::free_page a buffer_data_read_page
Vinicius Costa Gomes (1):
crypto: iaa - unmap dst before software fallback on decompress
Vivek Parikh (1):
ovl: fix double end_creating() on the casefold-mismatch path
Vladimir Marioukhine (1):
drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore
Vlastimil Babka (1):
mm/slab: move and refactor __kmem_cache_alias()
Wei Jie Law (1):
HID: rmi: fix OOB access with undersized RMI reports
WenTao Liang (1):
ASoC: samsung: aries_audio_probe: double of_node_put due to direct assignment without of_node_get
Wenjie Qi (4):
f2fs: return symlink writeback errors
f2fs: only redirty pinned folios in redirty_blocks
f2fs: return writeback error from collapse range
f2fs: avoid NULL checkpoint thread access in sysfs
Wentao Guan (1):
LoongArch: Do not save/restore percpu base register in rethook trampoline
Wentao Liang (1):
drm/sun4i: fix refcount leak in sun4i_backend_init_sat()
Wupeng Ma (1):
mm/hugetlb: fix missing migratable flag on same-node hugetlb migration
Xiang Liu (1):
drm/amdgpu: clamp the isolation index for rings outside a partition
Xiang Mei (1):
fuse: copy request headers via a stack buffer for io-uring
Xiaogang Chen (2):
drm/amdkfd: Fix error path at svm_migrate_copy_to_ram drm/amdkfd: Fix the case that vm range is hole at svm_migrate_copy_to_vram
Xu Rao (3):
nvme-fabrics: fix DHCHAP secret leak on parse failure
mtd: mtdoops: free page bitmap when the backing MTD is removed
media: v4l2-async: avoid deleting unlinked ASC entry on link error
Yang Wang (2):
drm/amdgpu: check thunderbolt before switcheroo registration drm/amdgpu: Disable runtime PM for externally attached dGPUs
Yao Kai (1):
futex: Prevent rcuwait use-after-free during requeue PI
Yehyeong Lee (1):
nvme-tcp: check the data direction of a C2HData PDU
Yi Ding (1):
media: cec: meson: ao-cec-g12a: name the CEC core regmap to avoid debugfs clash
Yong Wang (1):
tcp: clamp route advmss to TCP_MIN_MSS
Yosry Ahmed (3):
KVM: nVMX: Always flush vpid02 on first use
KVM: nVMX: Service local TLB flushes on failed nested VM-Enter
KVM: nVM: Ensure INVVPID is emulated on the correct physical CPU
Youngjae Kwon (1):
fsnotify: Fix stale object mask after concurrent mark updates
Yuqi Xu (1):
openvswitch: Fix CT limit teardown use-after-free
Yuwen Chen (1):
zram: fix the issue that the write - back limits might overflow
Zeng Chi (2):
LoongArch: KVM: Fix PC double advance in kernel MMIO read fast path
LoongArch: KVM: Preserve memslot arch flags on KVM_MR_FLAGS_ONLY
Zhan Xusheng (2):
f2fs: use the mount idmap for the owner check in f2fs_xattr_advise_set()
f2fs: fix i_size when pinned fallocate partially fails
ZhangGuoDong (1):
smb: move some definitions from common/smb2pdu.h into common/fscc.h
Zhenhao Wan (3):
drm/nouveau/uvmm: fix NULL deref unwinding an OP_MAP_SPARSE op drm/nouveau/uvmm: fix premature region free on failed OP_UNMAP_SPARSE drm/nouveau/uvmm: clear the dirty flag when unwinding an OP_UNMAP_SPARSE
Zhiling Zou (1):
batman-adv: fix stale receive device on merged fragments
Zi Yan (3):
mm/huge_memory: change folio_split_supported() to folio_check_splittable() mm/huge_memory: replace can_split_folio() with direct refcount calculation mm/huge_memory: use folio's memcg inside __folio_split()
caina (1):
Revert "irqchip/mbigen: Fix mbigen node address layout"
fangqiurong (1):
sched_ext: Fix exit_task leak on fork failure during enable
wangdicheng (1):
ASoC: fsl_easrc: Use div64_u64 for 64-by-64 division
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-kernel-mm-damon +4 -4
@@ -105,7 +105,7 @@ Description: Writing a value to this file sets the update interval of the DAMON context in microseconds as the value. Reading this file returns the value. -What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/access_bp +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intervals_goal/access_bp Date: Feb 2025 Contact: SeongJae Park <[email protected]> Description: Writing a value to this file sets the monitoring intervals
@@ -113,7 +113,7 @@ Description: Writing a value to this file sets the monitoring intervals the given time interval (aggrs in same directory), in bp (1/10,000). Reading this file returns the value. -What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/aggrs +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intervals_goal/aggrs Date: Feb 2025 Contact: SeongJae Park <[email protected]> Description: Writing a value to this file sets the time interval to achieve
@@ -121,14 +121,14 @@ Description: Writing a value to this file sets the time interval to achieve access events ratio (access_bp in same directory) within. Reading this file returns the value. -What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/min_sample_us +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intervals_goal/min_sample_us Date: Feb 2025 Contact: SeongJae Park <[email protected]> Description: Writing a value to this file sets the minimum value of auto-tuned sampling interval in microseconds. Reading this file returns the value. -What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intrvals_goal/max_sample_us +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/intervals_goal/max_sample_us Date: Feb 2025 Contact: SeongJae Park <[email protected]> Description: Writing a value to this file sets the maximum value of
Documentation/admin-guide/cgroup-v1/memory.rst +6 -43
74 lines not on this page · raw message
Documentation/trace/hisi-ptt.rst +14 -14
@@ -285,20 +285,20 @@ according to the format described previously (take 8DW as an example): [...perf headers and other information] . ... HISI PTT data: size 4194304 bytes . 00000000: 00 00 00 00 Prefix - . 00000004: 01 00 00 60 Header DW0 - . 00000008: 0f 1e 00 01 Header DW1 - . 0000000c: 04 00 00 00 Header DW2 - . 00000010: 40 00 81 02 Header DW3 - . 00000014: 33 c0 04 00 Time + . 00000004: 60 00 00 01 Header DW0 + . 00000008: 01 00 1e 0f Header DW1 + . 0000000c: 00 00 00 04 Header DW2 + . 00000010: 02 81 00 40 Header DW3 + . 00000014: 00 04 c0 33 Time . 00000020: 00 00 00 00 Prefix - . 00000024: 01 00 00 60 Header DW0 - . 00000028: 0f 1e 00 01 Header DW1 - . 0000002c: 04 00 00 00 Header DW2 - . 00000030: 40 00 81 02 Header DW3 - . 00000034: 02 00 00 00 Time + . 00000024: 60 00 00 01 Header DW0 + . 00000028: 01 00 1e 0f Header DW1 + . 0000002c: 00 00 00 04 Header DW2 + . 00000030: 02 81 00 40 Header DW3 + . 00000034: 00 00 00 02 Time . 00000040: 00 00 00 00 Prefix - . 00000044: 01 00 00 60 Header DW0 - . 00000048: 0f 1e 00 01 Header DW1 - . 0000004c: 04 00 00 00 Header DW2 - . 00000050: 40 00 81 02 Header DW3 + . 00000044: 60 00 00 01 Header DW0 + . 00000048: 01 00 1e 0f Header DW1 + . 0000004c: 00 00 00 04 Header DW2 + . 00000050: 02 81 00 40 Header DW3 [...]
Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst +11 -1
@@ -79,15 +79,25 @@ Colorimetry Control IDs - ``white_point_x`` - Specifies the normalized x chromaticity coordinate of the white point of the mastering display in increments of 0.00002. + When both ``white_point_x`` and ``white_point_y`` are zero, + the white point chromaticity is unknown. If either coordinate is + non-zero, both coordinates shall be within their valid ranges. * - __u16 - ``white_point_y`` - Specifies the normalized y chromaticity coordinate of the white point of the mastering display in increments of 0.00002. + When both ``white_point_x`` and ``white_point_y`` are zero, + the white point chromaticity is unknown. If either coordinate is + non-zero, both coordinates shall be within their valid ranges. * - __u32 - ``max_luminance`` - Specifies the nominal maximum display luminance of the mastering display in units of 0.0001 cd/m\ :sup:`2`. + A value of zero indicates that the nominal maximum display + luminance is unknown. * - __u32 - ``min_luminance`` - - specifies the nominal minimum display luminance of the mastering + - Specifies the nominal minimum display luminance of the mastering display in units of 0.0001 cd/m\ :sup:`2`. + A value of zero indicates that the nominal minimum display + luminance is unknown.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 18 -SUBLEVEL = 50 +SUBLEVEL = 51 EXTRAVERSION = NAME = Baby Opossum Posse
arch/arm64/include/asm/kvm_nested.h +20 -0
@@ -257,6 +257,13 @@ static inline u64 decode_range_tlbi(u64 val, u64 *range, u16 *asid) base = (val &GENMASK (36 ,0 )) << shift; +/* +* We only deal with at most 48bit VA/IPA, so 48 is where we +* sign-extend from. Should we support FEAT_L{VP}A* at some point, +* this will need to be revisited. +*/ + base = (u64 )sign_extend64 (base,48 ); +if (asid) *asid =FIELD_GET (TLBIR_ASID_MASK , val);
@@ -264,6 +271,12 @@ static inline u64 decode_range_tlbi(u64 val, u64 *range, u16 *asid) num =FIELD_GET (GENMASK (43 ,39 ), val); *range =__TLBI_RANGE_PAGES (num, scale) << shift; +/* Cap the range to the correct half of the address space */ +if (!(base &BIT (48 ))) + *range =min (*range, (BIT (48 ) - base)); +else + *range =min (*range, ~base +1 ); +return base; }
@@ -353,6 +366,8 @@ struct s1_walk_result {bool failed; }; +#define S1_MMU_DISABLED (-127) +static inline void fail_s1_walk (struct s1_walk_result *wr,u8 fst,bool s1ptw) { wr->fst = fst;
@@ -361,6 +376,11 @@ static inline void fail_s1_walk(struct s1_walk_result *wr, u8 fst, bool s1ptw) wr->failed = true; } +static inline bool s1_walk_translated (struct s1_walk_result *wr) +{ +return wr->level !=S1_MMU_DISABLED ; +} +int __kvm_translate_va (struct kvm_vcpu *vcpu,struct s1_walk_info *wi,struct s1_walk_result *wr,u64 va); int __kvm_find_s1_desc_level(struct kvm_vcpu *vcpu, u64 va, u64 ipa,
arch/arm64/kernel/cpu_errata.c +1 -1
@@ -82,7 +82,7 @@ is_affected_midr_range(const struct arm64_cpu_capabilities *entry, int scope)for (i =0 ; i < target_impl_cpu_num; i++) {if (__is_affected_midr_range (entry, target_impl_cpus[i].midr, - target_impl_cpus[i].midr)) + target_impl_cpus[i].revidr))return true; }return false;
arch/arm64/kvm/at.c +0 -2
@@ -10,8 +10,6 @@#include <asm/kvm_hyp.h> #include <asm/kvm_mmu.h> -#define S1_MMU_DISABLED (-127) -static int get_ia_size (struct s1_walk_info *wi) {return 64 - wi->txsz;
arch/arm64/kvm/nested.c +60 -34
175 lines not on this page · raw message
arch/arm64/kvm/sys_regs.c +11 -0
@@ -3943,6 +3943,7 @@ static bool handle_ripas2e1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p,u32 sys_encoding =sys_insn (p->Op0, p->Op1, p->CRn, p->CRm, p->Op2);u64 vttbr =vcpu_read_sys_reg (vcpu,VTTBR_EL2 );u64 base, range; +int pa_bits;if (!kvm_supported_tlbi_ipas2_op (vcpu, sys_encoding))return undef_access (vcpu, p, r);
@@ -3954,6 +3955,16 @@ static bool handle_ripas2e1is(struct kvm_vcpu *vcpu, struct sys_reg_params *p,*/ base =decode_range_tlbi (p->regval, &range,NULL ); +/* +* Ignore TLBIs that start out of PA_bits range, and cap the +* invalidation to the [base:bit(PA_bits)] interval. +*/ + pa_bits =kvm_get_pa_bits (vcpu->kvm); +if (fls64 (base) > pa_bits) +return true; + + range =min (range,BIT_ULL (pa_bits) - base); + kvm_s2_mmu_iterate_by_vmid(vcpu->kvm, get_vmid(vttbr), &(union tlbi_info) { .range = {
arch/arm64/kvm/vgic/vgic-init.c +1 -0
@@ -173,6 +173,7 @@ int kvm_vgic_create(struct kvm *kvm, u32 type) } kvm->arch.vgic.vgic_model =0 ; + kvm->arch.vgic.in_kernel = false; goto out_unlock; }
arch/arm64/kvm/vgic/vgic-its.c +8 -0
@@ -2112,6 +2112,14 @@ static int vgic_its_save_ite(struct vgic_its *its, struct its_device *dev,u32 next_offset;u64 val; +/* +* MAPC with V=0 keeps the ITEs mapped but drops their collection, +* and with it the ICID. Save a zeroed entry, which the restore path +* reads back as invalid. +*/ +if (!ite->collection) +return vgic_its_write_entry_lock (its, gpa,0ULL , ite); + next_offset =compute_next_eventid_offset (&dev->itt_head, ite); val = ((u64 )next_offset <<KVM_ITS_ITE_NEXT_SHIFT ) | ((u64)ite->irq->intid << KVM_ITS_ITE_PINTID_SHIFT) |
arch/arm64/kvm/vgic/vgic-v3-nested.c +1 -1
@@ -149,7 +149,7 @@ static void vgic_compute_mi_state(struct kvm_vcpu *vcpu, struct mi_state *mi_sta eisr |=BIT (i);if (!(lr &ICH_LR_STATE )) elrsr |=BIT (i); - pend |= (lr &ICH_LR_PENDING_BIT ); + pend |= (lr &ICH_LR_STATE ) ==ICH_LR_PENDING_BIT ; } mi_state->eisr = eisr;
arch/arm64/kvm/vgic/vgic-v3.c +9 -3
@@ -420,9 +420,13 @@ int vgic_v3_save_pending_tables(struct kvm *kvm)bool is_pending;bool stored; + irq =vgic_get_irq (kvm, index); +if (!irq) +continue ; + vcpu = irq->target_vcpu;if (!vcpu) -continue ; + goto put_irq; pendbase =GICR_PENDBASER_ADDRESS (vcpu->arch.vgic_cpu.pendbaser);
@@ -433,7 +437,7 @@ int vgic_v3_save_pending_tables(struct kvm *kvm)if (ptr != last_ptr) { ret =kvm_read_guest_lock (kvm, ptr, &val,1 );if (ret) - goto out; + goto put_irq; last_ptr = ptr; }
@@ -445,7 +449,7 @@ int vgic_v3_save_pending_tables(struct kvm *kvm)vgic_v4_get_vlpi_state (irq, &is_pending);if (stored == is_pending) -continue ; + goto put_irq;if (is_pending) val |=1 << bit_nr;
@@ -453,6 +457,8 @@ int vgic_v3_save_pending_tables(struct kvm *kvm) val &= ~(1 << bit_nr); ret =vgic_write_guest_lock (kvm, ptr, &val,1 ); +put_irq: +vgic_put_irq (kvm, irq);if (ret) goto out; }
arch/arm64/mm/fault.c +8 -4
@@ -15,6 +15,7 @@#include <linux/mm.h> #include <linux/hardirq.h> #include <linux/init.h> +#include <linux/irqflags.h> #include <linux/kasan.h> #include <linux/kprobes.h> #include <linux/uaccess.h>
@@ -151,6 +152,9 @@ static void show_pte(unsigned long addr)pr_alert ("%s pgtable: %luk pages, %llu-bit VAs, pgdp=%016lx\n" , mm == &init_mm ?"swapper" :"user" ,PAGE_SIZE /SZ_1K , vabits_actual,mm_to_pgd_phys (mm)); + +guard (irqsave)(); + pgdp =pgd_offset (mm, addr); pgd =READ_ONCE (*pgdp);pr_alert ("[%016lx] pgd=%016llx" , addr,pgd_val (pgd));
@@ -164,25 +168,25 @@ static void show_pte(unsigned long addr)if (pgd_none (pgd) ||pgd_bad (pgd))break ; - p4dp =p4d_offset (pgdp, addr); + p4dp =p4d_offset_lockless (pgdp, pgd, addr); p4d =READ_ONCE (*p4dp);pr_cont (", p4d=%016llx" ,p4d_val (p4d));if (p4d_none (p4d) ||p4d_bad (p4d))break ; - pudp =pud_offset (p4dp, addr); + pudp =pud_offset_lockless (p4dp, p4d, addr); pud =READ_ONCE (*pudp);pr_cont (", pud=%016llx" ,pud_val (pud));if (pud_none (pud) ||pud_bad (pud))break ; - pmdp =pmd_offset (pudp, addr); + pmdp =pmd_offset_lockless (pudp, pud, addr); pmd =READ_ONCE (*pmdp);pr_cont (", pmd=%016llx" ,pmd_val (pmd));if (pmd_none (pmd) ||pmd_bad (pmd))break ; - ptep =pte_offset_map (pmdp, addr); + ptep =pte_offset_map (&pmd, addr);if (!ptep)break ;
arch/loongarch/Kconfig +1 -1
@@ -173,7 +173,7 @@ config LOONGARCH select HAVE_RELIABLE_STACKTRACE if UNWINDER_ORC select HAVE_RETHOOK select HAVE_RSEQ - select HAVE_RUST + select HAVE_RUST if !KASAN select HAVE_SAMPLE_FTRACE_DIRECT select HAVE_SAMPLE_FTRACE_DIRECT_MULTI select HAVE_SETUP_PER_CPU_AREA if NUMA
arch/loongarch/include/asm/kvm_host.h +1 -0
@@ -122,6 +122,7 @@ struct kvm_arch {unsigned int pte_shifts[MAX_PGTABLE_LEVELS ];unsigned int root_level;spinlock_t phyid_map_lock; +spinlock_t pv_setting_lock;struct kvm_phyid_map *phyid_map;/* Enabled PV features */ unsigned long pv_features;
arch/loongarch/include/asm/pgtable.h +7 -0
@@ -106,6 +106,13 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];#define KFENCE_AREA_START (VMEMMAP_END + 1)#define KFENCE_AREA_END (KFENCE_AREA_START + KFENCE_AREA_SIZE - 1) +/* Needed to limit get_free_mem_region() */ +#ifndef CONFIG_SPARSEMEM +#define DIRECT_MAP_PHYSMEM_END ((1ULL << (cpu_pabits + 1)) - 1) +#else +#define DIRECT_MAP_PHYSMEM_END min((1ULL << (cpu_pabits + 1)) - 1, (1ULL << MAX_PHYSMEM_BITS) - 1) +#endif +#define ptep_get (ptep) READ_ONCE(*(ptep))#define pmdp_get (pmdp) READ_ONCE(*(pmdp))
arch/loongarch/kernel/acpi.c +2 -1
@@ -13,6 +13,7 @@#include <linux/export.h> #include <linux/irq.h> #include <linux/irqdomain.h> +#include <linux/kvm_host.h> #include <linux/memblock.h> #include <linux/of_fdt.h> #include <linux/serial_core.h>
@@ -202,7 +203,7 @@ static void __init acpi_process_madt(void)int pptt_enabled;static int acpi_nr_packages; -static int acpi_package_ids[MAX_PACKAGES ]; +static int acpi_package_ids[MAX (MAX_PACKAGES ,KVM_MAX_VCPUS )];int __init parse_acpi_topology (void ) {
arch/loongarch/kernel/kprobes.c +3 -0
@@ -275,6 +275,9 @@ bool kprobe_singlestep_handler(struct pt_regs *regs)struct kprobe_ctlblk *kcb =get_kprobe_ctlblk ();unsigned long addr =instruction_pointer (regs); +if (!cur) +return false; +if (cur && (kcb->kprobe_status & (KPROBE_HIT_SS |KPROBE_REENTER )) && ((unsigned long )&cur->ainsn.insn[1 ] == addr)) {restore_local_irqflag (kcb, regs);
arch/loongarch/kernel/rethook_trampoline.S +0 -2
@@ -24,7 +24,6 @@ cfi_st t6, PT_R18 cfi_st t7, PT_R19 cfi_st t8, PT_R20 - cfi_st u0, PT_R21 cfi_st fp, PT_R22 cfi_st s0, PT_R23 cfi_st s1, PT_R24
@@ -59,7 +58,6 @@ cfi_ld t6, PT_R18 cfi_ld t7, PT_R19 cfi_ld t8, PT_R20 - cfi_ld u0, PT_R21 cfi_ld fp, PT_R22 cfi_ld s0, PT_R23 cfi_ld s1, PT_R24
arch/loongarch/kvm/exit.c +0 -1
@@ -481,7 +481,6 @@ int kvm_emu_mmio_read(struct kvm_vcpu *vcpu, larch_inst inst)srcu_read_unlock (&vcpu->kvm->srcu, idx);if (!ret) {kvm_complete_mmio_read (vcpu, run); -update_pc (&vcpu->arch); vcpu->mmio_needed =0 ;return EMULATE_DONE ; }
arch/loongarch/kvm/main.c +5 -1
@@ -413,7 +413,11 @@ static int kvm_loongarch_init(void)if (r)return r; -return kvm_init (sizeof (struct kvm_vcpu ),0 ,THIS_MODULE ); + r =kvm_init (sizeof (struct kvm_vcpu ),0 ,THIS_MODULE ); +if (r) +kvm_loongarch_env_exit (); + +return r; }static void kvm_loongarch_exit (void )
arch/loongarch/kvm/mmu.c +10 -0
@@ -383,6 +383,16 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, const struct kvm_memory_slothva_t hva_start;size_t size, gpa_offset, hva_offset; +/* +* The generic code allocates a fresh, zeroed memslot for every change, +* so the arch flags computed below must be carried over when only the +* userspace flags change, e.g. when dirty logging is toggled. +*/ +if (change ==KVM_MR_FLAGS_ONLY ) { + new->arch = old->arch; +return 0 ; + } +if ((change !=KVM_MR_MOVE ) && (change !=KVM_MR_CREATE ))return 0 ;/*
arch/loongarch/kvm/vcpu.c +5 -1
@@ -1120,10 +1120,14 @@ static int kvm_loongarch_cpucfg_set_attr(struct kvm_vcpu *vcpu,return -EINVAL ;/* All vCPUs need set the same PV features */ +spin_lock (&kvm->arch.pv_setting_lock);if ((kvm->arch.pv_features &LOONGARCH_PV_FEAT_UPDATED ) - && ((kvm->arch.pv_features & valid) != val)) + && ((kvm->arch.pv_features & valid) != val)) { +spin_unlock (&kvm->arch.pv_setting_lock);return -EINVAL ; + } kvm->arch.pv_features = val |LOONGARCH_PV_FEAT_UPDATED ; +spin_unlock (&kvm->arch.pv_setting_lock);return 0 ;default :return -ENXIO ;
arch/loongarch/kvm/vm.c +1 -0
@@ -40,6 +40,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)return -ENOMEM ; }spin_lock_init (&kvm->arch.phyid_map_lock); +spin_lock_init (&kvm->arch.pv_setting_lock);kvm_init_vmcs (kvm);
arch/loongarch/net/bpf_jit.c +6 -16
@@ -228,14 +228,8 @@ static void __build_epilogue(struct jit_ctx *ctx, bool is_tail_call) load_offset -=sizeof (long );emit_insn (ctx, ldd,LOONGARCH_GPR_S5 ,LOONGARCH_GPR_SP , load_offset); -/* -* When push into the stack, follow the order of tcc then tcc_ptr. -* When pop from the stack, first pop tcc_ptr then followed by tcc. -*/ - load_offset -=2 *sizeof (long ); -emit_insn (ctx, ldd,REG_TCC ,LOONGARCH_GPR_SP , load_offset); - - load_offset +=sizeof (long ); +/* Only restore the TCC state into REG_TCC from the higher slot */ + load_offset -=sizeof (long );emit_insn (ctx, ldd,REG_TCC ,LOONGARCH_GPR_SP , load_offset);emit_insn (ctx, addid,LOONGARCH_GPR_SP ,LOONGARCH_GPR_SP , stack_adjust);
@@ -272,17 +266,13 @@ bool bpf_jit_supports_far_kfunc_call(void)static int emit_bpf_tail_call (struct jit_ctx *ctx,int insn) { -int off, tc_ninsn =0 ; +int off, jmp_offset;int tcc_ptr_off =BPF_TAIL_CALL_CNT_PTR_STACK_OFF (ctx->stack_size);u8 a1 =LOONGARCH_GPR_A1 ;u8 a2 =LOONGARCH_GPR_A2 ;u8 t1 =LOONGARCH_GPR_T1 ;u8 t2 =LOONGARCH_GPR_T2 ;u8 t3 =LOONGARCH_GPR_T3 ; -const int idx0 = ctx->idx; - -#define cur_offset (ctx->idx - idx0) -#define jmp_offset (tc_ninsn - (cur_offset))/* * a0: &ctx
@@ -292,12 +282,12 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int insn)* if (index >= array->map.max_entries) * goto out; */ - tc_ninsn = insn ? ctx->offset[insn+1 ] - ctx->offset[insn] : ctx->offset[0 ];emit_zext_32 (ctx, a2, true); off = offsetof(struct bpf_array, map.max_entries);emit_insn (ctx, ldwu, t1, a1, off);/* bgeu $a2, $t1, jmp_offset */ + jmp_offset = ctx->image ? (ctx->offset[insn +1 ] - ctx->idx) :0 ;if (emit_tailcall_jmp (ctx,BPF_JGE , a2, t1, jmp_offset) <0 ) goto toofar;
@@ -308,6 +298,7 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int insn)emit_insn (ctx, ldd,REG_TCC ,LOONGARCH_GPR_SP , tcc_ptr_off);emit_insn (ctx, ldd, t3,REG_TCC ,0 );emit_insn (ctx, addid, t2,LOONGARCH_GPR_ZERO ,MAX_TAIL_CALL_CNT ); + jmp_offset = ctx->image ? (ctx->offset[insn +1 ] - ctx->idx) :0 ;if (emit_tailcall_jmp (ctx,BPF_JSGE , t3, t2, jmp_offset) <0 ) goto toofar;
@@ -322,6 +313,7 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int insn) off = offsetof(struct bpf_array , ptrs);emit_insn (ctx, ldd, t2, t2, off);/* beq $t2, $zero, jmp_offset */ + jmp_offset = ctx->image ? (ctx->offset[insn +1 ] - ctx->idx) :0 ;if (emit_tailcall_jmp (ctx,BPF_JEQ , t2,LOONGARCH_GPR_ZERO , jmp_offset) <0 ) goto toofar;
@@ -337,8 +329,6 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int insn) toofar:pr_info_once ("tail_call: jump too far\n" );return -1 ; -#undef cur_offset -#undef jmp_offset }static void emit_atomic (const struct bpf_insn *insn,struct jit_ctx *ctx)
arch/parisc/kernel/head.S +1 -0
@@ -105,6 +105,7 @@ $iodc_panic: or %r10,%r10,%r10 /* qemu idle sleep */ msg1: .ascii "Can't boot kernel which was built for PA8x00 CPUs on this machine.\r\n" msg1_end: + .align 4 $cpu_ok: #endif
arch/powerpc/include/asm/papr-watchdog.h new file +64 -0
64 lines not on this page · raw message
arch/powerpc/include/asm/reg.h +12 -0
@@ -1357,6 +1357,18 @@#define PVR_ARCH_31 0x0f000006#define PVR_ARCH_31_P11 0x0f000007 +/* +* Kernel-internal sentinel for invalid processor compatibility modes. +* PAPR specifies that the first byte of a valid logical PVR value is +* 0x0f. So 0xffffffff lies permanently outside the PAPR-defined range +* and is safe to repurpose. KVM stores it in vcpu->arch.arch_compat +* when userspace requests an unsupported compatibility mode (e.g., +* Power11 PVR on a Power11 host booted in Power10 compat). +* kvmppc_sanity_check() detects this and prevents the vCPU from +* running with an unsupported arch_compat. +*/ +#define PVR_ARCH_INVALID 0xffffffff +/* Macros for setting and retrieving special purpose registers */ #ifndef __ASSEMBLER__
arch/powerpc/kexec/file_load_64.c +1 -1
@@ -664,7 +664,7 @@ unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem * extra_size += (cpu_nodes - boot_cpu_node_count) *cpu_node_size ();/* Consider extra space for reserved memory ranges if any */ -if (rmem->nr_ranges >0 ) +if (rmem && rmem->nr_ranges >0 ) extra_size +=sizeof (struct fdt_reserve_entry ) * rmem->nr_ranges;return extra_size +kdump_extra_fdt_size_ppc64 (image, cpu_nodes);
arch/powerpc/kexec/ranges.c +5 -7
@@ -21,6 +21,7 @@#include <linux/of.h> #include <linux/slab.h> #include <linux/memblock.h> +#include <linux/minmax.h> #include <linux/crash_core.h> #include <asm/sections.h> #include <asm/kexec_ranges.h>
@@ -105,19 +106,16 @@ static void __merge_memory_ranges(struct crash_mem *mem_rngs)struct range *ranges;int i, idx; -if (!mem_rngs) +if (!mem_rngs || mem_rngs->nr_ranges <=1 )return ; idx =0 ; - ranges = &(mem_rngs->ranges[0 ]); + ranges = mem_rngs->ranges;for (i =1 ; i < mem_rngs->nr_ranges; i++) { -if (ranges[i].start <= (ranges[i-1 ].end +1 )) - ranges[idx].end = ranges[i].end; +if (ranges[i].start <= (ranges[idx].end +1 )) + ranges[idx].end =max (ranges[idx].end, ranges[i].end);else { idx++; -if (i == idx) -continue ; - ranges[idx] = ranges[i]; } }
arch/powerpc/kvm/book3s_hv.c +14 -1
@@ -447,7 +447,19 @@ static int kvmppc_set_arch_compat(struct kvm_vcpu *vcpu, u32 arch_compat) guest_pcr_bit =PCR_ARCH_300 ;break ;case PVR_ARCH_31 : + guest_pcr_bit =PCR_ARCH_31 ; +break ;case PVR_ARCH_31_P11 : +/* +* Need to check this for ISA 3.1, as Power10 and +* Power11 share the same PCR. For any subsequent ISA +* versions, this will be taken care of by the guest vs +* host PCR comparison below. +*/ +if (!cpu_has_feature (CPU_FTR_P11_PVR )) { + arch_compat =PVR_ARCH_INVALID ; + goto out; + } guest_pcr_bit =PCR_ARCH_31 ;break ;default :
@@ -470,6 +482,7 @@ static int kvmppc_set_arch_compat(struct kvm_vcpu *vcpu, u32 arch_compat)return -EINVAL ; } +out:spin_lock (&vc->lock); vc->arch_compat = arch_compat;kvmhv_nestedv2_mark_dirty (vcpu,KVMPPC_GSID_LOGICAL_PVR );
@@ -480,7 +493,7 @@ static int kvmppc_set_arch_compat(struct kvm_vcpu *vcpu, u32 arch_compat) vc->pcr = (host_pcr_bit - guest_pcr_bit) |PCR_MASK ;spin_unlock (&vc->lock); -return 0 ; +return kvmppc_sanity_check (vcpu); }static void kvmppc_dump_regs (struct kvm_vcpu *vcpu)
arch/powerpc/kvm/powerpc.c +6 -0
@@ -258,6 +258,12 @@ int kvmppc_sanity_check(struct kvm_vcpu *vcpu)if (!vcpu->arch.pvr) goto out; +#if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE ) +if (vcpu->arch.vcore && + vcpu->arch.vcore->arch_compat ==PVR_ARCH_INVALID ) + goto out; +#endif +/* PAPR only works with book3s_64 */ if ((vcpu->arch.cpu_type !=KVM_CPU_3S_64 ) && vcpu->arch.papr_enabled) goto out;
arch/powerpc/mm/book3s64/radix_pgtable.c +1 -6
@@ -1313,7 +1313,6 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,* covering out both edges. */ unsigned long addr; -unsigned long addr_pfn = start_pfn;unsigned long next;pgd_t *pgd;p4d_t *p4d;
@@ -1334,7 +1333,6 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,if (pmd_leaf (READ_ONCE (*pmd))) {/* existing huge mapping. Skip the range */ - addr_pfn += (PMD_SIZE >>PAGE_SHIFT ); next =pmd_addr_end (addr, end);continue ; }
@@ -1347,11 +1345,11 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,* page whose VMEMMAP_RESERVE_NR pages were mapped and * this request fall in those pages. */ - addr_pfn +=1 ; next = addr +PAGE_SIZE ;continue ; }else {unsigned long nr_pages =pgmap_vmemmap_nr (pgmap); +unsigned long addr_pfn =page_to_pfn ((struct page *)addr);unsigned long pfn_offset = addr_pfn -ALIGN_DOWN (addr_pfn, nr_pages);pte_t *tail_page_pte;
@@ -1375,7 +1373,6 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,if (!pte)return -ENOMEM ; - addr_pfn +=2 ; next = addr +2 *PAGE_SIZE ;continue ; }
@@ -1391,7 +1388,6 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,return -ENOMEM ;vmemmap_verify (pte, node, addr, addr +PAGE_SIZE ); - addr_pfn +=1 ; next = addr +PAGE_SIZE ;continue ; }
@@ -1401,7 +1397,6 @@ int __meminit vmemmap_populate_compound_pages(unsigned long start_pfn,return -ENOMEM ;vmemmap_verify (pte, node, addr, addr +PAGE_SIZE ); - addr_pfn +=1 ; next = addr +PAGE_SIZE ;continue ; }
arch/powerpc/platforms/pseries/setup.c +26 -2
@@ -76,6 +76,7 @@#include <asm/dtl.h> #include <asm/hvconsole.h> #include <asm/setup.h> +#include <asm/papr-watchdog.h> #include "pseries.h"
@@ -187,14 +188,37 @@ static void __init fwnmi_init(void)#endif } +static void pseries_crash_stop_watchdogs (void ) +{ +long rc; + + rc =plpar_hcall_norets_notrace (H_WATCHDOG ,PSERIES_WDTF_OP_STOP , +PSERIES_WDT_NUM_ALL ); +if (rc !=H_SUCCESS && rc !=H_NOOP ) +pr_warn ("Could not stop watchdogs before kdump rc=%ld\n" , rc); +} +/* * Affix a device for the first timer to the platform bus if * we have firmware support for the H_WATCHDOG hypercall. */ static __init int pseries_wdt_init (void ) { -if (firmware_has_feature (FW_FEATURE_WATCHDOG )) -platform_device_register_simple ("pseries-wdt" ,0 ,NULL ,0 ); +struct platform_device *pdev; + +if (!firmware_has_feature (FW_FEATURE_WATCHDOG )) +return 0 ; + + pdev =platform_device_register_simple ("pseries-wdt" ,0 ,NULL ,0 ); + +if (IS_ERR (pdev)) { +pr_err ("Failed to register pseries-wdt platform device\n" ); +return PTR_ERR (pdev); + } + +if (crash_shutdown_register (pseries_crash_stop_watchdogs)) +pr_warn ("Could not register watchdog crash shutdown handler\n" ); +return 0 ; }machine_subsys_initcall (pseries, pseries_wdt_init);
arch/s390/include/asm/nmi.h +3 -0
@@ -22,6 +22,7 @@#define MCCK_CODE_SYSTEM_DAMAGE BIT(63)#define MCCK_CODE_EXT_DAMAGE BIT(63 - 5)#define MCCK_CODE_CP BIT(63 - 9) +#define MCCK_CODE_CK BIT(63 - 11)#define MCCK_CODE_STG_ERROR BIT(63 - 16)#define MCCK_CODE_STG_KEY_ERROR BIT(63 - 18)#define MCCK_CODE_STG_DEGRAD BIT(63 - 19)
@@ -33,6 +34,8 @@#define MCCK_CODE_FC_VALID BIT(63 - 43)#define MCCK_CODE_CPU_TIMER_VALID BIT(63 - 46) +#define MCCK_CODE_NO_GUEST (MCCK_CODE_CP | MCCK_CODE_EXT_DAMAGE | MCCK_CODE_CK) +#ifndef __ASSEMBLER__ union mci {
arch/s390/kernel/nmi.c +1 -4
@@ -344,8 +344,7 @@ static void notrace s390_backup_mcck_info(struct pt_regs *regs) sie_page = container_of(sie_block, struct sie_page, sie_block); mcck_backup = &sie_page->mcck_info; - mcck_backup->mcic =get_lowcore ()->mcck_interruption_code & - ~(MCCK_CODE_CP |MCCK_CODE_EXT_DAMAGE ); + mcck_backup->mcic =get_lowcore ()->mcck_interruption_code & ~MCCK_CODE_NO_GUEST ; mcck_backup->ext_damage_code =get_lowcore ()->external_damage_code; mcck_backup->failing_storage_address =get_lowcore ()->failing_storage_address; }
@@ -357,8 +356,6 @@ NOKPROBE_SYMBOL(s390_backup_mcck_info);#define ED_STP_ISLAND 6/* External damage STP island check */ #define ED_STP_SYNC 7/* External damage STP sync check */ -#define MCCK_CODE_NO_GUEST (MCCK_CODE_CP | MCCK_CODE_EXT_DAMAGE) -/* * machine check handler. */
arch/s390/kvm/guestdbg.c +7 -2
@@ -184,7 +184,7 @@ static int __import_wp_info(struct kvm_vcpu *vcpu,if (wp_info->len <0 || wp_info->len >MAX_WP_SIZE )return -EINVAL ; - wp_info->old_data =kmalloc (bp_data->len,GFP_KERNEL_ACCOUNT ); + wp_info->old_data =kmalloc (wp_info->len,GFP_KERNEL_ACCOUNT );if (!wp_info->old_data)return -ENOMEM ;/* try to backup the original value */
@@ -256,7 +256,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, ret =__import_wp_info (vcpu, &bp_data[i], &wp_info[nr_wp]);if (ret) - goto error; + goto error_wp; nr_wp++;break ;case KVM_HW_BP :
@@ -271,7 +271,12 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, vcpu->arch.guestdbg.hw_bp_info = bp_info; vcpu->arch.guestdbg.nr_hw_wp = nr_wp; vcpu->arch.guestdbg.hw_wp_info = wp_info; +kfree (bp_data);return 0 ; + +error_wp: +while (nr_wp--) +kfree (wp_info[nr_wp].old_data); error:kfree (bp_data);kfree (wp_info);
arch/s390/kvm/interrupt.c +9 -17
@@ -2863,9 +2863,7 @@ static int set_adapter_int(struct kvm_kernel_irq_routing_entry *e,void kvm_s390_reinject_machine_check (struct kvm_vcpu *vcpu,struct mcck_volatile_info *mcck_info) { -struct kvm_s390_interrupt_info inti; -struct kvm_s390_irq irq; -struct kvm_s390_mchk_info *mchk; +struct kvm_s390_irq irq = {};union mci mci;__u64 cr14 =0 ;/* upper bits are not used */ int rc;
@@ -2878,20 +2876,14 @@ void kvm_s390_reinject_machine_check(struct kvm_vcpu *vcpu,if (mci.w) cr14 |=CR14_WARNING_SUBMASK ; - mchk = mci.ck ? &inti.mchk : &irq.u.mchk; - mchk->cr14 = cr14; - mchk->mcic = mcck_info->mcic; - mchk->ext_damage_code = mcck_info->ext_damage_code; - mchk->failing_storage_address = mcck_info->failing_storage_address; -if (mci.ck) { -/* Inject the floating machine check */ - inti.type =KVM_S390_MCHK ; - rc =__inject_vm (vcpu->kvm, &inti); - }else { -/* Inject the machine check to specified vcpu */ - irq.type =KVM_S390_MCHK ; - rc =kvm_s390_inject_vcpu (vcpu, &irq); - } + irq.u.mchk.cr14 = cr14; + irq.u.mchk.mcic = mcck_info->mcic; + irq.u.mchk.ext_damage_code = mcck_info->ext_damage_code; + irq.u.mchk.failing_storage_address = mcck_info->failing_storage_address; + +/* Inject the machine check to specified vcpu */ + irq.type =KVM_S390_MCHK ; + rc =kvm_s390_inject_vcpu (vcpu, &irq);WARN_ON_ONCE (rc); }
arch/s390/kvm/kvm-s390.c +10 -5
@@ -3488,6 +3488,7 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)trace_kvm_s390_destroy_vcpu (vcpu->vcpu_id);kvm_s390_clear_local_irqs (vcpu);kvm_clear_async_pf_completion_queue (vcpu); +kvm_s390_clear_bp_data (vcpu);if (!kvm_is_ucontrol (vcpu->kvm))sca_del_vcpu (vcpu);kvm_s390_update_topology_change_report (vcpu->kvm,1 );
@@ -4444,8 +4445,10 @@ int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,/* enforce guest PER */ kvm_s390_set_cpuflags (vcpu,CPUSTAT_P ); -if (dbg->control &KVM_GUESTDBG_USE_HW_BP ) - rc =kvm_s390_import_bp_data (vcpu, dbg); +if (dbg->control &KVM_GUESTDBG_USE_HW_BP ) { +scoped_guard (srcu, &vcpu->kvm->srcu) + rc = kvm_s390_import_bp_data(vcpu, dbg); + } }else {kvm_s390_clear_cpuflags (vcpu,CPUSTAT_P ); vcpu->arch.guestdbg.last_bp =0 ;
@@ -5352,7 +5355,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)pr_err_ratelimited ("can't run stopped vcpu %d\n" , vcpu->vcpu_id); rc = -EINVAL ; - goto out; + goto out_sigset; }kernel_fpu_begin (&fpu,KERNEL_FPC |KERNEL_VXR );
@@ -5381,9 +5384,11 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu)store_regs (vcpu);kernel_fpu_end (&fpu,KERNEL_FPC |KERNEL_VXR ); + vcpu->stat.exit_userspace++; + +out_sigset:kvm_sigset_deactivate (vcpu); - vcpu->stat.exit_userspace++; out:vcpu_put (vcpu);return rc;
@@ -6005,7 +6010,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp, r =kvm_s390_handle_pv_vcpu_dump (vcpu, &cmd);/* Always copy over UV rc / rrc data */ -if (copy_to_user ((__u8 __user *)argp, &cmd.rc, +if (copy_to_user (argp + offsetof(struct kvm_pv_cmd , rc), &cmd.rc,sizeof (cmd.rc) +sizeof (cmd.rrc))) r = -EFAULT ;break ;
arch/x86/events/intel/lbr.c +9 -3
@@ -1211,7 +1211,7 @@ intel_pmu_lbr_filter(struct cpu_hw_events *cpuc) {u64 from, to;int br_sel = cpuc->br_sel; -int i, j, type, to_plm; +int i, j, type, from_plm, to_plm;bool compress = false;/* if sampling all branches, then nothing to filter */
@@ -1243,8 +1243,14 @@ intel_pmu_lbr_filter(struct cpu_hw_events *cpuc) type |=X86_BR_NO_TX ; } -/* if type does not correspond, then discard */ -if (type ==X86_BR_NONE || (br_sel & type) != type) { + from_plm =kernel_ip (from) ?X86_BR_KERNEL :X86_BR_USER ; +/* +* If type does not correspond, then discard. +* Specifically reject entries whose from address is in +* kernel space when only X86_BR_USER is requested. +*/ +if (type ==X86_BR_NONE || (br_sel & type) != type || + (!(br_sel &X86_BR_KERNEL ) && (from_plm &X86_BR_KERNEL ))) { cpuc->lbr_entries[i].from =0 ; compress = true; }
arch/x86/kernel/rtc.c +4 -0
@@ -2,6 +2,7 @@/* * RTC related functions */ +#include <linux/acpi.h> #include <linux/platform_device.h> #include <linux/mc146818rtc.h> #include <linux/export.h>
@@ -146,6 +147,9 @@ static __init int add_rtc_cmos(void) } }#endif +if (cmos_rtc_platform_device_present) +return 0 ; +if (!x86_platform.legacy.rtc)return -ENODEV ;
arch/x86/kvm/hyperv.c +18 -7
@@ -626,6 +626,18 @@ static enum hrtimer_restart stimer_timer_callback(struct hrtimer *timer)return HRTIMER_NORESTART ; } +/* +* Translate a stimer expiry given in 100ns reference ticks into an +* an absolute deadline. Saturates on overflow. +*/ +static ktime_t stimer_add_delta (ktime_t now,u64 delta_100ns) +{ +if (delta_100ns >=KTIME_MAX /100 ) +return KTIME_MAX ; + +return ktime_add_safe (now,100 * delta_100ns); +} +/* * stimer_start() assumptions: * a) stimer->count is not equal to 0
@@ -635,6 +647,7 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) {u64 time_now;ktime_t ktime_now; +ktime_t deadline; time_now =get_time_ref_counter (hv_stimer_to_vcpu (stimer)->kvm); ktime_now =ktime_get ();
@@ -657,10 +670,8 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) stimer->index, time_now, stimer->exp_time); -hrtimer_start (&stimer->timer, -ktime_add_ns (ktime_now, -100 * (stimer->exp_time - time_now)), -HRTIMER_MODE_ABS ); + deadline =stimer_add_delta (ktime_now, stimer->exp_time - time_now); +hrtimer_start (&stimer->timer, deadline,HRTIMER_MODE_ABS );return 0 ; } stimer->exp_time = stimer->count;
@@ -679,9 +690,9 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer) stimer->index, time_now, stimer->count); -hrtimer_start (&stimer->timer, -ktime_add_ns (ktime_now,100 * (stimer->count - time_now)), -HRTIMER_MODE_ABS ); + deadline =stimer_add_delta (ktime_now, stimer->count - time_now); +hrtimer_start (&stimer->timer, deadline,HRTIMER_MODE_ABS ); +return 0 ; }
arch/x86/kvm/mmu/mmu.c +58 -44
166 lines not on this page · raw message
arch/x86/kvm/mmu/tdp_iter.h +7 -0
@@ -19,6 +19,13 @@ static inline u64 kvm_tdp_mmu_read_spte(tdp_ptep_t sptep)return READ_ONCE (*rcu_dereference (sptep)); } +/* +* WARNING! mmu_lock must be held for write when using the "write atomic" or +* "clear bits atomic" APIs, otherwise KVM could overwrite the "wrong" old SPTE +* value, i.e. clobber an update from a different CPU. The only exception is +* when KVM is freezing a leaf SPTE for removal, in which case KVM doesn't care +* about the exact old SPTE value (KVM will react to the actual old value). +*/ static inline u64 kvm_tdp_mmu_write_spte_atomic (tdp_ptep_t sptep,u64 new_spte) {KVM_MMU_WARN_ON (is_ept_ve_possible (new_spte));
arch/x86/kvm/mmu/tdp_mmu.c +9 -11
@@ -1380,19 +1380,17 @@ static void kvm_tdp_mmu_age_spte(struct kvm *kvm, struct tdp_iter *iter) {u64 new_spte; -if (spte_ad_enabled (iter->old_spte)) { - iter->old_spte =tdp_mmu_clear_spte_bits_atomic (iter->sptep, - shadow_accessed_mask); +if (spte_ad_enabled (iter->old_spte)) new_spte = iter->old_spte & ~shadow_accessed_mask; - }else { +else new_spte =mark_spte_for_access_track (iter->old_spte); -/* -* It is safe for the following cmpxchg to fail. Leave the -* Accessed bit set, as the spte is most likely young anyway. -*/ -if (__tdp_mmu_set_spte_atomic (kvm, iter, new_spte)) -return ; - } + +/* +* Don't bother retrying if another CPU modified the SPTE, the SPTE is +* either being zapped or is likely still in-use, i.e. is still young. +*/ +if (__tdp_mmu_set_spte_atomic (kvm, iter, new_spte)) +return ;trace_kvm_tdp_mmu_spte_changed (iter->as_id, iter->gfn, iter->level, iter->old_spte, new_spte);
arch/x86/kvm/vmx/nested.c +43 -32
127 lines not on this page · raw message
arch/x86/kvm/x86.c +4 -1
@@ -6774,7 +6774,10 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm,break ; fallthrough;case KVM_CAP_DISABLE_QUIRKS : - kvm->arch.disabled_quirks |= cap->args[0 ] & kvm_caps.supported_quirks; +mutex_lock (&kvm->lock); +WRITE_ONCE (kvm->arch.disabled_quirks, + kvm->arch.disabled_quirks | (cap->args[0 ] & kvm_caps.supported_quirks)); +mutex_unlock (&kvm->lock); r =0 ;break ;case KVM_CAP_SPLIT_IRQCHIP : {
arch/x86/kvm/x86.h +1 -1
@@ -417,7 +417,7 @@ static inline void kvm_register_write(struct kvm_vcpu *vcpu,static inline bool kvm_check_has_quirk (struct kvm *kvm,u64 quirk) { -return !(kvm->arch.disabled_quirks & quirk); +return !(READ_ONCE (kvm->arch.disabled_quirks) & quirk); }void kvm_inject_realmode_interrupt (struct kvm_vcpu *vcpu,int irq,int inc_eip);
block/genhd.c +7 -0
@@ -447,6 +447,13 @@ static int __add_disk(struct device *parent, struct gendisk *disk,bdev_set_flag (disk->part0,BD_HAS_SUBMIT_BIO ); } +/* +* We do not support partitions with zoned block devices, so do not try +* to scan the partitions table. +*/ +if (blk_queue_is_zoned (disk->queue)) + disk->flags |=GENHD_FL_NO_PART ; +/* * If the driver provides an explicit major number it also must provide * the number of minors numbers supported, and those will be used to
drivers/acpi/acpi_pnp.c +1 -1
@@ -385,7 +385,7 @@ static int is_cmos_rtc_device(struct acpi_device *adev) { "PNP0B02" }, {""}, }; -return !acpi_match_device_ids (adev, ids); +return !cmos_rtc_platform_device_present && !acpi_match_device_ids (adev, ids); }bool acpi_is_pnp_device (struct acpi_device *adev)
drivers/acpi/acpi_tad.c +120 -58
269 lines not on this page · raw message
drivers/acpi/cppc_acpi.c +11 -2
@@ -768,7 +768,6 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) }if (cpc_rev >CPPC_V3_REV ) { num_ent =CPPC_V3_NUM_ENT ; - cpc_rev =CPPC_V3_REV ; } cpc_ptr->num_entries = num_ent;
@@ -1289,10 +1288,20 @@ static int cppc_set_reg_val(int cpu, enum cppc_regs reg_idx, u64 val)* @cpunum: CPU from which to get desired performance. * @desired_perf: Return address. * -* Return: 0 for success, -EIO otherwise. +* Return: 0 for success, -EOPNOTSUPP for _CPC revision 4 or later, and a +* negative errno otherwise. */ int cppc_get_desired_perf (int cpunum,u64 *desired_perf) { +struct cpc_desc *cpc_desc =per_cpu (cpc_desc_ptr, cpunum); + +if (!cpc_desc) +return -ENODEV ; + +/* _CPC revision 4 no longer specifies Desired Performance as readable. */ +if (cpc_desc->version >CPPC_V3_REV ) +return -EOPNOTSUPP ; +return cppc_get_reg_val (cpunum,DESIRED_PERF , desired_perf); }EXPORT_SYMBOL_GPL (cppc_get_desired_perf);
drivers/acpi/x86/cmos_rtc.c +9 -4
@@ -18,12 +18,11 @@#include "../internal.h" static const struct acpi_device_id acpi_cmos_rtc_ids[] = { - {"PNP0B00" }, - {"PNP0B01" }, - {"PNP0B02" }, - {} +ACPI_CMOS_RTC_IDS }; +bool cmos_rtc_platform_device_present; +static bool cmos_rtc_space_handler_present__read_mostly ; static acpi_status acpi_cmos_rtc_space_handler(u32 function,
@@ -103,6 +102,12 @@ static int acpi_cmos_rtc_attach(struct acpi_device *adev,if (ret <0 )return ret; +if (IS_ERR_OR_NULL (acpi_create_platform_device (adev,NULL ))) { +pr_err ("Failed to create CMOS-RTC platform device\n" ); +return 0 ; + }else { + cmos_rtc_platform_device_present = true; + }return 1 ; }
drivers/ata/ahci.c +49 -0
61 lines not on this page · raw message
drivers/block/ublk_drv.c +6 -0
@@ -1862,6 +1862,12 @@ static int ublk_ch_mmap(struct file *filp, struct vm_area_struct *vma)if (vma->vm_flags &VM_WRITE )return -EPERM ; +/* +* The per-queue command buffer is kernel-written ABI; prevent +* the daemon from upgrading to writable via mprotect(). +*/ +vm_flags_clear (vma,VM_MAYWRITE ); + end =UBLKSRV_CMD_BUF_OFFSET + ub->dev_info.nr_hw_queues * max_sz;if (phys_off <UBLKSRV_CMD_BUF_OFFSET || phys_off >= end)return -EINVAL ;
drivers/block/zram/zram_drv.c +32 -33
185 lines not on this page · raw message
drivers/block/zram/zram_drv.h +0 -1
@@ -127,7 +127,6 @@ struct zram {bool claim;/* Protected by disk->open_mutex */ #ifdef CONFIG_ZRAM_WRITEBACK struct file *backing_dev; -spinlock_t wb_limit_lock;bool wb_limit_enable;u64 bd_wb_limit;struct block_device *bdev;
drivers/clk/mediatek/Kconfig +1 -0
@@ -1006,6 +1006,7 @@ config COMMON_CLK_MT8196 tristate "Clock driver for MediaTek MT8196" depends on ARM64 || COMPILE_TEST select COMMON_CLK_MEDIATEK + select REGMAP_MMIO default ARCH_MEDIATEK help This driver supports MediaTek MT8196 basic clocks.
drivers/clk/meson/gxbb.c +1 -1
@@ -1394,7 +1394,7 @@ static struct clk_regmap gxbb_32k_clk_sel = { .name = "32k_clk_sel", .ops = &clk_regmap_mux_ops, .parent_data = gxbb_32k_clk_parents, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gxbb_32k_clk_parents), .flags = CLK_SET_RATE_PARENT, }, };
drivers/clk/qcom/gcc-mdm9607.c +6 -176
345 lines not on this page · raw message
drivers/clk/qcom/gcc-msm8916.c +3 -2
@@ -1589,9 +1589,10 @@ static struct clk_branch gcc_blsp1_ahb_clk = {static struct clk_branch gcc_blsp1_sleep_clk = { .halt_reg =0x01004 , + .halt_check =BRANCH_HALT_VOTED , .clkr = { - .enable_reg =0x01004 , - .enable_mask =BIT (0 ), + .enable_reg =0x45004 , + .enable_mask =BIT (9 ), .hw.init = &(struct clk_init_data ){ .name ="gcc_blsp1_sleep_clk" , .parent_data = &(const struct clk_parent_data ){
drivers/clk/qcom/gcc-msm8939.c +3 -2
@@ -1929,9 +1929,10 @@ static struct clk_branch gcc_blsp1_ahb_clk = {static struct clk_branch gcc_blsp1_sleep_clk = { .halt_reg =0x01004 , + .halt_check =BRANCH_HALT_VOTED , .clkr = { - .enable_reg =0x01004 , - .enable_mask =BIT (0 ), + .enable_reg =0x45004 , + .enable_mask =BIT (9 ), .hw.init = &(struct clk_init_data ){ .name ="gcc_blsp1_sleep_clk" , .ops = &clk_branch2_ops,
drivers/clk/rockchip/clk-rk3588.c +1 -1
@@ -2094,7 +2094,7 @@ static struct rockchip_clk_branch rk3588_early_clk_branches[] __initdata = {COMPOSITE (DCLK_VOP1_SRC ,"dclk_vop1_src" , gpll_cpll_v0pll_aupll_p,0 ,RK3588_CLKSEL_CON (111 ),14 ,2 ,MFLAGS ,9 ,5 ,DFLAGS ,RK3588_CLKGATE_CON (52 ),11 ,GFLAGS ), -COMPOSITE (DCLK_VOP2_SRC ,"dclk_vop2_src" , gpll_cpll_v0pll_aupll_p,CLK_SET_RATE_PARENT |CLK_SET_RATE_NO_REPARENT , +COMPOSITE (DCLK_VOP2_SRC ,"dclk_vop2_src" , gpll_cpll_v0pll_aupll_p,CLK_SET_RATE_NO_REPARENT ,RK3588_CLKSEL_CON (112 ),5 ,2 ,MFLAGS ,0 ,5 ,DFLAGS ,RK3588_CLKGATE_CON (52 ),12 ,GFLAGS ), COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p,
drivers/clk/xilinx/clk-xlnx-clock-wizard.c +2 -2
@@ -663,8 +663,8 @@ static int clk_wzrd_determine_rate_all(struct clk_hw *hw, d = divider->d; o = divider->o; - req->rate =div_u64 (req->best_parent_rate * (m *1000 + divider->m_frac), - d * (o *1000 + divider->o_frac)); + req->rate =mult_frac (req->best_parent_rate, m *1000 + divider->m_frac, + d * (o *1000 + divider->o_frac));return 0 ; }
drivers/cpufreq/apple-soc-cpufreq.c +14 -22
@@ -251,21 +251,19 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy)return -ENODEV ; } - ret =dev_pm_opp_of_add_table (cpu_dev); -if (ret <0 ) { -dev_err (cpu_dev,"%s: failed to add OPP table: %d\n" , __func__, ret); -return ret; - } + priv =kzalloc (sizeof (*priv),GFP_KERNEL ); +if (!priv) +return -ENOMEM ; ret =apple_soc_cpufreq_find_cluster (policy, ®_base, &info);if (ret) {dev_err (cpu_dev,"%s: failed to get cluster info: %d\n" , __func__, ret); -return ret; + goto out_free_priv; } - ret =dev_pm_opp_set_sharing_cpus (cpu_dev, policy->cpus); -if (ret) { -dev_err (cpu_dev,"%s: failed to mark OPPs as shared: %d\n" , __func__, ret); + ret =dev_pm_opp_of_cpumask_add_table (policy->cpus); +if (ret <0 ) { +dev_err (cpu_dev,"%s: failed to add OPP table: %d\n" , __func__, ret); goto out_iounmap; }
@@ -273,19 +271,13 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy)if (ret <=0 ) {dev_dbg (cpu_dev,"OPP table is not ready, deferring probe\n" ); ret = -EPROBE_DEFER ; - goto out_free_opp; - } - - priv =kzalloc (sizeof (*priv),GFP_KERNEL ); -if (!priv) { - ret = -ENOMEM ; - goto out_free_opp; + goto out_free_table; } ret =dev_pm_opp_init_cpufreq_table (cpu_dev, &freq_table);if (ret) {dev_err (cpu_dev,"failed to init cpufreq table: %d\n" , ret); - goto out_free_priv; + goto out_free_table; }/* Get OPP levels (p-state indexes) and stash them in driver_data */
@@ -320,12 +312,12 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy) out_free_cpufreq_table:dev_pm_opp_free_cpufreq_table (cpu_dev, &freq_table); -out_free_priv: -kfree (priv); -out_free_opp: -dev_pm_opp_remove_all_dynamic (cpu_dev); +out_free_table: +dev_pm_opp_of_cpumask_remove_table (policy->cpus); out_iounmap:iounmap (reg_base); +out_free_priv: +kfree (priv);return ret; }
@@ -334,7 +326,7 @@ static void apple_soc_cpufreq_exit(struct cpufreq_policy *policy)struct apple_cpu_priv *priv = policy->driver_data;dev_pm_opp_free_cpufreq_table (priv->cpu_dev, &policy->freq_table); -dev_pm_opp_remove_all_dynamic (priv->cpu_dev); +dev_pm_opp_of_cpumask_remove_table (policy->cpus);iounmap (priv->reg_base);kfree (priv); }
drivers/cpufreq/cppc_cpufreq.c +1 -1
@@ -766,7 +766,7 @@ static unsigned int cppc_cpufreq_get_rate(unsigned int cpu)* value first as some platforms may update the actual delivered perf * there; if failed, resort to the cached desired perf. */ -if (cppc_get_desired_perf (cpu, &delivered_perf)) +if (cppc_get_desired_perf (cpu, &delivered_perf) || !delivered_perf) delivered_perf = cpu_data->perf_ctrls.desired_perf;return cppc_perf_to_khz (&cpu_data->perf_caps, delivered_perf);
drivers/cpuidle/cpuidle-psci.c +16 -26
73 lines not on this page · raw message
drivers/cpuidle/dt_idle_genpd.c +1 -2
@@ -99,7 +99,7 @@ struct generic_pm_domain *dt_idle_pd_alloc(struct device_node *np,if (!pd) goto out; - pd->name =kasprintf (GFP_KERNEL ,"%pOF" , np); + pd->name =kstrdup (kbasename (of_node_full_name (np)),GFP_KERNEL );if (!pd->name) goto free_pd;
@@ -112,7 +112,6 @@ struct generic_pm_domain *dt_idle_pd_alloc(struct device_node *np, goto free_name; pd->free_states = pd_free_states; - pd->name =kbasename (pd->name); pd->states = states; pd->state_count = state_count;
drivers/crypto/atmel-ecc.c +20 -30
116 lines not on this page · raw message
drivers/crypto/intel/iaa/iaa_crypto_main.c +72 -66
114 lines not on this page · raw message
drivers/crypto/intel/iaa/iaa_crypto_stats.c +9 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/intel/iaa/iaa_crypto_stats.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/cxl/core/pci.c +0 -115
115 lines not on this page · raw message
drivers/cxl/core/ras_rch.c new file +136 -0
136 lines not on this page · raw message
drivers/cxl/core/region.c +71 -51
122 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +21 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +22 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c +37 -19
56 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia_bw.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +0 -13
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c +16 -36
52 lines not on this page · raw message
drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nouveau_sgdma.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/ga102.c +12 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/gb202.c new file +191 -0
191 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/head.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h +17 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/engine/disp/tu102.c +85 -1
86 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/disp.c +52 -77
129 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/disp.c +64 -0
64 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/gsp.c +9 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r570/nvrm/disp.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/rm.h +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/sysfb/simpledrm.c +58 -16
74 lines not on this page · raw message
drivers/hid/hid-rmi.c +43 -3
46 lines not on this page · raw message
drivers/hid/hid-sony.c +35 -43
78 lines not on this page · raw message
drivers/i2c/busses/i2c-designware-platdrv.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iio/adc/ti-ads7138.c +33 -9
42 lines not on this page · raw message
drivers/iio/temperature/hid-sensor-temperature.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/ionic/ionic_hw_stats.c +42 -53
95 lines not on this page · raw message
drivers/infiniband/hw/ionic/ionic_ibdev.h +9 -2
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c +14 -0
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +8 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/media/cec/platform/meson/ao-cec-g12a.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/dvb-frontends/rtl2832_sdr.c +16 -5
Lines of this file are not shown. View the raw message.
drivers/media/pci/cobalt/cobalt-alsa-main.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/media/pci/intel/ipu6/ipu6-isys.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/pci/saa7164/saa7164-core.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/iris/iris_state.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/iris/iris_vidc.c +9 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/iris/iris_vpu_common.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/hfi_parser.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rkvdec/rkvdec.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vimc/vimc-capture.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/cx231xx/cx231xx-video.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/em28xx/em28xx-cards.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/media/v4l2-core/v4l2-ctrls-core.c +33 -16
49 lines not on this page · raw message
drivers/pci/controller/plda/pcie-starfive.c +25 -11
Lines of this file are not shown. View the raw message.
drivers/s390/crypto/vfio_ap_ops.c +142 -61
203 lines not on this page · raw message
drivers/scsi/megaraid/megaraid_sas_base.c +12 -1
Lines of this file are not shown. View the raw message.
drivers/scsi/qla2xxx/qla_init.c +56 -5
61 lines not on this page · raw message
drivers/staging/media/meson/vdec/vdec.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_ieee80211.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/iscsi_target_login.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/f_mass_storage.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/host/xhci-hub.c +58 -59
117 lines not on this page · raw message
drivers/usb/host/xhci.c +48 -33
81 lines not on this page · raw message
drivers/usb/host/xhci.h +20 -26
46 lines not on this page · raw message
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/watchdog/pseries-wdt.c +1 -52
53 lines not on this page · raw message
drivers/xen/balloon.c +36 -20
56 lines not on this page · raw message
fs/ceph/caps.c +56 -7
63 lines not on this page · raw message
fs/ceph/crypto.c +37 -9
46 lines not on this page · raw message
fs/ceph/mds_client.c +63 -8
71 lines not on this page · raw message
fs/f2fs/file.c +118 -36
154 lines not on this page · raw message
fs/fuse/args.h new file +65 -0
65 lines not on this page · raw message
fs/fuse/dev.c +24 -20
44 lines not on this page · raw message
fs/fuse/dev_uring.c +130 -57
187 lines not on this page · raw message
fs/fuse/fuse_i.h +1 -52
53 lines not on this page · raw message
fs/nfsd/filecache.c +51 -64
115 lines not on this page · raw message
fs/nfsd/nfs4proc.c +114 -25
139 lines not on this page · raw message
fs/nfsd/nfs4state.c +125 -45
170 lines not on this page · raw message
fs/ocfs2/dir.c +66 -5
71 lines not on this page · raw message
fs/pidfs.c +85 -51
136 lines not on this page · raw message
fs/smb/client/cifssmb.c +146 -0
146 lines not on this page · raw message
fs/smb/client/connect.c +0 -142
142 lines not on this page · raw message
fs/smb/client/inode.c +48 -13
61 lines not on this page · raw message
fs/smb/client/smb1ops.c +0 -171
171 lines not on this page · raw message
fs/smb/client/smb1transport.c +198 -0
198 lines not on this page · raw message
fs/smb/client/smb2ops.c +81 -18
99 lines not on this page · raw message
fs/smb/client/trace.h +151 -0
151 lines not on this page · raw message
fs/smb/server/oplock.c +49 -12
61 lines not on this page · raw message
include/net/ip6_route.h +43 -0
43 lines not on this page · raw message
kernel/bpf/stackmap.c +117 -56
173 lines not on this page · raw message
kernel/bpf/verifier.c +41 -40
81 lines not on this page · raw message
kernel/sched/core.c +41 -19
60 lines not on this page · raw message
mm/huge_memory.c +207 -147
354 lines not on this page · raw message
mm/hugetlb_vmemmap.c +119 -177
296 lines not on this page · raw message
mm/memcontrol-v1.c +26 -17
43 lines not on this page · raw message
mm/slab_common.c +37 -7
44 lines not on this page · raw message
mm/slub.c +49 -57
106 lines not on this page · raw message
mm/sparse-vmemmap.c +0 -53
53 lines not on this page · raw message
mm/vmscan.c +7 -34
41 lines not on this page · raw message
net/batman-adv/bridge_loop_avoidance.c +1 -14
Lines of this file are not shown. View the raw message.
net/ipv6/exthdrs.c +29 -26
55 lines not on this page · raw message
net/ipv6/ip6_output.c +25 -22
47 lines not on this page · raw message
net/openvswitch/conntrack.c +79 -42
121 lines not on this page · raw message
net/packet/af_packet.c +87 -9
96 lines not on this page · raw message
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +10 -2
Lines of this file are not shown. View the raw message.
net/sunrpc/xprtrdma/svc_rdma_transport.c +18 -14
Lines of this file are not shown. View the raw message.
tools/perf/util/bpf_skel/augmented_raw_syscalls.bpf.c +98 -57
155 lines not on this page · raw message
tools/perf/util/hisi-ptt-decoder/hisi-ptt-pkt-decoder.c +24 -23
47 lines not on this page · raw message
tools/perf/util/hisi-ptt-decoder/hisi-ptt-pkt-decoder.h +12 -0
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.