Linux 5.13.2
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.13.2 kernel.
All users of the 5.13 kernel series must upgrade.
The updated 5.13.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.13.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/evm | 26 Documentation/ABI/testing/sysfs-bus-papr-pmem | 8 Documentation/admin-guide/kernel-parameters.txt | 6 Documentation/hwmon/max31790.rst | 5 Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst | 5 Documentation/userspace-api/seccomp_filter.rst | 12 Makefile | 4 arch/alpha/kernel/smp.c | 1 arch/arc/kernel/smp.c | 1 arch/arm/boot/dts/sama5d4.dtsi | 2 arch/arm/boot/dts/ste-href.dtsi | 7 arch/arm/kernel/perf_event_v7.c | 4 arch/arm/kernel/smp.c | 1 arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 arch/arm64/include/asm/kvm_host.h | 1 arch/arm64/include/asm/mmu_context.h | 4 arch/arm64/include/asm/preempt.h | 2 arch/arm64/kernel/Makefile | 5 arch/arm64/kernel/perf_event.c | 2 arch/arm64/kernel/setup.c | 2 arch/arm64/kernel/smp.c | 1 arch/arm64/kvm/arm.c | 4 arch/arm64/kvm/pmu-emul.c | 4 arch/csky/kernel/smp.c | 1 arch/csky/mm/syscache.c | 12 arch/ia64/kernel/mca_drv.c | 2 arch/ia64/kernel/smpboot.c | 1 arch/m68k/Kconfig.machine | 3 arch/mips/include/asm/highmem.h | 2 arch/mips/kernel/smp.c | 1 arch/openrisc/kernel/smp.c | 2 arch/parisc/kernel/smp.c | 1 arch/powerpc/include/asm/cputhreads.h | 30 arch/powerpc/include/asm/interrupt.h | 3 arch/powerpc/include/asm/kvm_guest.h | 4 arch/powerpc/kernel/firmware.c | 10 arch/powerpc/kernel/mce_power.c | 48 arch/powerpc/kernel/process.c | 48 arch/powerpc/kernel/smp.c | 12 arch/powerpc/kernel/stacktrace.c | 26 arch/powerpc/kvm/book3s_hv.c | 13 arch/powerpc/kvm/book3s_hv_builtin.c | 2 arch/powerpc/kvm/book3s_hv_nested.c | 3 arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 arch/powerpc/mm/book3s64/hash_utils.c | 24 arch/powerpc/platforms/cell/smp.c | 3 arch/powerpc/platforms/pseries/papr_scm.c | 62 - arch/powerpc/platforms/pseries/smp.c | 7 arch/riscv/kernel/smpboot.c | 1 arch/s390/Kconfig | 3 arch/s390/boot/uv.c | 1 arch/s390/include/asm/pgtable.h | 21 arch/s390/include/asm/preempt.h | 16 arch/s390/include/asm/uv.h | 8 arch/s390/kernel/setup.c | 1 arch/s390/kernel/smp.c | 2 arch/s390/kernel/uv.c | 10 arch/s390/kvm/kvm-s390.c | 18 arch/s390/mm/fault.c | 26 arch/sh/kernel/smp.c | 2 arch/sparc/kernel/smp_32.c | 1 arch/sparc/kernel/smp_64.c | 3 arch/x86/crypto/curve25519-x86_64.c | 2 arch/x86/entry/entry_64.S | 4 arch/x86/events/core.c | 28 arch/x86/events/intel/core.c | 15 arch/x86/events/perf_event.h | 1 arch/x86/include/asm/idtentry.h | 29 arch/x86/include/asm/kvm_host.h | 3 arch/x86/include/asm/perf_event.h | 1 arch/x86/include/asm/preempt.h | 2 arch/x86/include/uapi/asm/hwcap2.h | 6 arch/x86/kernel/cpu/mshyperv.c | 2 arch/x86/kernel/early-quirks.c | 1 arch/x86/kernel/sev.c | 184 ++- arch/x86/kernel/smpboot.c | 1 arch/x86/kernel/tsc.c | 3 arch/x86/kvm/cpuid.c | 6 arch/x86/kvm/hyperv.c | 2 arch/x86/kvm/mmu/mmu.c | 22 arch/x86/kvm/mmu/paging_tmpl.h | 3 arch/x86/kvm/mmu/spte.c | 7 arch/x86/kvm/mmu/tdp_mmu.c | 8 arch/x86/kvm/vmx/nested.c | 41 arch/x86/kvm/vmx/vmcs.h | 5 arch/x86/kvm/vmx/vmx.c | 4 arch/x86/kvm/vmx/vmx.h | 1 arch/x86/kvm/x86.c | 15 arch/x86/mm/tlb.c | 10 arch/x86/net/bpf_jit_comp.c | 2 arch/xtensa/kernel/smp.c | 1 block/bfq-iosched.c | 16 block/bio.c | 13 block/blk-flush.c | 3 block/blk-merge.c | 8 block/blk-mq-tag.c | 49 - block/blk-mq-tag.h | 6 block/blk-mq.c | 63 + block/blk-mq.h | 1 block/blk-rq-qos.h | 24 block/blk-wbt.c | 11 block/blk-wbt.h | 1 crypto/ecdh.c | 12 crypto/shash.c | 18 crypto/sm2.c | 24 crypto/testmgr.c | 3 crypto/testmgr.h | 10 drivers/acpi/Makefile | 5 drivers/acpi/acpi_fpdt.c | 4 drivers/acpi/acpica/nsrepair2.c | 7 drivers/acpi/apei/ghes.c | 81 + drivers/acpi/bgrt.c | 57 - drivers/acpi/bus.c | 1 drivers/acpi/device_pm.c | 6 drivers/acpi/device_sysfs.c | 2 drivers/acpi/ec.c | 37 drivers/acpi/fan.c | 7 drivers/acpi/fan.h | 13 drivers/acpi/processor_idle.c | 40 drivers/acpi/resource.c | 9 drivers/acpi/scan.c | 60 - drivers/acpi/x86/s2idle.c | 4 drivers/ata/pata_ep93xx.c | 2 drivers/ata/pata_octeon_cf.c | 5 drivers/ata/pata_rb532_cf.c | 6 drivers/ata/sata_highbank.c | 6 drivers/block/loop.c | 1 drivers/bluetooth/btqca.c | 27 drivers/bluetooth/hci_qca.c | 4 drivers/bluetooth/virtio_bt.c | 3 drivers/bus/mhi/core/pm.c | 19 drivers/bus/mhi/pci_generic.c | 5 drivers/char/hw_random/exynos-trng.c | 4 drivers/char/pcmcia/cm4000_cs.c | 4 drivers/char/tpm/tpm_tis_core.c | 25 drivers/char/tpm/tpm_tis_core.h | 3 drivers/char/tpm/tpm_tis_spi_main.c | 2 drivers/clk/actions/owl-s500.c | 75 - drivers/clk/clk-k210.c | 1 drivers/clk/clk-si5341.c | 77 + drivers/clk/clk-versaclock5.c | 27 drivers/clk/imx/clk-imx8mq.c | 56 - drivers/clk/meson/g12a.c | 2 drivers/clk/qcom/clk-alpha-pll.c | 2 drivers/clk/qcom/gcc-sc7280.c | 1 drivers/clk/rockchip/clk-rk3568.c | 10 drivers/clk/socfpga/clk-agilex.c | 93 + drivers/clk/socfpga/clk-gate-s10.c | 119 ++ drivers/clk/socfpga/clk-periph-s10.c | 11 drivers/clk/socfpga/clk-s10.c | 87 + drivers/clk/socfpga/stratix10-clk.h | 2 drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 4 drivers/clk/tegra/clk-tegra30.c | 2 drivers/clk/zynqmp/clk-mux-zynqmp.c | 10 drivers/clk/zynqmp/pll.c | 22 drivers/clocksource/timer-ti-dm.c | 6 drivers/cpufreq/cpufreq.c | 11 drivers/crypto/cavium/nitrox/nitrox_isr.c | 4 drivers/crypto/ccp/sev-dev.c | 4 drivers/crypto/ccp/sp-pci.c | 6 drivers/crypto/hisilicon/hpre/hpre_crypto.c | 18 drivers/crypto/hisilicon/sec2/sec_crypto.c | 4 drivers/crypto/ixp4xx_crypto.c | 24 drivers/crypto/nx/nx-842-pseries.c | 9 drivers/crypto/nx/nx-aes-ctr.c | 2 drivers/crypto/omap-sham.c | 4 drivers/crypto/qat/qat_common/qat_hal.c | 6 drivers/crypto/qat/qat_common/qat_uclo.c | 1 drivers/crypto/qce/skcipher.c | 19 drivers/crypto/sa2ul.c | 34 drivers/crypto/ux500/hash/hash_core.c | 1 drivers/devfreq/devfreq.c | 1 drivers/devfreq/governor_passive.c | 3 drivers/edac/Kconfig | 3 drivers/edac/aspeed_edac.c | 4 drivers/edac/i10nm_base.c | 3 drivers/edac/pnd2_edac.c | 3 drivers/edac/sb_edac.c | 3 drivers/edac/skx_base.c | 3 drivers/edac/ti_edac.c | 1 drivers/extcon/extcon-max8997.c | 3 drivers/extcon/extcon-sm5502.c | 1 drivers/firmware/stratix10-svc.c | 22 drivers/fsi/fsi-core.c | 4 drivers/fsi/fsi-occ.c | 1 drivers/fsi/fsi-sbefifo.c | 10 drivers/fsi/fsi-scom.c | 16 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 21 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 3 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 2 drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 4 drivers/gpu/drm/ast/ast_main.c | 4 drivers/gpu/drm/bridge/Kconfig | 3 drivers/gpu/drm/bridge/analogix/anx7625.c | 2 drivers/gpu/drm/drm_bridge.c | 3 drivers/gpu/drm/i915/display/skl_universal_plane.c | 6 drivers/gpu/drm/i915/gt/selftest_execlists.c | 55 - drivers/gpu/drm/imx/ipuv3-plane.c | 57 - drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 4 drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 8 drivers/gpu/drm/msm/dp/dp_catalog.c | 5 drivers/gpu/drm/msm/dp/dp_ctrl.c | 55 + drivers/gpu/drm/msm/dp/dp_ctrl.h | 2 drivers/gpu/drm/msm/dp/dp_display.c | 57 - drivers/gpu/drm/msm/msm_drv.c | 1 drivers/gpu/drm/pl111/Kconfig | 1 drivers/gpu/drm/qxl/qxl_dumb.c | 2 drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 drivers/gpu/drm/rockchip/cdn-dp-reg.c | 2 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 36 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 drivers/gpu/drm/rockchip/rockchip_lvds.c | 4 drivers/gpu/drm/vc4/vc4_crtc.c | 63 + drivers/gpu/drm/vc4/vc4_hdmi.c | 4 drivers/gpu/drm/vmwgfx/device_include/svga3d_surfacedefs.h | 8 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 20 drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 13 drivers/hid/hid-core.c | 10 drivers/hid/hid-ids.h | 1 drivers/hid/hid-input.c | 2 drivers/hid/hid-sony.c | 98 +- drivers/hid/surface-hid/surface_hid.c | 2 drivers/hid/wacom_wac.h | 2 drivers/hv/connection.c | 4 drivers/hv/hv_util.c | 4 drivers/hwmon/lm70.c | 26 drivers/hwmon/max31722.c | 9 drivers/hwmon/max31790.c | 49 - drivers/hwmon/pmbus/bpa-rs600.c | 29 drivers/hwtracing/coresight/coresight-core.c | 2 drivers/i2c/busses/i2c-mpc.c | 2 drivers/iio/accel/bma180.c | 19 drivers/iio/accel/bma220_spi.c | 10 drivers/iio/accel/bmc150-accel-core.c | 21 drivers/iio/accel/bmc150-accel-i2c.c | 2 drivers/iio/accel/bmc150-accel.h | 2 drivers/iio/accel/hid-sensor-accel-3d.c | 13 drivers/iio/accel/kxcjk-1013.c | 24 drivers/iio/accel/mxc4005.c | 10 drivers/iio/accel/stk8312.c | 12 drivers/iio/accel/stk8ba50.c | 17 drivers/iio/adc/at91-sama5d2_adc.c | 3 drivers/iio/adc/hx711.c | 4 drivers/iio/adc/mxs-lradc-adc.c | 3 drivers/iio/adc/ti-ads1015.c | 12 drivers/iio/adc/ti-ads8688.c | 3 drivers/iio/adc/vf610_adc.c | 10 drivers/iio/chemical/atlas-sensor.c | 4 drivers/iio/dummy/Kconfig | 1 drivers/iio/frequency/adf4350.c | 6 drivers/iio/gyro/bmg160_core.c | 10 drivers/iio/humidity/am2315.c | 16 drivers/iio/imu/adis16400.c | 3 drivers/iio/imu/adis16475.c | 2 drivers/iio/imu/adis_buffer.c | 3 drivers/iio/light/isl29125.c | 10 drivers/iio/light/ltr501.c | 15 drivers/iio/light/tcs3414.c | 10 drivers/iio/light/tcs3472.c | 16 drivers/iio/light/vcnl4000.c | 2 drivers/iio/light/vcnl4035.c | 3 drivers/iio/magnetometer/bmc150_magn.c | 11 drivers/iio/magnetometer/hmc5843.h | 8 drivers/iio/magnetometer/hmc5843_core.c | 4 drivers/iio/magnetometer/rm3100-core.c | 3 drivers/iio/potentiostat/lmp91000.c | 4 drivers/iio/proximity/as3935.c | 10 drivers/iio/proximity/isl29501.c | 2 drivers/iio/proximity/pulsedlight-lidar-lite-v2.c | 10 drivers/iio/proximity/srf08.c | 14 drivers/infiniband/core/cm.c | 427 ++++---- drivers/infiniband/core/cma.c | 28 drivers/infiniband/core/uverbs_cmd.c | 21 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 61 - drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 3 drivers/infiniband/hw/hns/hns_roce_mr.c | 2 drivers/infiniband/hw/mlx4/qp.c | 9 drivers/infiniband/hw/mlx5/main.c | 7 drivers/infiniband/hw/mlx5/qp.c | 6 drivers/infiniband/sw/rxe/rxe_net.c | 10 drivers/infiniband/sw/rxe/rxe_qp.c | 1 drivers/infiniband/sw/rxe/rxe_resp.c | 2 drivers/infiniband/ulp/iser/iscsi_iser.c | 2 drivers/infiniband/ulp/rtrs/rtrs-clt.c | 28 drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 1 drivers/infiniband/ulp/rtrs/rtrs-srv.c | 39 drivers/infiniband/ulp/rtrs/rtrs.c | 1 drivers/infiniband/ulp/srp/ib_srp.c | 13 drivers/input/joydev.c | 2 drivers/input/keyboard/Kconfig | 3 drivers/input/keyboard/hil_kbd.c | 1 drivers/input/touchscreen/elants_i2c.c | 6 drivers/input/touchscreen/goodix.c | 52 - drivers/input/touchscreen/usbtouchscreen.c | 8 drivers/iommu/amd/amd_iommu.h | 2 drivers/iommu/amd/init.c | 9 drivers/iommu/amd/iommu.c | 31 drivers/iommu/dma-iommu.c | 6 drivers/leds/Kconfig | 1 drivers/leds/blink/leds-lgm-sso.c | 44 drivers/leds/led-class.c | 4 drivers/leds/leds-as3645a.c | 1 drivers/leds/leds-ktd2692.c | 27 drivers/leds/leds-lm36274.c | 1 drivers/leds/leds-lm3692x.c | 8 drivers/leds/leds-lm3697.c | 8 drivers/leds/leds-lp50xx.c | 2 drivers/mailbox/qcom-apcs-ipc-mailbox.c | 2 drivers/mailbox/qcom-ipcc.c | 6 drivers/md/md.c | 45 drivers/md/md.h | 1 drivers/media/cec/platform/s5p/s5p_cec.c | 7 drivers/media/common/siano/smscoreapi.c | 22 drivers/media/common/siano/smscoreapi.h | 4 drivers/media/common/siano/smsdvb-main.c | 4 drivers/media/dvb-core/dvb_net.c | 25 drivers/media/dvb-core/dvbdev.c | 3 drivers/media/i2c/ccs/ccs-core.c | 2 drivers/media/i2c/imx334.c | 7 drivers/media/i2c/ir-kbd-i2c.c | 4 drivers/media/i2c/ov2659.c | 24 drivers/media/i2c/rdacm21.c | 56 - drivers/media/i2c/s5c73m3/s5c73m3-core.c | 6 drivers/media/i2c/s5c73m3/s5c73m3.h | 2 drivers/media/i2c/s5k4ecgx.c | 10 drivers/media/i2c/s5k5baf.c | 6 drivers/media/i2c/s5k6aa.c | 10 drivers/media/i2c/tc358743.c | 1 drivers/media/mc/Makefile | 2 drivers/media/pci/bt8xx/bt878.c | 6 drivers/media/pci/cobalt/cobalt-driver.c | 1 drivers/media/pci/cobalt/cobalt-driver.h | 7 drivers/media/pci/intel/ipu3/cio2-bridge.c | 10 drivers/media/platform/am437x/am437x-vpfe.c | 15 drivers/media/platform/exynos-gsc/gsc-m2m.c | 4 drivers/media/platform/exynos4-is/fimc-capture.c | 6 drivers/media/platform/exynos4-is/fimc-is.c | 4 drivers/media/platform/exynos4-is/fimc-isp-video.c | 10 drivers/media/platform/exynos4-is/fimc-isp.c | 7 drivers/media/platform/exynos4-is/fimc-lite.c | 5 drivers/media/platform/exynos4-is/fimc-m2m.c | 5 drivers/media/platform/exynos4-is/media-dev.c | 10 drivers/media/platform/exynos4-is/mipi-csis.c | 10 drivers/media/platform/marvell-ccic/mcam-core.c | 9 drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 6 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 4 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 8 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 2 drivers/media/platform/mtk-vpu/mtk_vpu.c | 6 drivers/media/platform/qcom/venus/core.c | 60 - drivers/media/platform/qcom/venus/hfi_cmds.c | 22 drivers/media/platform/s5p-g2d/g2d.c | 3 drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 1 drivers/media/platform/sh_vou.c | 6 drivers/media/platform/sti/bdisp/Makefile | 2 drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 7 drivers/media/platform/sti/delta/Makefile | 2 drivers/media/platform/sti/hva/Makefile | 2 drivers/media/platform/sti/hva/hva-hw.c | 3 drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c | 2 drivers/media/platform/video-mux.c | 10 drivers/media/usb/au0828/au0828-core.c | 4 drivers/media/usb/cpia2/cpia2.h | 1 drivers/media/usb/cpia2/cpia2_core.c | 12 drivers/media/usb/cpia2/cpia2_usb.c | 13 drivers/media/usb/dvb-usb/cinergyT2-core.c | 2 drivers/media/usb/dvb-usb/cxusb.c | 2 drivers/media/usb/em28xx/em28xx-input.c | 8 drivers/media/usb/gspca/gl860/gl860.c | 4 drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 4 drivers/media/v4l2-core/v4l2-fh.c | 1 drivers/media/v4l2-core/v4l2-ioctl.c | 12 drivers/media/v4l2-core/v4l2-subdev.c | 24 drivers/memstick/host/rtsx_usb_ms.c | 10 drivers/mfd/Kconfig | 1 drivers/mfd/mfd-core.c | 15 drivers/mfd/rn5t618.c | 2 drivers/misc/eeprom/idt_89hpesx.c | 8 drivers/misc/habanalabs/common/habanalabs_drv.c | 1 drivers/misc/pvpanic/pvpanic-mmio.c | 3 drivers/misc/pvpanic/pvpanic-pci.c | 9 drivers/mmc/core/block.c | 8 drivers/mmc/host/sdhci-of-aspeed.c | 2 drivers/mmc/host/sdhci-sprd.c | 1 drivers/mmc/host/usdhi6rol0.c | 1 drivers/mmc/host/via-sdmmc.c | 3 drivers/mmc/host/vub300.c | 2 drivers/mtd/nand/raw/arasan-nand-controller.c | 90 + drivers/mtd/nand/raw/marvell_nand.c | 4 drivers/mtd/nand/spi/core.c | 17 drivers/mtd/parsers/qcomsmempart.c | 10 drivers/mtd/parsers/redboot.c | 7 drivers/mtd/spi-nor/otp.c | 43 drivers/net/Kconfig | 1 drivers/net/can/peak_canfd/peak_canfd.c | 4 drivers/net/can/usb/ems_usb.c | 3 drivers/net/dsa/mv88e6xxx/chip.c | 6 drivers/net/dsa/sja1105/sja1105_main.c | 6 drivers/net/ethernet/aeroflex/greth.c | 3 drivers/net/ethernet/aquantia/atlantic/aq_macsec.h | 4 drivers/net/ethernet/broadcom/bcm4908_enet.c | 6 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 1 drivers/net/ethernet/emulex/benet/be_cmds.c | 6 drivers/net/ethernet/emulex/benet/be_main.c | 2 drivers/net/ethernet/ezchip/nps_enet.c | 4 drivers/net/ethernet/faraday/ftgmac100.c | 6 drivers/net/ethernet/google/gve/gve_main.c | 4 drivers/net/ethernet/ibm/ehea/ehea_main.c | 9 drivers/net/ethernet/ibm/ibmvnic.c | 99 +- drivers/net/ethernet/intel/e1000e/netdev.c | 24 drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 3 drivers/net/ethernet/intel/i40e/i40e_main.c | 17 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 drivers/net/ethernet/marvell/pxa168_eth.c | 2 drivers/net/ethernet/microsoft/mana/mana_en.c | 6 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 10 drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 18 drivers/net/ieee802154/mac802154_hwsim.c | 11 drivers/net/macsec.c | 4 drivers/net/phy/mscc/mscc_macsec.c | 2 drivers/net/phy/mscc/mscc_macsec.h | 2 drivers/net/vrf.c | 14 drivers/net/vxlan.c | 2 drivers/net/wireless/ath/ath10k/mac.c | 1 drivers/net/wireless/ath/ath10k/pci.c | 14 drivers/net/wireless/ath/ath11k/core.c | 3 drivers/net/wireless/ath/ath11k/mac.c | 10 drivers/net/wireless/ath/ath9k/main.c | 5 drivers/net/wireless/ath/carl9170/Kconfig | 8 drivers/net/wireless/ath/wcn36xx/main.c | 21 drivers/net/wireless/ath/wil6210/cfg80211.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 37 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 5 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c | 8 drivers/net/wireless/intel/iwlwifi/fw/pnvm.h | 4 drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 drivers/net/wireless/marvell/mwifiex/pcie.c | 10 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 3 drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c | 5 drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c | 5 drivers/net/wireless/mediatek/mt76/mt76_connac.h | 7 drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c | 6 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 11 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 8 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h | 2 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 3 drivers/net/wireless/mediatek/mt76/mt7915/testmode.c | 21 drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c | 3 drivers/net/wireless/mediatek/mt76/mt7921/dma.c | 6 drivers/net/wireless/mediatek/mt76/mt7921/init.c | 22 drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 31 drivers/net/wireless/mediatek/mt76/mt7921/main.c | 55 - drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 32 drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h | 1 drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 25 drivers/net/wireless/mediatek/mt76/testmode.c | 13 drivers/net/wireless/mediatek/mt76/tx.c | 2 drivers/net/wireless/realtek/rtw88/rtw8822c.c | 22 drivers/net/wireless/rsi/rsi_91x_hal.c | 6 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 3 drivers/net/wireless/rsi/rsi_91x_mgmt.c | 3 drivers/net/wireless/rsi/rsi_main.h | 1 drivers/net/wireless/st/cw1200/scan.c | 17 drivers/net/wwan/Kconfig | 15 drivers/net/wwan/Makefile | 2 drivers/nvme/host/pci.c | 26 drivers/nvme/host/tcp.c | 2 drivers/nvme/target/fc.c | 10 drivers/of/fdt.c | 8 drivers/of/of_reserved_mem.c | 8 drivers/pci/controller/pci-hyperv.c | 3 drivers/perf/arm-cmn.c | 2 drivers/perf/arm_smmuv3_pmu.c | 18 drivers/perf/fsl_imx8_ddr_perf.c | 6 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c | 4 drivers/phy/ralink/phy-mt7621-pci.c | 4 drivers/phy/socionext/phy-uniphier-pcie.c | 11 drivers/phy/ti/phy-dm816x-usb.c | 17 drivers/pinctrl/renesas/pfc-r8a7796.c | 3 drivers/pinctrl/renesas/pfc-r8a77990.c | 8 drivers/platform/x86/asus-nb-wmi.c | 77 - drivers/platform/x86/toshiba_acpi.c | 1 drivers/platform/x86/touchscreen_dmi.c | 85 + drivers/regulator/Kconfig | 1 drivers/regulator/bd9576-regulator.c | 4 drivers/regulator/da9052-regulator.c | 3 drivers/regulator/fan53555.c | 3 drivers/regulator/fan53880.c | 2 drivers/regulator/hi6421v600-regulator.c | 9 drivers/regulator/hi655x-regulator.c | 16 drivers/regulator/mt6315-regulator.c | 4 drivers/regulator/mt6358-regulator.c | 2 drivers/regulator/qcom-rpmh-regulator.c | 2 drivers/regulator/uniphier-regulator.c | 1 drivers/rtc/rtc-stm32.c | 6 drivers/s390/cio/chp.c | 3 drivers/s390/cio/chsc.c | 2 drivers/scsi/FlashPoint.c | 32 drivers/scsi/be2iscsi/be_iscsi.c | 19 drivers/scsi/be2iscsi/be_main.c | 1 drivers/scsi/bnx2i/bnx2i_iscsi.c | 24 drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 1 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 drivers/scsi/cxgbi/libcxgbi.c | 12 drivers/scsi/libfc/fc_encode.h | 8 drivers/scsi/libiscsi.c | 70 + drivers/scsi/lpfc/lpfc_debugfs.c | 7 drivers/scsi/lpfc/lpfc_els.c | 100 +- drivers/scsi/lpfc/lpfc_hbadisc.c | 27 drivers/scsi/lpfc/lpfc_init.c | 7 drivers/scsi/lpfc/lpfc_nportdisc.c | 25 drivers/scsi/lpfc/lpfc_sli.c | 10 drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 drivers/scsi/qedi/qedi_iscsi.c | 26 drivers/scsi/qla4xxx/ql4_os.c | 2 drivers/scsi/scsi_lib.c | 1 drivers/scsi/scsi_transport_iscsi.c | 487 +++++----- drivers/soundwire/stream.c | 13 drivers/spi/spi-loopback-test.c | 2 drivers/spi/spi-meson-spicc.c | 8 drivers/spi/spi-omap-100k.c | 2 drivers/spi/spi-sun6i.c | 6 drivers/spi/spi-topcliff-pch.c | 4 drivers/spi/spi.c | 8 drivers/ssb/scan.c | 1 drivers/ssb/sdio.c | 1 drivers/staging/fbtft/fb_agm1264k-fl.c | 20 drivers/staging/fbtft/fb_bd663474.c | 4 drivers/staging/fbtft/fb_ili9163.c | 4 drivers/staging/fbtft/fb_ili9320.c | 1 drivers/staging/fbtft/fb_ili9325.c | 4 drivers/staging/fbtft/fb_ili9340.c | 1 drivers/staging/fbtft/fb_s6d1121.c | 4 drivers/staging/fbtft/fb_sh1106.c | 1 drivers/staging/fbtft/fb_ssd1289.c | 4 drivers/staging/fbtft/fb_ssd1325.c | 2 drivers/staging/fbtft/fb_ssd1331.c | 6 drivers/staging/fbtft/fb_ssd1351.c | 1 drivers/staging/fbtft/fb_upd161704.c | 4 drivers/staging/fbtft/fb_watterott.c | 1 drivers/staging/fbtft/fbtft-bus.c | 3 drivers/staging/fbtft/fbtft-core.c | 25 drivers/staging/fbtft/fbtft-io.c | 12 drivers/staging/gdm724x/gdm_lte.c | 20 drivers/staging/media/hantro/hantro_drv.c | 33 drivers/staging/media/hantro/hantro_v4l2.c | 9 drivers/staging/media/imx/imx-media-csi.c | 14 drivers/staging/media/imx/imx7-mipi-csis.c | 6 drivers/staging/media/rkvdec/rkvdec.c | 12 drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 4 drivers/staging/media/sunxi/cedrus/cedrus_video.c | 8 drivers/staging/mt7621-dts/mt7621.dtsi | 2 drivers/staging/rtl8712/hal_init.c | 3 drivers/staging/rtl8712/os_intfs.c | 4 drivers/staging/rtl8712/rtl871x_recv.c | 2 drivers/staging/rtl8712/rtl871x_security.c | 12 drivers/staging/rtl8712/usb_intf.c | 24 drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 4 drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 drivers/target/iscsi/cxgbit/cxgbit_ddp.c | 19 drivers/target/iscsi/cxgbit/cxgbit_target.c | 21 drivers/thermal/cpufreq_cooling.c | 2 drivers/thunderbolt/test.c | 14 drivers/tty/nozomi.c | 9 drivers/tty/serial/8250/8250_omap.c | 22 drivers/tty/serial/8250/8250_port.c | 19 drivers/tty/serial/8250/serial_cs.c | 2 drivers/tty/serial/fsl_lpuart.c | 14 drivers/tty/serial/mvebu-uart.c | 18 drivers/tty/serial/sh-sci.c | 8 drivers/usb/class/cdc-acm.c | 5 drivers/usb/dwc2/core.c | 30 drivers/usb/dwc3/core.c | 3 drivers/usb/gadget/function/f_eem.c | 43 drivers/usb/gadget/function/f_fs.c | 65 - drivers/usb/host/xhci-mem.c | 1 drivers/usb/host/xhci-pci-renesas.c | 16 drivers/usb/phy/phy-tegra-usb.c | 15 drivers/usb/typec/class.c | 4 drivers/usb/typec/tcpm/tcpci.c | 18 drivers/usb/typec/tcpm/tcpm.c | 30 drivers/vfio/pci/vfio_pci.c | 29 drivers/video/backlight/lm3630a_bl.c | 4 drivers/video/fbdev/imxfb.c | 2 drivers/visorbus/visorchipset.c | 6 fs/btrfs/Kconfig | 2 fs/btrfs/ctree.c | 5 fs/btrfs/delayed-inode.c | 18 fs/btrfs/extent-tree.c | 1 fs/btrfs/inode.c | 16 fs/btrfs/send.c | 11 fs/btrfs/super.c | 11 fs/btrfs/sysfs.c | 4 fs/btrfs/transaction.c | 16 fs/btrfs/transaction.h | 1 fs/btrfs/tree-log.c | 1 fs/btrfs/zoned.c | 18 fs/cifs/cifs_swn.c | 10 fs/cifs/cifsacl.c | 2 fs/cifs/cifsglob.h | 3 fs/cifs/connect.c | 5 fs/cifs/dfs_cache.c | 7 fs/cifs/dir.c | 4 fs/cifs/inode.c | 5 fs/cifs/smb2ops.c | 138 ++ fs/configfs/file.c | 10 fs/crypto/fname.c | 10 fs/crypto/keysetup.c | 40 fs/dax.c | 3 fs/dlm/config.c | 9 fs/dlm/lowcomms.c | 184 ++- fs/erofs/super.c | 1 fs/exec.c | 4 fs/exfat/dir.c | 8 fs/ext4/extents.c | 3 fs/ext4/extents_status.c | 4 fs/ext4/ialloc.c | 11 fs/ext4/inode.c | 2 fs/ext4/mballoc.c | 9 fs/ext4/super.c | 10 fs/f2fs/data.c | 6 fs/f2fs/sysfs.c | 8 fs/fs-writeback.c | 39 fs/fuse/dev.c | 12 fs/fuse/dir.c | 25 fs/gfs2/file.c | 4 fs/gfs2/ops_fstype.c | 1 fs/io_uring.c | 10 fs/ntfs/inode.c | 2 fs/ocfs2/filecheck.c | 6 fs/ocfs2/stackglue.c | 8 fs/open.c | 14 fs/proc/task_mmu.c | 2 fs/pstore/Kconfig | 1 include/asm-generic/pgtable-nop4d.h | 1 include/asm-generic/preempt.h | 2 include/clocksource/timer-ti-dm.h | 1 include/crypto/internal/hash.h | 8 include/dt-bindings/clock/imx8mq-clock.h | 19 include/linux/bio.h | 12 include/linux/clocksource.h | 2 include/linux/cred.h | 2 include/linux/huge_mm.h | 59 - include/linux/hugetlb.h | 5 include/linux/iio/common/cros_ec_sensors_core.h | 2 include/linux/kthread.h | 2 include/linux/mm.h | 1 include/linux/pgtable.h | 22 include/linux/prandom.h | 2 include/linux/swap.h | 9 include/linux/tracepoint.h | 10 include/linux/user_namespace.h | 4 include/media/hevc-ctrls.h | 3 include/media/media-dev-allocator.h | 2 include/net/bluetooth/hci.h | 6 include/net/bluetooth/hci_core.h | 8 include/net/ip.h | 12 include/net/ip6_route.h | 16 include/net/macsec.h | 2 include/net/sch_generic.h | 12 include/net/tc_act/tc_vlan.h | 1 include/net/xfrm.h | 1 include/net/xsk_buff_pool.h | 9 include/scsi/fc/fc_ms.h | 4 include/scsi/libiscsi.h | 1 include/scsi/scsi_transport_iscsi.h | 12 include/uapi/linux/seccomp.h | 1 include/uapi/linux/v4l2-controls.h | 23 init/main.c | 6 kernel/bpf/devmap.c | 4 kernel/bpf/inode.c | 2 kernel/bpf/verifier.c | 6 kernel/cred.c | 41 kernel/events/core.c | 9 kernel/fork.c | 10 kernel/kthread.c | 49 - kernel/locking/lockdep.c | 122 ++ kernel/rcu/tree.c | 2 kernel/sched/core.c | 86 + kernel/sched/deadline.c | 2 kernel/sched/fair.c | 19 kernel/sched/psi.c | 12 kernel/sched/rt.c | 17 kernel/seccomp.c | 51 - kernel/smpboot.c | 1 kernel/sys.c | 12 kernel/time/clocksource.c | 113 ++ kernel/trace/bpf_trace.c | 3 kernel/trace/trace_events_hist.c | 7 kernel/tracepoint.c | 33 kernel/ucount.c | 40 kernel/user_namespace.c | 3 lib/Kconfig.debug | 1 lib/iov_iter.c | 37 lib/kstrtox.c | 13 lib/kstrtox.h | 2 lib/kunit/test.c | 7 lib/locking-selftest.c | 1 lib/math/rational.c | 16 lib/seq_buf.c | 4 lib/vsprintf.c | 82 - mm/debug_vm_pgtable.c | 63 + mm/gup.c | 58 - mm/huge_memory.c | 13 mm/hugetlb.c | 29 mm/kfence/core.c | 4 mm/khugepaged.c | 4 mm/memcontrol.c | 8 mm/memory.c | 11 mm/migrate.c | 2 mm/mmap_lock.c | 33 mm/page_alloc.c | 106 +- mm/shmem.c | 17 mm/slab.h | 1 mm/z3fold.c | 3 mm/zswap.c | 17 net/bluetooth/hci_event.c | 27 net/bluetooth/hci_request.c | 51 - net/bluetooth/mgmt.c | 3 net/bpfilter/main.c | 2 net/can/bcm.c | 7 net/can/gw.c | 3 net/can/isotp.c | 7 net/can/j1939/main.c | 4 net/can/j1939/socket.c | 5 net/core/filter.c | 4 net/core/rtnetlink.c | 26 net/core/skmsg.c | 30 net/core/sock_map.c | 2 net/ipv4/devinet.c | 4 net/ipv4/esp4.c | 2 net/ipv4/fib_frontend.c | 2 net/ipv4/route.c | 3 net/ipv4/udp.c | 2 net/ipv6/esp6.c | 2 net/ipv6/exthdrs.c | 31 net/ipv6/ip6_tunnel.c | 4 net/mac80211/he.c | 4 net/mac80211/mlme.c | 9 net/mac80211/sta_info.c | 5 net/mptcp/options.c | 29 net/mptcp/pm_netlink.c | 8 net/mptcp/protocol.c | 5 net/mptcp/protocol.h | 10 net/mptcp/subflow.c | 53 - net/mptcp/token.c | 6 net/netfilter/nf_tables_api.c | 65 - net/netfilter/nf_tables_offload.c | 34 net/netfilter/nft_exthdr.c | 3 net/netfilter/nft_osf.c | 5 net/netfilter/nft_tproxy.c | 9 net/netlabel/netlabel_mgmt.c | 19 net/qrtr/ns.c | 4 net/sched/act_vlan.c | 7 net/sched/cls_tcindex.c | 2 net/sched/sch_qfq.c | 8 net/sunrpc/sched.c | 12 net/tipc/bcast.c | 2 net/tipc/msg.c | 17 net/tipc/msg.h | 3 net/tls/tls_sw.c | 2 net/xdp/xsk_queue.h | 11 net/xfrm/xfrm_device.c | 1 net/xfrm/xfrm_output.c | 7 net/xfrm/xfrm_state.c | 14 samples/bpf/xdp_redirect_user.c | 4 scripts/Makefile.build | 5 scripts/link-vmlinux.sh | 4 scripts/tools-support-relr.sh | 3 security/integrity/evm/evm_main.c | 5 security/integrity/evm/evm_secfs.c | 13 security/integrity/ima/ima_appraise.c | 2 sound/firewire/amdtp-stream.c | 7 sound/firewire/bebob/bebob_stream.c | 9 sound/firewire/motu/motu-protocol-v2.c | 5 sound/pci/hda/patch_realtek.c | 50 - sound/pci/intel8x0.c | 2 sound/soc/atmel/atmel-i2s.c | 35 sound/soc/codecs/cs42l42.h | 2 sound/soc/codecs/max98373-sdw.c | 14 sound/soc/codecs/max98373.h | 2 sound/soc/codecs/rk3328_codec.c | 28 sound/soc/codecs/rt1308-sdw.c | 2 sound/soc/codecs/rt1316-sdw.c | 2 sound/soc/codecs/rt5682-i2c.c | 1 sound/soc/codecs/rt5682-sdw.c | 19 sound/soc/codecs/rt700-sdw.c | 2 sound/soc/codecs/rt711-sdca-sdw.c | 12 sound/soc/codecs/rt711-sdca.c | 4 sound/soc/codecs/rt711-sdw.c | 2 sound/soc/codecs/rt715-sdca-sdw.c | 3 sound/soc/codecs/rt715-sdca-sdw.h | 1 sound/soc/codecs/rt715-sdca.c | 9 sound/soc/codecs/rt715-sdca.h | 3 sound/soc/codecs/rt715-sdw.c | 2 sound/soc/fsl/fsl_spdif.c | 23 sound/soc/fsl/fsl_xcvr.c | 10 sound/soc/hisilicon/hi6210-i2s.c | 14 sound/soc/intel/boards/sof_sdw.c | 1 sound/soc/mediatek/common/mtk-btcvsd.c | 24 sound/soc/sh/rcar/adg.c | 4 sound/usb/format.c | 2 sound/usb/mixer.c | 8 sound/usb/mixer.h | 1 sound/usb/mixer_scarlett_gen2.c | 7 tools/bpf/bpftool/main.c | 4 tools/bpf/resolve_btfids/main.c | 3 tools/lib/bpf/linker.c | 2 tools/objtool/arch/x86/decode.c | 2 tools/perf/util/llvm-utils.c | 2 tools/perf/util/scripting-engines/trace-event-python.c | 146 +- tools/power/x86/intel-speed-select/isst-config.c | 16 tools/power/x86/intel-speed-select/isst-core.c | 15 tools/power/x86/intel-speed-select/isst-display.c | 2 tools/power/x86/intel-speed-select/isst.h | 2 tools/testing/selftests/bpf/.gitignore | 1 tools/testing/selftests/bpf/prog_tests/ringbuf.c | 2 tools/testing/selftests/bpf/prog_tests/sockmap_listen.c | 7 tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc | 7 tools/testing/selftests/kvm/dirty_log_test.c | 1 tools/testing/selftests/kvm/lib/kvm_util.c | 4 tools/testing/selftests/kvm/lib/x86_64/processor.c | 3 tools/testing/selftests/kvm/steal_time.c | 2 tools/testing/selftests/kvm/x86_64/set_boot_cpu_id.c | 2 tools/testing/selftests/lkdtm/run.sh | 12 tools/testing/selftests/net/tls.c | 87 + tools/testing/selftests/resctrl/README | 2 tools/testing/selftests/resctrl/resctrl_tests.c | 4 tools/testing/selftests/sgx/load.c | 16 tools/testing/selftests/splice/short_splice_read.sh | 119 ++ tools/testing/selftests/tc-testing/plugin-lib/scapyPlugin.py | 2 tools/testing/selftests/vm/protection_keys.c | 12 836 files changed, 7543 insertions(+), 3956 deletions(-)
Abinaya Kalaiselvan (1):
mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices
Adrian Hunter (1):
perf scripting python: Fix tuple_set_u64()
Adrien Grassein (1):
drm/bridge: fix LONTIUM_LT8912B dependencies
Al Viro (3):
copy_page_to_iter(): fix ITER_DISCARD case
teach copy_page_to_iter() to handle compound pages iov_iter_fault_in_readable() should do nothing in xarray case
Alex Bee (1):
drm: rockchip: set alpha_en to 0 if it is not used
Alex Deucher (1):
ACPI: PM: s2idle: Add missing LPS0 functions for AMD
Alex Williamson (1):
vfio/pci: Handle concurrent vma faults
Alexander Aring (6):
fs: dlm: fix srcu read lock usage
fs: dlm: reconnect if socket error report occurs
fs: dlm: cancel work sync othercon
fs: dlm: fix connection tcp EOF handling
fs: dlm: fix lowcomms_start error case
fs: dlm: fix memory leak when fenced
Alexander Larkin (1):
Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
Alexander Monakov (1):
iommu/amd: Fix extended features logging
Alexandru Elisei (1):
KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set
Alexey Gladkov (1):
Add a reference to ucounts for each cred
Alvin Šipraga (2):
brcmfmac: fix setting of station info chains bitmask
brcmfmac: correctly report average RSSI in station info
Andreas Gruenbacher (2):
gfs2: Fix underflow in gfs2_page_mkwrite
gfs2: Fix error handling in init_statfs
Andreas Kemnade (1):
mfd: rn5t618: Fix IRQ trigger by changing it to level mode
Andrew Gabbasov (1):
usb: gadget: f_fs: Fix setting of device and driver data cross-references
Andrew Jeffery (1):
mmc: sdhci-of-aspeed: Turn down a phase correction warning
Andrii Nakryiko (3):
kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21
libbpf: Fix ELF symbol visibility update logic selftests/bpf: Fix ringbuf test fetching map FD
Andrzej Pietrasiewicz (2):
media: hantro: Fix .buf_prepare
media: cedrus: Fix .buf_prepare
Andy Chi (3):
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8
Andy Shevchenko (19):
spi: Allow to have all native CSs in use along with GPIOs
spi: Avoid undefined behaviour when counting unused native CSs
media: ipu3-cio2: Fix reference counting when looping over ACPI devices
net: mvpp2: Put fwnode in error case during ->probe()
net: pch_gbe: Propagate error from devm_gpio_request_one()
staging: fbtft: Rectify GPIO handling
staging: fbtft: Don't spam logs when probe is deferred
backlight: lm3630a_bl: Put fwnode in error case during ->probe()
leds: class: The -ENOTSUPP should never be seen by user space
leds: lgm-sso: Fix clock handling
leds: lm3532: select regmap I2C API
leds: lm36274: Put fwnode in error case during ->probe()
leds: lm3692x: Put fwnode in any case during ->probe()
leds: lm3697: Don't spam logs when probe is deferred
leds: lp50xx: Put fwnode in error case during ->probe()
mfd: Remove software node conditionally and locate at right place
eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
eeprom: idt_89hpesx: Restore printing the unsupported fwnode name powerpc/papr_scm: Properly handle UUID types and API
Anirudh Rayabharam (2):
ext4: fix kernel infoleak via ext4_extent_header
media: pvrusb2: fix warning in pvr2_i2c_core_done
Anshuman Khandual (2):
arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan mm/debug_vm_pgtable: ensure THP availability via has_transparent_hugepage()
Ansuel Smith (1):
mtd: parsers: qcom: Fix leaking of partition name
Antoine Tenart (4):
vrf: do not push non-ND strict packets with a source LLA through packet taps again
net: macsec: fix the length used to copy the key for offloading
net: phy: mscc: fix macsec key length
net: atlantic: fix the macsec key length
Ard Biesheuvel (1):
crypto: shash - avoid comparing pointers to exported functions under CFI
Arnaldo Carvalho de Melo (1):
perf llvm: Return -ENOMEM when asprintf() fails
Arnd Bergmann (5):
ia64: mca_drv: fix incorrect array size calculation
media: v4l2-core: ignore native time32 ioctls on 64-bit
media: subdev: remove VIDIOC_DQEVENT_TIME32 handling EDAC/aspeed: Use proper format string for printing resource
mwifiex: re-fix for unaligned accesses
Aurabindo Pillai (1):
drm/amd/display: take dc_lock in short pulse handler only
Axel Lin (6):
regulator: mt6315: Fix checking return value of devm_regmap_init_spmi_ext
regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
regulator: fan53555: Fix missing slew_reg/mask/shift settings for FAN53526
regulator: fan53880: Fix vsel_mask setting for FAN53880_BUCK
regulator: hi655x: Fix pass wrong pointer to config.driver_data
regulator: hi6421v600: Fix setting idle mode
Ayush Sawal (1):
xfrm: Fix xfrm offload fallback fail case
Badhri Jagan Sridharan (2):
usb: typec: tcpci: Fix up sink disconnect thresholds for PD
usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled
Bailey Forrest (1):
gve: Fix swapped vars when fetching max queues
Baochen Qiang (1):
bus: mhi: Wait for M2 state during system resume
Bard Liao (3):
ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID
ASoC: rt711-sdca-sdw: add readable for SDW_SDCA_CTL() registers
ASoC: rt711-sdca: handle mbq_regmap in rt711_sdca_io_init
Bart Van Assche (1):
RDMA/srp: Fix a recently introduced memory leak
Bean Huo (1):
mmc: block: Disable CMDQ on the ioctl path
Bhupesh Sharma (1):
regulator: qcom-rpmh: Add terminator at the end of pm7325x_vreg_data[] array
Bixuan Cui (2):
crypto: nx - add missing MODULE_DEVICE_TABLE EDAC/ti: Add missing MODULE_DEVICE_TABLE
Bob Pearson (1):
RDMA/rxe: Fix qp reference counting for atomic ops
Boqun Feng (2):
locking/lockdep: Fix the dep path printing for backwards BFS lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage()
Boris Sukholitko (1):
net/sched: act_vlan: Fix modify to allow 0
Bryan O'Donoghue (1):
wcn36xx: Move hal_buf allocation to devm_kmalloc in probe
Bui Quang Minh (1):
bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc
Chandrakanth Patil (1):
scsi: megaraid_sas: Send all non-RW I/Os for TYPE_ENCLOSURE device through firmware
Chanwoo Choi (1):
PM / devfreq: passive: Fix get_target_freq when not using required-opp
Charles Keepax (1):
spi: Make of_register_spi_device also set the fwnode
Chris Chiu (1):
ACPI: EC: Make more Asus laptops use ECDT _GPE
Chris Packham (2):
hwmon: (pmbus/bpa-rs600) Handle Vin readings >= 256V
i2c: mpc: Restore reread of I2C status register
Chris Wilson (1):
drm/i915/selftests: Reorder tasklet_disable vs local_bh_disable
Christian Brauner (1):
open: don't silently ignore unknown O-flags in openat2()
Christoph Hellwig (1):
mark pstore-blk as broken
Christophe JAILLET (20):
bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls
crypto: ccp - Fix a resource leak in an error handling path
media: rc: i2c: Fix an error message
video: fbdev: imxfb: Fix an error message
drm/rockchip: lvds: Fix an error handling path
brcmsmac: mac80211_if: Fix a resource leak in an error handling path
ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n()
net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()'
staging: rtl8712: Fix some tests against some 'data' subtype frames
tty: nozomi: Fix a resource leak in an error handling function misc/pvpanic-pci: Fix error handling in 'pvpanic_pci_probe()' misc/pvpanic-mmio: Fix error handling in 'pvpanic_mmio_probe()'
firmware: stratix10-svc: Fix a resource leak in an error handling path
tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()'
habanalabs: Fix an error handling path in 'hl_pci_probe()'
phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
leds: ktd2692: Fix an error handling path
staging: rtl8723bs: Fix an error handling path
ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found
Christophe Leroy (1):
btrfs: disable build on platforms having page size 256K
Chung-Chiang Cheng (1):
configfs: fix memleak in configfs_release_bin_file
Clément Lassieur (1):
usb: dwc2: Don't reset the core after setting turnaround time
Codrin Ciubotariu (2):
ASoC: atmel-i2s: Set symmetric sample bits
ASoC: atmel-i2s: Fix usage of capture and playback at the same time
Colin Ian King (4):
drm/rockchip: cdn-dp: fix sign extension on an int multiply for a u64 result
drm: qxl: ensure surf.data is ininitialized
Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return
fsi: core: Fix return of error values on failures
Cong Wang (6):
rtnetlink: avoid RCU read lock when holding RTNL selftests/bpf: Retry for EAGAIN in udp_redir_to_connected()
udp: Fix a memory leak in udp_read_sock()
skmsg: Clear skb redirect pointer before dropping it
skmsg: Fix a memory leak in sk_psock_verdict_apply()
skmsg: Teach sk_psock_verdict_apply() to return errors
Connor Abbott (1):
Bluetooth: btqca: Don't modify firmware contents in-place
Corentin Labbe (3):
crypto: ixp4xx - dma_unmap the correct address
crypto: ixp4xx - update IV after requests
mtd: partitions: redboot: seek fis-index-block in the right node
Cristian Ciocaltea (4):
clk: actions: Fix UART clock dividers on Owl S500 SoC
clk: actions: Fix SD clocks factor table on Owl S500 SoC
clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC
clk: actions: Fix AHPPREDIV-H-AHB clock chain on Owl S500 SoC
Daehwan Jung (1):
ALSA: usb-audio: fix rate on Ozone Z90 USB headset
Dafna Hirschfeld (1):
media: mtk-vpu: on suspend, read/write regs only if vpu is running
Damien Le Moal (1):
clk: k210: Fix k210_clk_set_parent()
Dan Carpenter (7):
media: au0828: fix a NULL vs IS_ERR() check
nvme-tcp: fix error codes in nvme_tcp_setup_ctrl()
ocfs2: fix snprintf() checking
mt76: mt7915: fix a signedness bug in mt7915_mcu_apply_tx_dpd()
serial: 8250_omap: fix a timeout loop condition
staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
staging: gdm724x: check for overflow in gdm_lte_netif_rx()
Daniel Axtens (1):
mm: define default MAX_PTRS_PER_* in include/pgtable.h
Daniel Rosenberg (1):
f2fs: Advertise encrypted casefolding in sysfs
Daniel Xu (1):
selftests/bpf: Whitelist test_progs.h from .gitignore
Dany Madden (1):
Revert "ibmvnic: remove duplicate napi_schedule call in open function"
Dave Hansen (4):
selftests/sgx: remove checks for file execute permissions selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random selftests/vm/pkeys: handle negative sys_pkey_alloc() return code selftests/vm/pkeys: refill shadow register after implicit kernel write
Dave Stevenson (1):
staging: mmal-vchiq: Fix incorrect static vchiq_instance.
David Gow (1):
kunit: Fix result propagation for parameterised tests
David Sterba (4):
btrfs: compression: don't try to compress if we don't have enough pages
btrfs: clear defrag status of a root if starting transaction fails
btrfs: sysfs: fix format string for some discard stats
btrfs: clear log tree recovering status if starting transaction fails
Desmond Cheong Zhi Xi (1):
ntfs: fix validity check for file name attribute
Dillon Min (2):
media: i2c: ov2659: Use clk_{prepare_enable,disable_unprepare}() to set xvclk on/off
media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx
Dinghao Liu (1):
i40e: Fix error handling in i40e_vsi_open
Dinh Nguyen (4):
clk: agilex/stratix10/n5x: fix how the bypass_reg is handled
clk: agilex/stratix10: remove noc_clk
clk: agilex/stratix10: fix bypass representation
clk: agilex/stratix10: add support for the 2nd bypass
Dmitry Osipenko (3):
clk: tegra30: Use 300MHz for video decoder by default
usb: phy: tegra: Wait for VBUS wakeup status deassertion on suspend
usb: phy: tegra: Correct definition of B_SESS_VLD_WAKEUP_EN bit
Dmitry Torokhov (1):
HID: do not use down_interruptible() when unbinding devices
Dongliang Mu (3):
media: dvd_usb: memory leak in cinergyt2_fe_attach
ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
ieee802154: hwsim: Fix memory leak in hwsim_add_one
Douglas Anderson (1):
drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable()
Eddie James (2):
fsi: scom: Reset the FSI2PIB engine for any error
fsi: occ: Don't accept response from un-initialized OCC
Edward Hsieh (1):
block: fix trace completion for chained bio
Eldar Gasanov (1):
net: dsa: mv88e6xxx: Fix adding vlan 0
Elia Devito (1):
ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx
Eric Biggers (2):
fscrypt: don't ignore minor_hash when hash is 0
fscrypt: fix derivation of SipHash keys on big endian CPUs
Eric Dumazet (5):
pkt_sched: sch_qfq: fix qfq_change_class() error path
vxlan: add missing rcu_read_lock() in neigh_reduce()
ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
ipv6: exthdrs: do not blindly use init_net
ipv6: fix out-of-bound access in ip6_parse_tlv()
Erik Kaneda (1):
ACPICA: Fix memory leak caused by _CID repair function
Evgeny Novikov (1):
media: st-hva: Fix potential NULL pointer dereferences
Ezequiel Garcia (1):
media: rkvdec: Fix .buf_prepare
Felix Fietkau (1):
mac80211: remove iwlwifi specific workaround that broke sta NDP tx
Filipe Manana (1):
btrfs: send: fix invalid path for unlink operations after parent orphanization
Frank Schäfer (1):
ALSA: hda/realtek: fix mute led of the HP Pavilion 15-eh1xxx series
Frederic Weisbecker (1):
sched: Stop PF_NO_SETAFFINITY from being inherited by various init system threads
Gary Lin (1):
bpfilter: Specify the log level for the kmsg message
Geert Uytterhoeven (3):
pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin
pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities
of: Fix truncation of memory sizes on 32-bit platforms
Gioh Kim (3):
RDMA/rtrs: Do not reset hb_missed_max after re-connection RDMA/rtrs-srv: Fix memory leak of unfreed rtrs_srv_stats object RDMA/rtrs-clt: Fix memory leak of not-freed sess->stats and stats->pcpu_stats
Greg Kroah-Hartman (1):
Linux 5.13.2
Greg Kurz (3):
fuse: Fix crash in fuse_dentry_automount() error path
fuse: Fix crash if superblock of submount gets killed early
fuse: Fix infinite loop in sget_fc()
Guenter Roeck (5):
hwmon: (max31790) Report correct current pwm duty cycles
hwmon: (max31790) Fix pwmX_enable attributes
hwmon: (lm70) Revert "hwmon: (lm70) Add support for ACPI"
hwmon: (max31722) Remove non-standard ACPI device IDs
hwmon: (max31790) Fix fan speed reporting for fan7..12
Guo Ren (1):
csky: syscache: Fixup duplicate cache flush
Guoqing Jiang (1):
md: revert io stats accounting
Gustavo A. R. Silva (1):
media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()
Haiyang Zhang (1):
PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv()
Hang Zhang (1):
cw1200: Revert unnecessary patches that fix unreal use-after-free bugs
Hangbin Liu (1):
crypto: x86/curve25519 - fix cpu feature checking logic in mod_exit
Hanjun Guo (1):
ACPI: bus: Call kobject_put() in acpi_init() error path
Hannes Reinecke (1):
nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst()
Hannu Hartikainen (1):
USB: cdc-acm: blacklist Heimann USB Appset device
Hans Verkuil (1):
media: cobalt: fix race condition in setting HPD
Hans de Goede (5):
iio: accel: bmc150: Fix dereferencing the wrong pointer in bmc150_get/set_second_device
iio: accel: bmc150: Don't make the remove function of the second accelerometer unregister itself
Input: goodix - platform/x86: touchscreen_dmi - Move upside down quirks to touchscreen_dmi.c platform/x86: touchscreen_dmi: Add an extra entry for the upside down Goodix touchscreen on Teclast X89 tablets platform/x86: touchscreen_dmi: Add info for the Goodix GT912 panel of TM800A550L tablets
Heiko Carstens (1):
KVM: s390: get rid of register asm usage
Herbert Xu (1):
crypto: nx - Fix RCU warning in nx842_OF_upd_status
Hongbo Li (1):
crypto: sm2 - fix a memory leak in sm2
Hou Wenlong (1):
KVM: selftests: fix triple fault if ept=0 in dirty_log_test
Hsin-Hsiung Wang (1):
regulator: mt6358: Fix vdram2 .vsel_mask
Hsin-Yi Wang (1):
drm/bridge: anx7625: Fix power on delay
Hui Tang (4):
crypto: ecdh - fix ecdh-nist-p192's entry in testmgr
crypto: ecdh - fix 'ecdh_init'
crypto: testmgr - fix initialization of 'secret_size'
crypto: hisilicon/hpre - fix unmapping invalid dma address
Hui Wang (1):
ACPI: resources: Add checks for ACPI IRQ override
Håkon Bugge (2):
RDMA/cma: Protect RMW with qp_mutex RDMA/cma: Fix incorrect Packet Lifetime calculation
Igor Matheus Andrade Torrente (1):
media: em28xx: Fix possible memory leak of em28xx struct
JK Kim (1):
nvme-pci: fix var. type for increasing cq_head
Jack Wang (2):
RDMA/rtrs-srv: Fix memory leak when having multiple sessions RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr
Jack Xu (2):
crypto: qat - check return code of qat_hal_rd_rel_reg()
crypto: qat - remove unused macro in FW loader
Jack Yu (1):
ASoC: rt715-sdca: fix clock stop prepare timeout issue
Jacopo Mondi (2):
media: i2c: rdacm21: Fix OV10640 powerup
media: i2c: rdacm21: Power up OV10640 before OV490Jakub Kicinski (4):
selftests: tls: clean up uninitialized warnings
selftests: tls: fix chacha+bidir tests
tls: prevent oversized sendfile() hangs by ignoring MSG_MORE
ip6_tunnel: fix GRE6 segmentation
James Smart (2):
scsi: lpfc: Fix unreleased RPIs when NPIV ports are created
scsi: lpfc: Fix Node recovery when driver is handling simultaneous PLOGIs
Jan Kara (2):
ext4: fix overflow in ext4_iomap_alloc()
dax: fix ENOMEM handling in grab_mapping_entry()
Jan Sokolowski (1):
i40e: Fix missing rtnl locking when setting up pf switch
Jann Horn (1):
mm/gup: fix try_grab_compound_head() race with split_huge_page()
Janosch Frank (1):
s390: mm: Fix secure storage access exception handling
Jarkko Sakkinen (1):
tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status()
Jason Gerecke (1):
HID: wacom: Correct base usage for capacitive ExpressKey status bits
Jason Gunthorpe (2):
IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() IB/cm: Split cm_alloc_msg()
Javed Hasan (2):
scsi: fc: Correct RHBA attributes length
scsi: libfc: Correct the condition check and invalid argument passed
Javier Martinez Canillas (1):
tpm_tis_spi: add missing SPI device ID entries
Jay Fang (2):
spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()
Jens Axboe (2):
io_uring: add IOPOLL and reserved field checks to IORING_OP_RENAMEAT
io_uring: add IOPOLL and reserved field checks to IORING_OP_UNLINKAT
Jeremy Szu (2):
ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8
ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC
Jernej Skrabec (1):
media: hevc: Fix dependent slice segment flags
Jerome Brunet (1):
clk: meson: g12a: fix gp0 and hifi ranges
Jian-Hong Pan (1):
net: bcmgenet: Fix attaching to PYH failed on RPi 4B
Jianguo Wu (3):
mptcp: fix pr_debug in mptcp_token_new_connect
mptcp: generate subflow hmac after mptcp_finish_join()
mptcp: make sure flag signal is set when add addr with port
Jiapeng Chong (2):
drivers: hv: Fix missing error code in vmbus_connect()
platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()
Jim Mattson (1):
KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt
Jing Xiangfeng (3):
usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()
ACPI: tables: FPDT: Add missing acpi_put_table() in acpi_init_fpdt()
Joachim Fenkes (2):
fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE fsi/sbefifo: Fix reset timeout
Joe Richey (2):
x86/elf: Use _BITUL() macro in UAPI headers
media: vicodec: Use _BITUL() macro in UAPI headers
Joerg Roedel (5):
crypto: ccp - Annotate SEV Firmware file names x86/sev: Make sure IRQs are disabled while GHCB is active x86/sev: Split up runtime #VC handler for correct state tracking x86/sev: Use "SEV: " prefix for messages from sev.c iommu/dma: Fix compile warning in 32-bit builds
Johan Hovold (3):
Input: usbtouchscreen - fix control-request directions
media: gspca/gl860: fix zero-length control requests
mmc: vub3000: fix control-request direction
Johannes Berg (1):
wil6210: remove erroneous wiphy locking
Johannes Thumshirn (1):
btrfs: zoned: bail out if we can't read a reliable write pointer
John Fastabend (1):
bpf: Fix null ptr deref with mixed tail calls and subprogs
Jonathan Cameron (30):
iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: mxc4005: Fix overread of data and alignment issue.
iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: magn: hmc5843: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: magn: bmc150: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: chemical: atlas: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: light: vcnl4000: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
Jonathan Marek (1):
clk: qcom: clk-alpha-pll: fix CAL_L write in alpha_pll_fabia_prepare
Josef Bacik (3):
btrfs: fix error handling in __btrfs_update_delayed_inode
btrfs: abort transaction if we fail to update the delayed inode
btrfs: always abort the transaction if we abort a trans handle
Josh Poimboeuf (2):
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'
objtool: Don't make .altinstructions writable
Junhao He (1):
coresight: core: Fix use of uninitialized pointer
Kai Huang (2):
KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level()
KVM: x86/mmu: Fix pf_fixed count in tdp_mmu_map_handle_target_level()
Kai Ye (1):
crypto: hisilicon/sec - fixup 3des minimum key size declaration
Kamal Heib (1):
RDMA/rxe: Fix failure during driver load
Kan Liang (4):
perf/x86/intel: Fix fixed counter check warning for some Alder Lake perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids perf/x86: Reset the dirty counter to prevent the leak for an RDPMC task
Kees Cook (5):
selftests/lkdtm: Avoid needing explicit sub-shell
crypto: nx - Fix memcpy() over-reading in nonce drm/pl111: depend on CONFIG_VEXPRESS_CONFIG drm/pl111: Actually fix CONFIG_VEXPRESS_CONFIG depends
selftests: splice: Adjust for handler fallback removal
Krishna Manikandan (1):
drm/msm/disp/dpu1: avoid perf update in frame done event
Kristian Klausen (1):
loop: Fix missing discard support when using LOOP_CONFIGURE
Krzysztof Kozlowski (2):
mmc: sdhci-sprd: use sdhci_sprd_writew selftests/ftrace: fix event-no-pid on 1-core machine
Krzysztof Wilczyński (1):
ACPI: sysfs: Fix a buffer overrun problem with description_show()
Kunihiko Hayashi (1):
phy: uniphier-pcie: Fix updating phy parameters
Kuninori Morimoto (1):
ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
Kuogee Hsieh (1):
drm/msm/dp: handle irq_hpd with sink_count = 0 correctly
Kyle Tso (1):
usb: typec: tcpm: Relax disconnect threshold during power negotiation
Lang Cheng (1):
RDMA/hns: Force rewrite inline flag of WQE
Laurent Pinchart (1):
media: imx: imx7_mipi_csis: Fix logging of only error event counters
Leon Romanovsky (4):
RDMA/core: Sanitize WQ state received from the userspace RDMA/mlx5: Don't add slave port to unaffiliated list RDMA/mlx5: Don't access NULL-cleared mpi pointer RDMA/core: Always release restrack object
Libin Yang (1):
ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake
Linus Walleij (1):
ARM: dts: ux500: Fix LED probing
Linyu Yuan (1):
usb: gadget: eem: fix echo command packet response issue
Liu Shixin (2):
mm/page_alloc: fix counting of managed_pages
netlabel: Fix memory leak in netlbl_mgmt_add_common
Loic Poulain (1):
bus: mhi: core: Fix power down latency
Long Li (1):
block: return the correct bvec when checking for gaps
Lorenzo Bianconi (6):
mt76: fix possible NULL pointer dereference in mt76_tx
mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb()
mt76: mt7921: do not schedule hw reset if the device is not running
mt76: testmode: fix memory leak in mt76_testmode_alloc_skb
mt76: testmode: remove undefined behaviour in mt76_testmode_alloc_skb
mt76: mt7921: wake the device before dumping power table
Luca Ceresoli (1):
clk: vc5: fix output disabling when enabling a FOD
Luca Coelho (1):
iwlwifi: increase PNVM load timeout
Luca Mariotti (1):
block, bfq: fix delayed stable merge check
Lucas Stach (2):
drm/imx: ipuv3-plane: fix PRG modifiers after drm managed resource conversion
clk: imx8mq: remove SYS PLL 1/2 clock gates
Ludovic Desroches (1):
ARM: dts: at91: sama5d4: fix pinctrl muxing
Luiz Augusto von Dentz (3):
Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
Bluetooth: Fix Set Extended (Scan Response) Data
Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event
Lukasz Luba (2):
thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure sched/fair: Take thermal pressure into account while estimating energy
Luke D. Jones (2):
platform/x86: asus-nb-wmi: Revert "Drop duplicate DMI quirk structures" platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15"
Lv Yunlong (2):
media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release
media: exynos4-is: Fix a use after free in isp_video_release
Maciej W. Rozycki (1):
serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates
Maciej Żenczykowski (2):
bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags
bpf: Do not change gso_size during bpf_skb_change_proto()
Magnus Karlsson (2):
xsk: Fix missing validation for skb and unaligned mode
xsk: Fix broken Tx ring validation
Marc Kleine-Budde (1):
iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too
Marc Zyngier (1):
KVM: arm64: Restore PMU configuration on first run
Marcelo Ricardo Leitner (1):
tc-testing: fix list handling
Marco Elver (1):
kfence: unconditionally use unbound work queue
Marek Szyprowski (2):
media: s5p-mfc: Fix display delay control creation
extcon: max8997: Add missing modalias string
Marek Vasut (1):
rsi: Assign beacon rate settings to the correct rate_info descriptor field
Mario Limonciello (2):
ACPI: processor idle: Fix up C-state latency if not ordered
nvme-pci: look for StorageD3Enable on companion ACPI device instead
Mark Rutland (1):
arm64: entry: don't instrument entry code with KCOV
Mark Zhang (2):
Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path
Martin Fuzzey (2):
rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
rsi: fix AP mode with WPA failure due to encrypted EAPOL
Mateusz Palczewski (1):
i40e: Fix autoneg disabling for non-10GBaseT links
Matteo Croce (1):
stmmac: prefetch right address
Matthias Brugger (1):
brcmfmac: Delete second brcm folder hierarchy
Matti Vaittinen (2):
regulator: bd9576: Fix the driver name in id table
extcon: extcon-max8997: Fix IRQ freeing at error path
Mauro Carvalho Chehab (22):
staging: media: rkvdec: fix pm_runtime_get_sync() usage count
media: i2c: imx334: fix the pm runtime get logic
media: marvel-ccic: fix some issues when getting pm_runtime
media: mdk-mdp: fix pm_runtime_get_sync() usage count
media: s5p: fix pm_runtime_get_sync() usage count
media: am437x: fix pm_runtime_get_sync() usage count
media: sh_vou: fix pm_runtime_get_sync() usage count
media: mtk-vcodec: fix PM runtime get logic
media: s5p-jpeg: fix pm_runtime_get_sync() usage count
media: sunxi: fix pm_runtime_get_sync() usage count
media: sti/bdisp: fix pm_runtime_get_sync() usage count
media: exynos4-is: fix pm_runtime_get_sync() usage count
media: exynos-gsc: fix pm_runtime_get_sync() usage count
media: sti: fix obj-$(config) targets
media: dvb_net: avoid speculation from net slot
media: dvbdev: fix error logic at dvb_register_device()
media: siano: fix device register error path
media: venus: Rework error fail recover logic
media: s5p_cec: decrement usage count if disabled
media: i2c: ccs-core: return the right error code at suspend
media: hantro: do a PM resume earlier
media: exynos4-is: remove a now unused integer
Maxime Ripard (4):
drm/vc4: crtc: Pass the drm_atomic_state to config_pv drm/vc4: crtc: Fix vc4_get_crtc_encoder logic drm/vc4: crtc: Lookup the encoder from the register at boot drm/vc4: hdmi: Fix error path of hpd-gpios
Maximilian Luz (1):
HID: surface-hid: Fix get-report request
Md Haris Iqbal (2):
RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats RDMA/rtrs-clt: Check if the queue_depth has changed during a reconnection
Menglong Dong (1):
net: tipc: fix FB_MTU eat two pages
Miao Wang (1):
net/ipv4: swap flow ports when validating source
Miaohe Lin (8):
swap: fix do_swap_page() race with swapoff
mm/shmem: fix shmem_swapin() race with swapoff
mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() mm/huge_memory.c: don't discard hugepage if other processes are mapping it mm/z3fold: fix potential memory leak in z3fold_destroy_pool() mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page mm/zswap.c: fix two bugs in zswap_writeback_entry()
Michael Buesch (1):
ssb: sdio: Don't overwrite const buffer if block_write fails
Michael Ellerman (2):
powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
powerpc: Fix is_kvm_guest() / kvm_para_available()
Michael Walle (4):
serial: fsl_lpuart: don't modify arbitrary data on lpuart32
serial: fsl_lpuart: remove RTSCTS handling from get_mctrl()
mtd: spi-nor: otp: fix access to security registers in 4 byte mode
mtd: spi-nor: otp: return -EROFS if region is read-only
Michal Simek (1):
clk: zynqmp: fix compile testing without ZYNQMP_FIRMWARE
Mika Westerberg (1):
thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default()
Mike Christie (6):
scsi: iscsi: Stop queueing during ep_disconnect
scsi: iscsi: Force immediate failure during shutdown
scsi: iscsi: Use system_unbound_wq for destroy_work
scsi: iscsi: Rel ref after iscsi_lookup_endpoint()
scsi: iscsi: Fix in-kernel conn failure handling
scsi: iscsi: Flush block work before unblock
Mike Kravetz (1):
hugetlb: remove prep_compound_huge_page cleanup
Mike Rapoport (1):
mm/page_alloc: fix memory map initialization for descending nodes
Miklos Szeredi (3):
fuse: ignore PG_workingset after stealing
fuse: check connected before queueing on fpq->io
fuse: reject internal errno
Mimi Zohar (1):
evm: fix writing <securityfs>/evm overflow
Minas Harutyunyan (1):
usb: dwc3: Fix debugfs creation flow
Ming Lei (6):
blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter
blk-mq: clear stale request in tags->rq[] before freeing one request pool
block: fix race between adding/removing rq qos and normal IO
block: fix discard request merge
block: avoid double io accounting for flush request
blk-mq: update hctx->dispatch_busy in case of real scheduler
Miquel Raynal (2):
mtd: rawnand: arasan: Ensure proper configuration for the asserted target
mtd: spinand: Fix double counting of ECC stats
Mirko Vogt (1):
spi: spi-sun6i: Fix chipselect/clock bug
Moritz Fischer (1):
usb: renesas-xhci: Fix handling of unknown ROM state
Muchun Song (2):
writeback: fix obtain a reference to a freeing memcg css
mm: migrate: fix missing update page_private to hugetlb_page_subpool
Namjae Jeon (1):
exfat: handle wrong stream entry size in exfat_readdir()
Naohiro Aota (2):
btrfs: zoned: print message when zone sanity check type fails
btrfs: fix unbalanced unlock in qgroup_account_snapshot()
Nathan Chancellor (2):
KVM: PPC: Book3S HV: Workaround high stack usage with clang
ACPI: bgrt: Fix CFI violation
Nicholas Piggin (5):
powerpc/powernv: Fix machine check reporting of async store errors
powerpc: Offline CPU in stop_this_cpu()
powerpc/64s: Fix copy-paste data exposure into newly created tasks powerpc/64s: fix hash page fault interrupt handler powerpc/64s/interrupt: preserve regs->softe for NMI interrupts
Nick Desaulniers (1):
Makefile: fix GDB warning with CONFIG_RELR
Nicolas Saenz Julienne (1):
mm: mmap_lock: use local locks instead of disabling preemption
Niklas Schnelle (1):
s390: enable HAVE_IOREMAP_PROT
Norbert Slusarek (1):
can: j1939: j1939_sk_setsockopt(): prevent allocation of j1939 filter for optlen == 0
Nuno Sa (3):
iio: adis_buffer: do not return ints in irq handlers
iio: adis16400: do not return ints in irq handlers
iio: adis16475: do not return ints in irq handlers
Oder Chiou (1):
ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire
Odin Ugedal (1):
sched/fair: Fix ascii art by relpacing tabs
Oleksij Rempel (1):
can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done
Oliver Hartkopp (2):
can: gw: synchronize rcu operations before removing gw job entry
can: isotp: isotp_release(): omit unintended hrtimer restart on socket release
Oliver Lang (2):
iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR
iio: ltr501: ltr501_read_ps(): add missing endianness conversion
Ondrej Zary (2):
serial_cs: Add Option International GSM-Ready 56K/ISDN modem
serial_cs: remove wrong GLOBETROTTER.cis entry
Pablo Neira Ayuso (7):
netfilter: nft_exthdr: check for IPv6 packet before further processing
netfilter: nft_osf: check for TCP packet before further processing
netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols
netfilter: nf_tables: memleak in hw offload abort path
netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic
netfilter: nf_tables: skip netlink portID validation if zero
netfilter: nf_tables: do not allow to delete table with owner by handle
Pali Rohár (5):
serial: mvebu-uart: fix calculation of clock divisor
ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()
serial: mvebu-uart: do not allow changing baudrate when uartclk is not available
serial: mvebu-uart: correctly calculate minimal possible baudrate
arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
Pan Dong (1):
ext4: fix avefreec in find_group_orlov
Paolo Abeni (3):
mptcp: fix bad handling of 32 bit ack wrap-around
mptcp: fix 32 bit DSN expansion
mptcp: avoid race on msk state changes
Paolo Valente (2):
block, bfq: avoid delayed merge of async queues block, bfq: reset waker pointer with shared queues
Pascal Giard (1):
HID: sony: fix freeze when inserting ghlive ps3/wii dongles
Paul E. McKenney (3):
clocksource: Retry clock read if long delays detected
clocksource: Check per-CPU clock synchronization when marked unstable
rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread()
Paulo Alcantara (1):
cifs: fix check of dfs interlinks
Pavel Begunkov (1):
io_uring: fix blocking inline submission
Pavel Machek (1):
net: pxa168_eth: Fix a potential data race in pxa168_eth_remove
Pavel Skripkin (10):
Bluetooth: hci_qca: fix potential GPF
media: dvb-usb: fix wrong definition
net: can: ems_usb: fix use-after-free in ems_usb_disconnect()
media: cpia2: fix memory leak in cpia2_usb_probe
net: ethernet: aeroflex: fix UAF in greth_of_remove
net: ethernet: ezchip: fix UAF in nps_enet_remove
net: ethernet: ezchip: fix error handling
net: sched: fix warning in tcindex_alloc_perfect_hash
staging: rtl8712: fix error handling in r871xu_drv_init
staging: rtl8712: fix memory leak in rtl871x_load_fw_cb
Peter Geis (1):
clk: rockchip: fix rk3568 cpll clk gate bits
Peter Zijlstra (3):
lockdep: Fix wait-type for empty stack lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING
perf: Fix task context PMU for Hetero
Petr Mladek (1):
kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()
Petr Oros (1):
Revert "be2net: disable bh with spin_lock in be_process_mcc"
Philipp Zabel (2):
media: video-mux: Skip dangling endpoints
drm/imx: ipuv3-plane: do not advertise YUV formats on planes without CSC
Pierre-Louis Bossart (10):
ASoC: max98373-sdw: add missing memory allocation check
ASoC: max98373-sdw: use first_hw_init flag on resume
ASoC: rt1308-sdw: use first_hw_init flag on resume
ASoC: rt1316-sdw: use first_hw_init flag on resume
ASoC: rt5682-sdw: use first_hw_init flag on resume
ASoC: rt700-sdw: use first_hw_init flag on resume
ASoC: rt711-sdca-sdw: use first_hw_init flag on resume
ASoC: rt711-sdw: use first_hw_init flag on resume
ASoC: rt715-sdca-sdw: use first_hw_init flag on resume
ASoC: rt715-sdw: use first_hw_init flag on resume
Ping-Ke Shih (1):
mac80211: remove iwlwifi specific workaround NDPs of null_response
Po-Hao Huang (1):
rtw88: 8822c: fix lc calibration timing
Praveen Kumar (1):
x86/hyperv: fix logical processor creation
Qais Yousef (3):
sched/uclamp: Fix wrong implementation of cpu.uclamp.min sched/uclamp: Fix locking around cpu_util_update_eff() sched/uclamp: Fix uclamp_tg_restrict()
Qu Wenruo (1):
btrfs: don't clear page extent mapped if we're not invalidating the full page
Quat Le (1):
scsi: core: Retry I/O for Notify (Enable Spinup) Required error
Rafael J. Wysocki (3):
ACPI: scan: Rearrange dep_unmet initialization
ACPI: PM / fan: Put fan device IDs into separate header file
cpufreq: Make cpufreq_online() call driver->offline() on errors
Rafał Miłecki (1):
net: broadcom: bcm4908_enet: reset DMA rings sw indexes properly
Randy Dunlap (9):
media: I2C: change 'RST' to "RSET" to fix multiple build errors
regulator: bd71815: add select to fix build locking/lockdep: Reduce LOCKDEP dependency list
m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning EDAC/igen6: fix core dependency
wireless: carl9170: fix LEDS build errors & warnings
scsi: FlashPoint: Rename si_flags field
mfd: mp2629: Select MFD_CORE to fix build error
s390: appldata depends on PROC_SYSCTL
Ravi Bangoria (1):
bpf, x86: Fix extable offset calculation
Richard Fitzgerald (5):
lib: vsprintf: Fix handling of number field widths in vsscanf
random32: Fix implicit truncation warning in prandom_seed_state()
ACPI: tables: Add custom DSDT file as makefile prerequisite
ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
soundwire: stream: Fix test for DP prepare complete
Robert Foss (1):
drm/bridge/sii8620: fix dependency on extcon
Robert Hancock (4):
clk: si5341: Wait for DEVICE_READY on startup
clk: si5341: Avoid divide errors due to bogus register contents
clk: si5341: Check for input clock presence and PLL lock on startup
clk: si5341: Update initialization magic
Roberto Sassu (3):
evm: Execute evm_inode_init_security() only when an HMAC key is loaded
evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded
ima: Don't remove security.ima if file must not be appraised
Robin Murphy (2):
perf/smmuv3: Don't trample existing events with global filter iommu/amd: Tidy up DMA ops init
Rodrigo Campos (1):
seccomp: Support atomic "addfd + send reply"
Roman Gushchin (1):
writeback, cgroup: increment isw_nr_in_flight before grabbing an inode
Roman Li (1):
drm/amd/display: fix potential gpu reset deadlock
Ronnie Sahlberg (1):
cifs: improve fallocate emulation
Ryder Lee (2):
mt76: mt7615: fix potential overflow on large shift
mt76: mt7915: fix MT_EE_CAL_GROUP_SIZE
Sabrina Dubroca (1):
xfrm: xfrm_state_mtu should return at least 1280 for ipv6
Sasha Levin (1):
net: wwan: Fix WWAN config symbols
Sasha Neftin (1):
e1000e: Check the PCIm state
Sean Christopherson (10):
KVM: nVMX: Handle split-lock #AC exceptions that happen in L2
KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT
KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs
KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk
KVM: x86: Properly reset MMU context at vCPU RESET/INIT
KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified
KVM: nVMX: Sync all PGDs on nested transition with shadow paging
KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap
KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch
KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build
Sean Wang (10):
mt76: mt7921: fix mt7921_wfsys_reset sequence
mt76: mt7921: Don't alter Rx path classifier
mt76: connac: fw_own rely on all packet memory all being free
mt76: mt7921: consider the invalid value for to_rssi
mt76: mt7921: add back connection monitor support
mt76: mt7921: fix invalid register access in wake_work
mt76: mt7921: fix OMAC idx usage
mt76: mt7921: avoid unnecessary consecutive WiFi resets
mt76: mt7921: fix kernel warning when reset on vif is not sta
mt76: mt7921: fix the coredump is being truncated
Seevalamuthu Mariappan (1):
ath11k: send beacon template after vdev_start/restart during csa
Sergey Shtylyov (4):
sata_highbank: fix deferred probing
pata_rb532_cf: fix deferred probing
pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
pata_ep93xx: fix deferred probing
Sergio Paracuellos (2):
phy: ralink: phy-mt7621-pci: properly print pointer address
staging: mt7621-dts: fix pci address for PCI memory range
Shaokun Zhang (1):
drivers/perf: hisi: Fix data source control
Shawn Guo (1):
mailbox: qcom: Use PLATFORM_DEVID_AUTO to register platform device
Shayne Chen (1):
mt76: mt7915: fix rx fcs error count in testmode
Shengjiu Wang (3):
ASoC: fsl_spdif: Fix error handler with pm_runtime_enable
ASoC: fsl_xcvr: disable all interrupts when suspend happens
ASoC: fsl_spdif: Fix unexpected interrupt after suspend
Shin'ichiro Kawasaki (1):
f2fs: Prevent swap file in LFS mode
Shuah Khan (1):
media: Fix Media Controller API config checks
Sibi Sankar (1):
mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion
Srinath Mannam (1):
iommu/dma: Fix IOVA reserve dma ranges
Srinivas Pandruvada (1):
tools/power/x86/intel-speed-select: Fix uncore memory frequency display
Stanimir Varbanov (1):
media: venus: hfi_cmds: Fix conceal color property
Stephan Gerhold (3):
iio: accel: bma180: Fix BMA25x bandwidth register values
iio: accel: bmc150: Fix bma222 scale unit
extcon: sm5502: Drop invalid register write in sm5502_reg_data
Stephane Grosjean (1):
can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path
Stephen Boyd (1):
ASoC: rt5682: Disable irq on shutdown
Stephen Brennan (1):
ext4: use ext4_grp_locked_error in mb_find_extent
Stephen Rothwell (1):
drm/i915: Merge fix for "drm: Switch to %p4cc format modifier"
Steve French (4):
smb3: fix uninitialized value for port in witness protocol move
cifs: fix SMB1 error path in cifs_get_file_info_unix
smb3: fix possible access to uninitialized pointer to DACL
cifs: fix missing spinlock around update to ses->status
Steve Longerbeam (1):
media: imx-csi: Skip first few frames from a BT.656 source
Steven Rostedt (VMware) (2):
tracing/histograms: Fix parsing of "sym-offset" modifier
tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
Sukadev Bhattiprolu (5):
Revert "ibmvnic: simplify reset_long_term_buff function"
ibmvnic: clean pending indirect buffs during reset
ibmvnic: account for bufs already saved in indir_buf
ibmvnic: set ltb->buff to NULL after freeing
ibmvnic: free tx_pool if tso_pool alloc fails
Suman Anna (3):
crypto: sa2ul - Fix leaks on failure paths with sa_dma_init()
crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe()
crypto: sa2ul - Use of_device_get_match_data() helper
Suraj Jitindar Singh (1):
KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors
Szymon Janc (1):
Bluetooth: Remove spurious error message
Takashi Iwai (8):
ALSA: usb-audio: Fix OOB access at proc output
ALSA: usb-audio: scarlett2: Fix wrong resume call
ALSA: intel8x0: Fix breakage at ac97 clock measurement
ALSA: hda/realtek: Add another ALC236 variant support
ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D
ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too
Input: elants_i2c - fix NULL dereference at probing drm/ast: Fix missing conversions to managed API
Takashi Sakamoto (2):
ALSA: bebob: fix rx packet format for Yamaha GO44/GO46, Terratec Phase 24/x24
ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire
Taniya Das (1):
clk: qcom: gcc: Add support for a new frequency for SC7280
Tejas Upadhyay (1):
x86/gpu: add JasperLake to gen11 early quirks
Thadeu Lima de Souza Cascardo (1):
can: bcm: delay release of struct bcm_op after synchronize_rcu()
Thara Gopinath (1):
crypto: qce: skcipher: Fix incorrect sg count for dma transfers
Thiago Rafael Becker (1):
cifs: retry lookup and readdir when EAGAIN is returned.
Thomas Hebb (1):
drm/rockchip: dsi: move all lane config except LCDC mux to bind()
Thomas Hellstrom (2):
drm/vmwgfx: Mark a surface gpu-dirty after the SVGA3dCmdDXGenMips command drm/vmwgfx: Fix cpu updates of coherent multisample surfaces
Tian Tao (2):
spi: omap-100k: Fix the length judgment problem
arm64: perf: Convert snprintf to sysfs_emit
Tobias Schramm (1):
clk: sunxi-ng: v3s: fix incorrect postdivider on pll-audio
Tong Tiangen (2):
crypto: nitrox - fix unchecked variable in nitrox_register_interrupts
brcmfmac: Fix a double-free in brcmf_sdio_bus_reset
Tong Zhang (2):
media: bt878: do not schedule tasklet when it is not setup
memstick: rtsx_usb_ms: fix UAF
Tony Ambardar (1):
bpf: Fix libelf endian handling in resolv_btfids
Tony Lindgren (1):
clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG
Tony Luck (1):
EDAC/Intel: Do not load EDAC driver when running as a guest
Trent Piepho (1):
lib/math/rational.c: fix divide by zero
Tuan Phan (1):
perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number
Vadim Fedorenko (1):
net: lwtunnel: handle MTU calculation in forwading
Vaibhav Jain (1):
powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable
Valentin Schneider (5):
sched/core: Initialize the idle task with preemption disabled
sched: Make the idle task quack like a per-CPU kthread
sched: Don't defer CPU pick to migration_cpu_stop()
s390: preempt: Fix preempt_count initialization powerpc/preempt: Don't touch the idle task's preempt_count during hotplug
Varun Prakash (1):
scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd()
Vignesh Raghavendra (2):
net: ti: am65-cpsw-nuss: Fix crash when changing number of TX queues
serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs
Vincent Donnefort (2):
sched/rt: Fix RT utilization tracking during policy change sched/rt: Fix Deadline utilization tracking during policy change
Vineeth Vijayan (1):
s390/cio: dont call css_wait_for_slow_path() inside a lock
Vladimir Oltean (1):
net: dsa: sja1105: fix NULL pointer dereference in sja1105_reload_cbs()
Waiman Long (1):
mm: memcg/slab: properly set up gfp flags for objcg pointer array
Wang Hai (2):
samples/bpf: Fix Segmentation fault for xdp_redirect command samples/bpf: Fix the error return code of xdp_redirect's main()
Wei Li (1):
MIPS: Fix PKMAP with 32-bit MIPS huge page support
Wei Yongjun (4):
net: qrtr: ns: Fix error return code in qrtr_ns_init()
iio: dummy: Fix build error when CONFIG_IIO_TRIGGERED_BUFFER is not set
erofs: fix error return code in erofs_read_superblock()
crypto: qce - fix error return code in qce_skcipher_async_req_handle()
Weihang Li (1):
RDMA/hns: Add a check to ensure integer mtu is positive
Wong Vee Khee (1):
net: stmmac: Fix potential integer overflow
Xi Wang (2):
RDMA/hns: Fix wrong timer context buffer page size RDMA/hns: Clear extended doorbell info before using
Xiaochen Shen (1):
selftests/resctrl: Fix incorrect parsing of option "-t"
Xiaofei Tan (1):
ACPI: APEI: fix synchronous external aborts in user-mode
Xin Long (1):
xfrm: remove the fragment check for ipv6 beet mode
YN Chen (1):
mt76: connac: fix WoW with disconnetion and bitmap pattern
Yang Jihong (1):
arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode
Yang Li (1):
ath10k: Fix an error code in ath10k_add_interface()
Yang Yingliang (10):
ext4: return error code when ext4_fill_flex_info() fails
iio: frequency: adf4350: disable reg and clk on error in adf4350_probe()
net: ftgmac100: add missing error return code in ftgmac100_probe() drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()
ath10k: go to path err_unsupported when chip id is not supported
ath10k: add missing error return code in ath10k_pci_probe()
ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe()
ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()
cred: add missing return error code when set_cred_ucounts() failed
Yingjie Wang (1):
drm/amd/dc: Fix a missing check bug in dm_dp_mst_detect()
Yixian Liu (1):
RDMA/hns: Remove the condition of light load for posting DWQE
Yixing Liu (2):
RDMA/hns: Fix uninitialized variable
RDMA/hns: Add window selection field of congestion control
Yoshihiro Shimoda (1):
serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()
Yu Kuai (1):
char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
YueHaibing (2):
hv_utils: Fix passing zero to 'PTR_ERR' warning PM / devfreq: Add missing error code in devfreq_add_device()
Yun Zhou (1):
seq_buf: Make trace_seq_putmem_hex() support data longer than 8
Yunsheng Lin (1):
net: sched: add barrier to ensure correct ordering for lockless qdisc
Zhan Liu (1):
drm/amd/display: Avoid HPD IRQ in GPU reset state
Zhang Qilong (1):
crypto: omap-sham - Fix PM reference leak in omap sham ops
Zhang Rui (1):
ACPI: EC: trust DSDT GPE for certain HP laptop
Zhang Xiaoxu (2):
SUNRPC: Fix the batch tasks count wraparound.
SUNRPC: Should wake up the privileged task firstly.
Zhang Yi (5):
ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle
ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit
ext4: remove check for zero nr_to_scan in ext4_es_scan()
blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
blk-wbt: make sure throttle is enabled properly
Zhangjiantao (Kirin, nanjing) (1):
xhci: solve a double free problem while doing s4
Zhaoyang Huang (1):
psi: Fix race between psi_trigger_create/destroy
Zhen Lei (11):
crypto: ux500 - Fix error return code in hash_hw_final()
media: tc358743: Fix error return code in tc358743_probe_of()
mmc: usdhi6rol0: fix error return code in usdhi6_probe()
ehea: fix error return code in ehea_restart_qps()
ssb: Fix error return code in ssb_bus_scan() drm/msm: Fix error return code in msm_drm_init() drm/msm/dpu: Fix error return code in dpu_mdss_init()
Input: hil_kbd - fix error return code in hil_dev_connect()
visorbus: fix error return code in visorchipset_init()
scsi: mpt3sas: Fix error return value in _scsih_expander_add()
leds: as3645a: Fix error return code in as3645a_parse_node()
Zheyu Ma (2):
media: bt8xx: Fix a missing check bug in bt878_probe
mmc: via-sdmmc: add a check against NULL pointer dereference
Zhihao Cheng (1):
tools/bpftool: Fix error return code in do_batch()
Zoltan Tamas Vajda (1):
HID: hid-input: add Surface Go battery quirk
Zou Wei (1):
regulator: uniphier: Add missing MODULE_DEVICE_TABLE
frank zago (1):
iio: light: tcs3472: do not free unallocated IRQ
zhangyi (F) (1):
block_dump: remove block_dump feature in mark_inode_dirty()
zpershuai (2):
spi: meson-spicc: fix a wrong goto jump for avoiding memory leak.
spi: meson-spicc: fix memory leak in meson_spicc_probe
Łukasz Stelmach (1):
hwrng: exynos - Fix runtime PM imbalance on error
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/evm +24 -2
@@ -49,8 +49,30 @@ Description: modification of EVM-protected metadata and disable all further modification of policy - Note that once a key has been loaded, it will no longer be - possible to enable metadata modification. + Echoing a value is additive, the new value is added to the + existing initialization flags. + + For example, after:: + + echo 2 ><securityfs>/evm + + another echo can be performed:: + + echo 1 ><securityfs>/evm + + and the resulting value will be 3. + + Note that once an HMAC key has been loaded, it will no longer + be possible to enable metadata modification. Signaling that an + HMAC key has been loaded will clear the corresponding flag. + For example, if the current value is 6 (2 and 4 set):: + + echo 1 ><securityfs>/evm + + will set the new value to 3 (4 cleared). + + Loading an HMAC key is the only way to disable metadata + modification. Until key loading has been signaled EVM can not create or validate the 'security.evm' xattr, but returns
Documentation/ABI/testing/sysfs-bus-papr-pmem +5 -3
@@ -39,9 +39,11 @@ KernelVersion: v5.9 Contact: linuxppc-dev <[email protected]>, [email protected], Description: (RO) Report various performance stats related to papr-scm NVDIMM - device. Each stat is reported on a new line with each line - composed of a stat-identifier followed by it value. Below are - currently known dimm performance stats which are reported: + device. This attribute is only available for NVDIMM devices + that support reporting NVDIMM performance stats. Each stat is + reported on a new line with each line composed of a + stat-identifier followed by it value. Below are currently known + dimm performance stats which are reported: * "CtlResCt" : Controller Reset Count * "CtlResTm" : Controller Reset Elapsed Time
Documentation/admin-guide/kernel-parameters.txt +6 -0
@@ -581,6 +581,12 @@ loops can be debugged more effectively on production systems. + clocksource.max_cswd_read_retries= [KNL] + Number of clocksource_watchdog() retries due to + external delays before the clock will be marked + unstable. Defaults to three retries, that is, + four attempts to read the clock under test. + clearcpuid=BITNUM[,BITNUM...] [X86] Disable CPUID feature X for the kernel. See arch/x86/include/asm/cpufeatures.h for the valid bit
Documentation/hwmon/max31790.rst +3 -2
@@ -38,6 +38,7 @@ Sysfs entries fan[1-12]_input RO fan tachometer speed in RPM fan[1-12]_fault RO fan experienced fault fan[1-6]_target RW desired fan speed in RPM -pwm[1-6]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode -pwm[1-6] RW fan target duty cycle (0-255) +pwm[1-6]_enable RW regulator mode, 0=disabled (duty cycle=0%), 1=manual mode, 2=rpm mode +pwm[1-6] RW read: current pwm duty cycle, + write: target pwm duty cycle (0-255) ================== === =======================================================
Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +4 -1
@@ -3053,7 +3053,7 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - :stub-columns: 0 :widths: 1 1 2 - * - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT`` + * - ``V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED`` - 0x00000001 - * - ``V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT``
@@ -3277,6 +3277,9 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED`` - 0x00000100 - + * - ``V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT`` + - 0x00000200 + - .. raw:: latex
Documentation/userspace-api/seccomp_filter.rst +12 -0
@@ -259,6 +259,18 @@ and ``ioctl(SECCOMP_IOCTL_NOTIF_SEND)`` a response, indicating what should be returned to userspace. The ``id`` member of ``struct seccomp_notif_resp`` should be the same ``id`` as in ``struct seccomp_notif``. +Userspace can also add file descriptors to the notifying process via +``ioctl(SECCOMP_IOCTL_NOTIF_ADDFD)``. The ``id`` member of +``struct seccomp_notif_addfd`` should be the same ``id`` as in +``struct seccomp_notif``. The ``newfd_flags`` flag may be used to set flags +like O_EXEC on the file descriptor in the notifying process. If the supervisor +wants to inject the file descriptor with a specific number, the +``SECCOMP_ADDFD_FLAG_SETFD`` flag can be used, and set the ``newfd`` member to +the specific number to use. If that file descriptor is already open in the +notifying process it will be replaced. The supervisor can also add an FD, and +respond atomically by using the ``SECCOMP_ADDFD_FLAG_SEND`` flag and the return +value will be the injected file descriptor number. + It is worth noting that ``struct seccomp_data`` contains the values of register arguments to the syscall, but does not contain pointers to memory. The task's memory is accessible to suitably privileged traces via ``ptrace()`` or
Makefile +2 -2
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 13 -SUBLEVEL = 1 +SUBLEVEL = 2 EXTRAVERSION = NAME = Opossums on Parade
@@ -1039,7 +1039,7 @@ LDFLAGS_vmlinux += $(call ld-option, -X,) endif ifeq ($(CONFIG_RELR),y) -LDFLAGS_vmlinux += --pack-dyn-relocs=relr +LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags endif # We never want expected sections to be placed heuristically by the
arch/alpha/kernel/smp.c +0 -1
@@ -166,7 +166,6 @@ smp_callin(void)DBGS (("smp_callin: commencing CPU %d current %p active_mm %p\n" , cpuid, current, current->active_mm)); -preempt_disable ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE ); }
arch/arc/kernel/smp.c +0 -1
@@ -189,7 +189,6 @@ void start_kernel_secondary(void)pr_info ("## CPU%u LIVE ##: Executing Code...\n" , cpu);local_irq_enable (); -preempt_disable ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE ); }
arch/arm/boot/dts/sama5d4.dtsi +1 -1
@@ -787,7 +787,7 @@ pinctrl: pinctrl@fc06a000 { 0xffffffff 0x3ffcfe7c 0x1c010101 /* pioA */ 0x7fffffff 0xfffccc3a 0x3f00cc3a /* pioB */ 0xffffffff 0x3ff83fff 0xff00ffff /* pioC */ - 0x0003ff00 0x8002a800 0x00000000 /* pioD */ + 0xb003ff00 0x8002a800 0x00000000 /* pioD */ 0xffffffff 0x7fffffff 0x76fff1bf /* pioE */ >;
arch/arm/boot/dts/ste-href.dtsi +7 -0
@@ -4,6 +4,7 @@ */ #include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/leds/common.h> #include "ste-href-family-pinctrl.dtsi" / {
@@ -64,17 +65,20 @@ chan@0 { reg = <0>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; linux,default-trigger = "heartbeat"; }; chan@1 { reg = <1>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; }; chan@2 { reg = <2>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; }; }; lp5521@34 {
@@ -88,16 +92,19 @@ chan@0 { reg = <0>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; }; chan@1 { reg = <1>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; }; chan@2 { reg = <2>; led-cur = /bits/ 8 <0x2f>; max-cur = /bits/ 8 <0x5f>; + color = <LED_COLOR_ID_BLUE>; }; }; bh1780@29 {
arch/arm/kernel/perf_event_v7.c +2 -2
@@ -773,10 +773,10 @@ static inline void armv7pmu_write_counter(struct perf_event *event, u64 value)pr_err ("CPU%u writing wrong counter %d\n" ,smp_processor_id (), idx); }else if (idx ==ARMV7_IDX_CYCLE_COUNTER ) { - asmvolatile ("mcr p15, 0, %0, c9, c13, 0" : :"r" (value)); + asmvolatile ("mcr p15, 0, %0, c9, c13, 0" : :"r" ((u32 )value)); }else {armv7_pmnc_select_counter (idx); - asmvolatile ("mcr p15, 0, %0, c9, c13, 2" : :"r" (value)); + asmvolatile ("mcr p15, 0, %0, c9, c13, 2" : :"r" ((u32 )value)); } }
arch/arm/kernel/smp.c +0 -1
@@ -432,7 +432,6 @@ asmlinkage void secondary_start_kernel(void)#endif pr_debug ("CPU%u: Booted secondary processor\n" , cpu); -preempt_disable ();trace_hardirqs_off ();/*
arch/arm64/boot/dts/marvell/armada-37xx.dtsi +1 -1
@@ -134,7 +134,7 @@ avs: avs@11500 { uart0: serial@12000 { compatible = "marvell,armada-3700-uart"; - reg = <0x12000 0x200>; + reg = <0x12000 0x18>; clocks = <&xtalclk>; interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/include/asm/kvm_host.h +1 -0
@@ -46,6 +46,7 @@#define KVM_REQ_VCPU_RESET KVM_ARCH_REQ(2)#define KVM_REQ_RECORD_STEAL KVM_ARCH_REQ(3)#define KVM_REQ_RELOAD_GICv4 KVM_ARCH_REQ(4) +#define KVM_REQ_RELOAD_PMU KVM_ARCH_REQ(5)#define KVM_DIRTY_LOG_MANUAL_CAPS (KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE | \ KVM_DIRTY_LOG_INITIALLY_SET)
arch/arm64/include/asm/mmu_context.h +2 -2
@@ -177,9 +177,9 @@ static inline void update_saved_ttbr0(struct task_struct *tsk,return ;if (mm == &init_mm) - ttbr =__pa_symbol (reserved_pg_dir); + ttbr =phys_to_ttbr (__pa_symbol (reserved_pg_dir));else - ttbr =virt_to_phys (mm->pgd) |ASID (mm) <<48 ; + ttbr =phys_to_ttbr (virt_to_phys (mm->pgd)) |ASID (mm) <<48 ;WRITE_ONCE (task_thread_info (tsk)->ttbr0, ttbr); }
arch/arm64/include/asm/preempt.h +1 -1
@@ -23,7 +23,7 @@ static inline void preempt_count_set(u64 pc) } while (0)#define init_idle_preempt_count (p, cpu) do { \ - task_thread_info(p)->preempt_count = PREEMPT_ENABLED; \ + task_thread_info(p)->preempt_count = PREEMPT_DISABLED; \ } while (0)static inline void set_preempt_need_resched (void )
arch/arm64/kernel/Makefile +5 -0
@@ -14,6 +14,11 @@ CFLAGS_REMOVE_return_address.o = $(CC_FLAGS_FTRACE) CFLAGS_REMOVE_syscall.o = -fstack-protector -fstack-protector-strong CFLAGS_syscall.o += -fno-stack-protector +# It's not safe to invoke KCOV when portions of the kernel environment aren't +# available or are out-of-sync with HW state. Since `noinstr` doesn't always +# inhibit KCOV instrumentation, disable it for the entire compilation unit. +KCOV_INSTRUMENT_entry.o := n + # Object file lists. obj-y := debug-monitors.o entry.o irq.o fpsimd.o \ entry-common.o entry-fpsimd.o process.o ptrace.o \
arch/arm64/kernel/perf_event.c +1 -1
@@ -312,7 +312,7 @@ static ssize_t slots_show(struct device *dev, struct device_attribute *attr, struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);u32 slots = cpu_pmu->reg_pmmir &ARMV8_PMU_SLOTS_MASK ; -return snprintf (page,PAGE_SIZE ,"0x%08x\n" , slots); +return sysfs_emit (page,"0x%08x\n" , slots); }static DEVICE_ATTR_RO (slots);
arch/arm64/kernel/setup.c +1 -1
@@ -381,7 +381,7 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)* faults in case uaccess_enable() is inadvertently called by the init * thread. */ - init_task.thread_info.ttbr0 =__pa_symbol (reserved_pg_dir); + init_task.thread_info.ttbr0 =phys_to_ttbr (__pa_symbol (reserved_pg_dir));#endif if (boot_args[1 ] || boot_args[2 ] || boot_args[3 ]) {
arch/arm64/kernel/smp.c +0 -1
@@ -224,7 +224,6 @@ asmlinkage notrace void secondary_start_kernel(void)init_gic_priority_masking ();rcu_cpu_starting (cpu); -preempt_disable ();trace_hardirqs_off ();/*
arch/arm64/kvm/arm.c +4 -0
@@ -689,6 +689,10 @@ static void check_vcpu_requests(struct kvm_vcpu *vcpu)vgic_v4_load (vcpu);preempt_enable (); } + +if (kvm_check_request (KVM_REQ_RELOAD_PMU , vcpu)) +kvm_pmu_handle_pmcr (vcpu, +__vcpu_sys_reg (vcpu,PMCR_EL0 )); } }
arch/arm64/kvm/pmu-emul.c +4 -0
@@ -578,6 +578,7 @@ void kvm_pmu_handle_pmcr(struct kvm_vcpu *vcpu, u64 val)kvm_pmu_set_counter_value (vcpu,ARMV8_PMU_CYCLE_IDX ,0 );if (val &ARMV8_PMU_PMCR_P ) { + mask &= ~BIT (ARMV8_PMU_CYCLE_IDX );for_each_set_bit (i, &mask,32 )kvm_pmu_set_counter_value (vcpu, i,0 ); }
@@ -850,6 +851,9 @@ int kvm_arm_pmu_v3_enable(struct kvm_vcpu *vcpu)return -EINVAL ; } +/* One-off reload of the PMU on first run */ +kvm_make_request (KVM_REQ_RELOAD_PMU , vcpu); +return 0 ; }
arch/csky/kernel/smp.c +0 -1
@@ -281,7 +281,6 @@ void csky_start_secondary(void)pr_info ("CPU%u Online: %s...\n" , cpu, __func__);local_irq_enable (); -preempt_disable ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE ); }
arch/csky/mm/syscache.c +7 -5
@@ -12,15 +12,17 @@ SYSCALL_DEFINE3(cacheflush, int, cache) {switch (cache) { -case ICACHE :case BCACHE : -flush_icache_mm_range (current->mm, - (unsigned long )addr, - (unsigned long )addr + bytes); - fallthrough;case DCACHE :dcache_wb_range ((unsigned long )addr, (unsigned long )addr + bytes); +if (cache !=BCACHE ) +break ; + fallthrough; +case ICACHE : +flush_icache_mm_range (current->mm, + (unsigned long )addr, + (unsigned long )addr + bytes);break ;default :return -EINVAL ;
arch/ia64/kernel/mca_drv.c +1 -1
@@ -343,7 +343,7 @@ init_record_index_pools(void)/* - 2 - */ sect_min_size = sal_log_sect_min_sizes[0 ]; -for (i =1 ; i <sizeof sal_log_sect_min_sizes/sizeof (size_t ); i++) +for (i =1 ; i <ARRAY_SIZE (sal_log_sect_min_sizes); i++)if (sect_min_size > sal_log_sect_min_sizes[i]) sect_min_size = sal_log_sect_min_sizes[i];
arch/ia64/kernel/smpboot.c +0 -1
@@ -441,7 +441,6 @@ start_secondary (void *unused)#endif efi_map_pal_code ();cpu_init (); -preempt_disable ();smp_callin ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE );
arch/m68k/Kconfig.machine +3 -0
@@ -25,6 +25,9 @@ config ATARI this kernel on an Atari, say Y here and browse the material available in <file:Documentation/m68k>; otherwise say N. +config ATARI_KBD_CORE + bool + config MAC bool "Macintosh support" depends on MMU
arch/mips/include/asm/highmem.h +1 -1
@@ -36,7 +36,7 @@ extern pte_t *pkmap_page_table;* easily, subsequent pte tables have to be allocated in one physical * chunk of RAM. */ -#ifdef CONFIG_PHYS_ADDR_T_64BIT +#if defined(CONFIG_PHYS_ADDR_T_64BIT ) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT )#define LAST_PKMAP 512#else #define LAST_PKMAP 1024
arch/mips/kernel/smp.c +0 -1
@@ -348,7 +348,6 @@ asmlinkage void start_secondary(void)*/ calibrate_delay (); -preempt_disable (); cpu =smp_processor_id (); cpu_data[cpu].udelay_val = loops_per_jiffy;
arch/openrisc/kernel/smp.c +0 -2
@@ -145,8 +145,6 @@ asmlinkage __init void secondary_start_kernel(void)set_cpu_online (cpu, true);local_irq_enable (); - -preempt_disable ();/* * OK, it's off to the idle thread for us */
arch/parisc/kernel/smp.c +0 -1
@@ -302,7 +302,6 @@ void __init smp_callin(unsigned long pdce_proc)#endif smp_cpu_init (slave_id); -preempt_disable ();flush_cache_all_local ();/* start with known state */ flush_tlb_all_local (NULL );
arch/powerpc/include/asm/cputhreads.h +30 -0
@@ -98,6 +98,36 @@ static inline int cpu_last_thread_sibling(int cpu)return cpu | (threads_per_core -1 ); } +/* +* tlb_thread_siblings are siblings which share a TLB. This is not +* architected, is not something a hypervisor could emulate and a future +* CPU may change behaviour even in compat mode, so this should only be +* used on PowerNV, and only with care. +*/ +static inline int cpu_first_tlb_thread_sibling (int cpu) +{ +if (cpu_has_feature (CPU_FTR_ARCH_300 ) && (threads_per_core ==8 )) +return cpu & ~0x6 ;/* Big Core */ +else +return cpu_first_thread_sibling (cpu); +} + +static inline int cpu_last_tlb_thread_sibling (int cpu) +{ +if (cpu_has_feature (CPU_FTR_ARCH_300 ) && (threads_per_core ==8 )) +return cpu |0x6 ;/* Big Core */ +else +return cpu_last_thread_sibling (cpu); +} + +static inline int cpu_tlb_thread_sibling_step (void ) +{ +if (cpu_has_feature (CPU_FTR_ARCH_300 ) && (threads_per_core ==8 )) +return 2 ;/* Big Core */ +else +return 1 ; +} +static inline u32 get_tensr (void ) {#ifdef CONFIG_BOOKE
arch/powerpc/include/asm/interrupt.h +3 -0
@@ -186,6 +186,7 @@ struct interrupt_nmi_state {u8 irq_soft_mask;u8 irq_happened;u8 ftrace_enabled; +u64 softe;#endif };
@@ -211,6 +212,7 @@ static inline void interrupt_nmi_enter_prepare(struct pt_regs *regs, struct inte#ifdef CONFIG_PPC64 state->irq_soft_mask = local_paca->irq_soft_mask; state->irq_happened = local_paca->irq_happened; + state->softe = regs->softe;/* * Set IRQS_ALL_DISABLED unconditionally so irqs_disabled() does
@@ -263,6 +265,7 @@ static inline void interrupt_nmi_exit_prepare(struct pt_regs *regs, struct inter/* Check we didn't change the pending interrupt mask. */ WARN_ON_ONCE ((state->irq_happened |PACA_IRQ_HARD_DIS ) != local_paca->irq_happened); + regs->softe = state->softe; local_paca->irq_happened = state->irq_happened; local_paca->irq_soft_mask = state->irq_soft_mask;#endif
arch/powerpc/include/asm/kvm_guest.h +2 -2
@@ -16,10 +16,10 @@ static inline bool is_kvm_guest(void)return static_branch_unlikely (&kvm_guest); } -bool check_kvm_guest (void ); +int check_kvm_guest (void );#else static inline bool is_kvm_guest (void ) {return false; } -static inline bool check_kvm_guest (void ) {return false; } +static inline int check_kvm_guest (void ) {return 0 ; }#endif #endif /* _ASM_POWERPC_KVM_GUEST_H_ */
arch/powerpc/kernel/firmware.c +6 -4
@@ -23,18 +23,20 @@ EXPORT_SYMBOL_GPL(powerpc_firmware_features);#if defined(CONFIG_PPC_PSERIES ) || defined(CONFIG_KVM_GUEST )DEFINE_STATIC_KEY_FALSE (kvm_guest); -bool check_kvm_guest (void ) +int __init check_kvm_guest (void ) {struct device_node *hyper_node; hyper_node =of_find_node_by_path ("/hypervisor" );if (!hyper_node) -return false; +return 0 ;if (!of_device_is_compatible (hyper_node,"linux,kvm" )) -return false; +return 0 ;static_branch_enable (&kvm_guest); -return true; + +return 0 ; } +core_initcall (check_kvm_guest);// before kvm_guest_init() #endif
arch/powerpc/kernel/mce_power.c +40 -8
97 lines not on this page · raw message
arch/powerpc/kernel/process.c +32 -16
68 lines not on this page · raw message
arch/powerpc/kernel/smp.c +11 -1
@@ -619,6 +619,8 @@ static void nmi_stop_this_cpu(struct pt_regs *regs)/* * IRQs are already hard disabled by the smp_handle_nmi_ipi. */ +set_cpu_online (smp_processor_id (), false); +spin_begin ();while (1 )spin_cpu_relax ();
@@ -634,6 +636,15 @@ void smp_send_stop(void)static void stop_this_cpu (void *dummy) {hard_irq_disable (); + +/* +* Offlining CPUs in stop_this_cpu can result in scheduler warnings, +* (see commit de6e5d38417e), but printk_safe_flush_on_panic() wants +* to know other CPUs are offline before it breaks locks to flush +* printk buffers, in case we panic()ed while holding the lock. +*/ +set_cpu_online (smp_processor_id (), false); +spin_begin ();while (1 )spin_cpu_relax ();
@@ -1547,7 +1558,6 @@ void start_secondary(void *unused)smp_store_cpu_info (cpu);set_dec (tb_ticks_per_jiffy);rcu_cpu_starting (cpu); -preempt_disable (); cpu_callin_map[cpu] =1 ;if (smp_ops->setup_cpu)
arch/powerpc/kernel/stacktrace.c +20 -6
@@ -172,17 +172,31 @@ static void handle_backtrace_ipi(struct pt_regs *regs)static void raise_backtrace_ipi (cpumask_t *mask) { +struct paca_struct *p;unsigned int cpu; +u64 delay_us;for_each_cpu (cpu, mask) { -if (cpu ==smp_processor_id ()) +if (cpu ==smp_processor_id ()) {handle_backtrace_ipi (NULL ); -else -smp_send_safe_nmi_ipi (cpu, handle_backtrace_ipi,5 *USEC_PER_SEC ); - } +continue ; + } -for_each_cpu (cpu, mask) { -struct paca_struct *p = paca_ptrs[cpu]; + delay_us =5 *USEC_PER_SEC ; + +if (smp_send_safe_nmi_ipi (cpu, handle_backtrace_ipi, delay_us)) { +// Now wait up to 5s for the other CPU to do its backtrace +while (cpumask_test_cpu (cpu, mask) && delay_us) { +udelay (1 ); + delay_us--; + } + +// Other CPU cleared itself from the mask +if (delay_us) +continue ; + } + + p = paca_ptrs[cpu];cpumask_clear_cpu (cpu, mask);
arch/powerpc/kvm/book3s_hv.c +7 -6
@@ -2657,7 +2657,7 @@ static void radix_flush_cpu(struct kvm *kvm, int cpu, struct kvm_vcpu *vcpu)cpumask_t *cpu_in_guest;int i; - cpu =cpu_first_thread_sibling (cpu); + cpu =cpu_first_tlb_thread_sibling (cpu);if (nested) {cpumask_set_cpu (cpu, &nested->need_tlb_flush); cpu_in_guest = &nested->cpu_in_guest;
@@ -2671,9 +2671,10 @@ static void radix_flush_cpu(struct kvm *kvm, int cpu, struct kvm_vcpu *vcpu)* the other side is the first smp_mb() in kvmppc_run_core(). */ smp_mb (); -for (i =0 ; i < threads_per_core; ++i) -if (cpumask_test_cpu (cpu + i, cpu_in_guest)) -smp_call_function_single (cpu + i, do_nothing,NULL ,1 ); +for (i = cpu; i <=cpu_last_tlb_thread_sibling (cpu); + i +=cpu_tlb_thread_sibling_step ()) +if (cpumask_test_cpu (i, cpu_in_guest)) +smp_call_function_single (i, do_nothing,NULL ,1 ); }static void kvmppc_prepare_radix_vcpu (struct kvm_vcpu *vcpu,int pcpu)
@@ -2704,8 +2705,8 @@ static void kvmppc_prepare_radix_vcpu(struct kvm_vcpu *vcpu, int pcpu)*/ if (prev_cpu != pcpu) {if (prev_cpu >=0 && -cpu_first_thread_sibling (prev_cpu) != -cpu_first_thread_sibling (pcpu)) +cpu_first_tlb_thread_sibling (prev_cpu) != +cpu_first_tlb_thread_sibling (pcpu))radix_flush_cpu (kvm, prev_cpu, vcpu);if (nested) nested->prev_cpu[vcpu->arch.nested_vcpu_id] = pcpu;
arch/powerpc/kvm/book3s_hv_builtin.c +1 -1
@@ -800,7 +800,7 @@ void kvmppc_check_need_tlb_flush(struct kvm *kvm, int pcpu,* Thus we make all 4 threads use the same bit. */ if (cpu_has_feature (CPU_FTR_ARCH_300 )) - pcpu =cpu_first_thread_sibling (pcpu); + pcpu =cpu_first_tlb_thread_sibling (pcpu);if (nested) need_tlb_flush = &nested->need_tlb_flush;
arch/powerpc/kvm/book3s_hv_nested.c +2 -1
@@ -53,7 +53,8 @@ void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr) hr->dawrx1 = vcpu->arch.dawrx1; } -static void byteswap_pt_regs (struct pt_regs *regs) +/* Use noinline_for_stack due to https://bugs.llvm.org/show_bug.cgi?id=49610 */ +static noinline_for_stack void byteswap_pt_regs(struct pt_regs *regs) {unsigned long *addr = (unsigned long *) regs;
arch/powerpc/kvm/book3s_hv_rm_mmu.c +1 -1
@@ -56,7 +56,7 @@ static int global_invalidates(struct kvm *kvm)* so use the bit for the first thread to represent the core. */ if (cpu_has_feature (CPU_FTR_ARCH_300 )) - cpu =cpu_first_thread_sibling (cpu); + cpu =cpu_first_tlb_thread_sibling (cpu);cpumask_clear_cpu (cpu, &kvm->arch.need_tlb_flush); }
arch/powerpc/mm/book3s64/hash_utils.c +11 -13
@@ -1522,8 +1522,8 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap, }EXPORT_SYMBOL_GPL (hash_page); -DECLARE_INTERRUPT_HANDLER_RET (__do_hash_fault); -DEFINE_INTERRUPT_HANDLER_RET (__do_hash_fault) +DECLARE_INTERRUPT_HANDLER (__do_hash_fault); +DEFINE_INTERRUPT_HANDLER (__do_hash_fault) {unsigned long ea = regs->dar;unsigned long dsisr = regs->dsisr;
@@ -1533,6 +1533,11 @@ DEFINE_INTERRUPT_HANDLER_RET(__do_hash_fault)unsigned int region_id;long err; +if (unlikely (dsisr & (DSISR_BAD_FAULT_64S |DSISR_KEYFAULT ))) { +hash__do_page_fault (regs); +return ; + } + region_id =get_region_id (ea);if ((region_id ==VMALLOC_REGION_ID ) || (region_id ==IO_REGION_ID )) mm = &init_mm;
@@ -1571,9 +1576,10 @@ DEFINE_INTERRUPT_HANDLER_RET(__do_hash_fault)bad_page_fault (regs,SIGBUS ); } err =0 ; - } -return err; + }else if (err) { +hash__do_page_fault (regs); + } }/*
@@ -1582,13 +1588,6 @@ DEFINE_INTERRUPT_HANDLER_RET(__do_hash_fault)*/ DEFINE_INTERRUPT_HANDLER_RAW (do_hash_fault) { -unsigned long dsisr = regs->dsisr; - -if (unlikely (dsisr & (DSISR_BAD_FAULT_64S |DSISR_KEYFAULT ))) { -hash__do_page_fault (regs); -return 0 ; - } -/* * If we are in an "NMI" (e.g., an interrupt when soft-disabled), then * don't call hash_page, just fail the fault. This is required to
@@ -1607,8 +1606,7 @@ DEFINE_INTERRUPT_HANDLER_RAW(do_hash_fault)return 0 ; } -if (__do_hash_fault (regs)) -hash__do_page_fault (regs); +__do_hash_fault (regs);return 0 ; }
arch/powerpc/platforms/cell/smp.c +0 -3
@@ -78,9 +78,6 @@ static inline int smp_startup_cpu(unsigned int lcpu) pcpu =get_hard_smp_processor_id (lcpu); -/* Fixup atomic count: it exited inside IRQ handler. */ -task_thread_info (paca_ptrs[lcpu]->__current)->preempt_count =0 ; -/* * If the RTAS start-cpu token does not exist then presume the * cpu is already spinning.
arch/powerpc/platforms/pseries/papr_scm.c +42 -20
113 lines not on this page · raw message
arch/powerpc/platforms/pseries/smp.c +3 -4
@@ -105,9 +105,6 @@ static inline int smp_startup_cpu(unsigned int lcpu)return 1 ; } -/* Fixup atomic count: it exited inside IRQ handler. */ -task_thread_info (paca_ptrs[lcpu]->__current)->preempt_count =0 ; -/* * If the RTAS start-cpu token does not exist then presume the * cpu is already spinning.
@@ -211,7 +208,9 @@ static __init void pSeries_smp_probe(void)if (!cpu_has_feature (CPU_FTR_SMT ))return ; -if (check_kvm_guest ()) { +check_kvm_guest (); + +if (is_kvm_guest ()) {/* * KVM emulates doorbells by disabling FSCR[MSGP] so msgsndp * faults to the hypervisor which then reads the instruction
arch/riscv/kernel/smpboot.c +0 -1
@@ -180,7 +180,6 @@ asmlinkage __visible void smp_callin(void)* Disable preemption before enabling interrupts, so we don't try to * schedule a CPU that hasn't actually started yet. */ -preempt_disable ();local_irq_enable ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE ); }
arch/s390/Kconfig +2 -1
@@ -164,6 +164,7 @@ config S390 select HAVE_FUTEX_CMPXCHG if FUTEX select HAVE_GCC_PLUGINS select HAVE_GENERIC_VDSO + select HAVE_IOREMAP_PROT if PCI select HAVE_IRQ_EXIT_ON_IRQ_STACK select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_GZIP
@@ -853,7 +854,7 @@ config CMM_IUCV config APPLDATA_BASE def_bool n prompt "Linux - VM Monitor Stream, base infrastructure" - depends on PROC_FS + depends on PROC_SYSCTL help This provides a kernel interface for creating and updating z/VM APPLDATA monitor records. The monitor records are updated at certain time
arch/s390/boot/uv.c +1 -0
@@ -36,6 +36,7 @@ void uv_query_info(void) uv_info.max_sec_stor_addr =ALIGN (uvcb.max_guest_stor_addr,PAGE_SIZE ); uv_info.max_num_sec_conf = uvcb.max_num_sec_conf; uv_info.max_guest_cpu_id = uvcb.max_guest_cpu_id; + uv_info.uv_feature_indications = uvcb.uv_feature_indications; }#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST
arch/s390/include/asm/pgtable.h +19 -2
@@ -344,8 +344,6 @@ static inline int is_module_addr(void *addr)#define PTRS_PER_P4D _CRST_ENTRIES#define PTRS_PER_PGD _CRST_ENTRIES -#define MAX_PTRS_PER_P4D PTRS_PER_P4D -/* * Segment table and region3 table entry encoding * (R = read-only, I = invalid, y = young bit):
@@ -865,6 +863,25 @@ static inline int pte_unused(pte_t pte)return pte_val (pte) & _PAGE_UNUSED; } +/* +* Extract the pgprot value from the given pte while at the same time making it +* usable for kernel address space mappings where fault driven dirty and +* young/old accounting is not supported, i.e _PAGE_PROTECT and _PAGE_INVALID +* must not be set. +*/ +static inline pgprot_t pte_pgprot (pte_t pte) +{ +unsigned long pte_flags =pte_val (pte) & _PAGE_CHG_MASK; + +if (pte_write (pte)) + pte_flags |=pgprot_val (PAGE_KERNEL ); +else + pte_flags |=pgprot_val (PAGE_KERNEL_RO ); + pte_flags |=pte_val (pte) & mio_wb_bit_mask; + +return __pgprot (pte_flags); +} +/* * pgd/pmd/pte modification functions */
arch/s390/include/asm/preempt.h +4 -12
@@ -29,12 +29,6 @@ static inline void preempt_count_set(int pc) old, new) != old); } -#define init_task_preempt_count (p) do { } while (0) - -#define init_idle_preempt_count (p, cpu) do { \ - S390_lowcore.preempt_count = PREEMPT_ENABLED; \ -} while (0) -static inline void set_preempt_need_resched (void ) {__atomic_and (~PREEMPT_NEED_RESCHED , &S390_lowcore.preempt_count);
@@ -88,12 +82,6 @@ static inline void preempt_count_set(int pc) S390_lowcore.preempt_count = pc; } -#define init_task_preempt_count (p) do { } while (0) - -#define init_idle_preempt_count (p, cpu) do { \ - S390_lowcore.preempt_count = PREEMPT_ENABLED; \ -} while (0) -static inline void set_preempt_need_resched (void ) { }
@@ -130,6 +118,10 @@ static inline bool should_resched(int preempt_offset)#endif /* CONFIG_HAVE_MARCH_Z196_FEATURES */ +#define init_task_preempt_count (p) do { } while (0) +/* Deferred to CPU bringup time */ +#define init_idle_preempt_count (p, cpu) do { } while (0) +#ifdef CONFIG_PREEMPTION extern void preempt_schedule (void );#define __preempt_schedule () preempt_schedule()
arch/s390/include/asm/uv.h +7 -1
@@ -73,6 +73,10 @@ enum uv_cmds_inst { BIT_UVC_CMD_UNPIN_PAGE_SHARED = 22, }; +enum uv_feat_ind { +BIT_UV_FEAT_MISC =0 , +}; +struct uv_cb_header {u16 len;u16 cmd;/* Command Code */
@@ -97,7 +101,8 @@ struct uv_cb_qui {u64 max_guest_stor_addr;u8 reserved88[158 -136 ];u16 max_guest_cpu_id; -u8 reserveda0[200 -160 ]; +u64 uv_feature_indications; +u8 reserveda0[200 -168 ]; } __packed__aligned(8) ;/* Initialize Ultravisor */
@@ -274,6 +279,7 @@ struct uv_info {unsigned long max_sec_stor_addr;unsigned int max_num_sec_conf;unsigned short max_guest_cpu_id; +unsigned long uv_feature_indications; };extern struct uv_info uv_info;
arch/s390/kernel/setup.c +1 -0
@@ -466,6 +466,7 @@ static void __init setup_lowcore_dat_off(void) lc->br_r1_trampoline =0x07f1 ;/* br %r1 */ lc->return_lpswe =gen_lpswe (__LC_RETURN_PSW); lc->return_mcck_lpswe =gen_lpswe (__LC_RETURN_MCCK_PSW); + lc->preempt_count =PREEMPT_DISABLED ;set_prefix ((u32 )(unsigned long ) lc); lowcore_ptr[0 ] = lc;
arch/s390/kernel/smp.c +1 -1
@@ -219,6 +219,7 @@ static int pcpu_alloc_lowcore(struct pcpu *pcpu, int cpu) lc->br_r1_trampoline =0x07f1 ;/* br %r1 */ lc->return_lpswe =gen_lpswe (__LC_RETURN_PSW); lc->return_mcck_lpswe =gen_lpswe (__LC_RETURN_MCCK_PSW); + lc->preempt_count =PREEMPT_DISABLED ;if (nmi_alloc_per_cpu (lc)) goto out_stack; lowcore_ptr[cpu] = lc;
@@ -878,7 +879,6 @@ static void smp_init_secondary(void)restore_access_regs (S390_lowcore.access_regs_save_area);cpu_init ();rcu_cpu_starting (cpu); -preempt_disable ();init_cpu_timer ();vtime_init ();vdso_getcpu_init ();
arch/s390/kernel/uv.c +10 -0
@@ -364,6 +364,15 @@ static ssize_t uv_query_facilities(struct kobject *kobj,static struct kobj_attribute uv_query_facilities_attr =__ATTR (facilities,0444 , uv_query_facilities,NULL ); +static ssize_t uv_query_feature_indications (struct kobject *kobj, +struct kobj_attribute *attr,char *buf) +{ +return sysfs_emit (buf,"%lx\n" , uv_info.uv_feature_indications); +} + +static struct kobj_attribute uv_query_feature_indications_attr = +__ATTR (feature_indications,0444 , uv_query_feature_indications,NULL ); +static ssize_t uv_query_max_guest_cpus (struct kobject *kobj,struct kobj_attribute *attr,char *page) {
@@ -396,6 +405,7 @@ static struct kobj_attribute uv_query_max_guest_addr_attr =static struct attribute *uv_query_attrs[] = { &uv_query_facilities_attr.attr, + &uv_query_feature_indications_attr.attr, &uv_query_max_guest_cpus_attr.attr, &uv_query_max_guest_vms_attr.attr, &uv_query_max_guest_addr_attr.attr,
arch/s390/kvm/kvm-s390.c +9 -9
@@ -329,31 +329,31 @@ static void allow_cpu_feat(unsigned long nr)static inline int plo_test_bit (unsigned char nr) { - register unsigned long r0 asm("0") = (unsigned long) nr | 0x100; +unsigned long function = (unsigned long )nr |0x100 ;int cc; asmvolatile ( +" lgr 0,%[function]\n" /* Parameter registers are ignored for "test bit" */ " plo 0,0,0,0(0)\n" " ipm %0\n" " srl %0,28\n" :"=d" (cc) - :"d" (r0) - :"cc" ); + : [function]"d" (function) + :"cc" ,"0" );return cc ==0 ; } static __always_inline void __insn32_query(unsigned int opcode, u8 *query) { - register unsigned long r0 asm("0") = 0; /* query function */ - register unsigned long r1 asm("1") = (unsigned long) query; - asmvolatile ( -/* Parameter regs are ignored */ +" lghi 0,0\n" +" lgr 1,%[query]\n" +/* Parameter registers are ignored */ " .insn rrf,%[opc] << 16,2,4,6,0\n" : - :"d" (r0),"a" (r1), [opc]"i" (opcode) - :"cc" ,"memory" ); + : [query]"d" ((unsigned long )query), [opc]"i" (opcode) + :"cc" ,"memory" ,"0" ,"1" ); }#define INSN_SORTL 0xb938
arch/s390/mm/fault.c +26 -0
@@ -792,6 +792,32 @@ void do_secure_storage_access(struct pt_regs *regs)struct page *page;int rc; +/* +* bit 61 tells us if the address is valid, if it's not we +* have a major problem and should stop the kernel or send a +* SIGSEGV to the process. Unfortunately bit 61 is not +* reliable without the misc UV feature so we need to check +* for that as well. +*/ +if (test_bit_inv (BIT_UV_FEAT_MISC , &uv_info.uv_feature_indications) && + !test_bit_inv (61 , ®s->int_parm_long)) { +/* +* When this happens, userspace did something that it +* was not supposed to do, e.g. branching into secure +* memory. Trigger a segmentation fault. +*/ +if (user_mode (regs)) { +send_sig (SIGSEGV , current,0 ); +return ; + } + +/* +* The kernel should never run into this case and we +* have no way out of this situation. +*/ +panic ("Unexpected PGM 0x3d with TEID bit 61=0" ); + } +switch (get_fault_type (regs)) {case USER_FAULT : mm = current->mm;
arch/sh/kernel/smp.c +0 -2
@@ -186,8 +186,6 @@ asmlinkage void start_secondary(void)per_cpu_trap_init (); -preempt_disable (); -notify_cpu_starting (cpu);local_irq_enable ();
arch/sparc/kernel/smp_32.c +0 -1
@@ -348,7 +348,6 @@ static void sparc_start_secondary(void *arg)*/ arch_cpu_pre_starting (arg); -preempt_disable (); cpu =smp_processor_id ();notify_cpu_starting (cpu);
arch/sparc/kernel/smp_64.c +0 -3
@@ -138,9 +138,6 @@ void smp_callin(void)set_cpu_online (cpuid, true); -/* idle thread is expected to have preempt disabled */ -preempt_disable (); -local_irq_enable ();cpu_startup_entry (CPUHP_AP_ONLINE_IDLE );
arch/x86/crypto/curve25519-x86_64.c +1 -1
@@ -1500,7 +1500,7 @@ static int __init curve25519_mod_init(void) static void __exit curve25519_mod_exit(void) {if (IS_REACHABLE (CONFIG_CRYPTO_KPP ) && - (boot_cpu_has (X86_FEATURE_BMI2 ) ||boot_cpu_has (X86_FEATURE_ADX ))) +static_branch_likely (&curve25519_use_bmi2_adx))crypto_unregister_kpp (&curve25519_alg); }
arch/x86/entry/entry_64.S +2 -2
@@ -506,7 +506,7 @@ SYM_CODE_START(\asmsym) movq %rsp, %rdi /* pt_regs pointer */ - call \cfunc + call kernel_\cfunc /* * No need to switch back to the IST stack. The current stack is either
@@ -517,7 +517,7 @@ SYM_CODE_START(\asmsym) /* Switch to the regular task stack */ .Lfrom_usermode_switch_stack_\@: - idtentry_body safe_stack_\cfunc, has_error_code=1 + idtentry_body user_\cfunc, has_error_code=1 _ASM_NOKPROBE(\asmsym) SYM_CODE_END(\asmsym)
arch/x86/events/core.c +27 -1
@@ -1626,6 +1626,8 @@ static void x86_pmu_del(struct perf_event *event, int flags)if (cpuc->txn_flags &PERF_PMU_TXN_ADD ) goto do_del; +__set_bit (event->hw.idx, cpuc->dirty); +/* * Not a TXN, therefore cleanup properly. */
@@ -2474,6 +2476,31 @@ static int x86_pmu_event_init(struct perf_event *event)return err; } +void perf_clear_dirty_counters (void ) +{ +struct cpu_hw_events *cpuc =this_cpu_ptr (&cpu_hw_events); +int i; + +/* Don't need to clear the assigned counter. */ +for (i =0 ; i < cpuc->n_events; i++) +__clear_bit (cpuc->assign[i], cpuc->dirty); + +if (bitmap_empty (cpuc->dirty,X86_PMC_IDX_MAX )) +return ; + +for_each_set_bit (i, cpuc->dirty,X86_PMC_IDX_MAX ) { +/* Metrics and fake events don't have corresponding HW counters. */ +if (is_metric_idx (i) || (i ==INTEL_PMC_IDX_FIXED_VLBR )) +continue ; +else if (i >=INTEL_PMC_IDX_FIXED ) +wrmsrl (MSR_ARCH_PERFMON_FIXED_CTR0 + (i -INTEL_PMC_IDX_FIXED ),0 ); +else +wrmsrl (x86_pmu_event_addr (i),0 ); + } + +bitmap_zero (cpuc->dirty,X86_PMC_IDX_MAX ); +} +static void x86_pmu_event_mapped (struct perf_event *event,struct mm_struct *mm) {if (!(event->hw.flags &PERF_X86_EVENT_RDPMC_ALLOWED ))
@@ -2497,7 +2524,6 @@ static void x86_pmu_event_mapped(struct perf_event *event, struct mm_struct *mm)static void x86_pmu_event_unmapped (struct perf_event *event,struct mm_struct *mm) { -if (!(event->hw.flags &PERF_X86_EVENT_RDPMC_ALLOWED ))return ;
arch/x86/events/intel/core.c +12 -3
@@ -280,6 +280,8 @@ static struct extra_reg intel_spr_extra_regs[] __read_mostly = {INTEL_UEVENT_EXTRA_REG (0x012b ,MSR_OFFCORE_RSP_1 ,0x3fffffffffull ,RSP_1 ),INTEL_UEVENT_PEBS_LDLAT_EXTRA_REG (0x01cd ),INTEL_UEVENT_EXTRA_REG (0x01c6 ,MSR_PEBS_FRONTEND ,0x7fff17 ,FE ), +INTEL_UEVENT_EXTRA_REG (0x40ad ,MSR_PEBS_FRONTEND ,0x7 ,FE ), +INTEL_UEVENT_EXTRA_REG (0x04c2 ,MSR_PEBS_FRONTEND ,0x8 ,FE ), EVENT_EXTRA_END };
@@ -4030,8 +4032,10 @@ spr_get_event_constraints(struct cpu_hw_events *cpuc, int idx,* The :ppp indicates the Precise Distribution (PDist) facility, which * is only supported on the GP counter 0. If a :ppp event which is not * available on the GP counter 0, error out. +* Exception: Instruction PDIR is only available on the fixed counter 0. */ -if (event->attr.precise_ip ==3 ) { +if ((event->attr.precise_ip ==3 ) && + !constraint_match (&fixed0_constraint, event->hw.config)) {if (c->idxmsk64 &BIT_ULL (0 ))return &counter0_constraint;
@@ -6157,8 +6161,13 @@ __init int intel_pmu_init(void) pmu = &x86_pmu.hybrid_pmu[X86_HYBRID_PMU_CORE_IDX ]; pmu->name ="cpu_core" ; pmu->cpu_type = hybrid_big; - pmu->num_counters = x86_pmu.num_counters +2 ; - pmu->num_counters_fixed = x86_pmu.num_counters_fixed +1 ; +if (cpu_feature_enabled (X86_FEATURE_HYBRID_CPU )) { + pmu->num_counters = x86_pmu.num_counters +2 ; + pmu->num_counters_fixed = x86_pmu.num_counters_fixed +1 ; + }else { + pmu->num_counters = x86_pmu.num_counters; + pmu->num_counters_fixed = x86_pmu.num_counters_fixed; + } pmu->max_pebs_events =min_t (unsigned,MAX_PEBS_EVENTS , pmu->num_counters); pmu->unconstrained = (struct event_constraint ) __EVENT_CONSTRAINT(0, (1ULL << pmu->num_counters) - 1,
arch/x86/events/perf_event.h +1 -0
@@ -229,6 +229,7 @@ struct cpu_hw_events {*/ struct perf_event *events[X86_PMC_IDX_MAX ];/* in counter order */ unsigned long active_mask[BITS_TO_LONGS (X86_PMC_IDX_MAX )]; +unsigned long dirty[BITS_TO_LONGS (X86_PMC_IDX_MAX )];int enabled;int n_events;/* the # of events in the below arrays */
arch/x86/include/asm/idtentry.h +10 -19
@@ -312,8 +312,8 @@ static __always_inline void __##func(struct pt_regs *regs)*/ #define DECLARE_IDTENTRY_VC (vector, func) \ DECLARE_IDTENTRY_RAW_ERRORCODE(vector, func); \ - __visible noinstr void ist_##func(struct pt_regs *regs, unsigned long error_code); \ - __visible noinstr void safe_stack_##func(struct pt_regs *regs, unsigned long error_code) + __visible noinstr void kernel_##func(struct pt_regs *regs, unsigned long error_code); \ + __visible noinstr void user_##func(struct pt_regs *regs, unsigned long error_code)/** * DEFINE_IDTENTRY_IST - Emit code for IST entry points
@@ -355,33 +355,24 @@ static __always_inline void __##func(struct pt_regs *regs)DEFINE_IDTENTRY_RAW_ERRORCODE (func)/** -* DEFINE_IDTENTRY_VC_SAFE_STACK - Emit code for VMM communication handler -which runs on a safe stack. +* DEFINE_IDTENTRY_VC_KERNEL - Emit code for VMM communication handler +when raised from kernel mode * @func: Function name of the entry point * * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE */ -#define DEFINE_IDTENTRY_VC_SAFE_STACK (func) \ - DEFINE_IDTENTRY_RAW_ERRORCODE(safe_stack_##func) +#define DEFINE_IDTENTRY_VC_KERNEL (func) \ + DEFINE_IDTENTRY_RAW_ERRORCODE(kernel_##func)/** -* DEFINE_IDTENTRY_VC_IST - Emit code for VMM communication handler -which runs on the VC fall-back stack +* DEFINE_IDTENTRY_VC_USER - Emit code for VMM communication handler +when raised from user mode * @func: Function name of the entry point * * Maps to DEFINE_IDTENTRY_RAW_ERRORCODE */ -#define DEFINE_IDTENTRY_VC_IST (func) \ - DEFINE_IDTENTRY_RAW_ERRORCODE(ist_##func) - -/** -* DEFINE_IDTENTRY_VC - Emit code for VMM communication handler -* @func: Function name of the entry point -* -* Maps to DEFINE_IDTENTRY_RAW_ERRORCODE -*/ -#define DEFINE_IDTENTRY_VC (func) \ - DEFINE_IDTENTRY_RAW_ERRORCODE(func) +#define DEFINE_IDTENTRY_VC_USER (func) \ + DEFINE_IDTENTRY_RAW_ERRORCODE(user_##func)#else /* CONFIG_X86_64 */
arch/x86/include/asm/kvm_host.h +2 -1
@@ -85,7 +85,7 @@#define KVM_REQ_APICV_UPDATE \ KVM_ARCH_REQ_FLAGS(25, KVM_REQUEST_WAIT | KVM_REQUEST_NO_WAKEUP)#define KVM_REQ_TLB_FLUSH_CURRENT KVM_ARCH_REQ(26) -#define KVM_REQ_HV_TLB_FLUSH \ +#define KVM_REQ_TLB_FLUSH_GUEST \ KVM_ARCH_REQ_FLAGS(27, KVM_REQUEST_NO_WAKEUP)#define KVM_REQ_APF_READY KVM_ARCH_REQ(28)#define KVM_REQ_MSR_FILTER_CHANGED KVM_ARCH_REQ(29)
@@ -1464,6 +1464,7 @@ int kvm_mmu_create(struct kvm_vcpu *vcpu);void kvm_mmu_init_vm (struct kvm *kvm);void kvm_mmu_uninit_vm (struct kvm *kvm); +void kvm_mmu_after_set_cpuid (struct kvm_vcpu *vcpu);void kvm_mmu_reset_context (struct kvm_vcpu *vcpu); void kvm_mmu_slot_remove_write_access(struct kvm *kvm, struct kvm_memory_slot *memslot,
arch/x86/include/asm/perf_event.h +1 -0
@@ -478,6 +478,7 @@ struct x86_pmu_lbr {extern void perf_get_x86_pmu_capability (struct x86_pmu_capability *cap);extern void perf_check_microcode (void ); +extern void perf_clear_dirty_counters (void );extern int x86_perf_rdpmc_index (struct perf_event *event);#else static inline void perf_get_x86_pmu_capability (struct x86_pmu_capability *cap)
arch/x86/include/asm/preempt.h +1 -1
@@ -44,7 +44,7 @@ static __always_inline void preempt_count_set(int pc)#define init_task_preempt_count (p) do { } while (0)#define init_idle_preempt_count (p, cpu) do { \ - per_cpu(__preempt_count, (cpu)) = PREEMPT_ENABLED; \ + per_cpu(__preempt_count, (cpu)) = PREEMPT_DISABLED; \ } while (0)/*
arch/x86/include/uapi/asm/hwcap2.h +4 -2
@@ -2,10 +2,12 @@#ifndef _ASM_X86_HWCAP2_H#define _ASM_X86_HWCAP2_H +#include <linux/const.h> +/* MONITOR/MWAIT enabled in Ring 3 */ -#define HWCAP2_RING3MWAIT (1 << 0) +#define HWCAP2_RING3MWAIT _BITUL(0)/* Kernel allows FSGSBASE instructions available in Ring 3 */ -#define HWCAP2_FSGSBASE BIT(1) +#define HWCAP2_FSGSBASE _BITUL(1)#endif
arch/x86/kernel/cpu/mshyperv.c +1 -1
@@ -236,7 +236,7 @@ static void __init hv_smp_prepare_cpus(unsigned int max_cpus)for_each_present_cpu (i) {if (i ==0 )continue ; - ret =hv_call_add_logical_proc (numa_cpu_node (i), i,cpu_physical_id (i)); + ret =hv_call_add_logical_proc (numa_cpu_node (i), i, i);BUG_ON (ret); }
arch/x86/kernel/early-quirks.c +1 -0
@@ -549,6 +549,7 @@ static const struct pci_device_id intel_early_ids[] __initconst = {INTEL_CNL_IDS (&gen9_early_ops),INTEL_ICL_11_IDS (&gen11_early_ops),INTEL_EHL_IDS (&gen11_early_ops), +INTEL_JSL_IDS (&gen11_early_ops),INTEL_TGL_12_IDS (&gen11_early_ops),INTEL_RKL_IDS (&gen11_early_ops), INTEL_ADLS_IDS(&gen11_early_ops),
arch/x86/kernel/sev.c +102 -82
319 lines not on this page · raw message
arch/x86/kernel/smpboot.c +0 -1
@@ -236,7 +236,6 @@ static void notrace start_secondary(void *unused)cpu_init ();rcu_cpu_starting (raw_smp_processor_id ()); x86_cpuinit.early_percpu_clock_init (); -preempt_disable ();smp_callin (); enable_start_cpu0 =0 ;
arch/x86/kernel/tsc.c +2 -1
@@ -1152,7 +1152,8 @@ static struct clocksource clocksource_tsc = { .mask = CLOCKSOURCE_MASK(64), .flags =CLOCK_SOURCE_IS_CONTINUOUS |CLOCK_SOURCE_VALID_FOR_HRES | - CLOCK_SOURCE_MUST_VERIFY, +CLOCK_SOURCE_MUST_VERIFY | + CLOCK_SOURCE_VERIFY_PERCPU, .vdso_clock_mode = VDSO_CLOCKMODE_TSC, .enable = tsc_cs_enable, .resume = tsc_resume,
arch/x86/kvm/cpuid.c +3 -3
@@ -202,10 +202,10 @@ static void kvm_vcpu_after_set_cpuid(struct kvm_vcpu *vcpu)static_call (kvm_x86_vcpu_after_set_cpuid)(vcpu);/* -* Except for the MMU, which needs to be reset after any vendor -* specific adjustments to the reserved GPA bits. +* Except for the MMU, which needs to do its thing any vendor specific +* adjustments to the reserved GPA bits. */ -kvm_mmu_reset_context (vcpu); +kvm_mmu_after_set_cpuid (vcpu); }static int is_efer_nx (void )
arch/x86/kvm/hyperv.c +1 -1
@@ -1704,7 +1704,7 @@ static u64 kvm_hv_flush_tlb(struct kvm_vcpu *vcpu, u64 ingpa, u16 rep_cnt, bool* vcpu->arch.cr3 may not be up-to-date for running vCPUs so we can't * analyze it here, flush TLB regardless of the specified address space. */ -kvm_make_vcpus_request_mask (kvm,KVM_REQ_HV_TLB_FLUSH , +kvm_make_vcpus_request_mask (kvm,KVM_REQ_TLB_FLUSH_GUEST ,NULL , vcpu_mask, &hv_vcpu->tlb_flush); ret_success:
arch/x86/kvm/mmu/mmu.c +21 -1
@@ -4168,7 +4168,15 @@ static inline u64 reserved_hpa_bits(void)void reset_shadow_zero_bits_mask (struct kvm_vcpu *vcpu,struct kvm_mmu *context) { -bool uses_nx = context->nx || +/* +* KVM uses NX when TDP is disabled to handle a variety of scenarios, +* notably for huge SPTEs if iTLB multi-hit mitigation is enabled and +* to generate correct permissions for CR0.WP=0/CR4.SMEP=1/EFER.NX=0. +* The iTLB multi-hit workaround can be toggled at any time, so assume +* NX can be used by any non-nested shadow MMU to avoid having to reset +* MMU contexts. Note, KVM forces EFER.NX=1 when TDP is disabled. +*/ +bool uses_nx = context->nx || !tdp_enabled || context->mmu_role.base.smep_andnot_wp;struct rsvd_bits_validate *shadow_zero_check;int i;
@@ -4851,6 +4859,18 @@ kvm_mmu_calc_root_page_role(struct kvm_vcpu *vcpu)return role.base; } +void kvm_mmu_after_set_cpuid (struct kvm_vcpu *vcpu) +{ +/* +* Invalidate all MMU roles to force them to reinitialize as CPUID +* information is factored into reserved bit calculations. +*/ + vcpu->arch.root_mmu.mmu_role.ext.valid =0 ; + vcpu->arch.guest_mmu.mmu_role.ext.valid =0 ; + vcpu->arch.nested_mmu.mmu_role.ext.valid =0 ; +kvm_mmu_reset_context (vcpu); +} +void kvm_mmu_reset_context (struct kvm_vcpu *vcpu) {kvm_mmu_unload (vcpu);
arch/x86/kvm/mmu/paging_tmpl.h +1 -2
@@ -471,8 +471,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker, error: errcode |= write_fault | user_fault; -if (fetch_fault && (mmu->nx || -kvm_read_cr4_bits (vcpu,X86_CR4_SMEP ))) +if (fetch_fault && (mmu->nx || mmu->mmu_role.ext.cr4_smep)) errcode |=PFERR_FETCH_MASK ; walker->fault.vector =PF_VECTOR ;
arch/x86/kvm/mmu/spte.c +0 -7
@@ -102,13 +102,6 @@ int make_spte(struct kvm_vcpu *vcpu, unsigned int pte_access, int level,else if (kvm_vcpu_ad_need_write_protect (vcpu)) spte |=SPTE_TDP_AD_WRPROT_ONLY_MASK ; -/* -* Bits 62:52 of PAE SPTEs are reserved. WARN if said bits are set -* if PAE paging may be employed (shadow paging or any 32-bit KVM). -*/ -WARN_ON_ONCE ((!tdp_enabled || !IS_ENABLED (CONFIG_X86_64 )) && - (spte &SPTE_TDP_AD_MASK )); -/* * For the EPT case, shadow_present_mask is 0 if hardware * supports exec-only page table entries. In that case,
arch/x86/kvm/mmu/tdp_mmu.c +6 -2
@@ -912,7 +912,7 @@ static int tdp_mmu_map_handle_target_level(struct kvm_vcpu *vcpu, int write, kvm_pfn_t pfn, bool prefault) {u64 new_spte; -int ret =0 ; +int ret =RET_PF_FIXED ;int make_spte_ret =0 ;if (unlikely (is_noslot_pfn (pfn)))
@@ -949,7 +949,11 @@ static int tdp_mmu_map_handle_target_level(struct kvm_vcpu *vcpu, int write, rcu_dereference(iter->sptep)); } -if (!prefault) +/* +* Increase pf_fixed in both RET_PF_EMULATE and RET_PF_FIXED to be +* consistent with legacy MMU behavior. +*/ +if (ret !=RET_PF_SPURIOUS ) vcpu->stat.pf_fixed++;return ret;
arch/x86/kvm/vmx/nested.c +22 -19
114 lines not on this page · raw message
arch/x86/kvm/vmx/vmcs.h +5 -0
@@ -117,6 +117,11 @@ static inline bool is_gp_fault(u32 intr_info)return is_exception_n (intr_info,GP_VECTOR ); } +static inline bool is_alignment_check (u32 intr_info) +{ +return is_exception_n (intr_info,AC_VECTOR ); +} +static inline bool is_machine_check (u32 intr_info) {return is_exception_n (intr_info,MC_VECTOR );
arch/x86/kvm/vmx/vmx.c +2 -2
@@ -4829,7 +4829,7 @@ static int handle_machine_check(struct kvm_vcpu *vcpu)* - Guest has #AC detection enabled in CR0 * - Guest EFLAGS has AC bit set */ -static inline bool guest_inject_ac (struct kvm_vcpu *vcpu) +bool vmx_guest_inject_ac (struct kvm_vcpu *vcpu) {if (!boot_cpu_has (X86_FEATURE_SPLIT_LOCK_DETECT ))return true;
@@ -4937,7 +4937,7 @@ static int handle_exception_nmi(struct kvm_vcpu *vcpu) kvm_run->debug.arch.exception = ex_no;break ;case AC_VECTOR : -if (guest_inject_ac (vcpu)) { +if (vmx_guest_inject_ac (vcpu)) {kvm_queue_exception_e (vcpu,AC_VECTOR , error_code);return 1 ; }
arch/x86/kvm/vmx/vmx.h +1 -0
@@ -387,6 +387,7 @@ void vmx_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);void vmx_set_segment (struct kvm_vcpu *vcpu,struct kvm_segment *var,int seg);u64 construct_eptp (struct kvm_vcpu *vcpu,hpa_t root_hpa,int root_level); +bool vmx_guest_inject_ac (struct kvm_vcpu *vcpu);void vmx_update_exception_bitmap (struct kvm_vcpu *vcpu);void vmx_update_msr_bitmap (struct kvm_vcpu *vcpu);bool vmx_nmi_blocked (struct kvm_vcpu *vcpu);
arch/x86/kvm/x86.c +14 -1
@@ -9171,7 +9171,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu) }if (kvm_check_request (KVM_REQ_TLB_FLUSH_CURRENT , vcpu))kvm_vcpu_flush_tlb_current (vcpu); -if (kvm_check_request (KVM_REQ_HV_TLB_FLUSH , vcpu)) +if (kvm_check_request (KVM_REQ_TLB_FLUSH_GUEST , vcpu))kvm_vcpu_flush_tlb_guest (vcpu);if (kvm_check_request (KVM_REQ_REPORT_TPR_ACCESS , vcpu)) {
@@ -10454,6 +10454,8 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)void kvm_vcpu_reset (struct kvm_vcpu *vcpu,bool init_event) { +unsigned long old_cr0 =kvm_read_cr0 (vcpu); +kvm_lapic_reset (vcpu, init_event); vcpu->arch.hflags =0 ;
@@ -10522,6 +10524,17 @@ void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) vcpu->arch.ia32_xss =0 ;static_call (kvm_x86_vcpu_reset)(vcpu, init_event); + +/* +* Reset the MMU context if paging was enabled prior to INIT (which is +* implied if CR0.PG=1 as CR0 will be '0' prior to RESET). Unlike the +* standard CR0/CR4/EFER modification paths, only CR0.PG needs to be +* checked because it is unconditionally cleared on INIT and all other +* paging related bits are ignored if paging is disabled, i.e. CR0.WP, +* CR4, and EFER changes are all irrelevant if CR0.PG was '0'. +*/ +if (old_cr0 &X86_CR0_PG ) +kvm_mmu_reset_context (vcpu); }void kvm_vcpu_deliver_sipi_vector (struct kvm_vcpu *vcpu,u8 vector)
arch/x86/mm/tlb.c +8 -2
@@ -14,6 +14,7 @@#include <asm/nospec-branch.h> #include <asm/cache.h> #include <asm/apic.h> +#include <asm/perf_event.h> #include "mm_internal.h"
@@ -404,9 +405,14 @@ static inline void cr4_update_pce_mm(struct mm_struct *mm) {if (static_branch_unlikely (&rdpmc_always_available_key) || (!static_branch_unlikely (&rdpmc_never_available_key) && -atomic_read (&mm->context.perf_rdpmc_allowed))) +atomic_read (&mm->context.perf_rdpmc_allowed))) { +/* +* Clear the existing dirty counters to +* prevent the leak for an RDPMC task. +*/ +perf_clear_dirty_counters ();cr4_set_bits_irqsoff (X86_CR4_PCE ); -else + }else cr4_clear_bits_irqsoff (X86_CR4_PCE ); }
arch/x86/net/bpf_jit_comp.c +1 -1
@@ -1297,7 +1297,7 @@ st: if (is_imm8(insn->off))emit_ldx (&prog,BPF_SIZE (insn->code), dst_reg, src_reg, insn->off);if (BPF_MODE (insn->code) ==BPF_PROBE_MEM ) {struct exception_table_entry *ex; -u8 *_insn = image + proglen; +u8 *_insn = image + proglen + (start_of_ldx - temp);s64 delta;/* populate jmp_offset for JMP above */
arch/xtensa/kernel/smp.c +0 -1
@@ -145,7 +145,6 @@ void secondary_start_kernel(void)cpumask_set_cpu (cpu,mm_cpumask (mm));enter_lazy_tlb (mm, current); -preempt_disable ();trace_hardirqs_off ();calibrate_delay ();
block/bfq-iosched.c +12 -4
@@ -2695,9 +2695,15 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,* costly and complicated. */ if (unlikely (!bfqd->nonrot_with_queueing)) { -if (bic->stable_merge_bfqq && +/* +* Make sure also that bfqq is sync, because +* bic->stable_merge_bfqq may point to some queue (for +* stable merging) also if bic is associated with a +* sync queue, but this bfqq is async +*/ +if (bfq_bfqq_sync (bfqq) && bic->stable_merge_bfqq && !bfq_bfqq_just_created (bfqq) && -time_is_after_jiffies (bfqq->split_time + +time_is_before_jiffies (bfqq->split_time +msecs_to_jiffies (200 ))) {struct bfq_queue *stable_merge_bfqq = bic->stable_merge_bfqq;
@@ -6129,11 +6135,13 @@ static void bfq_completed_request(struct bfq_queue *bfqq, struct bfq_data *bfqd)* of other queues. But a false waker will unjustly steal * bandwidth to its supposedly woken queue. So considering * also shared queues in the waking mechanism may cause more -* control troubles than throughput benefits. Then do not set -* last_completed_rq_bfqq to bfqq if bfqq is a shared queue. +* control troubles than throughput benefits. Then reset +* last_completed_rq_bfqq if bfqq is a shared queue. */ if (!bfq_bfqq_coop (bfqq)) bfqd->last_completed_rq_bfqq = bfqq; +else + bfqd->last_completed_rq_bfqq =NULL ;/* * If we are waiting to discover whether the request pattern
block/bio.c +6 -7
@@ -1375,8 +1375,7 @@ static inline bool bio_remaining_done(struct bio *bio)* * bio_endio() can be called several times on a bio that has been chained * using bio_chain(). The ->bi_end_io() function will only be called the -* last time. At this point the BLK_TA_COMPLETE tracing event will be -* generated if BIO_TRACE_COMPLETION is set. +* last time. **/ void bio_endio (struct bio *bio) {
@@ -1389,6 +1388,11 @@ void bio_endio(struct bio *bio)if (bio->bi_bdev)rq_qos_done_bio (bio->bi_bdev->bd_disk->queue, bio); +if (bio->bi_bdev &&bio_flagged (bio,BIO_TRACE_COMPLETION )) { +trace_block_bio_complete (bio->bi_bdev->bd_disk->queue, bio); +bio_clear_flag (bio,BIO_TRACE_COMPLETION ); + } +/* * Need to have a real endio function for chained bios, otherwise * various corner cases will break (like stacking block devices that
@@ -1402,11 +1406,6 @@ void bio_endio(struct bio *bio) goto again; } -if (bio->bi_bdev &&bio_flagged (bio,BIO_TRACE_COMPLETION )) { -trace_block_bio_complete (bio->bi_bdev->bd_disk->queue, bio); -bio_clear_flag (bio,BIO_TRACE_COMPLETION ); - } -blk_throtl_bio_endio (bio);/* release cgroup info */ bio_uninit (bio);
block/blk-flush.c +1 -2
@@ -219,8 +219,6 @@ static void flush_end_io(struct request *flush_rq, blk_status_t error)unsigned long flags =0 ;struct blk_flush_queue *fq =blk_get_flush_queue (q, flush_rq->mq_ctx); -blk_account_io_flush (flush_rq); -/* release the tag's ownership to the req cloned from */ spin_lock_irqsave (&fq->mq_flush_lock, flags);
@@ -230,6 +228,7 @@ static void flush_end_io(struct request *flush_rq, blk_status_t error)return ; } +blk_account_io_flush (flush_rq);/* * Flush request has to be marked as IDLE when it is really ended * because its .end_io() is called from timeout code path too for
block/blk-merge.c +6 -2
@@ -559,10 +559,14 @@ static inline unsigned int blk_rq_get_max_segments(struct request *rq)static inline int ll_new_hw_segment (struct request *req,struct bio *bio,unsigned int nr_phys_segs) { -if (req->nr_phys_segments + nr_phys_segs >blk_rq_get_max_segments (req)) +if (blk_integrity_merge_bio (req->q, req, bio) == false) goto no_merge; -if (blk_integrity_merge_bio (req->q, req, bio) == false) +/* discard request merge won't add new segment */ +if (req_op (req) ==REQ_OP_DISCARD ) +return 1 ; + +if (req->nr_phys_segments + nr_phys_segs >blk_rq_get_max_segments (req)) goto no_merge;/*
block/blk-mq-tag.c +38 -11
96 lines not on this page · raw message
block/blk-mq-tag.h +6 -0
@@ -20,6 +20,12 @@ struct blk_mq_tags {struct request **rqs;struct request **static_rqs;struct list_head page_list; + +/* +* used to clear request reference in rqs[] before freeing one +* request pool +*/ +spinlock_t lock; }; extern struct blk_mq_tags *blk_mq_init_tags(unsigned int nr_tags,
block/blk-mq.c +50 -13
99 lines not on this page · raw message
block/blk-mq.h +1 -0
@@ -47,6 +47,7 @@ void blk_mq_add_to_requeue_list(struct request *rq, bool at_head,void blk_mq_flush_busy_ctxs (struct blk_mq_hw_ctx *hctx,struct list_head *list);struct request *blk_mq_dequeue_from_ctx (struct blk_mq_hw_ctx *hctx,struct blk_mq_ctx *start); +void blk_mq_put_rq_ref (struct request *rq);/* * Internal helpers for allocating/freeing the request map
block/blk-rq-qos.h +24 -0
@@ -7,6 +7,7 @@#include <linux/blk_types.h> #include <linux/atomic.h> #include <linux/wait.h> +#include <linux/blk-mq.h> #include "blk-mq-debugfs.h"
@@ -99,8 +100,21 @@ static inline void rq_wait_init(struct rq_wait *rq_wait)static inline void rq_qos_add (struct request_queue *q,struct rq_qos *rqos) { +/* +* No IO can be in-flight when adding rqos, so freeze queue, which +* is fine since we only support rq_qos for blk-mq queue. +* +* Reuse ->queue_lock for protecting against other concurrent +* rq_qos adding/deleting +*/ +blk_mq_freeze_queue (q); + +spin_lock_irq (&q->queue_lock); rqos->next = q->rq_qos; q->rq_qos = rqos; +spin_unlock_irq (&q->queue_lock); + +blk_mq_unfreeze_queue (q);if (rqos->ops->debugfs_attrs)blk_mq_debugfs_register_rqos (rqos);
@@ -110,12 +124,22 @@ static inline void rq_qos_del(struct request_queue *q, struct rq_qos *rqos) {struct rq_qos **cur; +/* +* See comment in rq_qos_add() about freezing queue & using +* ->queue_lock. +*/ +blk_mq_freeze_queue (q); + +spin_lock_irq (&q->queue_lock);for (cur = &q->rq_qos; *cur; cur = &(*cur)->next) {if (*cur == rqos) { *cur = rqos->next;break ; } } +spin_unlock_irq (&q->queue_lock); + +blk_mq_unfreeze_queue (q);blk_mq_debugfs_unregister_rqos (rqos); }
block/blk-wbt.c +8 -3
@@ -77,7 +77,8 @@ enum {static inline bool rwb_enabled (struct rq_wb *rwb) { -return rwb && rwb->wb_normal !=0 ; +return rwb && rwb->enable_state !=WBT_STATE_OFF_DEFAULT && + rwb->wb_normal !=0 ; }static void wb_timestamp (struct rq_wb *rwb,unsigned long *var)
@@ -636,9 +637,13 @@ void wbt_set_write_cache(struct request_queue *q, bool write_cache_on)void wbt_enable_default (struct request_queue *q) {struct rq_qos *rqos =wbt_rq_qos (q); +/* Throttling already enabled? */ -if (rqos) +if (rqos) { +if (RQWB (rqos)->enable_state ==WBT_STATE_OFF_DEFAULT ) +RQWB (rqos)->enable_state =WBT_STATE_ON_DEFAULT ;return ; + }/* Queue not registered? Maybe shutting down... */ if (!blk_queue_registered (q))
@@ -702,7 +707,7 @@ void wbt_disable_default(struct request_queue *q) rwb =RQWB (rqos);if (rwb->enable_state ==WBT_STATE_ON_DEFAULT ) {blk_stat_deactivate (rwb->cb); - rwb->wb_normal =0 ; + rwb->enable_state =WBT_STATE_OFF_DEFAULT ; } }EXPORT_SYMBOL_GPL (wbt_disable_default);
block/blk-wbt.h +1 -0
@@ -34,6 +34,7 @@ enum {enum {WBT_STATE_ON_DEFAULT =1 ,WBT_STATE_ON_MANUAL =2 , +WBT_STATE_OFF_DEFAULT };struct rq_wb {
crypto/ecdh.c +11 -1
@@ -179,10 +179,20 @@ static int ecdh_init(void) {int ret; +/* NIST p192 will fail to register in FIPS mode */ ret =crypto_register_kpp (&ecdh_nist_p192); ecdh_nist_p192_registered = ret ==0 ; -return crypto_register_kpp (&ecdh_nist_p256); + ret =crypto_register_kpp (&ecdh_nist_p256); +if (ret) + goto nist_p256_error; + +return 0 ; + +nist_p256_error: +if (ecdh_nist_p192_registered) +crypto_unregister_kpp (&ecdh_nist_p192); +return ret; }static void ecdh_exit (void )
crypto/shash.c +15 -3
@@ -20,12 +20,24 @@static const struct crypto_type crypto_shash_type; -int shash_no_setkey (struct crypto_shash *tfm,const u8 *key, -unsigned int keylen) +static int shash_no_setkey (struct crypto_shash *tfm,const u8 *key, +unsigned int keylen) {return -ENOSYS ; } -EXPORT_SYMBOL_GPL (shash_no_setkey); + +/* +* Check whether an shash algorithm has a setkey function. +* +* For CFI compatibility, this must not be an inline function. This is because +* when CFI is enabled, modules won't get the same address for shash_no_setkey +* (if it were exported, which inlining would require) as the core kernel will. +*/ +bool crypto_shash_alg_has_setkey (struct shash_alg *alg) +{ +return alg->setkey != shash_no_setkey; +} +EXPORT_SYMBOL_GPL (crypto_shash_alg_has_setkey);static int shash_setkey_unaligned (struct crypto_shash *tfm,const u8 *key,unsigned int keylen)
crypto/sm2.c +10 -14
@@ -79,10 +79,17 @@ static int sm2_ec_ctx_init(struct mpi_ec_ctx *ec) goto free; rc = -ENOMEM ; + + ec->Q =mpi_point_new (0 ); +if (!ec->Q) + goto free; +/* mpi_ec_setup_elliptic_curve */ ec->G =mpi_point_new (0 ); -if (!ec->G) +if (!ec->G) { +mpi_point_release (ec->Q); goto free; + }mpi_set (ec->G->x, x);mpi_set (ec->G->y, y);
@@ -91,6 +98,7 @@ static int sm2_ec_ctx_init(struct mpi_ec_ctx *ec) rc = -EINVAL ; ec->n =mpi_scanval (ecp->n);if (!ec->n) { +mpi_point_release (ec->Q);mpi_point_release (ec->G); goto free; }
@@ -386,27 +394,15 @@ static int sm2_set_pub_key(struct crypto_akcipher *tfm,MPI a;int rc; - ec->Q =mpi_point_new (0 ); -if (!ec->Q) -return -ENOMEM ; -/* include the uncompressed flag '0x04' */ - rc = -ENOMEM ; a =mpi_read_raw_data (key, keylen);if (!a) - goto error; +return -ENOMEM ;mpi_normalize (a); rc =sm2_ecc_os2ec (ec->Q, a);mpi_free (a); -if (rc) - goto error; - -return 0 ; -error: -mpi_point_release (ec->Q); - ec->Q =NULL ;return rc; }
crypto/testmgr.c +0 -3
@@ -4899,15 +4899,12 @@ static const struct alg_test_desc alg_test_descs[] = { } }, {#endif -#ifndef CONFIG_CRYPTO_FIPS .alg = "ecdh-nist-p192", .test = alg_test_kpp, - .fips_allowed = 1, .suite = { .kpp = __VECS(ecdh_p192_tv_template) } }, { -#endif .alg = "ecdh-nist-p256", .test = alg_test_kpp, .fips_allowed = 1,
crypto/testmgr.h +4 -6
@@ -2685,7 +2685,6 @@ static const struct kpp_testvec curve25519_tv_template[] = { } }; -#ifndef CONFIG_CRYPTO_FIPSstatic const struct kpp_testvec ecdh_p192_tv_template[] = { { .secret =
@@ -2719,13 +2718,12 @@ static const struct kpp_testvec ecdh_p192_tv_template[] = {"\xf4\x57\xcc\x4f\x1f\x4e\x31\xcc" "\xe3\x40\x60\xc8\x06\x93\xc6\x2e" "\x99\x80\x81\x28\xaf\xc5\x51\x74", - .secret_size = 32, + .secret_size = 30, .b_public_size = 48, .expected_a_public_size = 48, .expected_ss_size = 24 } }; -#endif static const struct kpp_testvec ecdh_p256_tv_template[] = { {
@@ -2766,7 +2764,7 @@ static const struct kpp_testvec ecdh_p256_tv_template[] = {"\x9f\x4a\x38\xcc\xc0\x2c\x49\x2f" "\xb1\x32\xbb\xaf\x22\x61\xda\xcb" "\x6f\xdb\xa9\xaa\xfc\x77\x81\xf3", - .secret_size = 40, + .secret_size = 38, .b_public_size = 64, .expected_a_public_size =64 , .expected_ss_size = 32
@@ -2804,8 +2802,8 @@ static const struct kpp_testvec ecdh_p256_tv_template[] = {"\x37\x08\xcc\x40\x5e\x7a\xfd\x6a" "\x6a\x02\x6e\x41\x87\x68\x38\x77" "\xfa\xa9\x44\x43\x2d\xef\x09\xdf", - .secret_size = 8, - .b_secret_size = 40, + .secret_size = 6, + .b_secret_size = 38, .b_public_size = 64, .expected_a_public_size = 64, .expected_ss_size = 32,
drivers/acpi/Makefile +5 -0
@@ -8,6 +8,11 @@ ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT # # ACPI Boot-Time Table Parsing # +ifeq ($(CONFIG_ACPI_CUSTOM_DSDT),y) +tables.o: $(src)/../../include/$(subst $\",,$(CONFIG_ACPI_CUSTOM_DSDT_FILE)) ; + +endif + obj-$(CONFIG_ACPI) += tables.o obj-$(CONFIG_X86) += blacklist.o
drivers/acpi/acpi_fpdt.c +3 -1
@@ -240,8 +240,10 @@ static int __init acpi_init_fpdt(void)return 0 ; fpdt_kobj =kobject_create_and_add ("fpdt" , acpi_kobj); -if (!fpdt_kobj) +if (!fpdt_kobj) { +acpi_put_table (header);return -ENOMEM ; + }while (offset < header->length) { subtable = (void *)header + offset;
drivers/acpi/acpica/nsrepair2.c +7 -0
@@ -379,6 +379,13 @@ acpi_ns_repair_CID(struct acpi_evaluate_info *info, (*element_ptr)->common.reference_count = original_ref_count; + +/* +* The original_element holds a reference from the package object +* that represents _HID. Since a new element was created by _HID, +* remove the reference from the _CID package. +*/ +acpi_ut_remove_reference (original_element); } element_ptr++;
drivers/acpi/apei/ghes.c +64 -17
115 lines not on this page · raw message
drivers/acpi/bgrt.c +18 -39
69 lines not on this page · raw message
drivers/acpi/bus.c +1 -0
@@ -1321,6 +1321,7 @@ static int __init acpi_init(void) result =acpi_bus_init ();if (result) { +kobject_put (acpi_kobj);disable_acpi ();return result; }
drivers/acpi/device_pm.c +2 -4
@@ -20,6 +20,7 @@#include <linux/pm_runtime.h> #include <linux/suspend.h> +#include "fan.h" #include "internal.h" /**
@@ -1310,10 +1311,7 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on)* with the generic ACPI PM domain. */ static const struct acpi_device_id special_pm_ids[] = { - {"PNP0C0B" , },/* Generic ACPI fan */ - {"INT3404" , },/* Fan */ - {"INTC1044" , },/* Fan for Tiger Lake generation */ - {"INTC1048" , },/* Fan for Alder Lake generation */ +ACPI_FAN_DEVICE_IDS , {} };struct acpi_device *adev =ACPI_COMPANION (dev);
drivers/acpi/device_sysfs.c +1 -1
@@ -448,7 +448,7 @@ static ssize_t description_show(struct device *dev, (wchar_t *)acpi_dev->pnp.str_obj->buffer.pointer, acpi_dev->pnp.str_obj->buffer.length,UTF16_LITTLE_ENDIAN , buf, - PAGE_SIZE); + PAGE_SIZE - 1); buf[result++] ='\n' ;
drivers/acpi/ec.c +36 -1
@@ -183,6 +183,7 @@ static struct workqueue_struct *ec_query_wq;static int EC_FLAGS_CORRECT_ECDT ;/* Needs ECDT port address correction */ static int EC_FLAGS_IGNORE_DSDT_GPE ;/* Needs ECDT GPE as correction setting */ +static int EC_FLAGS_TRUST_DSDT_GPE ;/* Needs DSDT GPE as correction setting */ static int EC_FLAGS_CLEAR_ON_RESUME ;/* Needs acpi_ec_clear() on boot/resume */ /* --------------------------------------------------------------------------
@@ -1593,7 +1594,8 @@ static int acpi_ec_add(struct acpi_device *device) }if (boot_ec && ec->command_addr == boot_ec->command_addr && - ec->data_addr == boot_ec->data_addr) { + ec->data_addr == boot_ec->data_addr && + !EC_FLAGS_TRUST_DSDT_GPE ) {/* * Trust PNP0C09 namespace location rather than * ECDT ID. But trust ECDT GPE rather than _GPE
@@ -1816,6 +1818,18 @@ static int ec_correct_ecdt(const struct dmi_system_id *id)return 0 ; } +/* +* Some ECDTs contain wrong GPE setting, but they share the same port addresses +* with DSDT EC, don't duplicate the DSDT EC with ECDT EC in this case. +* https://bugzilla.kernel.org/show_bug.cgi?id=209989 +*/ +static int ec_honor_dsdt_gpe (const struct dmi_system_id *id) +{ +pr_debug ("Detected system needing DSDT GPE setting.\n" ); +EC_FLAGS_TRUST_DSDT_GPE =1 ; +return 0 ; +} +/* * Some DSDTs contain wrong GPE setting. * Asus FX502VD/VE, GL702VMK, X550VXK, X580VD
@@ -1846,6 +1860,22 @@ static const struct dmi_system_id ec_dmi_table[] __initconst = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), DMI_MATCH(DMI_PRODUCT_NAME, "GL702VMK"),}, NULL}, { + ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BA", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X505BA"),}, NULL}, + { + ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BP", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X505BP"),}, NULL}, + { + ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BA", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X542BA"),}, NULL}, + { + ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BP", { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X542BP"),}, NULL}, + { ec_honor_ecdt_gpe, "ASUS X550VXK", { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), DMI_MATCH(DMI_PRODUCT_NAME, "X550VXK"),}, NULL},
@@ -1854,6 +1884,11 @@ static const struct dmi_system_id ec_dmi_table[] __initconst = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), DMI_MATCH(DMI_PRODUCT_NAME, "X580VD"),}, NULL}, { +/* https://bugzilla.kernel.org/show_bug.cgi?id=209989 */ + ec_honor_dsdt_gpe, "HP Pavilion Gaming Laptop 15-cx0xxx", { +DMI_MATCH (DMI_SYS_VENDOR ,"HP" ), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Gaming Laptop 15-cx0xxx"),}, NULL}, + { ec_clear_on_resume, "Samsung hardware", { DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD.")}, NULL}, {},
drivers/acpi/fan.c +3 -4
@@ -16,6 +16,8 @@#include <linux/platform_device.h> #include <linux/sort.h> +#include "fan.h" +MODULE_AUTHOR ("Paul Diefenbaugh" );MODULE_DESCRIPTION ("ACPI Fan Driver" );MODULE_LICENSE ("GPL" );
@@ -24,10 +26,7 @@ static int acpi_fan_probe(struct platform_device *pdev);static int acpi_fan_remove (struct platform_device *pdev);static const struct acpi_device_id fan_device_ids[] = { - {"PNP0C0B" ,0 }, - {"INT3404" ,0 }, - {"INTC1044" ,0 }, - {"INTC1048" ,0 }, +ACPI_FAN_DEVICE_IDS , {"" ,0 }, };MODULE_DEVICE_TABLE (acpi, fan_device_ids);
drivers/acpi/fan.h new file +13 -0
@@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/* +* ACPI fan device IDs are shared between the fan driver and the device power +* management code. +* +* Add new device IDs before the generic ACPI fan one. +*/ +#define ACPI_FAN_DEVICE_IDS \ + {"INT3404", },/* Fan */ \ + {"INTC1044", }, /* Fan for Tiger Lake generation */ \ + {"INTC1048", }, /* Fan for Alder Lake generation */ \ + {"PNP0C0B", } /* Generic ACPI fan */
drivers/acpi/processor_idle.c +40 -0
@@ -16,6 +16,7 @@#include <linux/acpi.h> #include <linux/dmi.h> #include <linux/sched.h> /* need_resched() */ +#include <linux/sort.h> #include <linux/tick.h> #include <linux/cpuidle.h>
Lines of this file are not shown. View the raw message.
drivers/acpi/scan.c +28 -32
60 lines not on this page · raw message
drivers/clk/actions/owl-s500.c +45 -30
75 lines not on this page · raw message
drivers/clk/clk-si5341.c +74 -3
77 lines not on this page · raw message
drivers/clk/imx/clk-imx8mq.c +18 -38
56 lines not on this page · raw message
drivers/clk/socfpga/clk-agilex.c +64 -29
93 lines not on this page · raw message
drivers/clk/socfpga/clk-gate-s10.c +118 -1
119 lines not on this page · raw message
drivers/clk/socfpga/clk-s10.c +60 -27
87 lines not on this page · raw message
drivers/crypto/cavium/nitrox/nitrox_isr.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/hisilicon/hpre/hpre_crypto.c +18 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/hisilicon/sec2/sec_crypto.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/qat_hal.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/qat_uclo.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +19 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/analogix/anx7625.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/skl_universal_plane.c +2 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/gt/selftest_execlists.c +32 -23
55 lines not on this page · raw message
drivers/gpu/drm/imx/ipuv3-plane.c +46 -11
57 lines not on this page · raw message
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/dp/dp_ctrl.c +55 -0
55 lines not on this page · raw message
drivers/gpu/drm/msm/dp/dp_display.c +42 -15
57 lines not on this page · raw message
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c +28 -8
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/rockchip_lvds.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/vc4/vc4_crtc.c +52 -11
63 lines not on this page · raw message
drivers/gpu/drm/vmwgfx/device_include/svga3d_surfacedefs.h +6 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +16 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/hid/hid-sony.c +49 -49
98 lines not on this page · raw message
drivers/hwmon/max31790.c +30 -19
49 lines not on this page · raw message
drivers/hwtracing/coresight/coresight-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iio/accel/hid-sensor-accel-3d.c +8 -5
Lines of this file are not shown. View the raw message.
drivers/iio/magnetometer/hmc5843_core.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/infiniband/core/cm.c +195 -232
427 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +46 -15
61 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_hw_v2.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_mr.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/iser/iscsi_iser.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-clt.c +24 -4
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-srv.c +26 -13
Lines of this file are not shown. View the raw message.
drivers/input/touchscreen/goodix.c +0 -52
52 lines not on this page · raw message
drivers/input/touchscreen/usbtouchscreen.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/leds/blink/leds-lgm-sso.c +17 -27
44 lines not on this page · raw message
drivers/mailbox/qcom-apcs-ipc-mailbox.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/md/md.c +0 -45
45 lines not on this page · raw message
drivers/media/cec/platform/s5p/s5p_cec.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/media/common/siano/smscoreapi.c +9 -13
Lines of this file are not shown. View the raw message.
drivers/media/common/siano/smscoreapi.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/common/siano/smsdvb-main.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/media/i2c/rdacm21.c +40 -16
56 lines not on this page · raw message
drivers/media/i2c/s5c73m3/s5c73m3-core.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/media/pci/cobalt/cobalt-driver.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/pci/cobalt/cobalt-driver.h +6 -1
Lines of this file are not shown. View the raw message.
drivers/media/pci/intel/ipu3/cio2-bridge.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/media/platform/am437x/am437x-vpfe.c +13 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos-gsc/gsc-m2m.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-capture.c +2 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-is.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-isp-video.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-isp.c +3 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-lite.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-m2m.c +1 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/media-dev.c +3 -7
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/mipi-csis.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/marvell-ccic/mcam-core.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vpu/mtk_vpu.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/core.c +47 -13
60 lines not on this page · raw message
drivers/media/platform/qcom/venus/hfi_cmds.c +11 -11
Lines of this file are not shown. View the raw message.
drivers/media/platform/s5p-jpeg/jpeg-core.c +1 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/bdisp/Makefile +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/bdisp/bdisp-v4l2.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/delta/Makefile +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/hva/Makefile +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/hva/hva-hw.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/usb/dvb-usb/cinergyT2-core.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/usb/em28xx/em28xx-input.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/media/usb/pvrusb2/pvrusb2-hdw.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/misc/habanalabs/common/habanalabs_drv.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/arasan-nand-controller.c +57 -33
90 lines not on this page · raw message
drivers/mtd/spi-nor/otp.c +38 -5
43 lines not on this page · raw message
drivers/net/can/peak_canfd/peak_canfd.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/aquantia/atlantic/aq_macsec.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bcm4908_enet.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmgenet.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/emulex/benet/be_cmds.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/emulex/benet/be_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/faraday/ftgmac100.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/google/gve/gve_main.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ibm/ehea/ehea_main.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ibm/ibmvnic.c +76 -23
99 lines not on this page · raw message
drivers/net/ethernet/intel/e1000e/netdev.c +13 -11
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_ethtool.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_main.c +13 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/pxa168_eth.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microsoft/mana/mana_en.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/am65-cpsw-nuss.c +9 -9
Lines of this file are not shown. View the raw message.
drivers/net/ieee802154/mac802154_hwsim.c +8 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/carl9170/Kconfig +3 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/wcn36xx/main.c +8 -13
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/wil6210/cfg80211.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +20 -17
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/fw/pnvm.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/tx.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/pcie.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/pci_mac.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76_connac.h +6 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +7 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c +19 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/debugfs.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/dma.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/init.c +4 -18
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/mac.c +22 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/main.c +1 -54
55 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +23 -9
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/pci.c +17 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/testmode.c +6 -7
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/tx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/rtw8822c.c +12 -10
Lines of this file are not shown. View the raw message.
drivers/net/wireless/rsi/rsi_91x_mac80211.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/rsi/rsi_91x_mgmt.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/perf/hisilicon/hisi_uncore_hha_pmu.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/phy/socionext/phy-uniphier-pcie.c +7 -4
Lines of this file are not shown. View the raw message.
drivers/platform/x86/asus-nb-wmi.c +0 -77
77 lines not on this page · raw message
drivers/platform/x86/touchscreen_dmi.c +85 -0
85 lines not on this page · raw message
drivers/regulator/hi6421v600-regulator.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/regulator/qcom-rpmh-regulator.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/scsi/libiscsi.c +62 -8
70 lines not on this page · raw message
drivers/scsi/lpfc/lpfc_els.c +81 -19
100 lines not on this page · raw message
drivers/scsi/megaraid/megaraid_sas_fusion.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/scsi/scsi_transport_iscsi.c +286 -201
487 lines not on this page · raw message
drivers/staging/fbtft/fb_agm1264k-fl.c +10 -10
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_drv.c +22 -11
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_v4l2.c +8 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/imx/imx-media-csi.c +13 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/imx/imx7-mipi-csis.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_h265.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_video.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8712/rtl871x_security.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/cxgbit/cxgbit_ddp.c +10 -9
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/cxgbit/cxgbit_target.c +18 -3
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/f_eem.c +39 -4
43 lines not on this page · raw message
drivers/usb/gadget/function/f_fs.c +32 -33
65 lines not on this page · raw message
fs/cifs/smb2ops.c +138 -0
138 lines not on this page · raw message
fs/dlm/lowcomms.c +139 -45
184 lines not on this page · raw message
include/dt-bindings/clock/imx8mq-clock.h +0 -19
Lines of this file are not shown. View the raw message.
include/linux/huge_mm.h +35 -24
59 lines not on this page · raw message
include/linux/iio/common/cros_ec_sensors_core.h +1 -1
Lines of this file are not shown. View the raw message.
kernel/cred.c +41 -0
41 lines not on this page · raw message
kernel/kthread.c +30 -19
49 lines not on this page · raw message
kernel/locking/lockdep.c +118 -4
122 lines not on this page · raw message
kernel/sched/core.c +53 -33
86 lines not on this page · raw message
kernel/seccomp.c +45 -6
51 lines not on this page · raw message
kernel/time/clocksource.c +107 -6
113 lines not on this page · raw message
lib/vsprintf.c +48 -34
82 lines not on this page · raw message
mm/debug_vm_pgtable.c +51 -12
63 lines not on this page · raw message
mm/gup.c +43 -15
58 lines not on this page · raw message
mm/page_alloc.c +64 -42
106 lines not on this page · raw message
net/bluetooth/hci_request.c +29 -22
51 lines not on this page · raw message
net/mptcp/subflow.c +26 -27
53 lines not on this page · raw message
net/netfilter/nf_tables_api.c +41 -24
65 lines not on this page · raw message
sound/pci/hda/patch_realtek.c +43 -7
50 lines not on this page · raw message
sound/soc/mediatek/common/mtk-btcvsd.c +18 -6
Lines of this file are not shown. View the raw message.
tools/perf/util/scripting-engines/trace-event-python.c +81 -65
146 lines not on this page · raw message
tools/power/x86/intel-speed-select/isst-config.c +16 -0
Lines of this file are not shown. View the raw message.
tools/power/x86/intel-speed-select/isst-core.c +15 -0
Lines of this file are not shown. View the raw message.
tools/power/x86/intel-speed-select/isst-display.c +1 -1
Lines of this file are not shown. View the raw message.
tools/power/x86/intel-speed-select/isst.h +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/ringbuf.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/sockmap_listen.c +6 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc +7 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/dirty_log_test.c +0 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/lib/kvm_util.c +0 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/lib/x86_64/processor.c +3 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/steal_time.c +0 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/kvm/x86_64/set_boot_cpu_id.c +0 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/tls.c +59 -28
87 lines not on this page · raw message
tools/testing/selftests/resctrl/resctrl_tests.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/splice/short_splice_read.sh +98 -21
119 lines not on this page · raw message
tools/testing/selftests/tc-testing/plugin-lib/scapyPlugin.py +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/vm/protection_keys.c +10 -2
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.