Linux 7.2.4
Greg Kroah-Hartman
maintainerI'm announcing the release of the 7.2.4 kernel.
All users of the 7.2 kernel series must upgrade.
The updated 7.2.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-7.2.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-bus-nvdimm | 3 Documentation/admin-guide/blockdev/zoned_loop.rst | 9 Makefile | 15 arch/alpha/include/uapi/asm/fpu.h | 8 arch/alpha/kernel/pci-sysfs.c | 6 arch/alpha/kernel/sys_marvel.c | 25 arch/alpha/kernel/traps.c | 6 arch/alpha/math-emu/math.c | 88 +- arch/arm/Kconfig | 2 arch/arm64/boot/dts/qcom/kodiak.dtsi | 9 arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts | 2 arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi | 2 arch/arm64/boot/dts/rockchip/px30-cobra.dtsi | 2 arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi | 2 arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi | 2 arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts | 18 arch/arm64/boot/dts/rockchip/rk3399-roc-pc-plus.dts | 12 arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts | 23 arch/arm64/kernel/compat_alignment.c | 4 arch/arm64/kernel/proton-pack.c | 9 arch/arm64/kvm/vgic/vgic-v2.c | 3 arch/openrisc/kernel/entry.S | 43 - arch/powerpc/kernel/pci-common.c | 9 arch/powerpc/platforms/powermac/low_i2c.c | 2 arch/powerpc/platforms/pseries/iommu.c | 23 arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 4 arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 4 arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts | 4 arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts | 4 arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts | 4 arch/riscv/include/asm/acpi.h | 19 arch/riscv/kernel/unaligned_access_speed.c | 19 arch/riscv/kvm/vcpu_pmu.c | 14 arch/s390/include/asm/percpu.h | 4 arch/s390/kernel/perf_cpum_cf.c | 215 +++-- arch/x86/coco/tdx/tdx.c | 10 arch/x86/include/asm/barrier.h | 2 arch/x86/include/asm/insn-eval.h | 36 arch/x86/kvm/emulate.c | 26 arch/x86/net/bpf_jit_comp.c | 2 block/bio.c | 56 + block/blk-map.c | 2 block/fops.c | 2 block/genhd.c | 1 drivers/accel/rocket/rocket_job.c | 32 drivers/acpi/acpi_platform.c | 45 + drivers/acpi/acpi_tad.c | 50 - drivers/acpi/apei/erst.c | 2 drivers/acpi/apei/ghes.c | 52 - drivers/acpi/cppc_acpi.c | 24 drivers/acpi/pfr_update.c | 45 - drivers/ata/libata-scsi.c | 28 drivers/auxdisplay/charlcd.c | 21 drivers/base/arch_numa.c | 12 drivers/base/power/main.c | 1 drivers/base/property.c | 19 drivers/block/zloop.c | 3 drivers/block/zram/backend_deflate.c | 10 drivers/block/zram/zram_drv.c | 14 drivers/bluetooth/btrtl.c | 13 drivers/bluetooth/btusb.c | 14 drivers/bluetooth/hci_bcm.c | 1 drivers/bluetooth/hci_bcm4377.c | 1 drivers/bluetooth/hci_h5.c | 4 drivers/bluetooth/hci_intel.c | 1 drivers/bluetooth/hci_ldisc.c | 2 drivers/bluetooth/hci_serdev.c | 2 drivers/cdx/cdx.c | 7 drivers/char/hw_random/stm32-rng.c | 10 drivers/char/ipmi/ipmb_dev_int.c | 5 drivers/char/ipmi/ipmi_msghandler.c | 4 drivers/char/tpm/tpm_i2c_nuvoton.c | 6 drivers/clocksource/timer-nxp-pit.c | 4 drivers/clocksource/timer-sun4i.c | 2 drivers/cpufreq/apple-soc-cpufreq.c | 36 drivers/cpufreq/cppc_cpufreq.c | 2 drivers/crypto/atmel-ecc.c | 46 - drivers/crypto/intel/iaa/iaa_crypto_main.c | 27 drivers/cxl/core/features.c | 8 drivers/cxl/core/mbox.c | 8 drivers/cxl/core/mce.c | 27 drivers/cxl/core/pmem.c | 10 drivers/cxl/core/ras.c | 1 drivers/cxl/core/ras_rch.c | 27 drivers/cxl/core/region.c | 43 - drivers/cxl/cxl.h | 11 drivers/cxl/cxlmem.h | 2 drivers/cxl/pci.c | 1 drivers/cxl/pmem.c | 2 drivers/fpga/altera-cvp.c | 10 drivers/fpga/stratix10-soc.c | 21 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 79 ++ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 28 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 11 drivers/gpu/drm/amd/display/dc/dc_types.h | 1 drivers/gpu/drm/nouveau/nouveau_gem.c | 11 drivers/hid/hid-apple.c | 18 drivers/hid/hid-corsair-void.c | 17 drivers/hid/hid-mcp2221.c | 17 drivers/hid/hid-picolcd_debugfs.c | 9 drivers/hid/hid-roccat.c | 13 drivers/hid/hid-sensor-custom.c | 9 drivers/hid/hid-sensor-hub.c | 42 - drivers/hid/hid-sony.c | 4 drivers/hid/hid-universal-pidff.c | 4 drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c | 1 drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c | 10 drivers/hid/intel-thc-hid/intel-quickspi/quickspi-dev.h | 1 drivers/hid/intel-thc-hid/intel-quickspi/quickspi-hid.c | 2 drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c | 19 drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.h | 2 drivers/hsi/controllers/omap_ssi_core.c | 6 drivers/hwmon/max6621.c | 8 drivers/hwtracing/coresight/coresight-etm3x-sysfs.c | 15 drivers/hwtracing/ptt/hisi_ptt.c | 20 drivers/i2c/busses/i2c-mxs.c | 5 drivers/i3c/device.c | 2 drivers/i3c/internals.h | 5 drivers/i3c/master.c | 15 drivers/i3c/master/adi-i3c-master.c | 15 drivers/i3c/master/renesas-i3c.c | 138 ++- drivers/i3c/master/svc-i3c-master.c | 10 drivers/infiniband/core/ib_core_uverbs.c | 3 drivers/infiniband/core/ucma.c | 14 drivers/infiniband/core/uverbs_main.c | 1 drivers/infiniband/core/uverbs_std_types_mr.c | 6 drivers/infiniband/hw/cxgb4/device.c | 6 drivers/infiniband/hw/ionic/ionic_hw_stats.c | 95 +- drivers/infiniband/hw/ionic/ionic_ibdev.h | 11 drivers/infiniband/hw/ionic/ionic_lif_cfg.c | 2 drivers/interconnect/core.c | 7 drivers/iommu/amd/ppr.c | 3 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 24 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 65 + drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 3 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c | 8 drivers/iommu/generic_pt/iommu_pt.h | 2 drivers/iommu/intel/dmar.c | 15 drivers/iommu/intel/iommu.c | 8 drivers/iommu/intel/iommu.h | 2 drivers/iommu/iommu-sva.c | 2 drivers/iommu/iommu.c | 2 drivers/iommu/iommufd/device.c | 4 drivers/iommu/iommufd/ioas.c | 2 drivers/iommu/iommufd/selftest.c | 31 drivers/iommu/msm_iommu.c | 10 drivers/mailbox/qcom-ipcc.c | 17 drivers/md/dm-bufio.c | 10 drivers/md/dm-era-target.c | 5 drivers/md/dm-integrity.c | 32 drivers/md/dm-io.c | 96 +- drivers/md/dm-kcopyd.c | 10 drivers/md/dm-log-userspace-base.c | 1 drivers/md/dm-log.c | 4 drivers/md/dm-pcache/cache.c | 18 drivers/md/dm-pcache/cache.h | 21 drivers/md/dm-pcache/cache_dev.c | 22 drivers/md/dm-pcache/cache_gc.c | 10 drivers/md/dm-pcache/cache_key.c | 32 drivers/md/dm-pcache/cache_segment.c | 12 drivers/md/dm-pcache/cache_writeback.c | 10 drivers/md/dm-pcache/dm_pcache.c | 4 drivers/md/dm-raid1.c | 26 drivers/md/dm-snap-persistent.c | 4 drivers/md/dm-stats.c | 6 drivers/md/dm-switch.c | 2 drivers/md/dm-verity-target.c | 2 drivers/md/dm-writecache.c | 14 drivers/md/md.c | 7 drivers/md/persistent-data/dm-array.c | 53 + drivers/md/raid10.c | 2 drivers/media/cec/platform/stm32/stm32-cec.c | 3 drivers/media/test-drivers/vicodec/vicodec-core.c | 4 drivers/media/v4l2-core/v4l2-dev.c | 14 drivers/mfd/cgbc-core.c | 4 drivers/mfd/qnap-mcu.c | 13 drivers/mfd/sm501.c | 2 drivers/misc/nsm.c | 2 drivers/mmc/host/via-sdmmc.c | 12 drivers/net/dsa/realtek/rtl83xx.c | 4 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 3 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 17 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c | 4 drivers/net/ethernet/ibm/emac/mal.c | 13 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 5 drivers/net/ethernet/nvidia/forcedeth.c | 4 drivers/net/ethernet/qlogic/qede/qede.h | 8 drivers/net/ethernet/qlogic/qede/qede_fp.c | 1 drivers/net/ethernet/renesas/ravb.h | 3 drivers/net/ethernet/renesas/ravb_main.c | 9 drivers/net/ethernet/renesas/ravb_ptp.c | 44 - drivers/net/ipa/ipa_modem.c | 18 drivers/net/ntb_netdev.c | 38 drivers/net/phy/phylink.c | 2 drivers/net/slip/slip.c | 11 drivers/net/thunderbolt/main.c | 12 drivers/net/tun.c | 21 drivers/net/usb/qmi_wwan.c | 1 drivers/net/wireless/ath/ath6kl/cfg80211.c | 5 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 drivers/net/wireless/intel/iwlwifi/dvm/main.c | 4 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 12 drivers/net/wireless/mediatek/mt76/mt7615/main.c | 5 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 11 drivers/net/wireless/mediatek/mt76/mt7925/mac.c | 1 drivers/net/wireless/mediatek/mt76/mt7925/main.c | 12 drivers/net/wireless/mediatek/mt76/mt7925/pci.c | 2 drivers/net/wireless/mediatek/mt76/mt7925/usb.c | 1 drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c | 6 drivers/net/wireless/mediatek/mt76/mt7996/mac.c | 26 drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 9 drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c | 2 drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 2 drivers/net/wireless/realtek/rtl8xxxu/core.c | 19 drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c | 12 drivers/net/wireless/realtek/rtlwifi/rtl8192du/trx.c | 3 drivers/net/wireless/realtek/rtw88/pci.c | 4 drivers/net/wireless/realtek/rtw88/tx.c | 1 drivers/net/wireless/realtek/rtw89/core.h | 1 drivers/net/wireless/realtek/rtw89/mac80211.c | 3 drivers/net/wireless/realtek/rtw89/pci.c | 13 drivers/net/wireless/realtek/rtw89/pci.h | 1 drivers/net/wireless/realtek/rtw89/rtw8851be.c | 1 drivers/net/wireless/realtek/rtw89/rtw8852ae.c | 1 drivers/net/wireless/realtek/rtw89/rtw8852be.c | 1 drivers/net/wireless/realtek/rtw89/rtw8852bte.c | 1 drivers/net/wireless/realtek/rtw89/rtw8852ce.c | 1 drivers/net/wireless/realtek/rtw89/rtw8922ae.c | 1 drivers/net/wireless/realtek/rtw89/rtw8922de.c | 1 drivers/ntb/ntb_transport.c | 38 drivers/nvdimm/label.c | 2 drivers/nvme/host/core.c | 2 drivers/nvme/host/fc.c | 2 drivers/nvme/host/pci.c | 1 drivers/nvme/host/tcp.c | 45 + drivers/of/base.c | 2 drivers/pci/controller/dwc/pci-meson.c | 2 drivers/pci/controller/pci-hyperv.c | 1 drivers/pci/controller/plda/pcie-plda-host.c | 52 + drivers/pci/controller/plda/pcie-starfive.c | 13 drivers/pci/msi/msi.c | 10 drivers/pci/pci-sysfs.c | 42 - drivers/pci/pcie/aer.c | 29 drivers/pci/proc.c | 16 drivers/pci/quirks.c | 9 drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 21 drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c | 2 drivers/platform/chrome/cros_ec_sensorhub_ring.c | 19 drivers/platform/x86/amd/pmc/mp1_stb.c | 66 + drivers/platform/x86/amd/pmc/pmc.c | 6 drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c | 1 drivers/platform/x86/hp/hp-bioscfg/bioscfg.c | 18 drivers/platform/x86/hp/hp-bioscfg/bioscfg.h | 8 drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c | 15 drivers/platform/x86/hp/hp-bioscfg/int-attributes.c | 6 drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c | 14 drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c | 14 drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c | 4 drivers/platform/x86/hp/hp-bioscfg/string-attributes.c | 6 drivers/platform/x86/hp/hp-wmi.c | 4 drivers/platform/x86/intel/int1092/intel_sar.c | 32 drivers/platform/x86/intel/ishtp_eclite.c | 5 drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c | 80 +- drivers/platform/x86/lenovo/think-lmi.c | 19 drivers/platform/x86/lenovo/ymc.c | 8 drivers/platform/x86/panasonic-laptop.c | 11 drivers/power/supply/bq24257_charger.c | 16 drivers/power/supply/bq256xx_charger.c | 29 drivers/power/supply/bq25890_charger.c | 12 drivers/power/supply/charger-manager.c | 54 - drivers/power/supply/cros_usbpd-charger.c | 17 drivers/power/supply/lp8727_charger.c | 4 drivers/power/supply/lp8788-charger.c | 2 drivers/power/supply/max17040_battery.c | 32 drivers/power/supply/pf1550-charger.c | 2 drivers/power/supply/qcom_battmgr.c | 9 drivers/power/supply/rt9455_charger.c | 21 drivers/power/supply/twl4030_charger.c | 12 drivers/power/supply/ucs1002_power.c | 6 drivers/ptp/ptp_vmclock.c | 6 drivers/rapidio/devices/rio_mport_cdev.c | 10 drivers/regulator/as3722-regulator.c | 1 drivers/regulator/max8998.c | 1 drivers/regulator/qcom-refgen-regulator.c | 4 drivers/remoteproc/mtk_scp.c | 9 drivers/rpmsg/qcom_glink_smem.c | 7 drivers/s390/block/dasd.c | 6 drivers/s390/block/dasd_eckd.c | 40 - drivers/s390/block/dasd_erp.c | 3 drivers/scsi/fnic/fip.c | 2 drivers/scsi/scsi_lib.c | 2 drivers/staging/greybus/hid.c | 2 drivers/staging/media/ipu7/ipu7-isys.c | 1 drivers/staging/media/tegra-video/vi.c | 9 drivers/staging/media/tegra-video/vip.c | 10 drivers/tty/serial/imx.c | 20 drivers/usb/dwc2/gadget.c | 11 drivers/usb/dwc3/gadget.c | 1 drivers/usb/gadget/function/f_fs.c | 14 drivers/usb/gadget/function/f_midi2.c | 2 drivers/usb/gadget/function/f_tcm.c | 23 drivers/usb/gadget/function/f_uvc.c | 7 drivers/usb/gadget/function/u_audio.c | 24 drivers/usb/gadget/function/uvc_video.c | 2 drivers/usb/gadget/udc/at91_udc.c | 20 drivers/usb/gadget/udc/snps_udc_plat.c | 5 drivers/usb/phy/phy-fsl-usb.c | 52 - drivers/usb/phy/phy-fsl-usb.h | 6 drivers/usb/typec/altmodes/thunderbolt.c | 2 drivers/usb/typec/hd3ss3220.c | 2 drivers/usb/typec/tcpm/tcpci.c | 12 drivers/usb/typec/ucsi/ucsi.c | 3 drivers/video/backlight/aw99706.c | 10 drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c | 4 drivers/video/fbdev/pvr2fb.c | 4 drivers/video/fbdev/ssd1307fb.c | 72 + drivers/video/fbdev/uvesafb.c | 2 drivers/video/sticore.c | 22 drivers/w1/slaves/w1_ds28e17.c | 8 drivers/xen/balloon.c | 29 fs/backing-file.c | 2 fs/btrfs/direct-io.c | 19 fs/btrfs/extent_io.c | 31 fs/btrfs/extent_io.h | 5 fs/btrfs/inode.c | 23 fs/btrfs/ioctl.c | 23 fs/btrfs/relocation.c | 31 fs/buffer.c | 3 fs/ceph/addr.c | 11 fs/ceph/caps.c | 74 + fs/ceph/dir.c | 10 fs/ceph/export.c | 26 fs/ceph/mds_client.c | 73 + fs/ceph/mds_client.h | 1 fs/ceph/mdsmap.c | 11 fs/ceph/super.h | 14 fs/ceph/xattr.c | 1 fs/debugfs/file.c | 3 fs/ecryptfs/crypto.c | 2 fs/ecryptfs/ecryptfs_kernel.h | 3 fs/ecryptfs/keystore.c | 45 - fs/ecryptfs/messaging.c | 11 fs/ecryptfs/miscdev.c | 5 fs/ecryptfs/super.c | 7 fs/efivarfs/super.c | 30 fs/erofs/zutil.c | 2 fs/ext2/inode.c | 7 fs/ext2/xattr.c | 4 fs/fat/misc.c | 4 fs/fuse/dev.c | 8 fs/fuse/dev.h | 2 fs/fuse/dev_uring.c | 38 fs/fuse/dev_uring_i.h | 5 fs/fuse/inode.c | 4 fs/iomap/bio.c | 2 fs/iomap/direct-io.c | 1 fs/jbd2/checkpoint.c | 28 fs/lockd/clntproc.c | 3 fs/lockd/lockd.h | 2 fs/lockd/svc.c | 4 fs/lockd/svc4proc.c | 7 fs/lockd/svcproc.c | 4 fs/lockd/svcsubs.c | 109 +- fs/nfs/callback.c | 4 fs/nfs/nfs4client.c | 17 fs/nfs/pnfs.c | 3 fs/nfs_common/nfslocalio.c | 16 fs/nfsd/filecache.c | 143 +-- fs/nfsd/flexfilelayoutxdr.c | 20 fs/nfsd/localio.c | 8 fs/nfsd/lockd.c | 6 fs/nfsd/netns.h | 35 fs/nfsd/nfs2acl.c | 52 - fs/nfsd/nfs3acl.c | 17 fs/nfsd/nfs3proc.c | 40 + fs/nfsd/nfs4callback.c | 113 ++ fs/nfsd/nfs4layouts.c | 39 fs/nfsd/nfs4proc.c | 223 ++++- fs/nfsd/nfs4recover.c | 48 - fs/nfsd/nfs4state.c | 395 +++++++--- fs/nfsd/nfs4xdr.c | 40 - fs/nfsd/nfscache.c | 6 fs/nfsd/nfsctl.c | 156 +++ fs/nfsd/nfsfh.c | 12 fs/nfsd/nfsproc.c | 7 fs/nfsd/nfssvc.c | 49 - fs/nfsd/nfsxdr.c | 32 fs/nfsd/state.h | 4 fs/nfsd/trace.h | 18 fs/nfsd/vfs.c | 39 fs/nilfs2/bmap.c | 2 fs/nilfs2/bmap.h | 2 fs/nilfs2/btree.c | 39 fs/nilfs2/direct.c | 4 fs/notify/fanotify/fanotify.c | 3 fs/notify/fanotify/fanotify.h | 6 fs/notify/fanotify/fanotify_user.c | 17 fs/notify/inotify/inotify_user.c | 15 fs/ntfs/attrib.c | 24 fs/ntfs/lcnalloc.c | 7 fs/ntfs/runlist.c | 48 + fs/ntfs/super.c | 12 fs/ntfs3/frecord.c | 9 fs/ntfs3/fslog.c | 34 fs/ocfs2/cluster/heartbeat.c | 148 ++- fs/ocfs2/cluster/nodemanager.c | 6 fs/ocfs2/cluster/nodemanager.h | 1 fs/ocfs2/dir.c | 47 + fs/ocfs2/dlm/dlmmaster.c | 6 fs/ocfs2/dlm/dlmrecovery.c | 9 fs/ocfs2/refcounttree.c | 47 - fs/ocfs2/suballoc.c | 2 fs/ocfs2/xattr.c | 5 fs/orangefs/devorangefs-req.c | 1 fs/orangefs/orangefs-debugfs.c | 1 fs/overlayfs/dir.c | 1 fs/pidfs.c | 43 - fs/smb/client/cifsfs.c | 15 fs/smb/client/cifsfs.h | 1 fs/smb/client/cifssmb.c | 6 fs/smb/client/dfs_cache.c | 33 fs/smb/client/file.c | 1 fs/smb/client/inode.c | 56 + fs/smb/client/smb1misc.c | 3 fs/smb/client/smb1ops.c | 2 fs/smb/client/smb1transport.c | 35 fs/smb/client/smb2file.c | 5 fs/smb/client/smb2inode.c | 6 fs/smb/client/smb2ops.c | 9 fs/smb/client/trace.h | 3 fs/smb/server/vfs_cache.c | 2 fs/tracefs/event_inode.c | 7 fs/ubifs/auth.c | 2 fs/udf/inode.c | 2 fs/udf/partition.c | 2 include/linux/bio.h | 2 include/linux/compaction.h | 3 include/linux/dm-io.h | 6 include/linux/entry-common.h | 3 include/linux/font.h | 4 include/linux/hugetlb.h | 7 include/linux/list.h | 15 include/linux/lockd/bind.h | 12 include/linux/sunrpc/bc_xprt.h | 5 include/linux/sunrpc/svc_rdma_pcl.h | 2 include/linux/uio.h | 10 include/linux/usb/tcpci.h | 1 include/linux/vmalloc.h | 2 include/net/ip_tunnels.h | 11 include/net/sctp/structs.h | 2 include/uapi/linux/landlock.h | 1 io_uring/query.c | 3 io_uring/waitid.c | 33 kernel/auditfilter.c | 6 kernel/bpf/bloom_filter.c | 19 kernel/bpf/stackmap.c | 3 kernel/dma/contiguous.c | 16 kernel/liveupdate/kexec_handover.c | 2 kernel/module/kallsyms.c | 24 kernel/module/main.c | 14 kernel/params.c | 14 kernel/pid.c | 31 kernel/reboot.c | 29 kernel/sched/core.c | 49 + kernel/sched/cpufreq_schedutil.c | 15 kernel/sched/ext/ext.c | 342 ++++++-- kernel/sched/sched.h | 5 kernel/signal.c | 4 kernel/taskstats.c | 3 kernel/time/itimer.c | 2 kernel/time/timekeeping.c | 8 kernel/time/timer.c | 1 kernel/trace/ring_buffer.c | 198 +++-- kernel/trace/simple_ring_buffer.c | 4 kernel/trace/trace.c | 6 kernel/trace/trace_events.c | 2 kernel/trace/trace_events_hist.c | 4 kernel/trace/trace_events_user.c | 3 lib/iov_iter.c | 9 lib/ucs2_string.c | 2 lib/xarray.c | 3 mm/compaction.c | 98 +- mm/gup.c | 10 mm/huge_memory.c | 24 mm/hugetlb.c | 38 mm/hugetlb_vmemmap.c | 23 mm/internal.h | 10 mm/kasan/quarantine.c | 7 mm/kmemleak.c | 77 + mm/madvise.c | 4 mm/memcontrol-v1.c | 6 mm/memcontrol.c | 13 mm/mempolicy.c | 29 mm/migrate.c | 8 mm/migrate_device.c | 13 mm/mm_init.c | 10 mm/page_alloc.c | 76 + mm/page_owner.c | 10 mm/page_vma_mapped.c | 8 mm/pagewalk.c | 6 mm/rmap.c | 31 mm/slub.c | 78 + mm/sparse-vmemmap.c | 4 mm/swapfile.c | 15 mm/vmalloc.c | 58 - mm/vmscan.c | 40 - mm/zsmalloc.c | 11 mm/zswap.c | 13 net/bluetooth/eir.c | 3 net/bluetooth/hci_conn.c | 3 net/bluetooth/hci_core.c | 2 net/bluetooth/hci_event.c | 7 net/bluetooth/hci_sync.c | 2 net/bluetooth/iso.c | 8 net/bluetooth/rfcomm/core.c | 8 net/ceph/osd_client.c | 30 net/ceph/osdmap.c | 2 net/core/skbuff.c | 5 net/core/xdp.c | 4 net/ipv4/ip_tunnel.c | 2 net/ipv4/ipip.c | 2 net/ipv4/ipmr.c | 3 net/ipv6/exthdrs.c | 26 net/ipv6/ip6_gre.c | 14 net/ipv6/ip6_input.c | 1 net/ipv6/ip6_tunnel.c | 22 net/ipv6/route.c | 2 net/ipv6/seg6_local.c | 9 net/ipv6/sit.c | 2 net/iucv/af_iucv.c | 2 net/l2tp/l2tp_netlink.c | 16 net/mctp/route.c | 19 net/mpls/af_mpls.c | 2 net/mptcp/syncookies.c | 1 net/openvswitch/conntrack.c | 128 ++- net/openvswitch/conntrack.h | 6 net/openvswitch/datapath.c | 58 - net/openvswitch/datapath.h | 8 net/sched/sch_generic.c | 2 net/sctp/inqueue.c | 7 net/sctp/sm_sideeffect.c | 4 net/sctp/stream.c | 48 - net/smc/af_smc.c | 3 net/smc/smc.h | 6 net/smc/smc_core.c | 27 net/smc/smc_llc.c | 122 ++- net/smc/smc_rx.c | 11 net/smc/smc_tx.h | 6 net/smc/smc_wr.c | 6 net/sunrpc/auth_gss/auth_gss.c | 6 net/sunrpc/auth_gss/gss_krb5_unseal.c | 3 net/sunrpc/auth_gss/gss_krb5_wrap.c | 13 net/sunrpc/auth_gss/gss_rpc_upcall.c | 6 net/sunrpc/auth_gss/gss_rpc_upcall.h | 1 net/sunrpc/auth_gss/gss_rpc_xdr.c | 15 net/sunrpc/auth_gss/svcauth_gss.c | 8 net/sunrpc/backchannel_rqst.c | 38 net/sunrpc/cache.c | 7 net/sunrpc/clnt.c | 22 net/sunrpc/sunrpc_syms.c | 1 net/sunrpc/svc.c | 93 ++ net/sunrpc/xdr.c | 2 net/sunrpc/xprtrdma/ib_client.c | 24 net/sunrpc/xprtrdma/svc_rdma_pcl.c | 2 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 21 net/sunrpc/xprtrdma/svc_rdma_rw.c | 52 + net/sunrpc/xprtrdma/svc_rdma_sendto.c | 47 - net/sunrpc/xprtrdma/svc_rdma_transport.c | 69 + net/sunrpc/xprtsock.c | 12 net/vmw_vsock/virtio_transport.c | 2 rust/Makefile | 6 rust/kernel/bug.rs | 34 rust/kernel/devres.rs | 25 rust/kernel/dma.rs | 6 rust/kernel/fmt.rs | 9 rust/kernel/list.rs | 2 rust/kernel/num/bounded.rs | 31 rust/kernel/time.rs | 17 scripts/Makefile.build | 3 scripts/rust_is_available.sh | 14 scripts/rust_is_available_bindgen_libclang_22.h | 5 scripts/rust_is_available_test.py | 30 security/apparmor/include/cred.h | 6 security/apparmor/include/label.h | 6 security/apparmor/include/task.h | 15 security/apparmor/task.c | 27 security/keys/trusted-keys/trusted_tpm1.c | 2 security/landlock/errata/abi-1.h | 23 security/landlock/fs.c | 41 - security/smack/smack_lsm.c | 2 sound/core/ump_convert.c | 1 sound/drivers/aloop.c | 6 sound/drivers/mpu401/mpu401.c | 6 sound/drivers/mts64.c | 6 sound/drivers/portman2x4.c | 6 sound/drivers/serial-u16550.c | 6 sound/drivers/virmidi.c | 6 sound/hda/codecs/realtek/alc269.c | 7 sound/hda/codecs/realtek/alc662.c | 1 sound/hda/core/ext/stream.c | 4 sound/pci/pcxhr/pcxhr.c | 14 sound/soc/amd/yc/acp6x-mach.c | 7 sound/soc/codecs/aw88261.c | 6 sound/soc/codecs/aw88261.h | 6 sound/soc/tegra/tegra210_admaif.c | 208 +++-- sound/soc/tegra/tegra210_i2s.c | 24 sound/soc/tegra/tegra210_i2s.h | 1 sound/soc/tegra/tegra210_mbdrc.c | 42 - sound/soc/tegra/tegra210_mixer.c | 10 sound/usb/6fire/comm.c | 9 sound/usb/bcd2000/bcd2000.c | 11 sound/usb/fcp.c | 4 tools/include/linux/compiler.h | 2 tools/objtool/check.c | 2 tools/sched_ext/include/scx/compat.bpf.h | 12 tools/sched_ext/include/scx/enum_defs.autogen.h | 1 tools/sched_ext/include/scx/enums.autogen.bpf.h | 3 tools/sched_ext/include/scx/enums.autogen.h | 1 tools/sched_ext/scx_qmap.bpf.c | 2 tools/testing/selftests/mm/run_vmtests.sh | 2 620 files changed, 7822 insertions(+), 3112 deletions(-)
Abdifatah Suruur (1):
ptp: vmclock: prevent read-only mappings from becoming writable
Abdun Nihaal (5):
platform/x86: int1092: Fix potential memory leak in sar_probe()
mfd: sm501: Fix potential memory leaks during remove
wifi: brcmfmac: Fix memory leak in brcmf_sdio_read_control()
wifi: rtlwifi: rtl8192du: Fix possible memory leak in rtl92du_init_sw_vars()
wifi: rtw88: Fix potential memory leak in rtw_txq_push_skb()
Abdurrahman Hussain (1):
of: fix out-of-bounds read in of_alias_scan() stem parser
Abhijit Gangurde (1):
RDMA/ionic: Embed counter driver data in rdma_counter allocation
Adrian Hunter (2):
i3c: Fix unlocked dereference of dev->desc in i3c_device_get_supported_xfer_mode()
i3c: master: Fix info leak and UAF in device unregister path
Ahmad Fatoum (1):
net: dsa: realtek: use gpiod_set_value_cansleep for reset GPIO
Ajrat Makhmutov (1):
ALSA: hda/realtek: Enable headset mic on F+ FLAPTOP r
Aldo Ariel Panzardo (2):
ksmbd: only rebind the reopened file's own oplock on durable reconnect
net: mctp: hold a reference to the route device in mctp_route_lookup()
Aleksandr Khromov (1):
slip: fix use-after-free in sl_sync()
Alexander Graf (2):
mm/mm_init: deferred_grow_zone(): fix out-of-range first_deferred_pfn
dma-contiguous: fix truncation of numa_cma / cma_pernuma sizes >= 2G
Alexandra Winter (1):
net/iucv: filter frames in afiucv_hs_rcv() by ingress device
Ali Ahmet Memis (2):
openrisc: fix arbitrary kernel memory access via or1k_atomic syscall
mfd: qnap-mcu: keep the reply buffer alive past a command timeout
Ali Tariq (3):
PCI: starfive: Fix resource leaks on error paths in host_init()
PCI: plda: Fix use-after-free of event IRQs during teardown
PCI: plda: Fix IRQ domain leaks in the error paths of plda_init_interrupts()
Alison Schofield (1):
cxl/pmem: Format the nvdimm serial number as unsigned decimal
Ameer Hamza (1):
SUNRPC: Restore NUMA_NO_NODE for svc thread allocations in global mode
Andre Eikmeyer (1):
HID: apple: preserve keyboard backlight across T2 resume
Andrea Mayer (1):
ipv6: rpl: fix NULL dereference of idev in ipv6_rpl_srh_rcv()
Anirudh Prasad (1):
ACPI: pfr_update: fix stack buffer overflow in query_capability()
Anton Danilov (1):
ipip: fix skb leak in collect_md mode when metadata_dst allocation fails
Antoni Boucher (1):
rust: kbuild: disambiguate zerocopy for rusttest
Anup Vishwakarma (1):
mailbox: qcom-ipcc: fix duplicate channel allocation across holes
Ard Biesheuvel (1):
efivarfs: Rate limit statfs() handler
Artem Lytkin (1):
mm/vmalloc: make vm_struct.nr_pages an unsigned long
Arvind Yadav (1):
mm/migrate_device: clear stale mapping after freeing swapcache
Asim Viladi Oglu Manizada (1):
net: tun: bound receive headroom
Aurelien Jarno (5):
riscv: dts: spacemit: k1-bananapi-f3: fix maximum CPU core voltage
riscv: dts: spacemit: k1-milkv-jupiter: fix maximum CPU core voltage
riscv: dts: spacemit: k1-musepi-pro: fix maximum CPU core voltage
riscv: dts: spacemit: k1-orangepi-r2s: fix maximum CPU core voltage
riscv: dts: spacemit: k1-orangepi-rv2: fix maximum CPU core voltage
Baokun Li (1):
fs: fix user path of nested backing files
Bartosz Golaszewski (1):
powerpc/powermac: fix OF node refcount
Baul Lee (4):
HID: universal-pidff: stop the device when force-feedback init fails
ALSA: 6fire: bound the MIDI event length from the device
ALSA: bcd2000: clear the URB pointers on disconnect
ALSA: FCP: do not copy out an uninitialised init response
Boris Burkov (1):
btrfs: write-protect folios during data writeback
Bradley Morgan (2):
signal: avoid shared siginfo namespace rewrites
taskstats: fix cpumask parsing cutting off the last character
Breno Leitao (7):
mm, swap: ratelimit bad swap entry reports
mm/kmemleak: avoid soft lockup when scanning task stacks mm/migrate: report RCU-tasks quiescent states in migrate_pages_batch() mm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()
net: fix spurious TX timeout after dev_activate() mm/kmemleak: stop the task stack scan early when interrupted mm/kmemleak: report RCU-tasks quiescent states during the scan
Brett Creeley (1):
RDMA/ionic: Cap eq_count to the eth driver's interrupt vector budget
Bryam Vargas (22):
misc: nsm: bound the device-reported response length
smb: client: reject a tree connect response whose byte count is too small
smb: client: restore the data_offset bound in is_valid_oplock_break()
ntfs: bound the free-cluster bitmap scan to the volume
dm array: validate array block headers on read
dm array: reject an array block whose value size is not the caller's libnvdimm/labels: Prevent integer overflow in __nd_label_validate()
ocfs2: bound namelen in dlm_migrate_request_handler
ocfs2: validate lengths in dlm_mig_lockres_handler
power: supply: cros_usbpd-charger: bound the EC-reported port count platform/chrome: sensorhub: Bound the EC-reported sensor number net/smc: do not dereference an unset send buffer on the SMC-D teardown path net/smc: unregister the connection before draining the rx tasklet
dm-pcache: validate geometry fields from on-disk cache_info
dm-pcache: validate kset key_num and intra-segment bounds
dm-pcache: validate on-media seg_num against the cache device size
dm-pcache: bound the persisted tail-position offset
dm-pcache: clamp the tail kset read to the segment data region
dm-pcache: detect a cycle in the last-kset chain during replay
dm-pcache: only hand out initialized cache segments
wifi: mt76: mt7915: bound the device EEPROM address before the EFUSE copy
wifi: mt76: mt7996: bound the device EEPROM address before the EFUSE copy
Can Peng (1):
hwrng: stm32 - Fix runtime PM cleanup on registration failure
Chen Linxuan (1):
pidfd: hold exec_update_lock around namespace ioctl
Chengfeng Ye (4):
KEYS: trusted: Fix TPM teardown ordering
fanotify: fix use-after-free of file range info
Bluetooth: RFCOMM: serialize security confirmation handling vsock/virtio: flush works in dependency order
Chris Mason (23):
NFS/localio: fix ref leak on nfs_uuid_add_file failure
nfsd: guard nfsd_serv deref in nfsd_file_net_dispose
nfsd: release path refs on follow_down() error
nfsd: size fh_verify server sockaddr slot by xpt_locallen
nfsd: cap decoded POSIX ACL count to bound sort cost
nfsd: convert nfsd_net boolean flags to unsigned long flags word
nfsd: fix cpntf publish race in nfs4_init_cp_state
nfsd: fix partial-write detection in nfsd_direct_write
nfsd: gate nfs3 setacl by argp->mask
nfsd: hold rcu across localio cmpxchg retry
SUNRPC: xdr_buf_trim: clamp buf->len to avoid underflow
SUNRPC: Zero rpc_gss_wire_cred at svcauth_gss_decode_credbody() entry
SUNRPC: svcauth_gss: enforce krb5 token minimum length
SUNRPC: fix gssx_dec_option_array error path bugs
SUNRPC: Guard svcauth_gss_release() dispatch on rq_auth_stat
SUNRPC: harden gss_krb5_unwrap_v2 against short tokens
SUNRPC: harden gss_unwrap_resp_priv length checks
sunrpc: init gssp_lock before publishing proc entry
SUNRPC: reject duplicate CREDS_VALUE options
svcrdma: Fix offset arithmetic in read_chunk_range
svcrdma: Fix pcl_for_each_segment for empty chunks
svcrdma: Fix unmatched rn_unregister on failed accept
svcrdma: Reject Write/Reply chunks with segcount 0
Christian Loehle (2):
ACPI: CPPC: Reject desired_perf reads on _CPC revision 4+
ACPI: CPPC: Skip desired_perf read in cppc_get_perf()
Christian Marangi (1):
net: phylink: correctly validate returned PCS in phylink_inband_caps
Christoph Hellwig (1):
iomap: don't free integrity payload that doesn't exist
Christoph Zwerschke (2):
Bluetooth: btusb: Add ASUS USB-BT540 for Realtek 8761CU
Bluetooth: btusb: Add ASUS USB-BT600 for Realtek 8761CU
Christopher Tolang (1):
ASoC: amd: yc: Add DMI entry for MSI Thin A15 B7UC
Chuck Lever (23):
NFSD: check truncate permission under inode lock
NFSD: Encode only the status in NFS-ACL v2 GETACL error replies
NFSD: Fix off-by-one in DRC bucket pruning limit
nfsd: Reset write verifier when async COPY writeback fails
nfsd: sample writeback error cursor before async COPY loop
nfsd: gate nfs2 setacl by argp->mask
NFSD: Prevent lock owner use-after-free during client teardown
NFSD: Prevent post-shutdown use-after-free in unlock_filesystem
NFSD: Prevent client use-after-free during admin state revocation
NFSD: Prevent client use-after-free during delegation revoke
NFSD: Prevent client use-after-free during NFSv4.0 revoked-state cleanup
SUNRPC: Check svc pool percpu counter allocation
SUNRPC: close backchannel before destroying callback service
SUNRPC: Reject krb5 v2 wrap tokens with oversized ec field
SUNRPC: Reject short RFC 4121 MIC tokens in gss_krb5_verify_mic_v2
svcrdma: Reorder rpcrdma_rn_unregister before rdma_destroy_id
svcrdma: Clear sc_cm_id when ADDR_CHANGE replacement fails
svcrdma: Reject connection when transport allocation fails
svcrdma: Reject inline replies that overflow the pull-up buffer
svcrdma: Reject oversized Read segments at decode time
svcrdma: Reject Read lists that exceed the page budget
svcrdma: Use svc_xprt_put to free listener on create failure
svcrdma: Validate Read chunk positions before reconstruction
Chun-Yi Lee (1):
debugfs: Fix lockdown check for mmap_prepare
Chunkai Deng (1):
rpmsg: glink: smem: order FIFO read after availability check
Claudiu Beznea (8):
i3c: renesas: Fix out-of-bounds access for newdevs mask
i3c: renesas: Check that the transfer is valid before accessing it
i3c: renesas: Clean DATBAS register on detach
i3c: renesas: Follow the reset deassert order used in probe
i3c: renesas: Reconfigure the DATBAS register on re-attach
i3c: renesas: Reset the controller on resume
i3c: renesas: Restore STDBR and EXTBR registers on resume
i3c: renesas: Perform Dynamic Address Assignment on resume
Coly Li (1):
md: do overflow check for sb->bblog_shift in super_1_load()
Cong Nguyen (3):
media: staging/ipu7: fix async notifier UAF on probe error path
hwmon: (max6621) fix negative temperature offset and crit readings
hwmon: (max6621) fix temperature clamp range
Corey Minyard (1):
ipmi:msghandler: Cancel work cleanly on an error
Daisuke Matsuda (1):
fpga: altera-cvp: Avoid out-of-bounds read in trailing byte write
Daniel Borkmann (1):
bpf: Disable preemption in __bpf_get_stack
Danilo Krummrich (2):
rust: devres: fix race between concurrent revokers
rust: devres: ensure revocation is complete before device finishes unbinding
Dave Airlie (1):
nouveau/gem: reserve the bo in the info ioctl around the vma lookup
Dave Jiang (1):
cxl/mce: Make the MCE notifier per-region
David Hildenbrand (Arm) (1):
mm/gup: fix always draining LRU caches in collect_longterm_unpinnable_folios()
David Lee (1):
udf: reject VAT indexes equal to the entry count
Dawei Feng (2):
wifi: iwlwifi: dvm: fix memory leak in iwl_op_mode_dvm_start()
wifi: rtw88: pci: fix resource leak on failed NAPI setup
Deepanshu Kartikey (2):
tracing: Fix use-after-free in trace_pipe read on sub-buffer order change
eventfs: Initialize ei->children and ei->list in init_ei()
Denis Batishchev (1):
ALSA: hda/realtek: Enable micmute LED on HP EliteBook 6 G1a p/n: AD3Q9ET#UUG
Dev Jain (4):
mm/migrate: use huge_ptep_get() in remove_migration_pte() mm/page_vma_mapped: use huge_ptep_get() for hugetlb mm/rmap: use huge_ptep_get() in try_to_unmap_one() mm/rmap: use huge_ptep_get() in try_to_migrate_one()
Devin Wittmayer (1):
wifi: mt76: mt7925: cancel mlo_pm_work on stop
Dmitry Antipov (1):
ocfs2: always run deallocs on copy-on-write completion
Doruk Tan Ozturk (3):
HID: sony: fix UAF of ghl_poke_timer / ghl_urb at driver unbind
wifi: ath6kl: clamp assoc request/response lengths before subtracting IE offsets
ocfs2: validate directory-index entry counts when reading metadata
Eckhart Mohr (1):
ALSA: hda/realtek: Add quirk for TongFang XxAF5xxx
Eliot Courtney (1):
rust: num: reject Bounded::shr overshifts at build time
Ethan Nelson-Moore (1):
ARM: 9477/1: Disable broken eBPF JIT on the Risc PC
Ewan D. Milne (1):
nvme: nvme-fc: Fix nvme_fc_create_hw_io_queues() queue deletion in error path
FUJITA Tomonori (4):
rust: time: fix as_micros_ceil() rounding near i64::MAX
rust: bug: skip arch-specific asm in testlib builds
rust: bug: fix warn_on macro build error on UML
rust: bug: prevent dead_code warning from warn_on!'s flags constant
Fabio Estevam (3):
arm64: dts: rockchip: Fix rk3399-roc-pc-plus analog audio
arm64: dts: rockchip: Fix rk3588s-roc-pc audio description
wifi: mwifiex: Detach sync cmd buffer on interrupted wait
Fabio Porcedda (1):
net: usb: qmi_wwan: add Telit Cinterion FE990D50 composition
Fan Wu (14):
usb: gadget: at91_udc: drain polled-VBUS timer/work before udc is freed
usb: typec: thunderbolt: Disable work before freeing tbt on remove RDMA/cxgb4: Cancel reg_work before freeing device on remove
power: supply: bq24257: fix use-after-free on remove
power: supply: bq256xx: drain usb_work before freeing the charger
power: supply: charger-manager: register regulators before exposing sysfs
power: supply: lp8727: fix use-after-free in lp8727_release_irq()
power: supply: lp8788-charger: fix use-after-free on remove
power: supply: qcom_battmgr: fix use-after-free
power: supply: rt9455: quiesce delayed work before teardown
power: supply: ucs1002: fix use-after-free on remove
mmc: via-sdmmc: cancel card-detect work on remove
mmc: via-sdmmc: stop card-detect handling on probe failure
wifi: rtl8xxxu: fix use-after-free from rx_urb_wq on stop
Fan Ye (2):
net: thunderbolt: Release the Rx HopID that was handed out on mismatch
net: thunderbolt: Mark the connection down when bringing it up fails
Fangzhi Zuo (2):
drm/amd/display: Skip Update HDCP Config In Transition State drm/amd/display: Prune per-tile Timing from Apple Studio Display Primary Tile
Farhan Ali (1):
PCI/MSI: Enable memory decoding before restoring MSI-X messages
Felix Fietkau (1):
wifi: mt76: mt7996: fix TX DMA mapping leak for AddBA req frames
Felix Gu (1):
phy: fsl-imx8mq-usb: fix typec switch leak on probe error path
Felix Yan (1):
clocksource/drivers/timer-sun4i: Advertise a real minimum delta
Florian Fuchs (1):
fbdev: pvr2fb: correct user pointer annotation and sentinel initializer
Francesco Lavra (1):
usb: dwc2: gadget: Exit partial power down state when changing USB pull-up
Frank Sorenson (10):
cifs: add cifs_resize_file_locked() to guard fscache_resize_cookie() under i_rwsem
cifs: call pagecache_isize_extended() in cifs_setsize() when extending
cifs: clear tcon after cifsFileInfo_put() in cifs_file_set_size()
cifs: fix loff_t underflow in cifs_remap_file_range() when len == 0
cifs: use cifs_invalidate_cache() in cifs_do_truncate() for O_TRUNC
smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2
smb: client: fix ALIGN() overflow in symlink_data() error context loop
smb: client: fix copy-paste error in WSL EA length accounting for $LXDEV
smb: client: fix OOB read/write from unvalidated DataOffset in coalesce_t2()
smb: client: fix use-before-check of ReparseDataLength in reparse_buf_ptr()
Fredric Cover (2):
smb: client: clear ce->tgthint in free_tgts()
smb: client: harden DFS cache against invalid target hints
Gary Guo (1):
rust: cfi: disable function merging if CFI is enabled
Gaurav Batra (1):
powerpc/pseries/iommu: switch to Default DMA window during kdump
Glenn Judd (1):
net/mlx5e: do not HW-GRO coalesce small frames
Gongwei Li (1):
Bluetooth: hci_uart: Fix false success return in hci_uart_setup()
Greg Kroah-Hartman (1):
Linux 7.2.4
Guanghui Yang (1):
btrfs: drop recovered reloc root refs on recovery failure
Guangshuo Li (5):
HID: intel-thc-hid: intel-quicki2c: fix autosuspend cleanup during teardown
HID: intel-thc-hid: intel-quickspi: fix autosuspend cleanup during teardown
Bluetooth: hci_bcm: fix usage_count leak when autosuspend_delay is negative
Bluetooth: hci_h5: fix usage_count leak when autosuspend_delay is negative
Bluetooth: hci_intel: fix usage_count leak when autosuspend_delay is negative
Guidong Han (1):
RISC-V: KVM: Fix PMU event info array size overflow
Guillaume Morin (1):
hugetlb: only adjust reservation during unmapping if mapcount is 0
Guopeng Zhang (4):
mm: memcg-v1: fix wrong linux-mm list address in deprecation warnings
mm: memcg-v1: fix memsw and TCP failcnt accounting
mm: memcg: stop reclaim when a limit update is superseded
mm: memcontrol: update state_local when flushing NMI stats
Günther Noack (1):
landlock: Require LANDLOCK_ACCESS_FS_MAKE_REG for whiteout creation
HanQuan (1):
ecryptfs: reject oversized encrypted_key_size in parse_tag_3_packet
Hang Nan (1):
Bluetooth: ISO: fix use-after-free of listener socket in iso_conn_ready
Hans Verkuil (1):
Revert "media: v4l2-dev: fix error handling in __video_register_device()"
Hao Jia (1):
mm/zswap: fix global shrinker when memory cgroup is disabled
Hao-Qun Huang (3):
staging: greybus: hid: fix SET_REPORT return value
staging: media: tegra-video: fix of_node_put() on VIP parse errors
staging: media: tegra-video: vi: fix probe failure on skipped last port
Haotian Zhang (1):
dm-switch: use WRITE_ONCE() in switch_region_table_write()
Haoxiang Li (2):
HID: sensor: custom: Fix field sysfs group cleanup on failure
cpufreq: apple-soc: Fix OPP table cleanup
Harshit Varu (1):
mptcp: fix uninitialized local_id in syncookie MP_JOIN reconstruction
Helge Deller (1):
sticon/parisc: Detect default STI graphics card for console output
Hidayath Khan (3):
net/smc: fix socket refcount leak in smc_switch_conns() net/smc: fix use-after-free in smc_rx_pipe_buf_release() net/smc: stop killed, freed and out_of_sync sharing a byte
Hilgad Montelo (1):
platform/x86: panasonic-laptop: Fix sentinel write past pcc->sinf[]
Hongling Zeng (2):
ntfs: validate non-resident attribute offsets
ntfs: verify run length exceeding volume boundary
Hongyan Xu (1):
auxdisplay: charlcd: cancel backlight work on registration failure
Huang Wei (1):
usb: typec: ucsi: use UCSI_TIMEOUT_MS for sync command completion
Hui Su (7):
tracing: Fix crash passing ERR_PTR to kthread_stop()
tracing: Fix use-after-free with same-name named triggers
fbdev: ssd1307fb: defer I2C transfers from damage callbacks
cpufreq: schedutil: Fix rate limit overflow
kasan: fix cache shrink race with CPU hotplug io_uring/waitid: honor task_work cancellation io_uring/waitid: avoid siginfo copy during ring teardown
HyeongJun An (8):
HID: intel-thc-hid: intel-quickspi: validate report size before copy
HID: intel-thc-hid: intel-quickspi: bound GET_REPORT response to the caller buffer
Bluetooth: eir: Fix OOB read in eir_get_service_data()
ALSA: ump: Fix corrupted data bytes at MIDI 1.0 SysEx to UMP conversion
power: supply: qcom_battmgr: terminate the strings from firmware platform/x86: dell-wmi-sysman: Don't hex dump attribute security buffer platform/x86: ISST: Validate level in perf mask ioctls
platform/x86: ISST: Validate socket ID in clos_assoc ioctl
Hyunchul Lee (2):
ntfs: reject invalid empty mapping pairs
ntfs: reject invalid MFT LCNs from boot sector
Hyunwoo Kim (4):
apparmor: fix out-of-bounds write when null terminating a label vec mm/pagewalk: fix stale walk->action escaping walk_pmd_range()
sctp: stop processing a packet once its association is deleted
sctp: drop a chunk if its transport was removed
Ibrahim Abdelkader (1):
Bluetooth: hci_sync: Clear HCI_CMD_PENDING when dropping the last request
Ibrahim Hashimov (3):
ubifs: fix out-of-bounds read in signature length check
HID: picolcd: clamp eeprom debugfs read to bytes actually received
ocfs2: validate rl_used against rl_count in refcount block validator
Ilya Krutskih (1):
dm raid1: reserve space for NUL-terminator in build_constructor_string()
Ilya Maximets (1):
net: openvswitch: fix flow mask use-after-free on flow deletion
Injae Ryou (1):
selftests/mm: fix on-fault-limit false failure under sudo-rs
Ivan Immanuel Shaji (2):
tracing: Fix retry exhaustion in simple ring buffer reader swap
ring-buffer: Stop remote reader update when page swap fails
Ivaylo Dimitrov (1):
hsi: omap_ssi_core: fix missing DMA mask setup for SSI controller device
Jakob Unterwurzacher (1):
arm64: dts: rockchip: fix emmc reset polarity on px30-cobra
James Kim (1):
rapidio: mport_cdev: fix use-after-free in dma_req_free()
Jameson Thies (1):
power: supply: cros_usbpd: Limit port counts to EC_USB_PD_MAX_PORTS
Jan Kara (1):
ext2: Fix lost inode updates for IS_SYNC inodes
Jann Horn (2):
apparmor: fix cred UAF caused by begin_current_label_crit_section()
smack: fix cred UAF in smack_file_send_sigiotask()
Jason Gunthorpe (1):
RDMA/uverbs: Add UVERBS_ATTR_UHW to UVERBS_METHOD_REG_MR
Jason Yang (1):
phy: rockchip-samsung-dcphy: fix out-of-range max_register
Jeff Layton (47):
lockd, nfsd: RCU-protect nlmsvc_ops dispatch
nfsd: RCU-protect cl_cb_session to fix use-after-free on session teardown
nfsd: restore rq_status_counter to even on all nfsd_dispatch() exit paths
nfsd: return NFS4ERR_NOTSUPP for unsupported netloc4 types
nfsd: validate nseconds in TIME_DELEG decode paths
nfsd: validate sockaddr length per family in listener_set
nfsd: validate symlink target length in NFSv4 CREATE
nfsd: widen nfsd_genl_rqstp address fields to sockaddr_storage
nfsd: add fh_want_write() for early-verified SETATTR in nfsd_proc_setattr()
nfsd: add filehandle match check to nfsd4_delegreturn()
nfsd: add missing read barrier to rpc_status_get dumpit seqcount retry
nfsd: block non-SAVEFH ops after FOREIGN PUTFH to prevent NULL deref
nfsd: check client ownership when cancelling a copy-notify stateid
nfsd: check nfsd4_acl_to_attr() return value in nfsd4_create()
nfsd: clear CALLBACK_RUNNING on failed delegation recall queue
nfsd: clear opcnt on compound arg release to prevent OOB read
nfsd: dedup nfs4_client_to_reclaim inserts
nfsd: defer setting NFSD4_CALLBACK_RUNNING in deleg_reaper
nfsd: defer vfree of compound ops to fix rpc_status UAF
nfsd: don't free session slots that are still in use
nfsd: drop the stateid, not the stateowner, on seqid_op replay retry
nfsd: fix BUG_ON in nfsd4_alloc_layout_stateid on racing delegation revoke
nfsd: fix clock domain mismatch in clients_still_reclaiming()
nfsd: fix dentry ref leak on V4ROOT export filehandle lookup
nfsd: fix fcache_disposal UAF by inlining dispose state into nfsd_net
nfsd: fix FL_SLEEP being set unconditionally for all LOCK types
nfsd: fix layout fence worker double-reference race
nfsd: fix netlink dumpit error handling for rpc_status_get
nfsd: fix nfsd_file leak on inter-server COPY setup failure
nfsd: fix refcount leak in nfsd_file_lru_add on insertion failure
nfsd: fix reply size estimate for GET_DIR_DELEGATION
nfsd: fix stale s2s_cp_stateids IDR entry for async COPY
nfsd: fix UAF in async copy cancel and shutdown
nfsd: fix version mismatch loops in nfsd_acl_init_request()
nfsd: fix XDR length calculation in nfsd4_ff_encode_layoutget
nfsd: fix XDR padding calculation in ff_encode_getdeviceinfo
nfsd: initialize copy-notify stateid before publishing it
nfsd: initialize DRC hash table before registering shrinker
nfsd: move nfsd_debugfs_init() after nfsd4_init_slabs() in init_nfsd()
nfsd: close shrinker/GC/fsnotify vs per-net shutdown race in filecache
nfsd: reject reclaim LOCK after RECLAIM_COMPLETE
nfsd: release OPEN-decoded posix ACLs via op_release
nfsd: revoke copy-notify stateids before dropping their reference
nfsd: use test_and_clear_bit for somebody_reclaimed to prevent lost update
sunrpc: route to a populated pool in svc_pool_for_cpu()
SUNRPC: always drain cache_cleaner before destroying a cache_detail
sunrpc: defer rq_argp and rq_resp free until after RCU grace period
Jeffin Philip (2):
usb: gadget: uvc: Fix null pointer dereference in uvcg_video_init()
usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind()
Jerry Zuo (1):
drm/amd/display: hide Apple Studio Display secondary tile
Jia Zhu (1):
buffer: avoid tail commit walk for uptodate folios
Jiacheng Yu (1):
params: fix charp corruption on allocation failure
Jiangshan Yi (5):
smb: client: clear setuid/setgid bit on write with cifsacl/modefromsid/posix extensions
HID: mcp2221: stop device IO before hid_hw_stop
HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes
HID: mcp2221: validate report size in mcp2221_raw_event()
bnx2x: fix double free in bnx2x_init_firmware() error path
Jianing Li (3):
power: supply: max17040: propagate register read errors
power: supply: max17040: drop incorrect I2C functionality check
power: supply: max17040: synchronize work cancellation on suspend
Jianping Li (1):
arm64: dts: qcom: kodiak: avoid EFI overlap for ADSP remote heap
Jianyun Gao (2):
dm-pcache: fix implicit u8 truncation of gc_percent in message handler
dm-pcache: fix use-after-free and invalid seg operations in kset_replay()
Jinjie Ruan (1):
entry: Fix seccomp bypass after ptrace with TSYNC
Joanne Koong (1):
fuse: decouple fuse_ring creation from ent registration
Joe Damato (2):
bnxt_en: Write doorbell when linearizing skb fails
net: bnxt: ring the doorbell when SW USO exits early
Johan Hovold (2):
USB: phy: fsl-usb: fix missing static keywords
remoteproc: scp: Fix device reference leak on failed lookup
Johannes Weiner (4):
mm: compaction: support non-movable compaction for pageblock requests
mm: mempolicy: fix automatic numa balancing for shmem
mm: page_alloc: __GFP_FS lockdep annotation for direct compaction
mm: page_alloc: fix non-movable reclaim storm in defrag_mode
Jon Hunter (4):
ASoC: tegra: Fix the I2S enable default value
ASoC: tegra: Fix the MIXER enable default value
ASoC: tegra: Sort ADMAIF register defaults
ASoC: tegra: Sort MBDRC register defaults
Jordan R Abrahams-Whitehead (1):
include/linux/list.h: mark list_add and __list_add as __always_inline
Jorijn van der Graaf (2):
ASoC: codecs: aw88261: only check PLL and clock state at power-up
net: ipa: fix stalled modem TX queue after runtime resume
Joseph Qi (3):
ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin()
ocfs2: cluster: avoid lock order inversion in o2hb_region_pin() from drop_item
ocfs2: cluster: fix o2hb_dependent_users leak on pin failure
Joshua Crofts (1):
usb: gadget: midi2: remove default configfs groups on teardown
Joy H.J. Lee (1):
tools/compiler: match glibc 2.42 definition of __attribute_const__
Julian Haarmann (1):
platform/x86: lenovo/ymc: Only match lower byte in WMI lid switch query response
Jun Yang (2):
sctp: distinguish sequence zero from wildcard in reconf lookup
sctp: fix stream->outcnt underflow on duplicate RECONF responses
Junjie Cao (3):
backlight: aw99706: Fix DT property names to match binding
backlight: aw99706: Honor the core blank state in update_status()
Bluetooth: btusb: limit RTL8761B BROKEN_EXT_SCAN quirk to 0bda:a728
Junrui Luo (2):
media: vicodec: fix out-of-bounds write in FWHT encoder NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path
Jérémy Jean (7):
timers/itimer: Zero-init old itimerval before copy to userspace tracing/user_events: Clear copied tracing state before fork duplication
libceph: reject buckets with mismatched CRUSH ids
ceph: reject export_targets ranks >= CEPH_MAX_MDS in mdsmap decode
audit: avoid dropping live tree ref on fsnotify rule autoremove
bpf: Harden bloom filter sizing and indexing on 32-bit kernels
SUNRPC: wait for in-flight client TLS handshake callback
Kairui Song (1):
mm/mglru: fix and remove redundant unevictable folio handling
Karl Mehltretter (5):
serial: imx: serialize imx_uart_ports[] lifetime
KVM: arm64: GICv2: Don't WARN on out-of-range GICV_DIR INTID
arm64: compat: Fix decrementing LDM/STM alignment emulation
arm64: proton-pack: Restore the nospectre_bhb command-line option s390/percpu: Fix MVIY_PERCPU() with older binutils
Kathiravan Thirumoorthy (1):
regulator: qcom-refgen: correct the regulator type to CURRENT
Ke Sun (1):
rust: fmt: fix {:p} printing stack addresses
Keith Busch (2):
block: validate user space vectors during extraction
dm-io: clone the source bio instead of copying its biovec
Kevin Tian (2):
iommu/vt-d: Fix no_iommu to disable platform opt-in iommu/vt-d: Force requesting ACS when tboot is enabled
Kiryl Shutsemau (Meta) (3):
x86/insn-eval: Move assign_register() out of KVM as insn_assign_reg() x86/tdx: Fix off-by-one in port I/O handling
x86/tdx: Fix zero-extension for 32-bit port I/O
Koichiro Den (6):
NTB: ntb_transport: Recycle TX entries before client callbacks
NTB: ntb_transport: Fail TX enqueue when the QP link is down
NTB: ntb_transport: Reject oversized TX buffers
net: ntb_netdev: Fix TX busy and drop handling
net: ntb_netdev: Avoid double-accounting netif_rx() drops
net: ntb_netdev: Count packets dropped on RX refill failure
Konstantin Komarov (1):
fs/ntfs3: bound page_lcns[] index by the log record
Krishna Chomal (1):
platform/x86: hp-wmi: Add support for OMEN MAX 16-ak0xxx (8DD6)
Krzysztof Kozlowski (1):
arm64: dts: qcom: sm6115-pro1x: Correct touchscreen GPIO flags
Krzysztof Wilczyński (7):
PCI/sysfs: Fix out-of-bounds read in pci_write_legacy_io() alpha/PCI: Fix I/O port accessor argument order in pci_legacy_write() PCI/sysfs: Fix read byte order in pci_read_legacy_io() PCI/sysfs: Avoid spurious runtime PM wakeup on config space accesses PCI/proc: Avoid spurious runtime PM wakeup on config space accesses PCI/proc: Use file_ns_capable() when checking config space read access PCI/proc: Warn on writes to kernel-exclusive config space regions
Kuan-Wei Chiu (2):
coresight: etm3x: Fix cntr_val_show() to match cntr_val_store() behavior
interconnect: Fix use after free in icc_get() and of_icc_get_by_index()
Laxman Acharya Padhya (2):
io_uring/query: cap user size passed to copy_struct_to_user
wifi: mt76: mt7996: validate default EEPROM firmware size
Li Xiasong (1):
mm/slub: fix missing debugfs entries for caches created before sysfs init
Linkai Gong (1):
scsi: fnic: Use GFP_ATOMIC for VLAN alloc under spinlock
Longlong Xia (3):
zram: fix out-of-bounds access in read_block_state()
zram: fix out-of-bounds access in writeback_store()
zsmalloc: account for handle size in class lookup
Lorenzo Stoakes (ARM) (1):
Bluetooth: hci_bcm4377: Ignore reserved PHY in ext adv reports on BCM4378
Lukas Wunner (2):
PCI/AER: Emit TLP Log only for unmasked errors PCI/AER: Fix mapping of errors to agent & layer
Luxiao Xu (1):
sunrpc: fix use-after-free in __rpc_clnt_handle_event and __rpc_clnt_remove_pipedir
Ma Ke (2):
power: supply: bq25890: Fix power_supply reference leak platform/x86: ishtp_eclite: Fix ACPI device reference leak in probe error path
Maoyi Xie (3):
power: supply: twl4030_charger: cancel workers via devm
i3c: master: svc: bound IBI payload to the requested max_payload_len
w1: ds28e17: reject an oversize length on an I2C block read
Marek Czernohous (1):
forcedeth: fix off-by-one when saving/restoring non-PCI config space
Mario Limonciello (4):
platform/x86/amd/pmc: Restore msg_port on amd_stb_s2d_init() error paths platform/x86/amd/pmc: Propagate SMU errors and validate S2D address platform/x86/amd/pmc: Fix LPS0 and debugfs leaks when STB init fails platform/x86/amd/pmc: Fix msg_port restoration in amd_stb_debugfs_open_v2()
Matt Turner (4):
alpha: fix ieee_swcr_to_fpcr setting FPCR_DNOD unconditionally
alpha: don't leak hardware-fabricated FP exception bits to user space
alpha: marvel: Fix irq_set_status_flags to use correct IRQ number
alpha: marvel: Fix lock ordering in init_io7_irqs()
Matthew Brown (1):
ceph: fix leaked inode reference on writeback abort at umount
Matthias Goergens (1):
ocfs2: fix cached cluster count after suballocator reclaim
Max Kellermann (4):
ceph: force a cap message when a deferred revoke can't be acked immediately
ceph: do not repeat ceph_trim_dentries() if no progress possible
jbd2: bound shrinker scans by examined checkpoint buffers
jbd2: check need_resched() when skipping busy checkpoint buffers
Max Lee (1):
PCI/ASPM: Avoid L0s for Realtek RTS525A
Michael Bommarito (8):
NFSD: restart ssc_expire_umount walk after dropping nfsd_ssc_lock
libceph: validate OSD extent maps before cursor advance
ceph: bound copied dentry name length in NFS export get_name
ceph: bound MDSCapAuth path and fs_name decode in handle_session()
ceph: bound num_export_targets array for mds info v2/v3
ceph: bound xattr value length in __build_xattrs()
ceph: cap delegated inode count in ceph_parse_deleg_inos()
lockd: pin next file across nlm_inspect_file lock-drop
Michael Scott (1):
arm64: dts: qcom: x1-dell-thena: mark l12b and l15b always-on
Miguel Ojeda (6):
objtool/rust: add one more noreturn Rust function for Rust 1.99.0
rust: rust_is_available: warn for bindgen < 0.72.1 && libclang >= 22
rust: kbuild: disambiguate zerocopy_derive for rusttest objtool/rust: add one more noreturn Rust function
kbuild: rust: preserve unreachable traps with inline helpers
kbuild: rust: keep Rust objects out of Clang LTO with inline helpers
Mike Snitzer (1):
NFSD: remove flawed WARN_ON_ONCE from nfsd_mode_check
Mikulas Patocka (2):
dm-io: report non-retryable errors separatedly
dm-stats: fix a crash if allocation of per-cpu data fails
Mohamad Raizudeen (1):
PCI: Fix 32-bit config write in Intel PCH Root Port MPC ACS quirk
Muchun Song (3):
mm/hugetlb: fix boot panic with CONFIG_DEBUG_VM and HVO bootmem pages mm/hugetlb: initialize gigantic bootmem hugepage struct pages earlier mm/hugetlb_vmemmap: fix __hugetlb_vmemmap_optimize_folios()
Muhammad Bilal (11):
accel/rocket: fix NULL dereference and integer overflow in rocket_job_push() platform/x86: hp-bioscfg: accept reduced ACPI packages from older HP BIOS platform/x86: hp-bioscfg: advance elem past consumed array elements platform/x86: hp-bioscfg: bound ordered-list parsing by the package count platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store() platform/x86: hp-bioscfg: fix heap OOB read on empty password write platform/x86: hp-bioscfg: fix new_password_store() overwriting current_password platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer() platform/x86: hp-bioscfg: fix ORD_LIST_ELEMENTS never being parsed platform/x86: hp-bioscfg: pass validated element count to package parsers platform/x86: hp-bioscfg: warn on element type mismatch instead of failing
Myeonghun Pak (4):
usb: gadget: snps_udc_plat: clean up PHY on probe deferral
fbdev: uvesafb: unregister connector callback on init failure
nvme-pci: disable controller on admin queue IRQ setup failure
tpm: tpm_i2c_nuvoton: disable IRQ on wait timeout
Nam Cao (1):
riscv: unaligned: stop using kthread for check_vector_unaligned_access()
Naman Jain (1):
PCI: hv: Set irq_retrigger callback for the Hyper-V PCI MSI irqchip
Nate Prodromou (1):
NFS: fix delegation_hash_table leak when nfs4_server_common_setup() fails
Nathan Chancellor (1):
arch_numa: avoid false positive fortify warning in setup_node_to_cpumask_map()
NeilBrown (2):
nfsd: ensure nfsd_file_do_acquire() does not use a non-opened file
nfsd: fix possible fh_compose of wrong dentry in nfsd4_create_file()
Neill Kapron (1):
usb: gadget: f_fs: Prevent deadlock during ep0 read loop
Nicolin Chen (1):
iommu/tegra241-cmdqv: Reject a vSID wider than the SID_MATCH field
Nikhil Gurudasani (1):
erofs: skip sufficiently large global buffers when resizing
Niklas Cassel (1):
ata: libata-scsi: fix DSM TRIM for sector sizes larger than 2048 bytes
Nikol Kuklev (1):
nfsd: fix null dereference in nfsd4_setattr for deleg timestamp attrs
Nikolai Grlica (1):
rust: kernel: list: fix incorrect pop_back example comment
Nirmoy Das (1):
ACPI: APEI: Fix ERST timeout unit conversion
Norbert Szetei (4):
RDMA/ucma: Lock the handler in ucma_set_ib_path() RDMA/ucma: Lock the handler in ucma_write_cm_event()
openvswitch: only skb_tx_error() a packet we are about to drop
net: skbuff: don't touch shared zerocopy state in skb_tx_error()
Oleg Nesterov (1):
sysctl: move the "cad_pid" entry from pid_table[] to kern_reboot_table[]
Olga Kornievskaia (1):
lockd: fix NLMv4 GRANTED_MSG handling
Oren Klopfer (1):
Revert "arm64: dts: rockchip: Further describe the WiFi for the Pinephone Pro"
Oscar Ou (1):
lockd: fix swapped arguments in nlmsvc_match_ip()
Pei Xiao (1):
usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition
Peixin Xie (1):
riscv: acpi: Handle LPI architectural context loss flags
Peiyang He (2):
iommu: Fix dev_iommu memory leak when device_add fails in iommu_mock_device_add
iommufd: Fix UAF in selftest IOPF reporting
Pengpeng Hou (1):
eCryptfs: bound the packet-length peek to the user buffer
Peter Ujfalusi (3):
ASoC: tegra210_i2s: sort the register default table
ASoC: tegra210_i2s: sort the Tegra264 register default table
ASoC: tegra210_mixer: sort the register default table
Petr Vaganov (1):
scsi: core: Fill in DMA padding bytes in scsi_alloc_sgtables()
Prasanna Kumar T S M (1):
cdx: Fix double free when sysfs file creation fails
Pratyush Yadav (Google) (1):
kho: fix size calculation in kho_preserved_memory_reserve()
Qing Ming (1):
mpls: reload header after pskb_may_pull()
Qu Wenruo (1):
btrfs: do not overwrite NODATASUM flag when removing NODATACOW flag
Quentin Schulz (2):
arm64: dts: rockchip: fix eMMC reset polarity on PP-1516
arm64: dts: rockchip: fix eMMC reset polarity on PX30 Ringneck
Rafael J. Wysocki (3):
ACPI: scan: Avoid registering platform devices with resource overlaps
ACPI: TAD: Add locking around AML evaluations
ACPI: scan: Do not combine resources that overlap completely
Randy Dunlap (1):
fonts: fixup font.h kernel-doc warnings
Ridong Chen (1):
mm: vmscan: fix node reclaim ignoring swappiness parameter
Robbie Ko (2):
nfsd: reject out-of-range nseconds in NFSv3 SETATTR and create ops
nfsd: reject out-of-range useconds in NFSv2 SETATTR/CREATE
Robin Murphy (1):
iommu/arm-smmu-v3: Add HAFT support for SVA
Roger Pau Monne (1):
x86/xen: fix init of balloon stats again
Ronald Claveau (1):
PCI: meson: Fix GPIO state while requesting PERST#
Runyu Xiao (6):
fbdev: omapfb: panel-dsi-cm: initialize lock before registering display
net: ibm: emac: mal: fix NAPI locking
ALSA: pcxhr: initialize mutexes before requesting threaded IRQ
i3c: master: adi: initialize the lock before enabling interrupts
wifi: rtlwifi: rtl8192du: check QoS TID before indexing tids
wifi: mt76: mt7615: avoid waiting for mac work under the mt76 mutex
Ruoyu Wang (2):
i2c: mxs: fix DMA channel leak on probe error
net: openvswitch: fix nf_connlabels leak in ovs_ct_init
Ryusuke Konishi (1):
nilfs2: fix slab-out-of-bounds in nilfs_direct_propagate after truncation
Samuel Page (1):
fs/ntfs3: fix info-leak on partial LZNT decompress in ni_read_frame()
Sanman Pradhan (1):
hwtracing: hisi_ptt: Propagate DMA reset timeout in trace_start()
Scott Mayhew (1):
NFSD: fix up error returned by write_threads()
Seiji Nishikawa (1):
ipmi: si: Fix NULL pointer dereference after failed registration
Sergey Senozhatsky (2):
zram: set default primary compressor in zram_destroy_comps()
zram: validate deflate params
Shameer Kolothum (1):
iommu/arm-smmu-v3: Manage teardown with devm
Shengming Hu (1):
mm/slub: prevent pfmemalloc objects from entering the barn
Shibo Zhu (1):
PM: sleep: Unblock runtime PM when device prepare fails
Shuai Xue (5):
iommu/amd: Put PCI device after handling PPR faults iommu/sva: Set handle->dev before the SVA handle is visible
iommupt: Return zero for invalid iova_to_phys() ranges
iommufd: Avoid locking internal accesses during unmap
iommufd: Release current IOAS on xa_store() failure
Shuangpeng Bai (2):
btrfs: fix extent map leak in NOCOW direct I/O write
lockd: fix NULL dereference on lockowner allocation failure
Shuvam Pandey (1):
accel/rocket: initialize job domain before cleanup paths
Sonali Pradhan (1):
usb: gadget: u_audio: Fix use-after-free on sound card disconnect
Srinivas Pandruvada (8):
platform/x86: ISST: Add a NULL check for sst_inst[] platform/x86: ISST: Just allow 2 bits for SST feature enable platform/x86: ISST: Use PP level enable mask platform/x86: ISST: Validate logical CPU id and clos id platform/x86: ISST: Validate max level for set feature platform/x86: ISST: Validate parameter for core power state platform/x86: ISST: Validate parameter for frequency and priority platform/x86: ISST: Return error during profile addition
Stanislaw Gruszka (2):
module/kallsyms: fix nextval for data symbol lookup
wifi: rtl818x: initialize eeprom_93cx6 struct to zero
Stefan Haberland (3):
s390/dasd: Do not complete a failed ESE read as successful s390/dasd: Guard sysfs discipline callbacks against unallocated private data s390/dasd: Propagate partial completion length across ERP recovery
Stuart Hayhurst (1):
HID: corsair-void: Check size of status and firmware events before reading them
Takashi Iwai (6):
ALSA: aloop: Check card index validity at probe
ALSA: mpu401: Check card index validity at probe
ALSA: mts64: Check card index validity at probe
ALSA: portman2x4: Check card index validity at probe
ALSA: serial-u16550: Check card index validity at probe
ALSA: virmidi: Check card index validity at probe
TanZheng (1):
ACPI: APEI: GHES: fix ARM section length accounting after header
Tao Cui (1):
sched_ext: Don't BUG_ON a destroyed DSQ in process_deferred_reenq_users
Tejun Heo (9):
sched/core: Handle pick_task() releasing the rq lock sched/core: Make core-sched flips wait for in-flight selections
sched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return
sched_ext: Fix this_rq() assumptions in dispatch kfuncs
sched_ext: Fix rq->core_pick corruption under core scheduling
sched_ext: Count rq lock releases in rq->scx.lock_drop_seq
sched_ext: Fix inverted ops.core_sched_before() invocation
sched_ext: Fix scx_bpf_dsq_reenq___compat kfunc extern prototype
sched_ext: Keep kick_sync waiting on the rq's own CPU
Terry Bowman (3):
cxl/ras: Fix cxl_rch_get_aer_info() out-of-bounds AER register read acpi/apei/ghes: Use raw_spinlock_t for CXL CPER work locks cxl/ras: Fix cxl_rch_get_aer_severity() wrong severity register
Thiébaud Weksteen (1):
module: validate string table section types
Thomas Gleixner (1):
timer: Keep debugobjects state consistent in migrate_timer_list()
Thomas Richard (1):
mfd: cgbc: Fix teardown ordering in cgbc_remove()
Thomas Richter (1):
s390/cpum_cf: Handle CPU hotplug via prepare/dead callbacks
Thomas Weißschuh (Schneider Electric) (1):
timekeeping: Check the return value of tk_get_aux_ts64 in __do_adjtimex()
Thorsten Blum (5):
platform/x86: think-lmi: Fix certificate thumbprint sysfs output platform/x86: think-lmi: Free system certificate signatures platform/x86: think-lmi: Fix current password length check
crypto: atmel-ecc - clean up and improve ECDH comments
crypto: atmel-ecc - avoid stale fallback key after set_secret failure
Tien Sung Ang (1):
fpga: stratix10-soc: Fix SVC mailbox handling during reconfiguration
Tim Harvey (1):
PCI: Add ACS quirk for Pericom PI7C9X2G608 switches [12d8:2608]
Tim Menninger (1):
pNFS: Fix EBUSY check in pnfs_layout_need_return
Tzung-Bi Shih (1):
platform/chrome: sensorhub: Fix dropped timestamp events and log spam
Usama Arif (3):
mm/huge_memory: skip device-private PMDs in madvise_free_huge_pmd mm/madvise: skip device-private PMDs in cold and pageout walks mm/mempolicy: skip non-present PMDs when queueing folios
Vaibhav Nagare (1):
qede: Fix NULL pointer dereference in TPA fragment processing
Valentin Kindschi (2):
Bluetooth: hci_conn: re-enable advertising only for peripheral role
Bluetooth: hci_event: clear HCI_LE_ADV only on a created connection
Vincent Donnefort (6):
ring-buffer: Fix subbuf resize race with ring buffer readers
tracing: Fix logged instance name on creation failure
ring-buffer: Fix subbuf resize race with ring_buffer_alloc_read_page()
ring-buffer: Free cpu_buffer::free_page with subbuf_order
ring-buffer: Hold cpu_buffer::lock when resizing a subbuf
ring-buffer: Make cpu_buffer::free_page a buffer_data_read_page
Vincent Mailhol (1):
lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()
Vineet Gupta (1):
bpf, x86: Fix per-CPU address resolution into an extended register
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
Vlastimil Babka (SUSE) (1):
mm: page_alloc: move capture_control to the page allocator
Weigang He (1):
media: cec: stm32: prevent out-of-bounds write on RX overflow
Weimin Xiong (1):
iommu/msm: Unwind probe state on registration failure
Weiming Shi (2):
sctp: fix NULL deref on untransmitted RECONF completion
xdp: fix zero-copy frame layout
WenTao Liang (3):
clocksource/drivers/nxp-pit: Fix IRQ leak on cpuhp_setup_state error path
regulator: as3722_get_regulator_dt_data: fix premature of_node_put leaving dangling of_node pointer
regulator: max8998_pmic_dt_parse_pdata: of_node_put on reg_np after ownership transferred to rdata
Wentao Guan (1):
wifi: mt76: mt7925: cancel pending mlo_pm_work
Xiang Mei (2):
fs/ntfs3: validate dirty page table on log replay
fuse: copy request headers via a stack buffer for io-uring
Xin Chen (1):
Bluetooth: hci_core: use skb_get() instead of skb_clone() for req_skb
Xingrui Li (1):
HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature
Xiubo Li (2):
ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock
ceph: fix UAF in check_new_map() on session freed during unlock
Xu Rao (5):
usb: typec: hd3ss3220: fix VBUS regulator error message
HID: roccat: free buffered reports when destroying device
power: supply: pf1550: enable charging when battery profile exists
ALSA: hda/ext: preserve PPLCCTL bits when clearing reset
zloop: truncate finished zones to zone capacity
Xu Yang (2):
device property: fix infinite loop in fwnode_for_each_child_node()
usb: typec: tcpci: pass correct rx_type to tcpm_pd_receive()
Xuanqiang Luo (2):
net: ravb: avoid dereferencing an invalid PTP clock
net: ravb: serialize PTP clock teardown
Yao Zi (1):
x86/locking: Use sfence for wmb() if SSE is available
Ye Liu (1):
mm/page_owner: use memcg_data snapshot to avoid TOCTOU in print_page_owner_memcg()
Yehyeong Lee (7):
nvme: zero the discard fallback page
nvme-tcp: do not accept C2HData based on blk_rq_payload_bytes() alone
nvme-tcp: fix host memory disclosure on R2T for a read command
nvme-tcp: reject a read that transferred too few bytes net/smc: bound the peer rkey counts in SMC-Rv2 LLC messages net/smc: carry oversized SMC-Rv2 LLC messages in the queue entry net/smc: fix use-after-free of the LLC qentry in smc_llc_srv_add_link()
Yemu Lu (1):
fat: restore original value when fat_ent_write failed
Yichong Chen (6):
ecryptfs: fix tag 11 packet exact-fit size check
ecryptfs: hold msg ctx list lock when cleaning daemon queue
ecryptfs: pass packet set buffer size to parser
ecryptfs: reject too-small tag 70 packets
ecryptfs: release message context on send failure
ecryptfs: show filename encryption options
Yifei Gao (2):
orangefs: fix double-free of trailer_buf on readdir copy failure
ipmi: Fix use-after-free of cmd_rcvr in _ipmi_destroy_user()
Younes Akhouayri (2):
rust: dma: return zero for Coherent reads past EOF
rust: num: restrict bool conversion to unsigned Bounded
Youngjae Kwon (1):
fsnotify: Fix stale object mask after concurrent mark updates
Youngjun Park (1):
mm, swap: don't free a hibernation slot that is in the swap cache
Yousef Alhouseen (1):
ipmi: ipmb: validate write message length
Yuhang Pan (1):
RDMA/uverbs: Guard legacy bundles without method_elm
Yuhang.chen (1):
wifi: rtw89: pci: add .shutdown callback to stop rfkill polling on reboot
Yuho Choi (1):
ipmi: Remove all sysfs files on registration failure
Yun Zhou (1):
usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()
Yunye Zhao (1):
md/raid10: fix still_degraded being inverted in raid10_sync_request()
Yuqi Xu (1):
openvswitch: Fix CT limit teardown use-after-free
Yuyang Huang (1):
ipv6: use RCU iterator to dump route exceptions
Zhan Xusheng (2):
ocfs2: fix readdir position truncation on 32-bit kernels
udf: Fix i_lenExtents truncation on 32-bit kernels
Zhang Heng (1):
ALSA: hda/realtek: Fix Lenovo Yoga Slim 7 14AKP10 quirk ordering
ZhaoJinming (1):
accel/rocket: Fix error path handling in rocket_job_run()
Zhenghang Xiao (1):
nfsd: set SC_STATUS_FREED in nfsd4_drop_revoked_stid for delegations
Zhenhao Wan (1):
cxl/features: bound fwctl command payload to the input buffer
Zhiling Zou (6):
ip: orphan prefetched skbs before multicast forwarding
ip6_tunnel: use skb_cow_head() in ip6_tnl_xmit()
ip6_gre: fix hardware header length for NBMA tunnels
orangefs: skip leading spaces before parsing client debug masks
net: cap advertised IP tunnel headroom
seg6: reset IP6CB after IPv6 decapsulation
Zi Yan (2):
mm/huge_memory: use folio's memcg inside __folio_split()
xarray: honor XA_FLAGS_ACCOUNT in xas_split_alloc()
Zihan Xi (1):
net: l2tp: do not propagate multicast notification errors
fangqiurong (2):
sched_ext: Fix scx_bpf_dsq_move_to_local___v2 compat detection
sched_ext: Fix exit_task leak on fork failure during enable
liyouhong (1):
dm-era: fix shadowed superblock leak on take-snap failure
胡连勤 (1):
block: set QUEUE_FLAG_DYING unconditionally in blk_mark_disk_dead()
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-bus-nvdimm +2 -1
@@ -48,7 +48,8 @@ What: /sys/bus/nd/devices/nmemX/cxl/id Date: November 2022 KernelVersion: 6.2 Contact: Dave Jiang <[email protected]> -Description: (RO) Show the id (serial) of the device. This is CXL specific. +Description: (RO) Show the id (serial) of the device, formatted as an + unsigned 64-bit decimal value. This is CXL specific. What: /sys/bus/nd/devices/nmemX/cxl/provider Date: November 2022
Documentation/admin-guide/blockdev/zoned_loop.rst +4 -5
@@ -30,11 +30,10 @@ indicates the position of the write pointer of the zone. When resetting a sequential zone, its backing file size is truncated to zero. Conversely, for a zone finish operation, the backing file is truncated to the -zone size. With this, the maximum capacity of a zloop zoned block device created -can be larger configured to be larger than the storage space available on the -backing file system. Of course, for such configuration, writing more data than -the storage space available on the backing file system will result in write -errors. +zone capacity. With this, a zloop zoned block device can be configured with a +larger capacity than the storage space available on the backing file system. Of +course, for such configuration, writing more data than the storage space +available on the backing file system will result in write errors. The zoned loop block device driver implements a complete zone transition state machine. That is, zones can be empty, implicitly opened, explicitly opened,
Makefile +13 -2
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 7 PATCHLEVEL = 2 -SUBLEVEL = 3 +SUBLEVEL = 4 EXTRAVERSION = NAME = Baby Opossum Posse
@@ -1083,6 +1083,16 @@ endif export CC_FLAGS_SCS endif +ifdef CONFIG_RUST_INLINE_HELPERS +# `rustc` normally emits traps for unreachable paths during code generation. +# With inline helpers, Clang performs code generation from the linked bitcode +# instead, so request the same behavior explicitly. Otherwise `objtool` may +# follow an impossible Rust path into the next function. +CC_FLAGS_RUST_INLINE_HELPERS := -mllvm -trap-unreachable \ + -mllvm -no-trap-after-noreturn +export CC_FLAGS_RUST_INLINE_HELPERS +endif + ifdef CONFIG_LTO_CLANG ifdef CONFIG_LTO_CLANG_FULL CC_FLAGS_LTO := -flto
@@ -1118,7 +1128,8 @@ endif ifdef CONFIG_RUST # Always pass -Zsanitizer-cfi-normalize-integers as CONFIG_RUST selects # CONFIG_CFI_ICALL_NORMALIZE_INTEGERS. - RUSTC_FLAGS_CFI := -Zsanitizer=kcfi -Zsanitizer-cfi-normalize-integers + # Disable function merging as LLVM incorrectly merges functions with different KCFI types. + RUSTC_FLAGS_CFI := -Zsanitizer=kcfi -Zsanitizer-cfi-normalize-integers -Zmerge-functions=disabled KBUILD_RUSTFLAGS += $(RUSTC_FLAGS_CFI) export RUSTC_FLAGS_CFI endif
arch/alpha/include/uapi/asm/fpu.h +6 -2
@@ -101,7 +101,12 @@ ieee_swcr_to_fpcr(unsigned long sw) | IEEE_TRAP_ENABLE_OVF)) << 48; fp |= (~sw & (IEEE_TRAP_ENABLE_UNF |IEEE_TRAP_ENABLE_INE )) <<57 ; fp |= (sw &IEEE_MAP_UMZ ?FPCR_UNDZ |FPCR_UNFD :0 ); - fp |= (~sw &IEEE_TRAP_ENABLE_DNO ) <<41 ; +/* +* Disable denormal operand traps only when denormal inputs are to be +* flushed to zero. Otherwise they must keep trapping, so that /S +* instructions reach the kernel emulation handler. +*/ + fp |= (sw &IEEE_MAP_DMZ ?FPCR_DNOD :0 );return fp; }
@@ -116,7 +121,6 @@ ieee_fpcr_to_swcr(unsigned long fp) | IEEE_TRAP_ENABLE_OVF); sw |= (~fp >>57 ) & (IEEE_TRAP_ENABLE_UNF |IEEE_TRAP_ENABLE_INE ); sw |= (fp >>47 ) &IEEE_MAP_UMZ ; - sw |= (~fp >>41 ) &IEEE_TRAP_ENABLE_DNO ;return sw; }
arch/alpha/kernel/pci-sysfs.c +3 -3
@@ -224,17 +224,17 @@ int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, size_t size)switch (size) {case 1 : -outb (port, val); +outb (val, port);return 1 ;case 2 :if (port &1 )return -EINVAL ; -outw (port, val); +outw (val, port);return 2 ;case 4 :if (port &3 )return -EINVAL ; -outl (port, val); +outl (val, port);return 4 ; }return -EINVAL ;
arch/alpha/kernel/sys_marvel.c +12 -13
@@ -263,6 +263,18 @@ init_io7_irqs(struct io7 *io7,*/ printk (" Interrupts reported to CPU at PE %u\n" , boot_cpuid); +/* Set up the lsi irqs. */ +for (i =0 ; i <128 ; ++i) { +irq_set_chip_and_handler (base + i, lsi_ops, handle_level_irq); +irq_set_status_flags (base + i,IRQ_LEVEL ); + } + +/* Set up the msi irqs. */ +for (i =128 ; i < (128 +512 ); ++i) { +irq_set_chip_and_handler (base + i, msi_ops, handle_level_irq); +irq_set_status_flags (base + i,IRQ_LEVEL ); + } +raw_spin_lock (&io7->irq_lock);/* set up the error irqs */
@@ -272,12 +284,6 @@ init_io7_irqs(struct io7 *io7,io7_redirect_irq (io7, &io7->csrs->STV_CTL.csr, boot_cpuid);io7_redirect_irq (io7, &io7->csrs->HEI_CTL.csr, boot_cpuid); -/* Set up the lsi irqs. */ -for (i =0 ; i <128 ; ++i) { -irq_set_chip_and_handler (base + i, lsi_ops, handle_level_irq); -irq_set_status_flags (i,IRQ_LEVEL ); - } -/* Disable the implemented irqs in hardware. */ for (i =0 ; i <0x60 ; ++i)init_one_io7_lsi (io7, i, boot_cpuid);
@@ -285,13 +291,6 @@ init_io7_irqs(struct io7 *io7,init_one_io7_lsi (io7,0x74 , boot_cpuid);init_one_io7_lsi (io7,0x75 , boot_cpuid); - -/* Set up the msi irqs. */ -for (i =128 ; i < (128 +512 ); ++i) { -irq_set_chip_and_handler (base + i, msi_ops, handle_level_irq); -irq_set_status_flags (i,IRQ_LEVEL ); - } -for (i =0 ; i <16 ; ++i)init_one_io7_msi (io7, i, boot_cpuid);
arch/alpha/kernel/traps.c +3 -3
@@ -166,12 +166,12 @@ static long dummy_emul(void) { return 0; }long (*alpha_fp_emul_imprecise)(struct pt_regs *regs,unsigned long writemask) = (void *)dummy_emul;EXPORT_SYMBOL_GPL (alpha_fp_emul_imprecise); -long (*alpha_fp_emul) (unsigned long pc) +long (*alpha_fp_emul) (unsigned long pc,unsigned long summary) = (void *)dummy_emul;EXPORT_SYMBOL_GPL (alpha_fp_emul);#else long alpha_fp_emul_imprecise (struct pt_regs *regs,unsigned long writemask); -long alpha_fp_emul (unsigned long pc); +long alpha_fp_emul (unsigned long pc,unsigned long summary);#endif asmlinkage void
@@ -185,7 +185,7 @@ do_entArith(unsigned long summary, unsigned long write_mask,emulate the instruction. If the processor supports precise exceptions, we don't have to search. */ if (!amask (AMASK_PRECISE_TRAP )) - si_code =alpha_fp_emul (regs->pc -4 ); + si_code =alpha_fp_emul (regs->pc -4 , summary);else si_code =alpha_fp_emul_imprecise (regs, write_mask);if (si_code ==0 )
arch/alpha/math-emu/math.c +77 -11
125 lines not on this page · raw message
arch/arm/Kconfig +1 -1
@@ -98,7 +98,7 @@ config ARM select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_TRANSPARENT_HUGEPAGE if ARM_LPAE select HAVE_ARM_SMCCC if CPU_V7 - select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32 + select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32 && !CPU_32v3 select HAVE_CONTEXT_TRACKING_USER select HAVE_C_RECORDMCOUNT select HAVE_BUILDTIME_MCOUNT_SORT
arch/arm64/boot/dts/qcom/kodiak.dtsi +6 -3
@@ -191,9 +191,12 @@ rmtfs_mem: rmtfs@9c900000 { qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; }; - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@9cb80000 { - reg = <0x0 0x9cb80000 0x0 0x800000>; - no-map; + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x80000000 0x0 0x80000000>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x800000>; }; };
arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts +1 -1
@@ -151,7 +151,7 @@ touchscreen@14 { interrupts-extended = <&tlmm 80 IRQ_TYPE_LEVEL_LOW>; - irq-gpios = <&tlmm 80 IRQ_TYPE_LEVEL_LOW>; + irq-gpios = <&tlmm 80 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 71 GPIO_ACTIVE_HIGH>; AVDD28-supply = <&ts_vdd_supply>; VDDIO-supply = <&ts_vddio_supply>;
arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi +2 -0
@@ -589,6 +589,7 @@ vreg_l12b_1p2: ldo12 { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; vreg_l13b_3p0: ldo13 {
@@ -610,6 +611,7 @@ vreg_l15b_1p8: ldo15 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-always-on; }; };
arch/arm64/boot/dts/rockchip/px30-cobra.dtsi +1 -1
@@ -35,7 +35,7 @@ emmc_pwrseq: emmc-pwrseq { compatible = "mmc-pwrseq-emmc"; pinctrl-0 = <&emmc_reset>; pinctrl-names = "default"; - reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>; }; gpio-leds {
arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi +1 -1
@@ -33,7 +33,7 @@ emmc_pwrseq: emmc-pwrseq { compatible = "mmc-pwrseq-emmc"; pinctrl-0 = <&emmc_reset>; pinctrl-names = "default"; - reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>; }; gpio-leds {
arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi +1 -1
@@ -26,7 +26,7 @@ emmc_pwrseq: emmc-pwrseq { compatible = "mmc-pwrseq-emmc"; pinctrl-0 = <&emmc_reset>; pinctrl-names = "default"; - reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_LOW>; }; leds {
arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts +0 -18
@@ -734,12 +734,6 @@ light_int_l: light-int-l { }; }; - wifi { - wifi_host_wake_l: wifi-host-wake-l { - rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; - }; - }; - wireless-bluetooth { bt_wake_pin: bt-wake-pin { rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -766,19 +760,7 @@ &sdio0 { pinctrl-names = "default"; pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; sd-uhs-sdr104; - #address-cells = <1>; - #size-cells = <0>; status = "okay"; - - brcmf: wifi@1 { - compatible = "brcm,bcm4329-fmac"; - reg = <1>; - interrupt-parent = <&gpio4>; - interrupts = <RK_PD0 IRQ_TYPE_LEVEL_HIGH>; - interrupt-names = "host-wake"; - pinctrl-names = "default"; - pinctrl-0 = <&wifi_host_wake_l>; - }; }; &pwm0 {
arch/arm64/boot/dts/rockchip/rk3399-roc-pc-plus.dts +12 -0
@@ -136,6 +136,18 @@ &i2s0_8ch_bus { <3 RK_PD7 1 &pcfg_pull_none>; }; +&i2s0_8ch_bus_bclk_off { + rockchip,pins = + <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, + <3 RK_PD1 1 &pcfg_pull_none>, + <3 RK_PD2 1 &pcfg_pull_none>, + <3 RK_PD3 1 &pcfg_pull_none>, + <3 RK_PD4 1 &pcfg_pull_none>, + <3 RK_PD5 1 &pcfg_pull_none>, + <3 RK_PD6 1 &pcfg_pull_none>, + <3 RK_PD7 1 &pcfg_pull_none>; +}; + &i2s1 { pinctrl-names = "default"; pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
arch/arm64/boot/dts/rockchip/rk3588s-roc-pc.dts +16 -7
@@ -23,16 +23,19 @@ analog-sound { compatible = "simple-audio-card"; pinctrl-names = "default"; pinctrl-0 = <&hp_detect>; + simple-audio-card,aux-devs = <&headphones_amp>; simple-audio-card,name = "rockchip,es8388"; - simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,bitclock-master = <&cpudai>; simple-audio-card,format = "i2s"; - simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,frame-master = <&cpudai>; simple-audio-card,hp-det-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; simple-audio-card,mclk-fs = <256>; simple-audio-card,pin-switches = "Headphones"; simple-audio-card,routing = - "Headphones", "LOUT1", - "Headphones", "ROUT1", + "Headphones", "Headphone Amp OUTL", + "Headphones", "Headphone Amp OUTR", + "Headphone Amp INL", "LOUT2", + "Headphone Amp INR", "ROUT2", "LINPUT1", "Microphone Jack", "RINPUT1", "Microphone Jack", "LINPUT2", "Onboard Microphone",
@@ -47,11 +50,17 @@ masterdai: simple-audio-card,codec { system-clock-frequency = <12288000>; }; - simple-audio-card,cpu { + cpudai: simple-audio-card,cpu { sound-dai = <&i2s0_8ch>; }; }; + headphones_amp: audio-amplifier-headphones { + compatible = "simple-audio-amplifier"; + enable-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; + sound-name-prefix = "Headphone Amp"; + }; + chosen { stdout-path = "serial2:1500000n8"; };
@@ -327,12 +336,12 @@ &i2c3 { es8388: audio-codec@11 { compatible = "everest,es8388", "everest,es8328"; reg = <0x11>; - clocks = <&cru I2S1_8CH_MCLKOUT>; + clocks = <&cru I2S0_8CH_MCLKOUT>; AVDD-supply = <&vcc_3v3_s0>; DVDD-supply = <&vcc_1v8_s0>; HPVDD-supply = <&vcc_3v3_s0>; PVDD-supply = <&vcc_3v3_s0>; - assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; + assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; assigned-clock-rates = <12288000>; #sound-dai-cells = <0>; };
arch/arm64/kernel/compat_alignment.c +2 -2
@@ -114,8 +114,8 @@ do_alignment_ldrdstrd(unsigned long addr, u32 instr, struct pt_regs *regs)static int do_alignment_ldmstm (unsigned long addr,u32 instr,struct pt_regs *regs) { -unsigned int rd, rn, nr_regs, regbits; -unsigned long eaddr, newaddr; +unsigned int rd, rn, regbits; +unsigned long eaddr, newaddr, nr_regs;unsigned int val;/* count the number of registers in the mask to be transferred */
arch/arm64/kernel/proton-pack.c +8 -1
@@ -1023,6 +1023,11 @@ static int __init parse_spectre_bhb_param(char *str) }early_param ("nospectre_bhb" , parse_spectre_bhb_param); +static bool spectre_bhb_mitigations_off (void ) +{ +return __nospectre_bhb ||cpu_mitigations_off (); +} +void spectre_bhb_enable_mitigation (const struct arm64_cpu_capabilities *entry) {bp_hardening_cb_t cpu_cb;
@@ -1036,6 +1041,8 @@ void spectre_bhb_enable_mitigation(const struct arm64_cpu_capabilities *entry)/* No point mitigating Spectre-BHB alone. */ }else if (!IS_ENABLED (CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY )) {/* Do nothing */ + }else if (spectre_bhb_mitigations_off ()) { +/* Mitigation disabled on the command line */ }else if (supports_ecbhb (SCOPE_LOCAL_CPU )) { state =SPECTRE_MITIGATED ;set_bit (BHB_HW , &system_bhb_mitigations);
@@ -1201,6 +1208,6 @@ void spectre_print_disabled_mitigations(void)if (spectre_v4_mitigations_off ())pr_info ("spectre-v4 %s" , spectre_disabled_suffix); -if (__nospectre_bhb ||cpu_mitigations_off ()) +if (spectre_bhb_mitigations_off ())pr_info ("spectre-bhb %s" , spectre_disabled_suffix); }
arch/arm64/kvm/vgic/vgic-v2.c +2 -1
@@ -170,8 +170,9 @@ void vgic_v2_deactivate(struct kvm_vcpu *vcpu, u32 val)/* Make sure we're in the same context as LR handling */ local_irq_save (flags); +/* Guest-supplied INTID: out of range yields no irq, so ignore it */ irq =vgic_get_vcpu_irq (vcpu, val); -if (WARN_ON_ONCE (!irq)) +if (!irq) goto out;/* See the corresponding v3 code for the rationale */
arch/openrisc/kernel/entry.S +39 -4
54 lines not on this page · raw message
arch/powerpc/kernel/pci-common.c +2 -7
@@ -626,19 +626,14 @@ int pci_legacy_write(struct pci_bus *bus, loff_t port, u32 val, size_t size)return -ENXIO ; addr = hose->io_base_virt + port; -/* WARNING: The generic code is idiotic. It gets passed a pointer -* to what can be a 1, 2 or 4 byte quantity and always reads that -* as a u32, which means that we have to correct the location of -* the data read within those 32 bits for size 1 and 2 -*/ switch (size) {case 1 : -out_8 (addr, val >>24 ); +out_8 (addr, val);return 1 ;case 2 :if (port &1 )return -EINVAL ; -out_le16 (addr, val >>16 ); +out_le16 (addr, val);return 2 ;case 4 :if (port &3 )
arch/powerpc/platforms/powermac/low_i2c.c +1 -1
@@ -1471,7 +1471,7 @@ static int __init pmac_i2c_create_platform_devices(void)if (bus->platform_dev ==NULL )return -ENOMEM ; bus->platform_dev->dev.platform_data = bus; - bus->platform_dev->dev.of_node = bus->busnode; + bus->platform_dev->dev.of_node =of_node_get (bus->busnode);platform_device_add (bus->platform_dev); }
arch/powerpc/platforms/pseries/iommu.c +12 -11
@@ -812,18 +812,11 @@ static struct device_node *pci_dma_find(struct device_node *dn,/* parse DMA window property. During normal system boot, only default * DMA window is passed in OF. But, for kdump, a dedicated adapter might -* have both default and DDW in FDT. In this scenario, DDW takes precedence -* over default window. +* have both default and DDW in FDT. In this scenario, default window +* takes precedence over DDW. For a dedicated adapter, default window will +* potentially have more unused TCEs. */ -if (ddw_win) { -struct dynamic_dma_window_prop *p; - - p = (struct dynamic_dma_window_prop *)ddw_prop; - prop->liobn = p->liobn; - prop->dma_base = p->dma_base; - prop->tce_shift = p->tce_shift; - prop->window_shift = p->window_shift; - }else if (default_win) { +if (default_win) {unsigned long offset, size, liobn;of_parse_dma_window (rdn, default_prop, &liobn, &offset, &size);
@@ -832,6 +825,14 @@ static struct device_node *pci_dma_find(struct device_node *dn, prop->dma_base =cpu_to_be64 (offset); prop->tce_shift =cpu_to_be32 (IOMMU_PAGE_SHIFT_4K ); prop->window_shift =cpu_to_be32 (order_base_2 (size)); + }else { +struct dynamic_dma_window_prop *p; + + p = (struct dynamic_dma_window_prop *)ddw_prop; + prop->liobn = p->liobn; + prop->dma_base = p->dma_base; + prop->tce_shift = p->tce_shift; + prop->window_shift = p->window_shift; }return rdn;
arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts +2 -2
@@ -204,14 +204,14 @@ pmic@41 { regulators { buck1 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; };
arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts +2 -2
@@ -211,14 +211,14 @@ pmic@41 { regulators { buck1 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; };
arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts +2 -2
@@ -180,14 +180,14 @@ pmic@41 { regulators { buck1 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; };
arch/riscv/boot/dts/spacemit/k1-orangepi-r2s.dts +2 -2
@@ -126,14 +126,14 @@ pmic@41 { regulators { buck1 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; };
arch/riscv/boot/dts/spacemit/k1-orangepi-rv2.dts +2 -2
@@ -164,14 +164,14 @@ pmic@41 { regulators { buck1 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; - regulator-max-microvolt = <3450000>; + regulator-max-microvolt = <1050000>; regulator-ramp-delay = <5000>; regulator-always-on; };
arch/riscv/include/asm/acpi.h +19 -0
@@ -12,6 +12,8 @@#ifndef _ASM_ACPI_H#define _ASM_ACPI_H +#include <linux/cpuidle.h> +/* Basic configuration for ACPI */ #ifdef CONFIG_ACPI
@@ -67,6 +69,23 @@ int acpi_get_riscv_isa(struct acpi_table_header *table,void acpi_get_cbo_block_size (struct acpi_table_header *table,u32 *cbom_size,u32 *cboz_size,u32 *cbop_size); + +/* +* RISC-V Functional Fixed Hardware Specification Version v1.0.1, +* Chapter 3.1.2, Table 4: Arch. Context Lost Flags +*/ +#define RISCV_LPI_HART_TIMER_CTXT_LOST BIT(0) + +static inline unsigned int arch_get_idle_state_flags (u32 arch_flags) +{ +if (arch_flags &RISCV_LPI_HART_TIMER_CTXT_LOST ) +return CPUIDLE_FLAG_TIMER_STOP ; + +return 0 ; +} + +#define arch_get_idle_state_flags arch_get_idle_state_flags +#else static inline void acpi_init_rintc_map (void ) { }static inline struct acpi_madt_rintc *acpi_cpu_get_madt_rintc (int cpu)
arch/riscv/kernel/unaligned_access_speed.c +2 -17
@@ -6,7 +6,6 @@#include <linux/cpu.h> #include <linux/cpumask.h> #include <linux/jump_label.h> -#include <linux/kthread.h> #include <linux/mm.h> #include <linux/smp.h> #include <linux/types.h>
@@ -288,18 +287,9 @@ static void check_vector_unaligned_access(struct work_struct *work __always_unus __free_pages(page, MISALIGNED_BUFFER_ORDER); } -/* Measure unaligned access speed on all CPUs present at boot in parallel. */ -static int vec_check_unaligned_access_speed_all_cpus (void *unused__always_unused ) -{ -schedule_on_each_cpu (check_vector_unaligned_access); -riscv_hwprobe_complete_async_probe (); - -return 0 ; -}#else /* CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS */ -static int vec_check_unaligned_access_speed_all_cpus (void *unused__always_unused ) +static void check_vector_unaligned_access (struct work_struct *work__always_unused ) { -return 0 ; }#endif
@@ -387,12 +377,7 @@ static int __init check_unaligned_access_all_cpus(void)per_cpu (vector_misaligned_access, cpu) = unaligned_vector_speed_param; }else if (!check_vector_unaligned_access_emulated_all_cpus () &&IS_ENABLED (CONFIG_RISCV_PROBE_VECTOR_UNALIGNED_ACCESS )) { -riscv_hwprobe_register_async_probe (); -if (IS_ERR (kthread_run (vec_check_unaligned_access_speed_all_cpus, -NULL ,"vec_check_unaligned_access_speed_all_cpus" ))) { -pr_warn ("Failed to create vec_unalign_check kthread\n" ); -riscv_hwprobe_complete_async_probe (); - } +schedule_on_each_cpu (check_vector_unaligned_access); }/*
arch/riscv/kvm/vcpu_pmu.c +9 -5
@@ -12,7 +12,9 @@#include <linux/err.h> #include <linux/kvm_host.h> #include <linux/nospec.h> +#include <linux/overflow.h> #include <linux/perf/riscv_pmu.h> +#include <linux/slab.h> #include <asm/csr.h> #include <asm/kvm_isa.h> #include <asm/kvm_vcpu_sbi.h>
@@ -479,13 +481,14 @@ int kvm_riscv_vcpu_pmu_event_info(struct kvm_vcpu *vcpu, unsigned long saddr_low unsigned long flags, struct kvm_vcpu_sbi_return *retdata) { struct riscv_pmu_event_info *einfo = NULL; -int shmem_size = num_events *sizeof (*einfo); +size_t shmem_size;gpa_t shmem;u32 eidx, etype;u64 econfig;int ret; -if (flags !=0 || (saddr_low & (SZ_16 -1 ) || num_events ==0 )) { +if (flags !=0 || (saddr_low & (SZ_16 -1 )) || num_events ==0 || +check_mul_overflow (num_events,sizeof (*einfo), &shmem_size)) { ret =SBI_ERR_INVALID_PARAM ; goto out; }
@@ -500,7 +503,8 @@ int kvm_riscv_vcpu_pmu_event_info(struct kvm_vcpu *vcpu, unsigned long saddr_low } } - einfo =kzalloc (shmem_size,GFP_KERNEL ); + einfo =kvcalloc (num_events,sizeof (*einfo), +GFP_KERNEL_ACCOUNT | __GFP_NOWARN);if (!einfo) { ret =SBI_ERR_FAILURE ; goto out;
@@ -512,7 +516,7 @@ int kvm_riscv_vcpu_pmu_event_info(struct kvm_vcpu *vcpu, unsigned long saddr_low goto free_mem; } -for (int i =0 ; i < num_events; i++) { +for (unsigned long i =0 ; i < num_events; i++) { eidx = einfo[i].event_idx; etype =kvm_pmu_get_perf_event_type (eidx); econfig =kvm_pmu_get_perf_event_config (eidx, einfo[i].event_data);
@@ -525,7 +529,7 @@ int kvm_riscv_vcpu_pmu_event_info(struct kvm_vcpu *vcpu, unsigned long saddr_low ret =SBI_ERR_INVALID_ADDRESS ; free_mem: -kfree (einfo); +kvfree (einfo); out: retdata->err_val = ret;
arch/s390/include/asm/percpu.h +2 -2
@@ -107,8 +107,8 @@" .endif\n" \".endr\n" \".endm\n" \ - ALTERNATIVE("GEN_MVIY " __stringify(disp) " " __stringify(reg) "\n", \ - "GEN_MVIY " __stringify(dispalt) " " __stringify(reg) "\n", \ +ALTERNATIVE ("GEN_MVIY " disp", " reg"\n" , \ +"GEN_MVIY " dispalt", " reg"\n" , \ ALT_FEATURE(MFEATURE_LOWCORE)) \".purgem GEN_MVIY\n"
arch/s390/kernel/perf_cpum_cf.c +142 -73
400 lines not on this page · raw message
arch/x86/coco/tdx/tdx.c +4 -6
@@ -694,8 +694,8 @@ static bool handle_in(struct pt_regs *regs, int size, int port) .r13 = PORT_READ, .r14 = port, }; -u64 mask =GENMASK (BITS_PER_BYTE * size,0 );bool success; +u64 val;/* * Emulate the I/O read via hypercall. More info about ABI can be found
@@ -703,18 +703,16 @@ static bool handle_in(struct pt_regs *regs, int size, int port)* "TDG.VP.VMCALL<Instruction.IO>". */ success = !__tdx_hypercall (&args); + val = success ? args.r11 :0 ; -/* Update part of the register affected by the emulated instruction */ - regs->ax &= ~mask; -if (success) - regs->ax |= args.r11 & mask; +insn_assign_reg (®s->ax, val, size);return success; }static bool handle_out (struct pt_regs *regs,int size,int port) { -u64 mask =GENMASK (BITS_PER_BYTE * size,0 ); +u64 mask =GENMASK (BITS_PER_BYTE * size -1 ,0 );/* * Emulate the I/O write via hypercall. More info about ABI can be found
arch/x86/include/asm/barrier.h +1 -1
@@ -17,7 +17,7 @@#define rmb () asm volatile(ALTERNATIVE("lock addl $0,-4(%%esp)", "lfence", \ X86_FEATURE_XMM2) ::: "memory", "cc")#define wmb () asm volatile(ALTERNATIVE("lock addl $0,-4(%%esp)", "sfence", \ - X86_FEATURE_XMM2) ::: "memory", "cc") + X86_FEATURE_XMM) ::: "memory", "cc")#else #define __mb () asm volatile("mfence":::"memory")#define __rmb () asm volatile("lfence":::"memory")
arch/x86/include/asm/insn-eval.h +36 -0
@@ -9,6 +9,7 @@#include <linux/compiler.h> #include <linux/bug.h> #include <linux/err.h> +#include <asm/insn.h> #include <asm/ptrace.h> #define INSN_CODE_SEG_ADDR_SZ (params) ((params >> 4) & 0xf)
@@ -46,4 +47,39 @@ enum insn_mmio_type insn_decode_mmio(struct insn *insn, int *bytes);bool insn_is_nop (struct insn *insn); +/* +* Write @val into *@reg following the x86 rules for writes to +* general-purpose registers (Intel SDM Vol. 1, "General-Purpose +* Registers in 64-Bit Mode"): an 8- or 16-bit write leaves the rest of +* the register untouched, a 32-bit write zero-extends the result into +* the upper 32 bits, and a 64-bit write replaces the whole register. +* +* @bytes is the width of the write, not a property of the instruction: +* an instruction that, say, sign-extends a 32-bit immediate into a +* 64-bit register does a 64-bit write here. +* +* @reg need not be 8-byte aligned: KVM's instruction emulator offsets +* the pointer by one byte to address the high-byte registers (AH, CH, +* DH, BH). Use narrow stores for the sub-word cases so the access +* width matches @bytes and the adjacent bytes are left alone. +*/ +static inline void insn_assign_reg (unsigned long *reg,u64 val,int bytes) +{ +switch (bytes) { +case 1 : + *(u8 *)reg = (u8 )val; +break ; +case 2 : + *(u16 *)reg = (u16 )val; +break ; +case 4 : +/* A 32-bit write zero-extends into the upper 32 bits. */ + *reg = (u32 )val; +break ; +case 8 : + *reg = val; +break ; + } +} +#endif /* _ASM_X86_INSN_EVAL_H */
arch/x86/kvm/emulate.c +4 -22
@@ -24,6 +24,7 @@#include "kvm_emulate.h" #include <linux/stringify.h> #include <asm/debugreg.h> +#include <asm/insn-eval.h> #include <asm/nospec-branch.h> #include <asm/ibt.h> #include <asm/text-patching.h>
@@ -439,25 +440,6 @@ static void assign_masked(ulong *dest, ulong src, ulong mask) *dest = (*dest & ~mask) | (src & mask); } -static void assign_register (unsigned long *reg,u64 val,int bytes) -{ -/* The 4-byte case *is* correct: in 64-bit mode we zero-extend. */ -switch (bytes) { -case 1 : - *(u8 *)reg = (u8 )val; -break ; -case 2 : - *(u16 *)reg = (u16 )val; -break ; -case 4 : - *reg = (u32 )val; -break ;/* 64b: zero-extend */ -case 8 : - *reg = val; -break ; - } -} -static inline unsigned long ad_mask (struct x86_emulate_ctxt *ctxt) {return (1UL << (ctxt->ad_bytes <<3 )) -1 ;
@@ -505,7 +487,7 @@ register_address_increment(struct x86_emulate_ctxt *ctxt, int reg, int inc) {ulong *preg =reg_rmw (ctxt, reg); -assign_register (preg, *preg + inc, ctxt->ad_bytes); +insn_assign_reg (preg, *preg + inc, ctxt->ad_bytes); }static void rsp_increment (struct x86_emulate_ctxt *ctxt,int inc)
@@ -1767,7 +1749,7 @@ static int load_segment_descriptor(struct x86_emulate_ctxt *ctxt,static void write_register_operand (struct operand *op) { -return assign_register (op->addr.reg, op->val, op->bytes); +return insn_assign_reg (op->addr.reg, op->val, op->bytes); }static int writeback (struct x86_emulate_ctxt *ctxt,struct operand *op)
@@ -2008,7 +1990,7 @@ static int em_popa(struct x86_emulate_ctxt *ctxt) rc =emulate_pop (ctxt, &val, ctxt->op_bytes);if (rc !=X86EMUL_CONTINUE )break ; -assign_register (reg_rmw (ctxt, reg), val, ctxt->op_bytes); +insn_assign_reg (reg_rmw (ctxt, reg), val, ctxt->op_bytes); --reg; }return rc;
arch/x86/net/bpf_jit_comp.c +1 -1
@@ -1887,7 +1887,7 @@ static int do_jit(struct bpf_verifier_env *env, struct bpf_prog *bpf_prog, int *EMIT_mov (dst_reg, src_reg);#ifdef CONFIG_SMP /* add <dst>, gs:[<off>] */ -EMIT2 (0x65 ,add_1mod (0x48 , dst_reg)); +EMIT2 (0x65 ,add_2mod (0x48 ,0 , dst_reg));EMIT3 (0x03 ,add_2reg (0x04 ,0 , dst_reg),0x25 );EMIT ((u32 )(unsigned long )&this_cpu_off,4 );#endif
block/bio.c +53 -3
91 lines not on this page · raw message
block/blk-map.c +1 -1
@@ -274,7 +274,7 @@ static int bio_map_user_iov(struct request *rq, struct iov_iter *iter,* No alignment requirements on our part to support arbitrary * passthrough commands. */ - ret =bio_iov_iter_get_pages (bio, iter,0 ); + ret =bio_iov_iter_get_pages (bio, iter,0 ,0 );if (ret) goto out_put; ret =blk_rq_append_bio (rq, bio);
block/fops.c +1 -1
@@ -46,7 +46,7 @@ static bool blkdev_dio_invalid(struct block_device *bdev, struct kiocb *iocb,static inline int blkdev_iov_iter_get_pages (struct bio *bio,struct iov_iter *iter,struct block_device *bdev) { -return bio_iov_iter_get_pages (bio, iter, +return bio_iov_iter_get_pages (bio, iter,bdev_dma_alignment (bdev),bdev_logical_block_size (bdev) -1 ); }
block/genhd.c +1 -0
@@ -681,6 +681,7 @@ static bool __blk_mark_disk_dead(struct gendisk *disk)*/ void blk_mark_disk_dead (struct gendisk *disk) { +blk_queue_flag_set (QUEUE_FLAG_DYING , disk->queue);__blk_mark_disk_dead (disk);blk_report_disk_dead (disk, true); }
drivers/accel/rocket/rocket_job.c +23 -9
@@ -8,6 +8,7 @@#include <drm/drm_gem.h> #include <drm/rocket_accel.h> #include <linux/interrupt.h> +#include <linux/overflow.h> #include <linux/iommu.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h>
@@ -102,6 +103,7 @@ rocket_copy_tasks(struct drm_device *dev, fail:kvfree (rjob->tasks); + rjob->tasks =NULL ;return ret; }
@@ -188,14 +190,19 @@ static int rocket_job_push(struct rocket_job *job)struct rocket_device *rdev = job->rdev;struct drm_gem_object **bos;struct ww_acquire_ctx acquire_ctx; +u32 bo_count;int ret =0 ; - bos =kvmalloc_array (job->in_bo_count + job->out_bo_count,sizeof (void *), -GFP_KERNEL ); +if (check_add_overflow (job->in_bo_count, job->out_bo_count, &bo_count)) +return -EINVAL ; + + bos =kvmalloc_array (bo_count,sizeof (*bos),GFP_KERNEL ); +if (!bos) +return -ENOMEM ;memcpy (bos, job->in_bos, job->in_bo_count *sizeof (void *));memcpy (&bos[job->in_bo_count], job->out_bos, job->out_bo_count *sizeof (void *)); - ret =drm_gem_lock_reservations (bos, job->in_bo_count + job->out_bo_count, &acquire_ctx); + ret =drm_gem_lock_reservations (bos, bo_count, &acquire_ctx);if (ret) goto err;
@@ -220,7 +227,7 @@ static int rocket_job_push(struct rocket_job *job)rocket_attach_object_fences (job->out_bos, job->out_bo_count, job->inference_done_fence); err_unlock: -drm_gem_unlock_reservations (bos, job->in_bo_count + job->out_bo_count, &acquire_ctx); +drm_gem_unlock_reservations (bos, bo_count, &acquire_ctx); err:kvfree (bos);
@@ -310,13 +317,13 @@ static struct dma_fence *rocket_job_run(struct drm_sched_job *sched_job)dma_fence_put (job->done_fence); job->done_fence =dma_fence_get (fence); - ret =pm_runtime_get_sync (core->dev); + ret =pm_runtime_resume_and_get (core->dev);if (ret <0 ) -return fence; + goto err_put_fences; ret =iommu_attach_group (job->domain->domain, core->iommu_group);if (ret <0 ) -return fence; + goto err_put_pm; scoped_guard(mutex, &core->job_lock) { core->in_flight_job = job;
@@ -324,6 +331,14 @@ static struct dma_fence *rocket_job_run(struct drm_sched_job *sched_job) }return fence; + +err_put_pm: +pm_runtime_put (core->dev); +err_put_fences: +dma_fence_put (job->done_fence); + job->done_fence =NULL ; +dma_fence_put (fence); +return ERR_PTR (ret); }static void rocket_job_handle_irq (struct rocket_core *core)
@@ -549,6 +564,7 @@ static int rocket_ioctl_submit_job(struct drm_device *dev, struct drm_file *filekref_init (&rjob->refcount); rjob->rdev = rdev; + rjob->domain =rocket_iommu_domain_get (file_priv); ret = drm_sched_job_init(&rjob->base, &file_priv->sched_entity,
@@ -574,8 +590,6 @@ static int rocket_ioctl_submit_job(struct drm_device *dev, struct drm_file *file rjob->out_bo_count = job->out_bo_handle_count; - rjob->domain =rocket_iommu_domain_get (file_priv); - ret =rocket_job_push (rjob);if (ret) goto out_cleanup_job;
drivers/acpi/acpi_platform.c +43 -2
65 lines not on this page · raw message
drivers/acpi/acpi_tad.c +30 -20
102 lines not on this page · raw message
drivers/acpi/apei/erst.c +1 -1
@@ -108,7 +108,7 @@ static inline u64 erst_get_timeout(void)if (erst_erange.attr &ERST_RANGE_SLOW ) { timeout = ((erst_erange.timings &ERST_EXEC_TIMING_MAX_MASK ) >> -ERST_EXEC_TIMING_MAX_SHIFT ) *NSEC_PER_MSEC ; +ERST_EXEC_TIMING_MAX_SHIFT ) *NSEC_PER_USEC ;if (timeout <FIRMWARE_TIMEOUT ) timeout =FIRMWARE_TIMEOUT ; }
drivers/acpi/apei/ghes.c +34 -18
111 lines not on this page · raw message
drivers/acpi/cppc_acpi.c +21 -3
@@ -1316,15 +1316,30 @@ static int cppc_set_reg_val(int cpu, enum cppc_regs reg_idx, u64 val)return cpc_write (cpu, reg, val); } +static bool cppc_desired_perf_readable (const struct cpc_desc *cpc_desc) +{ +return cpc_desc->version <CPPC_V4_REV ; +} +/** * cppc_get_desired_perf - Get the desired performance register value. * @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 (!cppc_desired_perf_readable (cpc_desc)) +return -EOPNOTSUPP ; +return cppc_get_reg_val (cpunum,DESIRED_PERF , desired_perf); }EXPORT_SYMBOL_GPL (cppc_get_desired_perf);
@@ -1830,12 +1845,14 @@ int cppc_get_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls)u64 desired_perf =0 , min =0 , max =0 , energy_perf =0 , auto_sel =0 ;int pcc_ss_id =per_cpu (cpu_pcc_subspace_idx, cpu);struct cppc_pcc_data *pcc_ss_data =NULL ; +bool read_desired_perf;int ret =0 , regs_in_pcc =0 ;if (!cpc_desc) {pr_debug ("No CPC descriptor for CPU:%d\n" , cpu);return -ENODEV ; } + read_desired_perf =cppc_desired_perf_readable (cpc_desc);if (!perf_ctrls) {pr_debug ("Invalid perf_ctrls pointer\n" );
@@ -1849,7 +1866,8 @@ int cppc_get_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls) auto_sel_reg = &cpc_desc->cpc_regs[AUTO_SEL_ENABLE ];/* Are any of the regs PCC ?*/ -if (CPC_IN_PCC (desired_perf_reg) ||CPC_IN_PCC (min_perf_reg) || +if ((read_desired_perf &&CPC_IN_PCC (desired_perf_reg)) || +CPC_IN_PCC (min_perf_reg) ||CPC_IN_PCC (max_perf_reg) ||CPC_IN_PCC (energy_perf_reg) ||CPC_IN_PCC (auto_sel_reg)) {if (pcc_ss_id <0 ) {
@@ -1881,7 +1899,7 @@ int cppc_get_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls) } perf_ctrls->min_perf = min; -if (CPC_SUPPORTED (desired_perf_reg)) { +if (read_desired_perf &&CPC_SUPPORTED (desired_perf_reg)) { ret =cpc_read (cpu, desired_perf_reg, &desired_perf);if (ret) goto out_err;
drivers/acpi/pfr_update.c +24 -21
67 lines not on this page · raw message
drivers/ata/libata-scsi.c +14 -14
@@ -3545,17 +3545,13 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)static size_t ata_format_dsm_trim_descr (struct scsi_cmnd *cmd,u32 trmax,u64 sector,u32 count) { -struct scsi_device *sdp = cmd->device; -size_t len = sdp->sector_size; +size_t len =ATA_SECT_SIZE ;size_t r;__le64 *buf;u32 i =0 ;unsigned long flags; -WARN_ON (len >ATA_SCSI_RBUF_SIZE ); - -if (len >ATA_SCSI_RBUF_SIZE ) - len =ATA_SCSI_RBUF_SIZE ; +BUILD_BUG_ON (ATA_SECT_SIZE >ATA_SCSI_RBUF_SIZE );spin_lock_irqsave (&ata_scsi_rbuf_lock, flags); buf = ((void *)ata_scsi_rbuf);
@@ -3590,13 +3586,11 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc) {struct ata_taskfile *tf = &qc->tf;struct scsi_cmnd *scmd = qc->scsicmd; -struct scsi_device *sdp = scmd->device; -size_t len = sdp->sector_size;struct ata_device *dev = qc->dev;const u8 *cdb = scmd->cmnd;u64 block;u32 n_block; -const u32 trmax = len >>3 ; +const u32 trmax =ATA_MAX_TRIM_RNUM ;u32 size;u16 fp;u8 bp =0xff ;
@@ -3640,13 +3634,13 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc) goto invalid_param_len;/* -* size must match sector size in bytes -* For DATA SET MANAGEMENT TRIM in ACS-2 nsect (aka count) -* is defined as number of 512 byte blocks to be transferred. +* The TRIM descriptor is a single 512-byte page, which is the maximum +* WRITE SAME length advertised in the Block Limits VPD page. For DATA +* SET MANAGEMENT TRIM the COUNT field (aka nsect) is the number of +* 512-byte blocks to be transferred. */ - size =ata_format_dsm_trim_descr (scmd, trmax, block, n_block); -if (size != len) +if (size !=ATA_SECT_SIZE ) goto invalid_param_len;if (ata_ncq_enabled (dev) &&ata_fpdma_dsm_supported (dev)) {
@@ -3672,6 +3666,12 @@ static unsigned int ata_scsi_write_same_xlat(struct ata_queued_cmd *qc)ATA_TFLAG_WRITE ;ata_qc_set_pc_nbytes (qc); +/* +* The DSM TRIM payload is a single 512-byte page, which may be smaller +* than the WRITE SAME data-out buffer (one logical block); only +* transfer that page so the length matches the COUNT field. +*/ + qc->nbytes = size;return 0 ;
drivers/auxdisplay/charlcd.c +14 -7
@@ -595,6 +595,16 @@ static int charlcd_init(struct charlcd *lcd)return 0 ; } +static void charlcd_deinit (struct charlcd *lcd) +{ +struct charlcd_priv *priv =charlcd_to_priv (lcd); + +if (lcd->ops->backlight) { +cancel_delayed_work_sync (&priv->bl_work); + lcd->ops->backlight (lcd,CHARLCD_OFF ); + } +} +struct charlcd *charlcd_alloc (unsigned int drvdata_size) {struct charlcd_priv *priv;
@@ -654,8 +664,10 @@ int charlcd_register(struct charlcd *lcd)return ret; ret =misc_register (&charlcd_dev); -if (ret) +if (ret) { +charlcd_deinit (lcd);return ret; + } the_charlcd = lcd;register_reboot_notifier (&panel_notifier);
@@ -665,16 +677,11 @@ EXPORT_SYMBOL_GPL(charlcd_register);int charlcd_unregister (struct charlcd *lcd) { -struct charlcd_priv *priv =charlcd_to_priv (lcd); -unregister_reboot_notifier (&panel_notifier);charlcd_puts (lcd,"\x0cLCD driver unloaded.\x1b[Lc\x1b[Lb\x1b[L-" );misc_deregister (&charlcd_dev); the_charlcd =NULL ; -if (lcd->ops->backlight) { -cancel_delayed_work_sync (&priv->bl_work); - priv->lcd.ops->backlight (&priv->lcd,CHARLCD_OFF ); - } +charlcd_deinit (lcd);return 0 ; }
drivers/base/arch_numa.c +12 -0
@@ -105,6 +105,18 @@ static void __init setup_node_to_cpumask_map(void)if (nr_node_ids ==MAX_NUMNODES )setup_nr_node_ids (); +/* +* This check should never be true but it makes it clear to compilers +* that node_to_cpumask_map is bound by nr_node_ids, avoiding false +* positive fortify warnings when accessing node_to_cpumask_map in the +* for loop below. +*/ +if (unlikely (nr_node_ids >MAX_NUMNODES )) { +pr_err ("nr_node_ids (%u) is larger than MAX_NUMNODES (%u)\n" , + nr_node_ids,MAX_NUMNODES ); +return ; + } +/* allocate and clear the mapping */ for (node =0 ; node < nr_node_ids; node++) {alloc_bootmem_cpumask_var (&node_to_cpumask_map[node]);
drivers/base/power/main.c +1 -0
@@ -2234,6 +2234,7 @@ static int device_prepare(struct device *dev, pm_message_t state)if (ret <0 ) {suspend_report_result (dev, callback, ret); +pm_runtime_unblock (dev);pm_runtime_put (dev);return ret; }
drivers/base/property.c +16 -3
@@ -807,18 +807,31 @@ struct fwnode_handle * fwnode_get_next_child_node(const struct fwnode_handle *fwnode, struct fwnode_handle *child) { + const struct fwnode_handle *parent; + struct fwnode_handle *child_parent __free(fwnode_handle) = NULL;struct fwnode_handle *next; -if (IS_ERR_OR_NULL (fwnode)) +/* +* If this function is in a loop and the previous iteration returned +* an child from fwnode->secondary, then we need to use the secondary +* as parent rather than @fwnode. +*/ +if (child) { + child_parent =fwnode_get_parent (child); + parent = child_parent; + }else { + parent = fwnode; + } +if (IS_ERR_OR_NULL (parent))return NULL ;/* Try to find a child in primary fwnode */ - next =fwnode_call_ptr_op (fwnode, get_next_child_node, child); + next =fwnode_call_ptr_op (parent, get_next_child_node, child);if (next)return next;/* When no more children in primary, continue with secondary */ -return fwnode_call_ptr_op (fwnode->secondary, get_next_child_node, child); +return fwnode_get_next_child_node (parent->secondary,NULL ); }EXPORT_SYMBOL_GPL (fwnode_get_next_child_node);
drivers/block/zloop.c +2 -1
@@ -478,7 +478,8 @@ static int zloop_finish_zone(struct zloop_device *zlo, unsigned int zone_no) zone->cond == BLK_ZONE_COND_FULL) goto unlock; -if (vfs_truncate (&zone->file->f_path, zlo->zone_size <<SECTOR_SHIFT )) { +if (vfs_truncate (&zone->file->f_path, + zlo->zone_capacity <<SECTOR_SHIFT )) {set_bit (ZLOOP_ZONE_SEQ_ERROR , &zone->flags); ret = -EIO ; goto unlock;
drivers/block/zram/backend_deflate.c +9 -1
@@ -24,8 +24,16 @@ static int deflate_setup_params(struct zcomp_params *params) {if (params->level ==ZCOMP_PARAM_NOT_SET ) params->level =Z_DEFAULT_COMPRESSION ; -if (params->deflate.winbits ==ZCOMP_PARAM_NOT_SET ) +if (params->deflate.winbits ==ZCOMP_PARAM_NOT_SET ) { params->deflate.winbits =DEFLATE_DEF_WINBITS ; + }else { +s32 wb = params->deflate.winbits; + +if ((wb <-15 || wb >-9 ) && (wb <9 || wb >15 )) { +pr_err ("invalid deflate winbits: %d\n" , wb); +return -EINVAL ; + } + }return 0 ; }
drivers/block/zram/zram_drv.c +9 -5
@@ -1244,8 +1244,8 @@ static ssize_t writeback_store(struct device *dev, const char *buf, size_t len) { struct zram *zram = dev_to_zram(dev); -u64 nr_pages = zram->disksize >>PAGE_SHIFT ; -unsigned long lo =0 , hi = nr_pages; +u64 nr_pages; +unsigned long lo =0 , hi;struct zram_pp_ctl *pp_ctl =NULL ;struct zram_wb_ctl *wb_ctl =NULL ;char *args, *param, *val;
@@ -1259,6 +1259,9 @@ static ssize_t writeback_store(struct device *dev,if (!zram->backing_dev)return -ENODEV ; + nr_pages = zram->disksize >>PAGE_SHIFT ; + hi = nr_pages; + pp_ctl =init_pp_ctl ();if (!pp_ctl)return -ENOMEM ;
@@ -1549,7 +1552,7 @@ static ssize_t read_block_state(struct file *file, char __user *buf,char *kbuf;ssize_t index, written =0 ;struct zram *zram = file->private_data; -unsigned long nr_pages = zram->disksize >>PAGE_SHIFT ; +unsigned long nr_pages; kbuf =kvmalloc (count,GFP_KERNEL );if (!kbuf)
@@ -1561,6 +1564,8 @@ static ssize_t read_block_state(struct file *file, char __user *buf,return -EINVAL ; } + nr_pages = zram->disksize >>PAGE_SHIFT ; +for (index = *ppos; index < nr_pages; index++) {int copied;
@@ -2836,6 +2841,7 @@ static void zram_destroy_comps(struct zram *zram) zram->comp_algs[prio] =NULL ;zram_comp_params_reset (zram); +comp_algorithm_set (zram,ZRAM_PRIMARY_COMP , default_compressor); }static void zram_reset_device (struct zram *zram)
@@ -2853,8 +2859,6 @@ static void zram_reset_device(struct zram *zram)zram_destroy_comps (zram);memset (&zram->stats,0 ,sizeof (zram->stats));reset_bdev (zram); - -comp_algorithm_set (zram,ZRAM_PRIMARY_COMP , default_compressor); } static ssize_t disksize_store(struct device *dev, struct device_attribute *attr,
drivers/bluetooth/btrtl.c +0 -13
@@ -1343,19 +1343,6 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)if (!btrtl_dev->ic_info)return ; -switch (btrtl_dev->project_id) { -case CHIP_ID_8761B : -/* RTL8761B/BU reports HCI version 5.1 but does not support -* the LE Extended Scan commands (Opcode 0x2042), causing -* repeated -EBUSY failures when BlueZ attempts extended -* scanning while a connection is active. -*/ -hci_set_quirk (hdev,HCI_QUIRK_BROKEN_EXT_SCAN ); -break ; -default : -break ; - } -switch (btrtl_dev->ic_info->lmp_subver) {case RTL_ROM_LMP_8703B :/* 8723CS reports two pages for local ext features,
drivers/bluetooth/btusb.c +14 -0
@@ -67,6 +67,7 @@ static struct usb_driver btusb_driver;#define BTUSB_INTEL_NO_WBS_SUPPORT BIT(26)#define BTUSB_ACTIONS_SEMI BIT(27)#define BTUSB_BARROT BIT(28) +#define BTUSB_BROKEN_EXT_SCAN BIT(29)static const struct usb_device_id btusb_table[] = {/* Generic Bluetooth USB device */
@@ -615,6 +616,10 @@ static const struct usb_device_id quirks_table[] = { { USB_DEVICE(0x0489, 0xe130), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + /* Realtek 8761BU Bluetooth devices */ + { USB_DEVICE(0x0bda, 0xa728), .driver_info = BTUSB_REALTEK | + BTUSB_BROKEN_EXT_SCAN }, + /* Realtek Bluetooth devices */ { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01), .driver_info = BTUSB_REALTEK },
@@ -850,6 +855,12 @@ static const struct usb_device_id quirks_table[] = { { USB_DEVICE(0x37ad, 0x0600), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + /* Additional Realtek 8761CU Bluetooth devices */ + { USB_DEVICE(0x0b05, 0x1bef), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0b05, 0x1d70), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
@@ -4366,6 +4377,9 @@ static int btusb_probe(struct usb_interface *intf,if (id->driver_info &BTUSB_INVALID_LE_STATES )hci_set_quirk (hdev,HCI_QUIRK_BROKEN_LE_STATES ); +if (id->driver_info &BTUSB_BROKEN_EXT_SCAN ) +hci_set_quirk (hdev,HCI_QUIRK_BROKEN_EXT_SCAN ); +if (id->driver_info &BTUSB_DIGIANSWER ) { data->cmdreq_type =USB_TYPE_VENDOR ;hci_set_quirk (hdev,HCI_QUIRK_RESET_ON_CLOSE );
drivers/bluetooth/hci_bcm.c +1 -0
@@ -547,6 +547,7 @@ static int bcm_close(struct hci_uart *hu)if (IS_ENABLED (CONFIG_PM ) && bdev->irq_acquired) {devm_free_irq (bdev->dev, bdev->irq, bdev);device_init_wakeup (bdev->dev, false); +pm_runtime_dont_use_autosuspend (bdev->dev);pm_runtime_disable (bdev->dev); }
drivers/bluetooth/hci_bcm4377.c +1 -0
@@ -2490,6 +2490,7 @@ static const struct bcm4377_hw bcm4377_hw_variants[] = { .has_bar0_core2_window2 = true, .broken_mws_transport_config = true, .broken_le_coded = true, + .broken_le_ext_adv_report_phy = true, .send_calibration = bcm4378_send_calibration, .send_ptb = bcm4378_send_ptb, },
drivers/bluetooth/hci_h5.c +3 -1
@@ -1023,8 +1023,10 @@ static void h5_btrtl_open(struct h5 *h5)static void h5_btrtl_close (struct h5 *h5) { -if (!test_bit (H5_WAKEUP_DISABLE , &h5->flags)) +if (!test_bit (H5_WAKEUP_DISABLE , &h5->flags)) { +pm_runtime_dont_use_autosuspend (&h5->hu->serdev->dev);pm_runtime_disable (&h5->hu->serdev->dev); + }gpiod_set_value_cansleep (h5->device_wake_gpio,0 );gpiod_set_value_cansleep (h5->enable_gpio,0 );
drivers/bluetooth/hci_intel.c +1 -0
@@ -345,6 +345,7 @@ static int intel_set_power(struct hci_uart *hu, bool powered)devm_free_irq (&idev->pdev->dev, idev->irq, idev);device_wakeup_disable (&idev->pdev->dev); +pm_runtime_dont_use_autosuspend (&idev->pdev->dev);pm_runtime_disable (&idev->pdev->dev); } }
drivers/bluetooth/hci_ldisc.c +1 -1
@@ -451,7 +451,7 @@ static int hci_uart_setup(struct hci_dev *hdev)if (IS_ERR (skb)) {BT_ERR ("%s: Reading local version information failed (%ld)" , hdev->name,PTR_ERR (skb)); -return 0 ; +return PTR_ERR (skb); }if (skb->len !=sizeof (*ver)) {
drivers/bluetooth/hci_serdev.c +1 -1
@@ -221,7 +221,7 @@ static int hci_uart_setup(struct hci_dev *hdev)if (IS_ERR (skb)) {bt_dev_err (hdev,"Reading local version info failed (%ld)" ,PTR_ERR (skb)); -return 0 ; +return PTR_ERR (skb); }if (skb->len !=sizeof (*ver))
drivers/cdx/cdx.c +5 -2
@@ -738,7 +738,6 @@ static int cdx_create_res_attr(struct cdx_device *cdx_dev, int num)sysfs_bin_attr_init (res_attr); - cdx_dev->res_attr[num] = res_attr;sprintf (res_attr_name,"resource%d" , num); res_attr->mmap = cdx_mmap_resource;
@@ -747,8 +746,12 @@ static int cdx_create_res_attr(struct cdx_device *cdx_dev, int num) res_attr->size =cdx_resource_len (cdx_dev, num); res_attr->private = (void *)(unsigned long )num; ret =sysfs_create_bin_file (&cdx_dev->dev.kobj, res_attr); -if (ret) +if (ret) {kfree (res_attr); +return ret; + } + + cdx_dev->res_attr[num] = res_attr;return ret; }
drivers/char/hw_random/stm32-rng.c +3 -7
@@ -368,11 +368,6 @@ static int stm32_rng_init(struct hwrng *rng)return 0 ; } -static void stm32_rng_remove (struct platform_device *ofdev) -{ -pm_runtime_disable (&ofdev->dev); -} -static int __maybe_unused stm32_rng_runtime_suspend (struct device *dev) {struct stm32_rng_private *priv =dev_get_drvdata (dev);
@@ -590,7 +585,9 @@ static int stm32_rng_probe(struct platform_device *ofdev)pm_runtime_set_autosuspend_delay (dev,100 );pm_runtime_use_autosuspend (dev); -pm_runtime_enable (dev); + ret =devm_pm_runtime_enable (dev); +if (ret) +return ret;return devm_hwrng_register (dev, &priv->rng); }
@@ -602,7 +599,6 @@ static struct platform_driver stm32_rng_driver = { .of_match_table = stm32_rng_match, }, .probe = stm32_rng_probe, - .remove = stm32_rng_remove, };module_platform_driver (stm32_rng_driver);
drivers/char/ipmi/ipmb_dev_int.c +3 -2
@@ -141,13 +141,14 @@ static ssize_t ipmb_write(struct file *file, const char __user *buf,u8 msg[MAX_MSG_LEN ];ssize_t ret; -if (count >sizeof (msg)) +if (!count || count >sizeof (msg))return -EINVAL ;if (copy_from_user (&msg, buf, count))return -EFAULT ; -if (count < msg[0 ]) +if (msg[IPMB_MSG_LEN_IDX ] <IPMB_REQUEST_LEN_MIN || + count < (size_t )msg[IPMB_MSG_LEN_IDX ] +1 )return -EINVAL ; rq_sa =GET_7BIT_ADDR (msg[RQ_SA_8BIT_IDX ]);
drivers/char/ipmi/ipmi_msghandler.c +4 -0
@@ -1391,6 +1391,7 @@ static void _ipmi_destroy_user(struct ipmi_user *user) } }mutex_unlock (&intf->cmd_rcvrs_mutex); +synchronize_rcu ();while (rcvrs) { rcvr = rcvrs; rcvrs = rcvr->next;
@@ -3740,6 +3741,7 @@ int ipmi_add_smi(struct module *owner,sysfs_attr_init (&intf->maintenance_mode_devattr.attr); rv =device_create_file (intf->si_dev, &intf->maintenance_mode_devattr);if (rv) { +device_remove_file (intf->si_dev, &intf->nr_msgs_devattr);device_remove_file (intf->si_dev, &intf->nr_users_devattr); goto out_err_bmc_reg; }
@@ -3757,12 +3759,14 @@ int ipmi_add_smi(struct module *owner, out_err_bmc_reg:ipmi_bmc_unregister (intf); out_err_started: + intf->in_shutdown = true;if (intf->handlers->shutdown) intf->handlers->shutdown (intf->send_info); out_err:list_del (&intf->link);mutex_unlock (&ipmi_interfaces_mutex);mutex_unlock (&smi_watchers_mutex); +cancel_work_sync (&intf->smi_work);kref_put (&intf->refcount, intf_free);return rv;
drivers/char/tpm/tpm_i2c_nuvoton.c +4 -2
@@ -182,8 +182,10 @@ static int i2c_nuvoton_wait_for_stat(struct tpm_chip *chip, u8 mask, u8 value, timeout);if (rc >0 )return 0 ; -/* At this point we know that the SINT pin is asserted, so we -* do not need to do i2c_nuvoton_check_status */ + +disable_irq (priv->irq); +if (rc <0 ) +return rc; }else {unsigned long ten_msec, stop;bool status_valid;
drivers/clocksource/timer-nxp-pit.c +3 -1
@@ -328,8 +328,10 @@ static int pit_timer_init(struct device_node *np)if (pit_instances == max_pit_instances) { ret =cpuhp_setup_state (CPUHP_AP_ONLINE_DYN ,"PIT timer:starting" , pit_clockevent_starting_cpu,NULL ); -if (ret <0 ) +if (ret <0 ) { +pit_clockevent_per_cpu_exit (pit, pit_instances); goto out_pit_clocksource_unregister; + } }return 0 ;
drivers/clocksource/timer-sun4i.c +1 -1
@@ -208,7 +208,7 @@ static int __init sun4i_timer_init(struct device_node *node)sun4i_timer_clear_interrupt (timer_of_base (&to));clockevents_config_and_register (&to.clkevt,timer_of_rate (&to), -TIMER_SYNC_TICKS ,0xffffffff ); +TIMER_SYNC_TICKS +1 ,0xffffffff );/* Enable timer0 interrupt */ val =readl (timer_of_base (&to) +TIMER_IRQ_EN_REG );
drivers/cpufreq/apple-soc-cpufreq.c +14 -22
@@ -249,21 +249,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_obj (*priv); +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; }
@@ -271,19 +269,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_obj (*priv); -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 */
@@ -318,12 +310,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; }
@@ -332,7 +324,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
@@ -836,7 +836,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/crypto/atmel-ecc.c +18 -28
112 lines not on this page · raw message
drivers/crypto/intel/iaa/iaa_crypto_main.c +12 -15
@@ -1058,13 +1058,17 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,pr_warn ("%s: falling back to deflate-generic decompress, " "analytics error code %x\n" , __func__, idxd_desc->iax_completion->error_code); +dma_unmap_sg (dev, ctx->req->dst,sg_nents (ctx->req->dst), +DMA_FROM_DEVICE ); +dma_unmap_sg (dev, ctx->req->src,1 ,DMA_TO_DEVICE ); + ret =deflate_generic_decompress (ctx->req);if (ret) {dev_dbg (dev,"%s: deflate-generic failed ret=%d\n" , __func__, ret); err = -EIO ; - goto err; } + goto out; }else { err = -EIO ; goto err;
@@ -1447,19 +1451,9 @@ static int iaa_decompress(struct crypto_tfm *tfm, struct acomp_req *req, ret =check_completion (dev, idxd_desc->iax_completion, false, false);if (ret) {dev_dbg (dev,"%s: check_completion failed ret=%d\n" , __func__, ret); -if (idxd_desc->iax_completion->status ==IAA_ANALYTICS_ERROR ) { -pr_warn ("%s: falling back to deflate-generic decompress, " -"analytics error code %x\n" , __func__, - idxd_desc->iax_completion->error_code); - ret =deflate_generic_decompress (req); -if (ret) { -dev_dbg (dev,"%s: deflate-generic failed ret=%d\n" , - __func__, ret); - goto err; - } - }else { - goto err; - } +if (idxd_desc->iax_completion->status ==IAA_ANALYTICS_ERROR ) + ret = -EAGAIN ; + goto err; }else { req->dlen = idxd_desc->iax_completion->output_size; }
@@ -1647,13 +1641,16 @@ static int iaa_comp_adecompress(struct acomp_req *req)if (ret == -EINPROGRESS )return ret; -if (ret !=0 ) +if (ret !=0 && ret != -EAGAIN )dev_dbg (dev,"asynchronous decompress failed ret=%d\n" , ret);dma_unmap_sg (dev, req->dst,1 ,DMA_FROM_DEVICE );dma_unmap_sg (dev, req->src,1 ,DMA_TO_DEVICE );iaa_wq_put (wq); +if (ret == -EAGAIN ) + ret =deflate_generic_decompress (req); +return ret; }
drivers/cxl/core/features.c +7 -1
@@ -649,7 +649,13 @@ static void *cxlctl_fw_rpc(struct fwctl_uctx *uctx, enum fwctl_rpc_scope scope,struct cxl_memdev *cxlmd =fwctl_to_memdev (fwctl_dev);struct cxl_features_state *cxlfs =to_cxlfs (cxlmd->cxlds);const struct fwctl_rpc_cxl *rpc_in = in; -u16 opcode = rpc_in->opcode; +u16 opcode; + +if (in_len <sizeof (rpc_in->hdr) || + rpc_in->op_size > in_len -sizeof (rpc_in->hdr)) +return ERR_PTR (-EINVAL ); + + opcode = rpc_in->opcode;if (!cxlctl_validate_hw_command (cxlfs, rpc_in, scope, opcode))return ERR_PTR (-EINVAL );
drivers/cxl/core/mbox.c +0 -8
@@ -11,7 +11,6 @@#include "core.h" #include "trace.h" -#include "mce.h" static bool cxl_raw_allow_all;
@@ -1526,7 +1525,6 @@ struct cxl_memdev_state *cxl_memdev_state_create(struct device *dev, u64 serial, u16 dvsec) {struct cxl_memdev_state *mds; -int rc; mds = devm_cxl_dev_state_create(dev, CXL_DEVTYPE_CLASSMEM, serial, dvsec, struct cxl_memdev_state, cxlds,
@@ -1538,12 +1536,6 @@ struct cxl_memdev_state *cxl_memdev_state_create(struct device *dev, u64 serial,mutex_init (&mds->event.log_lock); - rc =devm_cxl_register_mce_notifier (dev, &mds->mce_notifier); -if (rc == -EOPNOTSUPP ) -dev_warn (dev,"CXL MCE unsupported\n" ); -else if (rc) -return ERR_PTR (rc); -return mds; }EXPORT_SYMBOL_NS_GPL (cxl_memdev_state_create,"CXL" );
drivers/cxl/core/mce.c +13 -14
@@ -4,16 +4,16 @@#include <linux/notifier.h> #include <linux/set_memory.h> #include <asm/mce.h> -#include <cxlmem.h> +#include <cxl.h> +#include "core.h" #include "mce.h" static int cxl_handle_mce (struct notifier_block *nb,unsigned long val,void *data) { - struct cxl_memdev_state *mds = container_of(nb, struct cxl_memdev_state, - mce_notifier); -struct cxl_memdev *cxlmd = mds->cxlds.cxlmd; -struct cxl_port *endpoint = cxlmd->endpoint; + struct cxl_region *cxlr = container_of(nb, struct cxl_region, + mce_notifier); +struct cxl_region_params *p = &cxlr->params;struct mce *mce = data;u64 spa, spa_alias;unsigned long pfn;
@@ -21,26 +21,25 @@ static int cxl_handle_mce(struct notifier_block *nb, unsigned long val,if (!mce || !mce_usable_address (mce))return NOTIFY_DONE ; -if (!endpoint) -return NOTIFY_DONE ; - spa = mce->addr &MCI_ADDR_PHYSADDR ; - pfn = spa >>PAGE_SHIFT ; -if (!pfn_valid (pfn)) +if (!cxl_resource_contains_addr (p->res, spa))return NOTIFY_DONE ; - spa_alias =cxl_port_get_spa_cache_alias (endpoint, spa); -if (spa_alias == ~0ULL ) -return NOTIFY_DONE ; +if (spa >= p->res->start + p->cache_size) + spa_alias = spa - p->cache_size; +else + spa_alias = spa + p->cache_size; pfn = spa_alias >>PAGE_SHIFT ; +if (!pfn_valid (pfn)) +return NOTIFY_DONE ;/* * Take down the aliased memory page. The original memory page flagged * by the MCE will be taken cared of by the standard MCE handler. */ -dev_emerg (mds->cxlds.dev,"Offlining aliased SPA address0: %#llx\n" , +dev_emerg (&cxlr->dev,"Offlining aliased SPA address0: %#llx\n" , spa_alias);if (!memory_failure (pfn,0 ))set_mce_nospec (pfn);
drivers/cxl/core/pmem.c +6 -4
@@ -219,12 +219,14 @@ static struct cxl_nvdimm *cxl_nvdimm_alloc(struct cxl_nvdimm_bridge *cxl_nvb, dev->bus = &cxl_bus_type; dev->type = &cxl_nvdimm_type;/* -* A "%llx" string is 17-bytes vs dimm_id that is max -* NVDIMM_KEY_DESC_LEN +* dev_id is the nvdimm dimm_id used for security key lookup. +* It must match id_show(), which emits the CXL serial as an +* unsigned decimal. A u64 decimal string is at most 20 digits +* plus NUL. */ -BUILD_BUG_ON (sizeof (cxl_nvd->dev_id) <17 || +BUILD_BUG_ON (sizeof (cxl_nvd->dev_id) <21 ||sizeof (cxl_nvd->dev_id) >NVDIMM_KEY_DESC_LEN ); -sprintf (cxl_nvd->dev_id,"%llx" , cxlmd->cxlds->serial); +sprintf (cxl_nvd->dev_id,"%llu" , cxlmd->cxlds->serial);return cxl_nvd; }
drivers/cxl/core/ras.c +0 -1
@@ -137,7 +137,6 @@ int cxl_ras_init(void)void cxl_ras_exit (void ) {cxl_cper_unregister_prot_err_work (&cxl_cper_prot_err_work); -cancel_work_sync (&cxl_cper_prot_err_work); }static void cxl_dport_map_ras (struct cxl_dport *dport)
drivers/cxl/core/ras_rch.c +21 -6
@@ -58,13 +58,28 @@ void cxl_disable_rch_root_ints(struct cxl_dport *dport)static bool cxl_rch_get_aer_info (void __iomem *aer_base,struct aer_capability_regs *aer_regs) { -int read_cnt =sizeof (struct aer_capability_regs ) /sizeof (u32); +/* +* Bound the copy to the physically-defined AER registers (header +* through the 16-byte Header Log). struct aer_capability_regs is a +* software layout whose embedded struct pcie_tlp_log is larger than +* the on-wire AER capability; copying sizeof(*aer_regs) would +* over-read the RCRB-mapped MMIO block. +*/ +int read_cnt = (PCI_ERR_HEADER_LOG +16 ) /sizeof (u32);u32 *aer_regs_buf = (u32 *)aer_regs;int n;if (!aer_base)return false; +/* +* Zero the destination so the software-only tail fields +* (e.g. header_log.header_len) are deterministic rather than +* left as uninitialized stack, which could drive a bogus loop +* length in pcie_print_tlp_log(). +*/ +memset (aer_regs,0 ,sizeof (*aer_regs)); +/* Use readl() to guarantee 32-bit accesses */ for (n =0 ; n < read_cnt; n++) aer_regs_buf[n] =readl (aer_base + n *sizeof (u32));
@@ -79,11 +94,11 @@ static bool cxl_rch_get_aer_info(void __iomem *aer_base,static bool cxl_rch_get_aer_severity (struct aer_capability_regs *aer_regs,int *severity) { -if (aer_regs->uncor_status & ~aer_regs->uncor_mask) { -if (aer_regs->uncor_status &PCI_ERR_ROOT_FATAL_RCV ) - *severity =AER_FATAL ; -else - *severity =AER_NONFATAL ; +u32 uncor_status = aer_regs->uncor_status & ~aer_regs->uncor_mask; + +if (uncor_status) { + *severity = (uncor_status & aer_regs->uncor_severity) ? +AER_FATAL :AER_NONFATAL ;return true; }
drivers/cxl/core/region.c +15 -28
61 lines not on this page · raw message
drivers/cxl/cxl.h +4 -7
@@ -478,6 +478,7 @@ struct cxl_region_params {* @coord: QoS access coordinates for the region * @node_notifier: notifier for setting the access coordinates to node * @adist_notifier: notifier for calculating the abstract distance of node +* @mce_notifier: notifier for MCE */ struct cxl_region {struct device dev;
@@ -493,6 +494,7 @@ struct cxl_region {struct access_coordinate coord[ACCESS_COORDINATE_MAX ];struct notifier_block node_notifier;struct notifier_block adist_notifier; +struct notifier_block mce_notifier; };struct cxl_nvdimm_bridge {
@@ -503,7 +505,8 @@ struct cxl_nvdimm_bridge {struct nvdimm_bus_descriptor nd_desc; }; -#define CXL_DEV_ID_LEN 19 +/* Holds a u64 serial as a decimal string: up to 20 digits + NUL */ +#define CXL_DEV_ID_LEN 21enum {CXL_NVD_F_INVALIDATED =0 ,
@@ -870,7 +873,6 @@ bool is_cxl_pmem_region(struct device *dev);struct cxl_pmem_region *to_cxl_pmem_region (struct device *dev);int cxl_add_to_region (struct cxl_endpoint_decoder *cxled);struct cxl_dax_region *to_cxl_dax_region (struct device *dev); -u64 cxl_port_get_spa_cache_alias (struct cxl_port *endpoint,u64 spa);bool cxl_region_contains_resource (const struct resource *res);#else static inline bool is_cxl_pmem_region (struct device *dev)
@@ -889,11 +891,6 @@ static inline struct cxl_dax_region *to_cxl_dax_region(struct device *dev) {return NULL ; } -static inline u64 cxl_port_get_spa_cache_alias (struct cxl_port *endpoint, -u64 spa) -{ -return 0 ; -}static inline bool cxl_region_contains_resource (const struct resource *res) {return false;
drivers/cxl/cxlmem.h +0 -2
@@ -431,7 +431,6 @@ static inline struct cxl_dev_state *mbox_to_cxlds(struct cxl_mailbox *cxl_mbox)* @poison: poison driver state info * @security: security driver state info * @fw: firmware upload / activation state -* @mce_notifier: MCE notifier * * See CXL 3.0 8.2.9.8.2 Capacity Configuration and Label Storage for * details on capacity parameters.
@@ -451,7 +450,6 @@ struct cxl_memdev_state {struct cxl_poison_state poison;struct cxl_security_state security;struct cxl_fw_state fw; -struct notifier_block mce_notifier; };
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +79 -0
79 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c +20 -8
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dc_types.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/hid/hid-sensor-hub.c +25 -17
42 lines not on this page · raw message
drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c +9 -1
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-dev.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-hid.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c +16 -3
Lines of this file are not shown. View the raw message.
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/hsi/controllers/omap_ssi_core.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c +4 -11
Lines of this file are not shown. View the raw message.
drivers/i3c/master/renesas-i3c.c +99 -39
138 lines not on this page · raw message
drivers/infiniband/core/ib_core_uverbs.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/core/uverbs_std_types_mr.c +4 -2
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/infiniband/hw/ionic/ionic_lif_cfg.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c +14 -10
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +48 -17
65 lines not on this page · 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/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/md/dm-io.c +45 -51
96 lines not on this page · raw message
drivers/md/persistent-data/dm-array.c +45 -8
53 lines not on this page · raw message
drivers/media/cec/platform/stm32/stm32-cec.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vicodec/vicodec-core.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +10 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/nvidia/forcedeth.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede.h +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qede/qede_fp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/renesas/ravb_main.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/renesas/ravb_ptp.c +38 -6
44 lines not on this page · raw message
drivers/net/wireless/ath/ath6kl/cfg80211.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/dvm/main.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +12 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/main.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +9 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7925/mac.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7925/main.c +11 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7925/pci.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7925/usb.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/mac.c +25 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c +8 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/core.c +14 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c +9 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8192du/trx.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/pci.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/tx.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/core.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/mac80211.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/pci.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/pci.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8851be.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8852ae.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8852be.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8852bte.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8852ce.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8922ae.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/rtw8922de.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/nvme/host/tcp.c +44 -1
45 lines not on this page · raw message
drivers/pci/controller/plda/pcie-plda-host.c +42 -10
52 lines not on this page · raw message
drivers/pci/controller/plda/pcie-starfive.c +11 -2
Lines of this file are not shown. View the raw message.
drivers/pci/pci-sysfs.c +36 -6
42 lines not on this page · raw message
drivers/phy/freescale/phy-fsl-imx8mq-usb.c +7 -14
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_sensorhub_ring.c +15 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/amd/pmc/mp1_stb.c +43 -23
66 lines not on this page · raw message
drivers/platform/x86/dell/dell-wmi-sysman/biosattr-interface.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c +14 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/bioscfg.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/enum-attributes.c +11 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/int-attributes.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/order-list-attributes.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c +10 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/spmobj-attributes.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/platform/x86/hp/hp-bioscfg/string-attributes.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel/int1092/intel_sar.c +10 -22
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel/ishtp_eclite.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c +74 -6
80 lines not on this page · raw message
drivers/platform/x86/lenovo/think-lmi.c +14 -5
Lines of this file are not shown. View the raw message.
drivers/platform/x86/panasonic-laptop.c +10 -1
Lines of this file are not shown. View the raw message.
drivers/power/supply/bq256xx_charger.c +15 -14
Lines of this file are not shown. View the raw message.
drivers/power/supply/bq25890_charger.c +12 -0
Lines of this file are not shown. View the raw message.
drivers/power/supply/charger-manager.c +39 -15
54 lines not on this page · raw message
drivers/power/supply/cros_usbpd-charger.c +15 -2
Lines of this file are not shown. View the raw message.
drivers/power/supply/max17040_battery.c +22 -10
Lines of this file are not shown. View the raw message.
drivers/power/supply/twl4030_charger.c +10 -2
Lines of this file are not shown. View the raw message.
drivers/rapidio/devices/rio_mport_cdev.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/regulator/qcom-refgen-regulator.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/tegra-video/vip.c +3 -7
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/uvc_video.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/phy/phy-fsl-usb.c +26 -26
52 lines not on this page · raw message
drivers/usb/typec/altmodes/thunderbolt.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/ssd1307fb.c +67 -5
72 lines not on this page · raw message
fs/ceph/caps.c +65 -9
74 lines not on this page · raw message
fs/ceph/mds_client.c +65 -8
73 lines not on this page · raw message
fs/ecryptfs/keystore.c +39 -6
45 lines not on this page · raw message
fs/lockd/svcsubs.c +77 -32
109 lines not on this page · raw message
fs/nfsd/filecache.c +71 -72
143 lines not on this page · raw message
fs/nfsd/nfs2acl.c +28 -24
52 lines not on this page · raw message
fs/nfsd/nfs4callback.c +94 -19
113 lines not on this page · raw message
fs/nfsd/nfs4proc.c +159 -64
223 lines not on this page · raw message
fs/nfsd/nfs4recover.c +35 -13
48 lines not on this page · raw message
fs/nfsd/nfs4state.c +310 -85
395 lines not on this page · raw message
fs/nfsd/nfsctl.c +119 -37
156 lines not on this page · raw message
fs/nfsd/nfssvc.c +30 -19
49 lines not on this page · raw message
fs/ntfs/runlist.c +48 -0
48 lines not on this page · raw message
fs/ocfs2/cluster/heartbeat.c +116 -32
148 lines not on this page · raw message
fs/ocfs2/dir.c +42 -5
47 lines not on this page · raw message
fs/ocfs2/refcounttree.c +35 -12
47 lines not on this page · raw message
fs/pidfs.c +31 -12
43 lines not on this page · raw message
fs/smb/client/inode.c +46 -10
56 lines not on this page · raw message
kernel/sched/core.c +41 -8
49 lines not on this page · raw message
kernel/sched/ext/ext.c +253 -89
342 lines not on this page · raw message
kernel/trace/ring_buffer.c +124 -74
198 lines not on this page · raw message
mm/compaction.c +54 -44
98 lines not on this page · raw message
mm/kmemleak.c +54 -23
77 lines not on this page · raw message
mm/page_alloc.c +65 -11
76 lines not on this page · raw message
mm/slub.c +49 -29
78 lines not on this page · raw message
mm/vmalloc.c +28 -30
58 lines not on this page · raw message
net/openvswitch/conntrack.c +84 -44
128 lines not on this page · raw message
net/openvswitch/datapath.c +33 -25
58 lines not on this page · raw message
net/sctp/stream.c +33 -15
48 lines not on this page · raw message
net/smc/smc_llc.c +95 -27
122 lines not on this page · raw message
net/sunrpc/svc.c +81 -12
93 lines not on this page · raw message
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +16 -5
Lines of this file are not shown. View the raw message.
net/sunrpc/xprtrdma/svc_rdma_rw.c +40 -12
52 lines not on this page · raw message
net/sunrpc/xprtrdma/svc_rdma_sendto.c +32 -15
47 lines not on this page · raw message
net/sunrpc/xprtrdma/svc_rdma_transport.c +51 -18
69 lines not on this page · raw message
scripts/rust_is_available_bindgen_libclang_22.h new file +5 -0
Lines of this file are not shown. View the raw message.
security/keys/trusted-keys/trusted_tpm1.c +1 -1
Lines of this file are not shown. View the raw message.
security/landlock/fs.c +32 -9
41 lines not on this page · raw message
sound/soc/tegra/tegra210_admaif.c +138 -70
208 lines not on this page · raw message
sound/soc/tegra/tegra210_mbdrc.c +21 -21
42 lines not on this page · raw message
tools/sched_ext/include/scx/compat.bpf.h +6 -6
Lines of this file are not shown. View the raw message.
tools/sched_ext/include/scx/enum_defs.autogen.h +0 -1
Lines of this file are not shown. View the raw message.
tools/sched_ext/include/scx/enums.autogen.bpf.h +0 -3
Lines of this file are not shown. View the raw message.
tools/sched_ext/include/scx/enums.autogen.h +0 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/mm/run_vmtests.sh +1 -1
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.