Linux 5.19.17
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.19.17 kernel.
Note this is the LAST 5.19.y kernel to be released. This branch is now end-of-life. You should move to the 6.0.y branch at this point in time.
All users of the 5.19 kernel series must upgrade.
The updated 5.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.19.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/ABI/testing/sysfs-bus-iio | 2 Documentation/admin-guide/kernel-parameters.txt | 4 Documentation/arm64/silicon-errata.rst | 2 Documentation/filesystems/vfs.rst | 3 Makefile | 2 arch/arm/Kconfig | 1 arch/arm/boot/compressed/misc.c | 2 arch/arm/boot/compressed/vmlinux.lds.S | 2 arch/arm/boot/dts/armada-385-turris-omnia.dts | 4 arch/arm/boot/dts/exynos4412-midas.dtsi | 2 arch/arm/boot/dts/exynos4412-origen.dts | 2 arch/arm/boot/dts/imx6dl-riotboard.dts | 1 arch/arm/boot/dts/imx6dl.dtsi | 3 arch/arm/boot/dts/imx6q-arm2.dts | 1 arch/arm/boot/dts/imx6q-evi.dts | 1 arch/arm/boot/dts/imx6q-mccmon6.dts | 1 arch/arm/boot/dts/imx6q.dtsi | 3 arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi | 6 arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi | 1 arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi | 1 arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi | 1 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 1 arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 1 arch/arm/boot/dts/imx6qdl-tqma6a.dtsi | 1 arch/arm/boot/dts/imx6qdl-ts7970.dtsi | 1 arch/arm/boot/dts/imx6qp.dtsi | 6 arch/arm/boot/dts/imx6sl.dtsi | 23 arch/arm/boot/dts/imx6sll.dtsi | 3 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 14 arch/arm/boot/dts/imx6sx.dtsi | 6 arch/arm/boot/dts/imx7d-sdb.dts | 7 arch/arm/boot/dts/kirkwood-lsxl.dtsi | 16 arch/arm/include/asm/stacktrace.h | 6 arch/arm/kernel/return_address.c | 1 arch/arm/kernel/stacktrace.c | 84 ++- arch/arm/lib/call_with_stack.S | 2 arch/arm/mm/dump.c | 2 arch/arm/mm/kasan_init.c | 9 arch/arm/mm/mmu.c | 4 arch/arm64/Kconfig | 17 arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts | 3 arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi | 2 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 4 arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi | 1 arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 12 arch/arm64/boot/dts/renesas/r9a07g043.dtsi | 8 arch/arm64/boot/dts/renesas/r9a07g044.dtsi | 8 arch/arm64/boot/dts/renesas/r9a07g054.dtsi | 8 arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts | 10 arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 11 arch/arm64/include/asm/mte.h | 5 arch/arm64/kernel/cpu_errata.c | 5 arch/arm64/kernel/cpufeature.c | 3 arch/arm64/kernel/ftrace.c | 17 arch/arm64/kernel/mte.c | 51 + arch/arm64/kernel/suspend.c | 2 arch/arm64/kernel/topology.c | 40 - arch/arm64/mm/proc.S | 46 - arch/ia64/mm/numa.c | 1 arch/mips/bcm47xx/prom.c | 4 arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts | 6 arch/mips/sgi-ip27/ip27-xtalk.c | 70 +- arch/mips/sgi-ip30/ip30-xtalk.c | 70 +- arch/parisc/include/asm/pgtable.h | 7 arch/parisc/kernel/entry.S | 8 arch/powerpc/Kconfig | 2 arch/powerpc/Makefile | 2 arch/powerpc/boot/Makefile | 1 arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi | 51 + arch/powerpc/boot/dts/fsl/mpc8540ads.dts | 2 arch/powerpc/boot/dts/fsl/mpc8541cds.dts | 2 arch/powerpc/boot/dts/fsl/mpc8555cds.dts | 2 arch/powerpc/boot/dts/fsl/mpc8560ads.dts | 2 arch/powerpc/configs/pseries_defconfig | 1 arch/powerpc/include/asm/syscalls.h | 12 arch/powerpc/kernel/interrupt.c | 10 arch/powerpc/kernel/interrupt_64.S | 45 + arch/powerpc/kernel/kprobes.c | 8 arch/powerpc/kernel/pci_dn.c | 1 arch/powerpc/kernel/setup_64.c | 4 arch/powerpc/kernel/sys_ppc32.c | 14 arch/powerpc/kernel/syscalls.c | 4 arch/powerpc/math-emu/math_efp.c | 1 arch/powerpc/platforms/powernv/opal.c | 1 arch/powerpc/platforms/pseries/vas.c | 2 arch/powerpc/sysdev/fsl_msi.c | 2 arch/riscv/Kconfig | 2 arch/riscv/Makefile | 2 arch/riscv/include/asm/io.h | 16 arch/riscv/include/asm/mmu.h | 1 arch/riscv/kernel/setup.c | 4 arch/riscv/kernel/smpboot.c | 3 arch/riscv/kernel/sys_riscv.c | 3 arch/riscv/kernel/vdso.c | 13 arch/riscv/mm/fault.c | 3 arch/sh/include/asm/sections.h | 2 arch/sh/kernel/machvec.c | 10 arch/um/kernel/um_arch.c | 2 arch/x86/Kconfig | 7 arch/x86/include/asm/cpu.h | 2 arch/x86/include/asm/hyperv-tlfs.h | 4 arch/x86/include/asm/microcode.h | 1 arch/x86/include/asm/msr-index.h | 13 arch/x86/include/asm/paravirt_types.h | 11 arch/x86/kernel/apic/apic.c | 44 + arch/x86/kernel/cpu/feat_ctl.c | 2 arch/x86/kernel/cpu/mce/apei.c | 13 arch/x86/kernel/cpu/microcode/amd.c | 3 arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 12 arch/x86/kvm/emulate.c | 2 arch/x86/kvm/vmx/nested.c | 37 + arch/x86/kvm/vmx/vmx.c | 12 arch/x86/net/bpf_jit_comp.c | 16 arch/x86/xen/enlighten_pv.c | 3 block/bio.c | 2 block/blk-mq.c | 6 block/blk-throttle.c | 28 - block/blk-throttle.h | 2 block/blk-wbt.c | 10 block/blk.h | 3 block/elevator.c | 4 crypto/akcipher.c | 8 drivers/acpi/acpi_fpdt.c | 22 drivers/acpi/acpi_pcc.c | 28 - drivers/acpi/acpi_video.c | 16 drivers/acpi/apei/ghes.c | 2 drivers/acpi/x86/utils.c | 19 drivers/ata/libahci_platform.c | 14 drivers/base/arch_topology.c | 19 drivers/block/nbd.c | 6 drivers/bluetooth/btintel.c | 17 drivers/bluetooth/btusb.c | 14 drivers/bluetooth/hci_ldisc.c | 7 drivers/bluetooth/hci_serdev.c | 10 drivers/char/hw_random/arm_smccc_trng.c | 4 drivers/char/hw_random/core.c | 19 drivers/char/hw_random/imx-rngc.c | 14 drivers/char/random.c | 4 drivers/clk/baikal-t1/ccu-div.c | 65 ++ drivers/clk/baikal-t1/ccu-div.h | 10 drivers/clk/baikal-t1/clk-ccu-div.c | 26 drivers/clk/bcm/clk-bcm2835.c | 43 + drivers/clk/berlin/bg2.c | 5 drivers/clk/berlin/bg2q.c | 6 drivers/clk/clk-ast2600.c | 2 drivers/clk/clk-oxnas.c | 6 drivers/clk/clk-qoriq.c | 10 drivers/clk/clk-versaclock5.c | 2 drivers/clk/imx/clk-scu.c | 6 drivers/clk/mediatek/clk-mt8183-mfgcfg.c | 6 drivers/clk/mediatek/clk-mt8195-infra_ao.c | 13 drivers/clk/mediatek/clk-mt8195-mfg.c | 6 drivers/clk/mediatek/clk-mt8195-vdo0.c | 7 drivers/clk/mediatek/clk-mt8195-vdo1.c | 6 drivers/clk/mediatek/clk-mtk.c | 12 drivers/clk/meson/meson-aoclk.c | 5 drivers/clk/meson/meson-eeclk.c | 5 drivers/clk/meson/meson8b.c | 5 drivers/clk/qcom/Kconfig | 1 drivers/clk/qcom/apss-ipq6018.c | 2 drivers/clk/qcom/gcc-sdm660.c | 2 drivers/clk/qcom/gcc-sm6115.c | 46 + drivers/clk/samsung/clk-exynosautov9.c | 20 drivers/clk/sprd/common.c | 9 drivers/clk/st/clkgen-fsyn.c | 5 drivers/clk/st/clkgen-mux.c | 5 drivers/clk/tegra/clk-tegra114.c | 1 drivers/clk/tegra/clk-tegra20.c | 1 drivers/clk/tegra/clk-tegra210.c | 1 drivers/clk/ti/clk-dra7-atl.c | 9 drivers/clk/ti/clk.c | 5 drivers/clk/zynqmp/clkc.c | 7 drivers/clk/zynqmp/pll.c | 31 - drivers/clocksource/arm_arch_timer.c | 6 drivers/clocksource/timer-gxp.c | 7 drivers/cpufreq/amd-pstate.c | 16 drivers/cpufreq/intel_pstate.c | 1 drivers/cpufreq/qcom-cpufreq-hw.c | 10 drivers/cpuidle/cpuidle-riscv-sbi.c | 7 drivers/crypto/cavium/cpt/cptpf_main.c | 6 drivers/crypto/ccp/ccp-dmaengine.c | 6 drivers/crypto/ccp/sev-dev.c | 26 drivers/crypto/hisilicon/qm.c | 6 drivers/crypto/hisilicon/zip/zip_crypto.c | 4 drivers/crypto/inside-secure/safexcel_hash.c | 8 drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c | 18 drivers/crypto/qat/qat_common/adf_gen4_hw_data.h | 2 drivers/crypto/qat/qat_common/qat_algs.c | 18 drivers/crypto/sahara.c | 18 drivers/dma-buf/udmabuf.c | 9 drivers/dma/hisi_dma.c | 28 - drivers/dma/idxd/irq.c | 2 drivers/dma/ioat/dma.c | 6 drivers/dma/mxs-dma.c | 11 drivers/dma/qcom/qcom_adm.c | 22 drivers/dma/ti/k3-udma.c | 25 drivers/firmware/efi/libstub/fdt.c | 8 drivers/firmware/google/gsmi.c | 9 drivers/fpga/dfl.c | 2 drivers/fsi/fsi-core.c | 3 drivers/fsi/fsi-occ.c | 18 drivers/gpio/gpio-rockchip.c | 7 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 7 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 14 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 5 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 9 drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c | 10 drivers/gpu/drm/amd/amdgpu/soc21.c | 4 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 45 - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 67 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 8 drivers/gpu/drm/amd/display/dc/core/dc.c | 16 drivers/gpu/drm/amd/display/dc/dc_stream.h | 6 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 35 - drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h | 3 drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.c | 6 drivers/gpu/drm/amd/display/dc/dml/calcs/bw_fixed.c | 6 drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 8 drivers/gpu/drm/arm/display/komeda/komeda_crtc.c | 4 drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 21 drivers/gpu/drm/arm/display/komeda/komeda_kms.h | 2 drivers/gpu/drm/bridge/adv7511/adv7511.h | 5 drivers/gpu/drm/bridge/adv7511/adv7511_cec.c | 4 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 5 drivers/gpu/drm/bridge/ite-it6505.c | 5 drivers/gpu/drm/bridge/lontium-lt9611.c | 3 drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 4 drivers/gpu/drm/bridge/parade-ps8640.c | 4 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 13 drivers/gpu/drm/bridge/tc358767.c | 5 drivers/gpu/drm/display/drm_dp_helper.c | 9 drivers/gpu/drm/display/drm_dp_mst_topology.c | 6 drivers/gpu/drm/drm_bridge.c | 4 drivers/gpu/drm/drm_ioctl.c | 8 drivers/gpu/drm/drm_mipi_dsi.c | 1 drivers/gpu/drm/drm_panel_orientation_quirks.c | 18 drivers/gpu/drm/i915/display/intel_bios.c | 110 +--- drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 16 drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 58 +- drivers/gpu/drm/i915/gt/intel_gtt.c | 3 drivers/gpu/drm/i915/intel_pm.c | 16 drivers/gpu/drm/meson/meson_drv.c | 14 drivers/gpu/drm/meson/meson_drv.h | 7 drivers/gpu/drm/meson/meson_encoder_cvbs.c | 13 drivers/gpu/drm/meson/meson_encoder_cvbs.h | 1 drivers/gpu/drm/meson/meson_encoder_hdmi.c | 13 drivers/gpu/drm/meson/meson_encoder_hdmi.h | 1 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 19 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 29 - drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 9 drivers/gpu/drm/msm/dp/dp_catalog.c | 2 drivers/gpu/drm/msm/msm_drv.c | 13 drivers/gpu/drm/msm/msm_drv.h | 2 drivers/gpu/drm/msm/msm_io_utils.c | 22 drivers/gpu/drm/nouveau/nouveau_bo.c | 4 drivers/gpu/drm/nouveau/nouveau_connector.c | 3 drivers/gpu/drm/nouveau/nouveau_prime.c | 1 drivers/gpu/drm/omapdrm/dss/dss.c | 3 drivers/gpu/drm/pl111/pl111_versatile.c | 1 drivers/gpu/drm/tiny/bochs.c | 2 drivers/gpu/drm/udl/udl_modeset.c | 3 drivers/gpu/drm/vc4/vc4_vec.c | 4 drivers/gpu/drm/virtio/virtgpu_display.c | 2 drivers/gpu/drm/virtio/virtgpu_gem.c | 4 drivers/gpu/drm/virtio/virtgpu_ioctl.c | 4 drivers/gpu/drm/virtio/virtgpu_object.c | 3 drivers/gpu/drm/virtio/virtgpu_plane.c | 6 drivers/gpu/drm/virtio/virtgpu_vq.c | 2 drivers/gpu/drm/vmwgfx/vmwgfx_msg.c | 1 drivers/hid/hid-multitouch.c | 8 drivers/hid/hid-nintendo.c | 55 +- drivers/hid/hid-roccat.c | 4 drivers/hid/hid-uclogic-core.c | 1 drivers/hsi/clients/ssi_protocol.c | 1 drivers/hsi/controllers/omap_ssi_core.c | 1 drivers/hsi/controllers/omap_ssi_port.c | 8 drivers/hwmon/gsc-hwmon.c | 1 drivers/hwmon/occ/p9_sbe.c | 17 drivers/hwmon/pmbus/mp2888.c | 13 drivers/hwmon/sht4x.c | 2 drivers/i2c/busses/i2c-designware-core.h | 7 drivers/i2c/busses/i2c-designware-master.c | 13 drivers/i2c/busses/i2c-designware-pcidrv.c | 30 - drivers/i2c/busses/i2c-mlxbf.c | 44 + drivers/iio/adc/ad7923.c | 4 drivers/iio/adc/at91-sama5d2_adc.c | 28 - drivers/iio/adc/ltc2497.c | 13 drivers/iio/dac/ad5593r.c | 46 + drivers/iio/inkern.c | 8 drivers/iio/magnetometer/yamaha-yas530.c | 2 drivers/iio/pressure/dps310.c | 262 ++++++---- drivers/infiniband/core/cm.c | 14 drivers/infiniband/core/uverbs_cmd.c | 5 drivers/infiniband/core/verbs.c | 2 drivers/infiniband/hw/hns/hns_roce_mr.c | 1 drivers/infiniband/hw/irdma/defs.h | 1 drivers/infiniband/hw/irdma/hw.c | 51 + drivers/infiniband/hw/irdma/type.h | 1 drivers/infiniband/hw/irdma/user.h | 1 drivers/infiniband/hw/irdma/utils.c | 3 drivers/infiniband/hw/irdma/verbs.c | 69 ++ drivers/infiniband/hw/mlx4/mr.c | 1 drivers/infiniband/hw/mlx5/main.c | 3 drivers/infiniband/hw/mlx5/odp.c | 3 drivers/infiniband/sw/rxe/rxe_qp.c | 10 drivers/infiniband/sw/rxe/rxe_queue.c | 12 drivers/infiniband/sw/rxe/rxe_resp.c | 10 drivers/infiniband/sw/siw/siw.h | 1 drivers/infiniband/sw/siw/siw_qp.c | 2 drivers/infiniband/sw/siw/siw_qp_rx.c | 27 - drivers/infiniband/sw/siw/siw_verbs.c | 3 drivers/infiniband/ulp/srp/ib_srp.c | 4 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 21 drivers/iommu/omap-iommu-debug.c | 6 drivers/isdn/mISDN/l1oip.h | 1 drivers/isdn/mISDN/l1oip_core.c | 13 drivers/leds/flash/leds-lm3601x.c | 2 drivers/mailbox/bcm-flexrm-mailbox.c | 8 drivers/mailbox/mailbox-mpfs.c | 25 drivers/md/bcache/writeback.c | 73 +- drivers/md/raid0.c | 2 drivers/md/raid5.c | 15 drivers/media/pci/cx88/cx88-vbi.c | 9 drivers/media/pci/cx88/cx88-video.c | 43 - drivers/media/platform/amlogic/meson-ge2d/ge2d.c | 1 drivers/media/platform/amphion/vdec.c | 16 drivers/media/platform/amphion/venc.c | 2 drivers/media/platform/amphion/vpu.h | 1 drivers/media/platform/amphion/vpu_core.c | 84 +-- drivers/media/platform/amphion/vpu_core.h | 1 drivers/media/platform/amphion/vpu_dbg.c | 9 drivers/media/platform/amphion/vpu_malone.c | 2 drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 1 drivers/media/platform/samsung/exynos4-is/fimc-is.c | 1 drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c | 3 drivers/media/platform/xilinx/xilinx-vipp.c | 9 drivers/media/usb/uvc/uvc_ctrl.c | 83 +-- drivers/media/usb/uvc/uvc_driver.c | 8 drivers/memory/of_memory.c | 2 drivers/memory/pl353-smc.c | 1 drivers/mfd/da9062-core.c | 1 drivers/mfd/fsl-imx25-tsadc.c | 34 - drivers/mfd/intel_soc_pmic_core.c | 1 drivers/mfd/lp8788-irq.c | 3 drivers/mfd/lp8788.c | 12 drivers/mfd/sm501.c | 7 drivers/misc/ocxl/file.c | 2 drivers/mmc/core/block.c | 6 drivers/mmc/core/card.h | 6 drivers/mmc/core/quirks.h | 6 drivers/mmc/host/au1xmmc.c | 3 drivers/mmc/host/renesas_sdhi_core.c | 21 drivers/mmc/host/sdhci-sprd.c | 2 drivers/mmc/host/sdhci-tegra.c | 2 drivers/mmc/host/wmt-sdmmc.c | 5 drivers/mtd/devices/docg3.c | 7 drivers/mtd/nand/raw/atmel/nand-controller.c | 1 drivers/mtd/nand/raw/fsl_elbc_nand.c | 28 - drivers/mtd/nand/raw/intel-nand-controller.c | 12 drivers/mtd/nand/raw/meson_nand.c | 4 drivers/net/can/usb/kvaser_usb/kvaser_usb.h | 2 drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c | 3 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c | 79 +++ drivers/net/ethernet/atheros/alx/main.c | 5 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 1 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 10 drivers/net/ethernet/engleder/tsnep_hw.h | 3 drivers/net/ethernet/freescale/fs_enet/mac-fec.c | 2 drivers/net/ethernet/intel/iavf/iavf_main.c | 177 +++++- drivers/net/ethernet/intel/ice/ice_ethtool.c | 1 drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 1 drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c | 10 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 13 drivers/net/ethernet/marvell/prestera/prestera_acl.c | 8 drivers/net/ethernet/marvell/prestera/prestera_acl.h | 4 drivers/net/ethernet/marvell/prestera/prestera_flower.c | 6 drivers/net/ethernet/microchip/lan743x_ptp.c | 7 drivers/net/ethernet/sunplus/spl2sw_driver.c | 2 drivers/net/ethernet/ti/Kconfig | 1 drivers/net/ethernet/ti/davinci_mdio.c | 242 ++++++++- drivers/net/ethernet/xilinx/xilinx_axienet.h | 12 drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 37 + drivers/net/hyperv/hyperv_net.h | 3 drivers/net/hyperv/netvsc.c | 4 drivers/net/hyperv/netvsc_drv.c | 19 drivers/net/thunderbolt.c | 28 - drivers/net/usb/r8152.c | 4 drivers/net/wireless/ath/ath10k/core.c | 16 drivers/net/wireless/ath/ath10k/htc.c | 11 drivers/net/wireless/ath/ath10k/hw.h | 2 drivers/net/wireless/ath/ath10k/mac.c | 54 +- drivers/net/wireless/ath/ath11k/ahb.c | 58 +- drivers/net/wireless/ath/ath11k/core.c | 2 drivers/net/wireless/ath/ath11k/dp_rx.c | 3 drivers/net/wireless/ath/ath11k/mac.c | 25 drivers/net/wireless/ath/ath11k/mhi.c | 17 drivers/net/wireless/ath/ath11k/peer.c | 30 - drivers/net/wireless/ath/ath11k/qmi.c | 38 + drivers/net/wireless/ath/ath11k/qmi.h | 10 drivers/net/wireless/ath/ath11k/wmi.c | 9 drivers/net/wireless/ath/ath11k/wmi.h | 2 drivers/net/wireless/ath/ath9k/htc_hst.c | 43 + drivers/net/wireless/ath/ath9k/rng.c | 3 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 3 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c | 12 drivers/net/wireless/mediatek/mt76/mt7615/main.c | 4 drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 6 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c | 6 drivers/net/wireless/mediatek/mt76/mt7915/mac.c | 10 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 10 drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 5 drivers/net/wireless/mediatek/mt76/mt7921/main.c | 26 drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 15 drivers/net/wireless/mediatek/mt76/mt7921/sdio.c | 13 drivers/net/wireless/mediatek/mt76/mt7921/usb.c | 28 - drivers/net/wireless/mediatek/mt76/sdio.c | 8 drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 34 + drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 96 ++- drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 9 drivers/net/wireless/realtek/rtw88/main.c | 8 drivers/net/wireless/realtek/rtw89/core.c | 1 drivers/net/wireless/realtek/rtw89/fw.c | 12 drivers/net/wireless/realtek/rtw89/pci.c | 5 drivers/net/wireless/realtek/rtw89/ser.c | 3 drivers/net/wireless/silabs/wfx/main.c | 2 drivers/net/wireless/st/cw1200/queue.c | 18 drivers/net/wwan/iosm/iosm_ipc_wwan.c | 5 drivers/nvme/host/core.c | 20 drivers/nvme/host/ioctl.c | 9 drivers/nvme/host/multipath.c | 1 drivers/nvme/host/nvme.h | 4 drivers/nvme/target/passthru.c | 7 drivers/nvme/target/tcp.c | 11 drivers/nvmem/core.c | 15 drivers/pci/setup-res.c | 11 drivers/perf/riscv_pmu_sbi.c | 7 drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c | 6 drivers/phy/mediatek/phy-mtk-tphy.c | 7 drivers/phy/qualcomm/phy-qcom-usb-hsic.c | 6 drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 10 drivers/pinctrl/pinctrl-rockchip.c | 13 drivers/platform/chrome/chromeos_laptop.c | 24 drivers/platform/chrome/cros_ec.c | 8 drivers/platform/chrome/cros_ec_chardev.c | 3 drivers/platform/chrome/cros_ec_proto.c | 32 + drivers/platform/chrome/cros_ec_typec.c | 2 drivers/platform/x86/hp-wmi.c | 11 drivers/platform/x86/msi-laptop.c | 14 drivers/platform/x86/pmc_atom.c | 2 drivers/power/supply/adp5061.c | 6 drivers/powercap/intel_rapl_common.c | 4 drivers/regulator/core.c | 2 drivers/regulator/qcom_rpm-regulator.c | 24 drivers/remoteproc/remoteproc_core.c | 5 drivers/rpmsg/rpmsg_char.c | 4 drivers/scsi/3w-9xxx.c | 2 drivers/scsi/cxgbi/libcxgbi.c | 2 drivers/scsi/iscsi_tcp.c | 140 ++++- drivers/scsi/iscsi_tcp.h | 5 drivers/scsi/libiscsi.c | 41 + drivers/scsi/libsas/sas_expander.c | 2 drivers/scsi/lpfc/lpfc.h | 14 drivers/scsi/lpfc/lpfc_crtn.h | 8 drivers/scsi/lpfc/lpfc_ct.c | 7 drivers/scsi/lpfc/lpfc_debugfs.c | 59 -- drivers/scsi/lpfc/lpfc_debugfs.h | 2 drivers/scsi/lpfc/lpfc_init.c | 83 --- drivers/scsi/lpfc/lpfc_mem.c | 9 drivers/scsi/lpfc/lpfc_sli.c | 190 ++++++- drivers/scsi/pm8001/pm8001_hwi.c | 4 drivers/scsi/qedf/qedf_main.c | 21 drivers/slimbus/Kconfig | 3 drivers/slimbus/qcom-ngd-ctrl.c | 22 drivers/soc/qcom/smem_state.c | 3 drivers/soc/qcom/smsm.c | 20 drivers/soc/tegra/Kconfig | 1 drivers/soundwire/cadence_master.c | 9 drivers/soundwire/intel.c | 1 drivers/spi/spi-cadence-quadspi.c | 3 drivers/spi/spi-dw-bt1.c | 4 drivers/spi/spi-meson-spicc.c | 6 drivers/spi/spi-mt7621.c | 8 drivers/spi/spi-omap-100k.c | 1 drivers/spi/spi-qup.c | 21 drivers/spi/spi-s3c64xx.c | 9 drivers/spi/spi.c | 2 drivers/spmi/spmi-pmic-arb.c | 13 drivers/staging/greybus/audio_helper.c | 11 drivers/staging/media/meson/vdec/vdec_hevc.c | 6 drivers/staging/media/sunxi/cedrus/cedrus.c | 4 drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 5 drivers/staging/rtl8723bs/core/rtw_cmd.c | 16 drivers/staging/rtl8723bs/os_dep/os_intfs.c | 60 +- drivers/staging/vt6655/device_main.c | 8 drivers/thermal/cpufreq_cooling.c | 10 drivers/thermal/intel/intel_powerclamp.c | 6 drivers/thermal/qcom/tsens-v0_1.c | 2 drivers/thunderbolt/nhi.c | 49 + drivers/thunderbolt/switch.c | 24 drivers/thunderbolt/tb.h | 1 drivers/thunderbolt/tb_regs.h | 1 drivers/thunderbolt/usb4.c | 20 drivers/tty/serial/8250/8250_core.c | 16 drivers/tty/serial/8250/8250_pci.c | 5 drivers/tty/serial/8250/8250_port.c | 18 drivers/tty/serial/cpm_uart/cpm_uart_core.c | 22 drivers/tty/serial/fsl_lpuart.c | 2 drivers/tty/serial/jsm/jsm_driver.c | 3 drivers/tty/serial/stm32-usart.c | 100 ++- drivers/tty/serial/xilinx_uartps.c | 2 drivers/usb/common/debug.c | 96 ++- drivers/usb/core/quirks.c | 4 drivers/usb/dwc3/core.c | 83 ++- drivers/usb/dwc3/core.h | 6 drivers/usb/gadget/function/f_fs.c | 4 drivers/usb/gadget/function/f_printer.c | 12 drivers/usb/gadget/function/f_uvc.c | 6 drivers/usb/gadget/function/uvc.h | 1 drivers/usb/gadget/function/uvc_v4l2.c | 2 drivers/usb/gadget/function/uvc_video.c | 9 drivers/usb/host/xhci-dbgcap.c | 2 drivers/usb/host/xhci-mem.c | 7 drivers/usb/host/xhci-plat.c | 18 drivers/usb/host/xhci.c | 3 drivers/usb/host/xhci.h | 1 drivers/usb/misc/idmouse.c | 8 drivers/usb/mtu3/mtu3_core.c | 2 drivers/usb/mtu3/mtu3_plat.c | 2 drivers/usb/musb/musb_gadget.c | 3 drivers/usb/storage/unusual_devs.h | 6 drivers/usb/typec/ucsi/ucsi.c | 8 drivers/vhost/vsock.c | 2 drivers/video/fbdev/smscufx.c | 14 drivers/video/fbdev/stifb.c | 2 drivers/xen/gntdev-common.h | 3 drivers/xen/gntdev.c | 80 +-- fs/btrfs/block-group.c | 11 fs/btrfs/extent-tree.c | 3 fs/btrfs/file.c | 59 +- fs/btrfs/free-space-cache.c | 59 +- fs/btrfs/qgroup.c | 15 fs/btrfs/scrub.c | 69 +- fs/btrfs/super.c | 20 fs/cifs/cifsproto.h | 2 fs/cifs/connect.c | 2 fs/cifs/file.c | 9 fs/cifs/smb2ops.c | 23 fs/cifs/smb2pdu.c | 7 fs/cifs/smb2transport.c | 10 fs/dlm/ast.c | 6 fs/dlm/lock.c | 20 fs/dlm/lowcomms.c | 4 fs/erofs/inode.c | 2 fs/erofs/super.c | 2 fs/eventfd.c | 10 fs/ext2/super.c | 22 fs/ext4/fast_commit.c | 40 - fs/ext4/file.c | 6 fs/ext4/inode.c | 17 fs/ext4/ioctl.c | 4 fs/ext4/namei.c | 17 fs/ext4/resize.c | 2 fs/ext4/super.c | 47 - fs/ext4/xattr.c | 1 fs/f2fs/checkpoint.c | 47 + fs/f2fs/data.c | 4 fs/f2fs/extent_cache.c | 3 fs/f2fs/f2fs.h | 9 fs/f2fs/gc.c | 22 fs/f2fs/recovery.c | 23 fs/f2fs/segment.c | 2 fs/f2fs/super.c | 15 fs/file_table.c | 7 fs/fs-writeback.c | 37 - fs/internal.h | 10 fs/iomap/buffered-io.c | 2 fs/jbd2/commit.c | 2 fs/jbd2/journal.c | 10 fs/jbd2/recovery.c | 1 fs/jbd2/transaction.c | 6 fs/ksmbd/server.c | 4 fs/ksmbd/smb2pdu.c | 27 - fs/ksmbd/smb_common.c | 6 fs/nfsd/nfs3proc.c | 11 fs/nfsd/nfs4proc.c | 19 fs/nfsd/nfs4recover.c | 4 fs/nfsd/nfs4state.c | 5 fs/nfsd/nfs4xdr.c | 14 fs/nfsd/nfsproc.c | 6 fs/nfsd/xdr4.h | 3 fs/ntfs3/inode.c | 2 fs/ntfs3/xattr.c | 102 --- fs/open.c | 11 fs/quota/quota_tree.c | 38 + fs/splice.c | 10 fs/userfaultfd.c | 4 fs/xfs/xfs_super.c | 10 include/dt-bindings/clock/samsung,exynosautov9.h | 56 +- include/linux/ata.h | 39 - include/linux/bio.h | 2 include/linux/blk_types.h | 2 include/linux/bpf-cgroup-defs.h | 4 include/linux/bpf-cgroup.h | 2 include/linux/bpf.h | 6 include/linux/bpf_verifier.h | 11 include/linux/dynamic_debug.h | 11 include/linux/eventfd.h | 2 include/linux/export-internal.h | 6 include/linux/filter.h | 5 include/linux/fortify-string.h | 3 include/linux/fs.h | 9 include/linux/hugetlb.h | 8 include/linux/hw_random.h | 3 include/linux/iova.h | 2 include/linux/mmc/card.h | 1 include/linux/once.h | 28 + include/linux/ring_buffer.h | 2 include/linux/sched.h | 2 include/linux/serial_8250.h | 1 include/linux/serial_core.h | 3 include/linux/skbuff.h | 2 include/linux/sunrpc/svc.h | 19 include/linux/tcp.h | 2 include/linux/trace.h | 36 + include/linux/trace_events.h | 1 include/net/ieee802154_netdev.h | 12 include/net/tcp.h | 5 include/scsi/libiscsi.h | 6 include/uapi/rdma/mlx5-abi.h | 1 io_uring/io_uring.c | 21 ipc/mqueue.c | 1 kernel/auditsc.c | 4 kernel/bpf/bpf_local_storage.c | 4 kernel/bpf/bpf_task_storage.c | 8 kernel/bpf/btf.c | 2 kernel/bpf/cgroup.c | 76 +- kernel/bpf/core.c | 9 kernel/bpf/dispatcher.c | 27 - kernel/bpf/hashtab.c | 30 - kernel/bpf/helpers.c | 14 kernel/bpf/syscall.c | 4 kernel/bpf/trampoline.c | 8 kernel/bpf/verifier.c | 116 ++-- kernel/cgroup/cgroup.c | 6 kernel/cgroup/cpuset.c | 18 kernel/livepatch/transition.c | 18 kernel/module/tracking.c | 3 kernel/rcu/tree.c | 17 kernel/rcu/tree_plugin.h | 3 kernel/trace/bpf_trace.c | 20 kernel/trace/ftrace.c | 28 - kernel/trace/kprobe_event_gen_test.c | 49 + kernel/trace/ring_buffer.c | 87 +++ kernel/trace/trace.c | 76 ++ kernel/trace/trace_eprobe.c | 60 -- kernel/trace/trace_events_synth.c | 23 kernel/trace/trace_kprobe.c | 60 -- kernel/trace/trace_osnoise.c | 3 kernel/trace/trace_probe_kernel.h | 115 ++++ lib/Kconfig.debug | 10 lib/dynamic_debug.c | 45 - lib/once.c | 30 + mm/damon/vaddr.c | 10 mm/gup.c | 14 mm/hugetlb.c | 68 +- mm/memory.c | 2 mm/mmap.c | 5 mm/mprotect.c | 2 net/bluetooth/hci_core.c | 34 - net/bluetooth/hci_sync.c | 1 net/bluetooth/hci_sysfs.c | 3 net/bluetooth/l2cap_core.c | 17 net/bluetooth/rfcomm/sock.c | 3 net/can/bcm.c | 7 net/core/flow_dissector.c | 4 net/core/skmsg.c | 12 net/core/stream.c | 3 net/ieee802154/socket.c | 4 net/ipv4/datagram.c | 2 net/ipv4/esp4_offload.c | 5 net/ipv4/inet_hashtables.c | 4 net/ipv4/netfilter/nft_fib_ipv4.c | 3 net/ipv4/tcp.c | 16 net/ipv4/tcp_output.c | 19 net/ipv6/esp6_offload.c | 5 net/ipv6/netfilter/nft_fib_ipv6.c | 6 net/mac80211/cfg.c | 3 net/netfilter/nf_conntrack_core.c | 18 net/openvswitch/datapath.c | 18 net/rds/tcp.c | 2 net/sctp/auth.c | 18 net/unix/af_unix.c | 13 net/unix/garbage.c | 20 net/vmw_vsock/virtio_transport_common.c | 2 net/wireless/reg.c | 4 net/xdp/xsk.c | 22 net/xdp/xsk_queue.h | 22 net/xfrm/xfrm_input.c | 18 net/xfrm/xfrm_ipcomp.c | 1 scripts/Kbuild.include | 23 scripts/package/mkspec | 4 scripts/pahole-flags.sh | 4 scripts/selinux/install_policy.sh | 2 security/integrity/ima/ima_appraise.c | 12 sound/core/pcm_dmaengine.c | 8 sound/core/rawmidi.c | 2 sound/core/sound_oss.c | 13 sound/hda/intel-dsp-config.c | 5 sound/pci/hda/hda_beep.c | 15 sound/pci/hda/hda_beep.h | 1 sound/pci/hda/patch_hdmi.c | 6 sound/pci/hda/patch_realtek.c | 11 sound/pci/hda/patch_sigmatel.c | 25 sound/soc/codecs/da7219.c | 5 sound/soc/codecs/lpass-tx-macro.c | 13 sound/soc/codecs/mt6359-accdet.c | 6 sound/soc/codecs/mt6660.c | 8 sound/soc/codecs/tas2764.c | 78 -- sound/soc/codecs/wcd9335.c | 2 sound/soc/codecs/wcd934x.c | 2 sound/soc/codecs/wm5102.c | 6 sound/soc/codecs/wm5110.c | 6 sound/soc/codecs/wm8997.c | 6 sound/soc/codecs/wm_adsp.c | 4 sound/soc/fsl/eukrea-tlv320.c | 8 sound/soc/sh/rcar/ctu.c | 6 sound/soc/sh/rcar/dvc.c | 6 sound/soc/sh/rcar/mix.c | 6 sound/soc/sh/rcar/src.c | 5 sound/soc/sh/rcar/ssi.c | 4 sound/soc/soc-pcm.c | 2 sound/soc/sof/intel/hda.c | 11 sound/soc/sof/ipc3-topology.c | 7 sound/soc/sof/mediatek/mt8195/mt8195.c | 1 sound/soc/sof/sof-pci-dev.c | 2 sound/soc/sof/sof-priv.h | 4 sound/soc/stm/stm32_adfsdm.c | 8 sound/soc/stm/stm32_i2s.c | 4 sound/soc/stm/stm32_spdifrx.c | 4 sound/usb/card.c | 32 - sound/usb/endpoint.c | 17 sound/usb/quirks.c | 42 - sound/usb/quirks.h | 2 sound/usb/usbaudio.h | 1 tools/bpf/bpftool/btf_dumper.c | 2 tools/bpf/bpftool/main.c | 10 tools/lib/bpf/xsk.c | 6 tools/objtool/elf.c | 7 tools/perf/arch/x86/util/intel-pt.c | 2 tools/perf/util/intel-pt.c | 9 tools/perf/util/parse-events.c | 3 tools/perf/util/pmu.c | 17 tools/perf/util/pmu.h | 2 tools/perf/util/pmu.l | 2 tools/perf/util/pmu.y | 15 tools/testing/selftests/arm64/signal/testcases/testcases.c | 2 tools/testing/selftests/bpf/map_tests/array_map_batch_ops.c | 2 tools/testing/selftests/bpf/map_tests/htab_map_batch_ops.c | 2 tools/testing/selftests/bpf/map_tests/lpm_trie_map_batch_ops.c | 2 tools/testing/selftests/bpf/progs/kprobe_multi.c | 4 tools/testing/selftests/bpf/test_maps.c | 24 tools/testing/selftests/bpf/xdpxceiver.c | 4 tools/testing/selftests/net/fcnal-test.sh | 30 + tools/testing/selftests/net/nettest.c | 16 tools/testing/selftests/tpm2/tpm2.py | 4 767 files changed, 7188 insertions(+), 3389 deletions(-)
Aaron Tomlin (1):
module: tracking: Keep a record of tainted unloaded modules only
Adam Skladowski (1):
clk: qcom: gcc-sm6115: Override default Alpha PLL regs
Adrian Hunter (2):
perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc perf intel-pt: Fix system_wide dummy event for hybrid
Adrián Larumbe (3):
drm/meson: reorder driver deinit sequence to fix use-after-free bug drm/meson: explicitly remove aggregate driver at module unload time drm/meson: remove drm bridges at aggregate driver unbind time
Aharon Landau (1):
RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey
Albert Briscoe (1):
usb: gadget: function: fix dangling pnp_string in f_printer.c
Alex Sverdlin (1):
ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n
Alexander Aring (6):
fs: dlm: fix race between test_bit() and queue_work()
fs: dlm: handle -EBUSY first in lock arg validation
fs: dlm: fix invalid derefence of sb_lvbptr
fs: dlm: fix race in lowcomms
net: ieee802154: return -EINVAL for unknown addr type Revert "net/ieee802154: reject zero-sized raw_sendmsg()"
Alexander Coffin (1):
wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit()
Alexander Stein (9):
ARM: dts: imx6: delete interrupts property if interrupts-extended is set
ARM: dts: imx6q: add missing properties for sram
ARM: dts: imx6dl: add missing properties for sram
ARM: dts: imx6qp: add missing properties for sram
ARM: dts: imx6sl: add missing properties for sram
ARM: dts: imx6sll: add missing properties for sram
ARM: dts: imx6sx: add missing properties for sram
usb: dwc3: core: add gfladj_refclk_lpm_sel quirk
arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes
Alexander Zhu (1):
btrfs: fix alignment of VMA for memory mapped files on THP
Alvin Šipraga (2):
drm: bridge: adv7511: fix CEC power down control register offset
drm: bridge: adv7511: unregister cec i2c device after cec adapter
Amir Goldstein (1):
locks: fix TOCTOU race when granting write lease
Andreas Pape (1):
ALSA: dmaengine: increment buffer pointer atomically
Andrew Bresticker (2):
riscv: Allow PROT_WRITE-only mmap()
riscv: Make VM_WRITE imply VM_READ
Andrew Gaul (1):
r8152: Rate limit overflow messages
Andrew Perepechko (1):
jbd2: wake up journal waiters in FIFO order, not LIFO
Andri Yngvason (1):
HID: multitouch: Add memory barriers
Andy Shevchenko (2):
i2c: designware-pci: Group AMD NAVI quirk parts together platform/x86: pmc_atom: Improve quirk message to be less cryptic
AngeloGioacchino Del Regno (5):
ASoC: SOF: mediatek: mt8195: Import namespace SND_SOC_SOF_MTK_COMMON
clk: mediatek: clk-mt8195-vdo0: Set rate on vdo0_dp_intf0_dp_intf's parent
clk: mediatek: clk-mt8195-vdo1: Reparent and set rate on vdo1_dpintf's parent
clk: mediatek: mt8195-infra_ao: Set pwrmcu clocks as critical
clk: mediatek: clk-mt8195-mfg: Reparent mfg_bg3d and propagate rate changes
Anna Schumaker (1):
NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data
Anssi Hannula (4):
can: kvaser_usb: Fix use of uninitialized completion
can: kvaser_usb_leaf: Fix overread with an invalid command
can: kvaser_usb_leaf: Fix TX queue out of sync after restart
can: kvaser_usb_leaf: Fix CAN state after restart
Antoine Tenart (2):
netfilter: conntrack: fix the gc rescheduling delay
netfilter: conntrack: revisit the gc initial rescheduling bias
Anup Patel (1):
cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage
Ard Biesheuvel (1):
efi: libstub: drop pointless get_memory_map() call
Aric Cyr (2):
drm/amd/display: Remove interface for periodic interrupt 1 Revert "drm/amd/display: correct hostvm flag"
Arun Easi (1):
scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled
Arvid Norlander (1):
ACPI: video: Add Toshiba Satellite/Portege Z830 quirk
Arınç ÜNAL (1):
mips: dts: ralink: mt7621: fix external phy on GB-PC2
Asmaa Mnebhi (1):
i2c: mlxbf: support lock mechanism
Avri Altman (1):
mmc: core: Add SD card quirk for broken discard
Baochen Qiang (1):
wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default
Baokun Li (1):
ext4: fix null-ptr-deref in ext4_write_info
Baolin Wang (2):
mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page mm/damon: validate if the pmd entry is present before accessing
Bart Van Assche (2):
ARM: 9243/1: riscpc: Unbreak the build
RDMA/srp: Fix srp_abort()
Bernard Metzler (2):
RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. RDMA/siw: Fix QP destroy to wait for all references dropped.
Biju Das (4):
mmc: renesas_sdhi: Fix rounding errors
arm64: dts: renesas: r9a07g044: Fix SCI{Rx,Tx} interrupt types
arm64: dts: renesas: r9a07g054: Fix SCI{Rx,Tx} interrupt types
arm64: dts: renesas: r9a07g043: Fix SCI{Rx,Tx} interrupt types
Bill Wendling (1):
x86/paravirt: add extra clobbers with ZERO_CALL_USED_REGS enabled
Bitterblue Smith (5):
wifi: rtl8xxxu: Fix skb misuse in TX queue selection
wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration
wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask
wifi: rtl8xxxu: gen2: Enable 40 MHz channel width
wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM
Bob Pearson (1):
RDMA/rxe: Fix resize_finish() in rxe_queue.c
Callum Osmotherly (1):
ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530
Carlos Llamas (1):
mm/mmap: undo ->mmap() when arch_validate_flags() fails
Chanho Park (2):
dt-bindings: clock: exynosautov9: correct clock numbering of peric0/c1
clk: samsung: exynosautov9: correct register offsets of peric0/c1
Chao Qin (1):
powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
Chao Yu (3):
f2fs: fix to do sanity check on destination blkaddr during recovery
f2fs: fix to do sanity check on summary info
f2fs: fix to account FS_CP_DATA_IO correctly
Chen-Yu Tsai (4):
drm/bridge: parade-ps8640: Fix regulator supply order
clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent
clk: mediatek: fix unregister function in mtk_clk_register_dividers cleanup
clk: mediatek: Migrate remaining clk_unregister_*() to clk_hw_unregister_*()
Chia-I Wu (1):
drm/virtio: set fb_modifiers_not_supported
Chris Wilson (1):
drm/i915/gt: Use i915_vm_put on ppgtt_create error paths
Christian Brauner (1):
ntfs3: rework xattr handlers and switch to POSIX ACL VFS helpers
Christian Marangi (3):
dmaengine: qcom-adm: fix wrong sizeof config in slave_config
dmaengine: qcom-adm: fix wrong calling convention for prep_slave_sg
wifi: ath11k: fix peer addition/deletion error on sta band migration
Christophe JAILLET (9):
nfsd: Fix a memory leak in an error handling path
spi: mt7621: Fix an error message in mt7621_spi_probe()
mmc: au1xmmc: Fix an error handling path in au1xmmc_probe()
ASoC: da7219: Fix an error handling path in da7219_register_dai_clks()
mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe()
mfd: intel_soc_pmic: Fix an error handling path in intel_soc_pmic_i2c_probe()
mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq()
mfd: lp8788: Fix an error handling path in lp8788_probe()
mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init()
Christophe Leroy (2):
serial: cpm_uart: Don't request IRQ too early for console port powerpc/Kconfig: Fix non existing CONFIG_PPC_FSL_BOOKE
Chuck Lever (7):
NFSD: Protect against send buffer overflow in NFSv3 READDIR
NFSD: Protect against send buffer overflow in NFSv2 READ
NFSD: Protect against send buffer overflow in NFSv3 READ
SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation
SUNRPC: Fix svcxdr_init_encode's buflen calculation
NFSD: Protect against send buffer overflow in NFSv2 READDIR
NFSD: Fix handling of oversized NFSv4 COMPOUND requests
Chunfeng Yun (2):
phy: phy-mtk-tphy: fix the phy type setting issue
usb: mtu3: fix failed runtime suspend in host only mode
Claudiu Beznea (4):
iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX
iio: adc: at91-sama5d2_adc: check return status for pressure and touch
iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq
iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume
Coly Li (1):
bcache: fix set_at_max_writeback_rate() for multiple attached devices
Conor Dooley (4):
arm64: topology: move store_cpu_topology() to shared code
riscv: topology: fix default topology reporting
mailbox: mpfs: fix handling of the reg property
mailbox: mpfs: account for mbox offsets while sending
Cristian Ciocaltea (1):
ASoC: wm_adsp: Handle optional legacy support
Dai Ngo (1):
NFSD: fix use-after-free on source server when doing inter-server copy
Daisuke Matsuda (2):
IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers RDMA/rxe: Delete error messages triggered by incoming Read requests
Damian Muszynski (1):
crypto: qat - fix DMA transfer direction
Dan Carpenter (16):
wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse()
wifi: wfx: prevent underflow in wfx_send_pds() drm/bridge: Avoid uninitialized variable warning
ASoC: mt6359: fix tests for platform_get_irq() failure platform/chrome: fix memory corruption in ioctl
virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create()
fpga: prevent integer overflow in dfl_feature_ioctl_set_irq()
usb: gadget: f_fs: stricter integer overflow checks
remoteproc: Harden rproc_handle_vdev() against integer overflow
mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct()
usb: dwc3: core: fix some leaks in probe
drivers: serial: jsm: fix some leaks in probe
mfd: fsl-imx25: Fix check for platform_get_irq() errors iommu/omap: Fix buffer overflow in debugfs
crypto: marvell/octeontx - prevent integer overflows
crypto: cavium - prevent integer overflow loading firmware
Dang Huynh (1):
clk: qcom: sm6115: Select QCOM_GDSC
Daniel Golle (5):
wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620
wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620
wifi: rt2x00: set VGC gain for both chains of MT7620
wifi: rt2x00: set SoC wmac clock register
wifi: rt2x00: correctly set BBP register 86 for MT7620
Daniel Sneddon (1):
x86/apic: Don't disable x2APIC if locked
Dario Binacchi (1):
dmaengine: mxs: use platform_driver_register
Darrick J. Wong (1):
iomap: iomap: fix memory corruption when recording errors during writeback
Dave Jiang (1):
dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup()
Dave Marchevsky (1):
bpf: Cleanup check_refcount_ok
David Collins (1):
spmi: pmic-arb: correct duplicate APID to PPID mapping logic
David Gow (1):
drm/amd/display: fix overflow on MIN_I64 definition
David Sloan (1):
md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk()
Deren Wu (1):
wifi: mt76: mt7921e: fix rmmod crash in driver reload test
Dmitry Baryshkov (2):
drm/msm: lookup the ICC paths in both mdp5/dpu and mdss devices drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx
Dmitry Osipenko (8):
drm/virtio: Check whether transferred 2D BO is shmem drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error drm/virtio: Unlock reservations on dma_resv_reserve_fences() error drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb()
media: cedrus: Set the platform driver data earlier
media: cedrus: Fix endless loop in cedrus_h265_skip_bits() drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA
Dmitry Torokhov (2):
ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family
ARM: dts: exynos: fix polarity of VBUS GPIO of Origen
Dongliang Mu (2):
phy: qualcomm: call clk_disable_unprepare in the error handling
usb: idmouse: fix an uninit-value in idmouse_open
Doug Smythies (1):
cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode
Duoming Zhou (2):
mISDN: fix use-after-free bugs in l1oip timer handlers
scsi: libsas: Fix use-after-free bug in smp_execute_task_sg()
Dylan Yudaken (1):
eventfd: guard wake_up in eventfd fs calls as well
Eddie James (4):
iio: pressure: dps310: Refactor startup procedure
iio: pressure: dps310: Reset chip after timeout hwmon (occ): Retry for checksum failure
fsi: occ: Prevent use after free
Enzo Matsumiya (1):
cifs: return correct error in ->calc_signature()
Eric Dumazet (2):
once: add DO_ONCE_SLOW() for sleepable contexts
tcp: annotate data-race around tcp_md5sig_pool_populated
Fangrui Song (1):
riscv: Pass -mno-relax only on lld < 15.0.0
Felix Kuehling (1):
drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
Filipe Manana (2):
btrfs: fix race between quota enable and quota rescan ioctl
btrfs: fix missed extent on fsync after dropping extent maps
Frieder Schrempf (1):
arm64: dts: imx8mm-kontron: Use the VSELECT signal to switch SD card IO voltage
Gao Xiang (1):
erofs: fix order >= MAX_ORDER warning due to crafted negative i_size
Gaosheng Cui (1):
nvmem: core: Fix memleak in nvmem_register()
Gaurav Kohli (1):
hv_netvsc: Fix race between VF offering and VF association message from host
Geert Uytterhoeven (1):
ARM: Drop CMDLINE_* dependency on ATAGS
Gerd Hoffmann (1):
drm/bochs: fix blanking
Gerhard Engleder (1):
tsnep: Fix TSNEP_INFO_TX_TIME register define
Greg Kroah-Hartman (3):
staging: greybus: audio_helper: remove unused and wrong debugfs usage
selinux: use "grep -E" instead of "egrep"
Linux 5.19.17
Guilherme G. Piccoli (1):
firmware: google: Test spinlock on panic path to avoid lockups
Haibo Chen (1):
ARM: dts: imx7d-sdb: config the max pressure for tsc2046
Hamza Mahfooz (1):
Revert "drm/amdgpu: use dirty framebuffer helper"
Hangyu Hua (3):
misc: ocxl: fix possible refcount leak in afu_ioctl()
ipc: mqueue: fix possible memory leak in init_mqueue_fs()
media: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc
Hans de Goede (4):
platform/x86: msi-laptop: Fix old-ec check for backlight registering platform/x86: msi-laptop: Fix resource cleanup
ACPI: tables: FPDT: Don't call acpi_os_map_memory() on invalid phys address platform/x86: msi-laptop: Change DMI match / alias strings to fix module autoloading
Haren Myneni (1):
powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL
Hari Chandrakanthan (1):
wifi: mac80211: allow bw change during channel switch in mesh
Helge Deller (2):
parisc: fbdev/stifb: Align graphics memory size to 4MB
parisc: Fix userspace graphics card breakage due to pgtable special bit
Hou Tao (5):
bpf: Disable preemption when increasing per-cpu map_locked
bpf: Propagate error from htab_lock_bucket() to userspace
bpf: Use this_cpu_{inc|dec|inc_return} for bpf_task_storage_busy
bpf: Use this_cpu_{inc_return|dec} for prog->active selftests/bpf: Free the allocated resources after test case succeeds
Howard Hsu (2):
wifi: mt76: mt7915: fix mcs value in ht mode
wifi: mt76: mt7915: do not check state before configuring implicit beamform
Huacai Chen (1):
UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
Huisong Li (2):
ACPI: PCC: replace wait_for_completion()
ACPI: PCC: Fix Tx acknowledge in the PCC address space handler
Hyunwoo Kim (2):
fbdev: smscufx: Fix use-after-free in ufx_ops_open()
HID: roccat: Fix use-after-free in roccat_read()
Ian Nam (1):
clk: zynqmp: Fix stack-out-of-bounds in strncpy`
Ian Rogers (1):
selftests/xsk: Avoid use-after-free on ctx
Ignat Korchagin (1):
crypto: akcipher - default implementation for setting a private key
Ilpo Järvinen (1):
serial: 8250: Toggle IER bits on only after irq has been set up
Ivan T. Ivanov (1):
clk: bcm2835: Round UART input clock up
Jack Wang (2):
HSI: omap_ssi_port: Fix dma_map_sg error check
mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg
Jacky Li (1):
crypto: ccp - Fail the PSP initialization when writing psp data file failed
Jacob Keller (1):
ice: set tx_tstamps when creating new Tx rings via ethtool
Jaegeuk Kim (4):
f2fs: fix wrong continue condition in GC
f2fs: complete checkpoints during remount
f2fs: flush pending checkpoints when freezing super
f2fs: increase the limit for reserve_root
Jairaj Arava (1):
ASoC: SOF: pci: Change DMI match info to support all Chrome platforms
Jakob Hauser (1):
iio: magnetometer: yas530: Change data type of hard_offsets to signed
Jakub Kicinski (1):
eth: alx: take rtnl_lock on resume
James Cowgill (1):
hwrng: arm-smccc-trng - fix NO_ENTROPY handling
James Morse (1):
arm64: errata: Add Cortex-A55 to the repeat tlbi list
James Smart (2):
scsi: lpfc: Rework MIB Rx Monitor debug info logic
scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID
Jameson Thies (1):
platform/chrome: cros_ec: Notify the PM of wake events during resume
Jan Kara (4):
ext2: Add sanity checks for group and filesystem size
ext4: avoid crash when inline data creation follows DIO write
ext4: fix check for block being out of directory size
ext2: Use kvmalloc() for group descriptor array
Jane Chu (1):
x86/mce: Retrieve poison range from hardware
Janis Schoetterl-Glausch (1):
kbuild: rpm-pkg: fix breakage when V=1 is used
Jarkko Nikula (1):
i2c: designware: Fix handling of real but unexpected device interrupts
Jason A. Donenfeld (3):
hwrng: core - let sleep be interrupted when unregistering hwrng
random: schedule jitter credit for next jiffy, not in two jiffies
hwmon: (sht4x) do not overflow clamping operation on 32-bit platforms
Javier Martinez Canillas (3):
drm/msm: Make .remove and .shutdown HW shutdown consistent
drm: Use size_t type for len variable in drm_copy_field()
drm: Prevent drm_copy_field() to attempt copying a NULL pointer
Jean-Francois Le Fillatre (1):
usb: add quirks for Lenovo OneLink+ Dock
Jeff Layton (2):
ext4: unconditionally enable the i_version counter
ext4: fix i_version handling in ext4
Jens Hillenstedt (1):
mfd: da9061: Fix Failed to set Two-Wire Bus Mode.
Jerry Lee 李修賢 (1):
ext4: continue to expand file system when the target size doesn't reach
Jerry Snitselaar (1):
dmaengine: idxd: avoid deadlock in process_misc_interrupts()
Jesus Fernandez Manzano (1):
wifi: ath11k: fix number of VHT beamformee spatial streams
Jia Zhu (1):
erofs: use kill_anon_super() to kill super in fscache mode
Jianglei Nie (6):
drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table()
bnx2x: fix potential memory leak in bnx2x_tpa_stop()
wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc()
HSI: ssi_protocol: fix potential resource leak in ssip_pn_open()
usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info()
Jiasheng Jiang (4):
net: prestera: acl: Add check for kmemdup
ASoC: rsnd: Add check for rsnd_mod_power_on
fsi: core: Check error number after calling ida_simple_get
mfd: sm501: Add check for platform_driver_register()
Jie Hai (3):
dmaengine: hisilicon: Disable channels when unregister hisi_dma
dmaengine: hisilicon: Fix CQ head update
dmaengine: hisilicon: Add multi-thread support for a DMA channel
Jim Cromie (4):
dyndbg: fix static_branch manipulation
dyndbg: fix module.dyndbg handling
dyndbg: let query-modname override actual module name
dyndbg: drop EXPORTed dynamic_debug_exec_queries
Jinke Han (1):
ext4: place buffer head allocation before handle start
Jiri Olsa (1):
bpf: Adjust kprobe_multi entry_ip for CONFIG_X86_KERNEL_IBT
Jisheng Zhang (1):
riscv: vdso: fix NULL deference in vdso_join_timens() when vfork
Joanne Koong (1):
bpf: Fix non-static bpf_func_proto struct definitions
Joel Stanley (1):
clk: ast2600: BCLK comes from EPLL
John Garry (1):
scsi: pm8001: Fix running_req for internal abort commands
Johnothan King (1):
HID: nintendo: check analog user calibration for plausibility
Jonathan Cameron (1):
iio: ABI: Fix wrong format of differential capacitance channel ABI.
Jorge Lopez (1):
platform/x86: hp-wmi: Setting thermal profile fails with 0x06
Josef Bacik (1):
btrfs: call __btrfs_remove_free_space_cache_locked on cache load failure
Josh Triplett (1):
ext4: don't run ext4lazyinit for read-only filesystems
José Expósito (2):
media: uvcvideo: Fix memory leak in uvc_gpio_parse
HID: uclogic: Add missing suffix for digitalizers
Junichi Uekawa (1):
vhost/vsock: Use kvmalloc/kvfree for larger packets.
Justin Chen (2):
usb: host: xhci-plat: suspend and resume clocks
usb: host: xhci-plat: suspend/resume clks for brcm
Kees Cook (6):
sh: machvec: Use char[] for section boundaries x86/microcode/AMD: Track patch allocation size explicitly
fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL
MIPS: BCM47XX: Cast memcmp() of function to (void *)
ARM: decompressor: Include .data.rel.ro.local x86/entry: Work around Clang __bdos() bug
Keith Busch (3):
nvme: handle effects after freeing the request
nvme: copy firmware_rev on each init
blk-mq: use quiesced elevator switch when reinitializing queues
Khaled Almahallawy (1):
drm/dp: Don't rewrite link config when setting phy test pattern
Khalid Masum (1):
xfrm: Update ipcomp_scratches with NULL when freed
Kiran K (1):
Bluetooth: btintel: Mark Intel controller to support LE_STATES quirk
Koba Ko (1):
crypto: ccp - Release dma channels before dmaengine unrgister
Kohei Tarumizu (1):
x86/resctrl: Fix to restore to original value when re-enabling hardware prefetch register
Krzysztof Kozlowski (6):
arm64: dts: qcom: sdm845-mtp: correct ADC settle time
ASoC: wcd9335: fix order of Slimbus unprepare/disable
ASoC: wcd934x: fix order of Slimbus unprepare/disable
slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure
slimbus: qcom-ngd: cleanup in probe error path
slimbus: qcom-ngd-ctrl: allow compile testing without QCOM_RPROC_COMMON
Kshitiz Varshney (1):
hwrng: imx-rngc - Moving IRQ handler registering after imx_rngc_irq_mask_clear()
Kumar Kartikeya Dwivedi (1):
bpf: Fix reference state management for synchronous callbacks
Kuninori Morimoto (1):
ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close()
Kuniyuki Iwashima (1):
af_unix: Fix memory leaks of the whole sk due to OOB skb.
Kunkun Jiang (1):
clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921
Kuogee Hsieh (1):
drm/msm/dp: correct 1.62G link rate at dp_catalog_ctrl_config_msa()
Lalith Rajendran (1):
ext4: make ext4_lazyinit_thread freezable
Lam Thai (1):
bpftool: Fix a wrong type cast in btf_dumper_int
Lee Jones (1):
bpf: Ensure correct locking around vulnerable function find_vpid()
Letu Ren (1):
scsi: 3w-9xxx: Avoid disabling device if failing to enable it
Li Huafei (3):
powerpc/kprobes: Fix null pointer reference in arch_prepare_kprobe()
ARM: 9233/1: stacktrace: Skip frame pointer boundary check for call_with_stack()
ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value
Liang He (21):
hwmon: (gsc-hwmon) Call of_node_get() before of_find_xxx API
drm/bridge: tc358767: Add of_node_put() when breaking out of loop drm:pl111: Add of_node_put() when breaking out of for_each_available_child_of_node() drm/omap: dss: Fix refcount leak bugs
ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API
memory: pl353-smc: Fix refcount leak bug in pl353_smc_probe()
memory: of: Fix refcount leak bug in of_get_ddr_timings()
memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings()
soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe()
soc: qcom: smem_state: Add refcounting for the 'state->of_node'
clk: meson: Hold reference returned by of_get_parent()
clk: st: Hold reference returned by of_get_parent()
clk: oxnas: Hold reference returned by of_get_parent()
clk: qoriq: Hold reference returned by of_get_parent()
clk: berlin: Add of_node_put() for of_get_parent()
clk: sprd: Hold reference returned by of_get_parent()
media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop
phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by of_get_parent()
clk: ti: Balance of_node_get() calls for of_find_node_by_name() powerpc/sysdev/fsl_msi: Add missing of_node_put()
powerpc/pci_dn: Add missing of_node_put()
Lin Yujun (5):
MIPS: SGI-IP30: Fix platform-device leak in bridge_platform_create()
MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create()
slimbus: qcom-ngd: Add error handling in of_qcom_slim_ngd_register
clk: imx: scu: fix memleak on platform_device_add() fails clocksource/drivers/timer-gxp: Add missing error handling in gxp_timer_probe
Linus Walleij (1):
regulator: qcom_rpm: Fix circular deferral regression
Liu Jian (3):
skmsg: Schedule psock work if the cached skb exists on the psock
xfrm: Reinject transport-mode packets through workqueue
net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory
Liu Shixin (1):
mm: hugetlb: fix UAF in hugetlb_handle_userfault
Liviu Dudau (1):
drm/komeda: Fix handling of atomic commits in the atomic_commit_tail hook
Logan Gunthorpe (2):
md/raid5: Ensure stripe_fill happens on non-read IO with journal md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d
Lorenz Bauer (1):
bpf: btf: fix truncated last_member_type_id in btf_struct_resolve
Lorenzo Bianconi (3):
wifi: mt76: mt7615: add mt7615_mutex_acquire/release in mt7615_sta_set_decap_offload
wifi: mt76: mt7915: fix possible unaligned access in mt7915_mac_add_twt_setup
wifi: mt76: connac: fix possible unaligned access in mt76_connac_mcu_add_nested_tlv
Lucas Segarra Fernandez (1):
crypto: qat - fix default value of WDT timer
Lucas Stach (2):
ARM: dts: imx6qdl-kontron-samx6i: hook up DDC i2c bus
drm: bridge: dw_hdmi: only trigger hotplug event on link change
Luciano Leão (1):
x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype
Luiz Augusto von Dentz (5):
Bluetooth: RFCOMM: Fix possible deadlock on socket shutdown/release
Bluetooth: hci_core: Fix not handling link timeouts propertly
Bluetooth: hci_sync: Fix not indicating power state
Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times
Bluetooth: L2CAP: Fix user-after-free
Lukas Czerner (2):
fs: record I_DIRTY_TIME even if inode already has I_DIRTY_INODE
ext4: don't increase iversion counter for ea_inodes
Lukas Wunner (1):
serial: stm32: Deassert Transmit Enable on ->rs485_config()
Luke D. Jones (2):
ALSA: hda/realtek: Correct pin configs for ASUS G533Z
ALSA: hda/realtek: Add quirk for ASUS GV601R laptop
Lyude Paul (1):
drm/nouveau/kms/nv140-: Disable interlacing
M. Vefa Bicakci (2):
xen/gntdev: Prevent leaking grants
xen/gntdev: Accommodate VMA splitting
Maciej Fijalkowski (2):
xsk: Fix backpressure mechanism on Tx selftests/xsk: Add missing close() on netns fd
Maciej S. Szmigiero (1):
btrfs: don't print information about space cache or tree every remount
Maciej W. Rozycki (4):
RISC-V: Make port I/O string accessors actually work
PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge
serial: 8250: Let drivers request full 16550A feature probing
serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices
Manikanta Pubbisetty (2):
wifi: ath11k: Fix incorrect QMI message ID mappings
wifi: ath11k: Register shutdown handler for WCN6750
Marcel Ziswiler (2):
ARM: dts: imx6sl: use tabs for code indent
ARM: dts: imx6sx-udoo-neo: don't use multiple blank lines
Marek Behún (1):
ARM: dts: turris-omnia: Fix mpp26 pin name and comment
Marek Szyprowski (1):
spi: Ensure that sg_table won't be used after being freed
Marijn Suijten (1):
clk: qcom: gcc-sdm660: Use floor ops for SDCC1 clock
Mario Limonciello (3):
thunderbolt: Explicitly enable lane adapter hotplug events at startup
xhci: Don't show warning for reinit on known broken suspend
ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable
Mark Brown (1):
kselftest/arm64: Fix validatation termination record after EXTRA_CONTEXT
Mark Rutland (1):
arm64: ftrace: fix module PLTs with mcount
Mark Zhang (1):
RDMA/cm: Use SLID in the work completion as the DLID in responder side
Martin Blumenstingl (2):
mtd: rawnand: intel: Read the chip-select line from the correct OF node
mtd: rawnand: intel: Remove undocumented compatible string
Martin Povišer (3):
ASoC: tas2764: Allow mono streams
ASoC: tas2764: Drop conflicting set_bias_level power setting
ASoC: tas2764: Fix mute/unmute
Martin Rodriguez Reboredo (1):
kbuild: Add skip_encoding_btf_enum64 option to pahole
Masahiro Yamada (4):
kbuild: remove the target in signal traps when interrupted linux/export: use inline assembler to populate symbol CRCs Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5 Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
Mateusz Kwiatkowski (1):
drm/vc4: vec: Fix timings for VEC modes
Matt Ranostay (1):
arm64: dts: ti: k3-j7200: fix main pinmux range
Maxim Mikityanskiy (1):
net: wwan: iosm: Call mutex_init before locking it
Maxime Ripard (2):
drm/mipi-dsi: Detach devices when removing the host
clk: bcm2835: Make peripheral PLLC critical
Maya Matuszczyk (2):
drm: panel-orientation-quirks: Add quirk for Anbernic Win600
drm: panel-orientation-quirks: Add quirk for Aya Neo Air
Miaoqian Lin (6):
clk: tegra: Fix refcount leak in tegra210_clock_init
clk: tegra: Fix refcount leak in tegra114_clock_init
clk: tegra20: Fix refcount leak in tegra20_clock_init
HSI: omap_ssi: Fix refcount leak in ssi_probe
media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init
clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe
Michael Ellerman (1):
powerpc/configs: Properly enable PAPR_SCM in pseries_defconfig
Michael Grzeschik (1):
usb: gadget: uvc: increase worker prio to WQ_HIGHPRI
Michael Hennerich (1):
iio: dac: ad5593r: Fix i2c read protocol requirements
Michael Walle (2):
ARM: dts: kirkwood: lsxl: fix serial line
ARM: dts: kirkwood: lsxl: remove first ethernet port
Michal Hocko (1):
rcu: Back off upon fill_page_cache_func() allocation failure
Michal Jaron (1):
iavf: Fix race between iavf_close and iavf_reset_task
Michal Koutný (1):
cgroup: Honor caller's cgroup NS when resolving path
Michal Luczaj (1):
KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility
Mickaël Salaün (1):
ksmbd: Fix user namespace mapping
Mika Westerberg (2):
net: thunderbolt: Enable DMA paths only after rings are enabled
thunderbolt: Add back Intel Falcon Ridge end-to-end flow control workaround
Mike Christie (4):
scsi: iscsi: Rename iscsi_conn_queue_work()
scsi: iscsi: Add recv workqueue helpers
scsi: iscsi: Run recv path from workqueue
scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername()
Mike Pattrick (2):
openvswitch: Fix double reporting of drops in dropwatch
openvswitch: Fix overreporting of drops in dropwatch
Mimi Zohar (1):
ima: fix blocking of security.ima xattrs of unsupported algorithms
Ming Qian (4):
media: amphion: insert picture startcode after seek for vc1g format
media: amphion: adjust the encoder's value range of gop size
media: amphion: don't change the colorspace reported by decoder.
media: amphion: fix a bug that vpu core may not resume after suspend
Muralidhar Reddy (1):
ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS
Nam Cao (2):
staging: vt6655: fix some erroneous memory clean-up loops
staging: vt6655: fix potential memory leak
Namjae Jeon (2):
ksmbd: fix incorrect handling of iterate_dir
ksmbd: fix endless loop when encryption for response fails
Nathan Chancellor (4):
usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video() powerpc/math_emu/efp: Include module.h
drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5
Neal Cardwell (1):
tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited
Neil Armstrong (1):
spi: meson-spicc: do not rely on busy flag in pow2 clk ops
Nicholas Piggin (4):
powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5
powerpc/64: mark irqs hard disabled in boot paca
powerpc/64/interrupt: Fix return to masked context after hard-mask irq becomes pending powerpc/64s/interrupt: Fix lost interrupts when returning to soft-masked context
Nico Pache (1):
tracing/osnoise: Fix possible recursive locking in stop_per_cpu_kthreads
Niklas Cassel (4):
ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting()
ata: fix ata_id_has_devslp()
ata: fix ata_id_has_ncq_autosense()
ata: fix ata_id_has_dipm()
Nuno Sá (3):
iio: adc: ad7923: fix channel readings for some variants
iio: inkern: only release the device node when done with it
iio: inkern: fix return value in devm_of_iio_channel_get_by_name()
Oleksandr Shamray (1):
hwmon: (pmbus/mp2888) Fix sensors readouts for MPS Multi-phase mp2888 controller
Ondrej Mosnacek (1):
userfaultfd: open userfaultfds with O_RDONLY
Pali Rohár (4):
powerpc/boot: Explicitly disable usage of SPE instructions
mtd: rawnand: fsl_elbc: Fix none ECC mode
serial: 8250: Fix restoring termios speed after suspend
powerpc: Fix SPE Power ISA properties for e500v1 platforms
Palmer Dabbelt (1):
RISC-V: Re-enable counter access from userspace
Patrick Rudolph (1):
regulator: core: Prevent integer underflow
Patryk Duda (1):
platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure
Pavel Begunkov (4):
io_uring/rw: fix unexpected link breakage io_uring/net: don't update msg_name if not provided io_uring/af_unix: defer registered files gc to io_uring release
io_uring: correct pinned_vm accounting
Perry Yuan (2):
cpufreq: amd-pstate: Fix initial highest_perf value
cpufreq: amd_pstate: fix wrong lowest perf fetch
Peter Collingbourne (1):
arm64: mte: move register initialization to C
Peter Geis (1):
phy: rockchip-inno-usb2: Return zero after otg sync
Peter Harliman Liem (1):
crypto: inside-secure - Change swab to swab32
Peter Xu (1):
mm/uffd: fix warning without PTE_MARKER_UFFD_WP compiled in
Phil Sutter (1):
netfilter: nft_fib: Fix for rpath check with VRF devices
Philip Yang (1):
drm/amdgpu: SDMA update use unlocked iterator
Pierre-Louis Bossart (2):
ASoC: SOF: add quirk to override topology mclk_id
soundwire: intel: fix error handling on dai registration issues
Pin-Yen Lin (1):
drm/bridge: it6505: Power on downstream device in .atomic_enable
Pin-yen Lin (1):
drm/bridge: it6505: Fix the order of DP_SET_POWER commands
Ping-Ke Shih (3):
wifi: rtlwifi: 8192de: correct checking of IQK reload
wifi: rtw89: pci: fix interrupt stuck after leaving low power mode
wifi: rtw89: pci: correct TX resource checking in low power mode
Piyush Mehta (1):
usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after resume bug
Po-Hao Huang (2):
wifi: rtw89: free unused skb to prevent memory leak
wifi: rtw89: fix rx filter after scan
Prashant Malani (1):
platform/chrome: cros_ec_typec: Correct alt mode index
Prathamesh Shete (1):
mmc: sdhci-tegra: Use actual clock rate for SW tuning correction
Qingqing Yang (1):
flow_dissector: Do not count vlan tags inside tunnel payload
Qu Wenruo (4):
btrfs: enhance unsupported compat RO flags handling
btrfs: dump extra info if one free space cache has more bitmaps than it should
btrfs: scrub: properly report super block errors in system log
btrfs: scrub: try to fix super block errors
Quanyang Wang (1):
clk: zynqmp: pll: rectify rate rounding in zynqmp_pll_round_rate
Quentin Monnet (1):
bpftool: Clear errno after libcap's checks
Quentin Schulz (2):
gpio: rockchip: request GPIO mux to pinctrl when setting direction
pinctrl: rockchip: add pinmux_ops.gpio_set_direction callback
Rafael Mendonca (4):
xhci: dbc: Fix memory leak in xhci_alloc_dbc()
ACPI: PCC: Release resources on address space setup failure path drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl()
Raju Lakkaraju (1):
eth: lan743x: reject extts for non-pci11x1x devices
Randy Dunlap (2):
ia64: export memory_add_physaddr_to_nid to fix cxl build error
net: ethernet: ti: davinci_mdio: fix build for mdio bitbang uses
Ravi Gunasekaran (1):
net: ethernet: ti: davinci_mdio: Add workaround for errata i2329
Richard Fitzgerald (1):
soundwire: cadence: Don't overwrite msg->buf during write commands
Richard Gobert (1):
net-next: Fix IP_UNICAST_IF option behavior for connected sockets
Richard Guy Briggs (2):
audit: explicitly check audit_context->context enum value
audit: free audit_proctitle only on task exit
Rik van Riel (1):
livepatch: fix race between fork and KLP transition
Rob Clark (1):
drm/virtio: Fix same-context optimization
Rob Herring (1):
perf: Skip and warn on unknown format 'configN' attrs
Robert Hancock (1):
net: axienet: Switch to 64-bit RX/TX statistics
Robert Marko (1):
clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical
Roberto Sassu (1):
btf: Export bpf_dynptr definition
Robin Guo (1):
usb: musb: Fix musb_gadget.c rxstate overflow bug
Robin Murphy (1):
iommu/iova: Fix module config properly
Rohan McLure (1):
powerpc: Fix fallocate and fadvise64_64 compat parameter combination
Ronnie Sahlberg (1):
cifs: destage dirty pages before re-reading them for cache=none
Russell King (Oracle) (1):
net: mvpp2: fix mvpp2 debugfs leak
Rustam Subkhankulov (1):
platform/chrome: fix double-free in chromeos_laptop_prepare()
Sabrina Dubroca (1):
esp: choose the correct inner protocol for GSO on inter address family tunnels
Sagi Grimberg (1):
nvme-multipath: fix possible hang in live ns resize with ANA access
Sami Tolvanen (1):
objtool: Preserve special st_shndx indexes in elf_update_symbol
Saranya Gopal (1):
ALSA: hda/realtek: Add Intel Reference SSID to support headset keys
Sasha Levin (1):
Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
Saurabh Sengar (1):
md: Replace snprintf with scnprintf
Saurav Kashyap (1):
scsi: qedf: Populate sysfs attributes for vport
Sean Christopherson (3):
KVM: nVMX: Unconditionally purge queued/injected events on nested "exit"
KVM: nVMX: Don't propagate vmcs12's PERF_GLOBAL_CTRL settings to vmcs02
KVM: VMX: Drop bits 31:16 when shoving exception error code into VMCS
Sean Wang (9):
Bluetooth: btusb: mediatek: fix WMT failure during runtime suspend
wifi: mt76: mt7921e: fix race issue between reset and suspend/resume
wifi: mt76: mt7921s: fix race issue between reset and suspend/resume
wifi: mt76: mt7921u: fix race issue between reset and suspend/resume
wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work
wifi: mt76: sdio: poll sta stat when device transmits data
wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap
wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload
wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value
Sebastian Krzyszkowiak (1):
arm64: dts: imx8mq-librem5: Add bq25895 as max17055's power supply
Serge Semin (5):
clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD
clk: baikal-t1: Fix invalid xGMAC PTP clock divider
clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent
clk: baikal-t1: Add SATA internal ref clock buffer
ata: libahci_platform: Sanity check the DT child nodes number
Shaul Triebitz (1):
wifi: cfg80211: get correct AP link chandef
Shengjiu Wang (1):
rpmsg: char: Avoid double destroy of default endpoint
Sherry Sun (1):
tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown
Sherry Wang (1):
drm/amd/display: correct hostvm flag
Shigeru Yoshida (1):
nbd: Fix hung when signal interrupts nbd_start_device_ioctl()
Shiraz Saleem (1):
RDMA/irdma: Validate udata inlen and outlen
Shirish S (1):
drm/amd/display: explicitly disable psr_feature_enable appropriately
Shuai Xue (1):
ACPI: APEI: do not add task_work to kernel thread to avoid memory leak
Shubhrajyoti Datta (1):
tty: xilinx_uartps: Fix the ignore_status
Simon Ser (1):
drm/dp_mst: fix drm_dp_dpcd_read return value checks
Sindhu-Devale (1):
RDMA/irdma: Align AE id codes to correct flush code and event
Song Liu (1):
bpf: use bpf_prog_pack for bpf_dispatcher
Srinivas Kandagatla (1):
ASoC: codecs: tx-macro: fix kcontrol put
Srinivas Pandruvada (1):
thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash
Stanislav Fomichev (1):
bpf: convert cgroup_bpf.progs to hlist
Stefan Berger (1):
selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle
Stefan Metzmacher (1):
io_uring/net: fix fast_iov assignment in io_setup_async_msg()
Stefan Wahren (1):
clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration
Steve French (2):
smb3: do not log confusing message when server returns no network interfaces
smb3: must initialize two ACL struct fields to zero
Steven Rostedt (Google) (13):
ftrace: Still disable enabled records marked as disabled
ring-buffer: Allow splice to read previous partially read pages
ring-buffer: Have the shortest_full queue be the shortest not longest
ring-buffer: Check pending waiters when doing wake ups as well
ring-buffer: Add ring_buffer_wake_waiters()
ring-buffer: Fix race between reset page and reading page
tracing: Wake up ring buffer waiters on closing of the file
tracing: Wake up waiters when tracing is disabled
tracing: Add ioctl() to force ring buffer waiters to wake up
tracing: Do not free snapshot if tracer is on cmdline
tracing: Move duplicate code of trace_kprobe/eprobe.c into header
tracing: Add "(fault)" name injection to kernel probes
tracing: Fix reading strings from synthetic events
Takashi Iwai (10):
ALSA: oss: Fix potential deadlock at unregistration
ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free()
ALSA: usb-audio: Fix potential memory leaks
ALSA: usb-audio: Fix NULL dererence at error path drm/udl: Restore display mode on resume
ALSA: hda: beep: Simplify keep-power-at-enable behavior
ALSA: usb-audio: Properly refcounting clock rate
ALSA: hda/hdmi: Don't skip notification handling during PM operation
ALSA: usb-audio: Register card at the last interface
ALSA: usb-audio: Fix last interface check for registration
Tetsuo Handa (7):
btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer
Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure
net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks() net/ieee802154: reject zero-sized raw_sendmsg()
wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg()
Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create() net/ieee802154: don't warn zero-sized raw_sendmsg()
Thinh Nguyen (1):
usb: common: debug: Check non-standard control requests
Tudor Ambarus (1):
mtd: rawnand: atmel: Unmap streaming DMA mappings
Uwe Kleine-König (2):
iio: ltc2497: Fix reading conversion results
leds: lm3601x: Don't use mutex after it was destroyed
Vadim Fedorenko (1):
bnxt_en: replace reset with config timestamps
Vaishnav Achath (1):
dmaengine: ti: k3-udma: Reset UDMA_CHAN_RT byte counters to prevent overflow
Varun Prakash (1):
nvmet-tcp: add bounds check on Transfer Tag
Ville Syrjälä (8):
drm/i915: Fix watermark calculations for gen12+ RC CCS modifier drm/i915: Fix watermark calculations for gen12+ MC CCS modifier drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier drm/i915: Fix watermark calculations for DG2 CCS modifiers drm/i915: Fix watermark calculations for DG2 CCS+CC modifier drm/i915: Rename block_size()/block_offset()
drm/i915/bios: Validate fp_timing terminator presence drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers
Vincent Knecht (1):
thermal/drivers/qcom/tsens-v0_1: Fix MSM8939 fourth sensor hw_id
Vincent Whitchurch (1):
spi: s3c64xx: Fix large transfers with DMA
Viresh Kumar (1):
cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning
Vitaly Kuznetsov (1):
x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition
Vivek Kasireddy (1):
udmabuf: Set ubuf->sg = NULL if the creation of sg table fails
Waiman Long (2):
tracing: Disable interrupt or preemption before acquiring arch_spinlock_t cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset
Wang Kefeng (2):
ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd()
ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE
Wayne Chang (1):
usb: typec: ucsi: Don't warn on probe deferral
Wei Yongjun (1):
power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type()
Weili Qian (1):
crypto: hisilicon/qm - fix missing put dfx access
Wen Gong (2):
wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state()
wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected
Wenchao Chen (1):
mmc: sdhci-sprd: Fix minimum clock limit
Wenjing Liu (1):
drm/amd/display: polling vid stream status in hpo dp blank
Wenting Zhang (1):
riscv: always honor the CONFIG_CMDLINE_FORCE when parsing dtb
William Dean (1):
mtd: devices: docg3: check the return value of devm_ioremap() in the probe
Wright Feng (1):
wifi: brcmfmac: fix invalid address access when enabling SCAN log level
Xiaoke Wang (2):
staging: rtl8723bs: fix potential memory leak in rtw_init_drv_sw()
staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv()
Xiaomeng Tong (1):
cw1200: fix incorrect check to determine if no element is found in list
Xin Long (1):
sctp: handle the error returned from sctp_auth_asoc_init_active_key
Xu Qiang (3):
spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime()
media: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start()
Xuewen Yan (1):
thermal: cpufreq_cooling: Check the policy first in cpufreq_cooling_register()
YN Chen (1):
wifi: mt76: sdio: fix transmitting packet hangs
Yang Guo (1):
clocksource/drivers/arm_arch_timer: Fix CNTPCT_LO and CNTVCT_LO value
Yang Yingliang (2):
wifi: rtw88: add missing destroy_workqueue() on error path in rtw_core_init() drm/amdgpu: add missing pci_disable_device() in amdgpu_pmops_runtime_resume()
Ye Bin (7):
jbd2: fix potential buffer head reference count leak
jbd2: fix potential use-after-free in jbd2_fc_wait_bufs
jbd2: add miss release buffer head in fc_do_one_pass()
ext4: fix miss release buffer head in ext4_fc_write_inode
ext4: fix potential memory leak in ext4_fc_record_modified_inode()
ext4: fix potential memory leak in ext4_fc_record_regions()
ext4: update 'state->fc_regions_size' after successful memory allocation
Ye Weihua (1):
crypto: hisilicon/zip - fix mismatch in get/set sgl_sge_nr
Yicong Yang (1):
iommu/arm-smmu-v3: Make default domain type of HiSilicon PTT device to identity
Yifan Zha (2):
drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF
Yipeng Zou (2):
tracing: kprobe: Fix kprobe event gen test module on exit
tracing: kprobe: Make gen test module work in arm and riscv
Youghandhar Chintala (1):
wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices
Yu Kuai (4):
blk-throttle: fix that io throttle can only work for single bio
blk-wbt: call rq_qos_add() after wb_normal is initialized
blk-throttle: prevent overflow while calculating wait time
blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init()
Yunke Cao (1):
media: uvcvideo: Use entity get_cur in uvc_ctrl_set
Yunxiang Li (1):
drm/amd/display: Fix vblank refcount in vrr transition
Zeng Jingxiang (1):
gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init()
Zhang Qilong (11):
spi: cadence-quadspi: Fix PM disable depth imbalance in cqspi_probe
spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe
ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe
ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe
ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe
ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe
ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe
ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe
ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe
f2fs: fix race condition on setting FI_NO_EXTENT flag
Zhang Rui (1):
powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain
Zhang Xiaoxu (2):
cifs: Fix the error length of VALIDATE_NEGOTIATE_INFO message
ksmbd: Fix wrong return value and message length check in smb2_ioctl()
Zhang Yi (1):
ext4: ext4_read_bh_lock() should submit IO if the buffer isn't uptodate
Zheng Wang (1):
eth: sp7021: fix use after free bug in spl2sw_nvmem_get_mac_address
Zheng Yejian (1):
ftrace: Properly unset FTRACE_HASH_FL_MOD
Zheng Yongjun (2):
net: fs_enet: Fix wrong check in do_pd_setup powerpc/powernv: add missing of_node_put() in opal_export_attrs()
Zhengchao Shao (1):
crypto: sahara - don't sleep when in softirq
Zheyu Ma (2):
drm/bridge: megachips: Fix a null pointer dereference bug
media: cx88: Fix a null-ptr-deref bug in buffer_prepare()
Zhihao Cheng (2):
quota: Check next/prev free block number after reading from quota file
ext4: fix dir corruption when ext4_dx_add_entry() fails
Zhu Yanjun (2):
RDMA/rxe: Fix "kernel NULL pointer dereference" error RDMA/rxe: Fix the error caused by qp->sk
Ziyang Xuan (1):
can: bcm: check the result of can_send() in bcm_can_tx()
Zong-Zhe Yang (1):
rtw89: ser: leave lps with mutex
Zqiang (1):
rcu: Avoid triggering strict-GP irq-work when RCU is idle
hongao (1):
drm/amdgpu: fix initial connector audio value
sunghwan jung (1):
Revert "usb: storage: Add quirk for Samsung Fit flash"
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/sysfs-bus-iio +1 -1
@@ -188,7 +188,7 @@ Description: Raw capacitance measurement from channel Y. Units after application of scale and offset are nanofarads. -What: /sys/.../iio:deviceX/in_capacitanceY-in_capacitanceZ_raw +What: /sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw KernelVersion: 3.2 Contact: [email protected] Description:
Documentation/admin-guide/kernel-parameters.txt +4 -0
@@ -3765,6 +3765,10 @@ nox2apic [X86-64,APIC] Do not enable x2APIC mode. + NOTE: this parameter will be ignored on systems with the + LEGACY_XAPIC_DISABLED bit set in the + IA32_XAPIC_DISABLE_STATUS MSR. + nps_mtm_hs_ctr= [KNL,ARC] This parameter sets the maximum duration, in cycles, each HW thread of the CTOP can run
Documentation/arm64/silicon-errata.rst +2 -0
@@ -76,6 +76,8 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A55 | #1530923 | ARM64_ERRATUM_1530923 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A55 | #2441007 | ARM64_ERRATUM_2441007 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A57 | #852523 | N/A |
Documentation/filesystems/vfs.rst +3 -0
@@ -274,6 +274,9 @@ or bottom half). This is specifically for the inode itself being marked dirty, not its data. If the update needs to be persisted by fdatasync(), then I_DIRTY_DATASYNC will be set in the flags argument. + I_DIRTY_TIME will be set in the flags in case lazytime is enabled + and struct inode has times updated since the last ->dirty_inode + call. ``write_inode`` this method is called when the VFS needs to write an inode to
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 19 -SUBLEVEL = 16 +SUBLEVEL = 17 EXTRAVERSION = NAME = Superb Owl
arch/arm/Kconfig +0 -1
@@ -1653,7 +1653,6 @@ config CMDLINE choice prompt "Kernel command line type" if CMDLINE != "" default CMDLINE_FROM_BOOTLOADER - depends on ATAGS config CMDLINE_FROM_BOOTLOADER bool "Use bootloader kernel arguments if available"
arch/arm/boot/compressed/misc.c +2 -0
@@ -23,7 +23,9 @@ unsigned int __machine_arch_type;#include <linux/types.h> #include <linux/linkage.h> #include "misc.h" +#ifdef CONFIG_ARCH_EP93XX #include "misc-ep93xx.h" +#endif static void putstr (const char *ptr);
arch/arm/boot/compressed/vmlinux.lds.S +2 -0
@@ -23,6 +23,7 @@ SECTIONS *(.ARM.extab*) *(.note.*) *(.rel.*) + *(.printk_index) /* * Discard any r/w data - this produces a link error if we have any, * which is required for PIC decompression. Local data generates
@@ -57,6 +58,7 @@ SECTIONS *(.rodata) *(.rodata.*) *(.data.rel.ro) + *(.data.rel.ro.*) } .piggydata : { *(.piggydata)
arch/arm/boot/dts/armada-385-turris-omnia.dts +2 -2
@@ -478,7 +478,7 @@ spi0cs0_pins: spi0cs0-pins { marvell,function = "spi0"; }; - spi0cs1_pins: spi0cs1-pins { + spi0cs2_pins: spi0cs2-pins { marvell,pins = "mpp26"; marvell,function = "spi0"; };
@@ -513,7 +513,7 @@ partition@100000 { }; }; - /* MISO, MOSI, SCLK and CS1 are routed to pin header CN11 */ + /* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */ }; &uart0 {
arch/arm/boot/dts/exynos4412-midas.dtsi +1 -1
@@ -585,7 +585,7 @@ image-sensor@10 { clocks = <&camera 1>; clock-names = "extclk"; samsung,camclk-out = <1>; - gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>; + gpios = <&gpm1 6 GPIO_ACTIVE_LOW>; port { is_s5k6a3_ep: endpoint {
arch/arm/boot/dts/exynos4412-origen.dts +1 -1
@@ -95,7 +95,7 @@ &exynos_usbphy { }; &ehci { - samsung,vbus-gpio = <&gpx3 5 1>; + samsung,vbus-gpio = <&gpx3 5 GPIO_ACTIVE_HIGH>; status = "okay"; phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>; phy-names = "hsic0", "hsic1";
arch/arm/boot/dts/imx6dl-riotboard.dts +1 -0
@@ -90,6 +90,7 @@ &fec { pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii-id"; phy-handle = <&rgmii_phy>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6dl.dtsi +3 -0
@@ -84,6 +84,9 @@ soc { ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; };
arch/arm/boot/dts/imx6q-arm2.dts +1 -0
@@ -178,6 +178,7 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6q-evi.dts +1 -0
@@ -146,6 +146,7 @@ &fec { pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6q-mccmon6.dts +1 -0
@@ -100,6 +100,7 @@ &fec { pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; status = "okay";
arch/arm/boot/dts/imx6q.dtsi +3 -0
@@ -163,6 +163,9 @@ soc { ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x40000>; + ranges = <0 0x00900000 0x40000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; };
arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi +5 -1
@@ -263,6 +263,10 @@ &fec { phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; }; +&hdmi { + ddc-i2c-bus = <&i2c2>; +}; + &i2c_intern { pmic@8 { compatible = "fsl,pfuze100";
@@ -387,7 +391,7 @@ &i2c1 { /* HDMI_CTRL */ &i2c2 { - clock-frequency = <375000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; };
arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi +1 -0
@@ -192,6 +192,7 @@ &fec { phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi +1 -0
@@ -334,6 +334,7 @@ &fec { phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi +1 -0
@@ -263,6 +263,7 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +1 -0
@@ -267,6 +267,7 @@ &fec { phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +1 -0
@@ -295,6 +295,7 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii-id"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-tqma6a.dtsi +1 -0
@@ -7,6 +7,7 @@ #include <dt-bindings/gpio/gpio.h> &fec { + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qdl-ts7970.dtsi +1 -0
@@ -192,6 +192,7 @@ &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present;
arch/arm/boot/dts/imx6qp.dtsi +6 -0
@@ -9,12 +9,18 @@ soc { ocram2: sram@940000 { compatible = "mmio-sram"; reg = <0x00940000 0x20000>; + ranges = <0 0x00940000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; }; ocram3: sram@960000 { compatible = "mmio-sram"; reg = <0x00960000 0x20000>; + ranges = <0 0x00960000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; };
arch/arm/boot/dts/imx6sl.dtsi +13 -10
@@ -61,10 +61,10 @@ cpu0: cpu@0 { <792000 1175000>, <396000 975000>; fsl,soc-operating-points = - /* ARM kHz SOC-PU uV */ - <996000 1225000>, - <792000 1175000>, - <396000 1175000>; + /* ARM kHz SOC-PU uV */ + <996000 1225000>, + <792000 1175000>, + <396000 1175000>; clock-latency = <61036>; /* two CLK32 periods */ #cooling-cells = <2>; clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>,
@@ -115,6 +115,9 @@ soc { ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SL_CLK_OCRAM>; };
@@ -222,7 +225,7 @@ ecspi4: spi@2014000 { uart5: serial@2018000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02018000 0x4000>; interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>,
@@ -235,7 +238,7 @@ uart5: serial@2018000 { uart1: serial@2020000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02020000 0x4000>; interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>,
@@ -248,7 +251,7 @@ uart1: serial@2020000 { uart2: serial@2024000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02024000 0x4000>; interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>,
@@ -309,7 +312,7 @@ ssi3: ssi@2030000 { uart3: serial@2034000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02034000 0x4000>; interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>,
@@ -322,7 +325,7 @@ uart3: serial@2034000 { uart4: serial@2038000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02038000 0x4000>; interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>,
@@ -711,7 +714,7 @@ pd_pu: power-domain@1 { #power-domain-cells = <0>; power-supply = <®_pu>; clocks = <&clks IMX6SL_CLK_GPU2D_OVG>, - <&clks IMX6SL_CLK_GPU2D_PODF>; + <&clks IMX6SL_CLK_GPU2D_PODF>; }; pd_disp: power-domain@2 {
arch/arm/boot/dts/imx6sll.dtsi +3 -0
@@ -115,6 +115,9 @@ soc { ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; }; intc: interrupt-controller@a01000 {
arch/arm/boot/dts/imx6sx-udoo-neo.dtsi +6 -8
@@ -226,7 +226,7 @@ lcdc: endpoint { &iomuxc { pinctrl_bt_reg: btreggrp { fsl,pins = - <MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x15059>; + <MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x15059>; }; pinctrl_enet1: enet1grp {
@@ -306,7 +306,6 @@ MX6SX_PAD_LCD1_RESET__GPIO3_IO_27 0x4001b0b0 >; }; - pinctrl_uart1: uart1grp { fsl,pins = <MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1>,
@@ -347,24 +346,23 @@ pinctrl_uart6: uart6grp { pinctrl_otg1_reg: otg1grp { fsl,pins = - <MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0>; + <MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0>; }; - pinctrl_otg2_reg: otg2grp { fsl,pins = - <MX6SX_PAD_NAND_RE_B__GPIO4_IO_12 0x10b0>; + <MX6SX_PAD_NAND_RE_B__GPIO4_IO_12 0x10b0>; }; pinctrl_usb_otg1: usbotg1grp { fsl,pins = - <MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059>, - <MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC 0x10b0>; + <MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059>, + <MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC 0x10b0>; }; pinctrl_usb_otg2: usbot2ggrp { fsl,pins = - <MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC 0x10b0>; + <MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC 0x10b0>; }; pinctrl_usdhc2: usdhc2grp {
arch/arm/boot/dts/imx6sx.dtsi +6 -0
@@ -164,12 +164,18 @@ soc { ocram_s: sram@8f8000 { compatible = "mmio-sram"; reg = <0x008f8000 0x4000>; + ranges = <0 0x008f8000 0x4000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SX_CLK_OCRAM_S>; }; ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SX_CLK_OCRAM>; };
arch/arm/boot/dts/imx7d-sdb.dts +1 -6
@@ -206,12 +206,7 @@ tsc2046@0 { interrupt-parent = <&gpio2>; interrupts = <29 0>; pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; - ti,x-min = /bits/ 16 <0>; - ti,x-max = /bits/ 16 <0>; - ti,y-min = /bits/ 16 <0>; - ti,y-max = /bits/ 16 <0>; - ti,pressure-max = /bits/ 16 <0>; - ti,x-plate-ohms = /bits/ 16 <400>; + touchscreen-max-pressure = <255>; wakeup-source; }; };
arch/arm/boot/dts/kirkwood-lsxl.dtsi +5 -11
@@ -10,6 +10,11 @@ chosen { ocp@f1000000 { pinctrl: pin-controller@10000 { + /* Non-default UART pins */ + pmx_uart0: pmx-uart0 { + marvell,pins = "mpp4", "mpp5"; + }; + pmx_power_hdd: pmx-power-hdd { marvell,pins = "mpp10"; marvell,function = "gpo";
@@ -213,22 +218,11 @@ hdd_power: regulator@2 { &mdio { status = "okay"; - ethphy0: ethernet-phy@0 { - reg = <0>; - }; - ethphy1: ethernet-phy@8 { reg = <8>; }; }; -ð0 { - status = "okay"; - ethernet0-port@0 { - phy-handle = <ðphy0>; - }; -}; - ð1 { status = "okay"; ethernet1-port@0 {
arch/arm/include/asm/stacktrace.h +6 -0
@@ -21,6 +21,9 @@ struct stackframe {struct llist_node *kr_cur;struct task_struct *tsk;#endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER +bool ex_frame; +#endif }; static __always_inline
@@ -34,6 +37,9 @@ void arm_get_current_stackframe(struct pt_regs *regs, struct stackframe *frame) frame->kr_cur =NULL ; frame->tsk = current;#endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER + frame->ex_frame =in_entry_text (frame->pc); +#endif }extern int unwind_frame (struct stackframe *frame);
arch/arm/kernel/return_address.c +1 -0
@@ -47,6 +47,7 @@ void *return_address(unsigned int level) frame.kr_cur =NULL ; frame.tsk = current;#endif + frame.ex_frame = false;walk_stackframe (&frame, save_return_addr, &data);
arch/arm/kernel/stacktrace.c +63 -21
142 lines not on this page · raw message
arch/arm/lib/call_with_stack.S +2 -0
@@ -46,4 +46,6 @@ UNWIND( .setfp fpreg, sp ) pop {fpreg, pc} UNWIND( .fnend ) #endif + .globl call_with_stack_end +call_with_stack_end: ENDPROC(call_with_stack)
arch/arm/mm/dump.c +1 -1
@@ -346,7 +346,7 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start) addr = start + i *PMD_SIZE ; domain =get_domain_name (pmd);if (pmd_none (*pmd) ||pmd_large (*pmd) || !pmd_present (*pmd)) -note_page (st, addr,3 ,pmd_val (*pmd), domain); +note_page (st, addr,4 ,pmd_val (*pmd), domain);else walk_pte (st, pmd, addr, domain);
arch/arm/mm/kasan_init.c +7 -2
@@ -264,12 +264,17 @@ void __init kasan_init(void)/* * 1. The module global variables are in MODULES_VADDR ~ MODULES_END, -* so we need to map this area. +* so we need to map this area if CONFIG_KASAN_VMALLOC=n. With +* VMALLOC support KASAN will manage this region dynamically, +* refer to kasan_populate_vmalloc() and ARM's implementation of +* module_alloc(). * 2. PKMAP_BASE ~ PKMAP_BASE+PMD_SIZE's shadow and MODULES_VADDR * ~ MODULES_END's shadow is in the same PMD_SIZE, so we can't * use kasan_populate_zero_shadow. */ -create_mapping ((void *)MODULES_VADDR , (void *)(PKMAP_BASE +PMD_SIZE )); +if (!IS_ENABLED (CONFIG_KASAN_VMALLOC ) &&IS_ENABLED (CONFIG_MODULES )) +create_mapping ((void *)MODULES_VADDR , (void *)(MODULES_END )); +create_mapping ((void *)PKMAP_BASE , (void *)(PKMAP_BASE +PMD_SIZE ));/* * KAsan may reuse the contents of kasan_early_shadow_pte directly, so
arch/arm/mm/mmu.c +4 -0
@@ -300,7 +300,11 @@ static struct mem_type mem_types[] __ro_after_init = { .prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | L_PTE_XN | L_PTE_RDONLY, .prot_l1 =PMD_TYPE_TABLE , +#ifdef CONFIG_ARM_LPAE + .prot_sect = PMD_TYPE_SECT | L_PMD_SECT_RDONLY | PMD_SECT_AP2, +#else .prot_sect = PMD_TYPE_SECT, +#endif .domain = DOMAIN_KERNEL, }, [MT_ROM] = {
arch/arm64/Kconfig +17 -0
@@ -629,6 +629,23 @@ config ARM64_ERRATUM_1530923 config ARM64_WORKAROUND_REPEAT_TLBI bool +config ARM64_ERRATUM_2441007 + bool "Cortex-A55: Completion of affected memory accesses might not be guaranteed by completion of a TLBI" + default y + select ARM64_WORKAROUND_REPEAT_TLBI + help + This option adds a workaround for ARM Cortex-A55 erratum #2441007. + + Under very rare circumstances, affected Cortex-A55 CPUs + may not handle a race between a break-before-make sequence on one + CPU, and another CPU accessing the same page. This could allow a + store to a page that has been unmapped. + + Work around this by adding the affected CPUs to the list that needs + TLB sequences to be done twice. + + If unsure, say Y. + config ARM64_ERRATUM_1286807 bool "Cortex-A76: Modification of the translation table for a virtual address might lead to read-after-read ordering violation" default y
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts +3 -0
@@ -321,6 +321,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; };
@@ -333,6 +334,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; };
@@ -345,6 +347,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6 MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; }; };
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi +0 -2
@@ -86,7 +86,6 @@ pca9450: pmic@25 { pinctrl-0 = <&pinctrl_pmic>; interrupt-parent = <&gpio1>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; - sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; regulators { reg_vdd_soc: BUCK1 {
@@ -229,7 +228,6 @@ MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3 pinctrl_pmic: pmicgrp { fsl,pins = < MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141 - MX8MM_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x141 >; };
arch/arm64/boot/dts/freescale/imx8mp.dtsi +2 -2
@@ -1168,7 +1168,7 @@ usb_dwc3_0: usb@38100000 { interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; phys = <&usb3_phy0>, <&usb3_phy0>; phy-names = "usb2-phy", "usb3-phy"; - snps,dis-u2-freeclk-exists-quirk; + snps,gfladj-refclk-lpm-sel-quirk; }; };
@@ -1210,7 +1210,7 @@ usb_dwc3_1: usb@38200000 { interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; phys = <&usb3_phy1>, <&usb3_phy1>; phy-names = "usb2-phy", "usb3-phy"; - snps,dis-u2-freeclk-exists-quirk; + snps,gfladj-refclk-lpm-sel-quirk; }; };
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi +1 -0
@@ -1077,6 +1077,7 @@ bat: fuel-gauge@36 { interrupts = <20 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gauge>; + power-supplies = <&bq25895>; maxim,over-heat-temp = <700>; maxim,over-volt = <4500>; maxim,rsns-microohm = <5000>;
arch/arm64/boot/dts/qcom/sdm845-mtp.dts +6 -6
@@ -536,42 +536,42 @@ adc-chan@4c { reg = <ADC5_XO_THERM_100K_PU>; label = "xo_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@4d { reg = <ADC5_AMUX_THM1_100K_PU>; label = "msm_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@4f { reg = <ADC5_AMUX_THM3_100K_PU>; label = "pa_therm1"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@51 { reg = <ADC5_AMUX_THM5_100K_PU>; label = "quiet_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@83 { reg = <ADC5_VPH_PWR>; label = "vph_pwr"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@85 { reg = <ADC5_VCOIN>; label = "vcoin"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; };
arch/arm64/boot/dts/renesas/r9a07g043.dtsi +4 -4
@@ -334,8 +334,8 @@ sci0: serial@1004d000 { compatible = "renesas,r9a07g043-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 406 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 407 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G043_SCI0_CLKP>;
@@ -349,8 +349,8 @@ sci1: serial@1004d400 { compatible = "renesas,r9a07g043-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 410 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 411 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G043_SCI1_CLKP>;
arch/arm64/boot/dts/renesas/r9a07g044.dtsi +4 -4
@@ -394,8 +394,8 @@ sci0: serial@1004d000 { compatible = "renesas,r9a07g044-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 406 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 407 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G044_SCI0_CLKP>;
@@ -409,8 +409,8 @@ sci1: serial@1004d400 { compatible = "renesas,r9a07g044-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 410 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 411 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G044_SCI1_CLKP>;
arch/arm64/boot/dts/renesas/r9a07g054.dtsi +4 -4
@@ -399,8 +399,8 @@ sci0: serial@1004d000 { compatible = "renesas,r9a07g054-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 406 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 407 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G054_SCI0_CLKP>;
@@ -414,8 +414,8 @@ sci1: serial@1004d400 { compatible = "renesas,r9a07g054-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 410 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 411 IRQ_TYPE_EDGE_RISING>, <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G054_SCI1_CLKP>;
arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts +6 -4
@@ -134,15 +134,17 @@ J721E_IOPAD(0xe4, PIN_INPUT, 8) /* (V1) TIMER_IO0.MMC1_SDCD */ >; }; - main_usbss0_pins_default: main-usbss0-pins-default { + vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { pinctrl-single,pins = < - J721E_IOPAD(0x120, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */ + J721E_IOPAD(0xd0, PIN_OUTPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */ >; }; +}; - vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { +&main_pmx1 { + main_usbss0_pins_default: main-usbss0-pins-default { pinctrl-single,pins = < - J721E_IOPAD(0xd0, PIN_OUTPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */ + J721E_IOPAD(0x04, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */ >; }; };
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi +10 -1
@@ -295,7 +295,16 @@ cpts@310d0000 { main_pmx0: pinctrl@11c000 { compatible = "pinctrl-single"; /* Proxy 0 addressing */ - reg = <0x00 0x11c000 0x00 0x2b4>; + reg = <0x00 0x11c000 0x00 0x10c>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + main_pmx1: pinctrl@11c11c { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x11c11c 0x00 0xc>; #pinctrl-cells = <1>; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <0xffffffff>;
arch/arm64/include/asm/mte.h +5 -0
@@ -42,7 +42,9 @@ void mte_sync_tags(pte_t old_pte, pte_t pte);void mte_copy_page_tags (void *kto,const void *kfrom);void mte_thread_init_user (void );void mte_thread_switch (struct task_struct *next); +void mte_cpu_setup (void );void mte_suspend_enter (void ); +void mte_suspend_exit (void );long set_mte_ctrl (struct task_struct *task,unsigned long arg);long get_mte_ctrl (struct task_struct *task); int mte_ptrace_copy_tags(struct task_struct *child, long request,
@@ -72,6 +74,9 @@ static inline void mte_thread_switch(struct task_struct *next)static inline void mte_suspend_enter (void ) { } +static inline void mte_suspend_exit (void ) +{ +}static inline long set_mte_ctrl (struct task_struct *task,unsigned long arg) {return 0 ;
arch/arm64/kernel/cpu_errata.c +5 -0
@@ -214,6 +214,11 @@ static const struct arm64_cpu_capabilities arm64_repeat_tlbi_list[] = { ERRATA_MIDR_RANGE(MIDR_QCOM_KRYO_4XX_GOLD, 0xc, 0xe, 0xf, 0xe), },#endif +#ifdef CONFIG_ARM64_ERRATUM_2441007 + { + ERRATA_MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), + }, +#endif #ifdef CONFIG_ARM64_ERRATUM_2441009 {/* Cortex-A510 r0p0 -> r1p1. Fixed in r1p2 */
arch/arm64/kernel/cpufeature.c +2 -1
@@ -1962,7 +1962,8 @@ static void bti_enable(const struct arm64_cpu_capabilities *__unused)static void cpu_enable_mte (struct arm64_cpu_capabilities const *cap) {sysreg_clear_set (sctlr_el1,0 , SCTLR_ELx_ATA |SCTLR_EL1_ATA0 ); -isb (); + +mte_cpu_setup ();/* * Clear the tags in the zero page. This needs to be done via the
arch/arm64/kernel/ftrace.c +16 -1
@@ -217,11 +217,26 @@ int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec,unsigned long pc = rec->ip;u32 old =0 , new; + new =aarch64_insn_gen_nop (); + +/* +* When using mcount, callsites in modules may have been initalized to +* call an arbitrary module PLT (which redirects to the _mcount stub) +* rather than the ftrace PLT we'll use at runtime (which redirects to +* the ftrace trampoline). We can ignore the old PLT when initializing +* the callsite. +* +* Note: 'mod' is only set at module load time. +*/ +if (!IS_ENABLED (CONFIG_DYNAMIC_FTRACE_WITH_REGS ) && +IS_ENABLED (CONFIG_ARM64_MODULE_PLTS ) && mod) { +return aarch64_insn_patch_text_nosync ((void *)pc, new); + } +if (!ftrace_find_callable_addr (rec, mod, &addr))return -EINVAL ; old =aarch64_insn_gen_branch_imm (pc, addr,AARCH64_INSN_BRANCH_LINK ); - new =aarch64_insn_gen_nop ();return ftrace_modify_code (pc, old, new, true); }
arch/arm64/kernel/mte.c +51 -0
63 lines not on this page · raw message
arch/arm64/kernel/suspend.c +2 -0
@@ -43,6 +43,8 @@ void notrace __cpu_suspend_exit(void) {unsigned int cpu =smp_processor_id (); +mte_suspend_exit (); +/* * We are resuming from reset with the idmap active in TTBR0_EL1. * We must uninstall the idmap and restore the expected MMU
arch/arm64/kernel/topology.c +0 -40
@@ -22,46 +22,6 @@#include <asm/cputype.h> #include <asm/topology.h> -void store_cpu_topology (unsigned int cpuid) -{ -struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; -u64 mpidr; - -if (cpuid_topo->package_id !=-1 ) - goto topology_populated; - - mpidr =read_cpuid_mpidr (); - -/* Uniprocessor systems can rely on default topology values */ -if (mpidr &MPIDR_UP_BITMASK ) -return ; - -/* -* This would be the place to create cpu topology based on MPIDR. -* -* However, it cannot be trusted to depict the actual topology; some -* pieces of the architecture enforce an artificial cap on Aff0 values -* (e.g. GICv3's ICC_SGI1R_EL1 limits it to 15), leading to an -* artificial cycling of Aff1, Aff2 and Aff3 values. IOW, these end up -* having absolutely no relationship to the actual underlying system -* topology, and cannot be reasonably used as core / package ID. -* -* If the MT bit is set, Aff0 *could* be used to define a thread ID, but -* we still wouldn't be able to obtain a sane core ID. This means we -* need to entirely ignore MPIDR for any topology deduction. -*/ - cpuid_topo->thread_id =-1 ; - cpuid_topo->core_id = cpuid; - cpuid_topo->package_id =cpu_to_node (cpuid); - -pr_debug ("CPU%u: cluster %d core %d thread %d mpidr %#016llx\n" , - cpuid, cpuid_topo->package_id, cpuid_topo->core_id, - cpuid_topo->thread_id, mpidr); - -topology_populated: -update_siblings_masks (cpuid); -} -#ifdef CONFIG_ACPI static bool __init acpi_cpu_is_threaded (int cpu) {
arch/arm64/mm/proc.S +5 -41
68 lines not on this page · raw message
arch/ia64/mm/numa.c +1 -0
@@ -75,5 +75,6 @@ int memory_add_physaddr_to_nid(u64 addr)return 0 ;return nid; } +EXPORT_SYMBOL (memory_add_physaddr_to_nid);#endif #endif
arch/mips/bcm47xx/prom.c +2 -2
@@ -86,7 +86,7 @@ static __init void prom_init_mem(void)pr_debug ("Assume 128MB RAM\n" );break ; } -if (!memcmp (prom_init, prom_init + mem,32 )) +if (!memcmp ((void *)prom_init, (void *)prom_init + mem,32 ))break ; } lowmem = mem;
@@ -159,7 +159,7 @@ void __init bcm47xx_prom_highmem_init(void) off =EXTVBASE +__pa (off);for (extmem =128 <<20 ; extmem <512 <<20 ; extmem <<=1 ) { -if (!memcmp (prom_init, (void *)(off + extmem),16 )) +if (!memcmp ((void *)prom_init, (void *)(off + extmem),16 ))break ; } extmem -= lowmem;
arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts +3 -3
@@ -83,12 +83,12 @@ &pcie { &gmac1 { status = "okay"; - phy-handle = <ðphy7>; + phy-handle = <ðphy5>; }; &mdio { - ethphy7: ethernet-phy@7 { - reg = <7>; + ethphy5: ethernet-phy@5 { + reg = <5>; phy-mode = "rgmii-rxid"; }; };
arch/mips/sgi-ip27/ip27-xtalk.c +50 -20
104 lines not on this page · raw message
arch/mips/sgi-ip30/ip30-xtalk.c +50 -20
101 lines not on this page · raw message
arch/parisc/include/asm/pgtable.h +6 -1
@@ -192,6 +192,11 @@ extern void __update_cache(pte_t pte);#define _PAGE_PRESENT_BIT 22/* (0x200) Software: translation valid */ #define _PAGE_HPAGE_BIT 21/* (0x400) Software: Huge Page */ #define _PAGE_USER_BIT 20/* (0x800) Software: User accessible page */ +#ifdef CONFIG_HUGETLB_PAGE +#define _PAGE_SPECIAL_BIT _PAGE_DMB_BIT/* DMB feature is currently unused */ +#else +#define _PAGE_SPECIAL_BIT _PAGE_HPAGE_BIT/* use unused HUGE PAGE bit */ +#endif /* N.B. The bits are defined in terms of a 32 bit word above, so the */ /* following macro is ok for both 32 and 64 bit. */
@@ -219,7 +224,7 @@ extern void __update_cache(pte_t pte);#define _PAGE_PRESENT (1 << xlate_pabit(_PAGE_PRESENT_BIT))#define _PAGE_HUGE (1 << xlate_pabit(_PAGE_HPAGE_BIT))#define _PAGE_USER (1 << xlate_pabit(_PAGE_USER_BIT)) -#define _PAGE_SPECIAL (_PAGE_DMB) +#define _PAGE_SPECIAL (1 << xlate_pabit(_PAGE_SPECIAL_BIT))#define _PAGE_TABLE (_PAGE_PRESENT | _PAGE_READ | _PAGE_WRITE | _PAGE_DIRTY | _PAGE_ACCESSED)#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_SPECIAL)
arch/parisc/kernel/entry.S +8 -0
@@ -499,6 +499,10 @@ * Finally, _PAGE_READ goes in the top bit of PL1 (so we * trigger an access rights trap in user space if the user * tries to read an unreadable page */ +#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT + /* need to drop DMB bit, as it's used as SPECIAL flag */ + depi 0,_PAGE_SPECIAL_BIT,1,\pte +#endif depd \pte,8,7,\prot /* PAGE_USER indicates the page can be read with user privileges,
@@ -529,6 +533,10 @@ * makes the tlb entry for the differently formatted pa11 * insertion instructions */ .macro make_insert_tlb_11 spc,pte,prot +#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT + /* need to drop DMB bit, as it's used as SPECIAL flag */ + depi 0,_PAGE_SPECIAL_BIT,1,\pte +#endif zdep \spc,30,15,\prot dep \pte,8,7,\prot extru,= \pte,_PAGE_NO_CACHE_BIT,1,%r0
arch/powerpc/Kconfig +1 -1
@@ -817,7 +817,7 @@ config DATA_SHIFT default 24 if STRICT_KERNEL_RWX && PPC64 range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx - range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_FSL_BOOKE + range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && FSL_BOOKE default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 default 18 if (DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 default 23 if STRICT_KERNEL_RWX && PPC_8xx
arch/powerpc/Makefile +1 -1
@@ -152,7 +152,7 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power9,-mtune=power8) else CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5)) -CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4) +CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4 endif else ifdef CONFIG_PPC_BOOK3E_64 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
arch/powerpc/boot/Makefile +1 -0
@@ -34,6 +34,7 @@ endif BOOTCFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx \ + $(call cc-option,-mno-spe) $(call cc-option,-mspe=no) \ -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc \ $(LINUXINCLUDE)
arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi new file +51 -0
51 lines not on this page · raw message
arch/powerpc/boot/dts/fsl/mpc8540ads.dts +1 -1
@@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8540ADS";
arch/powerpc/boot/dts/fsl/mpc8541cds.dts +1 -1
@@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8541CDS";
arch/powerpc/boot/dts/fsl/mpc8555cds.dts +1 -1
@@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8555CDS";
arch/powerpc/boot/dts/fsl/mpc8560ads.dts +1 -1
@@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8560ADS";
arch/powerpc/configs/pseries_defconfig +1 -0
@@ -40,6 +40,7 @@ CONFIG_PPC_SPLPAR=y CONFIG_DTL=y CONFIG_PPC_SMLPAR=y CONFIG_IBMEBUS=y +CONFIG_LIBNVDIMM=m CONFIG_PAPR_SCM=m CONFIG_PPC_SVM=y # CONFIG_PPC_PMAC is not set
arch/powerpc/include/asm/syscalls.h +12 -0
@@ -8,6 +8,18 @@#include <linux/types.h> #include <linux/compat.h> +/* +* long long munging: +* The 32 bit ABI passes long longs in an odd even register pair. +* High and low parts are swapped depending on endian mode, +* so define a macro (similar to mips linux32) to handle that. +*/ +#ifdef __LITTLE_ENDIAN__ +#define merge_64 (low, high) (((u64)high << 32) | low) +#else +#define merge_64 (high, low) (((u64)high << 32) | low) +#endif +struct rtas_args ; asmlinkage long sys_mmap(unsigned long addr, size_t len,
arch/powerpc/kernel/interrupt.c +0 -10
@@ -592,16 +592,6 @@ notrace unsigned long interrupt_exit_kernel_prepare(struct pt_regs *regs)if (unlikely (stack_store))__hard_EE_RI_disable (); -/* -* Returning to a kernel context with local irqs disabled. -* Here, if EE was enabled in the interrupted context, enable -* it on return as well. A problem exists here where a soft -* masked interrupt may have cleared MSR[EE] and set HARD_DIS -* here, and it will still exist on return to the caller. This -* will be resolved by the masked interrupt firing again. -*/ -if (regs->msr &MSR_EE ) - local_paca->irq_happened &= ~PACA_IRQ_HARD_DIS ;#endif /* CONFIG_PPC64 */ }
arch/powerpc/kernel/interrupt_64.S +42 -3
57 lines not on this page · raw message
arch/powerpc/kernel/kprobes.c +7 -1
@@ -161,7 +161,13 @@ int arch_prepare_kprobe(struct kprobe *p)preempt_disable (); prev =get_kprobe (p->addr -1 );preempt_enable_no_resched (); -if (prev &&ppc_inst_prefixed (ppc_inst_read (prev->ainsn.insn))) { + +/* +* When prev is a ftrace-based kprobe, we don't have an insn, and it +* doesn't probe for prefixed instruction. +*/ +if (prev && !kprobe_ftrace (prev) && +ppc_inst_prefixed (ppc_inst_read (prev->ainsn.insn))) {printk ("Cannot register a kprobe on the second word of prefixed instruction\n" ); ret = -EINVAL ; }
arch/powerpc/kernel/pci_dn.c +1 -0
@@ -330,6 +330,7 @@ struct pci_dn *pci_add_device_node_info(struct pci_controller *hose,INIT_LIST_HEAD (&pdn->list); parent =of_get_parent (dn); pdn->parent = parent ?PCI_DN (parent) :NULL ; +of_node_put (parent);if (pdn->parent)list_add_tail (&pdn->list, &pdn->parent->child_list);
arch/powerpc/kernel/setup_64.c +3 -1
@@ -183,8 +183,10 @@ static void __init fixup_boot_paca(void)get_paca ()->cpu_start =1 ;/* Allow percpu accesses to work until we setup percpu data */ get_paca ()->data_offset =0 ; -/* Mark interrupts disabled in PACA */ +/* Mark interrupts soft and hard disabled in PACA */ irq_soft_mask_set (IRQS_DISABLED ); +get_paca ()->irq_happened =PACA_IRQ_HARD_DIS ; +WARN_ON (mfmsr () &MSR_EE ); }static void __init configure_exceptions (void )
arch/powerpc/kernel/sys_ppc32.c +1 -13
@@ -56,18 +56,6 @@ unsigned long compat_sys_mmap2(unsigned long addr, size_t len,return sys_mmap (addr, len, prot, flags, fd, pgoff <<12 ); } -/* -* long long munging: -* The 32 bit ABI passes long longs in an odd even register pair. -* High and low parts are swapped depending on endian mode, -* so define a macro (similar to mips linux32) to handle that. -*/ -#ifdef __LITTLE_ENDIAN__ -#define merge_64 (low, high) ((u64)high << 32) | low -#else -#define merge_64 (high, low) ((u64)high << 32) | low -#endif -compat_ssize_t compat_sys_pread64 (unsigned int fd,char __user *ubuf,compat_size_t count,u32 reg6,u32 pos1,u32 pos2) {
@@ -94,7 +82,7 @@ asmlinkage int compat_sys_truncate64(const char __user * path, u32 reg4,asmlinkage long compat_sys_fallocate (int fd,int mode,u32 offset1,u32 offset2,u32 len1,u32 len2) { -return ksys_fallocate (fd, mode, ((loff_t )offset1 <<32 ) | offset2, +return ksys_fallocate (fd, mode,merge_64 (offset1, offset2),merge_64 (len1, len2)); }
arch/powerpc/kernel/syscalls.c +2 -2
@@ -98,8 +98,8 @@ long ppc64_personality(unsigned long personality)long ppc_fadvise64_64 (int fd,int advice,u32 offset_high,u32 offset_low,u32 len_high,u32 len_low) { -return ksys_fadvise64_64 (fd, (u64 )offset_high <<32 | offset_low, - (u64 )len_high <<32 | len_low, advice); +return ksys_fadvise64_64 (fd,merge_64 (offset_high, offset_low), +merge_64 (len_high, len_low), advice); }SYSCALL_DEFINE0 (switch_endian)
arch/powerpc/math-emu/math_efp.c +1 -0
@@ -17,6 +17,7 @@#include <linux/types.h> #include <linux/prctl.h> +#include <linux/module.h> #include <linux/uaccess.h> #include <asm/reg.h>
arch/powerpc/platforms/powernv/opal.c +1 -0
@@ -892,6 +892,7 @@ static void opal_export_attrs(void) kobj =kobject_create_and_add ("exports" , opal_kobj);if (!kobj) {pr_warn ("kobject_create_and_add() of exports failed\n" ); +of_node_put (np);return ; }
arch/powerpc/platforms/pseries/vas.c +1 -1
@@ -332,7 +332,7 @@ static struct vas_window *vas_allocate_window(int vas_id, u64 flags,* So no unpacking needs to be done. */ rc =plpar_hcall9 (H_HOME_NODE_ASSOCIATIVITY , domain, -VPHN_FLAG_VCPU ,smp_processor_id ()); +VPHN_FLAG_VCPU ,hard_smp_processor_id ());if (rc !=H_SUCCESS ) {pr_err ("H_HOME_NODE_ASSOCIATIVITY error: %d\n" , rc); goto out;
arch/powerpc/sysdev/fsl_msi.c +2 -0
@@ -209,8 +209,10 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)dev_err (&pdev->dev,"node %pOF has an invalid fsl,msi phandle %u\n" , hose->dn, np->phandle); +of_node_put (np);return -EINVAL ; } +of_node_put (np); }msi_for_each_desc (entry, &pdev->dev,MSI_DESC_NOTASSOCIATED ) {
arch/riscv/Kconfig +1 -1
@@ -52,7 +52,7 @@ config RISCV select COMMON_CLK select CPU_PM if CPU_IDLE select EDAC_SUPPORT - select GENERIC_ARCH_TOPOLOGY if SMP + select GENERIC_ARCH_TOPOLOGY select GENERIC_ATOMIC64 if !64BIT select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_EARLY_IOREMAP
arch/riscv/Makefile +2 -0
@@ -37,6 +37,7 @@ else endif ifeq ($(CONFIG_LD_IS_LLD),y) +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0) KBUILD_CFLAGS += -mno-relax KBUILD_AFLAGS += -mno-relax ifndef CONFIG_AS_IS_LLVM
@@ -44,6 +45,7 @@ ifndef CONFIG_AS_IS_LLVM KBUILD_AFLAGS += -Wa,-mno-relax endif endif +endif # ISA string setting riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
arch/riscv/include/asm/io.h +8 -8
@@ -101,9 +101,9 @@ __io_reads_ins(reads, u32, l, __io_br(), __io_ar(addr)) __io_reads_ins(ins, u8, b, __io_pbr(), __io_par(addr)) __io_reads_ins(ins, u16, w, __io_pbr(), __io_par(addr)) __io_reads_ins(ins, u32, l, __io_pbr(), __io_par(addr)) -#define insb (addr, buffer, count) __insb((void __iomem *)(long)addr, buffer, count) -#define insw (addr, buffer, count) __insw((void __iomem *)(long)addr, buffer, count) -#define insl (addr, buffer, count) __insl((void __iomem *)(long)addr, buffer, count) +#define insb (addr, buffer, count) __insb(PCI_IOBASE + (addr), buffer, count) +#define insw (addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count) +#define insl (addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count) __io_writes_outs(writes, u8, b, __io_bw(), __io_aw())__io_writes_outs (writes, u16, w,__io_bw (),__io_aw ())
@@ -115,22 +115,22 @@ __io_writes_outs(writes, u32, l, __io_bw(), __io_aw()) __io_writes_outs(outs, u8, b, __io_pbw(), __io_paw()) __io_writes_outs(outs, u16, w, __io_pbw(), __io_paw()) __io_writes_outs(outs, u32, l, __io_pbw(), __io_paw()) -#define outsb (addr, buffer, count) __outsb((void __iomem *)(long)addr, buffer, count) -#define outsw (addr, buffer, count) __outsw((void __iomem *)(long)addr, buffer, count) -#define outsl (addr, buffer, count) __outsl((void __iomem *)(long)addr, buffer, count) +#define outsb (addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count) +#define outsw (addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count) +#define outsl (addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count)#ifdef CONFIG_64BIT __io_reads_ins(reads, u64, q, __io_br(), __io_ar(addr))#define readsq (addr, buffer, count) __readsq(addr, buffer, count) __io_reads_ins(ins, u64, q, __io_pbr(), __io_par(addr)) -#define insq (addr, buffer, count) __insq((void __iomem *)addr, buffer, count) +#define insq (addr, buffer, count) __insq(PCI_IOBASE + (addr), buffer, count) __io_writes_outs(writes, u64, q, __io_bw(), __io_aw())#define writesq (addr, buffer, count) __writesq(addr, buffer, count) __io_writes_outs(outs, u64, q, __io_pbr(), __io_paw()) -#define outsq (addr, buffer, count) __outsq((void __iomem *)addr, buffer, count) +#define outsq (addr, buffer, count) __outsq(PCI_IOBASE + (addr), buffer, count)#endif #include <asm-generic/io.h>
arch/riscv/include/asm/mmu.h +0 -1
@@ -16,7 +16,6 @@ typedef struct {atomic_long_t id;#endif void *vdso; -void *vdso_info;#ifdef CONFIG_SMP /* A local icache flush is needed before user execution can resume. */ cpumask_t icache_stale_mask;
arch/riscv/kernel/setup.c +2 -2
@@ -251,10 +251,10 @@ static void __init parse_dtb(void)pr_info ("Machine model: %s\n" , name);dump_stack_set_arch_desc ("%s (DT)" , name); } -return ; + }else { +pr_err ("No DTB passed to the kernel\n" ); } -pr_err ("No DTB passed to the kernel\n" );#ifdef CONFIG_CMDLINE_FORCE strscpy (boot_command_line,CONFIG_CMDLINE ,COMMAND_LINE_SIZE );pr_info ("Forcing kernel command line to: %s\n" , boot_command_line);
arch/riscv/kernel/smpboot.c +2 -1
@@ -49,6 +49,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)unsigned int curr_cpuid; curr_cpuid =smp_processor_id (); +store_cpu_topology (curr_cpuid);numa_store_cpu_info (curr_cpuid);numa_add_cpu (curr_cpuid);
@@ -161,9 +162,9 @@ asmlinkage __visible void smp_callin(void)mmgrab (mm); current->active_mm = mm; +store_cpu_topology (curr_cpuid);notify_cpu_starting (curr_cpuid);numa_add_cpu (curr_cpuid); -update_siblings_masks (curr_cpuid);set_cpu_online (curr_cpuid,1 );/*
arch/riscv/kernel/sys_riscv.c +0 -3
@@ -18,9 +18,6 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len,if (unlikely (offset & (~PAGE_MASK >> page_shift_offset)))return -EINVAL ; -if (unlikely ((prot &PROT_WRITE ) && !(prot &PROT_READ ))) -return -EINVAL ; -return ksys_mmap_pgoff (addr, len, prot, flags, fd, offset >> (PAGE_SHIFT - page_shift_offset)); }
arch/riscv/kernel/vdso.c +10 -3
@@ -60,6 +60,11 @@ struct __vdso_info {struct vm_special_mapping *cm; }; +static struct __vdso_info vdso_info; +#ifdef CONFIG_COMPAT +static struct __vdso_info compat_vdso_info; +#endif +static int vdso_mremap (const struct vm_special_mapping *sm,struct vm_area_struct *new_vma) {
@@ -114,15 +119,18 @@ int vdso_join_timens(struct task_struct *task, struct time_namespace *ns) {struct mm_struct *mm = task->mm;struct vm_area_struct *vma; -struct __vdso_info *vdso_info = mm->context.vdso_info;mmap_read_lock (mm);for (vma = mm->mmap; vma; vma = vma->vm_next) {unsigned long size = vma->vm_end - vma->vm_start; -if (vma_is_special_mapping (vma, vdso_info->dm)) +if (vma_is_special_mapping (vma, vdso_info.dm))zap_page_range (vma, vma->vm_start, size); +#ifdef CONFIG_COMPAT +if (vma_is_special_mapping (vma, compat_vdso_info.dm)) +zap_page_range (vma, vma->vm_start, size); +#endif }mmap_read_unlock (mm);
@@ -264,7 +272,6 @@ static int __setup_additional_pages(struct mm_struct *mm, vdso_base +=VVAR_SIZE ; mm->context.vdso = (void *)vdso_base; - mm->context.vdso_info = (void *)vdso_info; ret = _install_special_mapping(mm, vdso_base, vdso_text_len,
arch/riscv/mm/fault.c +2 -1
@@ -184,7 +184,8 @@ static inline bool access_error(unsigned long cause, struct vm_area_struct *vma) }break ;case EXC_LOAD_PAGE_FAULT : -if (!(vma->vm_flags &VM_READ )) { +/* Write implies read */ +if (!(vma->vm_flags & (VM_READ |VM_WRITE ))) {return true; }break ;
arch/sh/include/asm/sections.h +1 -1
@@ -4,7 +4,7 @@#include <asm-generic/sections.h> -extern long __machvec_start, __machvec_end; +extern char __machvec_start[], __machvec_end[];extern char __uncached_start, __uncached_end;extern char __start_eh_frame[], __stop_eh_frame[];
arch/sh/kernel/machvec.c +5 -5
@@ -20,8 +20,8 @@#define MV_NAME_SIZE 32#define for_each_mv (mv) \ - for ((mv) = (struct sh_machine_vector *)&__machvec_start; \ - (mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \ + for ((mv) = (struct sh_machine_vector *)__machvec_start; \ + (mv) && (unsigned long)(mv) < (unsigned long)__machvec_end; \ (mv)++)static struct sh_machine_vector *__init get_mv_byname (const char *name)
@@ -87,8 +87,8 @@ void __init sh_mv_setup(void)if (!machvec_selected) {unsigned long machvec_size; - machvec_size = ((unsigned long )&__machvec_end - - (unsigned long )&__machvec_start); + machvec_size = ((unsigned long )__machvec_end - + (unsigned long )__machvec_start);/* * Sanity check for machvec section alignment. Ensure
@@ -102,7 +102,7 @@ void __init sh_mv_setup(void)* vector (usually the only one) from .machvec.init. */ if (machvec_size >=sizeof (struct sh_machine_vector )) - sh_mv = *(struct sh_machine_vector *)&__machvec_start; + sh_mv = *(struct sh_machine_vector *)__machvec_start; }pr_notice ("Booting machvec: %s\n" ,get_system_type ());
arch/um/kernel/um_arch.c +1 -1
@@ -96,7 +96,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)static void *c_start (struct seq_file *m,loff_t *pos) { -return *pos <NR_CPUS ? cpu_data + *pos :NULL ; +return *pos < nr_cpu_ids ? cpu_data + *pos :NULL ; }static void *c_next (struct seq_file *m,void *v,loff_t *pos)
arch/x86/Kconfig +6 -1
@@ -450,6 +450,11 @@ config X86_X2APIC This allows 32-bit apic IDs (so it can support very large systems), and accesses the local apic via MSRs not via mmio. + Some Intel systems circa 2022 and later are locked into x2APIC mode + and can not fall back to the legacy APIC modes if SGX or TDX are + enabled in the BIOS. They will be unable to boot without enabling + this option. + If you don't know what to do here, say N. config X86_MPPARSE
@@ -1930,7 +1935,7 @@ endchoice config X86_SGX bool "Software Guard eXtensions (SGX)" - depends on X86_64 && CPU_SUP_INTEL + depends on X86_64 && CPU_SUP_INTEL && X86_X2APIC depends on CRYPTO=y depends on CRYPTO_SHA256=y select SRCU
arch/x86/include/asm/cpu.h +2 -0
@@ -94,4 +94,6 @@ static inline bool intel_cpu_signatures_match(unsigned int s1, unsigned int p1, return p1 & p2; } +extern u64 x86_read_arch_cap_msr (void ); +#endif /* _ASM_X86_CPU_H */
arch/x86/include/asm/hyperv-tlfs.h +2 -2
@@ -546,7 +546,7 @@ struct hv_enlightened_vmcs {u64 guest_rip;u32 hv_clean_fields; -u32 hv_padding_32; +u32 padding32_1;u32 hv_synthetic_controls;struct {u32 nested_flush_hypercall:1 ;
@@ -554,7 +554,7 @@ struct hv_enlightened_vmcs { u32 reserved:30; }__packed hv_enlightenments_control;u32 hv_vp_id; - +u32 padding32_2;u64 hv_vm_id;u64 partition_assist_page;u64 padding64_4[4 ];
arch/x86/include/asm/microcode.h +1 -0
@@ -9,6 +9,7 @@struct ucode_patch {struct list_head plist;void *data;/* Intel uses only this one */ +unsigned int size;u32 patch_id;u16 equiv_cpu; };
arch/x86/include/asm/msr-index.h +13 -0
@@ -155,6 +155,11 @@* Return Stack Buffer Predictions. */ +#define ARCH_CAP_XAPIC_DISABLE BIT(21)/* +* IA32_XAPIC_DISABLE_STATUS MSR +* supported +*/ +#define MSR_IA32_FLUSH_CMD 0x0000010b#define L1D_FLUSH BIT(0)/* * Writeback and invalidate the
@@ -1046,4 +1051,12 @@#define MSR_IA32_HW_FEEDBACK_PTR 0x17d0#define MSR_IA32_HW_FEEDBACK_CONFIG 0x17d1 +/* x2APIC locked status */ +#define MSR_IA32_XAPIC_DISABLE_STATUS 0xBD +#define LEGACY_XAPIC_DISABLED BIT(0)/* +* x2APIC mode is locked and +* disabling x2APIC will cause +* a #GP +*/ +#endif /* _ASM_X86_MSR_INDEX_H */
arch/x86/include/asm/paravirt_types.h +10 -1
@@ -414,8 +414,17 @@ int paravirt_disable_iospace(void); "=c" (__ecx)#define PVOP_CALL_CLOBBERS PVOP_VCALL_CLOBBERS, "=a" (__eax) -/* void functions are still allowed [re]ax for scratch */ +/* +* void functions are still allowed [re]ax for scratch. +* +* The ZERO_CALL_USED REGS feature may end up zeroing out callee-saved +* registers. Make sure we model this with the appropriate clobbers. +*/ +#ifdef CONFIG_ZERO_CALL_USED_REGS +#define PVOP_VCALLEE_CLOBBERS "=a" (__eax), PVOP_VCALL_CLOBBERS +#else #define PVOP_VCALLEE_CLOBBERS "=a" (__eax) +#endif #define PVOP_CALLEE_CLOBBERS PVOP_VCALLEE_CLOBBERS#define EXTRA_CLOBBERS , "r8", "r9", "r10", "r11"
arch/x86/kernel/apic/apic.c +40 -4
86 lines not on this page · raw message
arch/x86/kernel/cpu/feat_ctl.c +1 -1
@@ -1,11 +1,11 @@// SPDX-License-Identifier: GPL-2.0 #include <linux/tboot.h> +#include <asm/cpu.h> #include <asm/cpufeature.h> #include <asm/msr-index.h> #include <asm/processor.h> #include <asm/vmx.h> -#include "cpu.h" #undef pr_fmt#define pr_fmt (fmt) "x86/cpu: " fmt
arch/x86/kernel/cpu/mce/apei.c +12 -1
@@ -29,15 +29,26 @@void apei_mce_report_mem_error (int severity,struct cper_sec_mem_err *mem_err) {struct mce m; +int lsb;if (!(mem_err->validation_bits &CPER_MEM_VALID_PA ))return ; +/* +* Even if the ->validation_bits are set for address mask, +* to be extra safe, check and reject an error radius '0', +* and fall back to the default page size. +*/ +if (mem_err->validation_bits &CPER_MEM_VALID_PA_MASK ) + lsb =find_first_bit ((void *)&mem_err->physical_addr_mask,PAGE_SHIFT ); +else + lsb =PAGE_SHIFT ; +mce_setup (&m); m.bank =-1 ;/* Fake a memory read error with unknown channel */ m.status =MCI_STATUS_VAL |MCI_STATUS_EN |MCI_STATUS_ADDRV |MCI_STATUS_MISCV |0x9f ; - m.misc = (MCI_MISC_ADDR_PHYS <<6 ) |PAGE_SHIFT ; + m.misc = (MCI_MISC_ADDR_PHYS <<6 ) | lsb;if (severity >=GHES_SEV_RECOVERABLE ) m.status |=MCI_STATUS_UC ;
arch/x86/kernel/cpu/microcode/amd.c +2 -1
@@ -788,6 +788,7 @@ static int verify_and_add_patch(u8 family, u8 *fw, unsigned int leftover,kfree (patch);return -EINVAL ; } + patch->size = *patch_size; mc_hdr = (struct microcode_header_amd *)(fw +SECTION_HDR_SIZE ); proc_id = mc_hdr->processor_rev_id;
@@ -869,7 +870,7 @@ load_microcode_amd(bool save, u8 family, const u8 *data, size_t size)return ret;memset (amd_ucode_patch,0 ,PATCH_MAX_SIZE ); -memcpy (amd_ucode_patch, p->data,min_t (u32,ksize (p->data),PATCH_MAX_SIZE )); +memcpy (amd_ucode_patch, p->data,min_t (u32, p->size,PATCH_MAX_SIZE ));return ret; }
arch/x86/kernel/cpu/resctrl/pseudo_lock.c +9 -3
@@ -420,6 +420,7 @@ static int pseudo_lock_fn(void *_rdtgrp)struct pseudo_lock_region *plr = rdtgrp->plr;u32 rmid_p, closid_p;unsigned long i; +u64 saved_msr;#ifdef CONFIG_KASAN /* * The registers used for local register variables are also used
@@ -463,6 +464,7 @@ static int pseudo_lock_fn(void *_rdtgrp)* the buffer and evict pseudo-locked memory read earlier from the * cache. */ + saved_msr =__rdmsr (MSR_MISC_FEATURE_CONTROL );__wrmsr (MSR_MISC_FEATURE_CONTROL , prefetch_disable_bits,0x0 ); closid_p =this_cpu_read (pqr_state.cur_closid); rmid_p =this_cpu_read (pqr_state.cur_rmid);
@@ -514,7 +516,7 @@ static int pseudo_lock_fn(void *_rdtgrp)__wrmsr (IA32_PQR_ASSOC , rmid_p, closid_p);/* Re-enable the hardware prefetcher(s) */ -wrmsr (MSR_MISC_FEATURE_CONTROL ,0x0 ,0x0 ); +wrmsrl (MSR_MISC_FEATURE_CONTROL , saved_msr);local_irq_enable (); plr->thread_done =1 ;
@@ -871,6 +873,7 @@ bool rdtgroup_pseudo_locked_in_hierarchy(struct rdt_domain *d)static int measure_cycles_lat_fn (void *_plr) {struct pseudo_lock_region *plr = _plr; +u32 saved_low, saved_high;unsigned long i;u64 start, end;void *mem_r;
@@ -879,6 +882,7 @@ static int measure_cycles_lat_fn(void *_plr)/* * Disable hardware prefetchers. */ +rdmsr (MSR_MISC_FEATURE_CONTROL , saved_low, saved_high);wrmsr (MSR_MISC_FEATURE_CONTROL , prefetch_disable_bits,0x0 ); mem_r =READ_ONCE (plr->kmem);/*
@@ -895,7 +899,7 @@ static int measure_cycles_lat_fn(void *_plr) end =rdtsc_ordered ();trace_pseudo_lock_mem_latency ((u32)(end - start)); } -wrmsr (MSR_MISC_FEATURE_CONTROL ,0x0 ,0x0 ); +wrmsr (MSR_MISC_FEATURE_CONTROL , saved_low, saved_high);local_irq_enable (); plr->thread_done =1 ;wake_up_interruptible (&plr->lock_thread_wq);
@@ -940,6 +944,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,u64 hits_before =0 , hits_after =0 , miss_before =0 , miss_after =0 ;struct perf_event *miss_event, *hit_event;int hit_pmcnum, miss_pmcnum; +u32 saved_low, saved_high;unsigned int line_size;unsigned int size;unsigned long i;
@@ -973,6 +978,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,/* * Disable hardware prefetchers. */ +rdmsr (MSR_MISC_FEATURE_CONTROL , saved_low, saved_high);wrmsr (MSR_MISC_FEATURE_CONTROL , prefetch_disable_bits,0x0 );/* Initialize rest of local variables */
@@ -1031,7 +1037,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,*/ rmb ();/* Re-enable hardware prefetchers */ -wrmsr (MSR_MISC_FEATURE_CONTROL ,0x0 ,0x0 ); +wrmsr (MSR_MISC_FEATURE_CONTROL , saved_low, saved_high);local_irq_enable (); out_hit:perf_event_release_kernel (hit_event);
arch/x86/kvm/emulate.c +1 -1
@@ -1955,7 +1955,7 @@ static int em_pop_sreg(struct x86_emulate_ctxt *ctxt)if (rc !=X86EMUL_CONTINUE )return rc; -if (ctxt->modrm_reg ==VCPU_SREG_SS ) +if (seg ==VCPU_SREG_SS ) ctxt->interruptibility =KVM_X86_SHADOW_INT_MOV_SS ;if (ctxt->op_bytes >2 )rsp_increment (ctxt, ctxt->op_bytes -2 );
arch/x86/kvm/vmx/nested.c +27 -10
@@ -2322,9 +2322,14 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct loaded_vmcs *vmcs0* are emulated by vmx_set_efer() in prepare_vmcs02(), but speculate * on the related bits (if supported by the CPU) in the hope that * we can avoid VMWrites during vmx_set_efer(). +* +* Similarly, take vmcs01's PERF_GLOBAL_CTRL in the hope that if KVM is +* loading PERF_GLOBAL_CTRL via the VMCS for L1, then KVM will want to +* do the same for L2. */ exec_control =__vm_entry_controls_get (vmcs01); - exec_control |= vmcs12->vm_entry_controls; + exec_control |= (vmcs12->vm_entry_controls & + ~VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL ); exec_control &= ~(VM_ENTRY_IA32E_MODE |VM_ENTRY_LOAD_IA32_EFER );if (cpu_has_load_ia32_efer ()) {if (guest_efer &EFER_LMA )
@@ -3834,7 +3839,16 @@ static void nested_vmx_inject_exception_vmexit(struct kvm_vcpu *vcpu,u32 intr_info = nr |INTR_INFO_VALID_MASK ;if (vcpu->arch.exception.has_error_code) { - vmcs12->vm_exit_intr_error_code = vcpu->arch.exception.error_code; +/* +* Intel CPUs do not generate error codes with bits 31:16 set, +* and more importantly VMX disallows setting bits 31:16 in the +* injected error code for VM-Entry. Drop the bits to mimic +* hardware and avoid inducing failure on nested VM-Entry if L1 +* chooses to inject the exception back to L2. AMD CPUs _do_ +* generate "full" 32-bit error codes, so KVM allows userspace +* to inject exception error codes with bits 31:16 set. +*/ + vmcs12->vm_exit_intr_error_code = (u16 )vcpu->arch.exception.error_code; intr_info |=INTR_INFO_DELIVER_CODE_MASK ; }
@@ -4264,14 +4278,6 @@ static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,nested_vmx_abort (vcpu,VMX_ABORT_SAVE_GUEST_MSR_FAIL ); } - -/* -* Drop what we picked up for L2 via vmx_complete_interrupts. It is -* preserved above and would only end up incorrectly in L1. -*/ - vcpu->arch.nmi_injected = false; -kvm_clear_exception_queue (vcpu); -kvm_clear_interrupt_queue (vcpu); }/*
@@ -4611,6 +4617,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 vm_exit_reason,WARN_ON_ONCE (nested_early_check); } +/* +* Drop events/exceptions that were queued for re-injection to L2 +* (picked up via vmx_complete_interrupts()), as well as exceptions +* that were pending for L2. Note, this must NOT be hoisted above +* prepare_vmcs12(), events/exceptions queued for re-injection need to +* be captured in vmcs12 (see vmcs12_save_pending_event()). +*/ + vcpu->arch.nmi_injected = false; +kvm_clear_exception_queue (vcpu); +kvm_clear_interrupt_queue (vcpu); +vmx_switch_vmcs (vcpu, &vmx->vmcs01);/* Update any VMCS fields that might have changed while L2 ran */
arch/x86/kvm/vmx/vmx.c +11 -1
@@ -1687,7 +1687,17 @@ static void vmx_queue_exception(struct kvm_vcpu *vcpu)kvm_deliver_exception_payload (vcpu);if (has_error_code) { -vmcs_write32 (VM_ENTRY_EXCEPTION_ERROR_CODE , error_code); +/* +* Despite the error code being architecturally defined as 32 +* bits, and the VMCS field being 32 bits, Intel CPUs and thus +* VMX don't actually supporting setting bits 31:16. Hardware +* will (should) never provide a bogus error code, but AMD CPUs +* do generate error codes with bits 31:16 set, and so KVM's +* ABI lets userspace shove in arbitrary 32-bit values. Drop +* the upper bits to avoid VM-Fail, losing information that +* does't really exist is preferable to killing the VM. +*/ +vmcs_write32 (VM_ENTRY_EXCEPTION_ERROR_CODE , (u16 )error_code); intr_info |=INTR_INFO_DELIVER_CODE_MASK ; }
arch/x86/net/bpf_jit_comp.c +8 -8
@@ -2216,7 +2216,7 @@ int arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *image, void *ireturn ret; } -static int emit_bpf_dispatcher (u8 **pprog,int a,int b,s64 *progs) +static int emit_bpf_dispatcher (u8 **pprog,int a,int b,s64 *progs,u8 *image,u8 *buf) {u8 *jg_reloc, *prog = *pprog;int pivot, err, jg_bytes =1 ;
@@ -2232,12 +2232,12 @@ static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs)EMIT2_off32 (0x81 ,add_1reg (0xF8 ,BPF_REG_3 ), progs[a]); err =emit_cond_near_jump (&prog,/* je func */ - (void *)progs[a], prog, + (void *)progs[a], image + (prog - buf),X86_JE );if (err)return err; -emit_indirect_jump (&prog,2 /* rdx */ , prog); +emit_indirect_jump (&prog,2 /* rdx */ , image + (prog - buf)); *pprog = prog;return 0 ;
@@ -2262,7 +2262,7 @@ static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs) jg_reloc = prog; err =emit_bpf_dispatcher (&prog, a, a + pivot,/* emit lower_part */ - progs); + progs, image, buf);if (err)return err;
@@ -2276,7 +2276,7 @@ static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs)emit_code (jg_reloc - jg_bytes, jg_offset, jg_bytes); err =emit_bpf_dispatcher (&prog, a + pivot +1 ,/* emit upper_part */ - b, progs); + b, progs, image, buf);if (err)return err;
@@ -2296,12 +2296,12 @@ static int cmp_ips(const void *a, const void *b)return 0 ; } -int arch_prepare_bpf_dispatcher (void *image,s64 *funcs,int num_funcs) +int arch_prepare_bpf_dispatcher (void *image,void *buf,s64 *funcs,int num_funcs) { -u8 *prog = image; +u8 *prog = buf;sort (funcs, num_funcs,sizeof (funcs[0 ]), cmp_ips,NULL ); -return emit_bpf_dispatcher (&prog,0 , num_funcs -1 , funcs); +return emit_bpf_dispatcher (&prog,0 , num_funcs -1 , funcs, image, buf); }struct x64_jit_data {
arch/x86/xen/enlighten_pv.c +2 -1
@@ -765,6 +765,7 @@ static void xen_load_idt(const struct desc_ptr *desc) {static DEFINE_SPINLOCK (lock);static struct trap_info traps[257 ]; +static const struct trap_info zero = { };unsigned out;trace_xen_cpu_load_idt (desc);
@@ -774,7 +775,7 @@ static void xen_load_idt(const struct desc_ptr *desc)memcpy (this_cpu_ptr (&idt_desc), desc,sizeof (idt_desc)); out =xen_convert_trap_info (desc, traps, false); -memset (&traps[out],0 ,sizeof (traps[0 ])); + traps[out] = zero;xen_mc_flush ();if (HYPERVISOR_set_trap_table (traps))
block/bio.c +0 -2
@@ -760,8 +760,6 @@ EXPORT_SYMBOL(bio_put);static int __bio_clone (struct bio *bio,struct bio *bio_src,gfp_t gfp) {bio_set_flag (bio,BIO_CLONED ); -if (bio_flagged (bio_src,BIO_THROTTLED )) -bio_set_flag (bio,BIO_THROTTLED ); bio->bi_ioprio = bio_src->bi_ioprio; bio->bi_iter = bio_src->bi_iter;
block/blk-mq.c +3 -3
@@ -4481,14 +4481,14 @@ static bool blk_mq_elv_switch_none(struct list_head *head,list_add (&qe->node, head);/* -* After elevator_switch_mq, the previous elevator_queue will be +* After elevator_switch, the previous elevator_queue will be * released by elevator_release. The reference of the io scheduler * module get by elevator_get will also be put. So we need to get * a reference of the io scheduler module here to prevent it to be * removed. */ __module_get (qe->type->elevator_owner); -elevator_switch_mq (q,NULL ); +elevator_switch (q,NULL );mutex_unlock (&q->sysfs_lock);return true;
@@ -4520,7 +4520,7 @@ static void blk_mq_elv_switch_back(struct list_head *head,kfree (qe);mutex_lock (&q->sysfs_lock); -elevator_switch_mq (q, t); +elevator_switch (q, t);mutex_unlock (&q->sysfs_lock); }
block/blk-throttle.c +9 -19
@@ -806,12 +806,12 @@ static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio, u64 bps_limit, unsigned long *wait) { bool rw = bio_data_dir(bio); -u64 bytes_allowed, extra_bytes, tmp; +u64 bytes_allowed, extra_bytes;unsigned long jiffy_elapsed, jiffy_wait, jiffy_elapsed_rnd;unsigned int bio_size =throtl_bio_data_size (bio);/* no need to throttle if this bio's bytes have been accounted */ -if (bps_limit ==U64_MAX ||bio_flagged (bio,BIO_THROTTLED )) { +if (bps_limit ==U64_MAX ||bio_flagged (bio,BIO_BPS_THROTTLED )) {if (wait) *wait =0 ;return true;
@@ -824,10 +824,8 @@ static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio, jiffy_elapsed_rnd = tg->td->throtl_slice; jiffy_elapsed_rnd =roundup (jiffy_elapsed_rnd, tg->td->throtl_slice); - - tmp = bps_limit * jiffy_elapsed_rnd; -do_div (tmp,HZ ); - bytes_allowed = tmp; + bytes_allowed =mul_u64_u64_div_u64 (bps_limit, (u64 )jiffy_elapsed_rnd, + (u64 )HZ );if (tg->bytes_disp[rw] + bio_size <= bytes_allowed) {if (wait)
@@ -921,22 +919,13 @@ static void throtl_charge_bio(struct throtl_grp *tg, struct bio *bio)unsigned int bio_size =throtl_bio_data_size (bio);/* Charge the bio to the group */ -if (!bio_flagged (bio,BIO_THROTTLED )) { +if (!bio_flagged (bio,BIO_BPS_THROTTLED )) { tg->bytes_disp[rw] += bio_size; tg->last_bytes_disp[rw] += bio_size; } tg->io_disp[rw]++; tg->last_io_disp[rw]++; - -/* -* BIO_THROTTLED is used to prevent the same bio to be throttled -* more than once as a throttled bio will go through blk-throtl the -* second time when it eventually gets issued. Set it when a bio -* is being charged to a tg. -*/ -if (!bio_flagged (bio,BIO_THROTTLED )) -bio_set_flag (bio,BIO_THROTTLED ); }/**
@@ -1026,6 +1015,7 @@ static void tg_dispatch_one_bio(struct throtl_grp *tg, bool rw) sq->nr_queued[rw]--;throtl_charge_bio (tg, bio); +bio_set_flag (bio,BIO_BPS_THROTTLED );/* * If our parent is another tg, we just need to transfer @bio to
@@ -2159,8 +2149,10 @@ bool __blk_throtl_bio(struct bio *bio) qn = &tg->qnode_on_parent[rw]; sq = sq->parent_sq; tg =sq_to_tg (sq); -if (!tg) +if (!tg) { +bio_set_flag (bio,BIO_BPS_THROTTLED ); goto out_unlock; + } }/* out-of-limit, queue to @tg */
@@ -2189,8 +2181,6 @@ bool __blk_throtl_bio(struct bio *bio) } out_unlock: -bio_set_flag (bio,BIO_THROTTLED ); -#ifdef CONFIG_BLK_DEV_THROTTLING_LOW if (throttled || !td->track_bio_latency) bio->bi_issue.value |=BIO_ISSUE_THROTL_SKIP_LATENCY ;
block/blk-throttle.h +1 -1
@@ -175,7 +175,7 @@ static inline bool blk_throtl_bio(struct bio *bio)struct throtl_grp *tg =blkg_to_tg (bio->bi_blkg);/* no need to throttle bps any more if the bio has been throttled */ -if (bio_flagged (bio,BIO_THROTTLED ) && +if (bio_flagged (bio,BIO_BPS_THROTTLED ) && !(tg->flags &THROTL_TG_HAS_IOPS_LIMIT ))return false;
block/blk-wbt.c +4 -6
@@ -841,8 +841,11 @@ int wbt_init(struct request_queue *q) rwb->last_comp = rwb->last_issue = jiffies; rwb->win_nsec =RWB_WINDOW_NSEC ; rwb->enable_state =WBT_STATE_ON_DEFAULT ; - rwb->wc =1 ; + rwb->wc =test_bit (QUEUE_FLAG_WC , &q->queue_flags); rwb->rq_depth.default_depth =RWB_DEF_DEPTH ; + rwb->min_lat_nsec =wbt_default_latency_nsec (q); + +wbt_queue_depth_changed (&rwb->rqos);/* * Assign rwb and add the stats callback.
@@ -853,11 +856,6 @@ int wbt_init(struct request_queue *q)blk_stat_add_callback (q, rwb->cb); - rwb->min_lat_nsec =wbt_default_latency_nsec (q); - -wbt_queue_depth_changed (&rwb->rqos); -wbt_set_write_cache (q,test_bit (QUEUE_FLAG_WC , &q->queue_flags)); -return 0 ; err_free:
block/blk.h +1 -2
@@ -260,8 +260,7 @@ bool blk_bio_list_merge(struct request_queue *q, struct list_head *list,void blk_insert_flush (struct request *rq); -int elevator_switch_mq (struct request_queue *q, -struct elevator_type *new_e); +int elevator_switch (struct request_queue *q,struct elevator_type *new_e);void elevator_exit (struct request_queue *q);int elv_register_queue (struct request_queue *q,bool uevent);void elv_unregister_queue (struct request_queue *q);
block/elevator.c +2 -2
@@ -588,7 +588,7 @@ void elv_unregister(struct elevator_type *e) }EXPORT_SYMBOL_GPL (elv_unregister); -int elevator_switch_mq (struct request_queue *q, +static int elevator_switch_mq (struct request_queue *q,struct elevator_type *new_e) {int ret;
@@ -723,7 +723,7 @@ void elevator_init_mq(struct request_queue *q)* need for the new one. this way we have a chance of going back to the old * one, if the new one fails init for some reason. */ -static int elevator_switch (struct request_queue *q,struct elevator_type *new_e) +int elevator_switch (struct request_queue *q,struct elevator_type *new_e) {int err;
crypto/akcipher.c +8 -0
@@ -120,6 +120,12 @@ static int akcipher_default_op(struct akcipher_request *req)return -ENOSYS ; } +static int akcipher_default_set_key (struct crypto_akcipher *tfm, +const void *key,unsigned int keylen) +{ +return -ENOSYS ; +} +int crypto_register_akcipher (struct akcipher_alg *alg) {struct crypto_alg *base = &alg->base;
@@ -132,6 +138,8 @@ int crypto_register_akcipher(struct akcipher_alg *alg) alg->encrypt = akcipher_default_op;if (!alg->decrypt) alg->decrypt = akcipher_default_op; +if (!alg->set_priv_key) + alg->set_priv_key = akcipher_default_set_key;akcipher_prepare_alg (alg);return crypto_register_alg (base);
drivers/acpi/acpi_fpdt.c +22 -0
@@ -143,6 +143,23 @@ static const struct attribute_group boot_attr_group = {static struct kobject *fpdt_kobj; +#if definedCONFIG_X86 && definedCONFIG_PHYS_ADDR_T_64BIT +#include <linux/processor.h> +static bool fpdt_address_valid (u64 address) +{ +/* +* On some systems the table contains invalid addresses +* with unsuppored high address bits set, check for this. +*/ +return !(address >> boot_cpu_data.x86_phys_bits); +} +#else +static bool fpdt_address_valid (u64 address) +{ +return true; +} +#endif +static int fpdt_process_subtable (u64 address,u32 subtable_type) {struct fpdt_subtable_header *subtable_header;
@@ -151,6 +168,11 @@ static int fpdt_process_subtable(u64 address, u32 subtable_type)u32 length, offset;int result; +if (!fpdt_address_valid (address)) { +pr_info (FW_BUG "invalid physical address: 0x%llx!\n" , address); +return -EINVAL ; + } + subtable_header =acpi_os_map_memory (address,sizeof (*subtable_header));if (!subtable_header)return -ENOMEM ;
drivers/acpi/acpi_pcc.c +25 -3
@@ -23,6 +23,12 @@#include <acpi/pcc.h> +/* +* Arbitrary retries in case the remote processor is slow to respond +* to PCC commands +*/ +#define PCC_CMD_WAIT_RETRIES_NUM 500 +struct pcc_data {struct pcc_mbox_chan *pcc_chan;void __iomem *pcc_comm_addr;
@@ -63,6 +69,7 @@ acpi_pcc_address_space_setup(acpi_handle region_handle, u32 function,if (IS_ERR (data->pcc_chan)) {pr_err ("Failed to find PCC channel for subspace %d\n" , ctx->subspace_id); +kfree (data);return AE_NOT_FOUND ; }
@@ -72,6 +79,8 @@ acpi_pcc_address_space_setup(acpi_handle region_handle, u32 function,if (!data->pcc_comm_addr) {pr_err ("Failed to ioremap PCC comm region mem for %d\n" , ctx->subspace_id); +pcc_mbox_free_channel (data->pcc_chan); +kfree (data);return AE_NO_MEMORY ; }
@@ -86,6 +95,7 @@ acpi_pcc_address_space_handler(u32 function, acpi_physical_address addr, {int ret;struct pcc_data *data = region_context; +u64 usecs_lat;reinit_completion (&data->done);
@@ -96,10 +106,22 @@ acpi_pcc_address_space_handler(u32 function, acpi_physical_address addr,if (ret <0 )return AE_ERROR ; -if (data->pcc_chan->mchan->mbox->txdone_irq) -wait_for_completion (&data->done); +if (data->pcc_chan->mchan->mbox->txdone_irq) { +/* +* pcc_chan->latency is just a Nominal value. In reality the remote +* processor could be much slower to reply. So add an arbitrary +* amount of wait on top of Nominal. +*/ + usecs_lat =PCC_CMD_WAIT_RETRIES_NUM * data->pcc_chan->latency; + ret =wait_for_completion_timeout (&data->done, +usecs_to_jiffies (usecs_lat)); +if (ret ==0 ) { +pr_err ("PCC command executed timeout!\n" ); +return AE_TIME ; + } + } -mbox_client_txdone (data->pcc_chan->mchan, ret); +mbox_chan_txdone (data->pcc_chan->mchan, ret);memcpy_fromio (value, data->pcc_comm_addr, data->ctx.length);
drivers/acpi/acpi_video.c +16 -0
@@ -496,6 +496,22 @@ static const struct dmi_system_id video_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE R830"), }, }, + { + .callback = video_disable_backlight_sysfs_if, + .ident = "Toshiba Satellite Z830", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE Z830"), + }, + }, + { + .callback = video_disable_backlight_sysfs_if, + .ident = "Toshiba Portege Z830", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "PORTEGE Z830"), + }, + }, /* * Some machine's _DOD IDs don't have bit 31(Device ID Scheme) set * but the IDs actually follow the Device ID Scheme.
drivers/acpi/apei/ghes.c +1 -1
@@ -985,7 +985,7 @@ static void ghes_proc_in_irq(struct irq_work *irq_work)ghes_estatus_cache_add (generic, estatus); } -if (task_work_pending && current->mm != &init_mm) { +if (task_work_pending && current->mm) { estatus_node->task_work.func = ghes_kick_task_work; estatus_node->task_work_cpu =smp_processor_id (); ret = task_work_add(current, &estatus_node->task_work,
drivers/acpi/x86/utils.c +18 -1
@@ -207,9 +207,26 @@ static const struct x86_cpu_id storage_d3_cpu_ids[] = { {} }; +static const struct dmi_system_id force_storage_d3_dmi[] = { + { +/* +* _ADR is ambiguous between GPP1.DEV0 and GPP1.NVME +* but .NVME is needed to get StorageD3Enable node +* https://bugzilla.kernel.org/show_bug.cgi?id=216440 +*/ + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Dell Inc." ), +DMI_MATCH (DMI_PRODUCT_NAME ,"Inspiron 14 7425 2-in-1" ), + } + }, + {} +}; +bool force_storage_d3 (void ) { -return x86_match_cpu (storage_d3_cpu_ids); +const struct dmi_system_id *dmi_id =dmi_first_match (force_storage_d3_dmi); + +return dmi_id ||x86_match_cpu (storage_d3_cpu_ids); }/*
drivers/ata/libahci_platform.c +12 -2
@@ -451,14 +451,24 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev, } } - hpriv->nports = child_nodes =of_get_child_count (dev->of_node); +/* +* Too many sub-nodes most likely means having something wrong with +* the firmware. +*/ + child_nodes =of_get_child_count (dev->of_node); +if (child_nodes >AHCI_MAX_PORTS ) { + rc = -EINVAL ; + goto err_out; + }/* * If no sub-node was found, we still need to set nports to * one in order to be able to use the * ahci_platform_[en|dis]able_[phys|regulators] functions. */ -if (!child_nodes) +if (child_nodes) + hpriv->nports = child_nodes; +else hpriv->nports =1 ; hpriv->phys =devm_kcalloc (dev, hpriv->nports,sizeof (*hpriv->phys),GFP_KERNEL );
drivers/base/arch_topology.c +19 -0
@@ -791,4 +791,23 @@ void __init init_cpu_topology(void) else if (of_have_populated_dt() && parse_dt_topology()) reset_cpu_topology(); } + +void store_cpu_topology (unsigned int cpuid) +{ +struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; + +if (cpuid_topo->package_id !=-1 ) + goto topology_populated; + + cpuid_topo->thread_id =-1 ; + cpuid_topo->core_id = cpuid; + cpuid_topo->package_id =cpu_to_node (cpuid); + +pr_debug ("CPU%u: package %d core %d thread %d\n" , + cpuid, cpuid_topo->package_id, cpuid_topo->core_id, + cpuid_topo->thread_id); + +topology_populated: +update_siblings_masks (cpuid); +}#endif
drivers/block/nbd.c +4 -2
@@ -1414,10 +1414,12 @@ static int nbd_start_device_ioctl(struct nbd_device *nbd)mutex_unlock (&nbd->config_lock); ret =wait_event_interruptible (config->recv_wq,atomic_read (&config->recv_threads) ==0 ); -if (ret) +if (ret) {sock_shutdown (nbd); -flush_workqueue (nbd->recv_workq); +nbd_clear_que (nbd); + } +flush_workqueue (nbd->recv_workq);mutex_lock (&nbd->config_lock);nbd_bdev_reset (nbd);/* user requested, ignore socket errors */
drivers/bluetooth/btintel.c +8 -9
@@ -2439,15 +2439,20 @@ static int btintel_setup_combined(struct hci_dev *hdev) INTEL_ROM_LEGACY_NO_WBS_SUPPORT)) set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); +if (ver.hw_variant ==0x08 && ver.fw_variant ==0x22 ) +set_bit (HCI_QUIRK_VALID_LE_STATES , + &hdev->quirks); err =btintel_legacy_rom_setup (hdev, &ver);break ;case 0x0b :/* SfP */ -case 0x0c :/* WsP */ case 0x11 :/* JfP */ case 0x12 :/* ThP */ case 0x13 :/* HrP */ case 0x14 :/* CcP */ +set_bit (HCI_QUIRK_VALID_LE_STATES , &hdev->quirks); + fallthrough; +case 0x0c :/* WsP */ /* Apply the device specific HCI quirks * * All Legacy bootloader devices support WBS
@@ -2455,11 +2460,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)set_bit (HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED , &hdev->quirks); -/* Valid LE States quirk for JfP/ThP familiy */ -if (ver.hw_variant ==0x11 || ver.hw_variant ==0x12 ) -set_bit (HCI_QUIRK_VALID_LE_STATES , - &hdev->quirks); -/* Setup MSFT Extension support */ btintel_set_msft_opcode (hdev, ver.hw_variant);
@@ -2530,9 +2530,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)*/ set_bit (HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED , &hdev->quirks); -/* Valid LE States quirk for JfP/ThP familiy */ -if (ver.hw_variant ==0x11 || ver.hw_variant ==0x12 ) -set_bit (HCI_QUIRK_VALID_LE_STATES , &hdev->quirks); +/* Set Valid LE States quirk */ +set_bit (HCI_QUIRK_VALID_LE_STATES , &hdev->quirks);/* Setup MSFT Extension support */ btintel_set_msft_opcode (hdev, ver.hw_variant);
drivers/bluetooth/btusb.c +14 -0
@@ -2451,15 +2451,29 @@ static int btusb_mtk_hci_wmt_sync(struct hci_dev *hdev,set_bit (BTUSB_TX_WAIT_VND_EVT , &data->flags); +/* WMT cmd/event doesn't follow up the generic HCI cmd/event handling, +* it needs constantly polling control pipe until the host received the +* WMT event, thus, we should require to specifically acquire PM counter +* on the USB to prevent the interface from entering auto suspended +* while WMT cmd/event in progress. +*/ + err =usb_autopm_get_interface (data->intf); +if (err <0 ) + goto err_free_wc; + err =__hci_cmd_send (hdev,0xfc6f , hlen, wc);if (err <0 ) {clear_bit (BTUSB_TX_WAIT_VND_EVT , &data->flags); +usb_autopm_put_interface (data->intf); goto err_free_wc; }/* Submit control IN URB on demand to process the WMT event */ err =btusb_mtk_submit_wmt_recv_urb (hdev); + +usb_autopm_put_interface (data->intf); +if (err <0 ) goto err_free_wc;
drivers/bluetooth/hci_ldisc.c +5 -2
@@ -493,6 +493,11 @@ static int hci_uart_tty_open(struct tty_struct *tty)BT_ERR ("Can't allocate control structure" );return -ENFILE ; } +if (percpu_init_rwsem (&hu->proto_lock)) { +BT_ERR ("Can't allocate semaphore structure" ); +kfree (hu); +return -ENOMEM ; + } tty->disc_data = hu; hu->tty = tty;
@@ -505,8 +510,6 @@ static int hci_uart_tty_open(struct tty_struct *tty)INIT_WORK (&hu->init_ready, hci_uart_init_work);INIT_WORK (&hu->write_work, hci_uart_write_work); -percpu_init_rwsem (&hu->proto_lock); -/* Flush any pending characters in the driver */ tty_driver_flush_buffer (tty);
drivers/bluetooth/hci_serdev.c +7 -3
@@ -310,11 +310,12 @@ int hci_uart_register_device(struct hci_uart *hu,serdev_device_set_client_ops (hu->serdev, &hci_serdev_client_ops); +if (percpu_init_rwsem (&hu->proto_lock)) +return -ENOMEM ; + err =serdev_device_open (hu->serdev);if (err) -return err; - -percpu_init_rwsem (&hu->proto_lock); + goto err_rwsem; err = p->open (hu);if (err)
@@ -389,6 +390,8 @@ int hci_uart_register_device(struct hci_uart *hu, p->close (hu); err_open:serdev_device_close (hu->serdev); +err_rwsem: +percpu_free_rwsem (&hu->proto_lock);return err; }EXPORT_SYMBOL_GPL (hci_uart_register_device);
@@ -410,5 +413,6 @@ void hci_uart_unregister_device(struct hci_uart *hu)clear_bit (HCI_UART_PROTO_READY , &hu->flags);serdev_device_close (hu->serdev); } +percpu_free_rwsem (&hu->proto_lock); }EXPORT_SYMBOL_GPL (hci_uart_unregister_device);
drivers/char/hw_random/arm_smccc_trng.c +2 -2
@@ -71,8 +71,6 @@ static int smccc_trng_read(struct hwrng *rng, void *data, size_t max, bool wait) MAX_BITS_PER_CALL);arm_smccc_1_1_invoke (ARM_SMCCC_TRNG_RND , bits, &res); -if ((int )res.a0 <0 ) -return (int )res.a0;switch ((int )res.a0) {case SMCCC_RET_SUCCESS :
@@ -88,6 +86,8 @@ static int smccc_trng_read(struct hwrng *rng, void *data, size_t max, bool wait)return copied;cond_resched ();break ; +default : +return -EIO ; } }
drivers/char/hw_random/core.c +15 -4
@@ -507,16 +507,17 @@ static int hwrng_fillfn(void *unused) rng->quality = current_quality;/* obsolete */ quality = rng->quality;mutex_unlock (&reading_mutex); + +if (rc <=0 ) +hwrng_msleep (rng,10000 ); +put_rng (rng);if (!quality)break ; -if (rc <=0 ) { -pr_warn ("hwrng: no data available\n" ); -msleep_interruptible (10000 ); +if (rc <=0 )continue ; - }/* If we cannot credit at least one bit of entropy, * keep track of the remainder for the next iteration
@@ -570,6 +571,7 @@ int hwrng_register(struct hwrng *rng)init_completion (&rng->cleanup_done);complete (&rng->cleanup_done); +init_completion (&rng->dying);if (!current_rng || (!cur_rng_set_by_user && rng->quality > current_rng->quality)) {
@@ -617,6 +619,7 @@ void hwrng_unregister(struct hwrng *rng) old_rng = current_rng;list_del (&rng->list); +complete_all (&rng->dying);if (current_rng == rng) { err =enable_best_rng ();if (err) {
@@ -685,6 +688,14 @@ void devm_hwrng_unregister(struct device *dev, struct hwrng *rng) }EXPORT_SYMBOL_GPL (devm_hwrng_unregister); +long hwrng_msleep (struct hwrng *rng,unsigned int msecs) +{ +unsigned long timeout =msecs_to_jiffies (msecs) +1 ; + +return wait_for_completion_interruptible_timeout (&rng->dying, timeout); +} +EXPORT_SYMBOL_GPL (hwrng_msleep); +static int __init hwrng_modinit (void ) {int ret;
drivers/char/hw_random/imx-rngc.c +7 -7
@@ -270,13 +270,6 @@ static int imx_rngc_probe(struct platform_device *pdev) goto err; } - ret =devm_request_irq (&pdev->dev, - irq, imx_rngc_irq,0 , pdev->name, (void *)rngc); -if (ret) { -dev_err (rngc->dev,"Can't get interrupt working.\n" ); - goto err; - } -init_completion (&rngc->rng_op_done); rngc->rng.name = pdev->name;
@@ -290,6 +283,13 @@ static int imx_rngc_probe(struct platform_device *pdev)imx_rngc_irq_mask_clear (rngc); + ret =devm_request_irq (&pdev->dev, + irq, imx_rngc_irq,0 , pdev->name, (void *)rngc); +if (ret) { +dev_err (rngc->dev,"Can't get interrupt working.\n" ); +return ret; + } +if (self_test) { ret =imx_rngc_self_test (rngc);if (ret) {
drivers/char/random.c +2 -2
@@ -1178,7 +1178,7 @@ static void __cold entropy_timer(struct timer_list *timer)*/ static void __cold try_to_generate_entropy (void ) { -enum {NUM_TRIAL_SAMPLES =8192 ,MAX_SAMPLES_PER_BIT =HZ /30 }; +enum {NUM_TRIAL_SAMPLES =8192 ,MAX_SAMPLES_PER_BIT =HZ /15 };struct entropy_timer_state stack;unsigned int i, num_different =0 ;unsigned long last =random_get_entropy ();
@@ -1197,7 +1197,7 @@ static void __cold try_to_generate_entropy(void)timer_setup_on_stack (&stack.timer, entropy_timer,0 );while (!crng_ready () && !signal_pending (current)) {if (!timer_pending (&stack.timer)) -mod_timer (&stack.timer, jiffies +1 ); +mod_timer (&stack.timer, jiffies);mix_pool_bytes (&stack.entropy,sizeof (stack.entropy));schedule (); stack.entropy =random_get_entropy ();
drivers/clk/baikal-t1/ccu-div.c +65 -0
31 lines not on this page · raw message
drivers/clk/bcm/clk-bcm2835.c +37 -6
43 lines not on this page · raw message
drivers/clk/mediatek/clk-mt8183-mfgcfg.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/clk/mediatek/clk-mt8195-infra_ao.c +10 -3
Lines of this file are not shown. View the raw message.
drivers/clk/qcom/gcc-sm6115.c +30 -16
46 lines not on this page · raw message
drivers/clk/samsung/clk-exynosautov9.c +10 -10
Lines of this file are not shown. View the raw message.
drivers/crypto/hisilicon/zip/zip_crypto.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/inside-secure/safexcel_hash.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c +16 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/adf_gen4_hw_data.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/qat_algs.c +12 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +2 -12
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +21 -24
45 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +36 -31
67 lines not on this page · raw message
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +4 -12
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dc_stream.h +2 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +10 -25
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h +1 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml/calcs/bw_fixed.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h +1 -7
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/arm/display/komeda/komeda_kms.c +20 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/arm/display/komeda/komeda_kms.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511.h +1 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/lontium-lt9611.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +8 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/display/drm_dp_helper.c +0 -9
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/display/drm_dp_mst_topology.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_panel_orientation_quirks.c +18 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_bios.c +52 -58
110 lines not on this page · raw message
drivers/gpu/drm/i915/gt/gen8_ppgtt.c +30 -28
58 lines not on this page · raw message
drivers/gpu/drm/meson/meson_encoder_cvbs.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/meson/meson_encoder_cvbs.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/meson/meson_encoder_hdmi.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/meson/meson_encoder_hdmi.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +7 -12
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c +13 -16
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +3 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nouveau_connector.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nouveau_prime.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/pl111/pl111_versatile.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_display.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_object.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/hid/hid-nintendo.c +30 -25
55 lines not on this page · raw message
drivers/hsi/controllers/omap_ssi_core.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/hsi/controllers/omap_ssi_port.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-designware-core.h +5 -2
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-designware-master.c +13 -0
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-designware-pcidrv.c +15 -15
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-mlxbf.c +39 -5
44 lines not on this page · raw message
drivers/iio/dac/ad5593r.c +27 -19
46 lines not on this page · raw message
drivers/iio/magnetometer/yamaha-yas530.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iio/pressure/dps310.c +163 -99
262 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_mr.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/irdma/hw.c +30 -21
51 lines not on this page · raw message
drivers/infiniband/hw/irdma/verbs.c +62 -7
69 lines not on this page · raw message
drivers/infiniband/sw/siw/siw_qp_rx.c +15 -12
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +21 -0
Lines of this file are not shown. View the raw message.
drivers/md/bcache/writeback.c +52 -21
73 lines not on this page · raw message
drivers/media/pci/cx88/cx88-video.c +22 -21
43 lines not on this page · raw message
drivers/media/platform/amlogic/meson-ge2d/ge2d.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/amphion/vpu_core.c +43 -41
84 lines not on this page · raw message
drivers/media/platform/amphion/vpu_core.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/amphion/vpu_dbg.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/amphion/vpu_malone.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/samsung/exynos4-is/fimc-is.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/xilinx/xilinx-vipp.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/media/usb/uvc/uvc_ctrl.c +46 -37
83 lines not on this page · raw message
drivers/mtd/nand/raw/atmel/nand-controller.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/intel-nand-controller.c +9 -3
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/kvaser_usb/kvaser_usb.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +79 -0
79 lines not on this page · raw message
drivers/net/ethernet/atheros/alx/main.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/engleder/tsnep_hw.h +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/fs_enet/mac-fec.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/iavf/iavf_main.c +141 -36
177 lines not on this page · raw message
drivers/net/ethernet/intel/ice/ice_ethtool.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +12 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/prestera/prestera_acl.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/prestera/prestera_acl.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/prestera/prestera_flower.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/microchip/lan743x_ptp.c +7 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/sunplus/spl2sw_driver.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/davinci_mdio.c +231 -11
242 lines not on this page · raw message
drivers/net/ethernet/xilinx/xilinx_axienet.h +12 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/xilinx/xilinx_axienet_main.c +33 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/core.c +16 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath10k/mac.c +29 -25
54 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/ahb.c +45 -13
58 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/dp_rx.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/peer.c +26 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +28 -15
43 lines not on this page · raw message
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/main.c +4 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mac.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/mac.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/main.c +21 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/pci.c +11 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c +9 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7921/usb.c +24 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/sdio.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ralink/rt2x00/rt2800lib.c +30 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +77 -19
96 lines not on this page · raw message
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/main.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/core.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/fw.c +5 -7
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/pci.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw89/ser.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/st/cw1200/queue.c +10 -8
Lines of this file are not shown. View the raw message.
drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/phy/qualcomm/phy-qcom-usb-hsic.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-inno-usb2.c +6 -4
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/chromeos_laptop.c +13 -11
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_chardev.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_proto.c +32 -0
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_typec.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/regulator/qcom_rpm-regulator.c +12 -12
Lines of this file are not shown. View the raw message.
drivers/scsi/iscsi_tcp.c +105 -35
140 lines not on this page · raw message
drivers/scsi/libiscsi.c +33 -8
41 lines not on this page · raw message
drivers/scsi/lpfc/lpfc_debugfs.c +10 -49
59 lines not on this page · raw message
drivers/scsi/lpfc/lpfc_init.c +23 -60
83 lines not on this page · raw message
drivers/scsi/lpfc/lpfc_sli.c +183 -7
190 lines not on this page · raw message
drivers/staging/greybus/audio_helper.c +0 -11
Lines of this file are not shown. View the raw message.
drivers/staging/media/meson/vdec/vdec_hevc.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_h265.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_cmd.c +6 -10
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/os_dep/os_intfs.c +31 -29
60 lines not on this page · raw message
drivers/thermal/intel/intel_powerclamp.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/thunderbolt/nhi.c +42 -7
49 lines not on this page · raw message
drivers/tty/serial/cpm_uart/cpm_uart_core.c +10 -12
Lines of this file are not shown. View the raw message.
drivers/tty/serial/stm32-usart.c +53 -47
100 lines not on this page · raw message
drivers/usb/common/debug.c +64 -32
96 lines not on this page · raw message
drivers/usb/dwc3/core.c +60 -23
83 lines not on this page · raw message
drivers/usb/gadget/function/f_printer.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/function/uvc_video.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/xen/gntdev.c +42 -38
80 lines not on this page · raw message
fs/btrfs/file.c +47 -12
59 lines not on this page · raw message
fs/btrfs/free-space-cache.c +39 -20
59 lines not on this page · raw message
fs/btrfs/scrub.c +48 -21
69 lines not on this page · raw message
fs/ext4/super.c +15 -32
47 lines not on this page · raw message
fs/f2fs/checkpoint.c +36 -11
47 lines not on this page · raw message
fs/ntfs3/xattr.c +6 -96
102 lines not on this page · raw message
include/dt-bindings/clock/samsung,exynosautov9.h +28 -28
56 lines not on this page · raw message
kernel/bpf/cgroup.c +44 -32
76 lines not on this page · raw message
kernel/bpf/verifier.c +62 -54
116 lines not on this page · raw message
kernel/trace/kprobe_event_gen_test.c +44 -5
49 lines not on this page · raw message
kernel/trace/ring_buffer.c +84 -3
87 lines not on this page · raw message
kernel/trace/trace.c +72 -4
76 lines not on this page · raw message
kernel/trace/trace_eprobe.c +5 -55
60 lines not on this page · raw message
kernel/trace/trace_kprobe.c +5 -55
60 lines not on this page · raw message
kernel/trace/trace_probe_kernel.h new file +115 -0
115 lines not on this page · raw message
lib/dynamic_debug.c +10 -35
45 lines not on this page · raw message
mm/hugetlb.c +34 -34
68 lines not on this page · raw message
net/vmw_vsock/virtio_transport_common.c +1 -1
Lines of this file are not shown. View the raw message.
sound/soc/codecs/tas2764.c +26 -52
78 lines not on this page · raw message
sound/usb/quirks.c +0 -42
42 lines not on this page · raw message
tools/testing/selftests/arm64/signal/testcases/testcases.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/map_tests/array_map_batch_ops.c +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/map_tests/htab_map_batch_ops.c +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/map_tests/lpm_trie_map_batch_ops.c +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/kprobe_multi.c +1 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_maps.c +15 -9
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/xdpxceiver.c +4 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fcnal-test.sh +30 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.