Linux 5.12.17
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.12.17 kernel.
All users of the 5.12 kernel series must upgrade.
The updated 5.12.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.12.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/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 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/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 | 11 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/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/intel/core.c | 6 arch/x86/include/asm/idtentry.h | 29 arch/x86/include/asm/kvm_host.h | 3 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-es.c | 182 ++- 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/tdp_mmu.c | 13 arch/x86/kvm/vmx/nested.c | 29 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/net/bpf_jit_comp.c | 2 arch/xtensa/kernel/smp.c | 1 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/shash.c | 18 crypto/sm2.c | 24 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/video_detect.c | 24 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/bus/mhi/core/pm.c | 1 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/socfpga/clk-agilex.c | 89 + drivers/clk/socfpga/clk-periph-s10.c | 11 drivers/clk/socfpga/clk-s10.c | 87 + drivers/clk/tegra/clk-tegra30.c | 2 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/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 | 22 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 | 2 drivers/gpu/drm/drm_bridge.c | 3 drivers/gpu/drm/imx/ipuv3-plane.c | 57 - 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/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/hwtracing/coresight/coresight-core.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/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/cma.c | 26 drivers/infiniband/core/uverbs_cmd.c | 21 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 7 drivers/infiniband/hw/hns/hns_roce_mr.c | 2 drivers/infiniband/hw/mlx4/qp.c | 9 drivers/infiniband/hw/mlx5/main.c | 4 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/init.c | 4 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/s5p-g2d/g2d.c | 3 drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 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/rn5t618.c | 2 drivers/misc/eeprom/idt_89hpesx.c | 8 drivers/misc/habanalabs/common/habanalabs_drv.c | 1 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/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/oki-semi/pch_gbe/pch_gbe_main.c | 10 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/mac.c | 4 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_mac.c | 8 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/testmode.c | 21 drivers/net/wireless/mediatek/mt76/mt7921/init.c | 18 drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 15 drivers/net/wireless/mediatek/mt76/mt7921/main.c | 58 - 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/nvme/host/pci.c | 26 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/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/da9052-regulator.c | 3 drivers/regulator/fan53880.c | 2 drivers/regulator/hi655x-regulator.c | 16 drivers/regulator/mt6315-regulator.c | 4 drivers/regulator/mt6358-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/hikey9xx/hi6421v600-regulator.c | 9 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/usb_intf.c | 24 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/smb2ops.c | 133 ++ 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 | 77 + 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/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/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/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 | 9 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/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/sock_map.c | 2 net/ipv4/esp4.c | 2 net/ipv4/fib_frontend.c | 2 net/ipv4/route.c | 3 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/subflow.c | 6 net/mptcp/token.c | 6 net/netfilter/nf_tables_api.c | 14 net/netfilter/nf_tables_offload.c | 17 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/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/motu/motu-protocol-v2.c | 5 sound/pci/hda/patch_realtek.c | 49 - 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/rt5682-i2c.c | 1 sound/soc/codecs/rt5682-sdw.c | 19 sound/soc/codecs/rt700-sdw.c | 2 sound/soc/codecs/rt711-sdw.c | 2 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/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/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/splice/short_splice_read.sh | 119 ++ tools/testing/selftests/tc-testing/plugin-lib/scapyPlugin.py | 2 tools/testing/selftests/vm/protection_keys.c | 12 744 files changed, 6384 insertions(+), 3293 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()
Al Viro (2):
copy_page_to_iter(): fix ITER_DISCARD case 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 (4):
fs: dlm: reconnect if socket error report occurs
fs: dlm: cancel work sync othercon
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
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 (18):
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()
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 (5):
regulator: mt6315: Fix checking return value of devm_regmap_init_spmi_ext
regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
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 (1):
ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID
Bart Van Assche (1):
RDMA/srp: Fix a recently introduced memory leak
Bean Huo (1):
mmc: block: Disable CMDQ on the ioctl path
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
Christian Brauner (1):
open: don't silently ignore unknown O-flags in openat2()
Christoph Hellwig (1):
mark pstore-blk as broken
Christophe JAILLET (15):
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()
tty: nozomi: Fix a resource leak in an error handling function
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
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 (5):
drm/rockchip: cdn-dp: fix sign extension on an int multiply for a u64 result
drm: qxl: ensure surf.data is ininitialized
mt76: mt7921: remove redundant check on type
leds: lgm: Fix spelling mistake "prepate" -> "prepare"
fsi: core: Fix return of error values on failures
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 (5):
media: au0828: fix a NULL vs IS_ERR() check
ocfs2: fix snprintf() checking
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 (3):
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 (3):
clk: agilex/stratix10/n5x: fix how the bypass_reg is handled
clk: agilex/stratix10: remove noc_clk
clk: agilex/stratix10: fix bypass representation
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
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.12.17
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
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
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
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 (2):
mptcp: fix pr_debug in mptcp_token_new_connect
mptcp: generate subflow hmac after mptcp_finish_join()
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()
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 (4):
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 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 (1):
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'
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 (2):
perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids
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
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
Long Li (1):
block: return the correct bvec when checking for gaps
Lorenzo Bianconi (3):
mt76: fix possible NULL pointer dereference in mt76_tx
mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb()
mt76: connac: alaways wake the device before scanning
Luca Ceresoli (1):
clk: vc5: fix output disabling when enabling a FOD
Luca Coelho (1):
iwlwifi: increase PNVM load timeout
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 (1):
ACPI: video: use native backlight for GA401/GA502/GA503
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
Marek Szyprowski (1):
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
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
Matthias Brugger (1):
brcmfmac: Delete second brcm folder hierarchy
Matti Vaittinen (1):
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
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 (2):
serial: fsl_lpuart: don't modify arbitrary data on lpuart32
serial: fsl_lpuart: remove RTSCTS handling from get_mctrl()
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 (4):
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/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 (6):
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_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
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 Zijlstra (2):
lockdep: Fix wait-type for empty stack lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING
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 (7):
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: rt5682-sdw: use first_hw_init flag on resume
ASoC: rt700-sdw: use first_hw_init flag on resume
ASoC: rt711-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 (2):
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 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
csky: fix syscache.c fallthrough warning
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 (1):
perf/smmuv3: Don't trample existing events with global filter
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
Sabrina Dubroca (1):
xfrm: xfrm_state_mtu should return at least 1280 for ipv6
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: 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: x86/mmu: Drop redundant trace_kvm_mmu_set_spte() in the TDP MMU
KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build
Sean Wang (3):
mt76: mt7921: Don't alter Rx path classifier
mt76: mt7921: consider the invalid value for to_rssi
mt76: mt7921: fix OMAC idx usage
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
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
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
Steve French (3):
smb3: fix uninitialized value for port in witness protocol move
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 (2):
crypto: sa2ul - Fix leaks on failure paths with sa_dma_init()
crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe()
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 (1):
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
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
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 (3):
net: qrtr: ns: Fix error return code in qrtr_ns_init()
erofs: fix error return code in erofs_read_superblock()
crypto: qce - fix error return code in qce_skcipher_async_req_handle()
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 (1):
RDMA/hns: Fix uninitialized variable
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
@@ -583,6 +583,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
@@ -3285,7 +3285,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``
@@ -3493,6 +3493,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 + - .. c:type:: v4l2_hevc_dpb_entry
Makefile +2 -2
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 12 -SUBLEVEL = 16 +SUBLEVEL = 17 EXTRAVERSION = NAME = Frozen Wasteland
@@ -1006,7 +1006,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/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
@@ -223,7 +223,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
@@ -684,6 +684,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 -4
@@ -12,14 +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);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
@@ -120,6 +120,7 @@ struct interrupt_nmi_state {u8 irq_happened;#endif u8 ftrace_enabled; +u64 softe;#endif };
@@ -129,6 +130,7 @@ static inline void interrupt_nmi_enter_prepare(struct pt_regs *regs, struct inte#ifdef CONFIG_PPC_BOOK3S_64 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
@@ -178,6 +180,7 @@ static inline void interrupt_nmi_exit_prepare(struct pt_regs *regs, struct inter#ifdef CONFIG_PPC_BOOK3S_64 /* 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 ();
@@ -1530,7 +1541,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
@@ -230,17 +230,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
@@ -2619,7 +2619,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;
@@ -2633,9 +2633,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)
@@ -2666,8 +2667,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
@@ -797,7 +797,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
@@ -67,7 +67,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/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
@@ -176,7 +176,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
@@ -160,6 +160,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
@@ -858,7 +859,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;
@@ -877,7 +878,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
@@ -323,31 +323,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
@@ -791,6 +791,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/intel/core.c +5 -1
@@ -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 };
@@ -3973,8 +3975,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;
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)
@@ -1433,6 +1433,7 @@ void kvm_mmu_set_mask_ptes(u64 user_mask, u64 accessed_mask, u64 dirty_mask, u64 nx_mask, u64 x_mask, u64 p_mask, u64 acc_track_mask, u64 me_mask); +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/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
@@ -245,7 +245,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), };
arch/x86/kernel/sev-es.c +101 -81
313 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
@@ -1151,7 +1151,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
@@ -185,10 +185,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
@@ -4155,7 +4155,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;
@@ -4838,6 +4846,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/tdp_mmu.c +8 -5
@@ -745,7 +745,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)))
@@ -777,13 +777,16 @@ static int tdp_mmu_map_handle_target_level(struct kvm_vcpu *vcpu, int write,trace_mark_mmio_spte (rcu_dereference (iter->sptep), iter->gfn, new_spte); ret =RET_PF_EMULATE ; - }else + }else {trace_kvm_mmu_set_spte (iter->level, iter->gfn,rcu_dereference (iter->sptep)); + } -trace_kvm_mmu_set_spte (iter->level, iter->gfn, -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 +16 -13
@@ -1132,12 +1132,19 @@ static int nested_vmx_load_cr3(struct kvm_vcpu *vcpu, unsigned long cr3, bool ne/* * Unconditionally skip the TLB flush on fast CR3 switch, all TLB -* flushes are handled by nested_vmx_transition_tlb_flush(). See -* nested_vmx_transition_mmu_sync for details on skipping the MMU sync. +* flushes are handled by nested_vmx_transition_tlb_flush(). */ -if (!nested_ept) -kvm_mmu_new_pgd (vcpu, cr3, true, - !nested_vmx_transition_mmu_sync (vcpu)); +if (!nested_ept) { +kvm_mmu_new_pgd (vcpu, cr3, true, true); + +/* +* A TLB flush on VM-Enter/VM-Exit flushes all linear mappings +* across all PCIDs, i.e. all PGDs need to be synchronized. +* See nested_vmx_transition_mmu_sync() for more details. +*/ +if (nested_vmx_transition_mmu_sync (vcpu)) +kvm_make_request (KVM_REQ_TLB_FLUSH_GUEST , vcpu); + } vcpu->arch.cr3 = cr3;kvm_register_mark_available (vcpu,VCPU_EXREG_CR3 );
@@ -5465,8 +5472,6 @@ static int nested_vmx_eptp_switching(struct kvm_vcpu *vcpu, {u32 index =kvm_rcx_read (vcpu);u64 new_eptp; -bool accessed_dirty; -struct kvm_mmu *mmu = vcpu->arch.walk_mmu;if (!nested_cpu_has_eptp_switching (vmcs12) || !nested_cpu_has_ept (vmcs12))
@@ -5475,13 +5480,10 @@ static int nested_vmx_eptp_switching(struct kvm_vcpu *vcpu,if (index >=VMFUNC_EPTP_ENTRIES )return 1 ; -if (kvm_vcpu_read_guest_page (vcpu, vmcs12->eptp_list_address >>PAGE_SHIFT , &new_eptp, index *8 ,8 ))return 1 ; - accessed_dirty = !!(new_eptp &VMX_EPTP_AD_ENABLE_BIT ); -/* * If the (L2) guest does a vmfunc to the currently * active ept pointer, we don't have to do anything else
@@ -5490,8 +5492,6 @@ static int nested_vmx_eptp_switching(struct kvm_vcpu *vcpu,if (!nested_vmx_check_eptp (vcpu, new_eptp))return 1 ; - mmu->ept_ad = accessed_dirty; - mmu->mmu_role.base.ad_disabled = !accessed_dirty; vmcs12->ept_pointer = new_eptp;kvm_make_request (KVM_REQ_MMU_RELOAD , vcpu);
@@ -5517,7 +5517,7 @@ static int handle_vmfunc(struct kvm_vcpu *vcpu) } vmcs12 =get_vmcs12 (vcpu); -if ((vmcs12->vm_function_control & (1 << function)) ==0 ) +if (!(vmcs12->vm_function_control &BIT_ULL (function))) goto fail;switch (function) {
@@ -5775,6 +5775,9 @@ static bool nested_vmx_l0_wants_exit(struct kvm_vcpu *vcpu,else if (is_breakpoint (intr_info) && vcpu->guest_debug &KVM_GUESTDBG_USE_SW_BP )return true; +else if (is_alignment_check (intr_info) && + !vmx_guest_inject_ac (vcpu)) +return true;return false;case EXIT_REASON_EXTERNAL_INTERRUPT :return true;
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
@@ -4796,7 +4796,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;
@@ -4905,7 +4905,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
@@ -379,6 +379,7 @@ void vmx_set_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);u64 construct_eptp (struct kvm_vcpu *vcpu,unsigned long 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
@@ -9022,7 +9022,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)) {
@@ -10302,6 +10302,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 ;
@@ -10370,6 +10372,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/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/bio.c +6 -7
@@ -1412,8 +1412,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) {
@@ -1426,6 +1425,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
@@ -1439,11 +1443,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/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; }
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" /**
@@ -1307,10 +1308,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
@@ -446,7 +446,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> #include <linux/cpu.h>
@@ -388,10 +389,37 @@ static void acpi_processor_power_verify_c3(struct acpi_processor *pr,return ; } +static int acpi_cst_latency_cmp (const void *a,const void *b) +{ +const struct acpi_processor_cx *x = a, *y = b; + +if (!(x->valid && y->valid)) +return 0 ; +if (x->latency > y->latency) +return 1 ; +if (x->latency < y->latency) +return -1 ; +return 0 ; +} +static void acpi_cst_latency_swap (void *a,void *b,int n) +{ +struct acpi_processor_cx *x = a, *y = b; +u32 tmp; + +if (!(x->valid && y->valid)) +return ; + tmp = x->latency; + x->latency = y->latency; + y->latency = tmp; +} +static int acpi_processor_power_verify (struct acpi_processor *pr) {unsigned int i;unsigned int working =0 ; +unsigned int last_latency =0 ; +unsigned int last_type =0 ; +bool buggy_latency = false; pr->power.timer_broadcast_on_state =INT_MAX ;
@@ -415,12 +443,24 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) }if (!cx->valid)continue ; +if (cx->type >= last_type && cx->latency < last_latency) + buggy_latency = true; + last_latency = cx->latency; + last_type = cx->type;lapic_timer_check_state (i, pr, cx);tsc_check_state (cx->type); working++; } +if (buggy_latency) { +pr_notice ("FW issue: working around C-state latencies out of order\n" ); +sort (&pr->power.states[1 ], max_cstate, +sizeof (struct acpi_processor_cx ), + acpi_cst_latency_cmp, + acpi_cst_latency_swap); + } +lapic_timer_propagate_broadcast (pr);return (working);
drivers/acpi/resource.c +8 -1
@@ -423,6 +423,13 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, } } +static bool irq_is_legacy (struct acpi_resource_irq *irq) +{ +return irq->triggering ==ACPI_EDGE_SENSITIVE && + irq->polarity ==ACPI_ACTIVE_HIGH && + irq->shareable ==ACPI_EXCLUSIVE ; +} +/** * acpi_dev_resource_interrupt - Extract ACPI interrupt resource information. * @ares: Input ACPI resource object.
@@ -461,7 +468,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index, }acpi_dev_get_irqresource (res, irq->interrupts[index], irq->triggering, irq->polarity, - irq->shareable, true); + irq->shareable,irq_is_legacy (irq));break ;case ACPI_RESOURCE_TYPE_EXTENDED_IRQ : ext_irq = &ares->data.extended_irq;
drivers/acpi/video_detect.c +24 -0
@@ -385,6 +385,30 @@ static const struct dmi_system_id video_detect_dmi_table[] = { DMI_MATCH(DMI_BOARD_NAME, "BA51_MV"), }, }, + { + .callback = video_detect_force_native, + .ident = "ASUSTeK COMPUTER INC. GA401", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA401"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "ASUSTeK COMPUTER INC. GA502", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA502"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "ASUSTeK COMPUTER INC. GA503", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GA503"), + }, + }, /* * Desktops which falsely report a backlight and which our heuristics
drivers/acpi/x86/s2idle.c +4 -0
@@ -42,6 +42,8 @@ static const struct acpi_device_id lps0_device_ids[] = {/* AMD */ #define ACPI_LPS0_DSM_UUID_AMD "e3f32452-febc-43ce-9039-932122d37721" +#define ACPI_LPS0_ENTRY_AMD 2 +#define ACPI_LPS0_EXIT_AMD 3#define ACPI_LPS0_SCREEN_OFF_AMD 4#define ACPI_LPS0_SCREEN_ON_AMD 5
@@ -408,6 +410,7 @@ int acpi_s2idle_prepare_late(void)if (acpi_s2idle_vendor_amd ()) {acpi_sleep_run_lps0_dsm (ACPI_LPS0_SCREEN_OFF_AMD ); +acpi_sleep_run_lps0_dsm (ACPI_LPS0_ENTRY_AMD ); }else {acpi_sleep_run_lps0_dsm (ACPI_LPS0_SCREEN_OFF );acpi_sleep_run_lps0_dsm (ACPI_LPS0_ENTRY );
@@ -422,6 +425,7 @@ void acpi_s2idle_restore_early(void)return ;if (acpi_s2idle_vendor_amd ()) { +acpi_sleep_run_lps0_dsm (ACPI_LPS0_EXIT_AMD );acpi_sleep_run_lps0_dsm (ACPI_LPS0_SCREEN_ON_AMD ); }else {acpi_sleep_run_lps0_dsm (ACPI_LPS0_EXIT );
drivers/ata/pata_ep93xx.c +1 -1
@@ -928,7 +928,7 @@ static int ep93xx_pata_probe(struct platform_device *pdev)/* INT[3] (IRQ_EP93XX_EXT3) line connected as pull down */ irq =platform_get_irq (pdev,0 );if (irq <0 ) { - err = -ENXIO ; + err = irq; goto err_rel_gpio; }
drivers/ata/pata_octeon_cf.c +3 -2
@@ -898,10 +898,11 @@ static int octeon_cf_probe(struct platform_device *pdev)return -EINVAL ; } - irq_handler = octeon_cf_interrupt; i =platform_get_irq (dma_dev,0 ); -if (i >0 ) +if (i >0 ) { irq = i; + irq_handler = octeon_cf_interrupt; + } }of_node_put (dma_node); }
drivers/ata/pata_rb532_cf.c +4 -2
@@ -115,10 +115,12 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) } irq =platform_get_irq (pdev,0 ); -if (irq <=0 ) { +if (irq <0 ) {dev_err (&pdev->dev,"no IRQ resource found\n" ); -return -ENOENT ; +return irq; } +if (!irq) +return -EINVAL ; gpiod =devm_gpiod_get (&pdev->dev,NULL ,GPIOD_IN );if (IS_ERR (gpiod)) {
drivers/ata/sata_highbank.c +4 -2
@@ -469,10 +469,12 @@ static int ahci_highbank_probe(struct platform_device *pdev) } irq =platform_get_irq (pdev,0 ); -if (irq <=0 ) { +if (irq <0 ) {dev_err (dev,"no irq\n" ); -return -EINVAL ; +return irq; } +if (!irq) +return -EINVAL ; hpriv =devm_kzalloc (dev,sizeof (*hpriv),GFP_KERNEL );if (!hpriv) {
drivers/block/loop.c +1 -0
@@ -1153,6 +1153,7 @@ static int loop_configure(struct loop_device *lo, fmode_t mode,blk_queue_physical_block_size (lo->lo_queue, bsize);blk_queue_io_min (lo->lo_queue, bsize); +loop_config_discard (lo);loop_update_rotational (lo);loop_update_dio (lo);loop_sysfs_init (lo);
drivers/bluetooth/btqca.c +20 -7
@@ -183,7 +183,7 @@ int qca_send_pre_shutdown_cmd(struct hci_dev *hdev)EXPORT_SYMBOL_GPL (qca_send_pre_shutdown_cmd);static void qca_tlv_check_data (struct qca_fw_config *config, -const struct firmware *fw,enum qca_btsoc_type soc_type) +u8 *fw_data,enum qca_btsoc_type soc_type) {const u8 *data;u32 type_len;
@@ -194,7 +194,7 @@ static void qca_tlv_check_data(struct qca_fw_config *config,struct tlv_type_nvm *tlv_nvm;uint8_t nvm_baud_rate = config->user_baud_rate; - tlv = (struct tlv_type_hdr *)fw->data; + tlv = (struct tlv_type_hdr *)fw_data; type_len =le32_to_cpu (tlv->type_len); length = (type_len >>8 ) &0x00ffffff ;
@@ -390,8 +390,9 @@ static int qca_download_firmware(struct hci_dev *hdev, enum qca_btsoc_type soc_type) {const struct firmware *fw; +u8 *data;const u8 *segment; -int ret, remain, i =0 ; +int ret, size, remain, i =0 ;bt_dev_info (hdev,"QCA Downloading %s" , config->fwname);
@@ -402,10 +403,22 @@ static int qca_download_firmware(struct hci_dev *hdev,return ret; } -qca_tlv_check_data (config, fw, soc_type); + size = fw->size; + data =vmalloc (fw->size); +if (!data) { +bt_dev_err (hdev,"QCA Failed to allocate memory for file: %s" , + config->fwname); +release_firmware (fw); +return -ENOMEM ; + } + +memcpy (data, fw->data, size); +release_firmware (fw); + +qca_tlv_check_data (config, data, soc_type); - segment = fw->data; - remain = fw->size; + segment = data; + remain = size;while (remain >0 ) {int segsize =min (MAX_SIZE_PER_TLV_SEGMENT , remain);
@@ -435,7 +448,7 @@ static int qca_download_firmware(struct hci_dev *hdev, ret =qca_inject_cmd_complete_event (hdev); out: -release_firmware (fw); +vfree (data);return ret; }
drivers/bluetooth/hci_qca.c +2 -2
@@ -1820,8 +1820,6 @@ static void qca_power_shutdown(struct hci_uart *hu)unsigned long flags;enum qca_btsoc_type soc_type =qca_soc_type (hu); - qcadev =serdev_device_get_drvdata (hu->serdev); -/* From this point we go into power off state. But serial port is * still open, stop queueing the IBS data and flush all the buffered * data in skb's.
@@ -1837,6 +1835,8 @@ static void qca_power_shutdown(struct hci_uart *hu)if (!hu->serdev)return ; + qcadev =serdev_device_get_drvdata (hu->serdev); +if (qca_is_wcn399x (soc_type)) {host_set_baudrate (hu,2400 );qca_send_power_pulse (hu, false);
drivers/bus/mhi/core/pm.c +1 -0
@@ -911,6 +911,7 @@ int mhi_pm_resume(struct mhi_controller *mhi_cntrl) ret =wait_event_timeout (mhi_cntrl->state_event, mhi_cntrl->dev_state ==MHI_STATE_M0 || + mhi_cntrl->dev_state ==MHI_STATE_M2 ||MHI_PM_IN_ERROR_STATE (mhi_cntrl->pm_state),msecs_to_jiffies (mhi_cntrl->timeout_ms));
drivers/bus/mhi/pci_generic.c +4 -1
@@ -470,7 +470,7 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) err =mhi_register_controller (mhi_cntrl, mhi_cntrl_config);if (err) -return err; + goto err_disable_reporting;/* MHI bus does not power up the controller by default */ err =mhi_prepare_for_power_up (mhi_cntrl);
@@ -496,6 +496,8 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)mhi_unprepare_after_power_down (mhi_cntrl); err_unregister:mhi_unregister_controller (mhi_cntrl); +err_disable_reporting: +pci_disable_pcie_error_reporting (pdev);return err; }
@@ -514,6 +516,7 @@ static void mhi_pci_remove(struct pci_dev *pdev) }mhi_unregister_controller (mhi_cntrl); +pci_disable_pcie_error_reporting (pdev); }static void mhi_pci_shutdown (struct pci_dev *pdev)
drivers/char/hw_random/exynos-trng.c +2 -2
@@ -132,7 +132,7 @@ static int exynos_trng_probe(struct platform_device *pdev)return PTR_ERR (trng->mem);pm_runtime_enable (&pdev->dev); - ret =pm_runtime_get_sync (&pdev->dev); + ret =pm_runtime_resume_and_get (&pdev->dev);if (ret <0 ) {dev_err (&pdev->dev,"Could not get runtime PM.\n" ); goto err_pm_get;
@@ -165,7 +165,7 @@ static int exynos_trng_probe(struct platform_device *pdev)clk_disable_unprepare (trng->clk); err_clock: -pm_runtime_put_sync (&pdev->dev); +pm_runtime_put_noidle (&pdev->dev); err_pm_get:pm_runtime_disable (&pdev->dev);
drivers/char/pcmcia/cm4000_cs.c +4 -0
@@ -544,6 +544,10 @@ static int set_protocol(struct cm4000_dev *dev, struct ptsreq *ptsreq)io_read_num_rec_bytes (iobase, &num_bytes_read);if (num_bytes_read >=4 ) {DEBUGP (2 , dev,"NumRecBytes = %i\n" , num_bytes_read); +if (num_bytes_read >4 ) { + rc = -EIO ; + goto exit_setprotocol; + }break ; }usleep_range (10000 ,11000 );
drivers/char/tpm/tpm_tis_core.c +18 -7
@@ -196,13 +196,24 @@ static u8 tpm_tis_status(struct tpm_chip *chip)return 0 ;if (unlikely ((status &TPM_STS_READ_ZERO ) !=0 )) { -/* -* If this trips, the chances are the read is -* returning 0xff because the locality hasn't been -* acquired. Usually because tpm_try_get_ops() hasn't -* been called before doing a TPM operation. -*/ -WARN_ONCE (1 ,"TPM returned invalid status\n" ); +if (!test_and_set_bit (TPM_TIS_INVALID_STATUS , &priv->flags)) { +/* +* If this trips, the chances are the read is +* returning 0xff because the locality hasn't been +* acquired. Usually because tpm_try_get_ops() hasn't +* been called before doing a TPM operation. +*/ +dev_err (&chip->dev,"invalid TPM_STS.x 0x%02x, dumping stack for forensics\n" , + status); + +/* +* Dump stack for forensics, as invalid TPM_STS.x could be +* potentially triggered by impaired tpm_try_get_ops() or
Lines of this file are not shown. View the 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 +61 -28
89 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/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/imx/ipuv3-plane.c +46 -11
57 lines not on this page · 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/hw/hns/hns_roce_hw_v2.c +3 -4
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/s5p-jpeg/jpeg-core.c +1 -4
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/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/oki-semi/pch_gbe/pch_gbe_main.c +7 -3
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/mac.c +4 -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_mac.c +0 -8
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/testmode.c +19 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/init.c +0 -18
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/mac.c +11 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/main.c +1 -57
58 lines not on this page · 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/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/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/hikey9xx/hi6421v600-regulator.c +6 -3
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/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 +133 -0
133 lines not on this page · raw message
fs/dlm/lowcomms.c +52 -25
77 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/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
sound/pci/hda/patch_realtek.c +42 -7
49 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/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/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.