Linux 5.10.20
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.20 kernel.
All users of the 5.10 kernel series must upgrade.
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/admin-guide/perf/arm-cmn.rst | 2 Documentation/admin-guide/sysctl/vm.rst | 10 Documentation/filesystems/seq_file.rst | 6 Documentation/scsi/libsas.rst | 1 Documentation/security/keys/core.rst | 4 Makefile | 2 arch/arm/boot/compressed/head.S | 4 arch/arm/boot/dts/armada-388-helios4.dts | 28 arch/arm/boot/dts/aspeed-g4.dtsi | 1 arch/arm/boot/dts/aspeed-g5.dtsi | 1 arch/arm/boot/dts/aspeed-g6.dtsi | 1 arch/arm/boot/dts/exynos3250-artik5.dtsi | 2 arch/arm/boot/dts/exynos3250-monk.dts | 2 arch/arm/boot/dts/exynos3250-rinato.dts | 2 arch/arm/boot/dts/exynos5250-spring.dts | 2 arch/arm/boot/dts/exynos5420-arndale-octa.dts | 2 arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 2 arch/arm/boot/dts/omap443x.dtsi | 2 arch/arm/kernel/sys_oabi-compat.c | 15 arch/arm/mach-at91/pm_suspend.S | 2 arch/arm/mach-ixp4xx/Kconfig | 1 arch/arm/mach-s3c/irq-s3c24xx-fiq.S | 9 arch/arm64/Kconfig | 2 arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 5 arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi | 1 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 7 arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts | 7 arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 arch/arm64/boot/dts/exynos/exynos7-espresso.dts | 2 arch/arm64/boot/dts/intel/socfpga_agilex.dtsi | 4 arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | 2 arch/arm64/boot/dts/mediatek/mt7622.dtsi | 2 arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi | 6 arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts | 2 arch/arm64/boot/dts/qcom/msm8916.dtsi | 4 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 9 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi | 2 arch/arm64/boot/dts/renesas/beacon-renesom-som.dtsi | 4 arch/arm64/boot/dts/rockchip/rk3328.dtsi | 1 arch/arm64/crypto/aes-glue.c | 4 arch/arm64/crypto/sha1-ce-glue.c | 1 arch/arm64/crypto/sha2-ce-glue.c | 2 arch/arm64/crypto/sha3-ce-glue.c | 4 arch/arm64/crypto/sha512-ce-glue.c | 2 arch/arm64/include/asm/module.lds.h | 6 arch/arm64/kernel/cpufeature.c | 2 arch/arm64/kernel/head.S | 1 arch/arm64/kernel/machine_kexec_file.c | 4 arch/arm64/kernel/probes/uprobes.c | 2 arch/arm64/kernel/ptrace.c | 2 arch/arm64/kernel/suspend.c | 2 arch/csky/kernel/ptrace.c | 2 arch/mips/Makefile | 19 arch/mips/cavium-octeon/setup.c | 9 arch/mips/include/asm/asm.h | 18 arch/mips/include/asm/atomic.h | 2 arch/mips/include/asm/cmpxchg.h | 6 arch/mips/kernel/cpu-probe.c | 15 arch/mips/kernel/vmlinux.lds.S | 2 arch/mips/lantiq/irq.c | 2 arch/mips/loongson64/Platform | 22 arch/mips/mm/c-r4k.c | 2 arch/mips/vdso/Makefile | 5 arch/nios2/kernel/entry.S | 3 arch/nios2/kernel/sys_nios2.c | 11 arch/powerpc/Kconfig | 2 arch/powerpc/include/asm/kexec.h | 1 arch/powerpc/include/asm/uaccess.h | 13 arch/powerpc/kernel/entry_32.S | 3 arch/powerpc/kernel/head_32.h | 2 arch/powerpc/kernel/head_8xx.S | 2 arch/powerpc/kernel/head_book3s_32.S | 6 arch/powerpc/kernel/irq.c | 27 arch/powerpc/kernel/prom_init.c | 12 arch/powerpc/kernel/time.c | 2 arch/powerpc/kexec/elf_64.c | 2 arch/powerpc/kexec/file_load_64.c | 35 arch/powerpc/kvm/powerpc.c | 8 arch/powerpc/platforms/pseries/dlpar.c | 7 arch/riscv/kernel/vdso/Makefile | 3 arch/s390/kernel/vtime.c | 3 arch/sparc/Kconfig | 2 arch/sparc/kernel/led.c | 2 arch/sparc/lib/memset.S | 1 arch/um/include/shared/skas/mm_id.h | 1 arch/um/kernel/tlb.c | 19 arch/um/os-Linux/skas/process.c | 4 arch/x86/crypto/aesni-intel_glue.c | 28 arch/x86/entry/common.c | 2 arch/x86/include/asm/virtext.h | 17 arch/x86/kernel/msr.c | 7 arch/x86/kernel/reboot.c | 30 arch/x86/kvm/emulate.c | 4 arch/x86/kvm/mmu/tdp_mmu.c | 3 arch/x86/kvm/svm/nested.c | 22 arch/x86/kvm/svm/svm.c | 8 arch/x86/mm/fault.c | 27 arch/x86/mm/pat/memtype.c | 4 block/bfq-iosched.c | 1 block/blk-settings.c | 12 block/bsg.c | 4 block/ioctl.c | 21 certs/blacklist.c | 2 crypto/ecdh_helper.c | 3 crypto/michael_mic.c | 31 drivers/acpi/acpi_configfs.c | 7 drivers/acpi/property.c | 44 drivers/amba/bus.c | 20 drivers/ata/ahci_brcm.c | 14 drivers/auxdisplay/ht16k33.c | 3 drivers/base/regmap/regmap-sdw.c | 4 drivers/base/swnode.c | 8 drivers/block/floppy.c | 30 drivers/bluetooth/btqcomsmd.c | 27 drivers/bluetooth/btusb.c | 20 drivers/bluetooth/hci_ldisc.c | 41 drivers/bluetooth/hci_qca.c | 2 drivers/bluetooth/hci_serdev.c | 4 drivers/char/hw_random/ingenic-trng.c | 6 drivers/char/hw_random/timeriomem-rng.c | 2 drivers/char/random.c | 2 drivers/char/tpm/tpm.h | 4 drivers/char/tpm/tpm_tis_core.c | 50 drivers/clk/clk-ast2600.c | 37 drivers/clk/clk-divider.c | 9 drivers/clk/meson/clk-pll.c | 10 drivers/clk/qcom/gcc-msm8998.c | 100 - drivers/clk/renesas/r8a779a0-cpg-mssr.c | 3 drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 10 drivers/clocksource/Kconfig | 1 drivers/clocksource/mxs_timer.c | 5 drivers/cpufreq/acpi-cpufreq.c | 62 drivers/cpufreq/brcmstb-avs-cpufreq.c | 24 drivers/cpufreq/freq_table.c | 8 drivers/cpufreq/intel_pstate.c | 21 drivers/cpufreq/qcom-cpufreq-hw.c | 40 drivers/crypto/allwinner/sun4i-ss/sun4i-ss-cipher.c | 173 +- drivers/crypto/allwinner/sun4i-ss/sun4i-ss.h | 2 drivers/crypto/bcm/cipher.c | 2 drivers/crypto/bcm/cipher.h | 4 drivers/crypto/bcm/util.c | 2 drivers/crypto/talitos.c | 50 drivers/crypto/talitos.h | 1 drivers/dax/bus.c | 2 drivers/dma/fsldma.c | 6 drivers/dma/hsu/pci.c | 21 drivers/dma/idxd/dma.c | 1 drivers/dma/owl-dma.c | 1 drivers/firmware/arm_scmi/driver.c | 4 drivers/gpio/gpio-pcf857x.c | 2 drivers/gpu/drm/Kconfig | 3 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 2 drivers/gpu/drm/amd/amdgpu/soc15.c | 2 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 4 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 3 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.h | 2 drivers/gpu/drm/amd/display/dc/bios/command_table.c | 61 drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c | 14 drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c | 1 drivers/gpu/drm/amd/display/dc/dce/dce_transform.c | 8 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c | 1 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 6 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 20 drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c | 2 drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c | 22 drivers/gpu/drm/amd/pm/amdgpu_pm.c | 6 drivers/gpu/drm/drm_dp_mst_topology.c | 3 drivers/gpu/drm/drm_fb_helper.c | 15 drivers/gpu/drm/drm_modes.c | 4 drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c | 22 drivers/gpu/drm/gma500/psb_drv.c | 2 drivers/gpu/drm/i915/display/intel_hdmi.c | 6 drivers/gpu/drm/i915/gt/gen7_renderclear.c | 12 drivers/gpu/drm/lima/lima_sched.c | 2 drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 2 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 25 drivers/gpu/drm/msm/adreno/a6xx_gmu.h | 8 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 2 drivers/gpu/drm/msm/dp/dp_display.c | 5 drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c | 2 drivers/gpu/drm/msm/msm_drv.c | 3 drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h | 1 drivers/gpu/drm/nouveau/nouveau_chan.c | 1 drivers/gpu/drm/nouveau/nouveau_connector.c | 1 drivers/gpu/drm/panel/panel-elida-kd35t133.c | 3 drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 5 drivers/gpu/drm/rcar-du/rcar_cmm.c | 2 drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 10 drivers/gpu/drm/rcar-du/rcar_du_drv.h | 6 drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 5 drivers/gpu/drm/rcar-du/rcar_du_kms.c | 8 drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 11 drivers/gpu/drm/scheduler/sched_main.c | 3 drivers/gpu/drm/sun4i/sun4i_tcon.c | 21 drivers/gpu/drm/sun4i/sun4i_tcon.h | 1 drivers/gpu/drm/tegra/dc.c | 2 drivers/gpu/drm/tegra/dsi.c | 2 drivers/gpu/drm/tegra/hdmi.c | 2 drivers/gpu/drm/tegra/hub.c | 2 drivers/gpu/drm/tegra/sor.c | 2 drivers/gpu/drm/tegra/vic.c | 2 drivers/gpu/drm/vc4/vc4_hdmi.c | 87 - drivers/gpu/drm/vc4/vc4_hdmi_regs.h | 4 drivers/gpu/drm/virtio/virtgpu_gem.c | 8 drivers/hid/hid-core.c | 3 drivers/hid/hid-logitech-dj.c | 1 drivers/hid/wacom_wac.c | 7 drivers/hsi/controllers/omap_ssi_core.c | 2 drivers/hv/channel_mgmt.c | 3 drivers/hwtracing/coresight/coresight-etm4x-core.c | 21 drivers/hwtracing/coresight/coresight-etm4x-sysfs.c | 2 drivers/i2c/busses/i2c-bcm-iproc.c | 231 ++- drivers/i2c/busses/i2c-brcmstb.c | 2 drivers/i2c/busses/i2c-exynos5.c | 8 drivers/i2c/busses/i2c-qcom-geni.c | 59 drivers/ide/falconide.c | 3 drivers/infiniband/core/cm.c | 8 drivers/infiniband/core/cma.c | 70 drivers/infiniband/core/user_mad.c | 17 drivers/infiniband/hw/hns/hns_roce_device.h | 2 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 8 drivers/infiniband/hw/hns/hns_roce_main.c | 3 drivers/infiniband/hw/mlx5/devx.c | 4 drivers/infiniband/hw/mlx5/main.c | 14 drivers/infiniband/sw/rxe/rxe_net.c | 5 drivers/infiniband/sw/rxe/rxe_recv.c | 27 drivers/infiniband/sw/siw/siw.h | 2 drivers/infiniband/sw/siw/siw_main.c | 2 drivers/infiniband/sw/siw/siw_qp.c | 271 +-- drivers/infiniband/sw/siw/siw_qp_rx.c | 26 drivers/infiniband/sw/siw/siw_qp_tx.c | 4 drivers/infiniband/sw/siw/siw_verbs.c | 20 drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 2 drivers/infiniband/ulp/rtrs/rtrs-clt.c | 51 drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 drivers/infiniband/ulp/rtrs/rtrs-pri.h | 9 drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 9 drivers/infiniband/ulp/rtrs/rtrs-srv.c | 117 - drivers/infiniband/ulp/rtrs/rtrs.c | 14 drivers/input/joydev.c | 7 drivers/input/joystick/xpad.c | 1 drivers/input/serio/i8042-x86ia64io.h | 4 drivers/input/serio/serport.c | 4 drivers/input/touchscreen/elo.c | 4 drivers/input/touchscreen/raydium_i2c_ts.c | 3 drivers/input/touchscreen/sur40.c | 1 drivers/input/touchscreen/zinitix.c | 2 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 2 drivers/iommu/iommu.c | 23 drivers/iommu/mtk_iommu.c | 2 drivers/irqchip/Kconfig | 3 drivers/irqchip/irq-loongson-pch-msi.c | 2 drivers/macintosh/adb-iop.c | 6 drivers/mailbox/sprd-mailbox.c | 2 drivers/md/bcache/bcache.h | 3 drivers/md/bcache/btree.c | 21 drivers/md/bcache/journal.c | 4 drivers/md/bcache/super.c | 20 drivers/md/dm-core.h | 4 drivers/md/dm-crypt.c | 1 drivers/md/dm-era-target.c | 93 - drivers/md/dm-table.c | 168 -- drivers/md/dm-writecache.c | 74 drivers/md/dm.c | 62 drivers/md/dm.h | 2 drivers/media/i2c/max9286.c | 2 drivers/media/i2c/ov5670.c | 3 drivers/media/pci/cx25821/cx25821-core.c | 4 drivers/media/pci/intel/ipu3/Kconfig | 3 drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 drivers/media/pci/saa7134/saa7134-empress.c | 5 drivers/media/pci/smipcie/smipcie-ir.c | 46 drivers/media/platform/aspeed-video.c | 6 drivers/media/platform/marvell-ccic/mcam-core.c | 2 drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 4 drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c | 3 drivers/media/platform/pxa_camera.c | 3 drivers/media/platform/qcom/camss/camss-video.c | 1 drivers/media/platform/ti-vpe/cal.c | 4 drivers/media/platform/vsp1/vsp1_drv.c | 4 drivers/media/rc/ir_toy.c | 1 drivers/media/rc/mceusb.c | 2 drivers/media/test-drivers/vidtv/vidtv_psi.c | 5 drivers/media/tuners/qm1d1c0042.c | 4 drivers/media/usb/dvb-usb-v2/lmedm04.c | 2 drivers/media/usb/em28xx/em28xx-core.c | 6 drivers/media/usb/tm6000/tm6000-dvb.c | 4 drivers/media/usb/uvc/uvc_v4l2.c | 18 drivers/memory/mtk-smi.c | 4 drivers/memory/ti-aemif.c | 8 drivers/mfd/altera-sysmgr.c | 3 drivers/mfd/bd9571mwv.c | 6 drivers/mfd/gateworks-gsc.c | 2 drivers/mfd/wm831x-auxadc.c | 3 drivers/misc/cardreader/rts5227.c | 5 drivers/misc/eeprom/eeprom_93xx46.c | 1 drivers/misc/fastrpc.c | 7 drivers/misc/mei/hbm.c | 2 drivers/misc/mei/hw-me-regs.h | 5 drivers/misc/mei/interrupt.c | 33 drivers/misc/mei/pci-me.c | 5 drivers/misc/vmw_vmci/vmci_queue_pair.c | 5 drivers/mmc/host/owl-mmc.c | 9 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 4 drivers/mmc/host/sdhci-esdhc-imx.c | 3 drivers/mmc/host/sdhci-pci-o2micro.c | 20 drivers/mmc/host/sdhci-sprd.c | 6 drivers/mmc/host/usdhi6rol0.c | 4 drivers/mtd/parsers/afs.c | 4 drivers/mtd/parsers/parser_imagetag.c | 4 drivers/mtd/spi-nor/controllers/hisi-sfc.c | 4 drivers/mtd/spi-nor/core.c | 10 drivers/mtd/spi-nor/sfdp.c | 5 drivers/net/Kconfig | 2 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 2 drivers/net/dsa/ocelot/felix.c | 16 drivers/net/ethernet/amd/xgbe/xgbe-common.h | 14 drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 1 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 3 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 39 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 4 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 3 drivers/net/ethernet/chelsio/cxgb4/sge.c | 11 drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.h | 3 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 14 drivers/net/ethernet/freescale/enetc/enetc_pf.c | 5 drivers/net/ethernet/ibm/ibmvnic.c | 16 drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 16 drivers/net/ethernet/intel/i40e/i40e_main.c | 50 drivers/net/ethernet/intel/i40e/i40e_txrx.c | 9 drivers/net/ethernet/intel/ice/ice.h | 2 drivers/net/ethernet/intel/ice/ice_dcb_nl.c | 6 drivers/net/ethernet/intel/ice/ice_ethtool.c | 34 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 33 drivers/net/ethernet/marvell/mvneta.c | 9 drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c | 2 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 1 drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 9 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 259 ++- drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h | 2 drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h | 2 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 66 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 39 drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 8 drivers/net/ethernet/mellanox/mlx5/core/health.c | 22 drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 drivers/net/ethernet/realtek/r8169_main.c | 4 drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 2 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 30 drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 26 drivers/net/gtp.c | 1 drivers/net/phy/mscc/mscc.h | 8 drivers/net/phy/mscc/mscc_main.c | 350 +++- drivers/net/phy/phy_device.c | 53 drivers/net/ppp/ppp_async.c | 3 drivers/net/ppp/ppp_synctty.c | 3 drivers/net/vxlan.c | 11 drivers/net/wireguard/device.c | 19 drivers/net/wireguard/device.h | 15 drivers/net/wireguard/peer.c | 28 drivers/net/wireguard/peer.h | 4 drivers/net/wireguard/queueing.c | 86 - drivers/net/wireguard/queueing.h | 45 drivers/net/wireguard/receive.c | 16 drivers/net/wireguard/send.c | 31 drivers/net/wireless/ath/ath10k/mac.c | 2 drivers/net/wireless/ath/ath10k/snoc.c | 5 drivers/net/wireless/ath/ath10k/wmi-tlv.c | 3 drivers/net/wireless/ath/ath11k/mac.c | 11 drivers/net/wireless/ath/ath9k/debug.c | 5 drivers/net/wireless/broadcom/b43/phy_n.c | 2 drivers/net/wireless/intel/iwlwifi/fw/pnvm.c | 13 drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 43 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c | 3 drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c | 21 drivers/net/xen-netback/interface.c | 8 drivers/nvme/host/multipath.c | 4 drivers/nvme/target/admin-cmd.c | 33 drivers/nvme/target/tcp.c | 59 drivers/nvmem/core.c | 5 drivers/nvmem/qcom-spmi-sdam.c | 7 drivers/of/fdt.c | 12 drivers/opp/of.c | 4 drivers/pci/controller/cadence/pcie-cadence-host.c | 5 drivers/pci/controller/dwc/pcie-qcom.c | 4 drivers/pci/controller/pcie-rcar-host.c | 2 drivers/pci/controller/pcie-rockchip.c | 12 drivers/pci/controller/pcie-xilinx-cpm.c | 1 drivers/pci/pci-bridge-emul.c | 11 drivers/pci/setup-res.c | 6 drivers/pci/syscall.c | 10 drivers/perf/arm-cmn.c | 17 drivers/phy/Kconfig | 1 drivers/phy/cadence/phy-cadence-torrent.c | 1 drivers/phy/lantiq/phy-lantiq-rcu-usb2.c | 10 drivers/phy/rockchip/phy-rockchip-emmc.c | 8 drivers/platform/chrome/cros_ec_proto.c | 12 drivers/power/reset/at91-sama5d2_shdwc.c | 2 drivers/power/supply/Kconfig | 1 drivers/power/supply/axp20x_usb_power.c | 2 drivers/power/supply/cpcap-battery.c | 12 drivers/power/supply/cpcap-charger.c | 4 drivers/power/supply/smb347-charger.c | 12 drivers/pwm/pwm-iqs620a.c | 8 drivers/pwm/pwm-rockchip.c | 18 drivers/regulator/axp20x-regulator.c | 7 drivers/regulator/core.c | 6 drivers/regulator/qcom-rpmh-regulator.c | 26 drivers/regulator/rohm-regulator.c | 9 drivers/regulator/s5m8767.c | 15 drivers/remoteproc/mtk_common.h | 1 drivers/remoteproc/mtk_scp.c | 20 drivers/rtc/Kconfig | 3 drivers/s390/crypto/zcrypt_api.c | 14 drivers/s390/virtio/virtio_ccw.c | 4 drivers/scsi/bnx2fc/Kconfig | 1 drivers/scsi/lpfc/lpfc_hbadisc.c | 15 drivers/scsi/qla2xxx/qla_dbg.c | 1 drivers/scsi/qla2xxx/qla_mbx.c | 3 drivers/scsi/sd.c | 6 drivers/scsi/sd_zbc.c | 6 drivers/soc/aspeed/aspeed-lpc-snoop.c | 30 drivers/soc/qcom/ocmem.c | 8 drivers/soc/qcom/socinfo.c | 2 drivers/soc/samsung/exynos-asv.c | 18 drivers/soc/ti/pm33xx.c | 5 drivers/soundwire/bus.c | 47 drivers/soundwire/cadence_master.c | 8 drivers/soundwire/intel_init.c | 3 drivers/spi/spi-atmel.c | 2 drivers/spi/spi-cadence-quadspi.c | 2 drivers/spi/spi-dw-bt1.c | 2 drivers/spi/spi-fsl-spi.c | 2 drivers/spi/spi-imx.c | 2 drivers/spi/spi-pxa2xx-pci.c | 27 drivers/spi/spi-stm32.c | 4 drivers/spi/spi-synquacer.c | 4 drivers/spi/spi.c | 2 drivers/spmi/spmi-pmic-arb.c | 5 drivers/staging/gdm724x/gdm_usb.c | 10 drivers/staging/media/allegro-dvt/allegro-core.c | 3 drivers/staging/media/atomisp/pci/atomisp_subdev.c | 24 drivers/staging/media/atomisp/pci/hmm/hmm.c | 2 drivers/staging/media/imx/imx-media-csc-scaler.c | 4 drivers/staging/media/imx/imx-media-dev.c | 7 drivers/staging/media/imx/imx7-media-csi.c | 27 drivers/staging/mt7621-dma/Makefile | 2 drivers/staging/mt7621-dma/hsdma-mt7621.c | 760 ++++++++++ drivers/staging/mt7621-dma/mtk-hsdma.c | 760 ---------- drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 drivers/staging/rtl8723bs/os_dep/wifi_regd.c | 2 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 6 drivers/staging/wfx/data_tx.c | 10 drivers/staging/wfx/data_tx.h | 1 drivers/target/iscsi/cxgbit/cxgbit_target.c | 3 drivers/tee/optee/rpc.c | 31 drivers/thermal/cpufreq_cooling.c | 2 drivers/tty/n_gsm.c | 3 drivers/tty/n_hdlc.c | 60 drivers/tty/n_null.c | 3 drivers/tty/n_r3964.c | 10 drivers/tty/n_tracerouter.c | 4 drivers/tty/n_tracesink.c | 4 drivers/tty/n_tty.c | 82 - drivers/tty/tty_io.c | 82 - drivers/usb/dwc2/hcd.c | 15 drivers/usb/dwc2/hcd_intr.c | 14 drivers/usb/dwc3/gadget.c | 19 drivers/usb/gadget/function/u_audio.c | 17 drivers/usb/musb/musb_core.c | 31 drivers/usb/serial/ftdi_sio.c | 5 drivers/usb/serial/mos7720.c | 4 drivers/usb/serial/mos7840.c | 4 drivers/usb/serial/option.c | 3 drivers/usb/serial/pl2303.c | 8 drivers/vdpa/mlx5/net/mlx5_vnet.c | 2 drivers/vfio/pci/vfio_pci_zdev.c | 4 drivers/vfio/vfio_iommu_type1.c | 63 drivers/video/fbdev/Kconfig | 2 drivers/virt/vboxguest/vboxguest_utils.c | 18 drivers/w1/slaves/w1_therm.c | 22 drivers/watchdog/intel-mid_wdt.c | 8 drivers/watchdog/mei_wdt.c | 1 drivers/watchdog/qcom-wdt.c | 13 fs/affs/namei.c | 4 fs/btrfs/backref.c | 9 fs/btrfs/backref.h | 9 fs/btrfs/block-group.c | 29 fs/btrfs/ctree.c | 7 fs/btrfs/delayed-ref.c | 56 fs/btrfs/delayed-ref.h | 16 fs/btrfs/extent-tree.c | 128 - fs/btrfs/free-space-cache.c | 6 fs/btrfs/inode.c | 3 fs/btrfs/relocation.c | 4 fs/btrfs/space-info.h | 17 fs/ceph/caps.c | 10 fs/debugfs/inode.c | 5 fs/erofs/xattr.c | 10 fs/erofs/zmap.c | 10 fs/eventpoll.c | 4 fs/exfat/exfat_raw.h | 4 fs/exfat/super.c | 31 fs/ext4/Kconfig | 3 fs/ext4/namei.c | 7 fs/f2fs/compress.c | 5 fs/f2fs/data.c | 12 fs/f2fs/f2fs.h | 2 fs/f2fs/file.c | 24 fs/f2fs/inline.c | 4 fs/f2fs/super.c | 3 fs/gfs2/bmap.c | 6 fs/gfs2/lock_dlm.c | 8 fs/gfs2/recovery.c | 4 fs/gfs2/util.c | 16 fs/io_uring.c | 17 fs/isofs/dir.c | 1 fs/isofs/namei.c | 1 fs/jffs2/summary.c | 3 fs/jfs/jfs_dmap.c | 2 fs/nfs/nfs4proc.c | 15 fs/nfsd/nfsctl.c | 14 fs/ocfs2/cluster/heartbeat.c | 8 fs/proc/proc_sysctl.c | 4 fs/proc/self.c | 2 fs/proc/task_mmu.c | 9 fs/proc/thread_self.c | 7 fs/pstore/platform.c | 4 fs/quota/quota_v2.c | 11 fs/ubifs/auth.c | 2 fs/ubifs/replay.c | 4 fs/ubifs/super.c | 4 fs/zonefs/super.c | 3 include/acpi/acexcep.h | 10 include/asm-generic/vmlinux.lds.h | 16 include/linux/bpf.h | 3 include/linux/device-mapper.h | 5 include/linux/eventpoll.h | 2 include/linux/filter.h | 2 include/linux/icmpv6.h | 28 include/linux/iommu.h | 4 include/linux/ipv6.h | 1 include/linux/kexec.h | 5 include/linux/key.h | 1 include/linux/kgdb.h | 2 include/linux/khugepaged.h | 2 include/linux/memremap.h | 6 include/linux/mfd/rohm-generic.h | 14 include/linux/rcupdate.h | 2 include/linux/rmap.h | 3 include/linux/soundwire/sdw.h | 2 include/linux/tpm.h | 5 include/linux/tty_ldisc.h | 3 include/net/act_api.h | 6 include/net/icmp.h | 6 include/net/tcp.h | 9 include/uapi/drm/drm_fourcc.h | 4 init/Kconfig | 11 init/main.c | 1 kernel/Makefile | 2 kernel/bpf/bpf_iter.c | 2 kernel/bpf/bpf_lru_list.c | 7 kernel/bpf/devmap.c | 4 kernel/bpf/verifier.c | 3 kernel/debug/debug_core.c | 11 kernel/debug/kdb/kdb_private.h | 2 kernel/kcsan/core.c | 26 kernel/kexec_file.c | 5 kernel/kprobes.c | 31 kernel/locking/lockdep.c | 3 kernel/module.c | 21 kernel/printk/printk.c | 28 kernel/printk/printk_safe.c | 16 kernel/rcu/tree.c | 8 kernel/rcu/tree_plugin.h | 5 kernel/sched/fair.c | 45 kernel/sched/idle.c | 1 kernel/seccomp.c | 2 kernel/smp.c | 4 kernel/tracepoint.c | 80 - mm/compaction.c | 43 mm/hugetlb.c | 14 mm/khugepaged.c | 22 mm/memcontrol.c | 30 mm/memory-failure.c | 6 mm/memory.c | 16 mm/memremap.c | 15 mm/slab_common.c | 4 mm/slub.c | 8 mm/vmscan.c | 9 net/bluetooth/a2mp.c | 3 net/bluetooth/hci_core.c | 6 net/core/filter.c | 13 net/ipv4/icmp.c | 5 net/ipv6/icmp.c | 18 net/ipv6/ip6_icmp.c | 12 net/mac80211/mesh_hwmp.c | 2 net/nfc/nci/uart.c | 3 net/qrtr/tun.c | 12 net/sched/act_api.c | 106 - net/sched/cls_api.c | 12 net/sunrpc/xprtrdma/svc_rdma_transport.c | 6 samples/Kconfig | 2 samples/watch_queue/watch_test.c | 2 security/commoncap.c | 12 security/integrity/evm/evm_crypto.c | 7 security/integrity/ima/ima_kexec.c | 3 security/integrity/ima/ima_mok.c | 5 security/keys/Kconfig | 8 security/keys/key.c | 2 security/keys/trusted-keys/trusted_tpm1.c | 22 security/keys/trusted-keys/trusted_tpm2.c | 22 security/selinux/hooks.c | 4 sound/core/init.c | 4 sound/core/pcm.c | 4 sound/core/pcm_local.h | 1 sound/core/pcm_native.c | 27 sound/firewire/fireface/ff-protocol-latter.c | 118 + sound/pci/hda/hda_intel.c | 2 sound/pci/hda/patch_hdmi.c | 1 sound/pci/hda/patch_realtek.c | 40 sound/soc/codecs/cpcap.c | 12 sound/soc/codecs/cs42l56.c | 3 sound/soc/codecs/rt5682-i2c.c | 3 sound/soc/codecs/wsa881x.c | 1 sound/soc/generic/simple-card-utils.c | 13 sound/soc/intel/boards/sof_sdw.c | 6 sound/soc/qcom/lpass-apq8016.c | 2 sound/soc/qcom/lpass-cpu.c | 30 sound/soc/qcom/lpass-lpaif-reg.h | 3 sound/soc/qcom/lpass.h | 1 sound/soc/qcom/qdsp6/q6asm-dai.c | 21 sound/soc/qcom/qdsp6/q6routing.c | 18 sound/soc/sh/siu.h | 2 sound/soc/sh/siu_pcm.c | 2 sound/soc/sof/debug.c | 2 sound/soc/sof/intel/hda-dsp.c | 4 sound/soc/sof/sof-pci-dev.c | 7 sound/usb/pcm.c | 2 tools/lib/bpf/libbpf.c | 22 tools/objtool/arch/x86/special.c | 2 tools/objtool/check.c | 15 tools/objtool/check.h | 11 tools/perf/builtin-record.c | 2 tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json | 2 tools/perf/tests/sample-parsing.c | 2 tools/perf/util/event.c | 2 tools/perf/util/evlist.c | 8 tools/perf/util/evlist.h | 4 tools/perf/util/intel-pt-decoder/intel-pt-decoder.c | 41 tools/perf/util/intel-pt-decoder/intel-pt-decoder.h | 2 tools/perf/util/intel-pt.c | 29 tools/perf/util/symbol.c | 7 tools/testing/kunit/kunit_tool_test.py | 14 tools/testing/selftests/bpf/test_xdp_redirect.sh | 10 tools/testing/selftests/dmabuf-heaps/Makefile | 2 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc | 35 tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 tools/testing/selftests/powerpc/eeh/eeh-basic.sh | 2 tools/testing/selftests/seccomp/seccomp_bpf.c | 2 tools/testing/selftests/wireguard/netns.sh | 15 669 files changed, 6490 insertions(+), 3770 deletions(-)
Adam Ford (2):
arm64: dts: renesas: beacon kit: Fix choppy Bluetooth Audio
arm64: dts: renesas: beacon: Fix audio-1.8V pin enable
Adrian Hunter (3):
perf intel-pt: Fix missing CYC processing in PSB perf intel-pt: Fix premature IPC
perf intel-pt: Fix IPC with CYC threshold
Ahmad Fatoum (1):
nvmem: core: skip child nodes not matching binding
Ahmed S. Darwish (1):
scsi: libsas: docs: Remove notify_ha_event()
Al Viro (1):
sparc32: fix a user-triggerable oops in clear_user()
Alain Volmat (1):
spi: stm32: properly handle 0 byte transfer
Alex Deucher (2):
Revert "drm/amd/display: Update NV1x SR latency values" drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2)
Alex Williamson (1):
vfio/type1: Use follow_pte()
Alexander Lobakin (2):
MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
MIPS: properly stop .eh_frame generation
Alexander Usyskin (5):
mei: hbm: call mei_set_devstate() on hbm stop response
watchdog: mei_wdt: request stop on unregister
mei: fix transfer over dma with extended header
mei: me: add adler lake point S DID
mei: me: add adler lake point LP DID
Alexey Kardashevskiy (2):
powerpc/uaccess: Avoid might_fault() when user access is enabled powerpc/kuap: Restore AMR after replaying soft interrupts
Alyssa Rosenzweig (1):
drm/rockchip: Require the YTR modifier for AFBC
Amey Narkhede (1):
staging: gdm724x: Fix DMA from stack
Amir Goldstein (1):
selinux: fix inconsistency between inode_getxattr and inode_listsecurity
Anand K Mistry (2):
ath10k: Fix suspicious RCU usage warning in ath10k_wmi_tlv_parse_peer_stats_info()
ath10k: Fix lockdep assertion warning in ath10k_sta_statistics
Andre Przywara (7):
arm64: dts: allwinner: A64: properly connect USB PHY to port 0
arm64: dts: allwinner: H6: properly connect USB PHY to port 0
arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card
arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency
arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz
clk: sunxi-ng: h6: Fix CEC clock
clk: sunxi-ng: h6: Fix clock divider range on some clocks
Andrea Parri (Microsoft) (1):
Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind()
Andreas Gruenbacher (2):
gfs2: Lock imbalance on error path in gfs2_recover_one
gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end
Andreas Oetken (1):
nios2: fixed broken sys_clone syscall
Andrey Grodzovsky (1):
drm/sched: Cancel and flush all outstanding jobs before finish.
Andrii Nakryiko (2):
bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h
bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args
Andy Lutomirski (1):
x86/fault: Fix AMD erratum #91 errata fixup for user code
Andy Shevchenko (3):
media: ipu3-cio2: Build only for x86
watchdog: intel-mid_wdt: Postpone IRQ handler registration till SCU is ready
spi: pxa2xx: Fix the controller numbering for Wildcat Point
AngeloGioacchino Del Regno (1):
clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs
Ansuel Smith (1):
PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064
Ard Biesheuvel (5):
PCI: Decline to resize resources if boot config must be preserved
crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled
crypto: arm64/sha - add missing module aliases
crypto: aesni - prevent misaligned buffers on the stack
crypto: michael_mic - fix broken misalignment handling
Arnaldo Carvalho de Melo (1):
perf tools: Fix DSO filtering when not finding a map for a sampled address
Arnd Bergmann (6):
ARM: s3c: fix fiq for clang IAS
optee: simplify i2c access
ARM: at91: use proper asm syntax in pm_suspend
ubifs: replay: Fix high stack usage, again clocksource/drivers/ixp4xx: Select TIMER_OF when needed
mfd: altera-sysmgr: Fix physical address storing more
Artem Lapkin (1):
arm64: dts: meson: fix broken wifi node for Khadas VIM3L
Aswath Govindraju (2):
misc: eeprom_93xx46: Fix module alias to enable module autoprobe
misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users
Aurelien Jarno (1):
MIPS: Support binutils configured with --enable-mips-fix-loongson3-llsc=yes
Avihai Horon (1):
RDMA/ucma: Fix use-after-free bug in ucma_create_uevent
Ayush Sawal (1):
cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds
Bard Liao (2):
soundwire: export sdw_write/read_no_pm functions
regmap: sdw: use _no_pm functions in regmap_read/write
Bart Van Assche (1):
scsi: sd: Fix Opal support
Bartosz Golaszewski (1):
rtc: s5m: select REGMAP_I2C
Bernard Metzler (1):
RDMA/siw: Fix handling of zero-sized Read and Receive Queues.
Bjarni Jonasson (1):
net: phy: mscc: adding LCPLL reset to VSC8514
Björn Töpel (1):
selftests/bpf: Convert test_xdp_redirect.sh to bash
Bob Pearson (3):
RDMA/rxe: Fix coding error in rxe_recv.c RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt RDMA/rxe: Correct skb on loopback path
Bob Peterson (2):
gfs2: fix glock confusion in function signal_our_withdraw
gfs2: Don't skip dlm unlock if glock has an lvb
Borislav Petkov (1):
staging: media: atomisp: Fix size_t format specifier in hmm_alloc() debug statemenet
Brett Creeley (1):
ice: Account for port VLAN in VF max packet size calculation
Chaitanya Kulkarni (2):
nvmet: remove extra variable in identify ns
nvmet: set status to 0 in case for invalid nsid
Chao Yu (3):
f2fs: compress: fix potential deadlock
f2fs: fix out-of-repair __setattr_copy()
f2fs: enforce the immutable flag on open files
Chen Wandun (1):
mm/hugetlb: suppress wrong warning info when alloc gigantic page
Chen Yu (1):
cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available
Chen-Yu Tsai (3):
arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node
staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules
PCI: rockchip: Make 'ep-gpios' DT property optional
Chenyang Li (1):
drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition
Chia-I Wu (1):
drm/virtio: make sure context is created in gem open
Chris Ruehl (1):
phy: rockchip-emmc: emmc_phy_init() always return 0
Chris Wilson (4):
drm/i915/gt: One more flush for Baytrail clear residuals drm/i915/gt: Flush before changing register state drm/i915/gt: Correct surface base address for renderclear
kcmp: Support selection of SYS_kcmp without CHECKPOINT_RESTORE
Christoph Hellwig (1):
block: reopen the device in blkdev_reread_part
Christophe JAILLET (13):
Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function
cpufreq: brcmstb-avs-cpufreq: Free resources in error path
cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove()
soc: ti: pm33xx: Fix some resource leak in the error handling paths of the probe function
hwrng: ingenic - Fix a resource leak in an error handling path
media: vsp1: Fix an error handling path in the probe function
media: cx25821: Fix a bug when reallocating some dma memory
dmaengine: fsldma: Fix a resource leak in the remove function
dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function
dmaengine: owl-dma: Fix a resource leak in the remove function
mmc: owl-mmc: Fix a resource leak in an error handling path and in the remove function
mmc: sdhci-sprd: Fix some resource leaks in the remove function
mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe
Christophe Leroy (6):
crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error)
crypto: talitos - Fix ctr(aes) on SEC1
powerpc/47x: Disable 256k page size
powerpc/8xx: Fix software emulation interrupt
powerpc/32: Preserve cr1 in exception prolog stack check to fix build error powerpc/32s: Add missing call to kuep_lock on syscall entry
Christopher William Snowhill (1):
Bluetooth: Fix initializing response id after clearing struct
Chuck Lever (1):
svcrdma: Hold private mutex while invoking rdma_accept()
Chuhong Yuan (2):
drm/fb-helper: Add missed unlocks in setcmap_legacy() net/mlx4_core: Add missed mlx4_free_cmd_mailbox()
Claire Chang (1):
Bluetooth: hci_uart: Fix a race for write_work scheduling
Claudiu Beznea (1):
power: reset: at91-sama5d2_shdwc: fix wkupdbc mask
Colin Ian King (4):
mac80211: fix potential overflow when multiplying to u32 integers
b43: N-PHY: Fix the update of coef for the PHY revision >= 3case fs/jfs: fix potential integer overflow on shift of a int
power: supply: cpcap-charger: Fix power_supply_put on null battery pointer
Cong Wang (1):
net_sched: fix RTNL deadlock again caused by request_module()
Corentin Labbe (6):
crypto: sun4i-ss - linearize buffers content must be kept
crypto: sun4i-ss - fix kmap usage
crypto: sun4i-ss - checking sg length is not sufficient
crypto: sun4i-ss - IV register does not work on A10 and A13
crypto: sun4i-ss - handle BigEndian for cipher
crypto: sun4i-ss - initialize need_fallback
Cornelia Huck (1):
virtio/s390: implement virtio-ccw revision 2 correctly
Cristian Marussi (1):
firmware: arm_scmi: Fix call site of scmi_notification_exit
Cédric Le Goater (2):
KVM: PPC: Make the VMX instruction emulation routines static powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan
Dan Carpenter (20):
soc: qcom: socinfo: Fix an off by one in qcom_show_pmic_model()
ath11k: fix a locking bug in ath11k_mac_op_start()
gma500: clean up error handling in init
media: allegro: Fix use after free on error
media: camss: missing error code in msm_video_register()
ASoC: cs42l56: fix up error handling in probe
media: atomisp: Fix a buffer overflow in debug code
mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions() drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask()
scsi: lpfc: Fix ancient double free
mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
Input: sur40 - fix an error code in sur40_probe()
Input: elo - fix an error code in elo_connect()
phy: cadence-torrent: Fix error code in cdns_torrent_phy_probe()
nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
octeontx2-af: Fix an off by one in rvu_dbg_qsize_write()
ocfs2: fix a use after free on error
Input: joydev - prevent potential read overflow in ioctl
USB: serial: mos7840: fix error code in mos7840_write()
USB: serial: mos7720: fix error code in mos7720_write()
Dan Williams (1):
mm: fix memory_failure() handling of dax-namespace metadata
Daniel Latypov (1):
kunit: tool: fix unit test cleanup handling
Daniel Scally (1):
media: software_node: Fix refcounts in software_node_get_next_child()
Daniel W. S. Almeida (1):
media: vidtv: psi: fix missing crc for PMT
Daniele Alessandrelli (1):
crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key()
Dave Ertman (2):
ice: report correct max number of TCs
ice: Fix state bits on LLDP mode switch
Dave Hansen (1):
mm/vmscan: restore zone_reclaim_mode ABI
Dave Jiang (1):
dmaengine: idxd: set DMA channel to be private
David Gow (1):
rtc: zynqmp: depend on HAS_IOMEM
David Howells (1):
certs: Fix blacklist flag type confusion
Dehe Gu (1):
f2fs: fix a wrong condition in __submit_bio
Dinghao Liu (6):
Bluetooth: hci_qca: Fix memleak in qca_controller_memdump
media: em28xx: Fix use-after-free in em28xx_alloc_urbs
media: media/pci: Fix memleak in empress_init
media: tm6000: Fix memleak in tm6000_start_stream
evm: Fix memleak in init_desc
ubifs: Fix memleak in ubifs_init_authentication
Dinh Nguyen (1):
arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2
Dmitry Baryshkov (2):
regulator: qcom-rpmh-regulator: add pm8009-1 chip revision
arm64: dts: qcom: qrb5165-rb5: fix pm8009 regulators
Dmitry Osipenko (2):
opp: Correct debug message in _opp_add_static_v2()
power: supply: smb347-charger: Fix interrupt usage if interrupt is unavailable
Dmitry Safonov (1):
perf symbols: Use (long) for iterator for bfd symbols
Dmitry Torokhov (1):
Input: zinitix - fix return type of zinitix_init_touch()
Dom Cobley (4):
drm/vc4: hdmi: Move hdmi reset to bind
drm/vc4: hdmi: Fix register offset with longer CEC messages drm/vc4: hdmi: Fix up CEC registers
drm/vc4: hdmi: Restore cec physical address on reconnect
Douglas Anderson (1):
iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleeping
Edwin Peer (1):
bnxt_en: reverse order of TX disable and carrier off
Eric Anholt (2):
drm/msm: Fix race of GPU init vs timestamp power management. drm/msm: Fix races managing the OOB state for timestamp vs timestamps.
Eric Bernstein (1):
drm/amd/display: Remove Assert from dcn10_get_dig_frontend
Eric Biggers (1):
random: fix the RNDRESEEDCRNG ioctl
Eric Dumazet (1):
tcp: fix SO_RCVLOWAT related hangs under mem pressure
Eric W. Biederman (1):
capabilities: Don't allow writing ambiguous v3 file capabilities
Evan Benn (2):
platform/chrome: cros_ec_proto: Use EC_HOST_EVENT_MASK not BIT platform/chrome: cros_ec_proto: Add LID and BATTERY to default mask
Ezequiel Garcia (2):
media: imx: Unregister csc/scaler only if registered
media: imx: Fix csc/scaler unregister
Fabio Estevam (1):
media: imx7: csi: Fix regression for parallel cameras on i.MX6UL
Fangrui Song (1):
module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols
Felix Kuehling (1):
drm/amdkfd: Fix recursive lock warnings
Ferry Toth (1):
dmaengine: hsu: disable spurious interrupt
Filipe Laíns (1):
HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming
Filipe Manana (1):
btrfs: fix extent buffer leak on failure to copy root
Finn Thain (2):
macintosh/adb-iop: Use big-endian autopoll mask ide/falconide: Fix module unload
Florian Fainelli (1):
ata: ahci_brcm: Add back regulators management
Frank Li (1):
mmc: sdhci-esdhc-imx: fix kernel panic when remove module
Frank Wunderlich (1):
dts64: mt7622: fix slow sd card access
Frantisek Hrbata (1):
drm/nouveau: bail out of nouveau_channel_new if channel init fails
Frederic Weisbecker (2):
rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers rcu/nocb: Perform deferred wake up before last idle's need_resched() check
Gabriel Krisman Bertazi (1):
watch_queue: Drop references to /dev/watch_queue
Gao Xiang (1):
erofs: initialized fields can only be observed after bit is set
Geert Uytterhoeven (7):
arm64: dts: renesas: beacon: Fix EEPROM compatible value irqchip/imx: IMX_INTMUX should not default to y, unconditionally
clk: renesas: r8a779a0: Remove non-existent S2 clock
clk: renesas: r8a779a0: Fix parent of CBFUSA clock
auxdisplay: ht16k33: Fix refresh rate handling
phy: USB_LGM_PHY should depend on X86
ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it
Gioh Kim (2):
RDMA/rtrs-srv: fix memory leak by missing kobject free RDMA/rtrs-srv-sysfs: fix missing put_device
Giulio Benetti (1):
drm/sun4i: tcon: fix inverted DCLK polarity
Greg Kroah-Hartman (3):
debugfs: be more robust at handling improper input in debugfs_lookup()
debugfs: do not attempt to create a new file before the filesystem is initalized Linux 5.10.20
Guchun Chen (1):
drm/amdgpu: toggle on DF Cstate after finishing xgmi injection
Guenter Roeck (3):
usb: dwc2: Do not update data length if it is 0 on inbound transfers
usb: dwc2: Abort transaction after errors with unknown reason
usb: dwc2: Make "trimming xfer length" a debug message
Guido Günther (2):
drm/panel: mantix: Tweak init sequence
spi: imx: Don't print error on -EPROBEDEFER
Guoqing Jiang (2):
RDMA/rtrs: Call kobject_put in the failure path RDMA/rtrs-clt: Refactor the failure cases in alloc_clt
Hans de Goede (2):
virt: vbox: Do not use wait_event_interruptible when called from kernel context
regulator: core: Avoid debugfs: Directory ... already present! error
Hao Xu (1):
io_uring: fix possible deadlock in io_uring_poll
Harald Freudenberger (1):
s390/zcrypt: return EIO when msg retry limit reached
Hari Bathini (1):
powerpc/kexec_file: fix FDT size estimation for kdump kernel
He Zhe (1):
arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing
Heiko Carstens (1):
s390/vtime: fix inline assembly clobber list
Heiko Stuebner (1):
drm/panel: kd35t133: allow using non-continuous dsi clock
Heiner Kallweit (3):
net: phy: consider that suspend2ram may cut off PHY power
PCI: Align checking of syscall user config accessors
r8169: fix jumbo packet handling on RTL8168e
Henry Tieman (1):
ice: update the number of available RSS queues
Huacai Chen (1):
irqchip/loongson-pch-msi: Use bitmap_zalloc() to allocate bitmap
Hui Wang (1):
ASoC: SOF: debug: Fix a potential issue on string buffer termination
Ilya Leoshkevich (1):
bpf: Clear subreg_def for global function return values
Ilya Lipnitskiy (1):
staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c
Imre Deak (1):
drm/dp_mst: Don't cache EDIDs for physical ports
Ioana Ciornei (1):
dpaa2-eth: fix memory leak in XDP_REDIRECT
Isaac J. Manjarres (1):
iommu/arm-smmu-qcom: Fix mask extraction for bootloader programmed SMRs
Iskren Chernev (2):
drm/msm: Fix MSM_INFO_GET_IOVA with carveout drm/msm/mdp5: Fix wait-for-commit for cmd panels
Ivan Zaentsev (1):
w1: w1_therm: Fix conversion result for negative temperatures
J. Bruce Fields (1):
nfsd: register pernet ops last, unregister first
Jack Pham (1):
usb: gadget: u_audio: Free requests only after callback
Jack Wang (8):
RDMA/rtrs: Extend ibtrs_cq_qp_create RDMA/rtrs-srv: Release lock before call into close_sess RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect RDMA/rtrs-clt: Set mininum limit when create QP RDMA/rtrs-srv: Fix missing wr_cqe RDMA/rtrs-srv: Init wr_cnt as 1
RDMA/rtrs-srv: Fix stack-out-of-bounds RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR()
Jacopo Mondi (1):
media: i2c: ov5670: Fix PIXEL_RATE minimum value
Jae Hyun Yoo (1):
soc: aspeed: snoop: Add clock control logic
Jaegeuk Kim (1):
f2fs: flush data when enabling checkpoint back
James Bottomley (2):
tpm_tis: Fix check_locality for correct locality acquisition
tpm_tis: Clean up locality release
James Reynolds (1):
media: mceusb: Fix potential out-of-bounds shift
Jan Henrik Weinstock (1):
hwrng: timeriomem - Fix cooldown period calculation
Jan Kara (2):
bfq: Avoid false bfq queue merging
quota: Fix memory leak when handling corrupted quota file
Jan Kokemüller (1):
drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth()
Jann Horn (1):
Take mmap lock in cacheflush syscall
Jarkko Sakkinen (3):
KEYS: trusted: Fix incorrect handling of tpm_get_random()
KEYS: trusted: Fix migratable=1 failing
KEYS: trusted: Reserve TPM for seal and unseal operations
Jason A. Donenfeld (5):
wireguard: device: do not generate ICMP for non-IP packets
wireguard: kconfig: use arm chacha even with no neon
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
wireguard: selftests: test multiple parallel streams
wireguard: queueing: get rid of per-peer ring buffers
Jason Gerecke (1):
HID: wacom: Ignore attempts to overwrite the touch_max value from HID
Jeff Layton (1):
ceph: fix flush_snap logic after putting caps
Jeffle Xu (3):
dm table: fix iterate_devices based device capability checks dm table: fix DAX iterate_devices based device capability checks dm table: fix zoned iterate_devices based device capability checks
Jens Axboe (1):
proc: don't allow async path resolution of /proc/thread-self components
Jesper Dangaard Brouer (1):
bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx
Jialin Zhang (1):
drm/gma500: Fix error return code in psb_driver_load()
Jiri Bohac (1):
pstore: Fix typo in compression option name
Jiri Kosina (1):
floppy: reintroduce O_NDELAY fix
Jiri Olsa (1):
crypto: bcm - Rename struct device_private to bcm_device_private
Joe Perches (1):
media: lmedm04: Fix misuse of comma
Johan Hovold (2):
USB: serial: ftdi_sio: fix FTX sub-integer prescaler
USB: serial: pl2303: fix line-speed handling on newer chips
Johannes Berg (2):
um: mm: check more comprehensively for stub changes
um: defer killing userspace on page table update failures
Johannes Thumshirn (1):
scsi: sd: sd_zbc: Don't pass GFP_NOIO to kvcalloc
John Garry (1):
perf vendor events arm64: Fix Ampere eMag event typo
John Ogness (1):
printk: avoid prb_first_valid_seq() where possible
John Stultz (1):
kselftests: dmabuf-heaps: Fix Makefile's inclusion of the kernel's usr/include dir
John Wang (1):
ARM: dts: aspeed: Add LCLK to lpc-snoop
Jonathan Marek (2):
regulator: qcom-rpmh: fix pm8009 ldo7
misc: fastrpc: fix incorrect usage of dma_map_sgtable
Jorgen Hansen (1):
VMCI: Use set_page_dirty_lock() when unregistering guest memory
Josef Bacik (9):
proc: use kvzalloc for our kernel buffer
btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_node
btrfs: do not warn if we can't find the reloc root when looking up backref
btrfs: add asserts for deleting backref cache nodes
btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root
btrfs: fix reloc root leak with 0 ref reloc roots on recovery
btrfs: splice remaining dirty_bg's onto the transaction dirty bg list
btrfs: handle space_info::total_bytes_pinned inside the delayed ref itself
btrfs: account for new extents being deleted in total_bytes_pinned
Josh Poimboeuf (3):
objtool: Fix error handling for STD/CLD warnings
objtool: Fix retpoline detection in asm code
objtool: Fix ".cold" section suffix check for newer versions of GCC
Judy Hsiao (1):
drm/msm/dp: trigger unplug event in msm_dp_display_disable
Juergen Gross (1):
xen/netback: fix spurious event detection for common event case
Jun Nie (1):
ASoC: qcom: lpass: Fix i2s ctl register bit map
Jun'ichi Nomura (1):
bpf, devmap: Use GFP_KERNEL for xdp bulk queue allocation
Jupeng Zhong (1):
Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv
Jérôme Pouiller (1):
staging: wfx: fix possible panic with re-queued frames
Kai Krakow (3):
Revert "bcache: Kill btree_io_wq"
bcache: Give btree_io_wq correct semantics again
bcache: Move journal work to new flush wq
Kai Vehmanen (1):
ALSA: hda: Add another CometLake-H PCI ID
Kamal Heib (1):
RDMA/siw: Fix calculation of tx_valid_cpus size
KarimAllah Ahmed (1):
fdt: Properly handle "no-map" field in the memory region
Karol Herbst (1):
drm/nouveau/kms: handle mDP connectors
Kees Cook (1):
spi: dw: Avoid stack content exposure
Keith Busch (1):
nvme-multipath: set nr_zones for zoned namespaces
Keqian Zhu (2):
vfio/iommu_type1: Populate full dirty when detach non-pinned group vfio/iommu_type1: Fix some sanity checks in detach group
Kevin Hao (1):
Revert "MIPS: Octeon: Remove special handling of CONFIG_MIPS_ELF_APPENDED_DTB=y"
Konrad Dybcio (1):
drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY)
Krzysztof Kozlowski (10):
ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5
ARM: dts: exynos: correct PMIC interrupt trigger level on Monk
ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato
ARM: dts: exynos: correct PMIC interrupt trigger level on Spring
ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa
ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family
arm64: dts: exynos: correct PMIC interrupt trigger level on TM2
arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso
regulator: s5m8767: Drop regulators OF node reference
soc: samsung: exynos-asv: handle reading revision register error
Krzysztof Wilczyński (1):
PCI: cadence: Fix DMA range mapping early return error
Lakshmi Ramasubramanian (2):
ima: Free IMA measurement buffer on error
ima: Free IMA measurement buffer after kexec syscall
Lang Cheng (1):
RDMA/hns: Fixes missing error code of CMDQ
Laurent Pinchart (2):
drm: rcar-du: Fix crash when using LVDS1 clock for CRTC
media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values
Lech Perczak (1):
USB: serial: option: update interface mapping for ZTE P685M
Leon Romanovsky (1):
ipv6: silence compilation warning for non-IPV6 builds
Lijun Ou (1):
RDMA/hns: Disable RQ inline by default
Lijun Pan (2):
ibmvnic: add memory barrier to protect long term buffer
ibmvnic: skip send_request_unmap for timeout reset
Linus Lüssing (1):
ath9k: fix data bus crash when setting nf_override via debugfs
Linus Torvalds (2):
tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer
tty: implement read_iter
Lubomir Rintel (1):
media: marvell-ccic: power up the device on mclk enable
Luca Coelho (7):
iwlwifi: mvm: set enabled in the PPAG command properly
iwlwifi: mvm: fix the type we use in the PPAG table validity checks
iwlwifi: mvm: store PPAG enabled/disabled flag properly
iwlwifi: mvm: send stored PPAG command instead of local
iwlwifi: mvm: assign SAR table revision to the command later
iwlwifi: pnvm: set the PNVM again if it was already loaded
iwlwifi: pnvm: increment the pointer before checking the TLV
Luca Weiss (1):
soc: qcom: ocmem: don't return NULL in of_get_ocmem
Luo Meng (1):
media: qm1d1c0042: fix error return code in qm1d1c0042_init()
Magnum Shan (1):
mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL
Manivannan Sadhasivam (1):
mtd: parsers: afs: Fix freeing the part name memory in failure
Marc Kleine-Budde (1):
can: mcp251xfd: mcp251xfd_probe(): fix errata reference
Marc Zyngier (1):
arm64: Add missing ISB after invalidating TLB in __primary_switch
Marcin Ślusarz (1):
soundwire: intel: fix possible crash when no device is detected
Marco Elver (2):
bpf_lru_list: Read double-checked variable once without lock
kcsan: Rewrite kcsan_prandom_u32_max() without prandom_u32_state()
Marcos Paulo de Souza (1):
Input: i8042 - add ASUS Zenbook Flip to noselftest list
Marek Behún (1):
arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware
Marek Szyprowski (1):
soc: samsung: exynos-asv: don't defer early on not-supported SoCs
Marek Vasut (1):
PCI: rcar: Always allocate MSI addresses in 32bit space
Mario Kleiner (2):
drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. drm/amd/display: Fix HDMI deep color output for DCE 6-11.
Martin Blumenstingl (4):
net: stmmac: dwmac-meson8b: fix enabling the timing-adjustment clock
clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL
clk: meson: clk-pll: make "ret" a signed integer
clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate()
Martin KaFai Lau (1):
libbpf: Ignore non function pointer member in struct_ops
Martin Kaiser (1):
staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table
Masahisa Kojima (1):
spi: spi-synquacer: fix set_cs handling
Masami Hiramatsu (1):
kprobes: Fix to delay the kprobes jump optimization
Mateusz Palczewski (4):
i40e: Add zero-initialization of AQ command structures
i40e: Fix overwriting flow control settings during driver loading
i40e: Fix addition of RX filters after enabling FW LLDP agent
i40e: Fix add TC filter for IPv6
Mathias Kresin (1):
phy: lantiq: rcu-usb2: wait after clock enable
Matthieu Baerts (1):
selftests: mptcp: fix ACKRX debug message
Matti Vaittinen (1):
regulator: bd718x7, bd71828, Fix dvs voltage levels
Max Gurtovoy (1):
vfio-pci/zdev: fix possible segmentation fault issue
Maxim Kiselev (1):
gpio: pcf857x: Fix missing first interrupt
Maxim Mikityanskiy (4):
net/mlx5e: Don't change interrupt moderation params when DIM is enabled net/mlx5e: Change interrupt moderation channel params also when channels are closed net/mlx5e: Replace synchronize_rcu with synchronize_net
net/mlx5e: kTLS, Use refcounts to free kTLS RX priv context
Maxime Chevallier (1):
net: mvneta: Remove per-cpu queue mapping for Armada 3700
Maxime Ripard (4):
drm/vc4: hdmi: Take into account the clock doubling flag in atomic_check drm/vc4: hdmi: Compute the CEC clock divider from the clock rate drm/vc4: hdmi: Update the CEC clock divider on HSM rate change
i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition
Maximilian Luz (1):
ACPICA: Fix exception code class checks
Md Haris Iqbal (1):
RDMA/rtrs: Only allow addition of path to an already established session
Miaohe Lin (3):
mm/memory.c: fix potential pte_unmap_unlock pte error mm/hugetlb: fix potential double free in hugetlb_register_node() error path mm/rmap: fix potential pte_unmap on an not mapped pte
Michael Tretter (1):
clk: divider: fix initialization with parent_hw
Mike Kravetz (2):
hugetlb: fix update_and_free_page contig page struct assumption
hugetlb: fix copy_huge_page_from_user contig page struct assumption
Mikulas Patocka (5):
blk-settings: align max_sectors on "logical_block_size" boundary
dm: fix deadlock when swapping to encrypted device
dm writecache: fix performance degradation in ssd mode
dm writecache: return the exact table values that were set dm writecache: fix writing beyond end of underlying device when shrinking
Misono Tomohiro (1):
x86/MSR: Filter MSR writes through X86_IOC_WRMSR_REGS ioctl too
Moshe Shemesh (1):
net/mlx5e: Check tunnel offload is required before setting SWP
Muchun Song (5):
mm: memcontrol: fix NR_ANON_THPS accounting in charge moving
mm: memcontrol: fix slub memory accounting
mm: memcontrol: fix swap undercounting in cgroup2
mm: memcontrol: fix get_active_memcg return value
printk: fix deadlock when kernel panic
Mårten Lindahl (1):
i2c: exynos5: Preserve high speed master code
Namhyung Kim (1):
perf test: Fix unaligned access in sample parsing test
Namjae Jeon (1):
exfat: fix shift-out-of-bounds in exfat_fill_super()
Nathan Chancellor (5):
vmlinux.lds.h: Define SANTIZER_DISCARDS with CONFIG_GCOV_KERNEL=y
MIPS: c-r4k: Fix section mismatch for loongson2_sc_init
MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0
MIPS: Compare __SYNC_loongson3_war against 0
MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target='
Nathan Lynch (1):
powerpc/pseries/dlpar: handle ibm, configure-connector delay status
NeilBrown (2):
seq_file: document how per-entry resources are managed.
x86: fix seq_file iteration for pat/memtype.c
Nicholas Fraser (1):
perf symbols: Fix return value when loading PE DSO
Nick Desaulniers (1):
vmlinux.lds.h: add DWARF v5 sections
Nicolas Boichat (1):
of/fdt: Make sure no-map does not remove already reserved regions
Nicolas Saenz Julienne (1):
spi: Skip zero-length transfers in spi_transfer_one_message()
Nikos Tsironis (7):
dm era: Recover committed writeset after crash
dm era: Update in-core bitset after committing the metadata dm era: Verify the data block size hasn't changed
dm era: Fix bitset memory leaks
dm era: Use correct value size in equality function of writeset tree dm era: Reinitialize bitset cache before digesting a new writeset dm era: only resize metadata in preresume
Nirmoy Das (1):
drm/amdgpu/display: remove hdcp_srm sysfs on device removal
Olivier Crête (1):
Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox Series X|S
Oz Shlomo (1):
net/mlx5e: CT: manage the lifetime of the ct entry object
Pan Bian (11):
Bluetooth: drop HCI device reference before return
Bluetooth: Put HCI device if inquiry procedure interrupts
memory: ti-aemif: Drop child node when jumping out loop
bsg: free the request before return error code
regulator: axp20x: Fix reference cout leak
regulator: s5m8767: Fix reference count leak
spi: atmel: Put allocated master before return
isofs: release buffer head before return
PCI: xilinx-cpm: Fix reference count leak on error path
mtd: spi-nor: hisi-sfc: Put child node np on error path fs/affs: release old buffer head on error path
Paolo Bonzini (1):
KVM: nSVM: fix running nested guests when npt=0
Parav Pandit (3):
IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex IB/mlx5: Return appropriate error code instead of ENOMEM IB/cm: Avoid a loop when device has 255 ports
Paul Cercueil (3):
usb: musb: Fix runtime PM race in musb_queue_resume_work
MIPS: Ingenic: Disable HPTLB for D0 XBurst CPUs too
seccomp: Add missing return in non-void function
Pavel Machek (1):
media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt()
PeiSen Hou (1):
ALSA: hda/realtek: modify EAPD in the ALC886
Peter Zijlstra (1):
locking/lockdep: Avoid unmatched unlock
Phil Elwell (2):
staging: vchiq: Fix bulk userdata handling
staging: vchiq: Fix bulk transfers on 64-bit builds
Pierre-Louis Bossart (7):
ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A5E
ASoC: Intel: sof_sdw: add missing TGL_HDMI quirk for Dell SKU 0A3E
ASoC: SOF: sof-pci-dev: add missing Up-Extreme quirk
soundwire: cadence: fix ACK/NAK handling
soundwire: bus: use sdw_update_no_pm when initializing a device
soundwire: bus: use sdw_write_no_pm when setting the bus scale registers
soundwire: bus: fix confusion on device used by pm_runtime
Pingfan Liu (1):
powerpc/time: Enable sched clock for irqtime
Po-Hsu Lin (1):
selftests/powerpc: Make the test check in eeh-basic.sh posix compliant
Pratyush Yadav (1):
spi: cadence-quadspi: Abort read if dummy cycles required are too many
Qais Yousef (1):
sched/eas: Don't update misfit status if the task is pinned
Qinglang Miao (4):
drm: rcar-du: Fix PM reference leak in rcar_cmm_enable() drm/tegra: Fix reference leak when pm_runtime_get_sync() fails drm/lima: fix reference leak in lima_pm_busy
ACPI: configfs: add missing check after configfs_register_default_group()
Qu Wenruo (1):
btrfs: fix double accounting of ordered extent for subpage case in btrfs_invalidapge
Quinn Tran (1):
scsi: qla2xxx: Fix mailbox Ch erroneous error
Rafael J. Wysocki (3):
ACPI: property: Fix fwnode string properties matching
cpufreq: ACPI: Set cpuinfo.max_freq directly if max boost is known
cpufreq: intel_pstate: Change intel_pstate_get_hwp_max() argument
Rakesh Pillai (1):
ath10k: Fix error handling in case of CE pipe init failure
Randy Dunlap (7):
fbdev: aty: SPARC64 requires FB_ATY_CT
HID: core: detect and skip invalid inputs to snto32()
power: supply: fix sbs-charger build, needs REGMAP_I2C
sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set
sparc: fix led.c driver when PROC_FS is not enabled
ARM: 9065/1: OABI compat: fix build when EPOLL is not enabled
scsi: bnx2fc: Fix Kconfig warning & CNIC build errors
Ranjani Sridharan (1):
ASoC: SOF: Intel: hda: cancel D0i3 work during runtime suspend
Rasmus Villemoes (1):
spi: fsl: invert spisel_boot signal on MPC8309
Rayagonda Kokatanur (3):
i2c: iproc: handle only slave interrupts which are enabled
i2c: iproc: update slave isr mask (ISR_MASK_SLAVE)
i2c: iproc: handle master read request
Ricky Wu (1):
misc: rtsx: init of rts522a add OCP power off when no card is present
Rik van Riel (1):
mm,thp,shmem: make khugepaged obey tmpfs mount flags
Robert Foss (1):
arm64: dts: qcom: sdm845-db845c: Fix reset-pin of ov8856 node
Robert Hancock (1):
net: axienet: Handle deferred probe on clock properly
Robin Murphy (2):
perf/arm-cmn: Fix PMU instance naming perf/arm-cmn: Move IRQs when migrating context
Rodrigo Siqueira (1):
drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1
Roja Rani Yarubandi (1):
i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct
Rosen Penev (2):
ARM: dts: armada388-helios4: assign pinctrl to LEDs
ARM: dts: armada388-helios4: assign pinctrl to each fan
Rui Miguel Silva (1):
media: imx7: csi: Fix pad link validation
Russell King (1):
PCI: pci-bridge-emul: Fix array overruns, improve safety
Ryan Chen (1):
clk: aspeed: Fix APLL calculate formula from ast2600-A2
Sabyrzhan Tasbolatov (1):
drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue
Sagi Grimberg (2):
nvmet-tcp: fix receive data digest calculation for multiple h2cdata PDUs
nvmet-tcp: fix potential race of tcp socket closing accept_work
Sai Prakash Ranjan (1):
watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ
Sameer Pujar (1):
ASoC: simple-card-utils: Fix device module clock
Samuel Holland (1):
power: supply: axp20x_usb_power: Init work before enabling IRQs
Sara Sharon (1):
iwlwifi: mvm: don't check if CSA event is running before removing
Sathyanarayana Nujella (1):
ASoC: rt5682: Fix panic in rt5682_jack_detect_handler happening during system shutdown
Sean Christopherson (6):
KVM: nSVM: Don't strip host's C-bit from guest's CR3 when reading PDPTRs
KVM: x86: Restore all 64 bits of DR6 and DR7 during RSM on x86-64
KVM: SVM: Intercept INVPCID when it's disabled to inject #UD
KVM: x86/mmu: Expand collapsible SPTE zap for TDP MMU to ZONE_DEVICE and HugeTLB pages x86/virt: Eat faults on VMXOFF in reboot flows
x86/reboot: Force all cpus to exit VMX root if VMX is supported
Sean Young (2):
media: ir_toy: add another IR Droid device
media: smipcie: fix interrupt handling and IR timeout
Sebastian Andrzej Siewior (1):
smp: Process pending softirqs in flush_smp_call_function_from_idle()
Sebastian Reichel (1):
ASoC: cpcap: fix microphone timeslot mask
Shaoying Xu (1):
arm64 module: set plt* section addresses to 0x0
Shawn Guo (1):
cpufreq: qcom-hw: drop devm_xxx() calls from init/exit hooks
Shay Drory (7):
net/mlx5: Fix health error state handling net/mlx5: Disable devlink reload for multi port slave device net/mlx5: Disallow RoCE on multi port slave device net/mlx5: Disallow RoCE on lag device
net/mlx5: Disable devlink reload for lag devices IB/umad: Return EIO in case of when device disassociated IB/umad: Return EPOLLERR in case of when device disassociated
Shin'ichiro Kawasaki (1):
zonefs: Fix file size of zones in full condition
Shirley Her (1):
mmc: sdhci-pci-o2micro: Bug fix for SDR104 HW tuning failure
Shiyang Ruan (1):
device-dax: Fix default return code of range_parse()
Shyam Sundar S K (4):
net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout
net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning
net: amd-xgbe: Reset link when the link never comes back
net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP
Simon Ser (1):
drm/fourcc: fix Amlogic format modifier masks
Simon South (3):
pwm: rockchip: Enable APB clock during register access while probing
pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare()
pwm: rockchip: Eliminate potential race condition when probing
Slawomir Laba (1):
i40e: Fix flow for IPv6 next header (extension header)
Song, Yoong Siang (1):
net: stmmac: fix CBS idleslope and sendslope calculation
Srinivas Kandagatla (1):
ASoC: codecs: add missing max_register in regmap config
Srinivasa Rao Mandadapu (2):
ASoC: qcom: lpass-cpu: Remove bit clock state check
ASoC: qcom: Fix typo error in HDMI regmap config callbacks
Stefano Garzarella (1):
vdpa/mlx5: fix param validation in mlx5_vdpa_get_config()
Stephan Gerhold (3):
arm64: dts: qcom: msm8916-samsung-a5u: Fix iris compatible
arm64: dts: qcom: msm8916-samsung-a2015: Fix sensors
ASoC: qcom: qdsp6: Move frontend AIFs to q6asm-dai
Steven Rostedt (VMware) (1):
tracepoint: Do not fail unregistering a probe due to memory failure
Subbaraman Narayanamurthy (2):
nvmem: qcom-spmi-sdam: Fix uninitialized pdev pointer
spmi: spmi-pmic-arb: Fix hw_irq overflow
Sukadev Bhattiprolu (1):
ibmvnic: Set to CLOSED state even on error
Sumit Garg (2):
kdb: Make memory allocations more robust
kgdb: fix to kill breakpoints on initmem after boot
Suzuki K Poulose (3):
coresight: etm4x: Skip accessing TRCPDCR in save/restore
arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55
coresight: etm4x: Handle accesses to TRCSTALLCTLR
Sylwester Dziedziuch (1):
i40e: Fix VFs not created
Taehee Yoo (1):
vxlan: move debug check after netdev unregister
Takahiro Kuwano (4):
mtd: spi-nor: sfdp: Fix last erase region marking
mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region
mtd: spi-nor: core: Fix erase type discovery for overlaid region
mtd: spi-nor: core: Add erase size check for erase command initialization
Takashi Iwai (7):
ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode
ALSA: pcm: Call sync_stop at disconnection
ALSA: pcm: Assure sync with the pending stop operation at suspend
ALSA: pcm: Don't call sync_stop if it hasn't been stopped
ALSA: hda/hdmi: Drop bogus check at closing a stream
ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup
ASoC: siu: Fix build error by a wrong const prefix
Takashi Sakamoto (1):
ALSA: fireface: fix to parse sync status register of latter protocol
Takeshi Misawa (1):
net: qrtr: Fix memory leak in qrtr_tun_open
Takeshi Saito (1):
mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes
Theodore Ts'o (1):
ext4: fix potential htree index checksum corruption
Thinh Nguyen (2):
usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1
usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt
Thomas Gleixner (1):
x86/entry: Fix instrumentation annotation
Tim Harvey (1):
mfd: gateworks-gsc: Fix interrupt type
Timothy E Baldwin (1):
arm64: ptrace: Fix seccomp of traced syscall -1 (NO_SYSCALL)
Tobias Klauser (1):
riscv: Disable KSAN_SANITIZE for vDSO
Tom Rix (4):
media: mtk-vcodec: fix argument used when DEBUG is defined
media: pxa_camera: declare variable when DEBUG is defined
jffs2: fix use after free in jffs2_sum_write_data() clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined
Tom Zanussi (1):
selftests/ftrace: Update synthetic event syntax errors
Tomas Winkler (1):
mei: me: emmitsburg workstation DID
Tomi Valkeinen (2):
media: ti-vpe: cal: fix write to unallocated memory
media: i2c: max9286: fix access to unallocated memory
Tony Lindgren (4):
ARM: dts: Configure missing thermal interrupt for 4430
power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression
power: supply: cpcap-charger: Fix missing power_supply_put()
power: supply: cpcap-battery: Fix missing power_supply_put()
Trond Myklebust (1):
NFSv4: Fixes for nfs4_bitmask_adjust()
Tzung-Bi Shih (1):
remoteproc/mediatek: acknowledge watchdog IRQ after handled
Uwe Kleine-König (2):
amba: Fix resource leak for drivers without .remove
pwm: iqs620a: Fix overflow and optimize calculations
Vasundhara Volam (1):
bnxt_en: Fix devlink info's stored fw.psid version format.
Ville Syrjälä (2):
drm/modes: Switch to 64bit maths to avoid integer overflow drm/i915: Reject 446-480MHz HDMI clock on GLK
Vincent Knecht (1):
arm64: dts: msm8916: Fix reserved and rfsa nodes unit address
Viresh Kumar (1):
thermal: cpufreq_cooling: freq_qos_update_request() returns < 0 on error
Vlad Buslov (1):
net: sched: fix police ext initialization
Vladimir Murzin (1):
ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores
Vladimir Oltean (3):
net: dsa: felix: perform teardown in reverse order of setup
net: dsa: felix: don't deinitialize unused ports
net: enetc: fix destroyed phylink dereference during unbind
Vlastimil Babka (1):
mm, compaction: make fast_isolate_freepages() stay within zone
Wang ShaoBo (1):
ubifs: Fix error return code in alloc_wbufs()
Wang Xiaojun (1):
drm: rcar-du: Fix the return check of of_parse_phandle and of_find_device_by_node
Weihang Li (1):
RDMA/hns: Fix type of sq_signal_bits
Wenpeng Liang (1):
RDMA/hns: Fixed wrong judgments in the goto branch
Will Deacon (2):
mm: proc: Invalidate TLB after clearing soft-dirty page state
arm64: spectre: Prevent lockdep splat on v4 mitigation enable path
Wonhyuk Yang (1):
mm/compaction: fix misbehaviors of fast_find_migrateblock()
Xuewen Yan (1):
sched/fair: Avoid stale CPU util_est value for schedutil in task dequeue
Yang Jihong (1):
perf record: Fix continue profiling after draining the buffer
Yi Chen (1):
f2fs: fix to avoid inconsistent quota data
Yishai Hadas (1):
RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation
Yong Wu (2):
iommu: Switch gather->end to the inclusive end
iommu: Move iotlb_sync_map out from __iommu_map
Yonghong Song (1):
bpf: Fix an unitialized value in bpf_iter
Yongqiang Niu (1):
drm/mediatek: Check if fb is null
Yoshihiro Shimoda (1):
mfd: bd9571mwv: Use devm_mfd_add_devices()
Zhang Changzhong (2):
media: mtk-vcodec: fix error return code in vdec_vp9_decode()
media: aspeed: fix error return code in aspeed_video_setup_video()
Zhang Qilong (2):
memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops
HSI: Fix PM usage counter unbalance in ssi_hw_init
Zhenzhong Duan (1):
csky: Fix a size determination in gpr_get()
Zhihao Cheng (1):
btrfs: clarify error returns values in __load_free_space_cache
jeffrey.lin (1):
Input: raydium_ts_i2c - do not send zero length
qiuguorui1 (1):
arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() fails
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/perf/arm-cmn.rst +1 -1
@@ -17,7 +17,7 @@ PMU events ---------- The PMU driver registers a single PMU device for the whole interconnect, -see /sys/bus/event_source/devices/arm_cmn. Multi-chip systems may link +see /sys/bus/event_source/devices/arm_cmn_0. Multi-chip systems may link more than one CMN together via external CCIX links - in this situation, each mesh counts its own events entirely independently, and additional PMU devices will be named arm_cmn_{1..n}.
Documentation/admin-guide/sysctl/vm.rst +5 -5
@@ -978,11 +978,11 @@ that benefit from having their data cached, zone_reclaim_mode should be left disabled as the caching effect is likely to be more important than data locality. -zone_reclaim may be enabled if it's known that the workload is partitioned -such that each partition fits within a NUMA node and that accessing remote -memory would cause a measurable performance reduction. The page allocator -will then reclaim easily reusable pages (those page cache pages that are -currently not used) before allocating off node pages. +Consider enabling one or more zone_reclaim mode bits if it's known that the +workload is partitioned such that each partition fits within a NUMA node +and that accessing remote memory would cause a measurable performance +reduction. The page allocator will take additional actions before +allocating off node pages. Allowing zone reclaim to write out pages stops processes that are writing large amounts of data from dirtying pages on other nodes. Zone
Documentation/filesystems/seq_file.rst +6 -0
@@ -217,6 +217,12 @@ between the calls to start() and stop(), so holding a lock during that time is a reasonable thing to do. The seq_file code will also avoid taking any other locks while the iterator is active. +The iterater value returned by start() or next() is guaranteed to be +passed to a subsequent next() or stop() call. This allows resources +such as locks that were taken to be reliably released. There is *no* +guarantee that the iterator will be passed to show(), though in practice +it often will be. + Formatted output ================
Documentation/scsi/libsas.rst +0 -1
@@ -189,7 +189,6 @@ num_phys The event interface:: /* LLDD calls these to notify the class of an event. */ - void (*notify_ha_event)(struct sas_ha_struct *, enum ha_event); void (*notify_port_event)(struct sas_phy *, enum port_event); void (*notify_phy_event)(struct sas_phy *, enum phy_event);
Documentation/security/keys/core.rst +2 -2
@@ -1040,8 +1040,8 @@ The keyctl syscall functions are: "key" is the ID of the key to be watched. - "queue_fd" is a file descriptor referring to an open "/dev/watch_queue" - which manages the buffer into which notifications will be delivered. + "queue_fd" is a file descriptor referring to an open pipe which + manages the buffer into which notifications will be delivered. "filter" is either NULL to remove a watch or a filter specification to indicate what events are required from the key.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 19 +SUBLEVEL = 20 EXTRAVERSION = NAME = Dare mighty things
arch/arm/boot/compressed/head.S +2 -2
@@ -1175,9 +1175,9 @@ __armv4_mmu_cache_off: __armv7_mmu_cache_off: mrc p15, 0, r0, c1, c0 #ifdef CONFIG_MMU - bic r0, r0, #0x000d + bic r0, r0, #0x0005 #else - bic r0, r0, #0x000c + bic r0, r0, #0x0004 #endif mcr p15, 0, r0, c1, c0 @ turn MMU and cache off mov r0, #0
arch/arm/boot/dts/armada-388-helios4.dts +22 -6
@@ -70,6 +70,9 @@ reg_5p0v_usb: regulator-5v-usb { system-leds { compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&helios_system_led_pins>; + status-led { label = "helios4:green:status"; gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
@@ -86,6 +89,9 @@ fault-led { io-leds { compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&helios_io_led_pins>; + sata1-led { label = "helios4:green:ata1"; gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
@@ -121,11 +127,15 @@ usb-led { fan1: j10-pwm { compatible = "pwm-fan"; pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */ + pinctrl-names = "default"; + pinctrl-0 = <&helios_fan1_pins>; }; fan2: j17-pwm { compatible = "pwm-fan"; pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */ + pinctrl-names = "default"; + pinctrl-0 = <&helios_fan2_pins>; }; usb2_phy: usb2-phy {
@@ -286,16 +296,22 @@ helios_sdhci_pins: helios-sdhci-pins { "mpp39", "mpp40"; marvell,function = "sd0"; }; - helios_led_pins: helios-led-pins { - marvell,pins = "mpp24", "mpp25", - "mpp49", "mpp50", + helios_system_led_pins: helios-system-led-pins { + marvell,pins = "mpp24", "mpp25"; + marvell,function = "gpio"; + }; + helios_io_led_pins: helios-io-led-pins { + marvell,pins = "mpp49", "mpp50", "mpp52", "mpp53", "mpp54"; marvell,function = "gpio"; }; - helios_fan_pins: helios-fan-pins { - marvell,pins = "mpp41", "mpp43", - "mpp48", "mpp55"; + helios_fan1_pins: helios_fan1_pins { + marvell,pins = "mpp41", "mpp43"; + marvell,function = "gpio"; + }; + helios_fan2_pins: helios_fan2_pins { + marvell,pins = "mpp48", "mpp55"; marvell,function = "gpio"; }; microsom_spi1_cs_pins: spi1-cs-pins {
arch/arm/boot/dts/aspeed-g4.dtsi +1 -0
@@ -370,6 +370,7 @@ lpc_snoop: lpc-snoop@10 { compatible = "aspeed,ast2400-lpc-snoop"; reg = <0x10 0x8>; interrupts = <8>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; };
arch/arm/boot/dts/aspeed-g5.dtsi +1 -0
@@ -492,6 +492,7 @@ lpc_snoop: lpc-snoop@10 { compatible = "aspeed,ast2500-lpc-snoop"; reg = <0x10 0x8>; interrupts = <8>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; };
arch/arm/boot/dts/aspeed-g6.dtsi +1 -0
@@ -513,6 +513,7 @@ lpc_snoop: lpc-snoop@0 { compatible = "aspeed,ast2600-lpc-snoop"; reg = <0x0 0x80>; interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; status = "disabled"; };
arch/arm/boot/dts/exynos3250-artik5.dtsi +1 -1
@@ -79,7 +79,7 @@ &i2c_0 { s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx3>; - interrupts = <5 IRQ_TYPE_NONE>; + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps14_irq>; reg = <0x66>;
arch/arm/boot/dts/exynos3250-monk.dts +1 -1
@@ -200,7 +200,7 @@ &i2c_0 { s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; wakeup-source;
arch/arm/boot/dts/exynos3250-rinato.dts +1 -1
@@ -270,7 +270,7 @@ &i2c_0 { s2mps14_pmic@66 { compatible = "samsung,s2mps14-pmic"; interrupt-parent = <&gpx0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; wakeup-source;
arch/arm/boot/dts/exynos5250-spring.dts +1 -1
@@ -109,7 +109,7 @@ s5m8767-pmic@66 { compatible = "samsung,s5m8767-pmic"; reg = <0x66>; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; wakeup-source;
arch/arm/boot/dts/exynos5420-arndale-octa.dts +1 -1
@@ -349,7 +349,7 @@ s2mps11_pmic@66 { reg = <0x66>; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps11_irq>;
arch/arm/boot/dts/exynos5422-odroid-core.dtsi +1 -1
@@ -509,7 +509,7 @@ s2mps11_pmic@66 { samsung,s2mps11-acokb-ground; interrupt-parent = <&gpx0>; - interrupts = <4 IRQ_TYPE_EDGE_FALLING>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&s2mps11_irq>;
arch/arm/boot/dts/omap443x.dtsi +2 -0
@@ -33,10 +33,12 @@ thermal-zones { }; ocp { + /* 4430 has only gpio_86 tshut and no talert interrupt */ bandgap: bandgap@4a002260 { reg = <0x4a002260 0x4 0x4a00232C 0x4>; compatible = "ti,omap4430-bandgap"; + gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; #thermal-sensor-cells = <0>; };
arch/arm/kernel/sys_oabi-compat.c +15 -0
@@ -248,6 +248,7 @@ struct oabi_epoll_event {__u64 data; } __attribute__ ((packed,aligned(4))); +#ifdef CONFIG_EPOLL asmlinkage long sys_oabi_epoll_ctl (int epfd,int op,int fd,struct oabi_epoll_event __user *event) {
@@ -298,6 +299,20 @@ asmlinkage long sys_oabi_epoll_wait(int epfd,kfree (kbuf);return err ? -EFAULT : ret; } +#else +asmlinkage long sys_oabi_epoll_ctl (int epfd,int op,int fd, +struct oabi_epoll_event __user *event) +{ +return -EINVAL ; +} + +asmlinkage long sys_oabi_epoll_wait (int epfd, +struct oabi_epoll_event __user *events, +int maxevents,int timeout) +{ +return -EINVAL ; +} +#endif struct oabi_sembuf {unsigned short sem_num;
arch/arm/mach-at91/pm_suspend.S +1 -1
@@ -442,7 +442,7 @@ ENDPROC(at91_backup_mode) str tmp1, [pmc, #AT91_PMC_PLL_UPDT] /* step 2. */ - ldr tmp1, =#AT91_PMC_PLL_ACR_DEFAULT_PLLA + ldr tmp1, =AT91_PMC_PLL_ACR_DEFAULT_PLLA str tmp1, [pmc, #AT91_PMC_PLL_ACR] /* step 3. */
arch/arm/mach-ixp4xx/Kconfig +0 -1
@@ -13,7 +13,6 @@ config MACH_IXP4XX_OF select I2C select I2C_IOP3XX select PCI - select TIMER_OF select USE_OF help Say 'Y' here to support Device Tree-based IXP4xx platforms.
arch/arm/mach-s3c/irq-s3c24xx-fiq.S +3 -6
@@ -35,7 +35,6 @@ @ and an offset to the irq acknowledgment word ENTRY(s3c24xx_spi_fiq_rx) -s3c24xx_spi_fix_rx: .word fiq_rx_end - fiq_rx_start .word fiq_rx_irq_ack - fiq_rx_start fiq_rx_start:
@@ -49,7 +48,7 @@ fiq_rx_start: strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do @@ set IRQ controller so that next op will trigger IRQ mov fiq_rtmp, #0
@@ -61,7 +60,6 @@ fiq_rx_irq_ack: fiq_rx_end: ENTRY(s3c24xx_spi_fiq_txrx) -s3c24xx_spi_fiq_txrx: .word fiq_txrx_end - fiq_txrx_start .word fiq_txrx_irq_ack - fiq_txrx_start fiq_txrx_start:
@@ -76,7 +74,7 @@ fiq_txrx_start: strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do mov fiq_rtmp, #0 str fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD - S3C24XX_VA_IRQ ]
@@ -88,7 +86,6 @@ fiq_txrx_irq_ack: fiq_txrx_end: ENTRY(s3c24xx_spi_fiq_tx) -s3c24xx_spi_fix_tx: .word fiq_tx_end - fiq_tx_start .word fiq_tx_irq_ack - fiq_tx_start fiq_tx_start:
@@ -101,7 +98,7 @@ fiq_tx_start: strb fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ] subs fiq_rcount, fiq_rcount, #1 - subnes pc, lr, #4 @@ return, still have work to do + subsne pc, lr, #4 @@ return, still have work to do mov fiq_rtmp, #0 str fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD - S3C24XX_VA_IRQ ]
arch/arm64/Kconfig +1 -1
@@ -520,7 +520,7 @@ config ARM64_ERRATUM_1024718 help This option adds a workaround for ARM Cortex-A55 Erratum 1024718. - Affected Cortex-A55 cores (r0p0, r0p1, r1p0) could cause incorrect + Affected Cortex-A55 cores (all revisions) could cause incorrect update of the hardware dirty bit when the DBM/AP bits are updated without a break-before-make. The workaround is to disable the usage of hardware DBM locally on the affected cores. CPUs not affected by
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +1 -4
@@ -126,8 +126,6 @@ &de { }; &ehci0 { - phys = <&usbphy 0>; - phy-names = "usb"; status = "okay"; };
@@ -169,6 +167,7 @@ &mmc2 { pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>; vmmc-supply = <®_dcdc1>; vqmmc-supply = <®_eldo1>; + max-frequency = <200000000>; bus-width = <8>; non-removable; cap-mmc-hw-reset;
@@ -177,8 +176,6 @@ &mmc2 { }; &ohci0 { - phys = <&usbphy 0>; - phy-names = "usb"; status = "okay"; };
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi +0 -1
@@ -32,7 +32,6 @@ &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; vmmc-supply = <®_dcdc1>; - non-removable; disable-wp; bus-width = <4>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +5 -1
@@ -514,7 +514,7 @@ mmc2: mmc@1c11000 { resets = <&ccu RST_BUS_MMC2>; reset-names = "ahb"; interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; - max-frequency = <200000000>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>;
@@ -593,6 +593,8 @@ ehci0: usb@1c1a000 { <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>, <&ccu RST_BUS_EHCI0>; + phys = <&usbphy 0>; + phy-names = "usb"; status = "disabled"; };
@@ -603,6 +605,8 @@ ohci0: usb@1c1a400 { clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>; + phys = <&usbphy 0>; + phy-names = "usb"; status = "disabled"; };
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +7 -0
@@ -436,6 +436,7 @@ mmc0: mmc@4020000 { interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>;
@@ -452,6 +453,7 @@ mmc1: mmc@4021000 { interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>;
@@ -468,6 +470,7 @@ mmc2: mmc@4022000 { interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; + max-frequency = <150000000>; status = "disabled"; #address-cells = <1>; #size-cells = <0>;
@@ -667,6 +670,8 @@ ehci0: usb@5101000 { <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>, <&ccu RST_BUS_EHCI0>; + phys = <&usb2phy 0>; + phy-names = "usb"; status = "disabled"; };
@@ -677,6 +682,8 @@ ohci0: usb@5101400 { clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>; resets = <&ccu RST_BUS_OHCI0>; + phys = <&usb2phy 0>; + phy-names = "usb"; status = "disabled"; };
arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts +3 -4
@@ -89,13 +89,12 @@ &pcie { status = "okay"; }; -&sd_emmc_a { - sd-uhs-sdr50; -}; - &usb { phys = <&usb2_phy0>, <&usb2_phy1>; phy-names = "usb2-phy0", "usb2-phy1"; }; */ +&sd_emmc_a { + sd-uhs-sdr50; +};
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi +1 -1
@@ -389,7 +389,7 @@ &hsi2c_0 { s2mps13-pmic@66 { compatible = "samsung,s2mps13-pmic"; interrupt-parent = <&gpa0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; reg = <0x66>; samsung,s2mps11-wrstbi-ground;
arch/arm64/boot/dts/exynos/exynos7-espresso.dts +1 -1
@@ -90,7 +90,7 @@ &hsi2c_4 { s2mps15_pmic@66 { compatible = "samsung,s2mps15-pmic"; reg = <0x66>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; interrupt-parent = <&gpa0>; pinctrl-names = "default"; pinctrl-0 = <&pmic_irq>;
arch/arm64/boot/dts/intel/socfpga_agilex.dtsi +2 -2
@@ -166,7 +166,7 @@ gmac1: ethernet@ff802000 { rx-fifo-depth = <16384>; snps,multicast-filter-bins = <256>; iommus = <&smmu 2>; - altr,sysmgr-syscon = <&sysmgr 0x48 8>; + altr,sysmgr-syscon = <&sysmgr 0x48 0>; clocks = <&clkmgr AGILEX_EMAC1_CLK>, <&clkmgr AGILEX_EMAC_PTP_CLK>; clock-names = "stmmaceth", "ptp_ref"; status = "disabled";
@@ -184,7 +184,7 @@ gmac2: ethernet@ff804000 { rx-fifo-depth = <16384>; snps,multicast-filter-bins = <256>; iommus = <&smmu 3>; - altr,sysmgr-syscon = <&sysmgr 0x4c 16>; + altr,sysmgr-syscon = <&sysmgr 0x4c 0>; clocks = <&clkmgr AGILEX_EMAC2_CLK>, <&clkmgr AGILEX_EMAC_PTP_CLK>; clock-names = "stmmaceth", "ptp_ref"; status = "disabled";
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +1 -1
@@ -204,7 +204,7 @@ partition@0 { }; partition@20000 { - label = "u-boot"; + label = "a53-firmware"; reg = <0x20000 0x160000>; };
arch/arm64/boot/dts/mediatek/mt7622.dtsi +2 -0
@@ -698,6 +698,8 @@ mmc1: mmc@11240000 { clocks = <&pericfg CLK_PERI_MSDC30_1_PD>, <&topckgen CLK_TOP_AXI_SEL>; clock-names = "source", "hclk"; + resets = <&pericfg MT7622_PERI_MSDC1_SW_RST>; + reset-names = "hrst"; status = "disabled"; };
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi +6 -0
@@ -106,6 +106,9 @@ accelerometer: accelerometer@10 { interrupt-parent = <&msmgpio>; interrupts = <115 IRQ_TYPE_EDGE_RISING>; + vdd-supply = <&pm8916_l17>; + vddio-supply = <&pm8916_l5>; + pinctrl-names = "default"; pinctrl-0 = <&accel_int_default>; };
@@ -113,6 +116,9 @@ accelerometer: accelerometer@10 { magnetometer@12 { compatible = "bosch,bmc150_magn"; reg = <0x12>; + + vdd-supply = <&pm8916_l17>; + vddio-supply = <&pm8916_l5>; }; };
arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts +1 -1
@@ -38,7 +38,7 @@ touchscreen@48 { &pronto { iris { - compatible = "qcom,wcn3680"; + compatible = "qcom,wcn3660b"; }; };
arch/arm64/boot/dts/qcom/msm8916.dtsi +2 -2
@@ -55,7 +55,7 @@ tz@86500000 { no-map; }; - reserved@8668000 { + reserved@86680000 { reg = <0x0 0x86680000 0x0 0x80000>; no-map; };
@@ -68,7 +68,7 @@ rmtfs@86700000 { qcom,client-id = <1>; }; - rfsa@867e00000 { + rfsa@867e0000 { reg = <0x0 0x867e0000 0x0 0x20000>; no-map; };
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +8 -1
@@ -114,7 +114,7 @@ vreg_s4a_1p8: vreg-s4a-1p8 { &apps_rsc { pm8009-rpmh-regulators { - compatible = "qcom,pm8009-rpmh-regulators"; + compatible = "qcom,pm8009-1-rpmh-regulators"; qcom,pmic-id = "f"; vdd-s1-supply = <&vph_pwr>;
@@ -123,6 +123,13 @@ pm8009-rpmh-regulators { vdd-l5-l6-supply = <&vreg_bob>; vdd-l7-supply = <&vreg_s4a_1p8>; + vreg_s2f_0p95: smps2 { + regulator-name = "vreg_s2f_0p95"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <952000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; + }; + vreg_l1f_1p1: ldo1 { regulator-name = "vreg_l1f_1p1"; regulator-min-microvolt = <1104000>;
arch/arm64/boot/dts/qcom/sdm845-db845c.dts +2 -2
@@ -1114,11 +1114,11 @@ camera@10 { reg = <0x10>; // CAM0_RST_N - reset-gpios = <&tlmm 9 0>; + reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&cam0_default>; gpios = <&tlmm 13 0>, - <&tlmm 9 0>; + <&tlmm 9 GPIO_ACTIVE_LOW>; clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; clock-names = "xvclk";
arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi +1 -1
@@ -150,7 +150,7 @@ reg_audio: regulator_audio { regulator-name = "audio-1.8V"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; - gpio = <&gpio_exp2 7 GPIO_ACTIVE_HIGH>; + gpio = <&gpio_exp4 1 GPIO_ACTIVE_HIGH>; enable-active-high; };
arch/arm64/boot/dts/renesas/beacon-renesom-som.dtsi +2 -2
@@ -88,7 +88,6 @@ &hscif0 { pinctrl-names = "default"; uart-has-rtscts; status = "okay"; - max-speed = <4000000>; bluetooth { compatible = "brcm,bcm43438-bt";
@@ -97,6 +96,7 @@ bluetooth { device-wakeup-gpios = <&pca9654 5 GPIO_ACTIVE_HIGH>; clocks = <&osc_32k>; clock-names = "extclk"; + max-speed = <4000000>; }; };
@@ -147,7 +147,7 @@ pca9654_lte: gpio@21 { }; eeprom@50 { - compatible = "microchip,at24c64", "atmel,24c64"; + compatible = "microchip,24c64", "atmel,24c64"; pagesize = <32>; read-only; /* Manufacturing EEPROM programmed at factory */ reg = <0x50>;
arch/arm64/boot/dts/rockchip/rk3328.dtsi +1 -0
@@ -928,6 +928,7 @@ gmac2phy: ethernet@ff550000 { phy-mode = "rmii"; phy-handle = <&phy>; snps,txpbl = <0x4>; + clock_in_out = "output"; status = "disabled"; mdio {
arch/arm64/crypto/aes-glue.c +2 -2
@@ -55,7 +55,7 @@ MODULE_DESCRIPTION("AES-ECB/CBC/CTR/XTS using ARMv8 Crypto Extensions");#define aes_mac_update neon_aes_mac_updateMODULE_DESCRIPTION ("AES-ECB/CBC/CTR/XTS using ARMv8 NEON" );#endif -#if defined(USE_V8_CRYPTO_EXTENSIONS ) || !defined(CONFIG_CRYPTO_AES_ARM64_BS ) +#if defined(USE_V8_CRYPTO_EXTENSIONS ) || !IS_ENABLED (CONFIG_CRYPTO_AES_ARM64_BS )MODULE_ALIAS_CRYPTO ("ecb(aes)" );MODULE_ALIAS_CRYPTO ("cbc(aes)" );MODULE_ALIAS_CRYPTO ("ctr(aes)" );
@@ -650,7 +650,7 @@ static int __maybe_unused xts_decrypt(struct skcipher_request *req) }static struct skcipher_alg aes_algs[] = { { -#if defined(USE_V8_CRYPTO_EXTENSIONS) || !defined(CONFIG_CRYPTO_AES_ARM64_BS) +#if defined(USE_V8_CRYPTO_EXTENSIONS) || !IS_ENABLED(CONFIG_CRYPTO_AES_ARM64_BS) .base = { .cra_name ="__ecb(aes)" , .cra_driver_name ="__ecb-aes-" MODE ,
arch/arm64/crypto/sha1-ce-glue.c +1 -0
@@ -19,6 +19,7 @@MODULE_DESCRIPTION ("SHA1 secure hash using ARMv8 Crypto Extensions" );MODULE_AUTHOR ("Ard Biesheuvel <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_ALIAS_CRYPTO ("sha1" );struct sha1_ce_state {struct sha1_state sst;
arch/arm64/crypto/sha2-ce-glue.c +2 -0
@@ -19,6 +19,8 @@MODULE_DESCRIPTION ("SHA-224/SHA-256 secure hash using ARMv8 Crypto Extensions" );MODULE_AUTHOR ("Ard Biesheuvel <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_ALIAS_CRYPTO ("sha224" ); +MODULE_ALIAS_CRYPTO ("sha256" );struct sha256_ce_state {struct sha256_state sst;
arch/arm64/crypto/sha3-ce-glue.c +4 -0
@@ -23,6 +23,10 @@MODULE_DESCRIPTION ("SHA3 secure hash using ARMv8 Crypto Extensions" );MODULE_AUTHOR ("Ard Biesheuvel <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_ALIAS_CRYPTO ("sha3-224" ); +MODULE_ALIAS_CRYPTO ("sha3-256" ); +MODULE_ALIAS_CRYPTO ("sha3-384" ); +MODULE_ALIAS_CRYPTO ("sha3-512" ); asmlinkage void sha3_ce_transform(u64 *st, const u8 *data, int blocks,int md_len);
arch/arm64/crypto/sha512-ce-glue.c +2 -0
@@ -23,6 +23,8 @@MODULE_DESCRIPTION ("SHA-384/SHA-512 secure hash using ARMv8 Crypto Extensions" );MODULE_AUTHOR ("Ard Biesheuvel <[email protected]>" );MODULE_LICENSE ("GPL v2" ); +MODULE_ALIAS_CRYPTO ("sha384" ); +MODULE_ALIAS_CRYPTO ("sha512" ); asmlinkage void sha512_ce_transform(struct sha512_state *sst, u8 const *src,int blocks);
arch/arm64/include/asm/module.lds.h +3 -3
@@ -1,7 +1,7 @@ #ifdef CONFIG_ARM64_MODULE_PLTS SECTIONS { - .plt (NOLOAD) : { BYTE(0) } - .init.plt (NOLOAD) : { BYTE(0) } - .text.ftrace_trampoline (NOLOAD) : { BYTE(0) } + .plt 0 (NOLOAD) : { BYTE(0) } + .init.plt 0 (NOLOAD) : { BYTE(0) } + .text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) } } #endif
arch/arm64/kernel/cpufeature.c +1 -1
@@ -1457,7 +1457,7 @@ static bool cpu_has_broken_dbm(void)/* List of CPUs which have broken DBM support. */ static const struct midr_range cpus[] = { #ifdef CONFIG_ARM64_ERRATUM_1024718 -MIDR_RANGE (MIDR_CORTEX_A55 ,0 ,0 ,1 ,0 ),// A55 r0p0 -r1p0 +MIDR_ALL_VERSIONS (MIDR_CORTEX_A55 ),/* Kryo4xx Silver (rdpe => r1p0) */ MIDR_REV (MIDR_QCOM_KRYO_4XX_SILVER ,0xd ,0xe ), #endif
arch/arm64/kernel/head.S +1 -0
@@ -985,6 +985,7 @@ SYM_FUNC_START_LOCAL(__primary_switch) tlbi vmalle1 // Remove any stale TLB entries dsb nsh + isb msr sctlr_el1, x19 // re-enable the MMU isb
arch/arm64/kernel/machine_kexec_file.c +3 -1
@@ -182,8 +182,10 @@ static int create_dtb(struct kimage *image,/* duplicate a device tree blob */ ret =fdt_open_into (initial_boot_params, buf, buf_size); -if (ret) +if (ret) { +vfree (buf);return -EINVAL ; + } ret =setup_dtb (image, initrd_load_addr, initrd_len, cmdline, buf);
arch/arm64/kernel/probes/uprobes.c +1 -1
@@ -38,7 +38,7 @@ int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm,/* TODO: Currently we do not support AARCH32 instruction probing */ if (mm->context.flags &MMCF_AARCH32 ) -return -ENOTSUPP ; +return -EOPNOTSUPP ;else if (!IS_ALIGNED (addr,AARCH64_INSN_SIZE ))return -EINVAL ;
arch/arm64/kernel/ptrace.c +1 -1
@@ -1799,7 +1799,7 @@ int syscall_trace_enter(struct pt_regs *regs)if (flags & (_TIF_SYSCALL_EMU | _TIF_SYSCALL_TRACE)) {tracehook_report_syscall (regs,PTRACE_SYSCALL_ENTER ); -if (!in_syscall (regs) || (flags & _TIF_SYSCALL_EMU)) +if (flags & _TIF_SYSCALL_EMU)return NO_SYSCALL ; }
arch/arm64/kernel/suspend.c +1 -1
@@ -120,7 +120,7 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))if (!ret) ret = -EOPNOTSUPP ; }else { -__cpu_suspend_exit (); +RCU_NONIDLE (__cpu_suspend_exit ()); }unpause_graph_tracing ();
arch/csky/kernel/ptrace.c +1 -1
@@ -83,7 +83,7 @@ static int gpr_get(struct task_struct *target,/* Abiv1 regs->tls is fake and we need sync here. */ regs->tls =task_thread_info (target)->tp_value; -return membuf_write (&to, regs,sizeof (regs)); +return membuf_write (&to, regs,sizeof (*regs)); } static int gpr_set(struct task_struct *target,
arch/mips/Makefile +19 -0
@@ -136,6 +136,25 @@ cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \ # cflags-y += -fno-stack-check +# binutils from v2.35 when built with --enable-mips-fix-loongson3-llsc=yes, +# supports an -mfix-loongson3-llsc flag which emits a sync prior to each ll +# instruction to work around a CPU bug (see __SYNC_loongson3_war in asm/sync.h +# for a description). +# +# We disable this in order to prevent the assembler meddling with the +# instruction that labels refer to, ie. if we label an ll instruction: +# +# 1: ll v0, 0(a0) +# +# ...then with the assembler fix applied the label may actually point at a sync +# instruction inserted by the assembler, and if we were using the label in an +# exception table the table would no longer contain the address of the ll +# instruction. +# +# Avoid this by explicitly disabling that assembler behaviour. +# +cflags-y += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,) + # # CPU-dependent compiler/assembler options for optimization. #
arch/mips/cavium-octeon/setup.c +6 -3
@@ -1158,12 +1158,15 @@ void __init device_tree_init(void)bool do_prune;bool fill_mac; -if (fw_passed_dtb) { - fdt = (void *)fw_passed_dtb; +#ifdef CONFIG_MIPS_ELF_APPENDED_DTB +if (!fdt_check_header (&__appended_dtb)) { + fdt = &__appended_dtb; do_prune = false; fill_mac = true;pr_info ("Using appended Device Tree.\n" ); - }else if (octeon_bootinfo->minor_version >=3 && octeon_bootinfo->fdt_addr) { + } else +#endif +if (octeon_bootinfo->minor_version >=3 && octeon_bootinfo->fdt_addr) { fdt =phys_to_virt (octeon_bootinfo->fdt_addr);if (fdt_check_header (fdt))panic ("Corrupt Device Tree passed to kernel." );
arch/mips/include/asm/asm.h +18 -0
@@ -20,10 +20,27 @@#include <asm/sgidefs.h> #include <asm/asm-eva.h> +#ifndef __VDSO__ +/* +* Emit CFI data in .debug_frame sections, not .eh_frame sections. +* We don't do DWARF unwinding at runtime, so only the offline DWARF +* information is useful to anyone. Note we should change this if we +* ever decide to enable DWARF unwinding at runtime. +*/ +#define CFI_SECTIONS .cfi_sections .debug_frame +#else +/* +* For the vDSO, emit both runtime unwind information and debug +* symbols for the .dbg file. +*/ +#define CFI_SECTIONS +#endif +/* * LEAF - declare leaf routine */ #define LEAF (symbol) \ + CFI_SECTIONS; \ .globl symbol; \ .align 2; \ .type symbol, @function; \
@@ -36,6 +53,7 @@ symbol: .frame sp, 0, ra; \* NESTED - declare nested routine entry point */ #define NESTED (symbol, framesize, rpc) \ + CFI_SECTIONS; \ .globl symbol; \ .align 2; \ .type symbol, @function; \
arch/mips/include/asm/atomic.h +1 -1
@@ -248,7 +248,7 @@ static __inline__ int pfx##_sub_if_positive(type i, pfx##_t * v) \* bltz that can branch to code outside of the LL/SC loop. As \ * such, we don't need to emit another barrier here. \ */ \ -if (!__SYNC_loongson3_war) \ +if (__SYNC_loongson3_war ==0 ) \smp_mb__after_atomic (); \ \return result; \
arch/mips/include/asm/cmpxchg.h +3 -3
@@ -99,7 +99,7 @@ unsigned long __xchg(volatile void *ptr, unsigned long x, int size)* contains a completion barrier prior to the LL, so we don't \ * need to emit an extra one here. \ */ \ -if (!__SYNC_loongson3_war) \ +if (__SYNC_loongson3_war ==0 ) \smp_mb__before_llsc (); \ \ __res = (__typeof__ (*(ptr))) \
@@ -191,7 +191,7 @@ unsigned long __cmpxchg(volatile void *ptr, unsigned long old,* contains a completion barrier prior to the LL, so we don't \ * need to emit an extra one here. \ */ \ -if (!__SYNC_loongson3_war) \ +if (__SYNC_loongson3_war ==0 ) \smp_mb__before_llsc (); \ \ __res =cmpxchg_local ((ptr), (old), (new)); \
@@ -201,7 +201,7 @@ unsigned long __cmpxchg(volatile void *ptr, unsigned long old,* contains a completion barrier after the SC, so we don't \ * need to emit an extra one here. \ */ \ -if (!__SYNC_loongson3_war) \ +if (__SYNC_loongson3_war ==0 ) \smp_llsc_mb (); \ \ __res; \
arch/mips/kernel/cpu-probe.c +8 -7
@@ -1830,16 +1830,17 @@ static inline void cpu_probe_ingenic(struct cpuinfo_mips *c, unsigned int cpu)*/ case PRID_COMP_INGENIC_D0 : c->isa_level &= ~MIPS_CPU_ISA_M32R2 ; -break ; + fallthrough;/* * The config0 register in the XBurst CPUs with a processor ID of -* PRID_COMP_INGENIC_D1 has an abandoned huge page tlb mode, this -* mode is not compatible with the MIPS standard, it will cause -* tlbmiss and into an infinite loop (line 21 in the tlb-funcs.S) -* when starting the init process. After chip reset, the default -* is HPTLB mode, Write 0xa9000000 to cp0 register 5 sel 4 to -* switch back to VTLB mode to prevent getting stuck. +* PRID_COMP_INGENIC_D0 or PRID_COMP_INGENIC_D1 has an abandoned +* huge page tlb mode, this mode is not compatible with the MIPS +* standard, it will cause tlbmiss and into an infinite loop +* (line 21 in the tlb-funcs.S) when starting the init process. +* After chip reset, the default is HPTLB mode, Write 0xa9000000 +* to cp0 register 5 sel 4 to switch back to VTLB mode to prevent +* getting stuck. */ case PRID_COMP_INGENIC_D1 :write_c0_page_ctrl (XBURST_PAGECTRL_HPTLB_DIS );
arch/mips/kernel/vmlinux.lds.S +1 -1
@@ -90,6 +90,7 @@ SECTIONS INIT_TASK_DATA(THREAD_SIZE) NOSAVE_DATA + PAGE_ALIGNED_DATA(PAGE_SIZE) CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) DATA_DATA
@@ -223,6 +224,5 @@ SECTIONS *(.options) *(.pdr) *(.reginfo) - *(.eh_frame) } }
arch/mips/lantiq/irq.c +1 -1
@@ -302,7 +302,7 @@ static void ltq_hw_irq_handler(struct irq_desc *desc)generic_handle_irq (irq_linear_revmap (ltq_domain, hwirq));/* if this is a EBU irq, we need to ack it or get a deadlock */ -if ((irq ==LTQ_ICU_EBU_IRQ ) && (module ==0 ) &<Q_EBU_PCC_ISTAT ) +if (irq ==LTQ_ICU_EBU_IRQ && !module &<Q_EBU_PCC_ISTAT !=0 )ltq_ebu_w32 (ltq_ebu_r32 (LTQ_EBU_PCC_ISTAT ) |0x10 ,LTQ_EBU_PCC_ISTAT ); }
arch/mips/loongson64/Platform +0 -22
@@ -5,28 +5,6 @@ cflags-$(CONFIG_CPU_LOONGSON64) += -Wa,--trap -# -# Some versions of binutils, not currently mainline as of 2019/02/04, support -# an -mfix-loongson3-llsc flag which emits a sync prior to each ll instruction -# to work around a CPU bug (see __SYNC_loongson3_war in asm/sync.h for a -# description). -# -# We disable this in order to prevent the assembler meddling with the -# instruction that labels refer to, ie. if we label an ll instruction: -# -# 1: ll v0, 0(a0) -# -# ...then with the assembler fix applied the label may actually point at a sync -# instruction inserted by the assembler, and if we were using the label in an -# exception table the table would no longer contain the address of the ll -# instruction. -# -# Avoid this by explicitly disabling that assembler behaviour. If upstream -# binutils does not merge support for the flag then we can revisit & remove -# this later - for now it ensures vendor toolchains don't cause problems. -# -cflags-$(CONFIG_CPU_LOONGSON64) += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,) - # # binutils from v2.25 on and gcc starting from v4.9.0 treat -march=loongson3a # as MIPS64 R2; older versions as just R1. This leaves the possibility open
arch/mips/mm/c-r4k.c +1 -1
@@ -1593,7 +1593,7 @@ static int probe_scache(void)return 1 ; } -static void __init loongson2_sc_init (void ) +static void loongson2_sc_init (void ) {struct cpuinfo_mips *c = ¤t_cpu_data;
arch/mips/vdso/Makefile +1 -4
@@ -16,16 +16,13 @@ ccflags-vdso := \ $(filter -march=%,$(KBUILD_CFLAGS)) \ $(filter -m%-float,$(KBUILD_CFLAGS)) \ $(filter -mno-loongson-%,$(KBUILD_CFLAGS)) \ + $(CLANG_FLAGS) \ -D__VDSO__ ifndef CONFIG_64BIT ccflags-vdso += -DBUILD_VDSO32 endif -ifdef CONFIG_CC_IS_CLANG -ccflags-vdso += $(filter --target=%,$(KBUILD_CFLAGS)) -endif - # # The -fno-jump-tables flag only prevents the compiler from generating # jump tables but does not prevent the compiler from emitting absolute
arch/nios2/kernel/entry.S +3 -0
@@ -389,7 +389,10 @@ ENTRY(ret_from_interrupt) */ ENTRY(sys_clone) SAVE_SWITCH_STACK + subi sp, sp, 4 /* make space for tls pointer */ + stw r8, 0(sp) /* pass tls pointer (r8) via stack (5th argument) */ call nios2_clone + addi sp, sp, 4 RESTORE_SWITCH_STACK ret
arch/nios2/kernel/sys_nios2.c +9 -2
@@ -22,6 +22,7 @@ asmlinkage int sys_cacheflush(unsigned long addr, unsigned long len, unsigned int op) {struct vm_area_struct *vma; +struct mm_struct *mm = current->mm;if (len ==0 )return 0 ;
@@ -34,16 +35,22 @@ asmlinkage int sys_cacheflush(unsigned long addr, unsigned long len,if (addr + len < addr)return -EFAULT ; +if (mmap_read_lock_killable (mm)) +return -EINTR ; +/* * Verify that the specified address region actually belongs * to this process. */ - vma =find_vma (current->mm, addr); -if (vma ==NULL || addr < vma->vm_start || addr + len > vma->vm_end) + vma =find_vma (mm, addr); +if (vma ==NULL || addr < vma->vm_start || addr + len > vma->vm_end) { +mmap_read_unlock (mm);return -EFAULT ; + }flush_cache_range (vma, addr, addr + len); +mmap_read_unlock (mm);return 0 ; }
arch/powerpc/Kconfig +1 -1
@@ -761,7 +761,7 @@ config PPC_64K_PAGES config PPC_256K_PAGES bool "256k page size" - depends on 44x && !STDBINUTILS + depends on 44x && !STDBINUTILS && !PPC_47x help Make the page size 256k.
arch/powerpc/include/asm/kexec.h +1 -0
@@ -136,6 +136,7 @@ int load_crashdump_segments_ppc64(struct kimage *image,int setup_purgatory_ppc64 (struct kimage *image,const void *slave_code,const void *fdt,unsigned long kernel_load_addr,unsigned long fdt_load_addr); +unsigned int kexec_fdt_totalsize_ppc64 (struct kimage *image);int setup_new_fdt_ppc64 (const struct kimage *image,void *fdt,unsigned long initrd_load_addr,unsigned long initrd_len,const char *cmdline);
arch/powerpc/include/asm/uaccess.h +10 -3
@@ -216,8 +216,6 @@ do { \#define __put_user_nocheck_goto (x, ptr, size, label) \ do { \ __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ - if (!is_kernel_addr((unsigned long)__pu_addr)) \ - might_fault(); \ __chk_user_ptr(ptr); \ __put_user_size_goto((x), __pu_addr, (size), label); \ } while (0)
@@ -313,7 +311,7 @@ do { \__typeof__ (size) __gu_size = (size); \ \__chk_user_ptr (__gu_addr); \ -if (!is_kernel_addr ((unsigned long )__gu_addr)) \ +if (do_allow && !is_kernel_addr ((unsigned long )__gu_addr)) \might_fault (); \barrier_nospec (); \if (do_allow) \
@@ -508,6 +506,9 @@ static __must_check inline bool user_access_begin(const void __user *ptr, size_t {if (unlikely (!access_ok (ptr, len)))return false; + +might_fault (); +allow_read_write_user ((void __user *)ptr, ptr, len);return true; }
@@ -521,6 +522,9 @@ user_read_access_begin(const void __user *ptr, size_t len) {if (unlikely (!access_ok (ptr, len)))return false; + +might_fault (); +allow_read_from_user (ptr, len);return true; }
@@ -532,6 +536,9 @@ user_write_access_begin(const void __user *ptr, size_t len) {if (unlikely (!access_ok (ptr, len)))return false; + +might_fault (); +allow_write_to_user ((void __user *)ptr, len);return true; }
arch/powerpc/kernel/entry_32.S +3 -0
@@ -347,6 +347,9 @@ trace_syscall_entry_irq_off: .globl transfer_to_syscall transfer_to_syscall: +#ifdef CONFIG_PPC_BOOK3S_32 + kuep_lock r11, r12 +#endif #ifdef CONFIG_TRACE_IRQFLAGS andi. r12,r9,MSR_EE beq- trace_syscall_entry_irq_off
arch/powerpc/kernel/head_32.h +1 -1
@@ -56,7 +56,7 @@ 1: tophys_novmstack r11, r11#ifdef CONFIG_VMAP_STACK - mtcrf 0x7f, r1 + mtcrf 0x3f, r1 bt 32 - THREAD_ALIGN_SHIFT, stack_overflow #endif .endm
arch/powerpc/kernel/head_8xx.S +1 -1
@@ -175,7 +175,7 @@ SystemCall: /* On the MPC8xx, this is a software emulation interrupt. It occurs * for all unimplemented and illegal instructions. */ - EXCEPTION(0x1000, SoftEmu, program_check_exception, EXC_XFER_STD) + EXCEPTION(0x1000, SoftEmu, emulation_assist_interrupt, EXC_XFER_STD) . = 0x1100 /*
arch/powerpc/kernel/head_book3s_32.S +0 -6
@@ -280,12 +280,6 @@ MachineCheck: 7: EXCEPTION_PROLOG_2 addi r3,r1,STACK_FRAME_OVERHEAD #ifdef CONFIG_PPC_CHRP -#ifdef CONFIG_VMAP_STACK - mfspr r4, SPRN_SPRG_THREAD - tovirt(r4, r4) - lwz r4, RTAS_SP(r4) - cmpwi cr1, r4, 0 -#endif beq cr1, machine_check_tramp twi 31, 0, 0 #else
arch/powerpc/kernel/irq.c +26 -1
@@ -269,6 +269,31 @@ void replay_soft_interrupts(void) } } +#if defined(CONFIG_PPC_BOOK3S_64 ) && defined(CONFIG_PPC_KUAP ) +static inline void replay_soft_interrupts_irqrestore (void ) +{ +unsigned long kuap_state =get_kuap (); + +/* +* Check if anything calls local_irq_enable/restore() when KUAP is +* disabled (user access enabled). We handle that case here by saving +* and re-locking AMR but we shouldn't get here in the first place, +* hence the warning. +*/ +kuap_check_amr (); + +if (kuap_state !=AMR_KUAP_BLOCKED ) +set_kuap (AMR_KUAP_BLOCKED ); + +replay_soft_interrupts (); + +if (kuap_state !=AMR_KUAP_BLOCKED ) +set_kuap (kuap_state); +} +#else +#define replay_soft_interrupts_irqrestore () replay_soft_interrupts() +#endif + notrace void arch_local_irq_restore(unsigned long mask) {unsigned char irq_happened;
@@ -332,7 +357,7 @@ notrace void arch_local_irq_restore(unsigned long mask)irq_soft_mask_set (IRQS_ALL_DISABLED );trace_hardirqs_off (); -replay_soft_interrupts (); +replay_soft_interrupts_irqrestore (); local_paca->irq_happened =0 ;trace_hardirqs_on ();
arch/powerpc/kernel/prom_init.c +4 -8
@@ -1330,14 +1330,10 @@ static void __init prom_check_platform_support(void)if (prop_len >sizeof (vec))prom_printf ("WARNING: ibm,arch-vec-5-platform-support longer than expected (len: %d)\n" , prop_len); -prom_getprop (prom.chosen,"ibm,arch-vec-5-platform-support" , - &vec,sizeof (vec)); -for (i =0 ; i <sizeof (vec); i +=2 ) { -prom_debug ("%d: index = 0x%x val = 0x%x\n" , i /2 - , vec[i] - , vec[i +1 ]); -prom_parse_platform_support (vec[i], vec[i +1 ], - &supported); +prom_getprop (prom.chosen,"ibm,arch-vec-5-platform-support" , &vec,sizeof (vec)); +for (i =0 ; i < prop_len; i +=2 ) { +prom_debug ("%d: index = 0x%x val = 0x%x\n" , i /2 , vec[i], vec[i +1 ]); +prom_parse_platform_support (vec[i], vec[i +1 ], &supported); } }
arch/powerpc/kernel/time.c +2 -0
@@ -53,6 +53,7 @@#include <linux/of_clk.h> #include <linux/suspend.h> #include <linux/sched/cputime.h> +#include <linux/sched/clock.h> #include <linux/processor.h> #include <asm/trace.h>
@@ -1095,6 +1096,7 @@ void __init time_init(void)tick_setup_hrtimer_broadcast ();of_clk_init (NULL ); +enable_sched_clock_irqtime (); }/*
arch/powerpc/kexec/elf_64.c +1 -1
@@ -102,7 +102,7 @@ static void *elf64_load(struct kimage *image, char *kernel_buf,pr_debug ("Loaded initrd at 0x%lx\n" , initrd_load_addr); } - fdt_size =fdt_totalsize (initial_boot_params) *2 ; + fdt_size =kexec_fdt_totalsize_ppc64 (image); fdt =kmalloc (fdt_size,GFP_KERNEL );if (!fdt) {pr_err ("Not enough memory for the device tree.\n" );
arch/powerpc/kexec/file_load_64.c +35 -0
@@ -21,6 +21,7 @@#include <linux/memblock.h> #include <linux/slab.h> #include <linux/vmalloc.h> +#include <asm/setup.h> #include <asm/drmem.h> #include <asm/kexec_ranges.h> #include <asm/crashdump-ppc64.h>
@@ -925,6 +926,40 @@ int setup_purgatory_ppc64(struct kimage *image, const void *slave_code,return ret; } +/** +* kexec_fdt_totalsize_ppc64 - Return the estimated size needed to setup FDT +* for kexec/kdump kernel. +* @image: kexec image being loaded. +* +* Returns the estimated size needed for kexec/kdump kernel FDT. +*/ +unsigned int kexec_fdt_totalsize_ppc64 (struct kimage *image) +{ +unsigned int fdt_size; +u64 usm_entries; + +/* +* The below estimate more than accounts for a typical kexec case where +* the additional space is to accommodate things like kexec cmdline, +* chosen node with properties for initrd start & end addresses and +* a property to indicate kexec boot.. +*/ + fdt_size =fdt_totalsize (initial_boot_params) + (2 *COMMAND_LINE_SIZE ); +if (image->type !=KEXEC_TYPE_CRASH ) +return fdt_size; + +/* +* For kdump kernel, also account for linux,usable-memory and +* linux,drconf-usable-memory properties. Get an approximate on the +* number of usable memory entries and use for FDT size estimation. +*/ + usm_entries = ((memblock_end_of_DRAM () /drmem_lmb_size ()) + + (2 * (resource_size (&crashk_res) /drmem_lmb_size ()))); + fdt_size += (unsigned int )(usm_entries *sizeof (u64)); + +return fdt_size; +} +/** * setup_new_fdt_ppc64 - Update the flattend device-tree of the kernel * being loaded.
arch/powerpc/kvm/powerpc.c +4 -4
@@ -1518,7 +1518,7 @@ int kvmppc_handle_vmx_load(struct kvm_vcpu *vcpu,return emulated; } -int kvmppc_get_vmx_dword (struct kvm_vcpu *vcpu,int index,u64 *val) +static int kvmppc_get_vmx_dword (struct kvm_vcpu *vcpu,int index,u64 *val) {union kvmppc_one_reg reg;int vmx_offset =0 ;
@@ -1536,7 +1536,7 @@ int kvmppc_get_vmx_dword(struct kvm_vcpu *vcpu, int index, u64 *val)return result; } -int kvmppc_get_vmx_word (struct kvm_vcpu *vcpu,int index,u64 *val) +static int kvmppc_get_vmx_word (struct kvm_vcpu *vcpu,int index,u64 *val) {union kvmppc_one_reg reg;int vmx_offset =0 ;
@@ -1554,7 +1554,7 @@ int kvmppc_get_vmx_word(struct kvm_vcpu *vcpu, int index, u64 *val)return result; } -int kvmppc_get_vmx_hword (struct kvm_vcpu *vcpu,int index,u64 *val) +static int kvmppc_get_vmx_hword (struct kvm_vcpu *vcpu,int index,u64 *val) {union kvmppc_one_reg reg;int vmx_offset =0 ;
@@ -1572,7 +1572,7 @@ int kvmppc_get_vmx_hword(struct kvm_vcpu *vcpu, int index, u64 *val)return result; } -int kvmppc_get_vmx_byte (struct kvm_vcpu *vcpu,int index,u64 *val) +static int kvmppc_get_vmx_byte (struct kvm_vcpu *vcpu,int index,u64 *val) {union kvmppc_one_reg reg;int vmx_offset =0 ;
arch/powerpc/platforms/pseries/dlpar.c +3 -4
@@ -127,7 +127,6 @@ void dlpar_free_cc_nodes(struct device_node *dn)#define NEXT_PROPERTY 3#define PREV_PARENT 4#define MORE_MEMORY 5 -#define CALL_AGAIN -2#define ERR_CFG_USE -9003 struct device_node *dlpar_configure_connector(__be32 drc_index,
@@ -168,6 +167,9 @@ struct device_node *dlpar_configure_connector(__be32 drc_index,spin_unlock (&rtas_data_buf_lock); +if (rtas_busy_delay (rc)) +continue ; +switch (rc) {case COMPLETE :break ;
@@ -216,9 +218,6 @@ struct device_node *dlpar_configure_connector(__be32 drc_index, last_dn = last_dn->parent;break ; -case CALL_AGAIN : -break ; -case MORE_MEMORY :case ERR_CFG_USE :default :
arch/riscv/kernel/vdso/Makefile +2 -1
@@ -32,9 +32,10 @@ CPPFLAGS_vdso.lds += -P -C -U$(ARCH) # Disable -pg to prevent insert call site CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os -# Disable gcov profiling for VDSO code +# Disable profiling and instrumentation for VDSO code GCOV_PROFILE := n KCOV_INSTRUMENT := n +KASAN_SANITIZE := n # Force dependency $(obj)/vdso.o: $(obj)/vdso.so
arch/s390/kernel/vtime.c +2 -1
@@ -136,7 +136,8 @@ static int do_account_vtime(struct task_struct *tsk)" stck %1" /* Store current tod clock value */ #endif : "=Q" (S390_lowcore.last_update_timer), - "=Q" (S390_lowcore.last_update_clock)); +"=Q" (S390_lowcore.last_update_clock) + : : "cc"); clock = S390_lowcore.last_update_clock - clock; timer -= S390_lowcore.last_update_timer;
arch/sparc/Kconfig +1 -1
@@ -496,7 +496,7 @@ config COMPAT bool depends on SPARC64 default y - select COMPAT_BINFMT_ELF + select COMPAT_BINFMT_ELF if BINFMT_ELF select HAVE_UID16 select ARCH_WANT_OLD_COMPAT_IPC select COMPAT_OLD_SIGACTION
arch/sparc/kernel/led.c +2 -0
@@ -50,6 +50,7 @@ static void led_blink(struct timer_list *unused)add_timer (&led_blink_timer); } +#ifdef CONFIG_PROC_FS static int led_proc_show (struct seq_file *m,void *v) {if (get_auxio () &AUXIO_LED )
@@ -111,6 +112,7 @@ static const struct proc_ops led_proc_ops = { .proc_release = single_release, .proc_write = led_proc_write, }; +#endif static struct proc_dir_entry *led;
arch/sparc/lib/memset.S +1 -0
@@ -142,6 +142,7 @@ __bzero: ZERO_LAST_BLOCKS(%o0, 0x48, %g2) ZERO_LAST_BLOCKS(%o0, 0x08, %g2) 13: + EXT(12b, 13b, 21f) be 8f andcc %o1, 4, %g0
arch/um/include/shared/skas/mm_id.h +1 -0
@@ -12,6 +12,7 @@ struct mm_id { int pid; } u;unsigned long stack; +int kill; };#endif
arch/um/kernel/tlb.c +14 -5
@@ -125,6 +125,9 @@ static int add_mmap(unsigned long virt, unsigned long phys, unsigned long len,struct host_vm_op *last;int fd =-1 , ret =0 ; +if (virt + len >STUB_START && virt <STUB_END ) +return -EINVAL ; +if (hvc->userspace) fd =phys_mapping (phys, &offset);else
@@ -162,7 +165,7 @@ static int add_munmap(unsigned long addr, unsigned long len,struct host_vm_op *last;int ret =0 ; -if ((addr >=STUB_START ) && (addr <STUB_END )) +if (addr + len >STUB_START && addr <STUB_END )return -EINVAL ;if (hvc->index !=0 ) {
@@ -192,6 +195,9 @@ static int add_mprotect(unsigned long addr, unsigned long len,struct host_vm_op *last;int ret =0 ; +if (addr + len >STUB_START && addr <STUB_END ) +return -EINVAL ; +if (hvc->index !=0 ) { last = &hvc->ops[hvc->index -1 ]; if ((last->type == MPROTECT) &&
@@ -346,12 +352,11 @@ void fix_range_common(struct mm_struct *mm, unsigned long start_addr,/* This is not an else because ret is modified above */ if (ret) { +struct mm_id *mm_idp = ¤t->mm->context.id; +printk (KERN_ERR "fix_range_common: failed, killing current " "process: %d\n" ,task_tgid_vnr (current)); -/* We are under mmap_lock, release it such that current can terminate */ -mmap_write_unlock (current->mm); -force_sig (SIGKILL ); -do_signal (¤t->thread.regs); + mm_idp->kill =1 ; } }
@@ -472,6 +477,10 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long address)struct mm_id *mm_id; address &=PAGE_MASK ; + +if (address >=STUB_START && address <STUB_END ) + goto kill; + pgd =pgd_offset (mm, address);if (!pgd_present (*pgd)) goto kill;
arch/um/os-Linux/skas/process.c +4 -0
@@ -249,6 +249,7 @@ static int userspace_tramp(void *stack) }int userspace_pid[NR_CPUS ]; +int kill_userspace_mm[NR_CPUS ];/** * start_userspace() - prepare a new userspace process
@@ -342,6 +343,8 @@ void userspace(struct uml_pt_regs *regs, unsigned long *aux_fp_regs)interrupt_end ();while (1 ) { +if (kill_userspace_mm[0 ]) +fatal_sigsegv ();/* * This can legitimately fail if the process loads a
@@ -650,4 +653,5 @@ void reboot_skas(void)void __switch_mm (struct mm_id *mm_idp) { userspace_pid[0 ] = mm_idp->u.pid; + kill_userspace_mm[0 ] = mm_idp->kill; }
arch/x86/crypto/aesni-intel_glue.c +16 -12
@@ -686,7 +686,8 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,struct crypto_aead *tfm =crypto_aead_reqtfm (req);unsigned long auth_tag_len =crypto_aead_authsize (tfm);const struct aesni_gcm_tfm_s *gcm_tfm = aesni_gcm_tfm; - struct gcm_context_data data AESNI_ALIGN_ATTR; +u8 databuf[sizeof (struct gcm_context_data ) + (AESNI_ALIGN -8 )]__aligned(8) ; +struct gcm_context_data *data =PTR_ALIGN ((void *)databuf,AESNI_ALIGN );struct scatter_walk dst_sg_walk = {};unsigned long left = req->cryptlen;unsigned long len, srclen, dstlen;
@@ -735,8 +736,7 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req, }kernel_fpu_begin (); - gcm_tfm->init (aes_ctx, &data, iv, - hash_subkey, assoc, assoclen); + gcm_tfm->init (aes_ctx, data, iv, hash_subkey, assoc, assoclen);if (req->src != req->dst) {while (left) { src =scatterwalk_map (&src_sg_walk);
@@ -746,10 +746,10 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req, len =min (srclen, dstlen);if (len) {if (enc) - gcm_tfm->enc_update (aes_ctx, &data, + gcm_tfm->enc_update (aes_ctx, data, dst, src, len);else - gcm_tfm->dec_update (aes_ctx, &data, + gcm_tfm->dec_update (aes_ctx, data, dst, src, len); } left -= len;
@@ -767,10 +767,10 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req, len =scatterwalk_clamp (&src_sg_walk, left);if (len) {if (enc) - gcm_tfm->enc_update (aes_ctx, &data, + gcm_tfm->enc_update (aes_ctx, data, src, src, len);else - gcm_tfm->dec_update (aes_ctx, &data, + gcm_tfm->dec_update (aes_ctx, data, src, src, len); } left -= len;
@@ -779,7 +779,7 @@ static int gcmaes_crypt_by_sg(bool enc, struct aead_request *req,scatterwalk_done (&src_sg_walk,1 , left); } } - gcm_tfm->finalize (aes_ctx, &data, authTag, auth_tag_len); + gcm_tfm->finalize (aes_ctx, data, authTag, auth_tag_len);kernel_fpu_end ();if (!assocmem)
@@ -828,7 +828,8 @@ static int helper_rfc4106_encrypt(struct aead_request *req)struct crypto_aead *tfm =crypto_aead_reqtfm (req);struct aesni_rfc4106_gcm_ctx *ctx =aesni_rfc4106_gcm_ctx_get (tfm);void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); +u8 ivbuf[16 + (AESNI_ALIGN -8 )]__aligned(8) ; +u8 *iv =PTR_ALIGN (&ivbuf[0 ],AESNI_ALIGN );unsigned int i;__be32 counter =cpu_to_be32 (1 );
@@ -855,7 +856,8 @@ static int helper_rfc4106_decrypt(struct aead_request *req)struct crypto_aead *tfm =crypto_aead_reqtfm (req);struct aesni_rfc4106_gcm_ctx *ctx =aesni_rfc4106_gcm_ctx_get (tfm);void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); +u8 ivbuf[16 + (AESNI_ALIGN -8 )]__aligned(8) ; +u8 *iv =PTR_ALIGN (&ivbuf[0 ],AESNI_ALIGN );unsigned int i;if (unlikely (req->assoclen !=16 && req->assoclen !=20 ))
@@ -985,7 +987,8 @@ static int generic_gcmaes_encrypt(struct aead_request *req)struct crypto_aead *tfm =crypto_aead_reqtfm (req);struct generic_gcmaes_ctx *ctx =generic_gcmaes_ctx_get (tfm);void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); +u8 ivbuf[16 + (AESNI_ALIGN -8 )]__aligned(8) ; +u8 *iv =PTR_ALIGN (&ivbuf[0 ],AESNI_ALIGN );__be32 counter =cpu_to_be32 (1 );memcpy (iv, req->iv,12 );
@@ -1001,7 +1004,8 @@ static int generic_gcmaes_decrypt(struct aead_request *req)struct crypto_aead *tfm =crypto_aead_reqtfm (req);struct generic_gcmaes_ctx *ctx =generic_gcmaes_ctx_get (tfm);void *aes_ctx = &(ctx->aes_key_expanded); - u8 iv[16] __attribute__ ((__aligned__(AESNI_ALIGN))); +u8 ivbuf[16 + (AESNI_ALIGN -8 )]__aligned(8) ; +u8 *iv =PTR_ALIGN (&ivbuf[0 ],AESNI_ALIGN );memcpy (iv, req->iv,12 ); *((__be32 *)(iv+12 )) = counter;
arch/x86/entry/common.c +1 -1
@@ -304,7 +304,7 @@ __visible noinstr void xen_pv_evtchn_do_upcall(struct pt_regs *regs)instrumentation_begin ();run_on_irqstack_cond (__xen_pv_evtchn_do_upcall, regs); -instrumentation_begin (); +instrumentation_end ();set_irq_regs (old_regs);
arch/x86/include/asm/virtext.h +12 -5
@@ -30,15 +30,22 @@ static inline int cpu_has_vmx(void) } -/** Disable VMX on the current CPU +/** +* cpu_vmxoff() - Disable VMX on the current CPU * -* vmxoff causes a undefined-opcode exception if vmxon was not run -* on the CPU previously. Only call this function if you know VMX -* is enabled. +* Disable VMX and clear CR4.VMXE (even if VMXOFF faults) +* +* Note, VMXOFF causes a #UD if the CPU is !post-VMXON, but it's impossible to +* atomically track post-VMXON state, e.g. this may be called in NMI context. +* Eat all faults as all other faults on VMXOFF faults are mode related, i.e. +* faults are guaranteed to be due to the !post-VMXON check unless the CPU is +* magically in RM, VM86, compat mode, or at CPL>0. */ static inline void cpu_vmxoff (void ) { - asmvolatile ("vmxoff" ); +asm_volatile_goto ("1: vmxoff\n\t" + _ASM_EXTABLE(1b, %l[fault]) :::: fault); +fault:cr4_clear_bits (X86_CR4_VMXE ); }
arch/x86/kernel/msr.c +7 -0
@@ -184,6 +184,13 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) err =security_locked_down (LOCKDOWN_MSR );if (err)break ; + + err =filter_write (regs[1 ]); +if (err) +return err; + +add_taint (TAINT_CPU_OUT_OF_SPEC ,LOCKDEP_STILL_OK ); + err =wrmsr_safe_regs_on_cpu (cpu, regs);if (err)break ;
arch/x86/kernel/reboot.c +10 -20
@@ -538,31 +538,21 @@ static void emergency_vmx_disable_all(void)local_irq_disable ();/* -* We need to disable VMX on all CPUs before rebooting, otherwise -* we risk hanging up the machine, because the CPU ignores INIT -* signals when VMX is enabled. +* Disable VMX on all CPUs before rebooting, otherwise we risk hanging +* the machine, because the CPU blocks INIT when it's in VMX root. * -* We can't take any locks and we may be on an inconsistent -* state, so we use NMIs as IPIs to tell the other CPUs to disable -* VMX and halt. +* We can't take any locks and we may be on an inconsistent state, so +* use NMIs as IPIs to tell the other CPUs to exit VMX root and halt. * -* For safety, we will avoid running the nmi_shootdown_cpus() -* stuff unnecessarily, but we don't have a way to check -* if other CPUs have VMX enabled. So we will call it only if the -* CPU we are running on has VMX enabled. -* -* We will miss cases where VMX is not enabled on all CPUs. This -* shouldn't do much harm because KVM always enable VMX on all -* CPUs anyway. But we can miss it on the small window where KVM -* is still enabling VMX. +* Do the NMI shootdown even if VMX if off on _this_ CPU, as that +* doesn't prevent a different CPU from being in VMX root operation. */ -if (cpu_has_vmx () &&cpu_vmx_enabled ()) { -/* Disable VMX on this CPU. */ -cpu_vmxoff (); +if (cpu_has_vmx ()) { +/* Safely force _this_ CPU out of VMX root operation. */ +__cpu_emergency_vmxoff (); -/* Halt and disable VMX on the other CPUs */ +/* Halt and exit VMX root operation on the other CPUs. */ nmi_shootdown_cpus (vmxoff_nmi); - } }
arch/x86/kvm/emulate.c +2 -2
@@ -2564,12 +2564,12 @@ static int rsm_load_state_64(struct x86_emulate_ctxt *ctxt, ctxt->_eip =GET_SMSTATE (u64, smstate,0x7f78 ); ctxt->eflags =GET_SMSTATE (u32, smstate,0x7f70 ) |X86_EFLAGS_FIXED ; - val =GET_SMSTATE (u32, smstate,0x7f68 ); + val =GET_SMSTATE (u64, smstate,0x7f68 );if (ctxt->ops->set_dr (ctxt,6 , (val &DR6_VOLATILE ) |DR6_FIXED_1 ))return X86EMUL_UNHANDLEABLE ; - val =GET_SMSTATE (u32, smstate,0x7f60 ); + val =GET_SMSTATE (u64, smstate,0x7f60 );if (ctxt->ops->set_dr (ctxt,7 , (val &DR7_VOLATILE ) |DR7_FIXED_1 ))return X86EMUL_UNHANDLEABLE ;
arch/x86/kvm/mmu/tdp_mmu.c +2 -1
@@ -1055,7 +1055,8 @@ static void zap_collapsible_spte_range(struct kvm *kvm, pfn =spte_to_pfn (iter.old_spte);if (kvm_is_reserved_pfn (pfn) || - !PageTransCompoundMap (pfn_to_page (pfn))) + (!PageCompound (pfn_to_page (pfn)) && + !kvm_is_zone_device_pfn (pfn)))continue ;tdp_mmu_set_spte (kvm, &iter,0 );
arch/x86/kvm/svm/nested.c +21 -1
@@ -51,6 +51,23 @@ static void nested_svm_inject_npf_exit(struct kvm_vcpu *vcpu,nested_svm_vmexit (svm); } +static void svm_inject_page_fault_nested (struct kvm_vcpu *vcpu,struct x86_exception *fault) +{ +struct vcpu_svm *svm =to_svm (vcpu); +WARN_ON (!is_guest_mode (vcpu)); + +if (vmcb_is_intercept (&svm->nested.ctl,INTERCEPT_EXCEPTION_OFFSET +PF_VECTOR ) && + !svm->nested.nested_run_pending) { + svm->vmcb->control.exit_code =SVM_EXIT_EXCP_BASE +PF_VECTOR ; + svm->vmcb->control.exit_code_hi =0 ; + svm->vmcb->control.exit_info_1 = fault->error_code; + svm->vmcb->control.exit_info_2 = fault->address; +nested_svm_vmexit (svm); + }else { +kvm_inject_page_fault (vcpu, fault); + } +} +static u64 nested_svm_get_tdp_pdptr (struct kvm_vcpu *vcpu,int index) {struct vcpu_svm *svm =to_svm (vcpu);
@@ -58,7 +75,7 @@ static u64 nested_svm_get_tdp_pdptr(struct kvm_vcpu *vcpu, int index)u64 pdpte;int ret; - ret =kvm_vcpu_read_guest_page (vcpu,gpa_to_gfn (__sme_clr (cr3)), &pdpte, + ret =kvm_vcpu_read_guest_page (vcpu,gpa_to_gfn (cr3), &pdpte,offset_in_page (cr3) + index *8 ,8 );if (ret)return 0 ;
@@ -446,6 +463,9 @@ int enter_svm_guest_mode(struct vcpu_svm *svm, u64 vmcb12_gpa,if (ret)return ret; +if (!npt_enabled) + svm->vcpu.arch.mmu->inject_page_fault = svm_inject_page_fault_nested; +svm_set_gif (svm, true);return 0 ;
arch/x86/kvm/svm/svm.c +4 -4
@@ -1092,12 +1092,12 @@ static u64 svm_write_l1_tsc_offset(struct kvm_vcpu *vcpu, u64 offset)static void svm_check_invpcid (struct vcpu_svm *svm) {/* -* Intercept INVPCID instruction only if shadow page table is -* enabled. Interception is not required with nested page table -* enabled. +* Intercept INVPCID if shadow paging is enabled to sync/free shadow +* roots, or if INVPCID is disabled in the guest to inject #UD. */ if (kvm_cpu_cap_has (X86_FEATURE_INVPCID )) { -if (!npt_enabled) +if (!npt_enabled || + !guest_cpuid_has (&svm->vcpu,X86_FEATURE_INVPCID ))svm_set_intercept (svm,INTERCEPT_INVPCID );else svm_clr_intercept (svm,INTERCEPT_INVPCID );
arch/x86/mm/fault.c +17 -10
@@ -53,7 +53,7 @@ kmmio_fault(struct pt_regs *regs, unsigned long addr)* 32-bit mode: * * Sometimes AMD Athlon/Opteron CPUs report invalid exceptions on prefetch. -* Check that here and ignore it. +* Check that here and ignore it. This is AMD erratum #91. * * 64-bit mode: *
@@ -82,11 +82,7 @@ check_prefetch_opcode(struct pt_regs *regs, unsigned char *instr,#ifdef CONFIG_X86_64 case 0x40 :/* -* In AMD64 long mode 0x40..0x4F are valid REX prefixes -* Need to figure out under what instruction mode the -* instruction was issued. Could check the LDT for lm, -* but for now it's good enough to assume that long -* mode only uses well known segments or kernel. +* In 64-bit mode 0x40..0x4F are valid REX prefixes */ return (!user_mode (regs) ||user_64bit_mode (regs));#endif
@@ -126,20 +122,31 @@ is_prefetch(struct pt_regs *regs, unsigned long error_code, unsigned long addr) instr = (void *)convert_ip_to_linear (current, regs); max_instr = instr +15 ; -if (user_mode (regs) && instr >= (unsigned char *)TASK_SIZE_MAX ) -return 0 ; +/* +* This code has historically always bailed out if IP points to a +* not-present page (e.g. due to a race). No one has ever +* complained about this. +*/ +pagefault_disable ();while (instr < max_instr) {unsigned char opcode; -if (get_kernel_nofault (opcode, instr)) -break ; +if (user_mode (regs)) { +if (get_user (opcode, instr)) +break ; + }else { +if (get_kernel_nofault (opcode, instr)) +break ; + } instr++;if (!check_prefetch_opcode (regs, instr, opcode, &prefetch))break ; } + +pagefault_enable ();return prefetch; }
arch/x86/mm/pat/memtype.c +2 -2
@@ -1164,12 +1164,14 @@ static void *memtype_seq_start(struct seq_file *seq, loff_t *pos)static void *memtype_seq_next (struct seq_file *seq,void *v,loff_t *pos) { +kfree (v); ++*pos;return memtype_get_idx (*pos); }static void memtype_seq_stop (struct seq_file *seq,void *v) { +kfree (v); }static int memtype_seq_show (struct seq_file *seq,void *v)
@@ -1181,8 +1183,6 @@ static int memtype_seq_show(struct seq_file *seq, void *v) entry_print->end, cattr_name(entry_print->type)); -kfree (entry_print); -return 0 ; }
block/bfq-iosched.c +1 -0
@@ -2937,6 +2937,7 @@ static void __bfq_set_in_service_queue(struct bfq_data *bfqd, } bfqd->in_service_queue = bfqq; + bfqd->in_serv_last_pos =0 ; }/*
block/blk-settings.c +12 -0
@@ -468,6 +468,14 @@ void blk_queue_io_opt(struct request_queue *q, unsigned int opt) }EXPORT_SYMBOL (blk_queue_io_opt); +static unsigned int blk_round_down_sectors (unsigned int sectors,unsigned int lbs) +{ + sectors =round_down (sectors, lbs >>SECTOR_SHIFT ); +if (sectors <PAGE_SIZE >>SECTOR_SHIFT ) + sectors =PAGE_SIZE >>SECTOR_SHIFT ; +return sectors; +} +/** * blk_stack_limits - adjust queue_limits for stacked devices * @t: the stacking driver limits (top device)
@@ -594,6 +602,10 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, ret =-1 ; } + t->max_sectors =blk_round_down_sectors (t->max_sectors, t->logical_block_size); + t->max_hw_sectors =blk_round_down_sectors (t->max_hw_sectors, t->logical_block_size); + t->max_dev_sectors =blk_round_down_sectors (t->max_dev_sectors, t->logical_block_size); +/* Discard alignment and granularity */ if (b->discard_granularity) { alignment =queue_limit_discard_alignment (b, start);
block/bsg.c +3 -1
@@ -157,8 +157,10 @@ static int bsg_sg_io(struct request_queue *q, fmode_t mode, void __user *uarg)return PTR_ERR (rq); ret = q->bsg_dev.ops->fill_hdr (rq, &hdr, mode); -if (ret) +if (ret) { +blk_put_request (rq);return ret; + } rq->timeout =msecs_to_jiffies (hdr.timeout);if (!rq->timeout)
block/ioctl.c +14 -7
@@ -90,20 +90,27 @@ static int compat_blkpg_ioctl(struct block_device *bdev, }#endif -static int blkdev_reread_part (struct block_device *bdev) +static int blkdev_reread_part (struct block_device *bdev,fmode_t mode) { -int ret; +struct block_device *tmp;if (!disk_part_scan_enabled (bdev->bd_disk) ||bdev_is_partition (bdev))return -EINVAL ;if (!capable (CAP_SYS_ADMIN ))return -EACCES ; -mutex_lock (&bdev->bd_mutex); - ret =bdev_disk_changed (bdev, false); -mutex_unlock (&bdev->bd_mutex); +/* +* Reopen the device to revalidate the driver state and force a +* partition rescan. +*/ + mode &= ~FMODE_EXCL ; +set_bit (GD_NEED_PART_SCAN , &bdev->bd_disk->state); -return ret; + tmp =blkdev_get_by_dev (bdev->bd_dev, mode,NULL ); +if (IS_ERR (tmp)) +return PTR_ERR (tmp); +blkdev_put (tmp, mode); +return 0 ; } static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
@@ -549,7 +556,7 @@ static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode, bdev->bd_bdi->ra_pages = (arg *512 ) /PAGE_SIZE ;return 0 ;case BLKRRPART : -return blkdev_reread_part (bdev); +return blkdev_reread_part (bdev, mode);case BLKTRACESTART :case BLKTRACESTOP :case BLKTRACETEARDOWN :
certs/blacklist.c +1 -1
@@ -162,7 +162,7 @@ static int __init blacklist_init(void)KEY_USR_VIEW |KEY_USR_READ |KEY_USR_SEARCH ,KEY_ALLOC_NOT_IN_QUOTA | -KEY_FLAG_KEEP , +KEY_ALLOC_SET_KEEP , NULL, NULL);if (IS_ERR (blacklist_keyring))panic ("Can't allocate system blacklist keyring\n" );
crypto/ecdh_helper.c +3 -0
@@ -67,6 +67,9 @@ int crypto_ecdh_decode_key(const char *buf, unsigned int len,if (secret.type !=CRYPTO_KPP_SECRET_TYPE_ECDH )return -EINVAL ; +if (unlikely (len < secret.len)) +return -EINVAL ; + ptr =ecdh_unpack_data (¶ms->curve_id, ptr,sizeof (params->curve_id)); ptr =ecdh_unpack_data (¶ms->key_size, ptr,sizeof (params->key_size));if (secret.len !=crypto_ecdh_key_len (params))
crypto/michael_mic.c +12 -19
@@ -7,7 +7,7 @@* Copyright (c) 2004 Jouni Malinen <[email protected]> */ #include <crypto/internal/hash.h> -#include <asm/byteorder.h> +#include <asm/unaligned.h> #include <linux/init.h> #include <linux/module.h> #include <linux/string.h>
@@ -19,7 +19,7 @@ struct michael_mic_ctx { };struct michael_mic_desc_ctx { -u8 pending[4 ]; +__le32 pending;size_t pending_len;u32 l, r;
@@ -60,13 +60,12 @@ static int michael_update(struct shash_desc *desc, const u8 *data, unsigned int len) {struct michael_mic_desc_ctx *mctx =shash_desc_ctx (desc); -const __le32 *src;if (mctx->pending_len) {int flen =4 - mctx->pending_len;if (flen > len) flen = len; -memcpy (&mctx->pending[mctx->pending_len], data, flen); +memcpy ((u8 *)&mctx->pending + mctx->pending_len, data, flen); mctx->pending_len += flen; data += flen; len -= flen;
@@ -74,23 +73,21 @@ static int michael_update(struct shash_desc *desc, const u8 *data,if (mctx->pending_len <4 )return 0 ; - src = (const __le32 *)mctx->pending; - mctx->l ^=le32_to_cpup (src); + mctx->l ^=le32_to_cpu (mctx->pending);michael_block (mctx->l, mctx->r); mctx->pending_len =0 ; } - src = (const __le32 *)data; -while (len >=4 ) { - mctx->l ^=le32_to_cpup (src++); + mctx->l ^=get_unaligned_le32 (data);michael_block (mctx->l, mctx->r); + data +=4 ; len -=4 ; }if (len >0 ) { mctx->pending_len = len; -memcpy (mctx->pending, src, len); +memcpy (&mctx->pending, data, len); }return 0 ;
@@ -100,8 +97,7 @@ static int michael_update(struct shash_desc *desc, const u8 *data,static int michael_final (struct shash_desc *desc,u8 *out) {struct michael_mic_desc_ctx *mctx =shash_desc_ctx (desc); -u8 *data = mctx->pending; -__le32 *dst = (__le32 *)out; +u8 *data = (u8 *)&mctx->pending;/* Last block and padding (0x5a, 4..7 x 0) */ switch (mctx->pending_len) {
@@ -123,8 +119,8 @@ static int michael_final(struct shash_desc *desc, u8 *out)/* l ^= 0; */ michael_block (mctx->l, mctx->r); - dst[0 ] =cpu_to_le32 (mctx->l); - dst[1 ] =cpu_to_le32 (mctx->r); +put_unaligned_le32 (mctx->l, out); +put_unaligned_le32 (mctx->r, out +4 );return 0 ; }
@@ -135,13 +131,11 @@ static int michael_setkey(struct crypto_shash *tfm, const u8 *key, {struct michael_mic_ctx *mctx =crypto_shash_ctx (tfm); -const __le32 *data = (const __le32 *)key; -if (keylen !=8 )return -EINVAL ; - mctx->l =le32_to_cpu (data[0 ]); - mctx->r =le32_to_cpu (data[1 ]); + mctx->l =get_unaligned_le32 (key); + mctx->r =get_unaligned_le32 (key +4 );return 0 ; }
@@ -156,7 +150,6 @@ static struct shash_alg alg = { .cra_name = "michael_mic", .cra_driver_name = "michael_mic-generic", .cra_blocksize = 8, - .cra_alignmask = 3, .cra_ctxsize = sizeof(struct michael_mic_ctx), .cra_module = THIS_MODULE, }
drivers/acpi/acpi_configfs.c +6 -1
@@ -268,7 +268,12 @@ static int __init acpi_configfs_init(void) acpi_table_group =configfs_register_default_group (root,"table" , &acpi_tables_type); -return PTR_ERR_OR_ZERO (acpi_table_group); +if (IS_ERR (acpi_table_group)) { +configfs_unregister_subsystem (&acpi_configfs); +return PTR_ERR (acpi_table_group); + } + +return 0 ; }module_init (acpi_configfs_init);
drivers/acpi/property.c +33 -11
87 lines not on this page · raw message
drivers/amba/bus.c +12 -8
@@ -299,10 +299,11 @@ static int amba_remove(struct device *dev) {struct amba_device *pcdev =to_amba_device (dev);struct amba_driver *drv =to_amba_driver (dev->driver); -int ret; +int ret =0 ;pm_runtime_get_sync (dev); - ret = drv->remove (pcdev); +if (drv->remove) + ret = drv->remove (pcdev);pm_runtime_put_noidle (dev);/* Undo the runtime PM settings in amba_probe() */
@@ -319,7 +320,9 @@ static int amba_remove(struct device *dev)static void amba_shutdown (struct device *dev) {struct amba_driver *drv =to_amba_driver (dev->driver); - drv->shutdown (to_amba_device (dev)); + +if (drv->shutdown) + drv->shutdown (to_amba_device (dev)); }/**
@@ -332,12 +335,13 @@ static void amba_shutdown(struct device *dev)*/ int amba_driver_register (struct amba_driver *drv) { - drv->drv.bus = &amba_bustype; +if (!drv->probe) +return -EINVAL ; -#define SETFN (fn) if (drv->fn) drv->drv.fn = amba_##fn -SETFN (probe); -SETFN (remove); -SETFN (shutdown); + drv->drv.bus = &amba_bustype; + drv->drv.probe = amba_probe; + drv->drv.remove = amba_remove; + drv->drv.shutdown = amba_shutdown;return driver_register (&drv->drv); }
drivers/ata/ahci_brcm.c +13 -1
@@ -377,6 +377,10 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev)if (ret)return ret; + ret =ahci_platform_enable_regulators (hpriv); +if (ret) + goto out_disable_clks; +brcm_sata_init (priv);brcm_sata_phys_enable (priv);brcm_sata_alpm_init (hpriv);
@@ -406,6 +410,8 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev)ahci_platform_disable_phys (hpriv); out_disable_phys:brcm_sata_phys_disable (priv); +ahci_platform_disable_regulators (hpriv); +out_disable_clks:ahci_platform_disable_clks (hpriv);return ret; }
@@ -490,6 +496,10 @@ static int brcm_ahci_probe(struct platform_device *pdev)if (ret) goto out_reset; + ret =ahci_platform_enable_regulators (hpriv); +if (ret) + goto out_disable_clks; +/* Must be first so as to configure endianness including that * of the standard AHCI register space. */
@@ -499,7 +509,7 @@ static int brcm_ahci_probe(struct platform_device *pdev) priv->port_mask =brcm_ahci_get_portmask (hpriv, priv);if (!priv->port_mask) { ret = -ENODEV ; - goto out_disable_clks; + goto out_disable_regulators; }/* Must be done before ahci_platform_enable_phys() */
@@ -524,6 +534,8 @@ static int brcm_ahci_probe(struct platform_device *pdev)ahci_platform_disable_phys (hpriv); out_disable_phys:brcm_sata_phys_disable (priv); +out_disable_regulators: +ahci_platform_disable_regulators (hpriv); out_disable_clks:ahci_platform_disable_clks (hpriv); out_reset:
drivers/auxdisplay/ht16k33.c +1 -2
@@ -117,8 +117,7 @@ static void ht16k33_fb_queue(struct ht16k33_priv *priv) {struct ht16k33_fbdev *fbdev = &priv->fbdev; -schedule_delayed_work (&fbdev->work, -msecs_to_jiffies (HZ / fbdev->refresh_rate)); +schedule_delayed_work (&fbdev->work,HZ / fbdev->refresh_rate); }/*
drivers/base/regmap/regmap-sdw.c +2 -2
@@ -11,7 +11,7 @@ static int regmap_sdw_write(void *context, unsigned int reg, unsigned int val)struct device *dev = context;struct sdw_slave *slave =dev_to_sdw_dev (dev); -return sdw_write (slave, reg, val); +return sdw_write_no_pm (slave, reg, val); }static int regmap_sdw_read (void *context,unsigned int reg,unsigned int *val)
@@ -20,7 +20,7 @@ static int regmap_sdw_read(void *context, unsigned int reg, unsigned int *val)struct sdw_slave *slave =dev_to_sdw_dev (dev);int read; - read =sdw_read (slave, reg); + read =sdw_read_no_pm (slave, reg);if (read <0 )return read;
drivers/base/swnode.c +6 -2
@@ -443,14 +443,18 @@ software_node_get_next_child(const struct fwnode_handle *fwnode,struct swnode *c =to_swnode (child);if (!p ||list_empty (&p->children) || - (c &&list_is_last (&c->entry, &p->children))) + (c &&list_is_last (&c->entry, &p->children))) { +fwnode_handle_put (child);return NULL ; + }if (c) c =list_next_entry (c, entry);else c = list_first_entry(&p->children, struct swnode, entry); -return &c->fwnode; + +fwnode_handle_put (child); +return fwnode_handle_get (&c->fwnode); } static struct fwnode_handle *
drivers/block/floppy.c +15 -15
@@ -4120,23 +4120,23 @@ static int floppy_open(struct block_device *bdev, fmode_t mode)if (fdc_state[FDC (drive)].rawcmd ==1 ) fdc_state[FDC (drive)].rawcmd =2 ; -if (!(mode &FMODE_NDELAY )) { -if (mode & (FMODE_READ |FMODE_WRITE )) { - drive_state[drive].last_checked =0 ; -clear_bit (FD_OPEN_SHOULD_FAIL_BIT , - &drive_state[drive].flags); -if (bdev_check_media_change (bdev)) -floppy_revalidate (bdev->bd_disk); -if (test_bit (FD_DISK_CHANGED_BIT , &drive_state[drive].flags)) - goto out; -if (test_bit (FD_OPEN_SHOULD_FAIL_BIT , &drive_state[drive].flags)) - goto out; - } - res = -EROFS ; -if ((mode &FMODE_WRITE ) && - !test_bit (FD_DISK_WRITABLE_BIT , &drive_state[drive].flags)) +if (mode & (FMODE_READ |FMODE_WRITE )) { + drive_state[drive].last_checked =0 ; +clear_bit (FD_OPEN_SHOULD_FAIL_BIT , &drive_state[drive].flags); +if (bdev_check_media_change (bdev)) +floppy_revalidate (bdev->bd_disk); +if (test_bit (FD_DISK_CHANGED_BIT , &drive_state[drive].flags)) + goto out; +if (test_bit (FD_OPEN_SHOULD_FAIL_BIT , &drive_state[drive].flags)) goto out; } + + res = -EROFS ; + +if ((mode &FMODE_WRITE ) && + !test_bit (FD_DISK_WRITABLE_BIT , &drive_state[drive].flags)) + goto out; +mutex_unlock (&open_lock);mutex_unlock (&floppy_mutex);return 0 ;
drivers/bluetooth/btqcomsmd.c +19 -8
@@ -142,12 +142,16 @@ static int btqcomsmd_probe(struct platform_device *pdev) btq->cmd_channel =qcom_wcnss_open_channel (wcnss,"APPS_RIVA_BT_CMD" , btqcomsmd_cmd_callback, btq); -if (IS_ERR (btq->cmd_channel)) -return PTR_ERR (btq->cmd_channel); +if (IS_ERR (btq->cmd_channel)) { + ret =PTR_ERR (btq->cmd_channel); + goto destroy_acl_channel; + } hdev =hci_alloc_dev (); -if (!hdev) -return -ENOMEM ; +if (!hdev) { + ret = -ENOMEM ; + goto destroy_cmd_channel; + }hci_set_drvdata (hdev, btq); btq->hdev = hdev;
@@ -161,14 +165,21 @@ static int btqcomsmd_probe(struct platform_device *pdev) hdev->set_bdaddr = qca_set_bdaddr_rome; ret =hci_register_dev (hdev); -if (ret <0 ) { -hci_free_dev (hdev); -return ret; - } +if (ret <0 ) + goto hci_free_dev;platform_set_drvdata (pdev, btq);return 0 ; + +hci_free_dev: +hci_free_dev (hdev); +destroy_cmd_channel: +rpmsg_destroy_ept (btq->cmd_channel); +destroy_acl_channel: +rpmsg_destroy_ept (btq->acl_channel); + +return ret; }static int btqcomsmd_remove (struct platform_device *pdev)
drivers/bluetooth/btusb.c +10 -10
@@ -2827,7 +2827,7 @@ static void btusb_mtk_wmt_recv(struct urb *urb) skb =bt_skb_alloc (HCI_WMT_MAX_EVENT_SIZE ,GFP_ATOMIC );if (!skb) { hdev->stat.err_rx++; - goto err_out; +return ; }hci_skb_pkt_type (skb) =HCI_EVENT_PKT ;
@@ -2845,13 +2845,18 @@ static void btusb_mtk_wmt_recv(struct urb *urb)*/ if (test_bit (BTUSB_TX_WAIT_VND_EVT , &data->flags)) { data->evt_skb =skb_clone (skb,GFP_ATOMIC ); -if (!data->evt_skb) - goto err_out; +if (!data->evt_skb) { +kfree_skb (skb); +return ; + } } err =hci_recv_frame (hdev, skb); -if (err <0 ) - goto err_free_skb; +if (err <0 ) { +kfree_skb (data->evt_skb); + data->evt_skb =NULL ; +return ; + }if (test_and_clear_bit (BTUSB_TX_WAIT_VND_EVT , &data->flags)) {
@@ -2860,11 +2865,6 @@ static void btusb_mtk_wmt_recv(struct urb *urb)wake_up_bit (&data->flags,BTUSB_TX_WAIT_VND_EVT ); } -err_out: -return ; -err_free_skb: -kfree_skb (data->evt_skb); - data->evt_skb =NULL ;return ; }else if (urb->status == -ENOENT ) {/* Avoid suspend failed when usb_kill_urb */
drivers/bluetooth/hci_ldisc.c +20 -21
76 lines not on this page · raw message
drivers/bluetooth/hci_qca.c +2 -0
@@ -1020,7 +1020,9 @@ static void qca_controller_memdump(struct work_struct *work) dump_size =__le32_to_cpu (dump->dump_size);if (!(dump_size)) {bt_dev_err (hu->hdev,"Rx invalid memdump size" ); +kfree (qca_memdump);kfree_skb (skb); + qca->qca_memdump =NULL ;mutex_unlock (&qca->hci_memdump_lock);return ; }
drivers/bluetooth/hci_serdev.c +2 -2
@@ -83,9 +83,9 @@ static void hci_uart_write_work(struct work_struct *work)hci_uart_tx_complete (hu,hci_skb_pkt_type (skb));kfree_skb (skb); } - }while (test_bit (HCI_UART_TX_WAKEUP , &hu->tx_state)); -clear_bit (HCI_UART_SENDING , &hu->tx_state); +clear_bit (HCI_UART_SENDING , &hu->tx_state); + }while (test_bit (HCI_UART_TX_WAKEUP , &hu->tx_state)); }/* ------- Interface to HCI layer ------ */
drivers/char/hw_random/ingenic-trng.c +5 -1
@@ -113,13 +113,17 @@ static int ingenic_trng_probe(struct platform_device *pdev) ret =hwrng_register (&trng->rng);if (ret) {dev_err (&pdev->dev,"Failed to register hwrng\n" ); -return ret; + goto err_unprepare_clk; }platform_set_drvdata (pdev, trng);dev_info (&pdev->dev,"Ingenic DTRNG driver registered\n" );return 0 ; + +err_unprepare_clk: +clk_disable_unprepare (trng->clk); +return ret; }static int ingenic_trng_remove (struct platform_device *pdev)
drivers/char/hw_random/timeriomem-rng.c +1 -1
@@ -69,7 +69,7 @@ static int timeriomem_rng_read(struct hwrng *hwrng, void *data,*/ if (retval >0 )usleep_range (period_us, - period_us +min (1 , period_us /100 )); + period_us +max (1 , period_us /100 )); *(u32 *)data =readl (priv->io_base); retval +=sizeof (u32);
drivers/char/random.c +1 -1
@@ -1972,7 +1972,7 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg)return -EPERM ;if (crng_init <2 )return -ENODATA ; -crng_reseed (&primary_crng,NULL ); +crng_reseed (&primary_crng, &input_pool); crng_global_init_time = jiffies -1 ;return 0 ;default :
drivers/char/tpm/tpm.h +0 -4
@@ -164,8 +164,6 @@ extern const struct file_operations tpmrm_fops;extern struct idr dev_nums_idr;ssize_t tpm_transmit (struct tpm_chip *chip,u8 *buf,size_t bufsiz); -ssize_t tpm_transmit_cmd (struct tpm_chip *chip,struct tpm_buf *buf, -size_t min_rsp_body_length,const char *desc);int tpm_get_timeouts (struct tpm_chip *);int tpm_auto_startup (struct tpm_chip *chip);
@@ -194,8 +192,6 @@ static inline void tpm_msleep(unsigned int delay_msec)int tpm_chip_start (struct tpm_chip *chip);void tpm_chip_stop (struct tpm_chip *chip);struct tpm_chip *tpm_find_get_ops (struct tpm_chip *chip); -__must_check int tpm_try_get_ops (struct tpm_chip *chip); -void tpm_put_ops (struct tpm_chip *chip);struct tpm_chip *tpm_chip_alloc (struct device *dev,const struct tpm_class_ops *ops);
drivers/char/tpm/tpm_tis_core.c +3 -47
68 lines not on this page · raw message
drivers/clk/clk-ast2600.c +27 -10
@@ -17,7 +17,8 @@#define ASPEED_G6_NUM_CLKS 71 -#define ASPEED_G6_SILICON_REV 0x004 +#define ASPEED_G6_SILICON_REV 0x014 +#define CHIP_REVISION_ID GENMASK(23, 16)#define ASPEED_G6_RESET_CTRL 0x040#define ASPEED_G6_RESET_CTRL2 0x050
@@ -190,18 +191,34 @@ static struct clk_hw *ast2600_calc_pll(const char *name, u32 val)static struct clk_hw *ast2600_calc_apll (const char *name,u32 val) {unsigned int mult, div; +u32 chip_id =readl (scu_g6_base +ASPEED_G6_SILICON_REV ); -if (val &BIT (20 )) { -/* Pass through mode */ - mult = div =1 ; +if (((chip_id &CHIP_REVISION_ID ) >>16 ) >=2 ) { +if (val &BIT (24 )) { +/* Pass through mode */ + mult = div =1 ; + }else { +/* F = 25Mhz * [(m + 1) / (n + 1)] / (p + 1) */ +u32 m = val &0x1fff ; +u32 n = (val >>13 ) &0x3f ; +u32 p = (val >>19 ) &0xf ; + + mult = (m +1 ); + div = (n +1 ) * (p +1 ); + } }else { -/* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */ -u32 m = (val >>5 ) &0x3f ; -u32 od = (val >>4 ) &0x1 ; -u32 n = val &0xf ; +if (val &BIT (20 )) { +/* Pass through mode */ + mult = div =1 ; + }else { +/* F = 25Mhz * (2-od) * [(m + 2) / (n + 1)] */ +u32 m = (val >>5 ) &0x3f ; +u32 od = (val >>4 ) &0x1 ; +u32 n = val &0xf ; - mult = (2 - od) * (m +2 ); - div = n +1 ; + mult = (2 - od) * (m +2 ); + div = n +1 ; + } }return clk_hw_register_fixed_factor (NULL , name,"clkin" ,0 , mult, div);
drivers/clk/clk-divider.c +7 -2
@@ -493,8 +493,13 @@ struct clk_hw *__clk_hw_register_divider(struct device *dev,else init.ops = &clk_divider_ops; init.flags = flags; - init.parent_names = (parent_name ? &parent_name:NULL ); - init.num_parents = (parent_name ?1 :0 ); + init.parent_names = parent_name ? &parent_name :NULL ; + init.parent_hws = parent_hw ? &parent_hw :NULL ; + init.parent_data = parent_data; +if (parent_name || parent_hw || parent_data) + init.num_parents =1 ; +else + init.num_parents =0 ;/* struct clk_divider assignments */ div->reg = reg;
drivers/clk/meson/clk-pll.c +6 -4
@@ -365,13 +365,14 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, {struct clk_regmap *clk =to_clk_regmap (hw);struct meson_clk_pll_data *pll =meson_clk_pll_data (clk); -unsigned int enabled, m, n, frac =0 , ret; +unsigned int enabled, m, n, frac =0 ;unsigned long old_rate; +int ret;if (parent_rate ==0 || rate ==0 )return -EINVAL ; - old_rate = rate; + old_rate =clk_hw_get_rate (hw); ret =meson_clk_get_pll_settings (rate, parent_rate, &m, &n, pll);if (ret)
@@ -393,7 +394,8 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,if (!enabled)return 0 ; -if (meson_clk_pll_enable (hw)) { + ret =meson_clk_pll_enable (hw); +if (ret) {pr_warn ("%s: pll did not lock, trying to restore old rate %lu\n" , __func__, old_rate);/*
@@ -405,7 +407,7 @@ static int meson_clk_pll_set_rate(struct clk_hw *hw, unsigned long rate,meson_clk_pll_set_rate (hw, old_rate, parent_rate); } -return 0 ; +return ret; }/*
drivers/clk/qcom/gcc-msm8998.c +50 -50
341 lines not on this page · raw message
drivers/clk/renesas/r8a779a0-cpg-mssr.c +1 -2
@@ -69,7 +69,6 @@ enum clk_ids {CLK_PLL5_DIV2 ,CLK_PLL5_DIV4 ,CLK_S1 , -CLK_S2 ,CLK_S3 ,CLK_SDSRC , CLK_RPCSRC,
@@ -137,7 +136,7 @@ static const struct cpg_core_clk r8a779a0_core_clks[] __initconst = {DEF_FIXED ("icu" ,R8A779A0_CLK_ICU ,CLK_PLL5_DIV4 ,2 ,1 ),DEF_FIXED ("icud2" ,R8A779A0_CLK_ICUD2 ,CLK_PLL5_DIV4 ,4 ,1 ),DEF_FIXED ("vcbus" ,R8A779A0_CLK_VCBUS ,CLK_PLL5_DIV4 ,1 ,1 ), -DEF_FIXED ("cbfusa" ,R8A779A0_CLK_CBFUSA ,CLK_MAIN ,2 ,1 ), +DEF_FIXED ("cbfusa" ,R8A779A0_CLK_CBFUSA ,CLK_EXTAL ,2 ,1 ),DEF_DIV6P1 ("mso" ,R8A779A0_CLK_MSO ,CLK_PLL5_DIV4 ,0x87c ), DEF_DIV6P1("canfd", R8A779A0_CLK_CANFD, CLK_PLL5_DIV4, 0x878),
drivers/clk/sunxi-ng/ccu-sun50i-h6.c +5 -5
@@ -237,7 +237,7 @@ static const char * const psi_ahb1_ahb2_parents[] = { "osc24M", "osc32k", static SUNXI_CCU_MP_WITH_MUX(psi_ahb1_ahb2_clk, "psi-ahb1-ahb2", psi_ahb1_ahb2_parents,0x510 , -0 ,5 ,/* M */ +0 ,2 ,/* M */ 8 ,2 ,/* P */ 24 ,2 ,/* mux */ 0);
@@ -246,19 +246,19 @@ static const char * const ahb3_apb1_apb2_parents[] = { "osc24M", "osc32k","psi-ahb1-ahb2" , "pll-periph0" }; static SUNXI_CCU_MP_WITH_MUX(ahb3_clk, "ahb3", ahb3_apb1_apb2_parents, 0x51c, -0 ,5 ,/* M */ +0 ,2 ,/* M */ 8 ,2 ,/* P */ 24 ,2 ,/* mux */ 0); static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", ahb3_apb1_apb2_parents, 0x520, -0 ,5 ,/* M */ +0 ,2 ,/* M */ 8 ,2 ,/* P */ 24 ,2 ,/* mux */ 0); static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", ahb3_apb1_apb2_parents, 0x524, -0 ,5 ,/* M */ +0 ,2 ,/* M */ 8 ,2 ,/* P */ 24 ,2 ,/* mux */ 0);
@@ -682,7 +682,7 @@ static struct ccu_mux hdmi_cec_clk = { .common = { .reg = 0xb10, - .features = CCU_FEATURE_VARIABLE_PREDIV, + .features = CCU_FEATURE_FIXED_PREDIV, .hw.init = CLK_HW_INIT_PARENTS("hdmi-cec", hdmi_cec_parents, &ccu_mux_ops,
drivers/clocksource/Kconfig +1 -0
@@ -79,6 +79,7 @@ config IXP4XX_TIMER bool "Intel XScale IXP4xx timer driver" if COMPILE_TEST depends on HAS_IOMEM select CLKSRC_MMIO + select TIMER_OF if OF help Enables support for the Intel XScale IXP4xx SoC timer.
drivers/clocksource/mxs_timer.c +1 -4
@@ -131,10 +131,7 @@ static void mxs_irq_clear(char *state)/* Clear pending interrupt */ timrot_irq_acknowledge (); - -#ifdef DEBUG - pr_info("%s: changing mode to %s\n", __func__, state) -#endif /* DEBUG */ +pr_debug ("%s: changing mode to %s\n" , __func__, state); }static int mxs_shutdown (struct clock_event_device *evt)
drivers/cpufreq/acpi-cpufreq.c +16 -46
44 lines not on this page · raw message
drivers/crypto/allwinner/sun4i-ss/sun4i-ss-cipher.c +106 -67
173 lines not on this page · raw message
drivers/crypto/allwinner/sun4i-ss/sun4i-ss.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/talitos.c +38 -12
50 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/bios/command_table.c +61 -0
61 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +14 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dce/dce_stream_encoder.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dce/dce_transform.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +18 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c +22 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c +13 -9
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_hdmi.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/gt/gen7_renderclear.c +8 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_disp_ovl.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nouveau_connector.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-elida-kd35t133.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rcar-du/rcar_du_encoder.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/rockchip_drm_vop.h +11 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/vc4/vc4_hdmi.c +68 -19
87 lines not on this page · raw message
drivers/hsi/controllers/omap_ssi_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x-core.c +13 -8
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-bcm-iproc.c +181 -50
231 lines not on this page · raw message
drivers/i2c/busses/i2c-qcom-geni.c +43 -16
59 lines not on this page · raw message
drivers/infiniband/core/cma.c +41 -29
70 lines not on this page · raw message
drivers/infiniband/hw/hns/hns_roce_device.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +3 -5
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/hns/hns_roce_main.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/sw/siw/siw_qp.c +142 -129
271 lines not on this page · raw message
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-clt.c +31 -20
51 lines not on this page · raw message
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/rtrs/rtrs-srv.c +65 -52
117 lines not on this page · raw message
drivers/input/touchscreen/raydium_i2c_ts.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/md/dm-era-target.c +60 -33
93 lines not on this page · raw message
drivers/md/dm-table.c +70 -98
168 lines not on this page · raw message
drivers/md/dm-writecache.c +49 -25
74 lines not on this page · raw message
drivers/md/dm.c +61 -1
62 lines not on this page · raw message
drivers/media/pci/cx25821/cx25821-core.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/pci/intel/ipu3/ipu3-cio2.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/pci/saa7134/saa7134-empress.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/media/pci/smipcie/smipcie-ir.c +26 -20
46 lines not on this page · raw message
drivers/media/platform/marvell-ccic/mcam-core.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/vdec/vdec_vp9_if.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/camss/camss-video.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vidtv/vidtv_psi.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/misc/vmw_vmci/vmci_queue_pair.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/mmc/host/renesas_sdhi_internal_dmac.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/mtd/spi-nor/controllers/hisi-sfc.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-common.h +14 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-drv.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +38 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/chelsio/cxgb4/sge.c +8 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.h +0 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +12 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/enetc/enetc_pf.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_ethtool.c +9 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_main.c +14 -36
50 lines not on this page · raw message
drivers/net/ethernet/intel/i40e/i40e_txrx.c +6 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_dcb_nl.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_ethtool.c +26 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c +32 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/devlink.c +9 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +192 -67
259 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c +31 -35
66 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c +26 -13
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_main.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/health.c +14 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/main.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/realtek/r8169_main.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c +26 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/xilinx/xilinx_axienet_main.c +12 -14
Lines of this file are not shown. View the raw message.
drivers/net/phy/mscc/mscc_main.c +228 -122
350 lines not on this page · raw message
drivers/net/phy/phy_device.c +17 -36
53 lines not on this page · raw message
drivers/net/wireguard/queueing.c +69 -17
86 lines not on this page · raw message
drivers/net/wireguard/queueing.h +33 -12
45 lines not on this page · raw message
drivers/net/wireless/ath/ath10k/wmi-tlv.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43/phy_n.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +9 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/fw.c +28 -15
43 lines not on this page · raw message
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c +12 -9
Lines of this file are not shown. View the raw message.
drivers/nvme/target/tcp.c +42 -17
59 lines not on this page · raw message
drivers/pci/controller/cadence/pcie-cadence-host.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rcar-host.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-xilinx-cpm.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/phy/cadence/phy-cadence-torrent.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/phy/lantiq/phy-lantiq-rcu-usb2.c +9 -1
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-emmc.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_proto.c +7 -5
Lines of this file are not shown. View the raw message.
drivers/power/reset/at91-sama5d2_shdwc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/power/supply/axp20x_usb_power.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/regulator/qcom-rpmh-regulator.c +26 -0
Lines of this file are not shown. View the raw message.
drivers/soundwire/bus.c +30 -17
47 lines not on this page · raw message
drivers/staging/media/allegro-dvt/allegro-core.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_subdev.c +16 -8
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/hmm/hmm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/imx/imx-media-csc-scaler.c +0 -4
Lines of this file are not shown. View the raw message.
drivers/staging/media/imx/imx-media-dev.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/imx/imx7-media-csi.c +19 -8
Lines of this file are not shown. View the raw message.
drivers/staging/mt7621-dma/hsdma-mt7621.c new file +760 -0
760 lines not on this page · raw message
drivers/staging/mt7621-dma/mtk-hsdma.c deleted +0 -760
760 lines not on this page · raw message
drivers/staging/rtl8188eu/os_dep/usb_intf.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/os_dep/wifi_regd.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/target/iscsi/cxgbit/cxgbit_target.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/tty/n_hdlc.c +41 -19
60 lines not on this page · raw message
drivers/tty/n_tty.c +34 -48
82 lines not on this page · raw message
drivers/tty/tty_io.c +70 -12
82 lines not on this page · raw message
drivers/vfio/vfio_iommu_type1.c +37 -26
63 lines not on this page · raw message
drivers/virt/vboxguest/vboxguest_utils.c +12 -6
Lines of this file are not shown. View the raw message.
fs/btrfs/delayed-ref.c +35 -21
56 lines not on this page · raw message
fs/btrfs/extent-tree.c +30 -98
128 lines not on this page · raw message
kernel/sched/fair.c +29 -16
45 lines not on this page · raw message
kernel/tracepoint.c +64 -16
80 lines not on this page · raw message
mm/compaction.c +23 -20
43 lines not on this page · raw message
net/sched/act_api.c +67 -39
106 lines not on this page · raw message
net/sunrpc/xprtrdma/svc_rdma_transport.c +3 -3
Lines of this file are not shown. View the raw message.
security/keys/trusted-keys/trusted_tpm1.c +18 -4
Lines of this file are not shown. View the raw message.
security/keys/trusted-keys/trusted_tpm2.c +18 -4
Lines of this file are not shown. View the raw message.
sound/firewire/fireface/ff-protocol-latter.c +100 -18
118 lines not on this page · raw message
tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json +1 -1
Lines of this file are not shown. View the raw message.
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c +40 -1
41 lines not on this page · raw message
tools/perf/util/intel-pt-decoder/intel-pt-decoder.h +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_xdp_redirect.sh +3 -7
Lines of this file are not shown. View the raw message.
tools/testing/selftests/dmabuf-heaps/Makefile +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc +27 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/mptcp/mptcp_connect.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/powerpc/eeh/eeh-basic.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/seccomp/seccomp_bpf.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/wireguard/netns.sh +14 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Damn, I forgot all about this, and it has now has spread.
f92bac3b141b8 kernel/printk/printk_safe.c (Sergey Senozhatsky 2016-12-27 23:16:05 +0900 267) void printk_safe_flush_on_panic(void)
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 268) {
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 269) /*
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 270) * Make sure that we could access the main ring buffer.
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 271) * Do not risk a double release when more CPUs are up.
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 272) */
554755be08fba kernel/printk/printk_safe.c (Sergey Senozhatsky 2018-05-30 16:03:50 +0900 273) if (raw_spin_is_locked(&logbuf_lock)) {
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 274) if (num_online_cpus() > 1)
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 275) return;
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 276)
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 277) debug_locks_off();
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 278) raw_spin_lock_init(&logbuf_lock);
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 279) }
cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 280)
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 281) if (raw_spin_is_locked(&safe_read_lock)) {
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 282) if (num_online_cpus() > 1)
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 283) return;
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 284)
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 285) debug_locks_off();
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 286) raw_spin_lock_init(&safe_read_lock);
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 287) }
eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 288)eb9036b4cf4c0 == 8a8109f303e2 upstream, and accidentally duplicated most of printk_safe_flush_on_panic().
-Mike
Greg Kroah-Hartman
maintainerQuoted 25 lines · Mike Galbraith
Damn, I forgot all about this, and it has now has spread.
f92bac3b141b8kernel/printk/printk_safe.c(Sergey Senozhatsky 2016-12-27 23:16:05 +0900 267) voidprintk_safe_flush_on_panic(void)cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 268) { cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 269) /* cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 270) * Make sure that we could access the main ring buffer. cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 271) * Do not risk a double release when more CPUs are up. cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 272) */ 554755be08fba kernel/printk/printk_safe.c (Sergey Senozhatsky 2018-05-30 16:03:50 +0900 273) if (raw_spin_is_locked(&logbuf_lock)) { cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 274) if (num_online_cpus() > 1) cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 275) return; cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 276) cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 277) debug_locks_off(); cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 278) raw_spin_lock_init(&logbuf_lock); cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 279) } cf9b1106c81c4 kernel/printk/nmi.c (Petr Mladek 2016-05-20 17:00:42 -0700 280) eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 281) if (raw_spin_is_locked(&safe_read_lock)) { eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 282) if (num_online_cpus() > 1) eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 283) return; eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 284) eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 285) debug_locks_off(); eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 286) raw_spin_lock_init(&safe_read_lock); eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 287) } eb9036b4cf4c0 kernel/printk/printk_safe.c (Muchun Song 2021-02-10 11:48:23 +0800 288)
Quoted 2 lines
eb9036b4cf4c0==8a8109f303e2upstream, and accidentally duplicated most ofprintk_safe_flush_on_panic().
I'm sorry, but I do not know what you are trying to say here at all. What am I supposed to do?
confused,
greg k-h
Quoted 4 lines · Greg Kroah-Hartman
Quoted 2 lines · Mike Galbraith
eb9036b4cf4c0==8a8109f303e2upstream, and accidentally duplicated most ofprintk_safe_flush_on_panic().
bzzt.
Quoted 2 lines
I'm sorry, but I do not know what you are trying to say here at all. What am I supposed to do?
Never mind. -ETOOMANYTREES
-Mike