Linux 5.8.17
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.8.17 kernel.
All users of the 5.8 kernel series must upgrade.
The updated 5.8.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.8.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/admin-guide/kernel-parameters.txt | 2 Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml | 7 Documentation/devicetree/bindings/net/socionext-netsec.txt | 4 Documentation/networking/ip-sysctl.rst | 4 Makefile | 2 arch/arc/plat-hsdk/Kconfig | 1 arch/arm/boot/dts/imx6sl.dtsi | 2 arch/arm/boot/dts/iwg20d-q7-common.dtsi | 15 arch/arm/boot/dts/meson8.dtsi | 2 arch/arm/boot/dts/owl-s500.dtsi | 6 arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts | 2 arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi | 35 - arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi | 38 + arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi | 6 arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 10 arch/arm/mach-at91/pm.c | 1 arch/arm/mach-omap2/cpuidle44xx.c | 4 arch/arm/mach-s3c24xx/mach-at2440evb.c | 2 arch/arm/mach-s3c24xx/mach-h1940.c | 4 arch/arm/mach-s3c24xx/mach-mini2440.c | 4 arch/arm/mach-s3c24xx/mach-n30.c | 4 arch/arm/mach-s3c24xx/mach-rx1950.c | 4 arch/arm/mm/cache-l2x0.c | 16 arch/arm64/boot/dts/actions/s700.dtsi | 2 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 6 arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi | 4 arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 5 arch/arm64/boot/dts/qcom/msm8916.dtsi | 10 arch/arm64/boot/dts/qcom/pm8916.dtsi | 2 arch/arm64/boot/dts/qcom/sc7180.dtsi | 6 arch/arm64/boot/dts/renesas/r8a774c0.dtsi | 5 arch/arm64/boot/dts/renesas/r8a77990.dtsi | 5 arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 arch/arm64/include/asm/insn.h | 4 arch/arm64/include/asm/memory.h | 5 arch/arm64/include/asm/pgtable.h | 4 arch/arm64/kernel/cpu_errata.c | 7 arch/arm64/kernel/insn.c | 5 arch/arm64/kernel/perf_event.c | 5 arch/arm64/kernel/probes/decode-insn.c | 3 arch/arm64/mm/init.c | 30 - arch/m68k/coldfire/device.c | 6 arch/microblaze/include/asm/Kbuild | 1 arch/powerpc/include/asm/book3s/64/hash-4k.h | 13 arch/powerpc/include/asm/drmem.h | 39 - arch/powerpc/include/asm/hw_breakpoint.h | 1 arch/powerpc/include/asm/reg.h | 2 arch/powerpc/include/asm/svm.h | 4 arch/powerpc/include/asm/tlb.h | 13 arch/powerpc/kernel/hw_breakpoint.c | 14 arch/powerpc/kernel/irq.c | 9 arch/powerpc/kernel/ptrace/ptrace-noadv.c | 1 arch/powerpc/kernel/tau_6xx.c | 147 +--- arch/powerpc/mm/book3s64/radix_tlb.c | 23 arch/powerpc/mm/drmem.c | 6 arch/powerpc/mm/kasan/kasan_init_32.c | 12 arch/powerpc/mm/mem.c | 6 arch/powerpc/perf/hv-gpci-requests.h | 6 arch/powerpc/perf/isa207-common.c | 10 arch/powerpc/platforms/Kconfig | 14 arch/powerpc/platforms/powernv/opal-dump.c | 41 - arch/powerpc/platforms/pseries/hotplug-memory.c | 24 arch/powerpc/platforms/pseries/papr_scm.c | 3 arch/powerpc/platforms/pseries/ras.c | 118 ++- arch/powerpc/platforms/pseries/rng.c | 1 arch/powerpc/platforms/pseries/svm.c | 26 arch/powerpc/sysdev/xics/icp-hv.c | 1 arch/powerpc/xmon/xmon.c | 1 arch/s390/pci/pci_bus.c | 5 arch/um/drivers/vector_kern.c | 4 arch/um/kernel/time.c | 14 arch/x86/boot/compressed/pgtable_64.c | 9 arch/x86/events/amd/iommu.c | 2 arch/x86/events/core.c | 6 arch/x86/events/intel/ds.c | 32 - arch/x86/events/intel/uncore_snb.c | 31 - arch/x86/events/intel/uncore_snbep.c | 12 arch/x86/events/perf_event.h | 1 arch/x86/include/asm/special_insns.h | 28 arch/x86/kernel/cpu/common.c | 4 arch/x86/kernel/cpu/mce/core.c | 99 ++- arch/x86/kernel/cpu/mce/internal.h | 10 arch/x86/kernel/cpu/mce/severity.c | 28 arch/x86/kernel/dumpstack.c | 3 arch/x86/kernel/fpu/init.c | 30 - arch/x86/kernel/nmi.c | 5 arch/x86/kvm/emulate.c | 2 arch/x86/kvm/ioapic.c | 5 arch/x86/kvm/kvm_cache_regs.h | 2 arch/x86/kvm/lapic.c | 7 arch/x86/kvm/lapic.h | 1 arch/x86/kvm/mmu/mmu.c | 1 arch/x86/kvm/svm/avic.c | 1 arch/x86/kvm/vmx/nested.c | 14 block/blk-core.c | 9 block/blk-mq-sysfs.c | 2 block/blk-sysfs.c | 9 crypto/algif_aead.c | 7 crypto/algif_skcipher.c | 2 drivers/android/binder.c | 37 - drivers/bluetooth/btusb.c | 1 drivers/bluetooth/hci_ldisc.c | 1 drivers/bluetooth/hci_serdev.c | 2 drivers/bus/mhi/core/Makefile | 2 drivers/char/ipmi/ipmi_si_intf.c | 2 drivers/clk/at91/clk-main.c | 11 drivers/clk/bcm/clk-bcm2835.c | 4 drivers/clk/imx/clk-imx8mq.c | 4 drivers/clk/keystone/sci-clk.c | 2 drivers/clk/mediatek/clk-mt6779.c | 2 drivers/clk/meson/axg-audio.c | 135 ++++ drivers/clk/meson/g12a.c | 11 drivers/clk/qcom/gcc-sdm660.c | 2 drivers/clk/rockchip/clk-half-divider.c | 2 drivers/clocksource/hyperv_timer.c | 4 drivers/cpufreq/armada-37xx-cpufreq.c | 6 drivers/cpufreq/powernv-cpufreq.c | 9 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 5 drivers/crypto/caam/Kconfig | 1 drivers/crypto/caam/caamalg_qi.c | 81 ++ drivers/crypto/ccp/ccp-ops.c | 2 drivers/crypto/ccree/cc_pm.c | 6 drivers/crypto/chelsio/chtls/chtls_cm.c | 19 drivers/crypto/chelsio/chtls/chtls_io.c | 5 drivers/crypto/hisilicon/sec2/sec_crypto.c | 16 drivers/crypto/ixp4xx_crypto.c | 2 drivers/crypto/mediatek/mtk-platform.c | 8 drivers/crypto/omap-sham.c | 3 drivers/crypto/picoxcell_crypto.c | 9 drivers/crypto/stm32/Kconfig | 1 drivers/crypto/stm32/stm32-crc32.c | 15 drivers/dma/dmatest.c | 5 drivers/dma/dw/core.c | 4 drivers/dma/dw/dw.c | 2 drivers/dma/dw/of.c | 7 drivers/dma/ioat/dma.c | 2 drivers/edac/aspeed_edac.c | 4 drivers/edac/i5100_edac.c | 11 drivers/edac/ti_edac.c | 3 drivers/firmware/arm_scmi/mailbox.c | 2 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 drivers/gpu/drm/amd/display/dc/core/dc.c | 2 drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.c | 2 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 3 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 3 drivers/gpu/drm/drm_debugfs_crc.c | 4 drivers/gpu/drm/drm_gem_vram_helper.c | 28 drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 2 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 10 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 8 drivers/gpu/drm/mxsfb/mxsfb_drv.c | 21 drivers/gpu/drm/panel/panel-simple.c | 4 drivers/gpu/drm/panfrost/panfrost_device.h | 3 drivers/gpu/drm/panfrost/panfrost_drv.c | 11 drivers/gpu/drm/panfrost/panfrost_gpu.c | 22 drivers/gpu/drm/panfrost/panfrost_gpu.h | 2 drivers/gpu/drm/panfrost/panfrost_regs.h | 4 drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 12 drivers/gpu/drm/vgem/vgem_drv.c | 2 drivers/gpu/drm/virtio/virtgpu_kms.c | 2 drivers/gpu/drm/virtio/virtgpu_vq.c | 10 drivers/gpu/drm/vkms/vkms_composer.c | 2 drivers/gpu/drm/vkms/vkms_drv.c | 2 drivers/hid/hid-ids.h | 2 drivers/hid/hid-input.c | 4 drivers/hid/hid-ite.c | 4 drivers/hid/hid-multitouch.c | 6 drivers/hid/hid-roccat-kone.c | 23 drivers/hwmon/bt1-pvt.c | 138 +++- drivers/hwmon/bt1-pvt.h | 3 drivers/hwmon/pmbus/max34440.c | 3 drivers/hwmon/w83627ehf.c | 6 drivers/hwtracing/coresight/coresight-cti.c | 41 - drivers/hwtracing/coresight/coresight-etm-perf.c | 14 drivers/hwtracing/coresight/coresight-etm4x-sysfs.c | 2 drivers/hwtracing/coresight/coresight-etm4x.c | 105 +-- drivers/hwtracing/coresight/coresight-etm4x.h | 3 drivers/hwtracing/coresight/coresight-platform.c | 10 drivers/hwtracing/coresight/coresight.c | 2 drivers/i2c/busses/Kconfig | 1 drivers/i2c/i2c-core-acpi.c | 11 drivers/i3c/master.c | 19 drivers/i3c/master/i3c-master-cdns.c | 4 drivers/iio/adc/stm32-adc-core.c | 9 drivers/infiniband/core/cma.c | 300 ++++------ drivers/infiniband/core/cq.c | 30 - drivers/infiniband/core/ucma.c | 6 drivers/infiniband/core/umem.c | 15 drivers/infiniband/core/verbs.c | 9 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 3 drivers/infiniband/hw/bnxt_re/ib_verbs.h | 2 drivers/infiniband/hw/cxgb4/cq.c | 3 drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 drivers/infiniband/hw/efa/efa.h | 2 drivers/infiniband/hw/efa/efa_verbs.c | 3 drivers/infiniband/hw/hns/hns_roce_cq.c | 3 drivers/infiniband/hw/hns/hns_roce_device.h | 4 drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 41 - drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 drivers/infiniband/hw/hns/hns_roce_qp.c | 6 drivers/infiniband/hw/i40iw/i40iw.h | 9 drivers/infiniband/hw/i40iw/i40iw_cm.c | 10 drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 drivers/infiniband/hw/i40iw/i40iw_utils.c | 59 - drivers/infiniband/hw/i40iw/i40iw_verbs.c | 34 - drivers/infiniband/hw/i40iw/i40iw_verbs.h | 3 drivers/infiniband/hw/mlx4/cm.c | 3 drivers/infiniband/hw/mlx4/cq.c | 3 drivers/infiniband/hw/mlx4/mad.c | 34 + drivers/infiniband/hw/mlx4/mlx4_ib.h | 4 drivers/infiniband/hw/mlx5/cq.c | 14 drivers/infiniband/hw/mlx5/main.c | 4 drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 drivers/infiniband/hw/mlx5/mr.c | 64 -- drivers/infiniband/hw/mthca/mthca_provider.c | 3 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 3 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 drivers/infiniband/hw/qedr/main.c | 2 drivers/infiniband/hw/qedr/qedr_iw_cm.c | 6 drivers/infiniband/hw/qedr/verbs.c | 63 +- drivers/infiniband/hw/qedr/verbs.h | 2 drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 4 drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 2 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 3 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 drivers/infiniband/sw/rdmavt/cq.c | 3 drivers/infiniband/sw/rdmavt/cq.h | 2 drivers/infiniband/sw/rdmavt/vt.c | 4 drivers/infiniband/sw/rxe/rxe_recv.c | 20 drivers/infiniband/sw/rxe/rxe_verbs.c | 3 drivers/infiniband/sw/siw/siw_verbs.c | 3 drivers/infiniband/sw/siw/siw_verbs.h | 2 drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 11 drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 2 drivers/infiniband/ulp/rtrs/rtrs-srv.c | 76 ++ drivers/infiniband/ulp/rtrs/rtrs-srv.h | 7 drivers/input/keyboard/ep93xx_keypad.c | 4 drivers/input/keyboard/omap4-keypad.c | 6 drivers/input/keyboard/twl4030_keypad.c | 8 drivers/input/serio/sun4i-ps2.c | 9 drivers/input/touchscreen/elants_i2c.c | 2 drivers/input/touchscreen/imx6ul_tsc.c | 27 drivers/input/touchscreen/stmfts.c | 2 drivers/iommu/qcom_iommu.c | 8 drivers/lightnvm/core.c | 5 drivers/mailbox/mailbox.c | 12 drivers/mailbox/mtk-cmdq-mailbox.c | 8 drivers/md/md-bitmap.c | 3 drivers/md/md-cluster.c | 1 drivers/media/firewire/firedtv-fw.c | 6 drivers/media/i2c/m5mols/m5mols_core.c | 3 drivers/media/i2c/ov5640.c | 196 +++--- drivers/media/i2c/tc358743.c | 14 drivers/media/pci/bt8xx/bttv-driver.c | 13 drivers/media/pci/saa7134/saa7134-tvaudio.c | 3 drivers/media/platform/exynos4-is/fimc-isp.c | 4 drivers/media/platform/exynos4-is/fimc-lite.c | 2 drivers/media/platform/exynos4-is/media-dev.c | 8 drivers/media/platform/exynos4-is/mipi-csis.c | 4 drivers/media/platform/mx2_emmaprp.c | 7 drivers/media/platform/omap3isp/isp.c | 6 drivers/media/platform/qcom/camss/camss-csiphy.c | 4 drivers/media/platform/qcom/venus/core.c | 20 drivers/media/platform/qcom/venus/vdec.c | 10 drivers/media/platform/rcar-fcp.c | 4 drivers/media/platform/rcar-vin/rcar-csi2.c | 24 drivers/media/platform/rcar-vin/rcar-dma.c | 4 drivers/media/platform/rcar_drif.c | 30 - drivers/media/platform/rockchip/rga/rga-buf.c | 1 drivers/media/platform/s3c-camif/camif-core.c | 5 drivers/media/platform/s5p-mfc/s5p_mfc_pm.c | 4 drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 3 drivers/media/platform/sti/delta/delta-v4l2.c | 4 drivers/media/platform/sti/hva/hva-hw.c | 4 drivers/media/platform/stm32/stm32-dcmi.c | 4 drivers/media/platform/ti-vpe/vpe.c | 2 drivers/media/platform/vsp1/vsp1_drv.c | 11 drivers/media/rc/ati_remote.c | 4 drivers/media/test-drivers/vivid/vivid-meta-out.c | 9 drivers/media/tuners/tuner-simple.c | 5 drivers/media/usb/uvc/uvc_ctrl.c | 6 drivers/media/usb/uvc/uvc_entity.c | 35 + drivers/media/usb/uvc/uvc_v4l2.c | 30 + drivers/memory/fsl-corenet-cf.c | 6 drivers/memory/omap-gpmc.c | 8 drivers/mfd/sm501.c | 8 drivers/misc/cardreader/rtsx_pcr.c | 4 drivers/misc/eeprom/at25.c | 2 drivers/misc/habanalabs/gaudi/gaudi.c | 8 drivers/misc/habanalabs/goya/goya.c | 8 drivers/misc/mic/scif/scif_rma.c | 4 drivers/misc/mic/vop/vop_main.c | 2 drivers/misc/mic/vop/vop_vringh.c | 24 drivers/misc/ocxl/Kconfig | 3 drivers/misc/vmw_vmci/vmci_queue_pair.c | 10 drivers/mmc/core/sdio_cis.c | 3 drivers/mtd/hyperbus/hbmc-am654.c | 4 drivers/mtd/lpddr/lpddr2_nvm.c | 35 - drivers/mtd/mtdoops.c | 11 drivers/mtd/nand/raw/ams-delta.c | 2 drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 drivers/mtd/nand/raw/vf610_nfc.c | 6 drivers/mtd/nand/spi/gigadevice.c | 14 drivers/net/can/flexcan.c | 34 - drivers/net/can/m_can/m_can_platform.c | 2 drivers/net/dsa/microchip/ksz_common.c | 16 drivers/net/dsa/realtek-smi-core.h | 4 drivers/net/dsa/rtl8366.c | 280 +++++---- drivers/net/dsa/rtl8366rb.c | 2 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 175 +++++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h | 15 drivers/net/ethernet/cisco/enic/enic.h | 1 drivers/net/ethernet/cisco/enic/enic_api.c | 6 drivers/net/ethernet/cisco/enic/enic_main.c | 27 drivers/net/ethernet/faraday/ftgmac100.c | 5 drivers/net/ethernet/faraday/ftgmac100.h | 8 drivers/net/ethernet/freescale/fec_main.c | 35 - drivers/net/ethernet/ibm/ibmveth.c | 19 drivers/net/ethernet/ibm/ibmvnic.c | 10 drivers/net/ethernet/ibm/ibmvnic.h | 2 drivers/net/ethernet/korina.c | 3 drivers/net/ethernet/mediatek/Kconfig | 1 drivers/net/ethernet/mellanox/mlx4/en_rx.c | 3 drivers/net/ethernet/mellanox/mlx4/en_tx.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en/health.c | 2 drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 5 drivers/net/ethernet/realtek/r8169_main.c | 12 drivers/net/ethernet/socionext/netsec.c | 24 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 41 - drivers/net/ipa/ipa_endpoint.c | 6 drivers/net/usb/qmi_wwan.c | 1 drivers/net/wan/hdlc.c | 10 drivers/net/wan/hdlc_raw_eth.c | 1 drivers/net/wireless/ath/ath10k/ce.c | 2 drivers/net/wireless/ath/ath10k/htt_rx.c | 8 drivers/net/wireless/ath/ath10k/mac.c | 2 drivers/net/wireless/ath/ath11k/ahb.c | 10 drivers/net/wireless/ath/ath11k/mac.c | 4 drivers/net/wireless/ath/ath11k/qmi.c | 1 drivers/net/wireless/ath/ath6kl/main.c | 3 drivers/net/wireless/ath/ath6kl/wmi.c | 5 drivers/net/wireless/ath/ath9k/hif_usb.c | 19 drivers/net/wireless/ath/ath9k/htc_hst.c | 2 drivers/net/wireless/ath/wcn36xx/main.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c | 4 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 8 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 9 drivers/net/wireless/marvell/mwifiex/scan.c | 2 drivers/net/wireless/marvell/mwifiex/sdio.c | 2 drivers/net/wireless/marvell/mwifiex/usb.c | 3 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 18 drivers/net/wireless/quantenna/qtnfmac/commands.c | 2 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 10 drivers/net/wireless/realtek/rtw88/main.c | 5 drivers/net/wireless/realtek/rtw88/pci.c | 2 drivers/net/wireless/realtek/rtw88/pci.h | 4 drivers/net/wireless/realtek/rtw88/phy.c | 5 drivers/ntb/hw/amd/ntb_hw_amd.c | 1 drivers/ntb/hw/intel/ntb_hw_gen1.c | 2 drivers/nvme/target/core.c | 3 drivers/nvmem/core.c | 38 - drivers/opp/core.c | 6 drivers/pci/controller/dwc/pcie-designware-ep.c | 3 drivers/pci/controller/pci-aardvark.c | 13 drivers/pci/controller/pci-hyperv.c | 50 + drivers/pci/controller/pcie-iproc-msi.c | 13 drivers/pci/iov.c | 1 drivers/perf/thunderx2_pmu.c | 7 drivers/perf/xgene_pmu.c | 32 - drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 drivers/pinctrl/bcm/Kconfig | 1 drivers/pinctrl/devicetree.c | 5 drivers/pinctrl/pinctrl-mcp23s08.c | 24 drivers/pinctrl/qcom/pinctrl-msm.c | 10 drivers/platform/chrome/cros_ec_lightbar.c | 2 drivers/platform/x86/mlx-platform.c | 15 drivers/pwm/pwm-img.c | 3 drivers/pwm/pwm-lpss.c | 7 drivers/pwm/pwm-rockchip.c | 5 drivers/rapidio/devices/rio_mport_cdev.c | 18 drivers/ras/cec.c | 9 drivers/regulator/core.c | 21 drivers/remoteproc/mtk_scp_ipi.c | 4 drivers/rpmsg/mtk_rpmsg.c | 9 drivers/rpmsg/qcom_smd.c | 32 - drivers/rtc/rtc-ds1307.c | 4 drivers/s390/net/qeth_core.h | 6 drivers/s390/net/qeth_l2_main.c | 59 + drivers/s390/net/qeth_l2_sys.c | 1 drivers/scsi/be2iscsi/be_main.c | 4 drivers/scsi/bfa/bfad.c | 1 drivers/scsi/csiostor/csio_hw.c | 2 drivers/scsi/ibmvscsi/ibmvfc.c | 1 drivers/scsi/mpt3sas/mpt3sas_base.c | 14 drivers/scsi/mvumi.c | 1 drivers/scsi/qedf/qedf_main.c | 2 drivers/scsi/qedi/qedi_fw.c | 23 drivers/scsi/qedi/qedi_iscsi.c | 2 drivers/scsi/qedi/qedi_main.c | 10 drivers/scsi/qla2xxx/qla_init.c | 10 drivers/scsi/qla2xxx/qla_inline.h | 5 drivers/scsi/qla2xxx/qla_mbx.c | 2 drivers/scsi/qla2xxx/qla_nvme.c | 2 drivers/scsi/qla2xxx/qla_target.c | 2 drivers/scsi/qla4xxx/ql4_os.c | 2 drivers/scsi/smartpqi/smartpqi.h | 2 drivers/scsi/smartpqi/smartpqi_init.c | 101 ++- drivers/scsi/ufs/ufs-mediatek.c | 6 drivers/scsi/ufs/ufs-qcom.c | 5 drivers/scsi/ufs/ufshcd.c | 3 drivers/slimbus/core.c | 6 drivers/slimbus/qcom-ngd-ctrl.c | 4 drivers/soc/fsl/qbman/bman.c | 2 drivers/soc/mediatek/mtk-cmdq-helper.c | 5 drivers/soc/qcom/apr.c | 2 drivers/soc/qcom/pdr_internal.h | 2 drivers/soc/xilinx/zynqmp_power.c | 2 drivers/spi/spi-dw-pci.c | 16 drivers/spi/spi-fsi.c | 99 ++- drivers/spi/spi-omap2-mcspi.c | 17 drivers/spi/spi-s3c64xx.c | 52 + drivers/staging/emxx_udc/emxx_udc.c | 4 drivers/staging/media/atomisp/pci/sh_css.c | 2 drivers/staging/media/hantro/hantro_h264.c | 2 drivers/staging/media/hantro/hantro_postproc.c | 4 drivers/staging/media/ipu3/ipu3-css-params.c | 2 drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c | 1 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 2 drivers/staging/wfx/data_rx.c | 2 drivers/staging/wilc1000/mon.c | 3 drivers/staging/wilc1000/sdio.c | 5 drivers/staging/wilc1000/spi.c | 5 drivers/target/target_core_user.c | 2 drivers/tty/hvc/Kconfig | 1 drivers/tty/hvc/hvcs.c | 14 drivers/tty/ipwireless/network.c | 4 drivers/tty/ipwireless/tty.c | 2 drivers/tty/pty.c | 2 drivers/tty/serial/Kconfig | 1 drivers/tty/serial/fsl_lpuart.c | 16 drivers/usb/cdns3/gadget.c | 2 drivers/usb/class/cdc-acm.c | 23 drivers/usb/class/cdc-wdm.c | 72 +- drivers/usb/core/urb.c | 89 +- drivers/usb/dwc2/gadget.c | 40 + drivers/usb/dwc2/params.c | 2 drivers/usb/dwc2/platform.c | 6 drivers/usb/dwc3/core.c | 60 +- drivers/usb/dwc3/core.h | 7 drivers/usb/dwc3/dwc3-of-simple.c | 1 drivers/usb/gadget/function/f_ncm.c | 8 drivers/usb/gadget/function/f_printer.c | 16 drivers/usb/gadget/function/u_ether.c | 2 drivers/usb/gadget/function/u_serial.c | 1 drivers/usb/gadget/udc/bcm63xx_udc.c | 1 drivers/usb/host/ohci-hcd.c | 16 drivers/usb/host/xhci.c | 3 drivers/vfio/pci/vfio_pci_config.c | 24 drivers/vfio/pci/vfio_pci_intrs.c | 4 drivers/vfio/vfio.c | 9 drivers/vfio/vfio_iommu_type1.c | 6 drivers/video/backlight/sky81452-backlight.c | 1 drivers/video/fbdev/aty/radeon_base.c | 2 drivers/video/fbdev/core/fbmem.c | 4 drivers/video/fbdev/sis/init.c | 11 drivers/video/fbdev/vga16fb.c | 14 drivers/virt/fsl_hypervisor.c | 17 drivers/watchdog/sp5100_tco.h | 2 drivers/watchdog/watchdog_dev.c | 6 fs/afs/cell.c | 283 +++++---- fs/afs/dynroot.c | 23 fs/afs/internal.h | 15 fs/afs/main.c | 2 fs/afs/mntpt.c | 4 fs/afs/proc.c | 23 fs/afs/super.c | 16 fs/afs/vl_alias.c | 8 fs/afs/vl_rotate.c | 2 fs/afs/volume.c | 4 fs/btrfs/extent-io-tree.h | 1 fs/btrfs/volumes.c | 7 fs/cifs/asn1.c | 16 fs/cifs/cifsacl.c | 5 fs/cifs/cifsproto.h | 2 fs/cifs/connect.c | 5 fs/cifs/readdir.c | 5 fs/cifs/smb2ops.c | 21 fs/crypto/policy.c | 9 fs/d_path.c | 6 fs/dlm/config.c | 3 fs/ext4/ext4.h | 2 fs/ext4/fsmap.c | 3 fs/ext4/mballoc.c | 37 - fs/f2fs/inode.c | 7 fs/f2fs/sysfs.c | 1 fs/iomap/buffered-io.c | 25 fs/iomap/direct-io.c | 10 fs/nfs/fs_context.c | 1 fs/ntfs/inode.c | 6 fs/proc/base.c | 3 fs/quota/quota_v2.c | 1 fs/ramfs/file-nommu.c | 2 fs/reiserfs/inode.c | 3 fs/reiserfs/super.c | 8 fs/udf/inode.c | 25 fs/udf/super.c | 6 fs/xfs/libxfs/xfs_rtbitmap.c | 11 fs/xfs/xfs_buf_item_recover.c | 2 fs/xfs/xfs_file.c | 17 fs/xfs/xfs_fsmap.c | 48 - fs/xfs/xfs_fsmap.h | 6 fs/xfs/xfs_ioctl.c | 144 +++- fs/xfs/xfs_rtalloc.c | 11 include/linux/bpf_verifier.h | 1 include/linux/mailbox/mtk-cmdq-mailbox.h | 3 include/linux/oom.h | 1 include/linux/overflow.h | 1 include/linux/page_owner.h | 6 include/linux/pci.h | 1 include/linux/platform_data/dma-dw.h | 2 include/linux/sched/coredump.h | 1 include/linux/soc/mediatek/mtk-cmdq.h | 5 include/net/ip.h | 6 include/net/netfilter/nf_log.h | 1 include/net/tc_act/tc_tunnel_key.h | 5 include/rdma/ib_umem.h | 9 include/rdma/ib_verbs.h | 68 -- include/scsi/scsi_common.h | 7 include/sound/hda_codec.h | 1 include/trace/events/target.h | 12 include/uapi/linux/pci_regs.h | 1 include/uapi/linux/perf_event.h | 2 kernel/bpf/percpu_freelist.c | 101 +++ kernel/bpf/percpu_freelist.h | 1 kernel/bpf/verifier.c | 34 + kernel/debug/kdb/kdb_io.c | 8 kernel/events/core.c | 7 kernel/fork.c | 21 kernel/module.c | 13 kernel/power/hibernate.c | 11 kernel/rcu/rcutorture.c | 13 kernel/rcu/tree.c | 2 kernel/sched/core.c | 2 kernel/sched/fair.c | 20 kernel/sched/sched.h | 13 kernel/trace/trace_events_synth.c | 18 lib/crc32.c | 2 lib/idr.c | 1 mm/filemap.c | 8 mm/huge_memory.c | 2 mm/memcontrol.c | 5 mm/oom_kill.c | 2 mm/page_alloc.c | 4 mm/page_owner.c | 4 mm/swapfile.c | 4 net/bluetooth/hci_core.c | 11 net/bluetooth/l2cap_sock.c | 7 net/bridge/netfilter/ebt_dnat.c | 2 net/bridge/netfilter/ebt_redirect.c | 2 net/bridge/netfilter/ebt_snat.c | 2 net/can/j1939/transport.c | 2 net/core/filter.c | 3 net/core/skmsg.c | 14 net/core/sock.c | 13 net/ipv4/icmp.c | 7 net/ipv4/ip_gre.c | 15 net/ipv4/netfilter/nf_log_arp.c | 19 net/ipv4/netfilter/nf_log_ipv4.c | 6 net/ipv4/nexthop.c | 2 net/ipv4/route.c | 4 net/ipv4/tcp_input.c | 2 net/ipv6/ip6_fib.c | 4 net/ipv6/netfilter/nf_log_ipv6.c | 8 net/mac80211/cfg.c | 3 net/mac80211/sta_info.c | 4 net/mptcp/options.c | 3 net/mptcp/protocol.h | 2 net/mptcp/subflow.c | 3 net/netfilter/ipvs/ip_vs_ctl.c | 7 net/netfilter/ipvs/ip_vs_xmit.c | 6 net/netfilter/nf_conntrack_proto_tcp.c | 19 net/netfilter/nf_dup_netdev.c | 1 net/netfilter/nf_log_common.c | 12 net/netfilter/nft_fwd_netdev.c | 1 net/nfc/netlink.c | 2 net/sched/act_api.c | 14 net/sched/act_ct.c | 4 net/sched/act_tunnel_key.c | 2 net/sched/cls_api.c | 2 net/smc/smc_core.c | 2 net/smc/smc_llc.c | 13 net/sunrpc/auth_gss/svcauth_gss.c | 27 net/sunrpc/xprtrdma/svc_rdma_sendto.c | 3 net/tipc/bcast.c | 10 net/tipc/msg.c | 3 net/tls/tls_device.c | 11 net/wireless/nl80211.c | 21 samples/bpf/xdpsock_user.c | 10 samples/mic/mpssd/mpssd.c | 4 scripts/package/builddeb | 6 scripts/package/mkdebian | 19 security/integrity/ima/ima_crypto.c | 2 security/integrity/ima/ima_main.c | 10 sound/core/seq/oss/seq_oss.c | 7 sound/firewire/bebob/bebob_hwdep.c | 3 sound/pci/hda/hda_intel.c | 14 sound/pci/hda/hda_jack.c | 22 sound/pci/hda/patch_ca0132.c | 24 sound/pci/hda/patch_hdmi.c | 20 sound/pci/hda/patch_realtek.c | 56 + sound/soc/codecs/Kconfig | 1 sound/soc/codecs/tas2770.c | 93 +-- sound/soc/codecs/tlv320adcx140.c | 2 sound/soc/codecs/tlv320aic32x4.c | 9 sound/soc/codecs/wm_adsp.c | 20 sound/soc/fsl/fsl_sai.c | 19 sound/soc/fsl/fsl_sai.h | 1 sound/soc/fsl/imx-es8328.c | 12 sound/soc/intel/boards/sof_rt5682.c | 13 sound/soc/qcom/lpass-cpu.c | 16 sound/soc/qcom/lpass-platform.c | 3 sound/soc/soc-topology.c | 11 sound/soc/sof/control.c | 11 sound/soc/sof/intel/hda.c | 8 sound/soc/sof/sof-pci-dev.c | 24 sound/usb/format.c | 1 tools/build/Makefile.feature | 5 tools/build/feature/Makefile | 2 tools/build/feature/test-all.c | 10 tools/lib/bpf/libbpf.c | 57 + tools/lib/perf/evlist.c | 3 tools/perf/Makefile.config | 4 tools/perf/Makefile.perf | 6 tools/perf/builtin-stat.c | 4 tools/perf/builtin-trace.c | 6 tools/perf/builtin-version.c | 1 tools/perf/util/intel-pt.c | 8 tools/testing/radix-tree/idr-test.c | 29 tools/testing/selftests/bpf/bench.c | 3 tools/testing/selftests/bpf/benchs/bench_rename.c | 17 tools/testing/selftests/bpf/prog_tests/sk_assign.c | 2 tools/testing/selftests/bpf/prog_tests/sockopt_sk.c | 4 tools/testing/selftests/bpf/prog_tests/test_overhead.c | 14 tools/testing/selftests/bpf/progs/test_overhead.c | 6 tools/testing/selftests/bpf/progs/test_sysctl_loop1.c | 4 tools/testing/selftests/bpf/progs/test_sysctl_loop2.c | 4 tools/testing/selftests/bpf/progs/test_vmlinux.c | 12 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-inter-event-combined-hist.tc | 8 tools/testing/selftests/lkdtm/run.sh | 2 tools/testing/selftests/net/config | 1 tools/testing/selftests/net/forwarding/vxlan_asymmetric.sh | 10 tools/testing/selftests/net/forwarding/vxlan_symmetric.sh | 10 tools/testing/selftests/net/mptcp/mptcp_connect.sh | 4 tools/testing/selftests/net/mptcp/mptcp_join.sh | 4 tools/testing/selftests/net/rtnetlink.sh | 5 tools/testing/selftests/powerpc/eeh/eeh-basic.sh | 9 tools/testing/selftests/vm/config | 1 664 files changed, 5451 insertions(+), 2933 deletions(-)
Aashish Verma (1):
net: stmmac: Fix incorrect location to set real_num_rx|tx_queues
Abel Vesa (1):
clk: imx8mq: Fix usdhc parents order
Abhishek Pandit-Subedi (3):
Bluetooth: Clear suspend tasks on unregister
Bluetooth: Re-order clearing suspend tasks
Bluetooth: Only mark socket zapped after unlocking
Adam Brickman (1):
ASoC: wm_adsp: Pass full name to snd_ctl_notify
Adam Goode (1):
media: uvcvideo: Ensure all probed info is returned to v4l2
Aditya Pakki (1):
media: st-delta: Fix reference count leak in delta_run_work
Adrian Hunter (1):
perf intel-pt: Fix "context_switch event has no tid" error
Al Grant (1):
perf: correct SNOOPX field offset
Alex Dewar (2):
staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()
VMCI: check return value of get_user_pages_fast() for errors
Alex Elder (1):
net: ipa: skip suspend/resume activities if not set up
Alex Gartrell (1):
libbpf: Fix unintentional success return code in bpf_object__load
Alex Williamson (1):
vfio/pci: Clear token on bypass registration failure
Alexander Aring (1):
fs: dlm: fix configfs memory leak
Alexandru Elisei (1):
arm64: perf: Add missing ISB in armv8pmu_enable_counter()
Alexei Starovoitov (1):
mm/error_inject: Fix allow_error_inject function signatures.
Amit Daniel Kachhap (1):
arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions
Amit Singh Tomar (1):
arm64: dts: actions: limit address range for pinctrl node
Anatoly Pugachev (1):
selftests: vm: add fragment CONFIG_GUP_BENCHMARK
Andreas Färber (2):
rtw88: Fix probe error handling race with firmware loading
rtw88: Fix potential probe error handling race with wow firmware loading
Andrei Botila (2):
crypto: caam/qi - add fallback for XTS with more than 8B IV
crypto: caam/qi - add support for more XTS key lengths
Andrew Jeffery (1):
pinctrl: aspeed: Use the right pinconf mask
Andrii Nakryiko (2):
selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user()
fs: fix NULL dereference due to data race in prepend_path()
Andy Shevchenko (1):
dmaengine: dmatest: Check list for emptiness before access its last entry
Aneesh Kumar K.V (1):
powerpc/book3s64/hash/4k: Support large linear mapping range with 4K
Ard Biesheuvel (2):
arm64: mm: use single quantity to represent the PA to VA translation
netsec: ignore 'phy-mode' device property on ACPI systems
Arnaldo Carvalho de Melo (2):
perf tools: Make GTK2 support opt-in
tools feature: Add missing -lzstd to the fast path feature detection
Arnd Bergmann (2):
mtd: lpddr: fix excessive stack usage with clang
ARM: s3c24xx: fix mmc gpio lookup tables
Artem Savkov (1):
pty: do tty_flip_buffer_push without port->lock in pty_write
Arvind Sankar (2):
x86/fpu: Allow multiple bits in clearcpuid= parameter x86/asm: Replace __force_order with a memory clobber
Aswath Govindraju (1):
spi: omap2-mcspi: Improve performance waiting for CHSTAT
Athira Rajeev (1):
powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
Barry Song (1):
sched/fair: Use dst group while checking imbalance for NUMA balancer
Bartosz Golaszewski (1):
net: ethernet: mtk-star-emac: select REGMAP_MMIO
Biju Das (1):
ARM: dts: iwg20d-q7-common: Fix touch controller probe failure
Bo YU (1):
ath11k: Add checked value for ath11k_ahb_remove
Bob Pearson (2):
RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
Borislav Petkov (3):
x86/mce: Add Skylake quirk for patrol scrub reported errors x86/mce: Annotate mce_rd/wrmsrl() with noinstr x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR
Brad Bishop (3):
spi: fsi: Handle 9 to 15 byte transfers lengths
spi: fsi: Fix use of the bneq+ sequencer instruction
spi: fsi: Fix clock running too fast
Brian Norris (1):
rtw88: don't treat NULL pointer as an array
Brooke Basile (1):
ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
Bryan O'Donoghue (1):
wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680
Camel Guo (1):
ASoC: tlv320adcx140: Fix digital gain range
Can Guo (1):
scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()
Chris Chiu (1):
rtl8xxxu: prevent potential memory leak
Chris Packham (1):
rtc: ds1307: Clear OSF flag on DS1388 when setting time
Christian Eggers (4):
net: dsa: microchip: fix race condition
socket: fix option SO_TIMESTAMPING_NEW
socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled
eeprom: at25: set minimum read/write access stride to 1
Christian Hewitt (1):
drm/panfrost: increase readl_relaxed_poll_timeout values
Christoph Hellwig (1):
PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
Christophe JAILLET (7):
crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call
media: staging/intel-ipu3: css: Correctly reset some memory
ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path
mwifiex: Do not use GFP_KERNEL in atomic context
staging: rtl8192u: Do not use GFP_KERNEL in atomic context
scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call
Christophe Kerello (1):
mtd: rawnand: stm32_fmc2: fix a buffer overflow
Christophe Leroy (1):
powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx
Chunfeng Yun (1):
usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root
Claudiu Beznea (2):
clk: at91: clk-main: update key before writing AT91_CKGR_MOR
ARM: at91: pm: of_node_put() after its usage
Colin Ian King (7):
x86/events/amd/iommu: Fix sizeof mismatch
drm/amd/display: fix potential integer overflow when shifting 32 bit variable bl_pwm
video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error
qtnfmac: fix resource leaks on unsupported iftype error return path IB/rdmavt: Fix sizeof mismatch
remoteproc/mediatek: fix null pointer dereference on null scp pointer
lightnvm: fix out-of-bounds write to array devices->info[]
Cong Wang (4):
tipc: fix the skb_unshare() in tipc_buf_append()
can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt
net_sched: remove a redundant goto chain check
ip_gre: set dev->hard_header_len and dev->needed_headroom properly
Connor McAdams (2):
ALSA: hda/ca0132 - Add AE-7 microphone selection commands.
ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7.
Corentin Labbe (2):
crypto: sun8i-ce - handle endianness of t_common_ctl
dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset
Cristian Ciocaltea (1):
ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers
Dan Aloni (1):
svcrdma: fix bounce buffers for unaligned offsets and multiple pages
Dan Carpenter (13):
ALSA: bebob: potential info leak in hwdep_read()
cifs: remove bogus debug code
hwmon: (w83627ehf) Fix a resource leak in probe
ath6kl: prevent potential array overflow in ath6kl_add_new_sta()
ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()
HID: roccat: add bounds checking in kone_sysfs_write_settings()
ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()
mfd: sm501: Fix leaks in probe()
scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge()
Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
soc: xilinx: Fix error code in zynqmp_pm_probe()
memory: omap-gpmc: Fix a couple off by ones
Dan Murphy (5):
ASoC: tas2770: Fix calling reset in probe
ASoC: tas2770: Add missing bias level power states
ASoC: tas2770: Fix required DT properties in the code
ASoC: tas2770: Fix error handling with update_bits
ASoC: tas2770: Fix unbalanced calls to pm_runtime
Daniel Jordan (1):
module: statically initialize init section freeing data
Daniel Thompson (1):
kdb: Fix pager search for multi-line strings
Daniel Wagner (1):
scsi: qla2xxx: Warn if done() or free() are called on an already freed srb
Darrick J. Wong (6):
xfs: force the log after remapping a synchronous-writes file
xfs: limit entries returned when counting fsmap records
xfs: fix deadlock and streamline xfs_getfsmap performance
xfs: fix high key handling in the rt allocator's query_range function
ext4: limit entries returned when counting fsmap records
xfs: make sure the rt allocator doesn't run off the end
Dave Chinner (1):
xfs: fix finobt btree block recovery ordering
David Ahern (1):
ipv4: Restore flowi4_oif update before call to xfrm_lookup_route
David Howells (4):
afs: Fix rapid cell addition/removal by not using RCU on cells tree
afs: Fix cell refcounting by splitting the usage counter
afs: Fix cell purging with aliases
afs: Fix cell removal
David Wilder (2):
ibmveth: Switch order of ibmveth_helper calls.
ibmveth: Identify ingress large send packets.
Davide Caratti (2):
net: mptcp: make DACK4/DACK8 usage consistent among all subflows net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels
Defang Bo (1):
nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()
Dennis YC Hsieh (2):
soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api drm/mediatek: reduce clear event
Dexuan Cui (1):
PCI: hv: Fix hibernation in case interrupts are not re-created
Dinghao Liu (17):
EDAC/i5100: Fix error handling order in i5100_init_one()
media: omap3isp: Fix memleak in isp_probe
media: mx2_emmaprp: Fix memleak in emmaprp_probe
wilc1000: Fix memleak in wilc_sdio_probe
wilc1000: Fix memleak in wilc_bus_probe drm/crc-debugfs: Fix memleak in crc_control_write
video: fbdev: radeon: Fix memleak in radeonfb_pci_register
watchdog: Fix memleak in watchdog_cdev_register
watchdog: Use put_device on error
ntb: intel: Fix memleak in intel_ntb_pci_probe
media: vsp1: Fix runtime PM imbalance on error
media: platform: s3c-camif: Fix runtime PM imbalance on error
media: platform: sti: hva: Fix runtime PM imbalance on error
media: bdisp: Fix runtime PM imbalance on error
media: atomisp: fix memleak in ia_css_stream_create
media: venus: core: Fix runtime PM imbalance in venus_probe
Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb
Dirk Behme (1):
i2c: rcar: Auto select RESET_CONTROLLER
Dmitry Torokhov (1):
HID: hid-input: fix stylus battery reporting
Doug Horn (1):
Fix use after free in get_capset_info callback.
Dylan Hung (1):
net: ftgmac100: Fix Aspeed ast2600 TX hang issue
Eddie James (1):
spi: fsi: Implement restricted size for certain controllers
Eli Billauer (1):
usb: core: Solve race condition in anchor cleanup functions
Emmanuel Grumbach (1):
iwlwifi: mvm: split a print to avoid a WARNING in ROC
Eran Ben Elisha (1):
net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow
Eric Biggers (4):
fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN
f2fs: reject CASEFOLD inode flag without casefold feature
reiserfs: only call unlock_new_inode() if I_NEW
Eric Dumazet (2):
icmp: randomize the global rate limiter
quota: clear padding in v2r1_mem2diskdqb()
Evgeny Novikov (1):
mtd: rawnand: vf610: disable clk on error handling path in probe
Ezequiel Garcia (2):
media: hantro: h264: Get the correct fallback reference buffer
media: hantro: postproc: Fix motion vector space allocation
Fabrice Gasnier (1):
iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling
Finn Thain (5):
powerpc/tau: Use appropriate temperature sample interval powerpc/tau: Convert from timer to workqueue powerpc/tau: Remove duplicated set_thresholds() call powerpc/tau: Check processor type before enabling TAU interrupt powerpc/tau: Disable TAU between measurements
Francesco Ruggeri (1):
netfilter: conntrack: connection timeout after re-register
Ganesh Goudar (1):
powerpc/pseries: Avoid using addr_to_pfn in real mode
Geert Uytterhoeven (2):
arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels
arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels
Geliang Tang (1):
mptcp: initialize mptcp_options_received's ahmac
George Kennedy (1):
fbmem: add margin check to fb_check_caps()
Greg Kroah-Hartman (1):
Linux 5.8.17
Greg Ungerer (1):
m68knommu: include SDHC support only when hardware has it
Guenter Roeck (2):
hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61}
watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
Guillaume Nault (1):
net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action()
Guillaume Tucker (1):
ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
Gwendal Grignou (1):
platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command
Hamish Martin (1):
usb: ohci: Default to per-port over-current protection
Hangbin Liu (1):
libbpf: Close map fd if init map slots failed
Hanks Chen (1):
clk: mediatek: add UART0 clock support
Hans de Goede (4):
pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare()
pwm: lpss: Add range limit check for the base_unit register value
i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs
HID: ite: Add USB id match for Acer One S1003 keyboard dock
Hauke Mehrtens (3):
mtd: spinand: gigadevice: Only one dummy byte in QUADIO
mtd: spinand: gigadevice: Add QE Bit
pwm: img: Fix null pointer access in probe
Heiner Kallweit (2):
r8169: fix data corruption issue on RTL8402
r8169: fix operation under forced interrupt threading
Herat Ramani (1):
xgb4: handle 4-tuple PEDIT to NAT mode translation
Herbert Xu (2):
crypto: algif_aead - Do not set MAY_BACKLOG on the async path
crypto: algif_skcipher - EBUSY on aio should be an error
Hoang Huu Le (2):
tipc: re-configure queue limit for broadcast link
tipc: fix incorrect setting window for bcast link
Holger Assmann (1):
ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays
Horia Geantă (1):
ARM: dts: imx6sl: fix rng node
Hou Zhiqiang (1):
PCI: designware-ep: Fix the Header Type check
Hsin-Yi Wang (1):
arm64: dts: mt8173: elm: Fix nor_flash node property
Huang Guobin (1):
net: wilc1000: clean up resource in error path of init mon interface
Hui Wang (3):
ALSA: hda - Don't register a cb func if it is registered already
ALSA: hda - Fix the return value if cb func is already registered
ALSA: hda/realtek - set mic to auto detect on a HP AIO machine
Håkon Bugge (2):
IB/mlx4: Fix starvation in paravirt mux/demux IB/mlx4: Adjust delayed work when a dup is observed
Ido Schimmel (2):
nexthop: Fix performance regression in nexthop deletion
selftests: forwarding: Add missing 'rp_filter' configuration
Ilya Leoshkevich (2):
selftests/bpf: Fix endianness issue in sk_assign selftests/bpf: Fix endianness issue in test_sockopt_sk
Jamie Iles (1):
f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info
Jan Kara (4):
ext4: discard preallocations before releasing group lock
udf: Limit sparing table size
udf: Avoid accessing uninitialized data on failed inode read
reiserfs: Fix memory leak in reiserfs_parse_options()
Jann Horn (1):
binder: Remove bogus warning on failed same-process transaction
Janusz Krzysztofik (1):
mtd: rawnand: ams-delta: Fix non-OF build warning
Jason Gunthorpe (12):
RDMA/ucma: Fix locking for ctx->events_reported
RDMA/ucma: Add missing locking around rdma_leave_multicast() RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() RDMA/cma: Combine cma_ndev_work with cma_work
RDMA/cma: Remove dead code for kernel rdmacm multicast
RDMA/cma: Consolidate the destruction of a cma_multicast in one place RDMA/cma: Fix use after free race in roce multicast join RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work
Jassi Brar (1):
mailbox: avoid timer start from callback
Jay Fang (1):
spi: dw-pci: free previously allocated IRQs if desc->setup() fails
Jeremy Szu (1):
ALSA: hda/realtek - The front Mic on a HP machine doesn't work
Jernej Skrabec (1):
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator
Jerome Brunet (2):
clk: meson: axg-audio: separate axg and g12a regmap tables
arm64: dts: meson: vim3: correct led polarity
Jia Yang (1):
drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create
Jian-Hong Pan (1):
ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887
Jiaran Zhang (2):
RDMA/hns: Add check for the validity of sl configuration RDMA/hns: Solve the overflow of the calc_pg_sz()
Jin Yao (1):
perf stat: Skip duration_time in setup_system_wide
Jing Xiangfeng (5):
i3c: master: Fix error return in cdns_i3c_master_probe()
rapidio: fix the missed put_device() for rio_mport_add_riodev
scsi: bfa: Fix error return in bfad_pci_init()
scsi: mvumi: Fix error return in mvumi_io_attach()
scsi: ibmvfc: Fix error return in ibmvfc_probe()
Jiri Olsa (1):
perf/core: Fix race in the perf_mmap_close() function
Jiri Slaby (1):
perf trace: Fix off by ones in memset() after realloc() in arches using libaudit
Joakim Zhang (1):
can: flexcan: flexcan_chip_stop(): add error handling and propagate error value
Johan Hovold (1):
USB: cdc-acm: handle broken union descriptors
Johannes Berg (2):
nl80211: fix non-split wiphy information
um: time-travel: Fix IRQ handling in time_travel_handle_message()
John Donnelly (1):
scsi: target: tcmu: Fix warning: 'page' may be used uninitialized
John Fastabend (1):
bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup
Johnny Chuang (1):
Input: elants_i2c - fix typo for an attribute to show calibration count
Jonathan Lemon (1):
mlx4: handle non-napi callers to napi_poll
Jonathan Zhou (2):
coresight: etm4x: Fix issues within reset interface of sysfs
coresight: etm4x: Fix issues on trcseqevr access
Julian Anastasov (1):
ipvs: clear skb->tstamp in forwarding path
Julian Wiedmann (2):
s390/qeth: strictly order bridge address events s390/qeth: don't let HW override the configured port role
Juri Lelli (1):
sched/features: Fix !CONFIG_JUMP_LABEL case
Jérôme Pouiller (1):
staging: wfx: fix handling of MMIC error
KP Singh (1):
ima: Fix NULL pointer dereference in ima_file_hash
Kai Vehmanen (2):
ALSA: hda: fix jack detection with Realtek codecs when in D3
ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
Kai-Heng Feng (1):
rtw88: pci: Power cycle device during shutdown
Kaige Li (1):
NTB: hw: amd: fix an issue about leak system resources
Kajol Jain (1):
powerpc/perf/hv-gpci: Fix starting index value
Kamal Heib (1):
RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces
Kan Liang (4):
perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS perf/x86/intel/uncore: Update Ice Lake uncore units perf/x86/intel/uncore: Reduce the number of CBOX counters perf/x86/intel/uncore: Fix the scale of the IMC free-running events
Karsten Graul (2):
net/smc: fix use-after-free of delayed events net/smc: fix valid DMBE buffer sizes
Ke Li (1):
net: Properly typecast int values to set sk_max_pacing_rate
Kees Cook (1):
selftests/lkdtm: Use "comm" instead of "diff" for dmesg
Keita Suzuki (3):
RDMA/qedr: Fix resource leak in qedr_create_qp
misc: rtsx: Fix memory leak in rtsx_pci_probe
brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
Kevin Barnett (1):
scsi: smartpqi: Avoid crashing kernel for controller issues
Konrad Dybcio (1):
clk: qcom: gcc-sdm660: Fix wrong parent_map
Krzysztof Kozlowski (10):
EDAC/aspeed: Fix handling of platform_get_irq() error EDAC/ti: Fix handling of platform_get_irq() error
maiblox: mediatek: Fix handling of platform_get_irq() error
Input: ep93xx_keypad - fix handling of platform_get_irq() error
Input: omap4-keypad - fix handling of platform_get_irq() error
Input: twl4030_keypad - fix handling of platform_get_irq() error
Input: sun4i-ps2 - fix handling of platform_get_irq() error
memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
arm64: dts: imx8mq: Add missing interrupts to GPC
soc: fsl: qbman: Fix return value on success
Lad Prabhakar (3):
media: i2c: ov5640: Remain in power down for DVP mode unless streaming
media: i2c: ov5640: Separate out mipi configuration from s_power
media: i2c: ov5640: Enable data pins on poweron for DVP mode
Lai Jiangshan (1):
KVM: x86: Intercept LA57 to inject #GP fault when it's reserved
Lang Cheng (1):
RDMA/hns: Add a check for current state before modifying QP
Laurent Pinchart (8):
media: uvcvideo: Set media controller entity functions
media: uvcvideo: Silence shift-out-of-bounds warning
media: rcar_drif: Fix fwnode reference leak when parsing DT
media: rcar_drif: Allocate v4l2_async_subdev dynamically
media: rcar-csi2: Allocate v4l2_async_subdev dynamically
drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel
drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel
drm: rcar-du: Put reference to VSP device
Leon Romanovsky (5):
net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info RDMA/mlx5: Fix potential race between destroy and CQE poll RDMA/core: Delete function indirection for alloc/free kernel CQ
RDMA: Allow fail of destroy CQ
overflow: Include header file with SIZE_MAX declaration
Libing Zhou (1):
x86/nmi: Fix nmi_handle() duration miscalculation
Lijun Ou (1):
RDMA/hns: Set the unsupported wr opcode
Lijun Pan (2):
ibmvnic: save changed mac address to adapter->mac_addr
ibmvnic: set up 200GBPS speed
Linus Walleij (4):
net: dsa: rtl8366: Check validity of passed VLANs
net: dsa: rtl8366: Refactor VLAN/PVID init
net: dsa: rtl8366: Skip PVID setting if not requested
net: dsa: rtl8366rb: Support all 4096 VLANs
Logan Gunthorpe (1):
dmaengine: ioat: Allocate correct size for descriptor chunk
Longfang Liu (1):
crypto: hisilicon - fixed memory allocation error
Lorenzo Bianconi (1):
mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon
Lorenzo Colitti (3):
usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above.
usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.
Luca Stefani (1):
RAS/CEC: Fix cec_init() prototype
Luca Weiss (1):
drm/msm/adreno: fix probe without iommu
Lucas Stach (1):
can: m_can_platform: don't call m_can_class_suspend in runtime suspend
Lukasz Halman (1):
ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk
Lukasz Luba (1):
sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu()
Maciej Fijalkowski (1):
bpf: Limit caller's stack depth 256 for subprogs with tailcalls
Maciej Żenczykowski (1):
net/ipv4: always honour route mtu during forwarding
Madhuparna Bhowmik (1):
crypto: picoxcell - Fix potential race condition bug
Manivannan Sadhasivam (1):
bus: mhi: core: Fix the building of MHI module
Marc Kleine-Budde (1):
net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt
Marc Zyngier (1):
arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled
Marek Vasut (6):
net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()
net: fec: Fix PHY init after phy_reset_after_clk_enable()
ARM: dts: stm32: Fix sdmmc2 pins on AV96
ARM: dts: stm32: Move ethernet PHY into DH SoM DT
ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM
ARM: dts: stm32: Fix DH PDK2 display PWM channel
Mark Mossberg (1):
x86/dumpstack: Fix misleading instruction pointer error message
Mark Salter (2):
drivers/perf: xgene_pmu: Fix uninitialized resource struct drivers/perf: thunderx2_pmu: Fix memory resource error handling
Mark Tomlinson (2):
mtd: mtdoops: Don't write panic data twice
PCI: iproc: Set affinity mask on MSI interrupts
Martijn de Gouw (1):
SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
Martin Blumenstingl (2):
usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails
ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
Masahiro Yamada (1):
kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n
Mathias Nyman (1):
xhci: don't create endpoint debugfs entry before ring buffer is set.
Matthew Rosato (3):
PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn
Matthew Wilcox (Oracle) (6):
iomap: Clear page error before beginning a write
iomap: Mark read blocks uptodate in write_begin
iomap: Use kzalloc to allocate iomap_page
ida: Free allocated bitmap in error path mm/page_owner: change split_page_owner to take a count
ramfs: fix nommu mmap with gaps in the page cache
Matthieu Baerts (1):
selftests: mptcp: interpret \n as a new line
Maulik Shah (2):
pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags
pinctrl: qcom: Use return value from irq_set_wake() call
Mauro Carvalho Chehab (2):
media: saa7134: avoid a shift overflow
usb: dwc3: simple: add support for Hikey 970
Md Haris Iqbal (1):
RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init
Melissa Wen (1):
drm/vkms: fix xrgb on compute crc
Mian Yousaf Kaukab (1):
coresight: fix offset by one error in counting ports
Miaohe Lin (1):
mm/swapfile.c: fix potential memory leak in sys_swapon
Michal Kalderon (5):
RDMA/qedr: Fix qp structure memory leak
RDMA/qedr: Fix doorbell setting
RDMA/qedr: Fix use of uninitialized field
RDMA/qedr: Fix return code if accept is called on a destroyed qp RDMA/qedr: Fix inline size returned for iWARP
Michal Simek (1):
arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
Michał Mirosław (1):
regulator: resolve supply after creating regulator
Mikael Wikström (1):
HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons
Mike Leach (3):
coresight: etm4x: Ensure default perf settings filter user/kernel
coresight: cti: Fix remove sysfs link error
coresight: cti: Fix bug clearing sysfs links on callback
Minas Harutyunyan (1):
usb: dwc2: Fix INTR OUT transfers in DDMA mode.
Miquel Raynal (1):
ASoC: tlv320aic32x4: Fix bdiv clock rate derivation
Mohammed Gamal (1):
hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions
Mordechay Goodstein (2):
iwlwifi: dbg: remove no filter condition
iwlwifi: dbg: run init_cfg function once per driver load
Moshe Tal (1):
net/mlx5: Fix uninitialized variable warning
Namhyung Kim (1):
perf stat: Fix out of bounds CPU map access when handling armv8_pmu events
Nathan Chancellor (1):
usb: dwc2: Fix parameter type in function pointer prototype
Nathan Lynch (1):
powerpc/pseries: explicitly reschedule during drmem_lmb list traversal
Navid Emamdoost (1):
clk: bcm2835: add missing release if devm_clk_hw_register fails
Neal Cardwell (1):
tcp: fix to update snd_wl1 in bulk receiver fast path
Necip Fazil Yildiran (4):
pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB
ASoC: cros_ec_codec: fix kconfig dependency warning for SND_SOC_CROS_EC_CODEC
ocxl: fix kconfig dependency warning for OCXL
arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER
Neeraj Upadhyay (1):
rcu/tree: Force quiescent state on callback overload
Neil Armstrong (3):
drm/panfrost: add Amlogic GPU integration quirks drm/panfrost: add amlogic reset quirk callback drm/panfrost: add support for vendor quirk
Nicholas Mc Guire (2):
powerpc/pseries: Fix missing of_node_put() in rng_init() powerpc/icp-hv: Fix missing of_node_put() in success path
Nicholas Piggin (3):
powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm powerpc/64: fix irq replay missing preempt
powerpc/64: fix irq replay pt_regs->softe value
Nicolas Boichat (1):
rpmsg: Avoid double-free in mtk_rpmsg_register_device
Nicolas Toromanoff (1):
crypto: stm32/crc32 - Avoid lock if hardware is already used
Nilesh Javali (3):
scsi: qedi: Mark all connections for recovery on link down event
scsi: qedi: Protect active command list to avoid list corruption
scsi: qedi: Fix list_del corruption while removing active I/O
Oded Gabbay (1):
habanalabs: cast to u64 before shift > 31 bits
Oliver Neukum (2):
media: ati_remote: sanity check for both endpoints
USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
Oliver O'Halloran (1):
selftests/powerpc: Fix eeh-basic.sh exit codes
Ong Boon Leong (1):
net: stmmac: use netif_tx_start|stop_all_queues() function
Pablo Neira Ayuso (2):
netfilter: nf_log: missing vlan offload tag and proto
netfilter: nf_fwd_netdev: clear timestamp in forwarding path
Pali Rohár (4):
cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE
PCI: aardvark: Fix compilation on s390
PCI: aardvark: Check for errors from pci_bridge_emul_init() call
mmc: sdio: Check for CISTPL_VERS_1 buffer size
Parshuram Thombare (1):
i3c: master add i3c_master_attach_boardinfo to preserve boardinfo
Paul E. McKenney (1):
rcutorture: Properly set rcu_fwds for OOM handling
Paul Kocialkowski (1):
media: ov5640: Correct Bit Div register in clock tree diagram
Pavel Machek (2):
crypto: ccp - fix error handling
media: firewire: fix memory leak
Peilin Ye (2):
media: vivid: Fix global-out-of-bounds read in precalculate_color()
ipvs: Fix uninit-value in do_ip_vs_set_ctl()
Peng Fan (2):
tty: serial: lpuart: fix lpuart32_write usage
tty: serial: fsl_lpuart: fix lpuart32_poll_get_char
Peter Chen (1):
usb: cdns3: gadget: free interrupt after gadget has deleted
Pierre-Louis Bossart (2):
ASoC: topology: disable size checks for bytes_ext controls if needed
ASoC: SOF: control: add size checks for ext_bytes control .put()
Po-Hsu Lin (1):
selftests: rtnetlink: load fou module for kci_test_encap_fou() test
Qian Cai (1):
iomap: fix WARN_ON_ONCE() from unprivileged users
Qiang Yu (1):
arm64: dts: allwinner: h5: remove Mali GPU PMU module
Qinglang Miao (2):
drm/vgem: add missing platform_device_unregister() in vgem_init() drm/vkms: add missing platform_device_unregister() in vkms_init()
Qingqing Zhuo (1):
drm/amd/display: Screen corruption on dual displays (DP+USB-C)
Qiu Wenbo (1):
ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7
Qiushi Wu (11):
media: rcar-vin: Fix a reference count leak.
media: rockchip/rga: Fix a reference count leak.
media: platform: fcp: Fix a reference count leak.
media: camss: Fix a reference count leak.
media: s5p-mfc: Fix a reference count leak
media: stm32-dcmi: Fix a reference count leak
media: ti-vpe: Fix a missing check and reference count leak
media: sti: Fix reference count leaks
media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
media: exynos4-is: Fix a reference count leak
Qu Wenruo (1):
btrfs: add owner and fs_info to alloc_state io_tree
Rajendra Nayak (1):
media: venus: core: Fix error handling in probe
Rajkumar Manoharan (1):
nl80211: fix OBSS PD min and max offset validation
Ralph Campbell (1):
mm/memcg: fix device private memcg accounting
Randy Dunlap (1):
microblaze: fix kbuild redundant file warning
Ravi Bangoria (3):
powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors powerpc/watchpoint: Fix handling of vector instructions powerpc/watchpoint: Add hw_len wherever missing
Robert Hoo (1):
KVM: x86: emulating RDPID failure shall return #UD rather than #GP
Roberto Sassu (1):
ima: Don't ignore errors from crypto_shash_update()
Rohit Maheshwari (1):
net/tls: sendfile fails with ktls offload
Rohit kumar (2):
ASoC: qcom: lpass-platform: fix memory leak
ASoC: qcom: lpass-cpu: fix concurrency issue
Rohith Surabattula (1):
SMB3: Resolve data corruption of TCP server info fields
Roi Dayan (1):
net/sched: act_ct: Fix adding udp port mangle operation
Roman Bolshakov (1):
scsi: target: core: Add CONTROL field for trace events
Rustam Kovhaev (1):
ntfs: add check for mft record size in superblock
Sai Prakash Ranjan (3):
coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init
coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register
arm64: dts: qcom: sc7180: Fix the LLCC base register size
Samuel Holland (1):
Bluetooth: hci_uart: Cancel init work before unregistering
Sasha Levin (1):
perf/x86: Fix n_pair for cancelled txn
Sathyanarayana Nujella (2):
ASoC: SOF: Add topology filename override based on dmi data match
ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682
Saurav Kashyap (1):
scsi: qedf: Return SUCCESS if stale rport is encountered
Scott Cheloha (1):
pseries/drmem: don't cache node id in drmem_lmb struct
Scott Mayhew (1):
nfs: add missing "posix" local_lock constant table definition
Sean Christopherson (4):
KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI
KVM: nVMX: Reset the segment cache when stuffing guest segs
KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails
KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages
Serge Semin (5):
hwmon: (bt1-pvt) Test sensor power supply on probe
hwmon: (bt1-pvt) Cache current update timeout
hwmon: (bt1-pvt) Wait for the completion with timeout
dmaengine: dw: Add DMA-channels mask cell support
dmaengine: dw: Activate FIFO-mode for memory peripherals only
Shengjiu Wang (1):
ASoC: fsl_sai: Instantiate snd_soc_dai_driver
Sherry Sun (2):
mic: vop: copy data to kernel space then write to io memory
misc: vop: add round_up(x,4) for vring_size to avoid kernel panic
Shyam Prasad N (1):
cifs: Return the error from crypt_message when enc/dec key not found.
Sibi Sankar (2):
soc: qcom: pdr: Fixup array type of get_domain_list_resp message
soc: qcom: apr: Fixup the error displayed on lookup failure
Simon South (1):
pwm: rockchip: Keep enabled PWMs running while probing
Sindhu, Devale (1):
i40iw: Add support to make destroy QP synchronous
Song Liu (1):
bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI
Souptick Joarder (3):
drivers/virt/fsl_hypervisor: Fix error handling path
misc: mic: scif: Fix error handling path
rapidio: fix error handling path
Srikar Dronamraju (1):
cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
Srinivas Kandagatla (3):
slimbus: core: check get_addr before removing laddr ida
slimbus: core: do not enter to clock pause mode in core
slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback
Stanley Chu (1):
scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk
Stefan Agner (2):
drm: mxsfb: check framebuffer pitch
clk: meson: g12a: mark fclk_div2 as critical
Stephan Gerhold (3):
arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name
arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec
arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
Stephen Boyd (3):
drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check()
clk: rockchip: Initialize hw to error to avoid undefined behavior
arm64: dts: qcom: sc7180: Drop flags on mdss irqs
Steve French (3):
SMB3.1.1: Fix ids returned in POSIX query dir
smb3: do not try to cache root directory if dir leases not supported
smb3: fix stat when special device file and mounted with modefromsid
Steven Price (1):
drm/panfrost: Ensure GPU quirks are always initialised
Sudeep Holla (1):
firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free
Suravee Suthikulpanit (1):
KVM: SVM: Initialize prev_ga_tag before use
Suren Baghdasaryan (1):
mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
Suzuki K Poulose (1):
coresight: etm4x: Handle unreachable sink in perf mode
Sylwester Nawrocki (1):
media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"
Takashi Iwai (1):
ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
Tero Kristo (2):
crypto: omap-sham - fix digcnt register handling with export/import
clk: keystone: sci-clk: fix parsing assigned-clock data during probe
Tetsuo Handa (2):
block: ratelimit handle_bad_sector() message
mwifiex: don't call del_timer_sync() on uninitialized timer
Thiago Jung Bauermann (1):
powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory
Thierry Reding (1):
pinctrl: devicetree: Keep deferring even on timeout
Thinh Nguyen (1):
usb: dwc3: core: Properly default unspecified speed
Thomas Gleixner (1):
net: enic: Cure the enic api locking trainwreck
Thomas Pedersen (1):
mac80211: handle lack of sband->bitrates in rates
Thomas Preston (2):
pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser
pinctrl: mcp23s08: Fix mcp23x17 precious range
Tianjia Zhang (6):
crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() drm/amd/display: Fix wrong return value in dm_update_plane_state()
scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg()
scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba()
scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()
ipmi_si: Fix wrong return value in try_smi_init()
Tiezhu Yang (1):
um: vector: Use GFP_ATOMIC under spin lock
Timothée COCAULT (1):
netfilter: ebtables: Fixes dropping of small packets in bridge nat
Tingwei Zhang (4):
coresight: cti: disclaim device only when it's claimed
coresight: cti: remove pm_runtime_get_sync() from CPU hotplug
coresight: cti: Write regsiters directly in cti_enable_hw()
coresight: etm: perf: Fix warning caused by etm_setup_aux failure
Tobias Jordan (1):
lib/crc32.c: fix trivial typo in preprocessor condition
Todd Kjos (1):
binder: fix UAF when releasing todo list
Toke Høiland-Jørgensen (2):
bpf: disallow attaching modify_return tracing functions to other BPF programs
selftests: Remove fmod_ret from test_overhead
Tom Rix (9):
media: tuner-simple: fix regression in simple_set_radio_freq
media: m5mols: Check function pointer in m5mols_sensor_power
media: tc358743: initialize variable
media: tc358743: cleanup tc358743_cec_isr
brcmfmac: check ndev pointer
drm/gma500: fix error check
ath11k: fix a double free and a memory leak
video: fbdev: sis: fix null ptr dereference
mwifiex: fix double free
Tom Zanussi (3):
tracing: Fix parse_synth_field() error handling selftests/ftrace: Change synthetic event name for inter-event-combined test
tracing: Handle synthetic event array field type checking correctly
Tomas Henzl (1):
scsi: mpt3sas: Fix sync irqs
Tomasz Figa (1):
phy: rockchip-dphy-rx0: Include linux/delay.h
Tong Zhang (2):
tty: serial: earlycon dependency
tty: ipwireless: fix error handling
Tony Lindgren (1):
ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails
Tyrel Datwyler (1):
tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()
Tzu-En Huang (1):
rtw88: increse the size of rx buffer size
Vadim Pasternak (1):
platform/x86: mlx-platform: Remove PSU EEPROM configuration
Vadym Kochan (2):
nvmem: core: fix missing of_node_put() in of_nvmem_device_get()
nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell()
Vaibhav Jain (1):
powerpc/papr_scm: Add PAPR command family to pass-through command-set
Valentin Vidic (2):
net: korina: fix kfree of rx/tx descriptor array
net: korina: cast KSEG0 address to pointer in kfree
Vasant Hegde (1):
powerpc/powernv/dump: Fix race while processing OPAL dump
Venkateswara Naralasetty (1):
ath10k: provide survey info as accumulated data
Vignesh Raghavendra (1):
mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access
Vikash Garodia (1):
media: venus: fixes for list corruption
Vinay Kumar Yadav (6):
chelsio/chtls: fix socket lock chelsio/chtls: correct netdevice for vlan interface chelsio/chtls: fix panic when server is on ipv6 chelsio/chtls: Fix panic when listen on multiadapter chelsio/chtls: correct function return and return type chelsio/chtls: fix writing freed memory
Vincent Mailhol (1):
usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
Viresh Kumar (1):
opp: Prevent memory leak in dev_pm_opp_attach_genpd()
Vitaly Kuznetsov (1):
KVM: ioapic: break infinite recursion on lazy EOI
Wang Yufen (2):
ath11k: Fix possible memleak in ath11k_qmi_init_service
brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
Weihang Li (2):
RDMA/hns: Fix configuration of ack_req_freq in QPC RDMA/hns: Fix missing sq_sig_type when querying QP
Wenpeng Liang (1):
RDMA/hns: Fix the wrong value of rnr_retry when querying qp
Weqaar Janjua (1):
samples/bpf: Fix to xdpsock to avoid recycling frames
Wilken Gottwalt (1):
net: usb: qmi_wwan: add Cellient MPL200 card
Xiao Yang (1):
ext4: disallow modifying DAX inode flag if inline_data has been set
Xiaoliang Pang (1):
cypto: mediatek - fix leaks in mtk_desc_ring_alloc
Xiaolong Huang (1):
media: media/pci: prevent memory leak in bttv_probe
Xiaoyang Xu (1):
vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages
Xie He (2):
net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
Xunlei Pang (1):
sched/fair: Fix wrong cpu selecting from isolated domain
Yan Zhao (3):
vfio: add a singleton check for vfio_group_pin_pages
vfio: fix a missed vfio group put in vfio_pin_pages vfio/type1: fix dirty bitmap calculation in vfio_dma_rw
Yang Yang (1):
blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue
Yang Yingliang (1):
tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n
Ye Bin (1):
ext4: fix dead loop in ext4_mb_new_blocks
Yonghong Song (2):
net: fix pos incrementment in ipv6_route_seq_next selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change
Yoshihiro Shimoda (1):
usb: gadget: u_serial: clear suspended flag when disconnecting
Yu Chen (1):
usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc
Yu Kuai (2):
ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate()
YueHaibing (2):
Input: stmfts - fix a & vs && typo
memory: omap-gpmc: Fix build error without CONFIG_OF
Zekun Shen (1):
ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
Zhao Heming (1):
md/bitmap: fix memory leak of temporary bitmap
Zhenzhong Duan (1):
drm/msm/a6xx: fix a potential overflow issue
Zqiang (1):
usb: gadget: function: printer: fix use-after-free in __lock_acquire
[email protected] (2):
crypto: ccree - fix runtime PM imbalance on error
backlight: sky81452-backlight: Fix refcount imbalance on error
zhenwei pi (1):
nvmet: fix uninitialized work for zero kato
Łukasz Stelmach (2):
spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()
spi: spi-s3c64xx: Check return values
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/kernel-parameters.txt +1 -1
@@ -577,7 +577,7 @@ loops can be debugged more effectively on production systems. - clearcpuid=BITNUM [X86] + clearcpuid=BITNUM[,BITNUM...] [X86] Disable CPUID feature X for the kernel. See arch/x86/include/asm/cpufeatures.h for the valid bit numbers. Note the Linux specific bits are not necessarily
Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml +4 -3
@@ -23,8 +23,7 @@ properties: - items: - const: allwinner,sun7i-a20-crypto - const: allwinner,sun4i-a10-crypto - - items: - - const: allwinner,sun8i-a33-crypto + - const: allwinner,sun8i-a33-crypto reg: maxItems: 1
@@ -59,7 +58,9 @@ if: properties: compatible: contains: - const: allwinner,sun6i-a31-crypto + enum: + - allwinner,sun6i-a31-crypto + - allwinner,sun8i-a33-crypto then: required:
Documentation/devicetree/bindings/net/socionext-netsec.txt +3 -1
@@ -30,7 +30,9 @@ Optional properties: (See ethernet.txt file in the same directory) - max-frame-size: See ethernet.txt in the same directory. The MAC address will be determined using the optional properties -defined in ethernet.txt. +defined in ethernet.txt. The 'phy-mode' property is required, but may +be set to the empty string if the PHY configuration is programmed by +the firmware or set by hardware straps, and needs to be preserved. Example: eth0: ethernet@522d0000 {
Documentation/networking/ip-sysctl.rst +3 -1
@@ -1142,13 +1142,15 @@ icmp_ratelimit - INTEGER icmp_msgs_per_sec - INTEGER Limit maximal number of ICMP packets sent per second from this host. Only messages whose type matches icmp_ratemask (see below) are - controlled by this limit. + controlled by this limit. For security reasons, the precise count + of messages per second is randomized. Default: 1000 icmp_msgs_burst - INTEGER icmp_msgs_per_sec controls number of ICMP packets sent per second, while icmp_msgs_burst controls the burst size of these packets. + For security reasons, the precise burst size is randomized. Default: 50
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 8 -SUBLEVEL = 16 +SUBLEVEL = 17 EXTRAVERSION = NAME = Kleptomaniac Octopus
arch/arc/plat-hsdk/Kconfig +1 -0
@@ -8,5 +8,6 @@ menuconfig ARC_SOC_HSDK select ARC_HAS_ACCL_REGS select ARC_IRQ_NO_AUTOSAVE select CLK_HSDK + select RESET_CONTROLLER select RESET_HSDK select HAVE_PCI
arch/arm/boot/dts/imx6sl.dtsi +2 -0
@@ -939,8 +939,10 @@ memory-controller@21b0000 { }; rngb: rngb@21b4000 { + compatible = "fsl,imx6sl-rngb", "fsl,imx25-rngb"; reg = <0x021b4000 0x4000>; interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clks IMX6SL_CLK_DUMMY>; }; weim: weim@21b8000 {
arch/arm/boot/dts/iwg20d-q7-common.dtsi +14 -1
@@ -57,7 +57,7 @@ lcd_backlight: backlight { lvds-receiver { compatible = "ti,ds90cf384a", "lvds-decoder"; - powerdown-gpios = <&gpio7 25 GPIO_ACTIVE_LOW>; + power-supply = <&vcc_3v3_tft1>; ports { #address-cells = <1>;
@@ -81,6 +81,7 @@ lvds_receiver_out: endpoint { panel { compatible = "edt,etm0700g0dh6"; backlight = <&lcd_backlight>; + power-supply = <&vcc_3v3_tft1>; port { panel_in: endpoint {
@@ -113,6 +114,17 @@ sndcodec: simple-audio-card,codec { }; }; + vcc_3v3_tft1: regulator-panel { + compatible = "regulator-fixed"; + + regulator-name = "vcc-3v3-tft1"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + startup-delay-us = <500>; + gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>; + }; + vcc_sdhi1: regulator-vcc-sdhi1 { compatible = "regulator-fixed";
@@ -207,6 +219,7 @@ touch: touchpanel@38 { reg = <0x38>; interrupt-parent = <&gpio2>; interrupts = <12 IRQ_TYPE_EDGE_FALLING>; + vcc-supply = <&vcc_3v3_tft1>; }; };
arch/arm/boot/dts/meson8.dtsi +0 -2
@@ -239,8 +239,6 @@ mali: gpu@c0000 { <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
arch/arm/boot/dts/owl-s500.dtsi +3 -3
@@ -84,21 +84,21 @@ scu: scu@b0020000 { global_timer: timer@b0020200 { compatible = "arm,cortex-a9-global-timer"; reg = <0xb0020200 0x100>; - interrupts = <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; status = "disabled"; }; twd_timer: timer@b0020600 { compatible = "arm,cortex-a9-twd-timer"; reg = <0xb0020600 0x20>; - interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; status = "disabled"; }; twd_wdt: wdt@b0020620 { compatible = "arm,cortex-a9-twd-wdt"; reg = <0xb0020620 0xe0>; - interrupts = <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; + interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; status = "disabled"; };
arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts +0 -2
@@ -121,8 +121,6 @@ ethphy: ethernet-phy@3 { /* KSZ9031RN */ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ interrupt-parent = <&gpioa>; interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* ETH_MDINT# */ - rxc-skew-ps = <1860>; - txc-skew-ps = <1860>; reset-assert-us = <10000>; reset-deassert-us = <300>; micrel,force-master;
arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi +1 -34
@@ -11,7 +11,6 @@ aliases { serial0 = &uart4; serial1 = &usart3; serial2 = &uart8; - ethernet0 = ðernet0; }; chosen {
@@ -26,23 +25,13 @@ clk_ext_audio_codec: clock-codec { display_bl: display-bl { compatible = "pwm-backlight"; - pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; + pwms = <&pwm2 3 500000 PWM_POLARITY_INVERTED>; brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; default-brightness-level = <8>; enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>; status = "okay"; }; - ethernet_vio: vioregulator { - compatible = "regulator-fixed"; - regulator-name = "vio"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; - regulator-always-on; - regulator-boot-on; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #size-cells = <0>;
@@ -141,28 +130,6 @@ &cec { status = "okay"; }; -ðernet0 { - status = "okay"; - pinctrl-0 = <ðernet0_rmii_pins_a>; - pinctrl-1 = <ðernet0_rmii_sleep_pins_a>; - pinctrl-names = "default", "sleep"; - phy-mode = "rmii"; - max-speed = <100>; - phy-handle = <&phy0>; - st,eth-ref-clk-sel; - phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>; - - mdio0 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "snps,dwmac-mdio"; - - phy0: ethernet-phy@1 { - reg = <1>; - }; - }; -}; - &i2c2 { /* Header X22 */ pinctrl-names = "default"; pinctrl-0 = <&i2c2_pins_a>;
arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi +37 -1
@@ -9,6 +9,10 @@ #include <dt-bindings/mfd/st,stpmic1.h> / { + aliases { + ethernet0 = ðernet0; + }; + memory@c0000000 { device_type = "memory"; reg = <0xC0000000 0x40000000>;
@@ -55,6 +59,16 @@ retram: retram@38000000 { no-map; }; }; + + ethernet_vio: vioregulator { + compatible = "regulator-fixed"; + regulator-name = "vio"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; + regulator-always-on; + regulator-boot-on; + }; }; &adc {
@@ -94,6 +108,28 @@ &dts { status = "okay"; }; +ðernet0 { + status = "okay"; + pinctrl-0 = <ðernet0_rmii_pins_a>; + pinctrl-1 = <ðernet0_rmii_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + phy-mode = "rmii"; + max-speed = <100>; + phy-handle = <&phy0>; + st,eth-ref-clk-sel; + phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; + + mdio0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "snps,dwmac-mdio"; + + phy0: ethernet-phy@1 { + reg = <1>; + }; + }; +}; + &i2c4 { pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins_a>;
@@ -249,7 +285,7 @@ touchscreen@49 { compatible = "ti,tsc2004"; reg = <0x49>; vio-supply = <&v3v3>; - interrupts-extended = <&gpioh 3 IRQ_TYPE_EDGE_FALLING>; + interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; }; eeprom@50 {
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +3 -3
@@ -295,9 +295,9 @@ &sdmmc1 { &sdmmc2 { pinctrl-names = "default", "opendrain", "sleep"; - pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; - pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; - pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>; + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>; + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>; bus-width = <8>; mmc-ddr-1_8v; no-sd;
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +5 -5
@@ -223,16 +223,16 @@ ®_aldo3 { }; ®_dc1sw { - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-name = "vcc-gmac-phy"; }; ®_dcdc1 { regulator-always-on; - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <3000000>; - regulator-name = "vcc-3v0"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-3v3"; }; ®_dcdc2 {
arch/arm/mach-at91/pm.c +1 -0
@@ -800,6 +800,7 @@ static void __init at91_pm_init(void (*pm_idle)(void)) pmc_np =of_find_matching_node_and_match (NULL , atmel_pmc_ids, &of_id); soc_pm.data.pmc =of_iomap (pmc_np,0 ); +of_node_put (pmc_np);if (!soc_pm.data.pmc) {pr_err ("AT91: PM not supported, PMC not found\n" );return ;
arch/arm/mach-omap2/cpuidle44xx.c +3 -1
@@ -174,8 +174,10 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,*/ if (mpuss_can_lose_context) { error =cpu_cluster_pm_enter (); -if (error) +if (error) { +omap_set_pwrdm_state (mpu_pd,PWRDM_POWER_ON ); goto cpu_cluster_pm_out; + } } }
arch/arm/mach-s3c24xx/mach-at2440evb.c +1 -1
@@ -143,7 +143,7 @@ static struct gpiod_lookup_table at2440evb_mci_gpio_table = { .dev_id = "s3c2410-sdi", .table = {/* Card detect S3C2410_GPG(10) */ - GPIO_LOOKUP("GPG", 10, "cd", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOG", 10, "cd", GPIO_ACTIVE_LOW), { }, }, };
arch/arm/mach-s3c24xx/mach-h1940.c +2 -2
@@ -468,9 +468,9 @@ static struct gpiod_lookup_table h1940_mmc_gpio_table = { .dev_id = "s3c2410-sdi", .table = {/* Card detect S3C2410_GPF(5) */ -GPIO_LOOKUP ("GPF" ,5 ,"cd" ,GPIO_ACTIVE_LOW ), +GPIO_LOOKUP ("GPIOF" ,5 ,"cd" ,GPIO_ACTIVE_LOW ),/* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_LOW), { }, }, };
arch/arm/mach-s3c24xx/mach-mini2440.c +2 -2
@@ -244,9 +244,9 @@ static struct gpiod_lookup_table mini2440_mmc_gpio_table = { .dev_id = "s3c2410-sdi", .table = {/* Card detect S3C2410_GPG(8) */ -GPIO_LOOKUP ("GPG" ,8 ,"cd" ,GPIO_ACTIVE_LOW ), +GPIO_LOOKUP ("GPIOG" ,8 ,"cd" ,GPIO_ACTIVE_LOW ),/* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_HIGH), { }, }, };
arch/arm/mach-s3c24xx/mach-n30.c +2 -2
@@ -359,9 +359,9 @@ static struct gpiod_lookup_table n30_mci_gpio_table = { .dev_id = "s3c2410-sdi", .table = {/* Card detect S3C2410_GPF(1) */ -GPIO_LOOKUP ("GPF" ,1 ,"cd" ,GPIO_ACTIVE_LOW ), +GPIO_LOOKUP ("GPIOF" ,1 ,"cd" ,GPIO_ACTIVE_LOW ),/* Write protect S3C2410_GPG(10) */ - GPIO_LOOKUP("GPG", 10, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOG", 10, "wp", GPIO_ACTIVE_LOW), { }, }, };
arch/arm/mach-s3c24xx/mach-rx1950.c +2 -2
@@ -571,9 +571,9 @@ static struct gpiod_lookup_table rx1950_mmc_gpio_table = { .dev_id = "s3c2410-sdi", .table = {/* Card detect S3C2410_GPF(5) */ -GPIO_LOOKUP ("GPF" ,5 ,"cd" ,GPIO_ACTIVE_LOW ), +GPIO_LOOKUP ("GPIOF" ,5 ,"cd" ,GPIO_ACTIVE_LOW ),/* Write protect S3C2410_GPH(8) */ - GPIO_LOOKUP("GPH", 8, "wp", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("GPIOH", 8, "wp", GPIO_ACTIVE_LOW), { }, }, };
arch/arm/mm/cache-l2x0.c +12 -4
@@ -1249,20 +1249,28 @@ static void __init l2c310_of_parse(const struct device_node *np, ret =of_property_read_u32 (np,"prefetch-data" , &val);if (ret ==0 ) { -if (val) +if (val) { prefetch |=L310_PREFETCH_CTRL_DATA_PREFETCH ; -else + *aux_val |=L310_PREFETCH_CTRL_DATA_PREFETCH ; + }else { prefetch &= ~L310_PREFETCH_CTRL_DATA_PREFETCH ; + *aux_val &= ~L310_PREFETCH_CTRL_DATA_PREFETCH ; + } + *aux_mask &= ~L310_PREFETCH_CTRL_DATA_PREFETCH ; }else if (ret != -EINVAL ) {pr_err ("L2C-310 OF prefetch-data property value is missing\n" ); } ret =of_property_read_u32 (np,"prefetch-instr" , &val);if (ret ==0 ) { -if (val) +if (val) { prefetch |=L310_PREFETCH_CTRL_INSTR_PREFETCH ; -else + *aux_val |=L310_PREFETCH_CTRL_INSTR_PREFETCH ; + }else { prefetch &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH ; + *aux_val &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH ; + } + *aux_mask &= ~L310_PREFETCH_CTRL_INSTR_PREFETCH ; }else if (ret != -EINVAL ) {pr_err ("L2C-310 OF prefetch-instr property value is missing\n" ); }
arch/arm64/boot/dts/actions/s700.dtsi +1 -1
@@ -231,7 +231,7 @@ timer: timer@e024c000 { pinctrl: pinctrl@e01b0000 { compatible = "actions,s700-pinctrl"; - reg = <0x0 0xe01b0000 0x0 0x1000>; + reg = <0x0 0xe01b0000 0x0 0x100>; clocks = <&cmu CLK_GPIO>; gpio-controller; gpio-ranges = <&pinctrl 0 0 136>;
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi +2 -4
@@ -125,8 +125,7 @@ mali: gpu@1e80000 { <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; + <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "gp", "gpmmu", "pp",
@@ -137,8 +136,7 @@ mali: gpu@1e80000 { "pp2", "ppmmu2", "pp3", - "ppmmu3", - "pmu"; + "ppmmu3"; clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; clock-names = "bus", "core"; resets = <&ccu RST_BUS_GPU>;
arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi +2 -2
@@ -41,13 +41,13 @@ leds { led-white { label = "vim3:white:sys"; - gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; + gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; }; led-red { label = "vim3:red"; - gpios = <&gpio_expander 5 GPIO_ACTIVE_LOW>; + gpios = <&gpio_expander 5 GPIO_ACTIVE_HIGH>; }; };
arch/arm64/boot/dts/freescale/imx8mq.dtsi +1 -0
@@ -614,6 +614,7 @@ src: reset-controller@30390000 { gpc: gpc@303a0000 { compatible = "fsl,imx8mq-gpc"; reg = <0x303a0000 0x10000>; + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&gic>; interrupt-controller; #interrupt-cells = <3>;
arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi +2 -3
@@ -431,12 +431,11 @@ &nor_flash { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&nor_gpio1_pins>; - bus-width = <8>; - max-frequency = <50000000>; - non-removable; + flash@0 { compatible = "jedec,spi-nor"; reg = <0>; + spi-max-frequency = <50000000>; }; };
arch/arm64/boot/dts/qcom/msm8916.dtsi +5 -5
@@ -228,14 +228,14 @@ pmu { }; thermal-zones { - cpu0_1-thermal { + cpu0-1-thermal { polling-delay-passive = <250>; polling-delay = <1000>; thermal-sensors = <&tsens 5>; trips { - cpu0_1_alert0: trip-point@0 { + cpu0_1_alert0: trip-point0 { temperature = <75000>; hysteresis = <2000>; type = "passive";
@@ -258,7 +258,7 @@ map0 { }; }; - cpu2_3-thermal { + cpu2-3-thermal { polling-delay-passive = <250>; polling-delay = <1000>;
@@ -1021,7 +1021,7 @@ mdp: mdp@1a01000 { reg-names = "mdp_phys"; interrupt-parent = <&mdss>; - interrupts = <0 0>; + interrupts = <0>; clocks = <&gcc GCC_MDSS_AHB_CLK>, <&gcc GCC_MDSS_AXI_CLK>,
@@ -1053,7 +1053,7 @@ dsi0: dsi@1a98000 { reg-names = "dsi_ctrl"; interrupt-parent = <&mdss>; - interrupts = <4 0>; + interrupts = <4>; assigned-clocks = <&gcc BYTE0_CLK_SRC>, <&gcc PCLK0_CLK_SRC>;
arch/arm64/boot/dts/qcom/pm8916.dtsi +1 -1
@@ -119,7 +119,7 @@ pm8916_vib: vibrator@c000 { wcd_codec: codec@f000 { compatible = "qcom,pm8916-wcd-analog-codec"; - reg = <0xf000 0x200>; + reg = <0xf000>; reg-names = "pmic-codec-core"; clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; clock-names = "mclk";
arch/arm64/boot/dts/qcom/sc7180.dtsi +3 -3
@@ -2193,7 +2193,7 @@ dc_noc: interconnect@9160000 { system-cache-controller@9200000 { compatible = "qcom,sc7180-llcc"; - reg = <0 0x09200000 0 0x200000>, <0 0x09600000 0 0x50000>; + reg = <0 0x09200000 0 0x50000>, <0 0x09600000 0 0x50000>; reg-names = "llcc_base", "llcc_broadcast_base"; interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; };
@@ -2357,7 +2357,7 @@ mdp: mdp@ae01000 { <19200000>; interrupt-parent = <&mdss>; - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <0>; status = "disabled";
@@ -2380,7 +2380,7 @@ dsi0: dsi@ae94000 { reg-names = "dsi_ctrl"; interrupt-parent = <&mdss>; - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <4>; clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
arch/arm64/boot/dts/renesas/r8a774c0.dtsi +2 -3
@@ -1214,9 +1214,8 @@ msiof1: spi@e6ea0000 { reg = <0 0xe6ea0000 0 0x0064>; interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 210>; - dmas = <&dmac1 0x43>, <&dmac1 0x42>, - <&dmac2 0x43>, <&dmac2 0x42>; - dma-names = "tx", "rx", "tx", "rx"; + dmas = <&dmac0 0x43>, <&dmac0 0x42>; + dma-names = "tx", "rx"; power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>; resets = <&cpg 210>; #address-cells = <1>;
arch/arm64/boot/dts/renesas/r8a77990.dtsi +2 -3
@@ -1192,9 +1192,8 @@ msiof1: spi@e6ea0000 { reg = <0 0xe6ea0000 0 0x0064>; interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cpg CPG_MOD 210>; - dmas = <&dmac1 0x43>, <&dmac1 0x42>, - <&dmac2 0x43>, <&dmac2 0x42>; - dma-names = "tx", "rx", "tx", "rx"; + dmas = <&dmac0 0x43>, <&dmac0 0x42>; + dma-names = "tx", "rx"; power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; resets = <&cpg 210>; #address-cells = <1>;
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2 -2
@@ -500,7 +500,7 @@ gpio: gpio@ff0a0000 { }; i2c0: i2c@ff020000 { - compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; + compatible = "cdns,i2c-r1p14"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 17 4>;
@@ -511,7 +511,7 @@ i2c0: i2c@ff020000 { }; i2c1: i2c@ff030000 { - compatible = "cdns,i2c-r1p14", "cdns,i2c-r1p10"; + compatible = "cdns,i2c-r1p14"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 18 4>;
arch/arm64/include/asm/insn.h +4 -0
@@ -359,9 +359,13 @@ __AARCH64_INSN_FUNCS(brk, 0xFFE0001F, 0xD4200000) __AARCH64_INSN_FUNCS(exception, 0xFF000000, 0xD4000000) __AARCH64_INSN_FUNCS(hint, 0xFFFFF01F, 0xD503201F) __AARCH64_INSN_FUNCS(br, 0xFFFFFC1F, 0xD61F0000) +__AARCH64_INSN_FUNCS(br_auth, 0xFEFFF800, 0xD61F0800) __AARCH64_INSN_FUNCS(blr, 0xFFFFFC1F, 0xD63F0000) +__AARCH64_INSN_FUNCS(blr_auth, 0xFEFFF800, 0xD63F0800) __AARCH64_INSN_FUNCS(ret, 0xFFFFFC1F, 0xD65F0000) +__AARCH64_INSN_FUNCS(ret_auth, 0xFFFFFBFF, 0xD65F0BFF) __AARCH64_INSN_FUNCS(eret, 0xFFFFFFFF, 0xD69F03E0) +__AARCH64_INSN_FUNCS(eret_auth, 0xFFFFFBFF, 0xD69F0BFF) __AARCH64_INSN_FUNCS(mrs, 0xFFF00000, 0xD5300000) __AARCH64_INSN_FUNCS(msr_imm, 0xFFF8F01F, 0xD500401F)__AARCH64_INSN_FUNCS (msr_reg,0xFFF00000 ,0xD5100000 )
arch/arm64/include/asm/memory.h +2 -3
@@ -163,7 +163,6 @@ extern u64 vabits_actual;#include <linux/bitops.h> #include <linux/mmdebug.h> -extern s64 physvirt_offset;extern s64 memstart_addr;/* PHYS_OFFSET - the physical address of the start of memory. */ #define PHYS_OFFSET ({ VM_BUG_ON(memstart_addr & 1); memstart_addr; })
@@ -239,7 +238,7 @@ static inline const void *__tag_set(const void *addr, u8 tag)*/ #define __is_lm_address (addr) (!(((u64)addr) & BIT(vabits_actual - 1))) -#define __lm_to_phys (addr) (((addr) + physvirt_offset)) +#define __lm_to_phys (addr) (((addr) & ~PAGE_OFFSET) + PHYS_OFFSET)#define __kimg_to_phys (addr) ((addr) - kimage_voffset)#define __virt_to_phys_nodebug (x) ({ \
@@ -257,7 +256,7 @@ extern phys_addr_t __phys_addr_symbol(unsigned long x);#define __phys_addr_symbol (x) __pa_symbol_nodebug(x)#endif /* CONFIG_DEBUG_VIRTUAL */ -#define __phys_to_virt (x) ((unsigned long)((x) - physvirt_offset)) +#define __phys_to_virt (x) ((unsigned long)((x) - PHYS_OFFSET) | PAGE_OFFSET)#define __phys_to_kimg (x) ((unsigned long)((x) + kimage_voffset))/*
arch/arm64/include/asm/pgtable.h +2 -2
@@ -23,6 +23,8 @@#define VMALLOC_START (MODULES_END)#define VMALLOC_END (- PUD_SIZE - VMEMMAP_SIZE - SZ_64K) +#define vmemmap ((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)) +#define FIRST_USER_ADDRESS 0UL#ifndef __ASSEMBLY__
@@ -33,8 +35,6 @@#include <linux/mm_types.h> #include <linux/sched.h> -extern struct page *vmemmap; -extern void __pte_error (const char *file,int line,unsigned long val);extern void __pmd_error (const char *file,int line,unsigned long val);extern void __pud_error (const char *file,int line,unsigned long val);
arch/arm64/kernel/cpu_errata.c +5 -2
@@ -234,14 +234,17 @@ static int detect_harden_bp_fw(void) smccc_end =NULL ;break ; -#if IS_ENABLED (CONFIG_KVM )case SMCCC_CONDUIT_SMC : cb = call_smc_arch_workaround_1; +#if IS_ENABLED (CONFIG_KVM ) smccc_start = __smccc_workaround_1_smc; smccc_end = __smccc_workaround_1_smc + __SMCCC_WORKAROUND_1_SMC_SZ; -break ; +#else + smccc_start =NULL ; + smccc_end =NULL ;#endif +break ;default :return -1 ;
arch/arm64/kernel/insn.c +4 -1
@@ -176,7 +176,7 @@ bool __kprobes aarch64_insn_uses_literal(u32 insn)bool __kprobes aarch64_insn_is_branch (u32 insn) { -/* b, bl, cb*, tb*, b.cond, br, blr */ +/* b, bl, cb*, tb*, ret*, b.cond, br*, blr* */ return aarch64_insn_is_b (insn) || aarch64_insn_is_bl(insn) ||
@@ -185,8 +185,11 @@ bool __kprobes aarch64_insn_is_branch(u32 insn)aarch64_insn_is_tbz (insn) ||aarch64_insn_is_tbnz (insn) ||aarch64_insn_is_ret (insn) || +aarch64_insn_is_ret_auth (insn) ||aarch64_insn_is_br (insn) || +aarch64_insn_is_br_auth (insn) ||aarch64_insn_is_blr (insn) || +aarch64_insn_is_blr_auth (insn) ||aarch64_insn_is_bcond (insn); }
arch/arm64/kernel/perf_event.c +5 -0
@@ -510,6 +510,11 @@ static u32 armv8pmu_event_cnten_mask(struct perf_event *event)static inline void armv8pmu_enable_counter (u32 mask) { +/* +* Make sure event configuration register writes are visible before we +* enable the counter. +* */ +isb ();write_sysreg (mask, pmcntenset_el0); }
arch/arm64/kernel/probes/decode-insn.c +2 -1
@@ -29,7 +29,8 @@ static bool __kprobes aarch64_insn_is_steppable(u32 insn)aarch64_insn_is_msr_imm (insn) ||aarch64_insn_is_msr_reg (insn) ||aarch64_insn_is_exception (insn) || - aarch64_insn_is_eret(insn)) +aarch64_insn_is_eret (insn) || + aarch64_insn_is_eret_auth(insn)) return false;/*
arch/arm64/mm/init.c +10 -20
@@ -54,12 +54,6 @@s64 memstart_addr__ro_after_init =-1 ;EXPORT_SYMBOL (memstart_addr); -s64 physvirt_offset__ro_after_init ; -EXPORT_SYMBOL (physvirt_offset); - -struct page *vmemmap__ro_after_init ; -EXPORT_SYMBOL (vmemmap); -/* * We create both ZONE_DMA and ZONE_DMA32. ZONE_DMA covers the first 1G of * memory as some devices, namely the Raspberry Pi 4, have peripherals with
@@ -290,20 +284,6 @@ void __init arm64_memblock_init(void) memstart_addr =round_down (memblock_start_of_DRAM (),ARM64_MEMSTART_ALIGN ); - physvirt_offset =PHYS_OFFSET -PAGE_OFFSET ; - - vmemmap = ((struct page *)VMEMMAP_START - (memstart_addr >>PAGE_SHIFT )); - -/* -* If we are running with a 52-bit kernel VA config on a system that -* does not support it, we have to offset our vmemmap and physvirt_offset -* s.t. we avoid the 52-bit portion of the direct linear map -*/ -if (IS_ENABLED (CONFIG_ARM64_VA_BITS_52 ) && (vabits_actual !=52 )) { - vmemmap += (_PAGE_OFFSET (48 ) -_PAGE_OFFSET (52 )) >>PAGE_SHIFT ; - physvirt_offset =PHYS_OFFSET -_PAGE_OFFSET (48 ); - } -/* * Remove the memory that we will not be able to cover with the * linear mapping. Take care not to clip the kernel which may be
@@ -318,6 +298,16 @@ void __init arm64_memblock_init(void)memblock_remove (0 , memstart_addr); } +/* +* If we are running with a 52-bit kernel VA config on a system that +* does not support it, we have to place the available physical +* memory in the 48-bit addressable part of the linear region, i.e., +* we have to move it upward. Since memstart_addr represents the +* physical address of PAGE_OFFSET, we have to *subtract* from it. +*/ +if (IS_ENABLED (CONFIG_ARM64_VA_BITS_52 ) && (vabits_actual !=52 )) + memstart_addr -=_PAGE_OFFSET (48 ) -_PAGE_OFFSET (52 ); +/* * Apply the memory limit if it was set. Since the kernel may be loaded * high up in memory, add back the kernel region that must be accessible
arch/m68k/coldfire/device.c +3 -3
@@ -554,7 +554,7 @@ static struct platform_device mcf_edma = { };#endif /* IS_ENABLED(CONFIG_MCF_EDMA) */ -#if IS_ENABLED (CONFIG_MMC ) +#ifdef MCFSDHC_BASE static struct mcf_esdhc_platform_data mcf_esdhc_data = { .max_bus_width =4 , .cd_type = ESDHC_CD_NONE,
@@ -579,7 +579,7 @@ static struct platform_device mcf_esdhc = { .resource = mcf_esdhc_resources, .dev.platform_data = &mcf_esdhc_data, }; -#endif /* IS_ENABLED(CONFIG_MMC) */ +#endif /* MCFSDHC_BASE */ static struct platform_device *mcf_devices[]__initdata = { &mcf_uart,
@@ -613,7 +613,7 @@ static struct platform_device *mcf_devices[] __initdata = {#if IS_ENABLED (CONFIG_MCF_EDMA ) &mcf_edma,#endif -#if IS_ENABLED (CONFIG_MMC ) +#ifdef MCFSDHC_BASE &mcf_esdhc,#endif };
arch/microblaze/include/asm/Kbuild +0 -1
@@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 generated-y += syscall_table.h generic-y += extable.h -generic-y += hw_irq.h generic-y += kvm_para.h generic-y += local64.h generic-y += mcs_spinlock.h
arch/powerpc/include/asm/book3s/64/hash-4k.h +6 -7
@@ -13,20 +13,19 @@*/ #define MAX_EA_BITS_PER_CONTEXT 46 -#define REGION_SHIFT (MAX_EA_BITS_PER_CONTEXT - 2)/* -* Our page table limit us to 64TB. Hence for the kernel mapping, -* each MAP area is limited to 16 TB. -* The four map areas are: linear mapping, vmap, IO and vmemmap +* Our page table limit us to 64TB. For 64TB physical memory, we only need 64GB +* of vmemmap space. To better support sparse memory layout, we use 61TB +* linear map range, 1TB of vmalloc, 1TB of I/O and 1TB of vmememmap. */ +#define REGION_SHIFT (40)#define H_KERN_MAP_SIZE (ASM_CONST(1) << REGION_SHIFT)/* -* Define the address range of the kernel non-linear virtual area -* 16TB +* Define the address range of the kernel non-linear virtual area (61TB) */ -#define H_KERN_VIRT_START ASM_CONST(0xc000100000000000) +#define H_KERN_VIRT_START ASM_CONST(0xc0003d0000000000)#ifndef __ASSEMBLY__#define H_PTE_TABLE_SIZE (sizeof(pte_t) << H_PTE_INDEX_SIZE)
arch/powerpc/include/asm/drmem.h +17 -22
@@ -8,14 +8,13 @@#ifndef _ASM_POWERPC_LMB_H#define _ASM_POWERPC_LMB_H +#include <linux/sched.h> +struct drmem_lmb {u64 base_addr;u32 drc_index;u32 aa_index;u32 flags; -#ifdef CONFIG_MEMORY_HOTPLUG -int nid; -#endif }; struct drmem_lmb_info {
@@ -26,8 +25,22 @@ struct drmem_lmb_info {extern struct drmem_lmb_info *drmem_info; +static inline struct drmem_lmb *drmem_lmb_next (struct drmem_lmb *lmb, +const struct drmem_lmb *start) +{ +/* +* DLPAR code paths can take several milliseconds per element +* when interacting with firmware. Ensure that we don't +* unfairly monopolize the CPU. +*/ +if (((++lmb - start) %16 ) ==0 ) +cond_resched (); + +return lmb; +} +#define for_each_drmem_lmb_in_range (lmb, start, end) \ - for ((lmb) = (start); (lmb) < (end); (lmb)++) + for ((lmb) = (start); (lmb) < (end); lmb = drmem_lmb_next(lmb, start))#define for_each_drmem_lmb (lmb) \ for_each_drmem_lmb_in_range((lmb), \
@@ -104,22 +117,4 @@ static inline void invalidate_lmb_associativity_index(struct drmem_lmb *lmb) lmb->aa_index = 0xffffffff; } -#ifdef CONFIG_MEMORY_HOTPLUG -static inline void lmb_set_nid (struct drmem_lmb *lmb) -{ - lmb->nid =memory_add_physaddr_to_nid (lmb->base_addr); -} -static inline void lmb_clear_nid (struct drmem_lmb *lmb) -{ - lmb->nid =-1 ; -} -#else -static inline void lmb_set_nid (struct drmem_lmb *lmb) -{ -} -static inline void lmb_clear_nid (struct drmem_lmb *lmb) -{ -} -#endif -#endif /* _ASM_POWERPC_LMB_H */
arch/powerpc/include/asm/hw_breakpoint.h +1 -0
@@ -40,6 +40,7 @@ struct arch_hw_breakpoint {#else #define HW_BREAKPOINT_SIZE 0x8#endif +#define HW_BREAKPOINT_SIZE_QUADWORD 0x10#define DABR_MAX_LEN 8#define DAWR_MAX_LEN 512
arch/powerpc/include/asm/reg.h +1 -1
@@ -815,7 +815,7 @@#define THRM1_TIN (1 << 31)#define THRM1_TIV (1 << 30)#define THRM1_THRES (x) ((x&0x7f)<<23) -#define THRM3_SITV (x) ((x&0x3fff)<<1) +#define THRM3_SITV (x) ((x & 0x1fff) << 1)#define THRM1_TID (1<<2)#define THRM1_TIE (1<<1)#define THRM1_V (1<<0)
arch/powerpc/include/asm/svm.h +4 -0
@@ -15,6 +15,8 @@ static inline bool is_secure_guest(void)return mfmsr () &MSR_S ; } +void __init svm_swiotlb_init (void ); +void dtl_cache_ctor (void *addr);#define get_dtl_cache_ctor () (is_secure_guest() ? dtl_cache_ctor : NULL)
@@ -25,6 +27,8 @@ static inline bool is_secure_guest(void) return false; } +static inline void svm_swiotlb_init (void ) {} +#define get_dtl_cache_ctor () NULL#endif /* CONFIG_PPC_SVM */
arch/powerpc/include/asm/tlb.h +0 -13
@@ -67,19 +67,6 @@ static inline int mm_is_thread_local(struct mm_struct *mm)return false; return cpumask_test_cpu(smp_processor_id(), mm_cpumask(mm)); } -static inline void mm_reset_thread_local (struct mm_struct *mm) -{ -WARN_ON (atomic_read (&mm->context.copros) >0 ); -/* -* It's possible for mm_access to take a reference on mm_users to -* access the remote mm from another thread, but it's not allowed -* to set mm_cpumask, so mm_users may be > 1 here. -*/ -WARN_ON (current->mm != mm); -atomic_set (&mm->context.active_cpus,1 ); -cpumask_clear (mm_cpumask (mm)); -cpumask_set_cpu (smp_processor_id (),mm_cpumask (mm)); -}#else /* CONFIG_PPC_BOOK3S_64 */ static inline int mm_is_thread_local (struct mm_struct *mm) {
arch/powerpc/kernel/hw_breakpoint.c +12 -2
@@ -519,9 +519,17 @@ static bool ea_hw_range_overlaps(unsigned long ea, int size, struct arch_hw_breakpoint *info) {unsigned long hw_start_addr, hw_end_addr; +unsigned long align_size =HW_BREAKPOINT_SIZE ; - hw_start_addr =ALIGN_DOWN (info->address,HW_BREAKPOINT_SIZE ); - hw_end_addr =ALIGN (info->address + info->len,HW_BREAKPOINT_SIZE ); +/* +* On p10 predecessors, quadword is handle differently then +* other instructions. +*/ +if (!cpu_has_feature (CPU_FTR_ARCH_31 ) && size ==16 ) + align_size =HW_BREAKPOINT_SIZE_QUADWORD ; + + hw_start_addr =ALIGN_DOWN (info->address, align_size); + hw_end_addr =ALIGN (info->address + info->len, align_size);return ((ea < hw_end_addr) && (ea + size > hw_start_addr)); }
@@ -635,6 +643,8 @@ static void get_instr_detail(struct pt_regs *regs, struct ppc_inst *instr,if (*type ==CACHEOP ) { *size =cache_op_size (); *ea &= ~(*size -1 ); + }else if (*type ==LOAD_VMX || *type ==STORE_VMX ) { + *ea &= ~(*size -1 ); } }
arch/powerpc/kernel/irq.c +8 -1
@@ -214,7 +214,7 @@ void replay_soft_interrupts(void)struct pt_regs regs;ppc_save_regs (®s); - regs.softe =IRQS_ALL_DISABLED ; + regs.softe =IRQS_ENABLED ; again:if (IS_ENABLED (CONFIG_PPC_IRQ_SOFT_MASK_DEBUG ))
@@ -368,6 +368,12 @@ notrace void arch_local_irq_restore(unsigned long mask) } } +/* +* Disable preempt here, so that the below preempt_enable will +* perform resched if required (a replayed interrupt may set +* need_resched). +*/ +preempt_disable ();irq_soft_mask_set (IRQS_ALL_DISABLED );trace_hardirqs_off ();
@@ -377,6 +383,7 @@ notrace void arch_local_irq_restore(unsigned long mask)trace_hardirqs_on ();irq_soft_mask_set (IRQS_ENABLED );__hard_irq_enable (); +preempt_enable (); }EXPORT_SYMBOL (arch_local_irq_restore);
arch/powerpc/kernel/ptrace/ptrace-noadv.c +1 -0
@@ -219,6 +219,7 @@ long ppc_set_hwdebug(struct task_struct *child, struct ppc_hw_breakpoint *bp_inf brk.address =ALIGN_DOWN (bp_info->addr,HW_BREAKPOINT_SIZE ); brk.type =HW_BRK_TYPE_TRANSLATE ; brk.len =DABR_MAX_LEN ; + brk.hw_len =DABR_MAX_LEN ;if (bp_info->trigger_type &PPC_BREAKPOINT_TRIGGER_READ ) brk.type |=HW_BRK_TYPE_READ ;if (bp_info->trigger_type &PPC_BREAKPOINT_TRIGGER_WRITE )
arch/powerpc/kernel/tau_6xx.c +57 -90
221 lines not on this page · raw message
arch/powerpc/mm/book3s64/radix_tlb.c +16 -7
@@ -644,19 +644,29 @@ static void do_exit_flush_lazy_tlb(void *arg)struct mm_struct *mm = arg;unsigned long pid = mm->context.id; +/* +* A kthread could have done a mmget_not_zero() after the flushing CPU +* checked mm_is_singlethreaded, and be in the process of +* kthread_use_mm when interrupted here. In that case, current->mm will +* be set to mm, because kthread_use_mm() setting ->mm and switching to +* the mm is done with interrupts off. +*/ if (current->mm == mm) -return ;/* Local CPU */ + goto out_flush;if (current->active_mm == mm) { -/* -* Must be a kernel thread because sender is single-threaded. -*/ -BUG_ON (current->mm); +WARN_ON_ONCE (current->mm !=NULL ); +/* Is a kernel thread and is using mm as the lazy tlb */ mmgrab (&init_mm); -switch_mm (mm, &init_mm, current); current->active_mm = &init_mm; +switch_mm_irqs_off (mm, &init_mm, current);mmdrop (mm); } + +atomic_dec (&mm->context.active_cpus); +cpumask_clear_cpu (smp_processor_id (),mm_cpumask (mm)); + +out_flush:_tlbiel_pid (pid,RIC_FLUSH_ALL ); }
@@ -671,7 +681,6 @@ static void exit_flush_lazy_tlbs(struct mm_struct *mm)*/ smp_call_function_many (mm_cpumask (mm), do_exit_flush_lazy_tlb, (void *)mm,1 ); -mm_reset_thread_local (mm); }void radix__flush_tlb_mm (struct mm_struct *mm)
arch/powerpc/mm/drmem.c +1 -5
@@ -362,10 +362,8 @@ static void __init init_drmem_v1_lmbs(const __be32 *prop)if (!drmem_info->lmbs)return ; -for_each_drmem_lmb (lmb) { +for_each_drmem_lmb (lmb)read_drconf_v1_cell (lmb, &prop); -lmb_set_nid (lmb); - } }static void __init init_drmem_v2_lmbs (const __be32 *prop)
@@ -410,8 +408,6 @@ static void __init init_drmem_v2_lmbs(const __be32 *prop) lmb->aa_index = dr_cell.aa_index; lmb->flags = dr_cell.flags; - -lmb_set_nid (lmb); } } }
arch/powerpc/mm/kasan/kasan_init_32.c +9 -3
@@ -121,8 +121,7 @@ void __init kasan_mmu_init(void) {int ret; -if (early_mmu_has_feature (MMU_FTR_HPTE_TABLE ) || -IS_ENABLED (CONFIG_KASAN_VMALLOC )) { +if (early_mmu_has_feature (MMU_FTR_HPTE_TABLE )) { ret =kasan_init_shadow_page_tables (KASAN_SHADOW_START ,KASAN_SHADOW_END );if (ret)
@@ -133,11 +132,11 @@ void __init kasan_mmu_init(void)void __init kasan_init (void ) {struct memblock_region *reg; +int ret;for_each_memblock (memory, reg) {phys_addr_t base = reg->base;phys_addr_t top =min (base + reg->size, total_lowmem); -int ret;if (base >= top)continue ;
@@ -147,6 +146,13 @@ void __init kasan_init(void)panic ("kasan: kasan_init_region() failed" ); } +if (IS_ENABLED (CONFIG_KASAN_VMALLOC )) { + ret =kasan_init_shadow_page_tables (KASAN_SHADOW_START ,KASAN_SHADOW_END ); + +if (ret) +panic ("kasan: kasan_init_shadow_page_tables() failed" ); + } +kasan_remap_early_shadow_ro ();clear_page (kasan_early_shadow_page);
arch/powerpc/mm/mem.c +5 -1
@@ -50,6 +50,7 @@#include <asm/swiotlb.h> #include <asm/rtas.h> #include <asm/kasan.h> +#include <asm/svm.h> #include <mm/mmu_decl.h>
@@ -290,7 +291,10 @@ void __init mem_init(void)* back to to-down. */ memblock_set_bottom_up (true); -swiotlb_init (0 ); +if (is_secure_guest ()) +svm_swiotlb_init (); +else +swiotlb_init (0 );#endif high_memory = (void *)__va (max_low_pfn *PAGE_SIZE );
arch/powerpc/perf/hv-gpci-requests.h +3 -3
@@ -95,7 +95,7 @@ REQUEST(__field(0, 8, partition_id)#define REQUEST_NAME system_performance_capabilities#define REQUEST_NUM 0x40 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff"#include I (REQUEST_BEGIN ) REQUEST(__field(0, 1, perf_collect_privileged) __field(0x1, 1, capability_mask)
@@ -223,7 +223,7 @@ REQUEST(__field(0, 2, partition_id)#define REQUEST_NAME system_hypervisor_times#define REQUEST_NUM 0xF0 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff"#include I (REQUEST_BEGIN ) REQUEST(__count(0, 8, time_spent_to_dispatch_virtual_processors) __count(0x8, 8, time_spent_processing_virtual_processor_timers)
@@ -234,7 +234,7 @@ REQUEST(__count(0, 8, time_spent_to_dispatch_virtual_processors)#define REQUEST_NAME system_tlbie_count_and_time#define REQUEST_NUM 0xF4 -#define REQUEST_IDX_KIND "starting_index=0xffffffffffffffff" +#define REQUEST_IDX_KIND "starting_index=0xffffffff"#include I (REQUEST_BEGIN )REQUEST (__count (0 ,8 , tlbie_instructions_issued)/*
arch/powerpc/perf/isa207-common.c +10 -0
@@ -269,6 +269,15 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp) mask |=CNST_PMC_MASK (pmc); value |=CNST_PMC_VAL (pmc); + +/* +* PMC5 and PMC6 are used to count cycles and instructions and +* they do not support most of the constraint bits. Add a check +* to exclude PMC5/6 from most of the constraints except for +* EBB/BHRB. +*/ +if (pmc >=5 ) + goto ebb_bhrb; }if (pmc <=4 ) {
@@ -335,6 +344,7 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp) } } +ebb_bhrb:if (!pmc && ebb)/* EBB events must specify the PMC */ return -1 ;
arch/powerpc/platforms/Kconfig +4 -10
@@ -223,12 +223,11 @@ config TAU temperature within 2-4 degrees Celsius. This option shows the current on-die temperature in /proc/cpuinfo if the cpu supports it. - Unfortunately, on some chip revisions, this sensor is very inaccurate - and in many cases, does not work at all, so don't assume the cpu - temp is actually what /proc/cpuinfo says it is. + Unfortunately, this sensor is very inaccurate when uncalibrated, so + don't assume the cpu temp is actually what /proc/cpuinfo says it is. config TAU_INT - bool "Interrupt driven TAU driver (DANGEROUS)" + bool "Interrupt driven TAU driver (EXPERIMENTAL)" depends on TAU help The TAU supports an interrupt driven mode which causes an interrupt
@@ -236,12 +235,7 @@ config TAU_INT to get notified the temp has exceeded a range. With this option off, a timer is used to re-check the temperature periodically. - However, on some cpus it appears that the TAU interrupt hardware - is buggy and can cause a situation which would lead unexplained hard - lockups. - - Unless you are extending the TAU driver, or enjoy kernel/hardware - debugging, leave this option off. + If in doubt, say N here. config TAU_AVERAGE bool "Average high and low temp"
arch/powerpc/platforms/powernv/opal-dump.c +29 -12
65 lines not on this page · raw message
arch/powerpc/platforms/pseries/hotplug-memory.c +16 -8
@@ -356,25 +356,32 @@ static int dlpar_add_lmb(struct drmem_lmb *);static int dlpar_remove_lmb (struct drmem_lmb *lmb) { +struct memory_block *mem_block;unsigned long block_sz;int rc;if (!lmb_is_removable (lmb))return -EINVAL ; + mem_block =lmb_to_memblock (lmb); +if (mem_block ==NULL ) +return -EINVAL ; + rc =dlpar_offline_lmb (lmb); -if (rc) +if (rc) { +put_device (&mem_block->dev);return rc; + } block_sz =pseries_memory_block_size (); -__remove_memory (lmb->nid, lmb->base_addr, block_sz); +__remove_memory (mem_block->nid, lmb->base_addr, block_sz); +put_device (&mem_block->dev);/* Update memory regions for memory remove */ memblock_remove (lmb->base_addr, block_sz);invalidate_lmb_associativity_index (lmb); -lmb_clear_nid (lmb); lmb->flags &= ~DRCONF_MEM_ASSIGNED ;return 0 ;
@@ -631,7 +638,7 @@ static int dlpar_memory_remove_by_ic(u32 lmbs_to_remove, u32 drc_index)static int dlpar_add_lmb (struct drmem_lmb *lmb) {unsigned long block_sz; -int rc; +int nid, rc;if (lmb->flags &DRCONF_MEM_ASSIGNED )return -EINVAL ;
@@ -642,11 +649,13 @@ static int dlpar_add_lmb(struct drmem_lmb *lmb)return rc; } -lmb_set_nid (lmb); block_sz =memory_block_size_bytes (); +/* Find the node id for this address. */ + nid =memory_add_physaddr_to_nid (lmb->base_addr); +/* Add the memory */ - rc =__add_memory (lmb->nid, lmb->base_addr, block_sz); + rc =__add_memory (nid, lmb->base_addr, block_sz);if (rc) {invalidate_lmb_associativity_index (lmb);return rc;
@@ -654,9 +663,8 @@ static int dlpar_add_lmb(struct drmem_lmb *lmb) rc =dlpar_online_lmb (lmb);if (rc) { -__remove_memory (lmb->nid, lmb->base_addr, block_sz); +__remove_memory (nid, lmb->base_addr, block_sz);invalidate_lmb_associativity_index (lmb); -lmb_clear_nid (lmb); }else { lmb->flags |=DRCONF_MEM_ASSIGNED ; }
arch/powerpc/platforms/pseries/papr_scm.c +3 -0
@@ -702,6 +702,9 @@ static int papr_scm_nvdimm_init(struct papr_scm_priv *p) p->bus_desc.of_node = p->pdev->dev.of_node; p->bus_desc.provider_name =kstrdup (p->pdev->name,GFP_KERNEL ); +/* Set the dimm command family mask to accept PDSMs */ +set_bit (NVDIMM_FAMILY_PAPR , &p->bus_desc.dimm_family_mask); +if (!p->bus_desc.provider_name)return -ENOMEM ;
arch/powerpc/platforms/pseries/ras.c +69 -49
152 lines not on this page · raw message
arch/powerpc/platforms/pseries/rng.c +1 -0
@@ -36,6 +36,7 @@ static __init int rng_init(void) ppc_md.get_random_seed = pseries_get_random_long; +of_node_put (dn);return 0 ; }machine_subsys_initcall (pseries, rng_init);
arch/powerpc/platforms/pseries/svm.c +26 -0
@@ -7,6 +7,7 @@*/ #include <linux/mm.h> +#include <linux/memblock.h> #include <asm/machdep.h> #include <asm/svm.h> #include <asm/swiotlb.h>
@@ -34,6 +35,31 @@ static int __init init_svm(void) }machine_early_initcall (pseries, init_svm); +/* +* Initialize SWIOTLB. Essentially the same as swiotlb_init(), except that it +* can allocate the buffer anywhere in memory. Since the hypervisor doesn't have +* any addressing limitation, we don't need to allocate it in low addresses. +*/ +void __init svm_swiotlb_init (void ) +{ +unsigned char *vstart; +unsigned long bytes, io_tlb_nslabs; + + io_tlb_nslabs = (swiotlb_size_or_default () >>IO_TLB_SHIFT ); + io_tlb_nslabs =ALIGN (io_tlb_nslabs,IO_TLB_SEGSIZE ); + + bytes = io_tlb_nslabs <<IO_TLB_SHIFT ; + + vstart =memblock_alloc (PAGE_ALIGN (bytes),PAGE_SIZE ); +if (vstart && !swiotlb_init_with_tbl (vstart, io_tlb_nslabs, false)) +return ; + +if (io_tlb_start) +memblock_free_early (io_tlb_start, +PAGE_ALIGN (io_tlb_nslabs <<IO_TLB_SHIFT )); +panic ("SVM: Cannot allocate SWIOTLB buffer" ); +} +int set_memory_encrypted (unsigned long addr,int numpages) {if (!PAGE_ALIGNED (addr))
arch/powerpc/sysdev/xics/icp-hv.c +1 -0
@@ -174,6 +174,7 @@ int icp_hv_init(void) icp_ops = &icp_hv_ops; +of_node_put (np);return 0 ; }
arch/powerpc/xmon/xmon.c +1 -0
@@ -962,6 +962,7 @@ static void insert_cpu_bpts(void) brk.address = dabr[i].address; brk.type = (dabr[i].enabled &HW_BRK_TYPE_DABR ) |HW_BRK_TYPE_PRIV_ALL ; brk.len =8 ; + brk.hw_len =8 ;__set_breakpoint (i, &brk); } }
arch/s390/pci/pci_bus.c +3 -2
@@ -197,9 +197,10 @@ void pcibios_bus_add_device(struct pci_dev *pdev)* With pdev->no_vf_scan the common PCI probing code does not * perform PF/VF linking. */ -if (zdev->vfn) +if (zdev->vfn) {zpci_bus_setup_virtfn (zdev->zbus, pdev, zdev->vfn); - + pdev->no_command_memory =1 ; + } }static int zpci_bus_add_device (struct zpci_bus *zbus,struct zpci_dev *zdev)
arch/um/drivers/vector_kern.c +2 -2
@@ -1403,7 +1403,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev,kfree (vp->bpf->filter); vp->bpf->filter =NULL ; }else { - vp->bpf =kmalloc (sizeof (struct sock_fprog ),GFP_KERNEL ); + vp->bpf =kmalloc (sizeof (struct sock_fprog ),GFP_ATOMIC );if (vp->bpf ==NULL ) {netdev_err (dev,"failed to allocate memory for firmware\n" ); goto flash_fail;
@@ -1415,7 +1415,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev,if (request_firmware (&fw, efl->data, &vdevice->pdev.dev)) goto flash_fail; - vp->bpf->filter =kmemdup (fw->data, fw->size,GFP_KERNEL ); + vp->bpf->filter =kmemdup (fw->data, fw->size,GFP_ATOMIC );if (!vp->bpf->filter) goto free_buffer;
arch/um/kernel/time.c +9 -5
@@ -70,13 +70,17 @@ static void time_travel_handle_message(struct um_timetravel_msg *msg,* read of the message and write of the ACK. */ if (mode !=TTMH_READ ) { +bool disabled =irqs_disabled (); + +BUG_ON (mode ==TTMH_IDLE && !disabled); + +if (disabled) +local_irq_enable ();while (os_poll (1 , &time_travel_ext_fd) !=0 ) { -if (mode ==TTMH_IDLE ) { -BUG_ON (!irqs_disabled ()); -local_irq_enable (); -local_irq_disable (); - } +/* nothing */ } +if (disabled) +local_irq_disable (); } ret =os_read_file (time_travel_ext_fd, msg,sizeof (*msg));
arch/x86/boot/compressed/pgtable_64.c +0 -9
@@ -5,15 +5,6 @@#include "pgtable.h" #include "../string.h" -/* -* __force_order is used by special_insns.h asm code to force instruction -* serialization. -* -* It is not referenced from the code, but GCC < 5 with -fPIE would fail -* due to an undefined symbol. Define it to make these ancient GCCs work. -*/ -unsigned long __force_order; -#define BIOS_START_MIN 0x20000U/* 128K, less than this is insane */ #define BIOS_START_MAX 0x9f000U/* 640K, absolute maximum */
arch/x86/events/amd/iommu.c +1 -1
@@ -379,7 +379,7 @@ static __init int _init_events_attrs(void)while (amd_iommu_v2_event_descs[i].attr.attr.name) i++; - attrs =kcalloc (i +1 ,sizeof (struct attribute **),GFP_KERNEL ); + attrs =kcalloc (i +1 ,sizeof (*attrs),GFP_KERNEL );if (!attrs)return -ENOMEM ;
arch/x86/events/core.c +5 -1
@@ -1087,8 +1087,10 @@ static int collect_events(struct cpu_hw_events *cpuc, struct perf_event *leader, cpuc->event_list[n] = event; n++; -if (is_counter_pair (&event->hw)) +if (is_counter_pair (&event->hw)) { cpuc->n_pair++; + cpuc->n_txn_pair++; + } }return n; }
@@ -1953,6 +1955,7 @@ static void x86_pmu_start_txn(struct pmu *pmu, unsigned int txn_flags)perf_pmu_disable (pmu);__this_cpu_write (cpu_hw_events.n_txn,0 ); +__this_cpu_write (cpu_hw_events.n_txn_pair,0 ); }/*
@@ -1978,6 +1981,7 @@ static void x86_pmu_cancel_txn(struct pmu *pmu)*/ __this_cpu_sub (cpu_hw_events.n_added,__this_cpu_read (cpu_hw_events.n_txn));__this_cpu_sub (cpu_hw_events.n_events,__this_cpu_read (cpu_hw_events.n_txn)); +__this_cpu_sub (cpu_hw_events.n_pair,__this_cpu_read (cpu_hw_events.n_txn_pair));perf_pmu_enable (pmu); }
arch/x86/events/intel/ds.c +20 -12
@@ -670,9 +670,7 @@ int intel_pmu_drain_bts_buffer(void)static inline void intel_pmu_drain_pebs_buffer (void ) { -struct pt_regs regs; - - x86_pmu.drain_pebs (®s); + x86_pmu.drain_pebs (NULL ); }/*
@@ -1737,6 +1735,7 @@ static void __intel_pmu_pebs_event(struct perf_event *event,struct x86_perf_regs perf_regs;struct pt_regs *regs = &perf_regs.regs;void *at =get_next_pebs_record_by_bit (base, top, bit); +struct pt_regs dummy_iregs;if (hwc->flags &PERF_X86_EVENT_AUTO_RELOAD ) {/*
@@ -1749,6 +1748,9 @@ static void __intel_pmu_pebs_event(struct perf_event *event, }else if (!intel_pmu_save_and_restart (event))return ; +if (!iregs) + iregs = &dummy_iregs; +while (count >1 ) {setup_sample (event, iregs, at, &data, regs);perf_event_output (event, &data, regs);
@@ -1758,16 +1760,22 @@ static void __intel_pmu_pebs_event(struct perf_event *event, }setup_sample (event, iregs, at, &data, regs); - -/* -* All but the last records are processed. -* The last one is left to be able to call the overflow handler. -*/ -if (perf_event_overflow (event, &data, regs)) { -x86_pmu_stop (event,0 ); -return ; +if (iregs == &dummy_iregs) { +/* +* The PEBS records may be drained in the non-overflow context, +* e.g., large PEBS + context switch. Perf should treat the +* last record the same as other PEBS records, and doesn't +* invoke the generic overflow handler. +*/ +perf_event_output (event, &data, regs); + }else { +/* +* All but the last records are processed. +* The last one is left to be able to call the overflow handler. +*/ +if (perf_event_overflow (event, &data, regs)) +x86_pmu_stop (event,0 ); } - }static void intel_pmu_drain_pebs_core (struct pt_regs *iregs)
arch/x86/events/intel/uncore_snb.c +26 -5
@@ -115,6 +115,10 @@#define ICL_UNC_CBO_0_PER_CTR0 0x702#define ICL_UNC_CBO_MSR_OFFSET 0x8 +/* ICL ARB register */ +#define ICL_UNC_ARB_PER_CTR 0x3b1 +#define ICL_UNC_ARB_PERFEVTSEL 0x3b3 +DEFINE_UNCORE_FORMAT_ATTR (event, event,"config:0-7" );DEFINE_UNCORE_FORMAT_ATTR (umask, umask,"config:8-15" );DEFINE_UNCORE_FORMAT_ATTR (edge, edge,"config:18" );
@@ -302,15 +306,21 @@ void skl_uncore_cpu_init(void) snb_uncore_arb.ops = &skl_uncore_msr_ops; } +static struct intel_uncore_ops icl_uncore_msr_ops = { + .disable_event = snb_uncore_msr_disable_event, + .enable_event = snb_uncore_msr_enable_event, + .read_counter = uncore_msr_read_counter, +}; +static struct intel_uncore_type icl_uncore_cbox = { .name ="cbox" , - .num_counters =4 , + .num_counters =2 , .perf_ctr_bits =44 , .perf_ctr =ICL_UNC_CBO_0_PER_CTR0 , .event_ctl =SNB_UNC_CBO_0_PERFEVTSEL0 , .event_mask =SNB_UNC_RAW_EVENT_MASK , .msr_offset =ICL_UNC_CBO_MSR_OFFSET , - .ops = &skl_uncore_msr_ops, + .ops = &icl_uncore_msr_ops, .format_group = &snb_uncore_format_group, };
@@ -339,13 +349,25 @@ static struct intel_uncore_type icl_uncore_clockbox = { .single_fixed = 1, .event_mask = SNB_UNC_CTL_EV_SEL_MASK, .format_group = &icl_uncore_clock_format_group, - .ops = &skl_uncore_msr_ops, + .ops = &icl_uncore_msr_ops, .event_descs = icl_uncore_events, }; +static struct intel_uncore_type icl_uncore_arb = { + .name ="arb" , + .num_counters =1 , + .num_boxes =1 , + .perf_ctr_bits =44 , + .perf_ctr =ICL_UNC_ARB_PER_CTR , + .event_ctl =ICL_UNC_ARB_PERFEVTSEL , + .event_mask =SNB_UNC_RAW_EVENT_MASK , + .ops = &icl_uncore_msr_ops, + .format_group = &snb_uncore_format_group, +}; +static struct intel_uncore_type *icl_msr_uncores[] = { &icl_uncore_cbox, - &snb_uncore_arb, + &icl_uncore_arb, &icl_uncore_clockbox,NULL , };
@@ -363,7 +385,6 @@ void icl_uncore_cpu_init(void) { uncore_msr_uncores = icl_msr_uncores; icl_uncore_cbox.num_boxes =icl_get_cbox_num (); - snb_uncore_arb.ops = &skl_uncore_msr_ops; }enum {
arch/x86/events/intel/uncore_snbep.c +6 -6
@@ -4550,10 +4550,10 @@ static struct uncore_event_desc snr_uncore_imc_freerunning_events[] = {INTEL_UNCORE_EVENT_DESC (dclk,"event=0xff,umask=0x10" ),INTEL_UNCORE_EVENT_DESC (read,"event=0xff,umask=0x20" ), -INTEL_UNCORE_EVENT_DESC (read.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (read.scale,"6.103515625e-5" ),INTEL_UNCORE_EVENT_DESC (read.unit,"MiB" ),INTEL_UNCORE_EVENT_DESC (write,"event=0xff,umask=0x21" ), -INTEL_UNCORE_EVENT_DESC (write.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (write.scale,"6.103515625e-5" ), INTEL_UNCORE_EVENT_DESC(write.unit, "MiB"), { /* end: all zeroes */ }, };
@@ -5009,17 +5009,17 @@ static struct uncore_event_desc icx_uncore_imc_freerunning_events[] = {INTEL_UNCORE_EVENT_DESC (dclk,"event=0xff,umask=0x10" ),INTEL_UNCORE_EVENT_DESC (read,"event=0xff,umask=0x20" ), -INTEL_UNCORE_EVENT_DESC (read.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (read.scale,"6.103515625e-5" ),INTEL_UNCORE_EVENT_DESC (read.unit,"MiB" ),INTEL_UNCORE_EVENT_DESC (write,"event=0xff,umask=0x21" ), -INTEL_UNCORE_EVENT_DESC (write.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (write.scale,"6.103515625e-5" ),INTEL_UNCORE_EVENT_DESC (write.unit,"MiB" ),INTEL_UNCORE_EVENT_DESC (ddrt_read,"event=0xff,umask=0x30" ), -INTEL_UNCORE_EVENT_DESC (ddrt_read.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (ddrt_read.scale,"6.103515625e-5" ),INTEL_UNCORE_EVENT_DESC (ddrt_read.unit,"MiB" ),INTEL_UNCORE_EVENT_DESC (ddrt_write,"event=0xff,umask=0x31" ), -INTEL_UNCORE_EVENT_DESC (ddrt_write.scale,"3.814697266e-6" ), +INTEL_UNCORE_EVENT_DESC (ddrt_write.scale,"6.103515625e-5" ), INTEL_UNCORE_EVENT_DESC(ddrt_write.unit, "MiB"), { /* end: all zeroes */ }, };
arch/x86/events/perf_event.h +1 -0
@@ -198,6 +198,7 @@ struct cpu_hw_events {they've never been enabled yet */ int n_txn;/* the # last events in the below arrays; added in the current transaction */ +int n_txn_pair;int assign[X86_PMC_IDX_MAX ];/* event to counter assignment */ u64 tags[X86_PMC_IDX_MAX ];
arch/x86/include/asm/special_insns.h +15 -13
@@ -11,45 +11,47 @@#include <linux/jump_label.h> /* -* Volatile isn't enough to prevent the compiler from reordering the -* read/write functions for the control registers and messing everything up. -* A memory clobber would solve the problem, but would prevent reordering of -* all loads stores around it, which can hurt performance. Solution is to -* use a variable and mimic reads and writes to it to enforce serialization +* The compiler should not reorder volatile asm statements with respect to each +* other: they should execute in program order. However GCC 4.9.x and 5.x have +* a bug (which was fixed in 8.1, 7.3 and 6.5) where they might reorder +* volatile asm. The write functions are not affected since they have memory +* clobbers preventing reordering. To prevent reads from being reordered with +* respect to writes, use a dummy memory operand. */ -extern unsigned long __force_order; + +#define __FORCE_ORDER "m"(*(unsigned int *)0x1000UL)void native_write_cr0 (unsigned long val);static inline unsigned long native_read_cr0 (void ) {unsigned long val; - asmvolatile ("mov %%cr0,%0\n\t" :"=r" (val),"=m" (__force_order)); + asm volatile("mov %%cr0,%0\n\t" : "=r" (val) : __FORCE_ORDER);return val; }static __always_inline unsigned long native_read_cr2 (void ) {unsigned long val; - asmvolatile ("mov %%cr2,%0\n\t" :"=r" (val),"=m" (__force_order)); + asm volatile("mov %%cr2,%0\n\t" : "=r" (val) : __FORCE_ORDER);return val; } static __always_inline void native_write_cr2(unsigned long val) { - asmvolatile ("mov %0,%%cr2" : :"r" (val),"m" (__force_order)); + asmvolatile ("mov %0,%%cr2" : :"r" (val) :"memory" ); }static inline unsigned long __native_read_cr3 (void ) {unsigned long val; - asmvolatile ("mov %%cr3,%0\n\t" :"=r" (val),"=m" (__force_order)); + asm volatile("mov %%cr3,%0\n\t" : "=r" (val) : __FORCE_ORDER);return val; }static inline void native_write_cr3 (unsigned long val) { - asmvolatile ("mov %0,%%cr3" : :"r" (val),"m" (__force_order)); + asmvolatile ("mov %0,%%cr3" : :"r" (val) :"memory" ); }static inline unsigned long native_read_cr4 (void )
@@ -64,10 +66,10 @@ static inline unsigned long native_read_cr4(void) asm volatile("1: mov %%cr4, %0\n" "2:\n" _ASM_EXTABLE(1b, 2b) - : "=r" (val), "=m" (__force_order) : "0" (0)); + : "=r" (val) : "0" (0), __FORCE_ORDER); #else/* CR4 always exists on x86_64. */ - asmvolatile ("mov %%cr4,%0\n\t" :"=r" (val),"=m" (__force_order)); + asm volatile("mov %%cr4,%0\n\t" : "=r" (val) : __FORCE_ORDER);#endif return val; }
arch/x86/kernel/cpu/common.c +2 -2
@@ -358,7 +358,7 @@ void native_write_cr0(unsigned long val)unsigned long bits_missing =0 ; set_register: - asmvolatile ("mov %0,%%cr0" :"+r" (val),"+m" (__force_order)); + asmvolatile ("mov %0,%%cr0" :"+r" (val) : :"memory" );if (static_branch_likely (&cr_pinning)) {if (unlikely ((val &X86_CR0_WP ) !=X86_CR0_WP )) {
@@ -377,7 +377,7 @@ void native_write_cr4(unsigned long val)unsigned long bits_changed =0 ; set_register: - asmvolatile ("mov %0,%%cr4" :"+r" (val),"+m" (cr4_pinned_bits)); + asmvolatile ("mov %0,%%cr4" :"+r" (val) : :"memory" );if (static_branch_likely (&cr_pinning)) {if (unlikely ((val & cr4_pinned_mask) != cr4_pinned_bits)) {
arch/x86/kernel/cpu/mce/core.c +81 -18
123 lines not on this page · raw message
arch/x86/kernel/cpu/mce/internal.h +10 -0
@@ -185,4 +185,14 @@ extern bool amd_filter_mce(struct mce *m);static inline bool amd_filter_mce (struct mce *m) {return false; };#endif +__visible bool ex_handler_rdmsr_fault(const struct exception_table_entry *fixup, +struct pt_regs *regs,int trapnr, +unsigned long error_code, +unsigned long fault_addr); + +__visible bool ex_handler_wrmsr_fault(const struct exception_table_entry *fixup, +struct pt_regs *regs,int trapnr, +unsigned long error_code, +unsigned long fault_addr); +#endif /* __X86_MCE_INTERNAL_H__ */
arch/x86/kernel/cpu/mce/severity.c +26 -2
@@ -9,9 +9,11 @@#include <linux/seq_file.h> #include <linux/init.h> #include <linux/debugfs.h> -#include <asm/mce.h> #include <linux/uaccess.h> +#include <asm/mce.h> +#include <asm/intel-family.h> +#include "internal.h" /*
@@ -40,9 +42,14 @@ static struct severity {unsigned char context;unsigned char excp;unsigned char covered; +unsigned char cpu_model; +unsigned char cpu_minstepping; +unsigned char bank_lo, bank_hi;char *msg; } severities[] = { #define MCESEV(s, m, c...) { .sev = MCE_ ## s ## _SEVERITY, .msg = m, ## c } +#define BANK_RANGE (l, h) .bank_lo = l, .bank_hi = h +#define MODEL_STEPPING (m, s) .cpu_model = m, .cpu_minstepping = s#define KERNEL .context = IN_KERNEL#define USER .context = IN_USER#define KERNEL_RECOV .context = IN_KERNEL_RECOV
@@ -97,7 +104,6 @@ static struct severity {KEEP ,"Corrected error" ,NOSER ,BITCLR (MCI_STATUS_UC ) ), -/* * known AO MCACODs reported via MCE or CMC: *
@@ -113,6 +119,18 @@ static struct severity { AO, "Action optional: last level cache writeback error", SER, MASK(MCI_UC_AR|MCACOD, MCI_STATUS_UC|MCACOD_L3WB) ), +/* +* Quirk for Skylake/Cascade Lake. Patrol scrubber may be configured +* to report uncorrected errors using CMCI with a special signature. +* UC=0, MSCOD=0x0010, MCACOD=binary(000X 0000 1100 XXXX) reported +* in one of the memory controller banks. +* Set severity to "AO" for same action as normal patrol scrub error. +*/ +MCESEV ( +AO ,"Uncorrected Patrol Scrub Error" , +SER ,MASK (MCI_STATUS_UC |MCI_ADDR |0xffffeff0 ,MCI_ADDR |0x001000c0 ), +MODEL_STEPPING (INTEL_FAM6_SKYLAKE_X ,4 ),BANK_RANGE (13 ,18 ) + ),/* ignore OVER for UCNA */ MCESEV(
@@ -324,6 +342,12 @@ static int mce_severity_intel(struct mce *m, int tolerant, char **msg, bool is_econtinue ;if (s->excp && excp != s->excp)continue ; +if (s->cpu_model && boot_cpu_data.x86_model != s->cpu_model) +continue ; +if (s->cpu_minstepping && boot_cpu_data.x86_stepping < s->cpu_minstepping) +continue ; +if (s->bank_lo && (m->bank < s->bank_lo || m->bank > s->bank_hi)) +continue ;if (msg) *msg = s->msg; s->covered =1 ;
arch/x86/kernel/dumpstack.c +2 -1
@@ -115,7 +115,8 @@ void show_opcodes(struct pt_regs *regs, const char *loglvl)unsigned long prologue = regs->ip -PROLOGUE_SIZE ;if (copy_code (regs, opcodes, prologue,sizeof (opcodes))) { -printk ("%sCode: Bad RIP value.\n" , loglvl); +printk ("%sCode: Unable to access opcode bytes at RIP 0x%lx.\n" , + loglvl, prologue); }else { printk("%sCode: %" __stringify(PROLOGUE_SIZE) "ph <%02x> %" __stringify(EPILOGUE_SIZE) "ph\n", loglvl, opcodes,
arch/x86/kernel/fpu/init.c +22 -8
@@ -243,9 +243,9 @@ static void __init fpu__init_system_ctx_switch(void)*/ static void __init fpu__init_parse_early_param (void ) { -char arg[32 ]; +char arg[128 ];char *argptr = arg; -int bit; +int arglen, res, bit;#ifdef CONFIG_X86_32 if (cmdline_find_option_bool (boot_command_line,"no387" ))
@@ -268,12 +268,26 @@ static void __init fpu__init_parse_early_param(void)if (cmdline_find_option_bool (boot_command_line,"noxsaves" ))setup_clear_cpu_cap (X86_FEATURE_XSAVES ); -if (cmdline_find_option (boot_command_line,"clearcpuid" , arg, -sizeof (arg)) && -get_option (&argptr, &bit) && - bit >=0 && - bit <NCAPINTS *32 ) -setup_clear_cpu_cap (bit); + arglen =cmdline_find_option (boot_command_line,"clearcpuid" , arg,sizeof (arg)); +if (arglen <=0 ) +return ; + +pr_info ("Clearing CPUID bits:" ); +do { + res =get_option (&argptr, &bit); +if (res ==0 || res ==3 ) +break ; + +/* If the argument was too long, the last bit may be cut off */ +if (res ==1 && arglen >=sizeof (arg)) +break ; + +if (bit >=0 && bit <NCAPINTS *32 ) { +pr_cont (" " X86_CAP_FMT ,x86_cap_flag (bit)); +setup_clear_cpu_cap (bit); + } + }while (res ==2 ); +pr_cont ("\n" ); }/*
arch/x86/kernel/nmi.c +2 -3
@@ -102,7 +102,6 @@ fs_initcall(nmi_warning_debugfs);static void nmi_check_duration (struct nmiaction *action,u64 duration) { -u64 whole_msecs =READ_ONCE (action->max_duration);int remainder_ns, decimal_msecs;if (duration < nmi_longest_ns || duration < action->max_duration)
@@ -110,12 +109,12 @@ static void nmi_check_duration(struct nmiaction *action, u64 duration) action->max_duration = duration; - remainder_ns =do_div (whole_msecs, (1000 *1000 )); + remainder_ns =do_div (duration, (1000 *1000 )); decimal_msecs = remainder_ns /1000 ;printk_ratelimited (KERN_INFO "INFO: NMI handler (%ps) took too long to run: %lld.%03d msecs\n" , - action->handler, whole_msecs, decimal_msecs); + action->handler, duration, decimal_msecs); }static int nmi_handle (unsigned int type,struct pt_regs *regs)
arch/x86/kvm/emulate.c +1 -1
@@ -3594,7 +3594,7 @@ static int em_rdpid(struct x86_emulate_ctxt *ctxt)u64 tsc_aux =0 ;if (ctxt->ops->get_msr (ctxt,MSR_TSC_AUX , &tsc_aux)) -return emulate_gp (ctxt,0 ); +return emulate_ud (ctxt); ctxt->dst.val = tsc_aux;return X86EMUL_CONTINUE ; }
arch/x86/kvm/ioapic.c +1 -4
@@ -197,12 +197,9 @@ static void ioapic_lazy_update_eoi(struct kvm_ioapic *ioapic, int irq)/* * If no longer has pending EOI in LAPICs, update -* EOI for this vetor. +* EOI for this vector. */ rtc_irq_eoi (ioapic, vcpu, entry->fields.vector); -kvm_ioapic_update_eoi_one (vcpu, ioapic, - entry->fields.trig_mode, - irq);break ; } }
arch/x86/kvm/kvm_cache_regs.h +1 -1
@@ -7,7 +7,7 @@#define KVM_POSSIBLE_CR0_GUEST_BITS X86_CR0_TS#define KVM_POSSIBLE_CR4_GUEST_BITS \ (X86_CR4_PVI | X86_CR4_DE | X86_CR4_PCE | X86_CR4_OSFXSR \ - | X86_CR4_OSXMMEXCPT | X86_CR4_LA57 | X86_CR4_PGE | X86_CR4_TSD) + | X86_CR4_OSXMMEXCPT | X86_CR4_PGE | X86_CR4_TSD)#define BUILD_KVM_GPR_ACCESSORS (lname, uname) \ static __always_inline unsigned long kvm_##lname##_read(struct kvm_vcpu *vcpu)\
arch/x86/kvm/lapic.c +7 -0
@@ -490,6 +490,12 @@ static inline void apic_clear_irr(int vec, struct kvm_lapic *apic) } } +void kvm_apic_clear_irr (struct kvm_vcpu *vcpu,int vec) +{ +apic_clear_irr (vec, vcpu->arch.apic); +} +EXPORT_SYMBOL_GPL (kvm_apic_clear_irr); +static inline void apic_set_isr (int vec,struct kvm_lapic *apic) {struct kvm_vcpu *vcpu;
@@ -2462,6 +2468,7 @@ int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu)__apic_update_ppr (apic, &ppr);return apic_has_interrupt_for_ppr (apic, ppr); } +EXPORT_SYMBOL_GPL (kvm_apic_has_interrupt);int kvm_apic_accept_pic_intr (struct kvm_vcpu *vcpu) {
arch/x86/kvm/lapic.h +1 -0
@@ -89,6 +89,7 @@ int kvm_lapic_reg_read(struct kvm_lapic *apic, u32 offset, int len,bool kvm_apic_match_dest (struct kvm_vcpu *vcpu,struct kvm_lapic *source,int shorthand,unsigned int dest,int dest_mode);int kvm_apic_compare_prio (struct kvm_vcpu *vcpu1,struct kvm_vcpu *vcpu2); +void kvm_apic_clear_irr (struct kvm_vcpu *vcpu,int vec);bool __kvm_apic_update_irr (u32 *pir,void *regs,int *max_irr);bool kvm_apic_update_irr (struct kvm_vcpu *vcpu,u32 *pir,int *max_irr);void kvm_apic_update_ppr (struct kvm_vcpu *vcpu);
arch/x86/kvm/mmu/mmu.c +1 -0
@@ -6341,6 +6341,7 @@ static void kvm_recover_nx_lpages(struct kvm *kvm)cond_resched_lock (&kvm->mmu_lock); } } +kvm_mmu_commit_zap_page (kvm, &invalid_list);spin_unlock (&kvm->mmu_lock);srcu_read_unlock (&kvm->srcu, rcu_idx);
arch/x86/kvm/svm/avic.c +1 -0
@@ -868,6 +868,7 @@ int svm_update_pi_irte(struct kvm *kvm, unsigned int host_irq,* - Tell IOMMU to use legacy mode for this interrupt. * - Retrieve ga_tag of prior interrupt remapping data. */ + pi.prev_ga_tag =0 ; pi.is_guest_mode = false; ret =irq_set_vcpu_affinity (host_irq, &pi);
arch/x86/kvm/vmx/nested.c +13 -1
@@ -2402,6 +2402,8 @@ static void prepare_vmcs02_rare(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)vmcs_writel (GUEST_TR_BASE , vmcs12->guest_tr_base);vmcs_writel (GUEST_GDTR_BASE , vmcs12->guest_gdtr_base);vmcs_writel (GUEST_IDTR_BASE , vmcs12->guest_idtr_base); + + vmx->segment_cache.bitmask =0 ; } if (!hv_evmcs || !(hv_evmcs->hv_clean_fields &
@@ -3295,8 +3297,10 @@ enum nvmx_vmentry_status nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu,prepare_vmcs02_early (vmx, vmcs12);if (from_vmentry) { -if (unlikely (!nested_get_vmcs12_pages (vcpu))) +if (unlikely (!nested_get_vmcs12_pages (vcpu))) { +vmx_switch_vmcs (vcpu, &vmx->vmcs01);return NVMX_VMENTRY_KVM_INTERNAL_ERROR ; + }if (nested_vmx_check_vmentry_hw (vcpu)) {vmx_switch_vmcs (vcpu, &vmx->vmcs01);
@@ -3480,6 +3484,14 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch)if (unlikely (status !=NVMX_VMENTRY_SUCCESS )) goto vmentry_failed; +/* Emulate processing of posted interrupts on VM-Enter. */ +if (nested_cpu_has_posted_intr (vmcs12) && +kvm_apic_has_interrupt (vcpu) == vmx->nested.posted_intr_nv) { + vmx->nested.pi_pending = true; +kvm_make_request (KVM_REQ_EVENT , vcpu); +kvm_apic_clear_irr (vcpu, vmx->nested.posted_intr_nv); + } +/* Hide L1D cache contents from the nested guest. */ vmx->vcpu.arch.l1tf_flush_l1d = true;
block/blk-core.c +4 -5
@@ -798,11 +798,10 @@ static void handle_bad_sector(struct bio *bio, sector_t maxsector) {char b[BDEVNAME_SIZE ]; -printk (KERN_INFO "attempt to access beyond end of device\n" ); -printk (KERN_INFO "%s: rw=%d, want=%Lu, limit=%Lu\n" , -bio_devname (bio, b), bio->bi_opf, - (unsigned long long )bio_end_sector (bio), - (long long )maxsector); +pr_info_ratelimited ("attempt to access beyond end of device\n" +"%s: rw=%d, want=%llu, limit=%llu\n" , +bio_devname (bio, b), bio->bi_opf, +bio_end_sector (bio), maxsector); }#ifdef CONFIG_FAIL_MAKE_REQUEST
block/blk-mq-sysfs.c +0 -2
@@ -36,8 +36,6 @@ static void blk_mq_hw_sysfs_release(struct kobject *kobj) struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx, kobj); -cancel_delayed_work_sync (&hctx->run_work); -if (hctx->flags &BLK_MQ_F_BLOCKING )cleanup_srcu_struct (hctx->srcu);blk_free_flush_queue (hctx->fq);
block/blk-sysfs.c +8 -1
@@ -896,9 +896,16 @@ static void __blk_release_queue(struct work_struct *work)blk_free_queue_stats (q->stats); -if (queue_is_mq (q)) +if (queue_is_mq (q)) { +struct blk_mq_hw_ctx *hctx; +int i; +cancel_delayed_work_sync (&q->requeue_work); +queue_for_each_hw_ctx (q, hctx, i) +cancel_delayed_work_sync (&hctx->run_work); + } +blk_exit_queue (q);blk_queue_free_zone_bitmaps (q);
crypto/algif_aead.c +4 -3
@@ -78,7 +78,7 @@ static int crypto_aead_copy_sgl(struct crypto_sync_skcipher *null_tfm,SYNC_SKCIPHER_REQUEST_ON_STACK (skreq, null_tfm);skcipher_request_set_sync_tfm (skreq, null_tfm); -skcipher_request_set_callback (skreq,CRYPTO_TFM_REQ_MAY_BACKLOG , +skcipher_request_set_callback (skreq,CRYPTO_TFM_REQ_MAY_SLEEP ,NULL ,NULL );skcipher_request_set_crypt (skreq, src, dst, len,NULL );
@@ -291,19 +291,20 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg, areq->outlen = outlen;aead_request_set_callback (&areq->cra_u.aead_req, -CRYPTO_TFM_REQ_MAY_BACKLOG , +CRYPTO_TFM_REQ_MAY_SLEEP , af_alg_async_cb, areq); err = ctx->enc ?crypto_aead_encrypt (&areq->cra_u.aead_req) :crypto_aead_decrypt (&areq->cra_u.aead_req);/* AIO operation in progress */ -if (err == -EINPROGRESS || err == -EBUSY ) +if (err == -EINPROGRESS )return -EIOCBQUEUED ;sock_put (sk); }else {/* Synchronous operation */ aead_request_set_callback (&areq->cra_u.aead_req, +CRYPTO_TFM_REQ_MAY_SLEEP |CRYPTO_TFM_REQ_MAY_BACKLOG , crypto_req_done, &ctx->wait); err = crypto_wait_req(ctx->enc ?
crypto/algif_skcipher.c +1 -1
@@ -123,7 +123,7 @@ static int _skcipher_recvmsg(struct socket *sock, struct msghdr *msg,crypto_skcipher_decrypt (&areq->cra_u.skcipher_req);/* AIO operation in progress */ -if (err == -EINPROGRESS || err == -EBUSY ) +if (err == -EINPROGRESS )return -EIOCBQUEUED ;sock_put (sk);
drivers/android/binder.c +10 -27
@@ -223,7 +223,7 @@ static struct binder_transaction_log_entry *binder_transaction_log_add(struct binder_work {struct list_head entry; -enum { +enum binder_work_type {BINDER_WORK_TRANSACTION =1 ,BINDER_WORK_TRANSACTION_COMPLETE ,BINDER_WORK_RETURN_ERROR ,
@@ -885,27 +885,6 @@ static struct binder_work *binder_dequeue_work_head_ilocked(return w; } -/** -* binder_dequeue_work_head() - Dequeues the item at head of list -* @proc: binder_proc associated with list -* @list: list to dequeue head -* -* Removes the head of the list if there are items on the list -* -* Return: pointer dequeued binder_work, NULL if list was empty -*/ -static struct binder_work *binder_dequeue_work_head ( -struct binder_proc *proc, -struct list_head *list) -{ -struct binder_work *w; - -binder_inner_proc_lock (proc); - w =binder_dequeue_work_head_ilocked (list); -binder_inner_proc_unlock (proc); -return w; -} -static void binder_defer_work (struct binder_proc *proc,enum binder_deferred_state defer);static void binder_free_thread (struct binder_thread *thread);
@@ -2345,8 +2324,6 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,* file is done when the transaction is torn * down. */ -WARN_ON (failed_at && - proc->tsk == current->group_leader); }break ;case BINDER_TYPE_PTR :/*
@@ -4589,13 +4566,17 @@ static void binder_release_work(struct binder_proc *proc, struct list_head *list) {struct binder_work *w; +enum binder_work_type wtype;while (1 ) { - w =binder_dequeue_work_head (proc, list); +binder_inner_proc_lock (proc); + w =binder_dequeue_work_head_ilocked (list); + wtype = w ? w->type :0 ; +binder_inner_proc_unlock (proc);if (!w)return ; -switch (w->type) { +switch (wtype) {case BINDER_WORK_TRANSACTION : {struct binder_transaction *t;
@@ -4629,9 +4610,11 @@ static void binder_release_work(struct binder_proc *proc,kfree (death);binder_stats_deleted (BINDER_STAT_DEATH ); }break ; +case BINDER_WORK_NODE : +break ;default :pr_err ("unexpected work type, %d, not freed\n" , - w->type); + wtype);break ; } }
drivers/bluetooth/btusb.c +1 -0
@@ -2849,6 +2849,7 @@ static int btusb_mtk_submit_wmt_recv_urb(struct hci_dev *hdev) buf =kmalloc (size,GFP_KERNEL );if (!buf) {kfree (dr); +usb_free_urb (urb);return -ENOMEM ; }
drivers/bluetooth/hci_ldisc.c +1 -0
@@ -538,6 +538,7 @@ static void hci_uart_tty_close(struct tty_struct *tty)clear_bit (HCI_UART_PROTO_READY , &hu->flags);percpu_up_write (&hu->proto_lock); +cancel_work_sync (&hu->init_ready);cancel_work_sync (&hu->write_work);if (hdev) {
drivers/bluetooth/hci_serdev.c +2 -0
@@ -355,6 +355,8 @@ void hci_uart_unregister_device(struct hci_uart *hu)struct hci_dev *hdev = hu->hdev;clear_bit (HCI_UART_PROTO_READY , &hu->flags); + +cancel_work_sync (&hu->init_ready);if (test_bit (HCI_UART_REGISTERED , &hu->flags))hci_unregister_dev (hdev);hci_free_dev (hdev);
drivers/bus/mhi/core/Makefile +1 -1
@@ -1,3 +1,3 @@ -obj-$(CONFIG_MHI_BUS) := mhi.o +obj-$(CONFIG_MHI_BUS) += mhi.o mhi-y := init.o main.o pm.o boot.o
drivers/char/ipmi/ipmi_si_intf.c +1 -1
@@ -1963,7 +1963,7 @@ static int try_smi_init(struct smi_info *new_smi)/* Do this early so it's available for logs. */ if (!new_smi->io.dev) {pr_err ("IPMI interface added with no device\n" ); - rv =EIO ; + rv = -EIO ; goto out_err; }
drivers/clk/at91/clk-main.c +8 -3
@@ -437,12 +437,17 @@ static int clk_sam9x5_main_set_parent(struct clk_hw *hw, u8 index)return -EINVAL ;regmap_read (regmap,AT91_CKGR_MOR , &tmp); - tmp &= ~MOR_KEY_MASK ;if (index && !(tmp &AT91_PMC_MOSCSEL )) -regmap_write (regmap,AT91_CKGR_MOR , tmp |AT91_PMC_MOSCSEL ); + tmp =AT91_PMC_MOSCSEL ;else if (!index && (tmp &AT91_PMC_MOSCSEL )) -regmap_write (regmap,AT91_CKGR_MOR , tmp & ~AT91_PMC_MOSCSEL ); + tmp =0 ; +else +return 0 ; + +regmap_update_bits (regmap,AT91_CKGR_MOR , +AT91_PMC_MOSCSEL |MOR_KEY_MASK , + tmp |AT91_PMC_KEY );while (!clk_sam9x5_main_ready (regmap))cpu_relax ();
drivers/clk/bcm/clk-bcm2835.c +3 -1
@@ -1337,8 +1337,10 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, pll->hw.init = &init; ret =devm_clk_hw_register (cprman->dev, &pll->hw); -if (ret) +if (ret) { +kfree (pll);return NULL ; + }return &pll->hw; }
drivers/clk/imx/clk-imx8mq.c +2 -2
@@ -157,10 +157,10 @@ static const char * const imx8mq_qspi_sels[] = {"osc_25m", "sys1_pll_400m", "sys "audio_pll2_out", "sys1_pll_266m", "sys3_pll_out", "sys1_pll_100m", };static const char *const imx8mq_usdhc1_sels[] = {"osc_25m" ,"sys1_pll_400m" ,"sys1_pll_800m" ,"sys2_pll_500m" , -"audio_pll2_out" ,"sys1_pll_266m" ,"sys3_pll_out" ,"sys1_pll_100m" , }; +"sys3_pll_out" ,"sys1_pll_266m" ,"audio_pll2_out" ,"sys1_pll_100m" , };static const char *const imx8mq_usdhc2_sels[] = {"osc_25m" ,"sys1_pll_400m" ,"sys1_pll_800m" ,"sys2_pll_500m" , -"audio_pll2_out" ,"sys1_pll_266m" ,"sys3_pll_out" ,"sys1_pll_100m" , }; +"sys3_pll_out" ,"sys1_pll_266m" ,"audio_pll2_out" ,"sys1_pll_100m" , };static const char *const imx8mq_i2c1_sels[] = {"osc_25m" ,"sys1_pll_160m" ,"sys2_pll_50m" ,"sys3_pll_out" ,"audio_pll1_out" ,"video_pll1_out" ,"audio_pll2_out" ,"sys1_pll_133m" , };
drivers/clk/keystone/sci-clk.c +1 -1
@@ -522,7 +522,7 @@ static int ti_sci_scan_clocks_from_dt(struct sci_clk_provider *provider) np =of_find_node_with_property (np, *clk_name);if (!np) { clk_name++; -break ; +continue ; }if (!of_device_is_available (np))
drivers/clk/mediatek/clk-mt6779.c +2 -0
@@ -919,6 +919,8 @@ static const struct mtk_gate infra_clks[] = { "pwm_sel", 19),GATE_INFRA0 (CLK_INFRA_PWM ,"infra_pwm" ,"pwm_sel" ,21 ), +GATE_INFRA0 (CLK_INFRA_UART0 ,"infra_uart0" , +"uart_sel" ,22 ),GATE_INFRA0 (CLK_INFRA_UART1 ,"infra_uart1" ,"uart_sel" ,23 ), GATE_INFRA0(CLK_INFRA_UART2, "infra_uart2",
drivers/clk/meson/axg-audio.c +127 -8
148 lines not on this page · raw message
drivers/clk/meson/g12a.c +11 -0
@@ -298,6 +298,17 @@ static struct clk_regmap g12a_fclk_div2 = { &g12a_fclk_div2_div.hw }, .num_parents = 1, +/* +* Similar to fclk_div3, it seems that this clock is used by +* the resident firmware and is required by the platform to +* operate correctly. +* Until the following condition are met, we need this clock to +* be marked as critical: +* a) Mark the clock used by a firmware resource, if possible +* b) CCF has a clock hand-off mechanism to make the sure the +* clock stays on until the proper driver comes along +*/ + .flags = CLK_IS_CRITICAL, }, };
drivers/clk/qcom/gcc-sdm660.c +1 -1
@@ -666,7 +666,7 @@ static struct clk_rcg2 hmss_rbcpr_clk_src = { .cmd_rcgr = 0x48044, .mnd_width = 0, .hid_width = 5, - .parent_map = gcc_parent_map_xo_gpll0_gpll0_early_div, + .parent_map = gcc_parent_map_xo_gpll0, .freq_tbl = ftbl_hmss_rbcpr_clk_src, .clkr.hw.init = &(struct clk_init_data ){ .name ="hmss_rbcpr_clk_src" ,
drivers/clk/rockchip/clk-half-divider.c +1 -1
@@ -166,7 +166,7 @@ struct clk *rockchip_clk_register_halfdiv(const char *name,unsigned long flags, spinlock_t *lock) { - struct clk *clk; + struct clk *clk = ERR_PTR(-ENOMEM);struct clk_mux *mux =NULL ;struct clk_gate *gate =NULL ;struct clk_divider *div =NULL ;
drivers/clocksource/hyperv_timer.c +2 -2
@@ -341,7 +341,7 @@ static u64 notrace read_hv_clock_tsc_cs(struct clocksource *arg)return read_hv_clock_tsc (); } -static u64 read_hv_sched_clock_tsc (void ) +static u64 notrace read_hv_sched_clock_tsc(void) {return (read_hv_clock_tsc () - hv_sched_clock_offset) * (NSEC_PER_SEC /HV_CLOCK_HZ );
@@ -404,7 +404,7 @@ static u64 notrace read_hv_clock_msr_cs(struct clocksource *arg)return read_hv_clock_msr (); } -static u64 read_hv_sched_clock_msr (void ) +static u64 notrace read_hv_sched_clock_msr(void) {return (read_hv_clock_msr () - hv_sched_clock_offset) * (NSEC_PER_SEC /HV_CLOCK_HZ );
drivers/cpufreq/armada-37xx-cpufreq.c +6 -0
@@ -484,6 +484,12 @@ static int __init armada37xx_cpufreq_driver_init(void)/* late_initcall, to guarantee the driver is loaded after A37xx clock driver */ late_initcall (armada37xx_cpufreq_driver_init); +static const struct of_device_id __maybe_unused armada37xx_cpufreq_of_match[] = { + { .compatible ="marvell,armada-3700-nb-pm" }, + { }, +}; +MODULE_DEVICE_TABLE (of, armada37xx_cpufreq_of_match); +MODULE_AUTHOR ("Gregory CLEMENT <[email protected]>" );MODULE_DESCRIPTION ("Armada 37xx cpufreq driver" );MODULE_LICENSE ("GPL" );
drivers/cpufreq/powernv-cpufreq.c +6 -3
@@ -884,12 +884,15 @@ static int powernv_cpufreq_reboot_notifier(struct notifier_block *nb, unsigned long action, void *unused) { int cpu; -struct cpufreq_policy cpu_policy; +struct cpufreq_policy *cpu_policy; rebooting = true;for_each_online_cpu (cpu) { -cpufreq_get_policy (&cpu_policy, cpu); -powernv_cpufreq_target_index (&cpu_policy,get_nominal_index ()); + cpu_policy =cpufreq_cpu_get (cpu); +if (!cpu_policy) +continue ; +powernv_cpufreq_target_index (cpu_policy,get_nominal_index ()); +cpufreq_cpu_put (cpu_policy); }return NOTIFY_DONE ;
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c +4 -1
@@ -120,7 +120,10 @@ int sun8i_ce_run_task(struct sun8i_ce_dev *ce, int flow, const char *name)/* Be sure all data is written before enabling the task */ wmb (); - v =1 | (ce->chanlist[flow].tl->t_common_ctl &0x7F ) <<8 ; +/* Only H6 needs to write a part of t_common_ctl along with "1", but since it is ignored +* on older SoCs, we have no reason to complicate things. +*/ + v =1 | ((le32_to_cpu (ce->chanlist[flow].tl->t_common_ctl) &0x7F ) <<8 );writel (v, ce->base +CE_TLR );mutex_unlock (&ce->mlock);
drivers/crypto/caam/Kconfig +1 -0
@@ -114,6 +114,7 @@ config CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI select CRYPTO_AUTHENC select CRYPTO_SKCIPHER select CRYPTO_DES + select CRYPTO_XTS help Selecting this will use CAAM Queue Interface (QI) for sending & receiving crypto jobs to/from CAAM. This gives better performance
drivers/crypto/caam/caamalg_qi.c +75 -6
55 lines not on this page · raw message
drivers/crypto/chelsio/chtls/chtls_cm.c +13 -6
Lines of this file are not shown. View the raw message.
drivers/crypto/chelsio/chtls/chtls_io.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/hisilicon/sec2/sec_crypto.c +12 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dce/dce_panel_cntl.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_gem_vram_helper.c +16 -12
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_drm_crtc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/adreno_gpu.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_device.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_drv.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_gpu.c +19 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_gpu.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_regs.h +4 -0
Lines of this file are not shown. View the raw message.
drivers/hwmon/bt1-pvt.c +98 -40
138 lines not on this page · raw message
drivers/hwtracing/coresight/coresight-cti.c +14 -27
41 lines not on this page · raw message
drivers/hwtracing/coresight/coresight-etm-perf.c +12 -2
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x.c +57 -48
105 lines not on this page · raw message
drivers/hwtracing/coresight/coresight-etm4x.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-platform.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/core/cma.c +122 -178
300 lines not on this page · raw message
drivers/infiniband/hw/bnxt_re/ib_verbs.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/ib_verbs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_cq.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_device.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v1.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +29 -12
41 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_hw_v2.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_qp.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/i40iw/i40iw_utils.c +10 -49
59 lines not on this page · raw message
drivers/infiniband/hw/i40iw/i40iw_verbs.c +24 -10
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/i40iw/i40iw_verbs.h +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/mlx5/mr.c +26 -38
64 lines not on this page · raw message
drivers/infiniband/hw/mthca/mthca_provider.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/qedr/qedr_iw_cm.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/qedr/verbs.c +34 -29
63 lines not on this page · raw message
drivers/infiniband/hw/usnic/usnic_ib_verbs.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/usnic/usnic_ib_verbs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/ipoib/ipoib_main.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/ipoib/ipoib_netlink.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/ipoib/ipoib_vlan.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-srv.c +73 -3
76 lines not on this page · raw message
drivers/input/keyboard/twl4030_keypad.c +3 -5
Lines of this file are not shown. View the raw message.
drivers/input/touchscreen/imx6ul_tsc.c +16 -11
Lines of this file are not shown. View the raw message.
drivers/media/i2c/ov5640.c +110 -86
196 lines not on this page · raw message
drivers/media/pci/saa7134/saa7134-tvaudio.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-isp.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-lite.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/media-dev.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/mipi-csis.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/camss/camss-csiphy.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/core.c +14 -6
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/vdec.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/rcar-vin/rcar-csi2.c +10 -14
Lines of this file are not shown. View the raw message.
drivers/media/platform/rcar-vin/rcar-dma.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rga/rga-buf.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/s3c-camif/camif-core.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/media/platform/s5p-mfc/s5p_mfc_pm.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/bdisp/bdisp-v4l2.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/delta/delta-v4l2.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/hva/hva-hw.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/stm32/stm32-dcmi.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vivid/vivid-meta-out.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/misc/vmw_vmci/vmci_queue_pair.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/net/dsa/rtl8366.c +151 -129
280 lines not on this page · raw message
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c +162 -13
175 lines not on this page · raw message
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h +15 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cisco/enic/enic_api.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cisco/enic/enic_main.c +21 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/faraday/ftgmac100.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/faraday/ftgmac100.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fec_main.c +28 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/en_rx.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/en_tx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/health.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/realtek/r8169_main.c +8 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/socionext/netsec.c +17 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +5 -36
41 lines not on this page · raw message
drivers/net/wireless/ath/ath10k/htt_rx.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/hif_usb.c +19 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/wcn36xx/main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/scan.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/sdio.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/usb.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +10 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/quantenna/qtnfmac/commands.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +9 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/main.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/pci.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/pci.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/phy.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/pci/controller/dwc/pcie-designware-ep.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pci-hyperv.c +47 -3
50 lines not on this page · raw message
drivers/pci/controller/pcie-iproc-msi.c +9 -4
Lines of this file are not shown. View the raw message.
drivers/pinctrl/aspeed/pinctrl-aspeed.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_lightbar.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/rapidio/devices/rio_mport_cdev.c +11 -7
Lines of this file are not shown. View the raw message.
drivers/s390/net/qeth_l2_main.c +45 -14
59 lines not on this page · raw message
drivers/scsi/smartpqi/smartpqi_init.c +67 -34
101 lines not on this page · raw message
drivers/spi/spi-fsi.c +81 -18
99 lines not on this page · raw message
drivers/spi/spi-s3c64xx.c +42 -10
52 lines not on this page · raw message
drivers/staging/media/atomisp/pci/sh_css.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_h264.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_postproc.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/ipu3/ipu3-css-params.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/class/cdc-wdm.c +55 -17
72 lines not on this page · raw message
drivers/usb/core/urb.c +54 -35
89 lines not on this page · raw message
drivers/usb/dwc3/core.c +43 -17
60 lines not on this page · raw message
drivers/usb/gadget/function/f_printer.c +14 -2
Lines of this file are not shown. View the raw message.
drivers/video/backlight/sky81452-backlight.c +1 -0
Lines of this file are not shown. View the raw message.
fs/afs/cell.c +166 -117
283 lines not on this page · raw message
fs/xfs/xfs_fsmap.c +28 -20
48 lines not on this page · raw message
fs/xfs/xfs_ioctl.c +98 -46
144 lines not on this page · raw message
include/linux/mailbox/mtk-cmdq-mailbox.h +1 -2
Lines of this file are not shown. View the raw message.
include/rdma/ib_verbs.h +10 -58
68 lines not on this page · raw message
kernel/bpf/percpu_freelist.c +96 -5
101 lines not on this page · raw message
net/netfilter/nf_conntrack_proto_tcp.c +13 -6
Lines of this file are not shown. View the raw message.
sound/pci/hda/patch_realtek.c +56 -0
56 lines not on this page · raw message
sound/soc/codecs/tas2770.c +42 -51
93 lines not on this page · raw message
tools/lib/bpf/libbpf.c +35 -22
57 lines not on this page · raw message
tools/testing/selftests/bpf/benchs/bench_rename.c +0 -17
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/sk_assign.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/sockopt_sk.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/prog_tests/test_overhead.c +1 -13
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_overhead.c +0 -6
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_sysctl_loop1.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_sysctl_loop2.c +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_vmlinux.c +9 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-inter-event-combined-hist.tc +4 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/vxlan_asymmetric.sh +10 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/vxlan_symmetric.sh +10 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_connect.sh +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_join.sh +2 -2
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/rtnetlink.sh +5 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/powerpc/eeh/eeh-basic.sh +6 -3
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.