Linux 5.10.110
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.110 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/sysctl/kernel.rst | 1 Documentation/core-api/dma-attributes.rst | 8 Documentation/devicetree/bindings/mtd/nand-controller.yaml | 4 Documentation/devicetree/bindings/spi/spi-mxic.txt | 4 Documentation/process/stable-kernel-rules.rst | 11 Documentation/sound/hd-audio/models.rst | 4 Makefile | 2 arch/arc/kernel/process.c | 2 arch/arm/boot/dts/bcm2711.dtsi | 50 ++ arch/arm/boot/dts/bcm2837.dtsi | 49 ++ arch/arm/boot/dts/dra7-l4.dtsi | 5 arch/arm/boot/dts/dra7.dtsi | 8 arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 2 arch/arm/boot/dts/exynos5250-smdk5250.dts | 3 arch/arm/boot/dts/exynos5420-smdk5420.dts | 3 arch/arm/boot/dts/imx53-m53menlo.dts | 29 + arch/arm/boot/dts/imx7-colibri.dtsi | 4 arch/arm/boot/dts/imx7-mba7.dtsi | 2 arch/arm/boot/dts/imx7d-nitrogen7.dts | 2 arch/arm/boot/dts/imx7d-pico-hobbit.dts | 4 arch/arm/boot/dts/imx7d-pico-pi.dts | 4 arch/arm/boot/dts/imx7d-sdb.dts | 4 arch/arm/boot/dts/imx7s-warp.dts | 4 arch/arm/boot/dts/qcom-ipq4019.dtsi | 3 arch/arm/boot/dts/qcom-msm8960.dtsi | 8 arch/arm/boot/dts/sama5d2.dtsi | 2 arch/arm/boot/dts/spear1340.dtsi | 6 arch/arm/boot/dts/spear13xx.dtsi | 6 arch/arm/boot/dts/sun8i-v3s.dtsi | 22 - arch/arm/boot/dts/tegra20-tamonten.dtsi | 6 arch/arm/configs/multi_v5_defconfig | 1 arch/arm/crypto/Kconfig | 2 arch/arm/kernel/entry-ftrace.S | 51 +- arch/arm/kernel/swp_emulate.c | 2 arch/arm/kernel/traps.c | 2 arch/arm/mach-iop32x/include/mach/entry-macro.S | 2 arch/arm/mach-iop32x/include/mach/irqs.h | 2 arch/arm/mach-iop32x/irq.c | 6 arch/arm/mach-iop32x/irqs.h | 60 +- arch/arm/mach-mmp/sram.c | 22 - arch/arm/mach-mstar/Kconfig | 1 arch/arm/mach-s3c/mach-jive.c | 6 arch/arm64/boot/dts/broadcom/northstar2/ns2-svk.dts | 8 arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi | 2 arch/arm64/boot/dts/qcom/sdm845.dtsi | 8 arch/arm64/boot/dts/qcom/sm8150.dtsi | 6 arch/arm64/boot/dts/rockchip/rk3399-firefly.dts | 4 arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 5 arch/arm64/boot/dts/ti/k3-am65.dtsi | 1 arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 5 arch/arm64/boot/dts/ti/k3-j7200.dtsi | 1 arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 5 arch/arm64/boot/dts/ti/k3-j721e.dtsi | 1 arch/arm64/configs/defconfig | 2 arch/arm64/kernel/signal.c | 10 arch/arm64/mm/init.c | 36 + arch/arm64/mm/mmu.c | 41 + arch/arm64/net/bpf_jit_comp.c | 18 arch/csky/kernel/perf_callchain.c | 2 arch/csky/kernel/signal.c | 2 arch/m68k/coldfire/device.c | 6 arch/microblaze/include/asm/uaccess.h | 18 arch/mips/dec/int-handler.S | 6 arch/mips/dec/prom/Makefile | 2 arch/mips/dec/setup.c | 3 arch/mips/include/asm/dec/prom.h | 15 arch/mips/include/asm/pgalloc.h | 6 arch/mips/rb532/devices.c | 6 arch/nios2/include/asm/uaccess.h | 26 - arch/nios2/kernel/signal.c | 20 arch/parisc/include/asm/traps.h | 1 arch/parisc/kernel/traps.c | 2 arch/parisc/mm/fault.c | 89 ++++ arch/powerpc/Makefile | 2 arch/powerpc/boot/dts/fsl/t1040rdb-rev-a.dts | 30 + arch/powerpc/boot/dts/fsl/t1040rdb.dts | 8 arch/powerpc/include/asm/io.h | 40 + arch/powerpc/include/asm/uaccess.h | 3 arch/powerpc/kernel/kvm.c | 2 arch/powerpc/kvm/book3s_hv.c | 5 arch/powerpc/kvm/powerpc.c | 4 arch/powerpc/lib/sstep.c | 12 arch/powerpc/mm/kasan/kasan_init_32.c | 3 arch/powerpc/mm/numa.c | 4 arch/powerpc/perf/imc-pmu.c | 6 arch/powerpc/platforms/8xx/pic.c | 1 arch/powerpc/platforms/powernv/rng.c | 6 arch/powerpc/sysdev/fsl_gtm.c | 4 arch/riscv/include/asm/module.lds.h | 6 arch/riscv/include/asm/thread_info.h | 10 arch/riscv/kernel/perf_callchain.c | 6 arch/sparc/kernel/signal_32.c | 2 arch/um/drivers/mconsole_kern.c | 3 arch/x86/events/intel/pt.c | 2 arch/x86/kernel/kvm.c | 2 arch/x86/kvm/emulate.c | 14 arch/x86/kvm/hyperv.c | 9 arch/x86/kvm/lapic.c | 5 arch/x86/kvm/mmu/paging_tmpl.h | 77 +-- arch/x86/kvm/mmu/tdp_mmu.c | 3 arch/x86/kvm/svm/avic.c | 10 arch/x86/xen/pmu.c | 10 arch/x86/xen/pmu.h | 3 arch/x86/xen/smp_pv.c | 2 arch/xtensa/include/asm/processor.h | 4 arch/xtensa/kernel/jump_label.c | 2 block/bfq-cgroup.c | 6 block/bfq-iosched.c | 31 + block/blk-merge.c | 11 block/blk-mq-sched.c | 9 block/blk-sysfs.c | 8 crypto/authenc.c | 2 crypto/rsa-pkcs1pad.c | 11 drivers/acpi/acpica/nswalk.c | 3 drivers/acpi/apei/bert.c | 10 drivers/acpi/apei/erst.c | 2 drivers/acpi/apei/hest.c | 2 drivers/acpi/cppc_acpi.c | 5 drivers/acpi/property.c | 2 drivers/amba/bus.c | 5 drivers/base/dd.c | 2 drivers/base/power/main.c | 6 drivers/block/drbd/drbd_req.c | 3 drivers/block/loop.c | 10 drivers/block/virtio_blk.c | 12 drivers/bluetooth/btmtksdio.c | 4 drivers/bluetooth/hci_serdev.c | 3 drivers/bus/mips_cdmm.c | 1 drivers/char/hw_random/Kconfig | 2 drivers/char/hw_random/atmel-rng.c | 1 drivers/char/hw_random/cavium-rng-vf.c | 194 ++++++++- drivers/char/hw_random/cavium-rng.c | 11 drivers/char/hw_random/nomadik-rng.c | 7 drivers/char/tpm/tpm-chip.c | 46 -- drivers/char/tpm/tpm.h | 2 drivers/char/tpm/tpm2-space.c | 65 +++ drivers/char/virtio_console.c | 7 drivers/clk/actions/owl-s700.c | 1 drivers/clk/actions/owl-s900.c | 2 drivers/clk/at91/sama7g5.c | 8 drivers/clk/clk-clps711x.c | 2 drivers/clk/clk.c | 13 drivers/clk/imx/clk-imx7d.c | 1 drivers/clk/loongson1/clk-loongson1c.c | 1 drivers/clk/qcom/clk-rcg2.c | 14 drivers/clk/qcom/gcc-ipq8074.c | 21 - drivers/clk/qcom/gcc-msm8994.c | 1 drivers/clk/tegra/clk-tegra124-emc.c | 1 drivers/clk/uniphier/clk-uniphier-fixed-rate.c | 1 drivers/clocksource/acpi_pm.c | 6 drivers/clocksource/exynos_mct.c | 60 +- drivers/clocksource/timer-microchip-pit64b.c | 2 drivers/clocksource/timer-of.c | 6 drivers/clocksource/timer-ti-dm-systimer.c | 4 drivers/cpufreq/qcom-cpufreq-nvmem.c | 2 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c | 3 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 3 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c | 3 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c | 2 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c | 3 drivers/crypto/amlogic/amlogic-gxl-cipher.c | 2 drivers/crypto/ccp/ccp-dmaengine.c | 16 drivers/crypto/ccree/cc_buffer_mgr.c | 7 drivers/crypto/ccree/cc_cipher.c | 2 drivers/crypto/mxs-dcp.c | 2 drivers/crypto/rockchip/rk3288_crypto_skcipher.c | 1 drivers/crypto/vmx/Kconfig | 4 drivers/dax/super.c | 1 drivers/dma-buf/udmabuf.c | 4 drivers/dma/hisi_dma.c | 2 drivers/dma/pl330.c | 3 drivers/firmware/efi/efi-pstore.c | 2 drivers/firmware/google/Kconfig | 2 drivers/firmware/qcom_scm.c | 6 drivers/firmware/stratix10-svc.c | 2 drivers/fsi/fsi-master-aspeed.c | 21 - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c | 14 drivers/gpu/drm/amd/pm/amdgpu_pm.c | 4 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 2 drivers/gpu/drm/bridge/adv7511/adv7511.h | 1 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 29 + drivers/gpu/drm/bridge/cdns-dsi.c | 1 drivers/gpu/drm/bridge/nwl-dsi.c | 1 drivers/gpu/drm/bridge/sil-sii8620.c | 2 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 5 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 1 drivers/gpu/drm/drm_edid.c | 11 drivers/gpu/drm/i915/display/intel_opregion.c | 15 drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 drivers/gpu/drm/meson/meson_drv.c | 6 drivers/gpu/drm/meson/meson_osd_afbcd.c | 41 + drivers/gpu/drm/meson/meson_osd_afbcd.h | 1 drivers/gpu/drm/mgag200/mgag200_mode.c | 5 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 2 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 8 drivers/gpu/drm/msm/dp/dp_display.c | 5 drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c | 9 drivers/gpu/drm/panfrost/panfrost_gpu.c | 5 drivers/gpu/drm/pl111/pl111_drv.c | 4 drivers/gpu/drm/tegra/dsi.c | 4 drivers/gpu/host1x/dev.c | 1 drivers/greybus/svc.c | 8 drivers/hid/hid-logitech-dj.c | 1 drivers/hid/i2c-hid/i2c-hid-core.c | 32 + drivers/hid/intel-ish-hid/ishtp-fw-loader.c | 29 - drivers/hv/Kconfig | 1 drivers/hv/hv_balloon.c | 2 drivers/hwmon/pmbus/pmbus.h | 1 drivers/hwmon/pmbus/pmbus_core.c | 18 drivers/hwmon/sch56xx-common.c | 2 drivers/hwtracing/coresight/coresight-catu.c | 3 drivers/hwtracing/coresight/coresight-cpu-debug.c | 4 drivers/hwtracing/coresight/coresight-cti-core.c | 4 drivers/hwtracing/coresight/coresight-etb10.c | 4 drivers/hwtracing/coresight/coresight-etm3x-core.c | 4 drivers/hwtracing/coresight/coresight-etm4x-core.c | 4 drivers/hwtracing/coresight/coresight-etm4x-sysfs.c | 8 drivers/hwtracing/coresight/coresight-funnel.c | 4 drivers/hwtracing/coresight/coresight-replicator.c | 4 drivers/hwtracing/coresight/coresight-stm.c | 4 drivers/hwtracing/coresight/coresight-tmc-core.c | 4 drivers/hwtracing/coresight/coresight-tpiu.c | 4 drivers/i2c/busses/i2c-meson.c | 12 drivers/i2c/busses/i2c-nomadik.c | 4 drivers/i2c/busses/i2c-xiic.c | 3 drivers/i2c/muxes/i2c-demux-pinctrl.c | 5 drivers/iio/accel/mma8452.c | 29 - drivers/iio/adc/twl6030-gpadc.c | 2 drivers/iio/afe/iio-rescale.c | 8 drivers/iio/inkern.c | 40 + drivers/infiniband/core/cma.c | 2 drivers/infiniband/core/verbs.c | 1 drivers/infiniband/hw/hfi1/verbs.c | 3 drivers/infiniband/hw/mlx5/devx.c | 4 drivers/infiniband/hw/mlx5/mr.c | 2 drivers/input/input.c | 6 drivers/input/serio/ambakmi.c | 3 drivers/input/touchscreen/zinitix.c | 44 +- drivers/iommu/iova.c | 5 drivers/iommu/ipmmu-vmsa.c | 4 drivers/irqchip/irq-nvic.c | 2 drivers/irqchip/qcom-pdc.c | 5 drivers/mailbox/imx-mailbox.c | 9 drivers/mailbox/tegra-hsp.c | 5 drivers/md/bcache/btree.c | 6 drivers/md/bcache/writeback.c | 6 drivers/md/dm-crypt.c | 2 drivers/md/dm-integrity.c | 6 drivers/media/i2c/adv7511-v4l2.c | 2 drivers/media/i2c/adv7604.c | 2 drivers/media/i2c/adv7842.c | 2 drivers/media/pci/bt8xx/bttv-driver.c | 4 drivers/media/pci/cx88/cx88-mpeg.c | 3 drivers/media/pci/ivtv/ivtv-driver.h | 1 drivers/media/pci/ivtv/ivtv-ioctl.c | 10 drivers/media/pci/ivtv/ivtv-streams.c | 11 drivers/media/pci/saa7134/saa7134-alsa.c | 8 drivers/media/platform/aspeed-video.c | 9 drivers/media/platform/coda/coda-common.c | 1 drivers/media/platform/davinci/vpif.c | 12 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c | 2 drivers/media/rc/gpio-ir-tx.c | 28 + drivers/media/rc/ir_toy.c | 2 drivers/media/test-drivers/vidtv/vidtv_s302m.c | 17 drivers/media/usb/em28xx/em28xx-cards.c | 13 drivers/media/usb/go7007/s2250-board.c | 10 drivers/media/usb/hdpvr/hdpvr-video.c | 4 drivers/media/usb/stk1160/stk1160-core.c | 2 drivers/media/usb/stk1160/stk1160-v4l.c | 10 drivers/media/usb/stk1160/stk1160.h | 2 drivers/media/v4l2-core/v4l2-mem2mem.c | 53 +- drivers/memory/emif.c | 8 drivers/memory/pl172.c | 4 drivers/memory/pl353-smc.c | 4 drivers/mfd/asic3.c | 10 drivers/mfd/mc13xxx-core.c | 4 drivers/misc/cardreader/alcor_pci.c | 9 drivers/misc/habanalabs/common/debugfs.c | 2 drivers/misc/kgdbts.c | 4 drivers/misc/mei/hw-me-regs.h | 1 drivers/misc/mei/interrupt.c | 35 - drivers/misc/mei/pci-me.c | 1 drivers/mmc/core/host.c | 15 drivers/mmc/host/davinci_mmc.c | 6 drivers/mmc/host/mmci.c | 4 drivers/mtd/nand/onenand/generic.c | 7 drivers/mtd/nand/raw/atmel/nand-controller.c | 14 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 3 drivers/mtd/nand/raw/nand_base.c | 44 -- drivers/mtd/ubi/build.c | 9 drivers/mtd/ubi/fastmap.c | 28 - drivers/mtd/ubi/vmt.c | 8 drivers/net/bareudp.c | 25 - drivers/net/can/m_can/m_can.c | 5 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 2 drivers/net/can/usb/ems_usb.c | 1 drivers/net/can/usb/mcba_usb.c | 27 - drivers/net/can/usb/usb_8dev.c | 30 - drivers/net/can/vxcan.c | 2 drivers/net/dsa/bcm_sf2_cfp.c | 6 drivers/net/dsa/microchip/ksz8795_spi.c | 11 drivers/net/dsa/microchip/ksz9477_spi.c | 12 drivers/net/dsa/mv88e6xxx/chip.c | 1 drivers/net/ethernet/8390/mcf8390.c | 10 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 5 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 11 drivers/net/ethernet/intel/i40e/i40e_xsk.c | 16 drivers/net/ethernet/pensando/ionic/ionic_main.c | 6 drivers/net/ethernet/qlogic/qed/qed_sriov.c | 29 + drivers/net/ethernet/qlogic/qed/qed_sriov.h | 1 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h | 10 drivers/net/ethernet/sun/sunhme.c | 6 drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 72 ++- drivers/net/hamradio/6pack.c | 4 drivers/net/phy/broadcom.c | 21 + drivers/net/wireguard/queueing.c | 3 drivers/net/wireguard/socket.c | 5 drivers/net/wireless/ath/ath10k/snoc.c | 2 drivers/net/wireless/ath/ath10k/wow.c | 7 drivers/net/wireless/ath/ath9k/htc_hst.c | 5 drivers/net/wireless/ath/carl9170/main.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 2 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 66 --- drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c | 2 drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 4 drivers/net/wireless/mediatek/mt76/mt7603/main.c | 3 drivers/net/wireless/mediatek/mt76/mt7615/main.c | 3 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 9 drivers/net/wireless/ray_cs.c | 6 drivers/nvdimm/region_devs.c | 3 drivers/nvme/host/core.c | 9 drivers/nvme/host/tcp.c | 40 + drivers/pci/access.c | 9 drivers/pci/controller/pci-aardvark.c | 4 drivers/pci/controller/pci-xgene.c | 35 + drivers/pci/hotplug/pciehp_hpc.c | 2 drivers/pci/quirks.c | 12 drivers/phy/phy-core-mipi-dphy.c | 4 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 drivers/pinctrl/mediatek/pinctrl-paris.c | 30 - drivers/pinctrl/nomadik/pinctrl-nomadik.c | 4 drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c | 185 ++++---- drivers/pinctrl/pinconf-generic.c | 6 drivers/pinctrl/pinctrl-rockchip.c | 2 drivers/pinctrl/renesas/core.c | 5 drivers/pinctrl/renesas/pfc-r8a77470.c | 4 drivers/pinctrl/samsung/pinctrl-samsung.c | 30 + drivers/platform/chrome/Makefile | 3 drivers/platform/chrome/cros_ec_sensorhub_ring.c | 3 drivers/platform/chrome/cros_ec_sensorhub_trace.h | 123 +++++ drivers/platform/chrome/cros_ec_trace.h | 95 ---- drivers/platform/chrome/cros_ec_typec.c | 6 drivers/platform/x86/huawei-wmi.c | 13 drivers/power/reset/gemini-poweroff.c | 4 drivers/power/supply/ab8500_fg.c | 4 drivers/power/supply/bq24190_charger.c | 7 drivers/power/supply/wm8350_power.c | 97 +++- drivers/pwm/pwm-lpc18xx-sct.c | 20 drivers/regulator/qcom_smd-regulator.c | 4 drivers/regulator/rpi-panel-attiny-regulator.c | 56 ++ drivers/remoteproc/qcom_q6v5_adsp.c | 1 drivers/remoteproc/qcom_q6v5_mss.c | 11 drivers/remoteproc/qcom_wcnss.c | 1 drivers/remoteproc/remoteproc_debugfs.c | 2 drivers/rtc/interface.c | 7 drivers/rtc/rtc-pl030.c | 4 drivers/rtc/rtc-pl031.c | 4 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 drivers/scsi/libsas/sas_ata.c | 2 drivers/scsi/pm8001/pm8001_hwi.c | 23 - drivers/scsi/pm8001/pm80xx_hwi.c | 209 +++++----- drivers/scsi/qla2xxx/qla_attr.c | 7 drivers/scsi/qla2xxx/qla_def.h | 10 drivers/scsi/qla2xxx/qla_gs.c | 5 drivers/scsi/qla2xxx/qla_init.c | 73 ++- drivers/scsi/qla2xxx/qla_iocb.c | 8 drivers/scsi/qla2xxx/qla_isr.c | 1 drivers/scsi/qla2xxx/qla_mbx.c | 14 drivers/scsi/qla2xxx/qla_nvme.c | 22 + drivers/scsi/qla2xxx/qla_os.c | 8 drivers/scsi/qla2xxx/qla_sup.c | 4 drivers/scsi/qla2xxx/qla_target.c | 4 drivers/soc/qcom/ocmem.c | 1 drivers/soc/qcom/qcom_aoss.c | 2 drivers/soc/qcom/rpmpd.c | 3 drivers/soc/ti/wkup_m3_ipc.c | 4 drivers/soundwire/intel.c | 4 drivers/spi/spi-mxic.c | 28 - drivers/spi/spi-pl022.c | 5 drivers/spi/spi-pxa2xx-pci.c | 17 drivers/spi/spi-tegra114.c | 4 drivers/spi/spi-tegra20-slink.c | 8 drivers/spi/spi-zynqmp-gqspi.c | 5 drivers/spi/spi.c | 4 drivers/staging/iio/adc/ad7280a.c | 4 drivers/staging/media/atomisp/pci/atomisp_acc.c | 28 - drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c | 18 drivers/staging/media/atomisp/pci/hmm/hmm.c | 7 drivers/staging/media/hantro/hantro_h1_jpeg_enc.c | 2 drivers/staging/media/hantro/hantro_h1_regs.h | 2 drivers/staging/media/meson/vdec/esparser.c | 7 drivers/staging/media/meson/vdec/vdec_helpers.c | 8 drivers/staging/media/meson/vdec/vdec_helpers.h | 4 drivers/staging/media/sunxi/cedrus/cedrus_h264.c | 2 drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 2 drivers/staging/media/zoran/zoran.h | 2 drivers/staging/media/zoran/zoran_card.c | 86 ++-- drivers/staging/media/zoran/zoran_device.c | 7 drivers/staging/media/zoran/zoran_driver.c | 18 drivers/staging/mt7621-dts/gbpc1.dts | 40 - drivers/staging/mt7621-dts/gbpc2.dts | 116 +++++ drivers/staging/mt7621-dts/mt7621.dtsi | 26 - drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 7 drivers/tty/hvc/hvc_iucv.c | 4 drivers/tty/mxser.c | 15 drivers/tty/serial/8250/8250_dma.c | 11 drivers/tty/serial/8250/8250_lpss.c | 28 + drivers/tty/serial/8250/8250_mid.c | 19 drivers/tty/serial/8250/8250_port.c | 16 drivers/tty/serial/amba-pl010.c | 4 drivers/tty/serial/amba-pl011.c | 3 drivers/tty/serial/kgdboc.c | 6 drivers/tty/serial/serial_core.c | 14 drivers/usb/host/xhci-hub.c | 5 drivers/usb/host/xhci-mem.c | 2 drivers/usb/host/xhci.c | 20 drivers/usb/host/xhci.h | 14 drivers/usb/serial/Kconfig | 1 drivers/usb/serial/pl2303.c | 1 drivers/usb/serial/pl2303.h | 3 drivers/usb/serial/usb-serial-simple.c | 7 drivers/usb/storage/ene_ub6250.c | 155 +++---- drivers/usb/storage/realtek_cr.c | 2 drivers/vdpa/mlx5/net/mlx5_vnet.c | 18 drivers/vfio/platform/vfio_amba.c | 15 drivers/video/fbdev/amba-clcd.c | 4 drivers/video/fbdev/atafb.c | 12 drivers/video/fbdev/atmel_lcdfb.c | 11 drivers/video/fbdev/cirrusfb.c | 16 drivers/video/fbdev/controlfb.c | 6 drivers/video/fbdev/core/fbcvt.c | 53 +- drivers/video/fbdev/matrox/matroxfb_base.c | 2 drivers/video/fbdev/nvidia/nv_i2c.c | 2 drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c | 1 drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c | 8 drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c | 2 drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c | 4 drivers/video/fbdev/sm712fb.c | 46 -- drivers/video/fbdev/smscufx.c | 3 drivers/video/fbdev/udlfb.c | 8 drivers/video/fbdev/w100fb.c | 15 drivers/watchdog/rti_wdt.c | 1 drivers/watchdog/sp805_wdt.c | 4 fs/binfmt_elf.c | 90 ++-- fs/binfmt_elf_fdpic.c | 18 fs/btrfs/reflink.c | 7 fs/cifs/smb2ops.c | 130 +++--- fs/coredump.c | 86 +++- fs/exec.c | 26 + fs/ext2/super.c | 6 fs/ext4/inline.c | 9 fs/ext4/inode.c | 25 + fs/ext4/mballoc.c | 126 +++--- fs/ext4/namei.c | 10 fs/f2fs/checkpoint.c | 8 fs/f2fs/compress.c | 5 fs/f2fs/data.c | 9 fs/f2fs/file.c | 5 fs/f2fs/gc.c | 4 fs/f2fs/inode.c | 1 fs/f2fs/node.c | 6 fs/f2fs/segment.c | 7 fs/f2fs/super.c | 6 fs/f2fs/sysfs.c | 2 fs/file.c | 31 + fs/gfs2/rgrp.c | 3 fs/io_uring.c | 7 fs/jffs2/build.c | 4 fs/jffs2/fs.c | 2 fs/jffs2/scan.c | 6 fs/jfs/jfs_dmap.c | 7 fs/nfs/callback_proc.c | 27 - fs/nfs/callback_xdr.c | 4 fs/nfs/nfs2xdr.c | 2 fs/nfs/nfs3xdr.c | 21 - fs/nfs/nfs4proc.c | 1 fs/nfs/pnfs.c | 11 fs/nfs/pnfs.h | 2 fs/nfs/write.c | 5 fs/nfsd/filecache.c | 6 fs/nfsd/nfs4state.c | 12 fs/nfsd/nfsproc.c | 2 fs/nfsd/xdr.h | 2 fs/ntfs/inode.c | 4 fs/proc/bootconfig.c | 2 fs/pstore/platform.c | 38 - fs/ubifs/dir.c | 32 - fs/ubifs/file.c | 14 fs/ubifs/io.c | 34 + fs/ubifs/ioctl.c | 2 include/linux/amba/bus.h | 2 include/linux/binfmts.h | 3 include/linux/blk-cgroup.h | 17 include/linux/coredump.h | 5 include/linux/dma-mapping.h | 8 include/linux/mtd/rawnand.h | 2 include/linux/netdevice.h | 6 include/linux/pci.h | 1 include/linux/pstore.h | 6 include/linux/serial_core.h | 2 include/linux/soc/ti/ti_sci_protocol.h | 2 include/linux/sunrpc/xdr.h | 2 include/net/udp.h | 1 include/net/udp_tunnel.h | 3 include/sound/pcm.h | 1 include/trace/events/ext4.h | 78 ++- include/trace/events/rxrpc.h | 8 include/uapi/linux/bpf.h | 12 include/uapi/linux/rseq.h | 20 kernel/audit.h | 4 kernel/auditsc.c | 87 +++- kernel/bpf/stackmap.c | 56 +- kernel/debug/kdb/kdb_support.c | 2 kernel/dma/debug.c | 4 kernel/dma/swiotlb.c | 3 kernel/events/core.c | 3 kernel/livepatch/core.c | 4 kernel/locking/lockdep.c | 38 + kernel/locking/lockdep_internals.h | 6 kernel/locking/lockdep_proc.c | 51 ++ kernel/power/hibernate.c | 2 kernel/power/suspend_test.c | 8 kernel/printk/printk.c | 6 kernel/ptrace.c | 47 +- kernel/rseq.c | 13 kernel/sched/core.c | 1 kernel/sched/debug.c | 10 kernel/watch_queue.c | 4 lib/kunit/try-catch.c | 2 lib/raid6/test/Makefile | 4 lib/raid6/test/test.c | 1 lib/test_kmod.c | 1 lib/test_lockup.c | 11 lib/test_xarray.c | 22 + lib/xarray.c | 4 mm/kmemleak.c | 9 mm/madvise.c | 3 mm/memcontrol.c | 2 mm/memory.c | 17 mm/mempolicy.c | 8 mm/mmap.c | 2 mm/page_alloc.c | 9 mm/usercopy.c | 5 net/batman-adv/bridge_loop_avoidance.c | 6 net/batman-adv/distributed-arp-table.c | 3 net/batman-adv/gateway_client.c | 12 net/batman-adv/gateway_client.h | 16 net/batman-adv/hard-interface.h | 3 net/batman-adv/network-coding.c | 6 net/batman-adv/originator.c | 72 --- net/batman-adv/originator.h | 96 ++++ net/batman-adv/soft-interface.c | 15 net/batman-adv/soft-interface.h | 16 net/batman-adv/tp_meter.c | 3 net/batman-adv/translation-table.c | 22 - net/batman-adv/translation-table.h | 18 net/batman-adv/tvlv.c | 6 net/bluetooth/hci_conn.c | 2 net/can/isotp.c | 69 +-- net/core/skmsg.c | 17 net/ipv4/route.c | 18 net/ipv4/tcp_bpf.c | 14 net/ipv4/tcp_output.c | 5 net/ipv4/udp.c | 6 net/ipv6/udp.c | 4 net/ipv6/xfrm6_output.c | 16 net/key/af_key.c | 2 net/netfilter/nf_conntrack_proto_tcp.c | 17 net/netlink/af_netlink.c | 2 net/openvswitch/conntrack.c | 118 ++--- net/openvswitch/flow_netlink.c | 4 net/rxrpc/ar-internal.h | 15 net/rxrpc/call_event.c | 2 net/rxrpc/call_object.c | 40 + net/sunrpc/xprt.c | 7 net/tipc/socket.c | 3 net/x25/af_x25.c | 11 net/xfrm/xfrm_interface.c | 5 samples/bpf/xdpsock_user.c | 5 scripts/dtc/Makefile | 2 scripts/gcc-plugins/stackleak_plugin.c | 25 + security/integrity/evm/evm_main.c | 2 security/keys/keyctl_pkey.c | 14 security/security.c | 17 security/selinux/hooks.c | 11 security/selinux/include/policycap.h | 1 security/selinux/include/policycap_names.h | 3 security/selinux/include/security.h | 7 security/selinux/selinuxfs.c | 2 security/selinux/xfrm.c | 2 security/smack/smack_lsm.c | 2 security/tomoyo/load_policy.c | 4 sound/arm/aaci.c | 4 sound/core/pcm.c | 1 sound/core/pcm_lib.c | 9 sound/core/pcm_native.c | 39 + sound/firewire/fcp.c | 4 sound/isa/cs423x/cs4236.c | 8 sound/pci/hda/patch_hdmi.c | 8 sound/pci/hda/patch_realtek.c | 15 sound/soc/atmel/atmel_ssc_dai.c | 5 sound/soc/atmel/sam9g20_wm8731.c | 1 sound/soc/atmel/sam9x5_wm8731.c | 16 sound/soc/codecs/Kconfig | 5 sound/soc/codecs/msm8916-wcd-analog.c | 22 - sound/soc/codecs/msm8916-wcd-digital.c | 5 sound/soc/codecs/mt6358.c | 4 sound/soc/codecs/rt5663.c | 2 sound/soc/codecs/wcd934x.c | 6 sound/soc/codecs/wm8350.c | 28 + sound/soc/dwc/dwc-i2s.c | 17 sound/soc/fsl/fsl_spdif.c | 2 sound/soc/fsl/imx-es8328.c | 1 sound/soc/generic/simple-card-utils.c | 2 sound/soc/mxs/mxs-saif.c | 5 sound/soc/mxs/mxs-sgtl5000.c | 3 sound/soc/rockchip/rockchip_i2s.c | 18 sound/soc/sh/fsi.c | 19 sound/soc/soc-compress.c | 5 sound/soc/soc-core.c | 2 sound/soc/soc-generic-dmaengine-pcm.c | 6 sound/soc/soc-topology.c | 3 sound/soc/sof/imx/imx8m.c | 1 sound/soc/sof/intel/hda-loader.c | 11 sound/soc/ti/davinci-i2s.c | 5 sound/soc/xilinx/xlnx_formatter_pcm.c | 25 + sound/spi/at73c213.c | 27 + tools/include/uapi/linux/bpf.h | 4 tools/lib/bpf/btf_dump.c | 5 tools/lib/bpf/libbpf.c | 3 tools/lib/bpf/xsk.c | 11 tools/testing/selftests/bpf/progs/test_sock_fields.c | 2 tools/testing/selftests/bpf/test_lirc_mode2.sh | 5 tools/testing/selftests/bpf/test_lwt_ip_encap.sh | 10 tools/testing/selftests/net/test_vxlan_under_vrf.sh | 8 tools/testing/selftests/vm/Makefile | 6 tools/testing/selftests/x86/Makefile | 6 tools/testing/selftests/x86/check_cc.sh | 2 tools/virtio/virtio_test.c | 1 virt/kvm/kvm_main.c | 13 652 files changed, 5406 insertions(+), 2754 deletions(-)
Aaron Conole (1):
openvswitch: always update flow key after nat
Aashish Sharma (1):
dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
Abel Vesa (2):
clk: imx7d: Remove audio_mclk_root_clk
ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk
Adrian Hunter (2):
perf/core: Fix address filter parser for multiple filters perf/x86/intel/pt: Fix address filter config for 32-bit kernel
Aharon Landau (1):
RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR
Akira Kawata (1):
fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
Alan Stern (1):
USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
Alexander Lobakin (2):
i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
i40e: respect metadata on XSK Rx to skb
Alexander Usyskin (2):
mei: me: add Alder Lake N device id.
mei: avoid iterator usage outside of list_for_each_entry
Alexey Khoroshilov (1):
NFS: remove unneeded check in decode_devicenotify_args()
Alistair Delva (1):
remoteproc: Fix count check in rproc_coredump_write()
Alistair Popple (1):
mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
Amadeusz Sławiński (1):
ASoC: topology: Allow TLV control to be either read or write
Amir Goldstein (1):
nfsd: more robust allocation failure handling in nfsd_file_cache_init
Ammar Faizi (1):
ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM
Anders Roxell (3):
powerpc/lib/sstep: Fix 'sthcx' instruction powerpc/lib/sstep: Fix build errors with newer binutils
powerpc: Fix build errors with newer binutils
Andre Przywara (1):
ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS
Andreas Gruenbacher (1):
powerpc/kvm: Fix kvm_use_magic_page
Andrew Price (1):
gfs2: Make sure FITRIM minlen is rounded up to fs block size
Andy Shevchenko (3):
spi: pxa2xx-pci: Balance reference count for PCI DMA device
serial: 8250_mid: Balance reference count for PCI DMA device
serial: 8250_lpss: Balance reference count for PCI DMA device
Ang Tien Sung (1):
firmware: stratix10-svc: add missing callback parameter on RSU
Anssi Hannula (3):
xhci: fix garbage USBSTS being logged in some cases
xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()
hv_balloon: rate-limit "Unhandled message" warning
Anton Ivanov (1):
um: Fix uml_mconsole stop/go
Ard Biesheuvel (1):
ARM: ftrace: avoid redundant loads or clobbering IP
Armin Wolf (1):
hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
Arnd Bergmann (4):
uaccess: fix nios2 and microblaze get_user_8()
uaccess: fix type mismatch warnings from access_ok() lib/test_lockup: fix kernel pointer check for separate address spaces
ARM: iop32x: offset IRQ numbers by 1
Arun Easi (2):
scsi: qla2xxx: Fix device reconnect in loop topology
scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests
Arınç ÜNAL (5):
staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree
staging: mt7621-dts: fix formatting
staging: mt7621-dts: fix pinctrl properties for ethernet
staging: mt7621-dts: fix GB-PC2 devicetree
staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet
Athira Rajeev (1):
powerpc/perf: Don't use perf_hw_context for trace IMC PMU
Bagas Sanjaya (2):
Documentation: add link to stable release candidate tree
Documentation: update stable tree link
Baokun Li (5):
jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
jffs2: fix memory leak in jffs2_do_mount_fs
jffs2: fix memory leak in jffs2_scan_medium
ubifs: rename_whiteout: correct old_dir size computing
ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
Bartosz Golaszewski (1):
Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
Bharata B Rao (1):
sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
Biju Das (2):
spi: Fix invalid sgs value
spi: Fix erroneous sgs value with min_t()
Bikash Hazarika (1):
scsi: qla2xxx: Fix wrong FDMI data for 64G adapter
Bjorn Helgaas (1):
PCI: Avoid broken MSI on SB600 USB devices
Brandon Wyman (1):
hwmon: (pmbus) Add Vin unit off handling
Casey Schaufler (2):
LSM: general protection fault in legacy_parse_param Fix incorrect type in assignment of ipv6 port for audit
Chaitanya Kulkarni (1):
loop: use sysfs_emit() in the sysfs xxx show()
Chao Yu (6):
f2fs: fix to unlock page correctly in error path of is_alive()
f2fs: fix to do sanity check on .cp_pack_total_block_count
f2fs: fix to enable ATGC correctly via gc_idle sysfs interface
f2fs: fix to avoid potential deadlock
f2fs: fix to do sanity check on curseg->alloc_type
f2fs: compress: fix to print raw data size in error path of lz4 decompression
Charan Teja Kalla (3):
mm: madvise: skip unmapped vma holes passed to process_madvise
mm: madvise: return correct bytes advised with process_madvise Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
Charles Keepax (1):
ASoC: madera: Add dependencies on MFD
Chen Jingwen (1):
powerpc/kasan: Fix early region not updated correctly
Chen-Yu Tsai (7):
media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
media: hantro: Fix overfill bottom register field name
pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback
pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()
pinctrl: mediatek: paris: Fix pingroup pin config state readback
pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs
pinctrl: pinconf-generic: Print arguments for bias-pull-*
Chris Leech (1):
nvme-tcp: lockdep: annotate in-kernel sockets
Christian Göttsche (2):
selinux: check return value of sel_make_avc_files
selinux: use correct type for context length
Christoph Hellwig (1):
nvme: cleanup __nvme_check_ids
Christophe JAILLET (4):
firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
gpu: host1x: Fix a memory leak in 'host1x_remove()'
fsi: Aspeed: Fix a potential double free
misc: alcor_pci: Fix an error handling path
Christophe Leroy (1):
livepatch: Fix build failure on 32 bits processors
Chuck Lever (1):
NFSD: Fix nfsd_breaker_owns_lease() return values
Claudiu Beznea (3):
net: dsa: microchip: add spi_device_id tables
hwrng: atmel - disable trng on failure path clocksource/drivers/timer-microchip-pit64b: Use notrace
Codrin Ciubotariu (2):
ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
clk: at91: sama7g5: fix parents of PDMCs' GCLK
Colin Ian King (2):
carl9170: fix missing bit-wise or operator for tx_params
iwlwifi: Fix -EIO error code that is never returned
Cooper Chiou (1):
drm/edid: check basic audio support on CEA extension block
Corentin Labbe (8):
crypto: sun8i-ss - really disable hash on A80
crypto: rockchip - ECB does not need IV
crypto: sun8i-ss - call finalize with bh disabled
crypto: sun8i-ce - call finalize with bh disabled
crypto: amlogic - call finalize with bh disabled
media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size
media: staging: media: zoran: move videodev alloc
media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com
Dafna Hirschfeld (1):
media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
Damien Le Moal (11):
scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()
scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()
scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()
scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()
scsi: pm8001: Fix NCQ NON DATA command task initialization
scsi: pm8001: Fix NCQ NON DATA command completion handling
scsi: pm8001: Fix abort all task initialization
Dan Carpenter (9):
greybus: svc: fix an error handling bug in gb_svc_hello()
NFSD: prevent underflow in nfssvc_decode_writeargs()
NFSD: prevent integer overflow on 32 bit systems
video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()
video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
media: usb: go7007: s2250-board: fix leak in probe()
iwlwifi: mvm: Fix an error code in iwl_mvm_up()
USB: storage: ums-realtek: fix error code in rts51x_read_mem() lib/test: use after free in register_test_dev_kmod()
Dan Williams (1):
nvdimm/region: Fix default alignment for small regions
Daniel González Cabanelas (1):
media: cx88-mpeg: clear interrupt status register before streaming video
Daniel Henrique Barboza (1):
powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()
Daniel Palmer (1):
ARM: mstar: Select HAVE_ARM_ARCH_TIMER
Daniel Thompson (2):
soc: qcom: aoss: remove spurious IRQF_ONESHOT flags
kdb: Fix the putarea helper function
Dario Binacchi (1):
mtd: rawnand: gpmi: fix controller timings setting
Darren Hart (1):
ACPI/APEI: Limit printable size of BERT table data
Dave Stevenson (1):
regulator: rpi-panel: Handle I2C errors/timing to the Atmel
David Engraf (1):
arm64: signal: nofpsimd: Do not allocate fp/simd context when not available
David Gow (1):
firmware: google: Properly state IOMEM dependency
David Heidelberg (2):
arm64: dts: qcom: sdm845: fix microphone bias properties and values
ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
David Howells (3):
watch_queue: Fix NULL dereference in error cleanup
watch_queue: Actually free the watch
rxrpc: Fix call timer start racing with call destruction
David Matlack (1):
KVM: Prevent module exit until all VMs are freed
Dirk Buchwalder (1):
clk: qcom: ipq8074: Use floor ops for SDCC1 clock
Dirk Müller (1):
lib/raid6/test: fix multiple definition linking error
Dmitry Baryshkov (3):
drm/msm/dpu: add DSPP blocks teardown drm/msm/dpu: fix dp audio condition
PM: core: keep irq flags in device_pm_check_callbacks()
Dmitry Torokhov (1):
HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
Dmitry Vyukov (1):
riscv: Increase stack size under KASAN
Dongliang Mu (3):
media: em28xx: initialize refcount before kref_get
ntfs: add sanity check on allocation size
media: hdpvr: initialize dev->worker at hdpvr_register_videodev
Drew Fustini (1):
clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix
Duoming Zhou (2):
drivers: hamradio: 6pack: fix UAF bug caused by mod_timer() net/x25: Fix null-ptr-deref caused by x25_disconnect
Dāvis Mosāns (1):
crypto: ccp - ccp_dmaengine_unregister release dma channels
Eddie James (1):
USB: serial: pl2303: add IBM device IDs
Eric Biggers (6):
KEYS: fix length validation in keyctl_pkey_params_get_2()
crypto: rsa-pkcs1pad - only allow with rsa
crypto: rsa-pkcs1pad - correctly get hash from source scatterlist
crypto: rsa-pkcs1pad - restore signature length check
crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()
block: don't delete queue kobject before its children
Eric Dumazet (2):
rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()
watch_queue: Free the page array when watch_queue is dismantled
Eric W. Biederman (4):
coredump: Snapshot the vmas in do_coredump
coredump: Remove the WARN_ON in dump_vma_snapshot coredump/elf: Pass coredump_params into fill_note_info
coredump: Use the vma snapshot in fill_files_note
Evgeny Novikov (1):
video: fbdev: w100fb: Reset global state
Fabiano Rosas (2):
KVM: PPC: Fix vmx/vsx mixup in mmio emulation
KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init
Fangrui Song (1):
riscv module: remove (NOLOAD)
Felix Maurer (1):
selftests/bpf: Make test_lwt_ip_encap more stable and faster
Fengnan Chang (2):
f2fs: compress: remove unneeded read when rewrite whole cluster
f2fs: fix compressed file start atomic write may cause data corruption
Filipe Manana (1):
btrfs: fix unexpected error path when reflinking an inline extent
Florian Fainelli (1):
net: phy: broadcom: Fix brcm_fet_config_init()
Frank Wunderlich (1):
arm64: dts: broadcom: Fix sata nodename
Geert Uytterhoeven (3):
hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER
pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
pinctrl: renesas: checker: Fix miscalculation of number of states
George Kennedy (1):
video: fbdev: cirrusfb: check pixclock to avoid divide by zero
Gilad Ben-Yossef (1):
crypto: ccree - don't attempt 0 len DMA mappings
Greg Kroah-Hartman (1):
Linux 5.10.110
Guangbin Huang (1):
net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
Guilherme G. Piccoli (1):
docs: sysctl/kernel: add missing bit to panic_print
Guillaume Nault (1):
ipv4: Fix route lookups when handling ICMP redirects and PMTU updates
Guillaume Ranquet (1):
clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
Guillaume Tucker (1):
selftests, x86: fix how check_cc.sh is being invoked
Gwendal Grignou (2):
HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
platform: chrome: Split trace include file
Haimin Zhang (1):
af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
Halil Pasic (1):
swiotlb: fix info leak with DMA_FROM_DEVICE
Hangbin Liu (2):
bareudp: use ipv6_mod_enabled to check if IPv6 enabled selftests/bpf/test_lirc_mode2.sh: Exit with proper code
Hangyu Hua (4):
can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
powerpc: 8xx: fix a return value error in mpc8xx_pic_init
can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
Hans Verkuil (2):
ivtv: fix incorrect device_caps for ivtvfb
media: staging: media: zoran: fix various V4L2 compliance errors
Hans de Goede (3):
power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
iio: mma8452: Fix probe failing when an i2c_device_id is used
media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards
Hector Martin (4):
brcmfmac: firmware: Allocate space for default boardrev in nvram
brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path
brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
brcmfmac: pcie: Fix crashes due to early IRQs
Helge Deller (1):
video: fbdev: sm712fb: Fix crash in smtcfb_read()
Hengqi Chen (1):
bpf: Fix comment for helper bpf_current_task_under_cgroup()
Henry Lin (1):
xhci: fix runtime PM imbalance in USB2 resume
Herbert Xu (2):
crypto: authenc - Fix sleep in atomic context in decrypt_tail
crypto: arm/aes-neonbs-cbc - Select generic cbc and aes
Hoang Le (1):
tipc: fix the timer expires after interval 100ms
Hou Tao (2):
bpf, arm64: Call build_prologue() first in first JIT pass bpf, arm64: Feed byte-offset into bpf line info
Hou Wenlong (1):
KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
Hugh Dickins (1):
mempolicy: mbind_range() set_policy() after vma_merge()
Håkon Bugge (1):
IB/cma: Allow XRC INI QPs to set their local ACK timeout
Ido Schimmel (1):
selftests: test_vxlan_under_vrf: Fix broken test case
Ilpo Järvinen (1):
serial: 8250: fix XOFF/XON sending when DMA is used
Jaegeuk Kim (1):
f2fs: fix missing free nid in f2fs_handle_failed_inode
Jagan Teki (1):
drm: bridge: adv7511: Fix ADV7535 HPD enablement
Jakob Koschel (2):
media: saa7134: fix incorrect use to determine if list is empty powerpc/sysdev: fix incorrect use to determine if list is empty
Jakub Kicinski (1):
tcp: ensure PMTU updates are processed during fastopen
Jakub Sitnicki (1):
selftests/bpf: Fix error reporting from sock_fields programs
James Clark (1):
coresight: Fix TRCCONFIGR.QE sysfs interface
Jammy Huang (1):
media: aspeed: Correct value for h-total-pixels
Jani Nikula (1):
drm/i915/opregion: check port number bounds for SWSCI display power state
Jann Horn (3):
ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
coredump: Also dump first pages of non-executable ELF libraries
pstore: Don't use semaphores in always-atomic-context code
Jason A. Donenfeld (2):
wireguard: queueing: use CFI-safe ptr_ring cleanup function
wireguard: socket: ignore v6 endpoints when ipv6 is disabled
Jens Axboe (1):
io_uring: terminate manual loop iterator loop correctly for non-vecs
Jeremy Linton (1):
net: bcmgenet: Use stronger register read/writes to assure ordering
Jernej Skrabec (2):
media: cedrus: H265: Fix neighbour info buffer size
media: cedrus: h264: Fix neighbour info buffer size
Jia-Ju Bai (3):
ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
memory: emif: check the pointer temp in get_device_details() platform/x86: huawei-wmi: check the return value of device_create_file()
Jian Shen (1):
net: hns3: fix bug when PF set the duplicate MAC address for VFs
Jianglei Nie (1):
crypto: ccree - Fix use after free in cc_cipher_exit()
Jianyong Wu (1):
arm64/mm: avoid fixmap race condition when create pud mapping
Jiasheng Jiang (26):
thermal: int340x: Check for NULL after calling kmemdup()
spi: spi-zynqmp-gqspi: Handle error for dma_set_mask
media: mtk-vcodec: potential dereference of null pointer
media: meson: vdec: potential dereference of null pointer
soc: qcom: rpmpd: Check for null return of devm_kcalloc
ASoC: ti: davinci-i2s: Add check for clk_enable()
ALSA: spi: Add check for clk_enable()
ASoC: mxs-saif: Handle errors for clk_enable
ASoC: atmel_ssc_dai: Handle errors for clk_enable
ASoC: dwc-i2s: Handle errors for clk_enable
ASoC: soc-compress: prevent the potentially use of null pointer
memory: emif: Add check for setup_interrupts
media: vidtv: Check for null return of vzalloc
ASoC: wm8350: Handle error for wm8350_register_irq
ASoC: fsi: Add check for clk_enable
mmc: davinci_mmc: Handle error for clk_enable drm/panfrost: Check for error num after setting mask
mtd: onenand: Check for error irq
ray_cs: Check ioremap return value
iommu/ipmmu-vmsa: Check for error num after setting mask
power: supply: wm8350-power: Handle error for wm8350_register_irq
power: supply: wm8350-power: Add missing free in free_charger_irq
mfd: mc13xxx: Add check for mc13xxx_irq_request
iio: adc: Add check for devm_request_threaded_irq
habanalabs: Add check for pci_enable_device
ASoC: soc-compress: Change the check for codec_dai
Jiaxin Yu (1):
ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs
Jie Hai (1):
dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma
Jing Yao (3):
video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
Jiri Slaby (1):
mxser: fix xmit_buf leak in activate when LSR == 0xff
Jocelyn Falempe (1):
mgag200 fix memmapsl configuration in GCTL6 register
Joe Carnuccio (2):
scsi: qla2xxx: Add devids and conditionals for 28xx
scsi: qla2xxx: Check for firmware dump already collected
Johan Hovold (3):
USB: serial: simple: add Nokia phone driver
media: davinci: vpif: fix unbalanced runtime PM get
media: davinci: vpif: fix unbalanced runtime PM enable
John David Anglin (1):
parisc: Fix handling off probe non-access faults
Jonathan Cameron (1):
staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
Jonathan Neuschäfer (5):
clk: actions: Terminate clk_div_table with sentinel element
clk: loongson1: Terminate clk_div_table with sentinel element
clk: clps711x: Terminate clk_div_table with sentinel element
pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()
pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()
José Expósito (1):
Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
Juergen Gross (1):
xen: fix is_xen_pmu()
Juhyung Park (1):
f2fs: quota: fix loop condition at f2fs_quota_sync()
Kai-Heng Feng (1):
ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
Kees Cook (2):
exec: Force single empty string when argv is empty gcc-plugins/stackleak: Exactly match strings instead of prefixes
Konrad Dybcio (1):
clk: qcom: gcc-msm8994: Fix gpll4 width
Krzysztof Kozlowski (5):
pinctrl: samsung: drop pin banks references on error paths
ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
ARM: dts: exynos: add missing HDMI supplies on SMDK5250
ARM: dts: exynos: add missing HDMI supplies on SMDK5420 clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts
Kuan-Ying Lee (1):
mm/kmemleak: reset tag when compare object pointer
Kuldeep Singh (3):
arm64: dts: ns2: Fix spi-cpol and spi-cpha property
ARM: dts: spear1340: Update serial node properties
ARM: dts: spear13xx: Update SPI dma properties
Kunihiko Hayashi (1):
clk: uniphier: Fix fixed-rate initialization
Kuogee Hsieh (1):
drm/msm/dp: populate connector of struct dp_panel
Lars Ellenberg (1):
drbd: fix potential silent data corruption
Li RongQing (1):
KVM: x86: fix sending PV IPI
Liam Beguin (4):
iio: afe: rescale: use s64 for temporary scale calculations
iio: inkern: apply consumer scale on IIO_VAL_INT cases
iio: inkern: apply consumer scale when no channel scale is available
iio: inkern: make a best effort on offset calculation
Libin Yang (1):
soundwire: intel: fix wrong register name in intel_shim_wake
Liguang Zhang (1):
PCI: pciehp: Clear cmd_busy bit in polling mode
Lina Wang (1):
xfrm: fix tunnel model fragmentation behavior
Lino Sanfilippo (1):
tpm: fix reference counting for struct tpm_chip
Linus Torvalds (2):
fs: fd tables have to be multiples of BITS_PER_LONG
fs: fix fd table size alignment properly
Linus Walleij (1):
Input: zinitix - do not report shadow fingers
Liu Ying (1):
phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
Lorenzo Bianconi (4):
mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode
mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv
mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update
mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_updateLuca Weiss (1):
cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse
Lucas Tanure (1):
i2c: meson: Fix wrong speed use from probe
Lucas Zampieri (1):
HID: logitech-dj: add new lightspeed receiver id
Lv Ruyi (1):
proc: bootconfig: Add null pointer check
Maciej W. Rozycki (1):
DEC: Limit PMAX memory probing to R3k systems
Manish Chopra (2):
qed: display VF trust config
qed: validate and restrict untrusted VFs vlan promisc mode
Manish Rangankar (1):
scsi: qla2xxx: Use correct feature type field during RFF_ID processing
Maor Gottlieb (1):
RDMA/core: Set MR type in ib_reg_user_mr
Marc Kleine-Budde (1):
can: m_can: m_can_tx_handler(): fix use after free of skb
Marc Zyngier (4):
PCI: xgene: Revert "PCI: xgene: Fix IB window setup"
pinctrl: npcm: Fix broken references to chip->parent_device irqchip/qcom-pdc: Fix broken locking
PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"
Marcel Ziswiler (1):
arm64: defconfig: build imx-sdma as a module
Marcelo Roberto Jimenez (1):
gpio: Revert regression in sysfs-gpio (gpiolib.c)
Marek Szyprowski (1):
clocksource/drivers/exynos_mct: Refactor resources allocation
Marek Vasut (1):
ARM: dts: imx: Add missing LVDS decoder on M53Menlo
Marijn Suijten (1):
firmware: qcom: scm: Remove reassignment to desc following initializer
Mark Tomlinson (1):
PCI: Reduce warnings on possible RW1C corruption
Martin Blumenstingl (1):
drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops
Martin Varghese (1):
openvswitch: Fixed nd target mask field in the flow dump.
Mastan Katragadda (1):
drm/i915/gem: add missing boundary check in vm_access
Mathias Nyman (1):
xhci: make xhci_handshake timeout for xhci_reset() adjustable
Mathieu Desnoyers (1):
rseq: Remove broken uapi field layout on 32-bit little endian
Matt Kramer (1):
ALSA: hda/realtek: Add alc256-samsung-headphone fixup
Matthew Wilcox (Oracle) (2):
XArray: Fix xas_create_range() when multi-order entry present
XArray: Update the LRU list in xas_split()
Maulik Shah (1):
arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc
Mauro Carvalho Chehab (1):
media: atomisp: fix bad usage at error handling logic
Max Filippov (2):
xtensa: fix stop_machine_cpuslocked call in patch_text
xtensa: fix xtensa_wsr always writing 0
Maxim Kiselev (1):
powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch
Maxime Ripard (2):
drm/edid: Don't clear formats if using deep color
clk: Initialize orphan req_rate
Maíra Canal (1):
drm/amd/display: Remove vupdate_int_entry definition
Miaoqian Lin (31):
spi: tegra114: Add missing IRQ check in tegra_spi_probe
hwrng: nomadik - Change clk_disable to clk_disable_unprepare
media: coda: Fix missing put_device() call in coda_get_vdoa_data
soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem
soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe
ASoC: SOF: Add missing of_node_put() in imx8m_probe
ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe
ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe
ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe
power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
ath10k: Fix error handling in ath10k_setup_msa_resources
mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region
remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region
clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
Michael Ellerman (1):
powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
Michael S. Tsirkin (1):
virtio_console: break out of buf poll on remove
Michael Schmitz (1):
video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
Mike Marciniszyn (1):
IB/hfi1: Allow larger MTU without AIP
Mikulas Patocka (1):
dm integrity: set journal entry unused when shrinking device
Minghao Chi (1):
spi: tegra20: Use of_device_get_match_data()
Minghao Chi (CGEL ZTE) (1):
net:mcf8390: Use platform_get_irq() to get the interrupt
Mingzhe Zou (1):
bcache: fixup multiple threads crash
Miquel Raynal (4):
spi: mxic: Fix the transmit path
dt-bindings: mtd: nand-controller: Fix the reg property description
dt-bindings: mtd: nand-controller: Fix a comment in the examples
dt-bindings: spi: mxic: The interrupt property is not mandatory
Mohan Kumar (1):
ALSA: hda: Avoid unsol event during RPM suspending
Muhammad Usama Anjum (1):
selftests/x86: Add validity check and allow field splitting
Namhyung Kim (1):
bpf: Adjust BPF stack helper functions to accommodate skip > 0
Neil Armstrong (1):
drm/bridge: dw-hdmi: use safe format when first in bridge chain
NeilBrown (1):
SUNRPC: avoid race between mod_timer() and del_timer_sync()
Niels Dossche (1):
Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed
Nikita Shubin (1):
riscv: Fix fill_callchain return value
Niklas Söderlund (1):
samples/bpf, xdpsock: Fix race when running for fix duration of time
Nilesh Javali (1):
scsi: qla2xxx: Fix warning for missing error code
Nishanth Menon (4):
arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
Olga Kornievskaia (1):
NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error
Oliver Hartkopp (5):
can: isotp: sanitize CAN ID checks in isotp_bind()
vxcan: enable local echo for sent CAN frames
can: isotp: return -EADDRNOTAVAIL when reading from unbound socket
can: isotp: support MSG_TRUNC flag when reading from socket
can: isotp: restore accidentally removed MSG_PEEK feature
Ondrej Zary (1):
media: bttv: fix WARNING regression on tunerless devices
Pablo Neira Ayuso (1):
netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
Pali Rohár (1):
PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
Paolo Bonzini (1):
KVM: x86/mmu: do compare-and-exchange of gPTE via the user address
Paolo Valente (1):
Revert "Revert "block, bfq: honor already-setup queue merges""
Patrick Rudolph (1):
hwmon: (pmbus) Add mutex to regulator ops
Paul Kocialkowski (1):
ARM: dts: sun8i: v3s: Move the csi1 block to follow address order
Paul Menzel (1):
lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
Paulo Alcantara (2):
cifs: prevent bad output lengths in smb2_ioctl_query_info()
cifs: fix NULL ptr dereference in smb2_ioctl_query_info()
Pavel Begunkov (1):
io_uring: fix memory leak of uid in files registration
Pavel Kubelun (1):
ARM: dts: qcom: ipq4019: fix sleep clock
Pavel Skripkin (6):
udmabuf: validate ubuf->pagecount
Bluetooth: hci_serdev: call init_rwsem() before p->open()
ath9k_htc: fix uninit value bugs
jfs: fix divide error in dbNextAG
media: Revert "media: em28xx: add missing em28xx_close_extension"
can: mcba_usb: properly check endpoint type
Peiwei Hu (1):
media: ir_toy: free before error exiting
Pekka Pessi (1):
mailbox: tegra-hsp: Flush whole channel
Peng Liu (1):
kunit: make kunit_test_timeout compatible with comment
Peter Rosin (1):
i2c: mux: demux-pinctrl: do not deactivate a master that is not active
Petr Machata (1):
af_netlink: Fix shift out of bounds in group mask calculation
Petr Vorel (1):
crypto: vmx - add missing dependencies
Pierre-Louis Bossart (1):
ASoC: generic: simple-card-utils: remove useless assignment
Prashant Malani (1):
platform/chrome: cros_ec_typec: Check for EC device
Qais Yousef (1):
sched/core: Export pelt_thermal_tp
Quinn Tran (7):
scsi: qla2xxx: Fix stuck session in gpdb
scsi: qla2xxx: Fix scheduling while atomic
scsi: qla2xxx: Fix disk failure to rediscover
scsi: qla2xxx: Fix incorrect reporting of task management failure
scsi: qla2xxx: Fix hang due to session stuck
scsi: qla2xxx: Fix N2N inconsistent PLOGI
scsi: qla2xxx: Reduce false trigger to login
Rafael J. Wysocki (2):
ACPICA: Avoid walking the ACPI Namespace if it is not there
ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
Randy Dunlap (20):
hv: utils: add PTP_1588_CLOCK to Kconfig to fix build
EVM: fix the evm= __setup handler return value
PM: hibernate: fix __setup handler error handling
PM: suspend: fix return value of __setup handler
ACPI: APEI: fix return value of __setup handlers
clocksource: acpi_pm: fix return value of __setup handler
printk: fix return value of printk.devkmsg __setup handler
m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined
TOMOYO: fix __setup handlers return values
mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
MIPS: RB532: fix return value of __setup handler
dma-debug: fix return value of __setup handlers
tty: hvc: fix return value of __setup handler
kgdboc: fix return value of __setup handler
kgdbts: fix return value of __setup handler
driver core: dd: fix return value of __setup handler
mm/mmap: return 1 from stack_guard_gap __setup() handler
ARM: 9187/1: JIVE: fix return value of __setup handler mm/memcontrol: return 1 from cgroup.memory __setup() handler mm/usercopy: return 1 from hardened_usercopy __setup() handler
Richard Guy Briggs (1):
audit: log AUDIT_TIME_* records only from rules
Richard Haines (1):
selinux: allow FIOCLEX and FIONCLEX with policy capability
Richard Leitner (1):
ARM: tegra: tamonten: Fix I2C3 pad setting
Richard Schleich (2):
ARM: dts: bcm2837: Add the missing L1/L2 cache information
ARM: dts: bcm2711: Add the missing L1/L2 cache information
Rik van Riel (2):
mm: invalidate hwpoison page cache page in fault path mm,hwpoison: unmap poisoned page before invalidation
Ritesh Harjani (3):
ext4: fix ext4_fc_stats trace point
ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb
ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit
Rob Herring (1):
arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
Robert Hancock (3):
ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting
i2c: xiic: Make bus names unique
net: axienet: fix RX ring refill allocation failure handling
Robert Marko (1):
clk: qcom: ipq8074: fix PCI-E clock oops
Robin Gong (1):
mailbox: imx: fix wakeup failure from freeze mode
Robin Murphy (1):
iommu/iova: Improve 32-bit free space estimate
Roman Li (1):
drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug
Sakari Ailus (1):
ACPI: properties: Consistently return -ENOENT if there are no more references
Sam Ravnborg (1):
video: fbdev: controlfb: Fix set but not used warnings
Saurav Kashyap (1):
scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
Sean Christopherson (1):
KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
Sean Nyekjaer (1):
mtd: rawnand: protect access to rawnand devices while in suspend
Sean Young (1):
media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC
Shannon Nelson (1):
ionic: fix type complaint in ionic_dev_cmd_clean()
Shengjiu Wang (2):
ASoC: fsl_spdif: Disable TX clock when stop
ASoC: soc-core: skip zero num_dai component in searching dai name
Shin'ichiro Kawasaki (1):
block: limit request dispatch loop duration
Si-Wei Liu (1):
vdpa/mlx5: should verify CTRL_VQ feature exists for MQ
Souptick Joarder (HPE) (1):
irqchip/nvic: Release nvic_base upon failure
Srinivas Kandagatla (1):
ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put
Srinivas Pandruvada (1):
thermal: int340x: Increase bitmap size
Stefano Garzarella (1):
tools/virtio: fix virtio_test execution
Sunil Goutham (1):
hwrng: cavium - Check health status while reading random data
Sven Eckelmann (1):
batman-adv: Check ptr for NULL before reducing its refcnt
Takashi Iwai (1):
ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock
Takashi Sakamoto (1):
ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
Taniya Das (2):
clk: qcom: clk-rcg2: Update logic to calculate D value for RCG
clk: qcom: clk-rcg2: Update the frac table for pixel clock
Tejun Heo (1):
block: don't merge across cgroup boundaries if blkcg is enabled
Theodore Ts'o (1):
ext4: don't BUG if someone dirty pages without asking ext4 first
Thomas Bracht Laumann Jespersen (1):
scripts/dtc: Call pkg-config POSIXly correct
Tim Gardner (1):
video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
Tobias Waldekranz (1):
net: dsa: mv88e6xxx: Enable port policy support on 6097
Tom Rix (5):
media: video/hdmi: handle short reads of hdmi info frame. drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function
qlcnic: dcb: default to returning -EOPNOTSUPP
can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value
rtc: check if __rtc_read_time was successful
Tomas Paukrt (1):
crypto: mxs-dcp - Fix scatterlist processing
Tong Zhang (1):
dax: make sure inodes are flushed before destroy cache
Trond Myklebust (3):
NFS: Use of mapping_set_error() results in spurious errors
NFS: Return valid errors from nfs2/3_decode_dirent() NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
Tsuchiya Yuto (1):
media: atomisp: fix dummy_ptr check to avoid duplicate active_bo
Tudor Ambarus (1):
ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
Ulf Hansson (1):
mmc: host: Return an error when ->enable_sdio_irq() ops is missing
Uwe Kleine-König (5):
vfio: platform: simplify device removal
amba: Make the remove callback return void
pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
serial: 8250: Fix race condition in RTS-after-send handling
ARM: mmp: Fix failure to remove sram device
Vijay Balakrishna (1):
arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones
Vitaly Kuznetsov (1):
KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
Vladimir Oltean (1):
net: enetc: report software timestamping via SO_TIMESTAMPING
Waiman Long (2):
locking/lockdep: Avoid potential access of invalid memory in lock_class locking/lockdep: Iterate lock_classes directly when reading lockdep files
Wang Hai (2):
video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
wireguard: socket: free skb in send6 when ipv6 is disabled
Wang Wensheng (1):
ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
Wang Yufen (3):
bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full bpf, sockmap: Fix more uncharged while msg has more_data bpf, sockmap: Fix double uncharge the mem of sk_msg
Wen Gong (1):
ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
Xiang Chen (1):
scsi: hisi_sas: Change permission of parameter prot_mask
Xiaomeng Tong (2):
ALSA: cs4236: fix an incorrect NULL check on list iterator
net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
Xie Yongji (1):
virtio-blk: Use blk_validate_block_size() to validate block size
Xin Long (1):
udp: call udp_encap_enable for v6 sockets when enabling encap
Xin Xiong (1):
mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
Xu Kuohai (1):
libbpf: Skip forward declaration when counting duplicated type names
Yafang Shao (1):
libbpf: Fix possible NULL pointer dereference when destroying skeleton
Yajun Deng (1):
netdevice: add the case if dev is NULL
Yake Yang (1):
Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
Yaliang Wang (1):
MIPS: pgalloc: fix memory leak caused by pgd_free()
Yang Guang (1):
video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
Yang Yingliang (3):
media: saa7134: convert list_for_each to entry variant
ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource()
ASoC: atmel: sam9x5_wm8731: use devm_snd_soc_register_card()
Yangtao Li (1):
fsi: aspeed: convert to devm_platform_ioremap_resource
Ye Bin (1):
ext4: fix fs corruption when tring to remove a non-empty directory with IO error
Yi Wang (1):
KVM: SVM: fix panic on out-of-bounds guest IRQ
Yiqing Yao (1):
drm/amd/pm: enable pm sysfs write for one VF mode
Yongzhi Liu (1):
RDMA/mlx5: Fix memory leak in error flow for subscribe event routine
Yu Kuai (1):
block, bfq: don't move oom_bfqq
YueHaibing (1):
video: fbdev: controlfb: Fix COMPILE_TEST build
Z. Liu (1):
video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen
Zhang Wensheng (1):
bfq: fix use-after-free in bfq_dispatch_request
Zhang Yi (1):
ext2: correct max file size computing
Zhenzhong Duan (1):
KVM: x86: Fix emulation in writing cr8
Zheyu Ma (2):
ethernet: sun: Free the coherent when failing in probing
video: fbdev: sm712fb: Fix crash in smtcfb_write()
Zhihao Cheng (7):
ubifs: rename_whiteout: Fix double free for whiteout_ui->data
ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
ubifs: Fix to add refcount once page is set private
ubi: fastmap: Return error code if memory allocation fails in add_aeb()
Zhou Qingyang (2):
drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl() drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
kernel test robot (1):
regulator: qcom_smd: fix for_each_child.cocci warnings
lic121 (1):
libbpf: Unmap rings when umem deleted
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/sysctl/kernel.rst +1 -0
@@ -787,6 +787,7 @@ bit 1 print system memory info bit 2 print timer info bit 3 print locks info if ``CONFIG_LOCKDEP`` is on bit 4 print ftrace buffer +bit 5 print all printk messages in buffer ===== ============================================ So for example to print tasks and memory info on panic, user can::
Documentation/core-api/dma-attributes.rst +8 -0
@@ -130,3 +130,11 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged subsystem that the buffer is fully accessible at the elevated privilege level (and ideally inaccessible or at least read-only at the lesser-privileged levels). + +DMA_ATTR_OVERWRITE +------------------ + +This is a hint to the DMA-mapping subsystem that the device is expected to +overwrite the entire mapped size, thus the caller does not require any of the +previous buffer contents to be preserved. This allows bounce-buffering +implementations to optimise DMA_FROM_DEVICE transfers.
Documentation/devicetree/bindings/mtd/nand-controller.yaml +2 -2
@@ -44,7 +44,7 @@ patternProperties: properties: reg: description: - Contains the native Ready/Busy IDs. + Contains the chip-select IDs. nand-ecc-mode: description:
@@ -174,6 +174,6 @@ examples: nand-ecc-mode = "soft"; nand-ecc-algo = "bch"; - /* controller specific properties */ + /* NAND chip specific properties */ }; };
Documentation/devicetree/bindings/spi/spi-mxic.txt +3 -1
@@ -8,11 +8,13 @@ Required properties: - reg: should contain 2 entries, one for the registers and one for the direct mapping area - reg-names: should contain "regs" and "dirmap" -- interrupts: interrupt line connected to the SPI controller - clock-names: should contain "ps_clk", "send_clk" and "send_dly_clk" - clocks: should contain 3 entries for the "ps_clk", "send_clk" and "send_dly_clk" clocks +Optional properties: +- interrupts: interrupt line connected to the SPI controller + Example: spi@43c30000 {
Documentation/process/stable-kernel-rules.rst +10 -1
@@ -168,7 +168,16 @@ Trees - The finalized and tagged releases of all stable kernels can be found in separate branches per version at: - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git + https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git + + - The release candidate of all stable kernel versions can be found at: + + https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/ + + .. warning:: + The -stable-rc tree is a snapshot in time of the stable-queue tree and + will change frequently, hence will be rebased often. It should only be + used for testing purposes (e.g. to be consumed by CI systems). Review committee
Documentation/sound/hd-audio/models.rst +4 -0
@@ -261,6 +261,10 @@ alc-sense-combo huawei-mbx-stereo Enable initialization verbs for Huawei MBX stereo speakers; might be risky, try this at your own risk +alc298-samsung-headphone + Samsung laptops with ALC298 +alc256-samsung-headphone + Samsung laptops with ALC256 ALC66x/67x/892 ==============
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 109 +SUBLEVEL = 110 EXTRAVERSION = NAME = Dare mighty things
arch/arc/kernel/process.c +1 -1
@@ -43,7 +43,7 @@ SYSCALL_DEFINE0(arc_gettls)return task_thread_info (current)->thr_ptr; } -SYSCALL_DEFINE3(arc_usr_cmpxchg, int *, uaddr, int, expected, int, new) +SYSCALL_DEFINE3(arc_usr_cmpxchg, int __user *, uaddr, int, expected, int, new) {struct pt_regs *regs =current_pt_regs ();u32 uval;
arch/arm/boot/dts/bcm2711.dtsi +50 -0
80 lines not on this page · raw message
arch/arm/boot/dts/bcm2837.dtsi +49 -0
79 lines not on this page · raw message
arch/arm/boot/dts/dra7-l4.dtsi +2 -3
@@ -3448,8 +3448,7 @@ timer14: timer@0 { ti,timer-pwm; }; }; - - target-module@2c000 { /* 0x4882c000, ap 17 02.0 */ + timer15_target: target-module@2c000 { /* 0x4882c000, ap 17 02.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; reg = <0x2c000 0x4>, <0x2c010 0x4>;
@@ -3477,7 +3476,7 @@ timer15: timer@0 { }; }; - target-module@2e000 { /* 0x4882e000, ap 19 14.0 */ + timer16_target: target-module@2e000 { /* 0x4882e000, ap 19 14.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; reg = <0x2e000 0x4>, <0x2e010 0x4>;
arch/arm/boot/dts/dra7.dtsi +4 -4
@@ -1093,20 +1093,20 @@ timer@0 { }; /* Local timers, see ARM architected timer wrap erratum i940 */ -&timer3_target { +&timer15_target { ti,no-reset-on-init; ti,no-idle; timer@0 { - assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER3_CLKCTRL 24>; + assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>; assigned-clock-parents = <&timer_sys_clk_div>; }; }; -&timer4_target { +&timer16_target { ti,no-reset-on-init; ti,no-idle; timer@0 { - assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 24>; + assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>; assigned-clock-parents = <&timer_sys_clk_div>; }; };
arch/arm/boot/dts/exynos5250-pinctrl.dtsi +1 -1
@@ -260,7 +260,7 @@ i2c3_hs_bus: i2c3-hs-bus { }; uart3_data: uart3-data { - samsung,pins = "gpa1-4", "gpa1-4"; + samsung,pins = "gpa1-4", "gpa1-5"; samsung,pin-function = <EXYNOS_PIN_FUNC_2>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
arch/arm/boot/dts/exynos5250-smdk5250.dts +3 -0
@@ -118,6 +118,9 @@ &hdmi { status = "okay"; ddc = <&i2c_2>; hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; + vdd-supply = <&ldo8_reg>; + vdd_osc-supply = <&ldo10_reg>; + vdd_pll-supply = <&ldo8_reg>; }; &i2c_0 {
arch/arm/boot/dts/exynos5420-smdk5420.dts +3 -0
@@ -124,6 +124,9 @@ &hdmi { hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&hdmi_hpd_irq>; + vdd-supply = <&ldo6_reg>; + vdd_osc-supply = <&ldo7_reg>; + vdd_pll-supply = <&ldo6_reg>; }; &hsi2c_4 {
arch/arm/boot/dts/imx53-m53menlo.dts +27 -2
@@ -53,6 +53,31 @@ eth { }; }; + lvds-decoder { + compatible = "ti,ds90cf364a", "lvds-decoder"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + lvds_decoder_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + + port@1 { + reg = <1>; + + lvds_decoder_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + }; + panel { compatible = "edt,etm0700g0dh6"; pinctrl-0 = <&pinctrl_display_gpio>;
@@ -61,7 +86,7 @@ panel { port { panel_in: endpoint { - remote-endpoint = <&lvds0_out>; + remote-endpoint = <&lvds_decoder_out>; }; }; };
@@ -450,7 +475,7 @@ port@2 { reg = <2>; lvds0_out: endpoint { - remote-endpoint = <&panel_in>; + remote-endpoint = <&lvds_decoder_in>; }; }; };
arch/arm/boot/dts/imx7-colibri.dtsi +2 -2
@@ -40,7 +40,7 @@ simple-audio-card,cpu { dailink_master: simple-audio-card,codec { sound-dai = <&codec>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; }; }; };
@@ -293,7 +293,7 @@ codec: sgtl5000@a { compatible = "fsl,sgtl5000"; #sound-dai-cells = <0>; reg = <0x0a>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1_mclk>; VDDA-supply = <®_module_3v3_avdd>;
arch/arm/boot/dts/imx7-mba7.dtsi +1 -1
@@ -250,7 +250,7 @@ &i2c2 { tlv320aic32x4: audio-codec@18 { compatible = "ti,tlv320aic32x4"; reg = <0x18>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; clock-names = "mclk"; ldoin-supply = <®_audio_3v3>; iov-supply = <®_audio_3v3>;
arch/arm/boot/dts/imx7d-nitrogen7.dts +1 -1
@@ -288,7 +288,7 @@ &i2c4 { codec: wm8960@1a { compatible = "wlf,wm8960"; reg = <0x1a>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; clock-names = "mclk"; wlf,shared-lrclk; };
arch/arm/boot/dts/imx7d-pico-hobbit.dts +2 -2
@@ -31,7 +31,7 @@ simple-audio-card,cpu { dailink_master: simple-audio-card,codec { sound-dai = <&sgtl5000>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; }; }; };
@@ -41,7 +41,7 @@ sgtl5000: codec@a { #sound-dai-cells = <0>; reg = <0x0a>; compatible = "fsl,sgtl5000"; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; VDDA-supply = <®_2p5v>; VDDIO-supply = <®_vref_1v8>; };
arch/arm/boot/dts/imx7d-pico-pi.dts +2 -2
@@ -31,7 +31,7 @@ simple-audio-card,cpu { dailink_master: simple-audio-card,codec { sound-dai = <&sgtl5000>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; }; }; };
@@ -41,7 +41,7 @@ sgtl5000: codec@a { #sound-dai-cells = <0>; reg = <0x0a>; compatible = "fsl,sgtl5000"; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; VDDA-supply = <®_2p5v>; VDDIO-supply = <®_vref_1v8>; };
arch/arm/boot/dts/imx7d-sdb.dts +2 -2
@@ -378,14 +378,14 @@ &i2c4 { codec: wm8960@1a { compatible = "wlf,wm8960"; reg = <0x1a>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; clock-names = "mclk"; wlf,shared-lrclk; wlf,hp-cfg = <2 2 3>; wlf,gpio-cfg = <1 3>; assigned-clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_SRC>, <&clks IMX7D_PLL_AUDIO_POST_DIV>, - <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>; assigned-clock-rates = <0>, <884736000>, <12288000>; };
arch/arm/boot/dts/imx7s-warp.dts +2 -2
@@ -75,7 +75,7 @@ simple-audio-card,cpu { dailink_master: simple-audio-card,codec { sound-dai = <&codec>; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; }; }; };
@@ -232,7 +232,7 @@ codec: sgtl5000@a { #sound-dai-cells = <0>; reg = <0x0a>; compatible = "fsl,sgtl5000"; - clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>; + clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1_mclk>; VDDA-supply = <&vgen4_reg>;
arch/arm/boot/dts/qcom-ipq4019.dtsi +2 -1
@@ -142,7 +142,8 @@ pmu { clocks { sleep_clk: sleep_clk { compatible = "fixed-clock"; - clock-frequency = <32768>; + clock-frequency = <32000>; + clock-output-names = "gcc_sleep_clk_src"; #clock-cells = <0>; };
arch/arm/boot/dts/qcom-msm8960.dtsi +5 -3
@@ -146,7 +146,9 @@ rpm@108000 { reg = <0x108000 0x1000>; qcom,ipc = <&l2cc 0x8 2>; - interrupts = <0 19 0>, <0 21 0>, <0 22 0>; + interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>, + <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>; interrupt-names = "ack", "err", "wakeup"; regulators {
@@ -192,7 +194,7 @@ gsbi5_serial: serial@16440000 { compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; reg = <0x16440000 0x1000>, <0x16400000 0x1000>; - interrupts = <0 154 0x0>; + interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; clock-names = "core", "iface"; status = "disabled";
@@ -318,7 +320,7 @@ spi@16080000 { #address-cells = <1>; #size-cells = <0>; reg = <0x16080000 0x1000>; - interrupts = <0 147 0>; + interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; spi-max-frequency = <24000000>; cs-gpios = <&msmgpio 8 0>;
arch/arm/boot/dts/sama5d2.dtsi +1 -1
@@ -413,7 +413,7 @@ hsmc: hsmc@f8014000 { pmecc: ecc-engine@f8014070 { compatible = "atmel,sama5d2-pmecc"; reg = <0xf8014070 0x490>, - <0xf8014500 0x100>; + <0xf8014500 0x200>; }; };
arch/arm/boot/dts/spear1340.dtsi +3 -3
@@ -136,9 +136,9 @@ serial@b4100000 { reg = <0xb4100000 0x1000>; interrupts = <0 105 0x4>; status = "disabled"; - dmas = <&dwdma0 12 0 1>, - <&dwdma0 13 1 0>; - dma-names = "tx", "rx"; + dmas = <&dwdma0 13 0 1>, + <&dwdma0 12 1 0>; + dma-names = "rx", "tx"; }; thermal@e07008c4 {
arch/arm/boot/dts/spear13xx.dtsi +3 -3
@@ -284,9 +284,9 @@ spi0: spi@e0100000 { #size-cells = <0>; interrupts = <0 31 0x4>; status = "disabled"; - dmas = <&dwdma0 4 0 0>, - <&dwdma0 5 0 0>; - dma-names = "tx", "rx"; + dmas = <&dwdma0 5 0 0>, + <&dwdma0 4 0 0>; + dma-names = "rx", "tx"; }; rtc@e0580000 {
arch/arm/boot/dts/sun8i-v3s.dtsi +11 -11
@@ -524,6 +524,17 @@ spi0: spi@1c68000 { #size-cells = <0>; }; + gic: interrupt-controller@1c81000 { + compatible = "arm,gic-400"; + reg = <0x01c81000 0x1000>, + <0x01c82000 0x2000>, + <0x01c84000 0x2000>, + <0x01c86000 0x2000>; + interrupt-controller; + #interrupt-cells = <3>; + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; + }; + csi1: camera@1cb4000 { compatible = "allwinner,sun8i-v3s-csi"; reg = <0x01cb4000 0x3000>;
@@ -535,16 +546,5 @@ csi1: camera@1cb4000 { resets = <&ccu RST_BUS_CSI>; status = "disabled"; }; - - gic: interrupt-controller@1c81000 { - compatible = "arm,gic-400"; - reg = <0x01c81000 0x1000>, - <0x01c82000 0x2000>, - <0x01c84000 0x2000>, - <0x01c86000 0x2000>; - interrupt-controller; - #interrupt-cells = <3>; - interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; - }; }; };
arch/arm/boot/dts/tegra20-tamonten.dtsi +3 -3
@@ -183,8 +183,8 @@ uca { }; conf_ata { nvidia,pins = "ata", "atb", "atc", "atd", "ate", - "cdev1", "cdev2", "dap1", "dtb", "gma", - "gmb", "gmc", "gmd", "gme", "gpu7", + "cdev1", "cdev2", "dap1", "dtb", "dtf", + "gma", "gmb", "gmc", "gmd", "gme", "gpu7", "gpv", "i2cp", "irrx", "irtx", "pta", "rm", "slxa", "slxk", "spia", "spib", "uac";
@@ -203,7 +203,7 @@ conf_csus { }; conf_crtp { nvidia,pins = "crtp", "dap2", "dap3", "dap4", - "dtc", "dte", "dtf", "gpu", "sdio1", + "dtc", "dte", "gpu", "sdio1", "slxc", "slxd", "spdi", "spdo", "spig", "uda"; nvidia,pull = <TEGRA_PIN_PULL_NONE>;
arch/arm/configs/multi_v5_defconfig +1 -0
@@ -187,6 +187,7 @@ CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_ASPEED=m CONFIG_VIDEO_ATMEL_ISI=m
arch/arm/crypto/Kconfig +2 -0
@@ -83,6 +83,8 @@ config CRYPTO_AES_ARM_BS depends on KERNEL_MODE_NEON select CRYPTO_SKCIPHER select CRYPTO_LIB_AES + select CRYPTO_AES + select CRYPTO_CBC select CRYPTO_SIMD help Use a faster and more secure NEON based implementation of AES in CBC,
arch/arm/kernel/entry-ftrace.S +22 -29
96 lines not on this page · raw message
arch/arm/kernel/swp_emulate.c +1 -1
@@ -195,7 +195,7 @@ static int swp_handler(struct pt_regs *regs, unsigned int instr) destreg, EXTRACT_REG_NUM(instr, RT2_OFFSET), data);/* Check access in reasonable access range for both SWP and SWPB */ -if (!access_ok ((address & ~3 ),4 )) { +if (!access_ok ((void __user *)(address & ~3 ),4 )) {pr_debug ("SWP{B} emulation: access to %p not allowed!\n" , (void *)address); res = -EFAULT ;
arch/arm/kernel/traps.c +1 -1
@@ -589,7 +589,7 @@ do_cache_op(unsigned long start, unsigned long end, int flags)if (end < start || flags)return -EINVAL ; -if (!access_ok (start, end - start)) +if (!access_ok ((void __user *)start, end - start))return -EFAULT ;return __do_cache_op (start, end);
arch/arm/mach-iop32x/include/mach/entry-macro.S +1 -1
@@ -20,7 +20,7 @@ mrc p6, 0, \irqstat, c8, c0, 0 @ Read IINTSRC cmp \irqstat, #0 clzne \irqnr, \irqstat - rsbne \irqnr, \irqnr, #31 + rsbne \irqnr, \irqnr, #32 .endm .macro arch_ret_to_user, tmp1, tmp2
arch/arm/mach-iop32x/include/mach/irqs.h +1 -1
@@ -9,6 +9,6 @@#ifndef __IRQS_H#define __IRQS_H -#define NR_IRQS 32 +#define NR_IRQS 33#endif
arch/arm/mach-iop32x/irq.c +3 -3
@@ -32,14 +32,14 @@ static void intstr_write(u32 val)static void iop32x_irq_mask (struct irq_data *d) { - iop32x_mask &= ~(1 << d->irq); + iop32x_mask &= ~(1 << (d->irq -1 ));intctl_write (iop32x_mask); }static void iop32x_irq_unmask (struct irq_data *d) { - iop32x_mask |=1 << d->irq; + iop32x_mask |=1 << (d->irq -1 );intctl_write (iop32x_mask); }
@@ -65,7 +65,7 @@ void __init iop32x_init_irq(void) machine_is_em7210()) *IOP3XX_PCIIRSR =0x0f ; -for (i =0 ; i <NR_IRQS ; i++) { +for (i =1 ; i <NR_IRQS ; i++) {irq_set_chip_and_handler (i, &ext_chip, handle_level_irq);irq_clear_status_flags (i,IRQ_NOREQUEST |IRQ_NOPROBE ); }
arch/arm/mach-iop32x/irqs.h +32 -28
68 lines not on this page · raw message
arch/arm/mach-mmp/sram.c +12 -10
@@ -72,6 +72,8 @@ static int sram_probe(struct platform_device *pdev)if (!info)return -ENOMEM ; +platform_set_drvdata (pdev, info); + res =platform_get_resource (pdev,IORESOURCE_MEM ,0 );if (res ==NULL ) {dev_err (&pdev->dev,"no memory resource defined\n" );
@@ -107,8 +109,6 @@ static int sram_probe(struct platform_device *pdev)list_add (&info->node, &sram_bank_list);mutex_unlock (&sram_lock); -platform_set_drvdata (pdev, info); -dev_info (&pdev->dev,"initialized\n" );return 0 ;
@@ -127,17 +127,19 @@ static int sram_remove(struct platform_device *pdev)struct sram_bank_info *info; info =platform_get_drvdata (pdev); -if (info ==NULL ) -return -ENODEV ; -mutex_lock (&sram_lock); -list_del (&info->node); -mutex_unlock (&sram_lock); +if (info->sram_size) { +mutex_lock (&sram_lock); +list_del (&info->node); +mutex_unlock (&sram_lock); + +gen_pool_destroy (info->gpool); +iounmap (info->sram_virt); +kfree (info->pool_name); + } -gen_pool_destroy (info->gpool); -iounmap (info->sram_virt); -kfree (info->pool_name);kfree (info); +return 0 ; }
arch/arm/mach-mstar/Kconfig +1 -0
@@ -3,6 +3,7 @@ menuconfig ARCH_MSTARV7 depends on ARCH_MULTI_V7 select ARM_GIC select ARM_HEAVY_MB + select HAVE_ARM_ARCH_TIMER select MST_IRQ help Support for newer MStar/Sigmastar SoC families that are
arch/arm/mach-s3c/mach-jive.c +3 -3
@@ -236,11 +236,11 @@ static int __init jive_mtdset(char *options)unsigned long set;if (options ==NULL || options[0 ] =='\0' ) -return 0 ; +return 1 ;if (kstrtoul (options,10 , &set)) {printk (KERN_ERR "failed to parse mtdset=%s\n" , options); -return 0 ; +return 1 ; }switch (set) {
@@ -255,7 +255,7 @@ static int __init jive_mtdset(char *options) "using default.", set); } -return 0 ; +return 1 ; }/* parse the mtdset= option given to the kernel command line */
arch/arm64/boot/dts/broadcom/northstar2/ns2-svk.dts +4 -4
@@ -111,8 +111,8 @@ slic@0 { compatible = "silabs,si3226x"; reg = <0>; spi-max-frequency = <5000000>; - spi-cpha = <1>; - spi-cpol = <1>; + spi-cpha; + spi-cpol; pl022,hierarchy = <0>; pl022,interface = <0>; pl022,slave-tx-disable = <0>;
@@ -135,8 +135,8 @@ at25@0 { at25,byte-len = <0x8000>; at25,addr-mode = <2>; at25,page-size = <64>; - spi-cpha = <1>; - spi-cpol = <1>; + spi-cpha; + spi-cpol; pl022,hierarchy = <0>; pl022,interface = <0>; pl022,slave-tx-disable = <0>;
arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi +1 -1
@@ -687,7 +687,7 @@ sata_phy1: sata-phy@1 { }; }; - sata: ahci@663f2000 { + sata: sata@663f2000 { compatible = "brcm,iproc-ahci", "generic-ahci"; reg = <0x663f2000 0x1000>; dma-coherent;
arch/arm64/boot/dts/qcom/sdm845.dtsi +4 -4
@@ -3406,10 +3406,10 @@ wcd9340: codec@1{ #clock-cells = <0>; clock-frequency = <9600000>; clock-output-names = "mclk"; - qcom,micbias1-millivolt = <1800>; - qcom,micbias2-millivolt = <1800>; - qcom,micbias3-millivolt = <1800>; - qcom,micbias4-millivolt = <1800>; + qcom,micbias1-microvolt = <1800000>; + qcom,micbias2-microvolt = <1800000>; + qcom,micbias3-microvolt = <1800000>; + qcom,micbias4-microvolt = <1800000>; #address-cells = <1>; #size-cells = <1>;
arch/arm64/boot/dts/qcom/sm8150.dtsi +3 -3
@@ -1114,9 +1114,9 @@ apps_rsc: rsc@18200000 { qcom,tcs-offset = <0xd00>; qcom,drv-id = <2>; qcom,tcs-config = <ACTIVE_TCS 2>, - <SLEEP_TCS 1>, - <WAKE_TCS 1>, - <CONTROL_TCS 0>; + <SLEEP_TCS 3>, + <WAKE_TCS 3>, + <CONTROL_TCS 1>; rpmhcc: clock-controller { compatible = "qcom,sm8150-rpmh-clk";
arch/arm64/boot/dts/rockchip/rk3399-firefly.dts +2 -2
@@ -665,8 +665,8 @@ &sdio0 { sd-uhs-sdr104; /* Power supply */ - vqmmc-supply = &vcc1v8_s3; /* IO line */ - vmmc-supply = &vcc_sdio; /* card's power */ + vqmmc-supply = <&vcc1v8_s3>; /* IO line */ + vmmc-supply = <&vcc_sdio>; /* card's power */ #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/ti/k3-am65-main.dtsi +4 -1
@@ -35,7 +35,10 @@ gic500: interrupt-controller@1800000 { #interrupt-cells = <3>; interrupt-controller; reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */ - <0x00 0x01880000 0x00 0x90000>; /* GICR */ + <0x00 0x01880000 0x00 0x90000>, /* GICR */ + <0x00 0x6f000000 0x00 0x2000>, /* GICC */ + <0x00 0x6f010000 0x00 0x1000>, /* GICH */ + <0x00 0x6f020000 0x00 0x2000>; /* GICV */ /* * vcpumntirq: * virtual CPU interface maintenance interrupt
arch/arm64/boot/dts/ti/k3-am65.dtsi +1 -0
@@ -84,6 +84,7 @@ cbass_main: bus@100000 { <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, <0x00 0x50000000 0x00 0x50000000 0x00 0x8000000>, + <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A53 PERIPHBASE */ <0x00 0x70000000 0x00 0x70000000 0x00 0x200000>, <0x05 0x00000000 0x05 0x00000000 0x01 0x0000000>, <0x07 0x00000000 0x07 0x00000000 0x01 0x0000000>;
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi +4 -1
@@ -47,7 +47,10 @@ gic500: interrupt-controller@1800000 { #interrupt-cells = <3>; interrupt-controller; reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */ - <0x00 0x01900000 0x00 0x100000>; /* GICR */ + <0x00 0x01900000 0x00 0x100000>, /* GICR */ + <0x00 0x6f000000 0x00 0x2000>, /* GICC */ + <0x00 0x6f010000 0x00 0x1000>, /* GICH */ + <0x00 0x6f020000 0x00 0x2000>; /* GICV */ /* vcpumntirq: virtual CPU interface maintenance interrupt */ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
arch/arm64/boot/dts/ti/k3-j7200.dtsi +1 -0
@@ -127,6 +127,7 @@ cbass_main: bus@100000 { <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */ <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */ <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */ + <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */ <0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */ <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */ <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi +4 -1
@@ -108,7 +108,10 @@ gic500: interrupt-controller@1800000 { #interrupt-cells = <3>; interrupt-controller; reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */ - <0x00 0x01900000 0x00 0x100000>; /* GICR */ + <0x00 0x01900000 0x00 0x100000>, /* GICR */ + <0x00 0x6f000000 0x00 0x2000>, /* GICC */ + <0x00 0x6f010000 0x00 0x1000>, /* GICH */ + <0x00 0x6f020000 0x00 0x2000>; /* GICV */ /* vcpumntirq: virtual CPU interface maintenance interrupt */ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
arch/arm64/boot/dts/ti/k3-j721e.dtsi +1 -0
@@ -136,6 +136,7 @@ cbass_main: bus@100000 { <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01800000>, /* PCIe Core*/ <0x00 0x10000000 0x00 0x10000000 0x00 0x10000000>, /* PCIe DAT */ <0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71 */ + <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */ <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT */ <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT */ <0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */
arch/arm64/configs/defconfig +1 -1
@@ -837,7 +837,7 @@ CONFIG_DMADEVICES=y CONFIG_DMA_BCM2835=y CONFIG_DMA_SUN6I=m CONFIG_FSL_EDMA=y -CONFIG_IMX_SDMA=y +CONFIG_IMX_SDMA=m CONFIG_K3_DMA=y CONFIG_MV_XOR=y CONFIG_MV_XOR_V2=y
arch/arm64/kernel/signal.c +6 -4
@@ -572,10 +572,12 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user, {int err; - err =sigframe_alloc (user, &user->fpsimd_offset, -sizeof (struct fpsimd_context )); -if (err) -return err; +if (system_supports_fpsimd ()) { + err =sigframe_alloc (user, &user->fpsimd_offset, +sizeof (struct fpsimd_context )); +if (err) +return err; + }/* fault information, if valid */ if (add_all || current->thread.fault_code) {
arch/arm64/mm/init.c +32 -4
@@ -58,8 +58,34 @@ EXPORT_SYMBOL(memstart_addr);* unless restricted on specific platforms (e.g. 30-bit on Raspberry Pi 4). * In such case, ZONE_DMA32 covers the rest of the 32-bit addressable memory, * otherwise it is empty. +* +* Memory reservation for crash kernel either done early or deferred +* depending on DMA memory zones configs (ZONE_DMA) -- +* +* In absence of ZONE_DMA configs arm64_dma_phys_limit initialized +* here instead of max_zone_phys(). This lets early reservation of +* crash kernel memory which has a dependency on arm64_dma_phys_limit. +* Reserving memory early for crash kernel allows linear creation of block +* mappings (greater than page-granularity) for all the memory bank rangs. +* In this scheme a comparatively quicker boot is observed. +* +* If ZONE_DMA configs are defined, crash kernel memory reservation +* is delayed until DMA zone memory range size initilazation performed in +* zone_sizes_init(). The defer is necessary to steer clear of DMA zone +* memory range to avoid overlap allocation. So crash kernel memory boundaries +* are not known when mapping all bank memory ranges, which otherwise means +* not possible to exclude crash kernel range from creating block mappings +* so page-granularity mappings are created for the entire memory range. +* Hence a slightly slower boot is observed. +* +* Note: Page-granularity mapppings are necessary for crash kernel memory +* range for shrinking its size via /sys/kernel/kexec_crash_size interface. */ -phys_addr_t arm64_dma_phys_limit__ro_after_init ; +#if IS_ENABLED (CONFIG_ZONE_DMA ) ||IS_ENABLED (CONFIG_ZONE_DMA32 ) +phys_addr_t __ro_after_init arm64_dma_phys_limit; +#else +phys_addr_t __ro_after_init arm64_dma_phys_limit =PHYS_MASK +1 ; +#endif #ifdef CONFIG_KEXEC_CORE /*
@@ -210,8 +236,6 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)if (!arm64_dma_phys_limit) arm64_dma_phys_limit = dma32_phys_limit;#endif -if (!arm64_dma_phys_limit) - arm64_dma_phys_limit =PHYS_MASK +1 ; max_zone_pfns[ZONE_NORMAL ] = max;free_area_init (max_zone_pfns);
@@ -407,6 +431,9 @@ void __init arm64_memblock_init(void)reserve_elfcorehdr (); +if (!IS_ENABLED (CONFIG_ZONE_DMA ) && !IS_ENABLED (CONFIG_ZONE_DMA32 )) +reserve_crashkernel (); + high_memory =__va (memblock_end_of_DRAM () -1 ) +1 ; }
@@ -451,7 +478,8 @@ void __init bootmem_init(void)* request_standard_resources() depends on crashkernel's memory being * reserved, so do it here. */ -reserve_crashkernel (); +if (IS_ENABLED (CONFIG_ZONE_DMA ) ||IS_ENABLED (CONFIG_ZONE_DMA32 )) +reserve_crashkernel ();memblock_dump_all (); }
arch/arm64/mm/mmu.c +40 -1
77 lines not on this page · raw message
arch/arm64/net/bpf_jit_comp.c +13 -5
@@ -1040,15 +1040,18 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) goto out_off; } -/* 1. Initial fake pass to compute ctx->idx. */ - -/* Fake pass to fill in ctx->offset. */ -if (build_body (&ctx, extra_pass)) { +/* +* 1. Initial fake pass to compute ctx->idx and ctx->offset. +* +* BPF line info needs ctx->offset[i] to be the offset of +* instruction[i] in jited image, so build prologue first. +*/ +if (build_prologue (&ctx, was_classic)) { prog = orig_prog; goto out_off; } -if (build_prologue (&ctx, was_classic)) { +if (build_body (&ctx, extra_pass)) { prog = orig_prog; goto out_off; }
@@ -1121,6 +1124,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) prog->jited_len = prog_size;if (!prog->is_func || extra_pass) { +int i; + +/* offset[prog->len] is the size of program */ +for (i =0 ; i <= prog->len; i++) + ctx.offset[i] *=AARCH64_INSN_SIZE ;bpf_prog_fill_jited_linfo (prog, ctx.offset +1 ); out_off:kfree (ctx.offset);
arch/csky/kernel/perf_callchain.c +1 -1
@@ -49,7 +49,7 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry, {struct stackframe buftail;unsigned long lr =0 ; -unsigned long *user_frame_tail = (unsigned long *)fp; +unsigned long __user *user_frame_tail = (unsigned long __user *)fp;/* Check accessibility of one struct frame_tail beyond */ if (!access_ok (user_frame_tail,sizeof (buftail)))
arch/csky/kernel/signal.c +1 -1
@@ -136,7 +136,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig,static int setup_rt_frame (struct ksignal *ksig,sigset_t *set,struct pt_regs *regs) { -struct rt_sigframe *frame; +struct rt_sigframe __user *frame;int err =0 ;struct csky_vdso *vdso = current->mm->context.vdso;
arch/m68k/coldfire/device.c +3 -3
@@ -480,7 +480,7 @@ static struct platform_device mcf_i2c5 = {#endif /* MCFI2C_BASE5 */ #endif /* IS_ENABLED(CONFIG_I2C_IMX) */ -#if IS_ENABLED (CONFIG_MCF_EDMA ) +#ifdef MCFEDMA_BASE static const struct dma_slave_map mcf_edma_map[] = { { "dreq0", "rx-tx", MCF_EDMA_FILTER_PARAM(0) },
@@ -552,7 +552,7 @@ static struct platform_device mcf_edma = { .platform_data = &mcf_edma_data, } }; -#endif /* IS_ENABLED(CONFIG_MCF_EDMA) */ +#endif /* MCFEDMA_BASE */ #ifdef MCFSDHC_BASE static struct mcf_esdhc_platform_data mcf_esdhc_data = {
@@ -610,7 +610,7 @@ static struct platform_device *mcf_devices[] __initdata = { &mcf_i2c5,#endif #endif -#if IS_ENABLED (CONFIG_MCF_EDMA ) +#ifdef MCFEDMA_BASE &mcf_edma,#endif #ifdef MCFSDHC_BASE
arch/microblaze/include/asm/uaccess.h +9 -9
@@ -167,27 +167,27 @@ extern long __user_bad(void);#define __get_user (x, ptr) \ ({ \ - unsigned long __gu_val = 0; \ long __gu_err; \ switch (sizeof(*(ptr))) { \ case 1: \ - __get_user_asm("lbu", (ptr), __gu_val, __gu_err); \ + __get_user_asm("lbu", (ptr), x, __gu_err); \ break; \ case 2: \ - __get_user_asm("lhu", (ptr), __gu_val, __gu_err); \ + __get_user_asm("lhu", (ptr), x, __gu_err); \ break; \ case 4: \ - __get_user_asm("lw", (ptr), __gu_val, __gu_err); \ + __get_user_asm("lw", (ptr), x, __gu_err); \ break; \ - case 8: \ - __gu_err = __copy_from_user(&__gu_val, ptr, 8); \ - if (__gu_err) \ - __gu_err = -EFAULT; \ + case 8: { \ + __u64 __x = 0; \ + __gu_err = raw_copy_from_user(&__x, ptr, 8) ? \ + -EFAULT : 0; \ + (x) = (typeof(x))(typeof((x) - (x)))__x; \ break; \ + } \ default: \/* __gu_val = 0; __gu_err = -EINVAL;*/ __gu_err =__user_bad ();\ } \ - x = (__force __typeof__(*(ptr))) __gu_val; \ __gu_err; \ })
arch/mips/dec/int-handler.S +3 -3
@@ -131,7 +131,7 @@ */ mfc0 t0,CP0_CAUSE # get pending interrupts mfc0 t1,CP0_STATUS -#ifdef CONFIG_32BIT +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT) lw t2,cpu_fpu_mask #endif andi t0,ST0_IM # CAUSE.CE may be non-zero!
@@ -139,7 +139,7 @@ beqz t0,spurious -#ifdef CONFIG_32BIT +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT) and t2,t0 bnez t2,fpu # handle FPU immediately #endif
@@ -280,7 +280,7 @@ handle_it: j dec_irq_dispatch nop -#ifdef CONFIG_32BIT +#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT) fpu: lw t0,fpu_kstat_irq nop
arch/mips/dec/prom/Makefile +1 -1
@@ -6,4 +6,4 @@ lib-y += init.o memory.o cmdline.o identify.o console.o -lib-$(CONFIG_32BIT) += locore.o +lib-$(CONFIG_CPU_R3000) += locore.o
arch/mips/dec/setup.c +2 -1
@@ -746,7 +746,8 @@ void __init arch_init_irq(void) dec_interrupt[DEC_IRQ_HALT ] =-1 ;/* Register board interrupts: FPU and cascade. */ -if (dec_interrupt[DEC_IRQ_FPU ] >=0 && cpu_has_fpu) { +if (IS_ENABLED (CONFIG_MIPS_FP_SUPPORT ) && + dec_interrupt[DEC_IRQ_FPU ] >=0 && cpu_has_fpu) {struct irq_desc *desc_fpu;int irq_fpu;
arch/mips/include/asm/dec/prom.h +5 -10
@@ -43,16 +43,11 @@*/ #define REX_PROM_MAGIC 0x30464354 -#ifdef CONFIG_64BIT - -#define prom_is_rex (magic) 1/* KN04 and KN05 are REX PROMs. */ - -#else /* !CONFIG_64BIT */ - -#define prom_is_rex (magic) ((magic) == REX_PROM_MAGIC) - -#endif /* !CONFIG_64BIT */ - +/* KN04 and KN05 are REX PROMs, so only do the check for R3k systems. */ +static inline bool prom_is_rex (u32 magic) +{ +return !IS_ENABLED (CONFIG_CPU_R3000 ) || magic ==REX_PROM_MAGIC ; +}/* * 3MIN/MAXINE PROM entry points for DS5000/1xx's, DS5000/xx's and
arch/mips/include/asm/pgalloc.h +6 -0
@@ -15,6 +15,7 @@#define __HAVE_ARCH_PMD_ALLOC_ONE#define __HAVE_ARCH_PUD_ALLOC_ONE +#define __HAVE_ARCH_PGD_FREE#include <asm-generic/pgalloc.h> static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
@@ -49,6 +50,11 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)extern void pgd_init (unsigned long page);extern pgd_t *pgd_alloc (struct mm_struct *mm); +static inline void pgd_free (struct mm_struct *mm,pgd_t *pgd) +{ +free_pages ((unsigned long )pgd,PGD_ORDER ); +} +#define __pte_free_tlb (tlb,pte,address) \ do { \ pgtable_pte_page_dtor(pte); \
arch/mips/rb532/devices.c +2 -4
@@ -310,11 +310,9 @@ static int __init plat_setup_devices(void)static int __init setup_kmac (char *s) {printk (KERN_INFO "korina mac = %s\n" , s); -if (!mac_pton (s, korina_dev0_data.mac)) { +if (!mac_pton (s, korina_dev0_data.mac))printk (KERN_ERR "Invalid mac\n" ); -return -EINVAL ; - } -return 0 ; +return 1 ; }__setup ("kmac=" , setup_kmac);
arch/nios2/include/asm/uaccess.h +16 -10
@@ -89,6 +89,7 @@ extern __must_check long strnlen_user(const char __user *s, long n);/* Optimized macros */ #define __get_user_asm (val, insn, addr, err) \ { \ + unsigned long __gu_val; \ __asm__ __volatile__( \ " movi %0, %3\n" \ "1: " insn " %1, 0(%2)\n" \
@@ -97,14 +98,20 @@ extern __must_check long strnlen_user(const char __user *s, long n);" .section __ex_table,\"a\"\n" \" .word 1b, 2b\n" \" .previous" \ - : "=&r" (err), "=r" (val) \ + : "=&r" (err), "=r" (__gu_val) \: " r" (addr), " i" (-EFAULT)); \ +val = (__force __typeof__(*(addr)))__gu_val; \ } -#define __get_user_unknown (val, size, ptr, err) do { \ +extern void __get_user_unknown(void); + +#define __get_user_8 (val, ptr, err) do { \ + u64 __val = 0; \ err = 0; \ - if (__copy_from_user(&(val), ptr, size)) { \ + if (raw_copy_from_user(&(__val), ptr, sizeof(val))) { \ err = -EFAULT; \ + } else { \ + val = (typeof(val))(typeof((val) - (val)))__val; \ } \ } while (0)
@@ -120,8 +127,11 @@ do { \case 4 : \__get_user_asm (val,"ldw" , ptr, err); \break ; \ +case 8 : \ +__get_user_8 (val, ptr, err); \ +break ; \default : \ -__get_user_unknown (val, size, ptr, err); \ +__get_user_unknown (); \break ; \ } \ }while (0 )
@@ -130,9 +140,7 @@ do { \ ({ \long __gu_err = -EFAULT ; \ const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \ -unsigned long __gu_val =0 ; \ -__get_user_common (__gu_val,sizeof (*(ptr)), __gu_ptr, __gu_err);\ - (x) = (__force __typeof__(x))__gu_val; \ +__get_user_common (x,sizeof (*(ptr)), __gu_ptr, __gu_err); \ __gu_err; \ })
@@ -140,11 +148,9 @@ do { \ ({ \long __gu_err = -EFAULT ; \ const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \ -unsigned long __gu_val =0 ; \if (access_ok ( __gu_ptr,sizeof (*__gu_ptr))) \ -__get_user_common (__gu_val,sizeof (*__gu_ptr), \ +__get_user_common (x,sizeof (*__gu_ptr), \ __gu_ptr, __gu_err); \ - (x) = (__force __typeof__(x))__gu_val; \ __gu_err; \ })
arch/nios2/kernel/signal.c +11 -9
@@ -36,10 +36,10 @@ struct rt_sigframe {static inline int rt_restore_ucontext (struct pt_regs *regs,struct switch_stack *sw, -struct ucontext *uc,int *pr2) +struct ucontext __user *uc,int *pr2) {int temp; -unsigned long *gregs = uc->uc_mcontext.gregs; +unsigned long __user *gregs = uc->uc_mcontext.gregs;int err;/* Always make any pending restarted system calls return -EINTR */
@@ -102,10 +102,11 @@ asmlinkage int do_rt_sigreturn(struct switch_stack *sw) {struct pt_regs *regs = (struct pt_regs *)(sw +1 );/* Verify, can we follow the stack back */ -struct rt_sigframe *frame = (struct rt_sigframe *) regs->sp; +struct rt_sigframe __user *frame;sigset_t set;int rval; + frame = (struct rt_sigframe __user *) regs->sp;if (!access_ok (frame,sizeof (*frame))) goto badframe;
@@ -124,10 +125,10 @@ asmlinkage int do_rt_sigreturn(struct switch_stack *sw)return 0 ; } -static inline int rt_setup_ucontext (struct ucontext *uc,struct pt_regs *regs) +static inline int rt_setup_ucontext (struct ucontext __user *uc,struct pt_regs *regs) {struct switch_stack *sw = (struct switch_stack *)regs -1 ; -unsigned long *gregs = uc->uc_mcontext.gregs; +unsigned long __user *gregs = uc->uc_mcontext.gregs;int err =0 ; err |=__put_user (MCONTEXT_VERSION , &uc->uc_mcontext.version);
@@ -162,8 +163,9 @@ static inline int rt_setup_ucontext(struct ucontext *uc, struct pt_regs *regs)return err; } -static inline void *get_sigframe (struct ksignal *ksig,struct pt_regs *regs, -size_t frame_size) +static inline void __user *get_sigframe (struct ksignal *ksig, +struct pt_regs *regs, +size_t frame_size) {unsigned long usp;
@@ -174,13 +176,13 @@ static inline void *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, usp =sigsp (usp, ksig);/* Verify, is it 32 or 64 bit aligned */ -return (void *)((usp - frame_size) &-8UL ); +return (void __user *)((usp - frame_size) &-8UL ); }static int setup_rt_frame (struct ksignal *ksig,sigset_t *set,struct pt_regs *regs) { -struct rt_sigframe *frame; +struct rt_sigframe __user *frame;int err =0 ; frame =get_sigframe (ksig, regs,sizeof (*frame));
arch/parisc/include/asm/traps.h +1 -0
@@ -17,6 +17,7 @@ void die_if_kernel(char *str, struct pt_regs *regs, long err);const char *trap_name (unsigned long code);void do_page_fault (struct pt_regs *regs,unsigned long code,unsigned long address); +int handle_nadtlb_fault (struct pt_regs *regs);#endif #endif
arch/parisc/kernel/traps.c +2 -0
@@ -661,6 +661,8 @@ void notrace handle_interruption(int code, struct pt_regs *regs)by hand. Technically we need to emulate: fdc,fdce,pdc,"fic,4f",prober,probeir,probew, probeiw */ +if (code ==17 &&handle_nadtlb_fault (regs)) +return ; fault_address = regs->ior; fault_space = regs->isr;break ;
arch/parisc/mm/fault.c +89 -0
92 lines not on this page · raw message
arch/powerpc/Makefile +1 -1
@@ -172,7 +172,7 @@ else CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5)) CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4) endif -else +else ifdef CONFIG_PPC_BOOK3E_64 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 endif
arch/powerpc/boot/dts/fsl/t1040rdb-rev-a.dts new file +30 -0
@@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * T1040RDB-REV-A Device Tree Source + * + * Copyright 2014 - 2015 Freescale Semiconductor Inc. + * + */ + +#include "t1040rdb.dts" + +/ { + model = "fsl,T1040RDB-REV-A"; + compatible = "fsl,T1040RDB-REV-A"; +}; + +&seville_port0 { + label = "ETH5"; +}; + +&seville_port2 { + label = "ETH7"; +}; + +&seville_port4 { + label = "ETH9"; +}; + +&seville_port6 { + label = "ETH11"; +};
arch/powerpc/boot/dts/fsl/t1040rdb.dts +4 -4
@@ -119,7 +119,7 @@ &seville_port0 { managed = "in-band-status"; phy-handle = <&phy_qsgmii_0>; phy-mode = "qsgmii"; - label = "ETH5"; + label = "ETH3"; status = "okay"; };
@@ -135,7 +135,7 @@ &seville_port2 { managed = "in-band-status"; phy-handle = <&phy_qsgmii_2>; phy-mode = "qsgmii"; - label = "ETH7"; + label = "ETH5"; status = "okay"; };
@@ -151,7 +151,7 @@ &seville_port4 { managed = "in-band-status"; phy-handle = <&phy_qsgmii_4>; phy-mode = "qsgmii"; - label = "ETH9"; + label = "ETH7"; status = "okay"; };
@@ -167,7 +167,7 @@ &seville_port6 { managed = "in-band-status"; phy-handle = <&phy_qsgmii_6>; phy-mode = "qsgmii"; - label = "ETH11"; + label = "ETH9"; status = "okay"; };
arch/powerpc/include/asm/io.h +32 -8
@@ -344,25 +344,37 @@ static inline void __raw_writeq_be(unsigned long v, volatile void __iomem *addr)*/ static inline void __raw_rm_writeb (u8 val,volatile void __iomem *paddr) { - __asm__ __volatile__("stbcix %0,0,%1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +stbcix %0,0,%1; \ +.machine pop;" : :"r" (val),"r" (paddr) :"memory" ); }static inline void __raw_rm_writew (u16 val,volatile void __iomem *paddr) { - __asm__ __volatile__("sthcix %0,0,%1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +sthcix %0,0,%1; \ +.machine pop;" : :"r" (val),"r" (paddr) :"memory" ); }static inline void __raw_rm_writel (u32 val,volatile void __iomem *paddr) { - __asm__ __volatile__("stwcix %0,0,%1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +stwcix %0,0,%1; \ +.machine pop;" : :"r" (val),"r" (paddr) :"memory" ); }static inline void __raw_rm_writeq (u64 val,volatile void __iomem *paddr) { - __asm__ __volatile__("stdcix %0,0,%1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +stdcix %0,0,%1; \ +.machine pop;" : :"r" (val),"r" (paddr) :"memory" ); }
@@ -374,7 +386,10 @@ static inline void __raw_rm_writeq_be(u64 val, volatile void __iomem *paddr)static inline u8 __raw_rm_readb (volatile void __iomem *paddr) {u8 ret; - __asm__ __volatile__("lbzcix %0,0, %1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +lbzcix %0,0, %1; \ +.machine pop;" :"=r" (ret) :"r" (paddr) :"memory" );return ret; }
@@ -382,7 +397,10 @@ static inline u8 __raw_rm_readb(volatile void __iomem *paddr)static inline u16 __raw_rm_readw (volatile void __iomem *paddr) {u16 ret; - __asm__ __volatile__("lhzcix %0,0, %1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +lhzcix %0,0, %1; \ +.machine pop;" :"=r" (ret) :"r" (paddr) :"memory" );return ret; }
@@ -390,7 +408,10 @@ static inline u16 __raw_rm_readw(volatile void __iomem *paddr)static inline u32 __raw_rm_readl (volatile void __iomem *paddr) {u32 ret; - __asm__ __volatile__("lwzcix %0,0, %1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +lwzcix %0,0, %1; \ +.machine pop;" :"=r" (ret) :"r" (paddr) :"memory" );return ret; }
@@ -398,7 +419,10 @@ static inline u32 __raw_rm_readl(volatile void __iomem *paddr)static inline u64 __raw_rm_readq (volatile void __iomem *paddr) {u64 ret; - __asm__ __volatile__("ldcix %0,0, %1" + __asm__ __volatile__(".machine push; \ +.machine power6; \ +ldcix %0,0, %1; \ +.machine pop;" :"=r" (ret) :"r" (paddr) :"memory" );return ret; }
arch/powerpc/include/asm/uaccess.h +3 -0
@@ -229,8 +229,11 @@ extern long __get_user_bad(void);*/ #define __get_user_atomic_128_aligned (kaddr, uaddr, err) \ __asm__ __volatile__( \ + ".machine push\n" \ + ".machine altivec\n" \ "1: lvx 0,0,%1 # get user\n" \ " stvx 0,0,%2 # put kernel\n" \ + ".machine pop\n" \ "2:\n" \ ".section .fixup,\"ax\"\n" \ "3: li %0,%3\n" \
arch/powerpc/kernel/kvm.c +1 -1
@@ -669,7 +669,7 @@ static void __init kvm_use_magic_page(void)on_each_cpu (kvm_map_magic_page, &features,1 );/* Quick self-test to see if the mapping works */ -if (!fault_in_pages_readable ((const char *)KVM_MAGIC_PAGE ,sizeof (u32))) { +if (fault_in_pages_readable ((const char *)KVM_MAGIC_PAGE ,sizeof (u32))) { kvm_patching_worked = false;return ; }
arch/powerpc/kvm/book3s_hv.c +4 -1
@@ -5752,8 +5752,11 @@ static int kvmppc_book3s_init_hv(void)if (r)return r; -if (kvmppc_radix_possible ()) +if (kvmppc_radix_possible ()) { r =kvmppc_radix_init (); +if (r) +return r; + }/* * POWER9 chips before version 2.02 can't have some threads in
arch/powerpc/kvm/powerpc.c +2 -2
@@ -1500,7 +1500,7 @@ int kvmppc_handle_vmx_load(struct kvm_vcpu *vcpu, {enum emulation_result emulated =EMULATE_DONE ; -if (vcpu->arch.mmio_vsx_copy_nums >2 ) +if (vcpu->arch.mmio_vmx_copy_nums >2 )return EMULATE_FAIL ;while (vcpu->arch.mmio_vmx_copy_nums) {
@@ -1597,7 +1597,7 @@ int kvmppc_handle_vmx_store(struct kvm_vcpu *vcpu,unsigned int index = rs &KVM_MMIO_REG_MASK ;enum emulation_result emulated =EMULATE_DONE ; -if (vcpu->arch.mmio_vsx_copy_nums >2 ) +if (vcpu->arch.mmio_vmx_copy_nums >2 )return EMULATE_FAIL ; vcpu->arch.io_gpr = rs;
arch/powerpc/lib/sstep.c +9 -3
@@ -108,9 +108,9 @@ static nokprobe_inline long address_ok(struct pt_regs *regs, {if (!user_mode (regs))return 1 ; -if (__access_ok (ea, nb)) +if (access_ok ((void __user *)ea, nb))return 1 ; -if (__access_ok (ea,1 )) +if (access_ok ((void __user *)ea,1 ))/* Access overlaps the end of the user region */ regs->dar =TASK_SIZE_MAX -1 ;else
@@ -949,7 +949,10 @@ NOKPROBE_SYMBOL(emulate_dcbz);#define __put_user_asmx (x, addr, err, op, cr) \ __asm__ __volatile__( \ + ".machine push\n" \ + ".machine power8\n" \ "1: " op " %2,0,%3\n" \ + ".machine pop\n" \ " mfcr %1\n" \ "2:\n" \ ".section .fixup,\"ax\"\n" \
@@ -962,7 +965,10 @@ NOKPROBE_SYMBOL(emulate_dcbz);#define __get_user_asmx (x, addr, err, op) \ __asm__ __volatile__( \ + ".machine push\n" \ + ".machine power8\n" \ "1: "op" %1,0,%2\n" \ + ".machine pop\n" \ "2:\n" \ ".section .fixup,\"ax\"\n" \ "3: li %0,%3\n" \
@@ -3187,7 +3193,7 @@ int emulate_loadstore(struct pt_regs *regs, struct instruction_op *op)__put_user_asmx (op->val, ea, err,"stbcx." , cr);break ;case 2 : -__put_user_asmx (op->val, ea, err,"stbcx." , cr); +__put_user_asmx (op->val, ea, err,"sthcx." , cr);break ;#endif case 4 :
arch/powerpc/mm/kasan/kasan_init_32.c +1 -2
@@ -83,13 +83,12 @@ void __init kasan_update_early_region(unsigned long k_start, unsigned long k_end, pte_t pte) {unsigned long k_cur; -phys_addr_t pa =__pa (kasan_early_shadow_page);for (k_cur = k_start; k_cur != k_end; k_cur +=PAGE_SIZE ) {pmd_t *pmd =pmd_off_k (k_cur);pte_t *ptep =pte_offset_kernel (pmd, k_cur); -if ((pte_val (*ptep) &PTE_RPN_MASK ) != pa) +if (pte_page (*ptep) !=virt_to_page (lm_alias (kasan_early_shadow_page)))continue ;__set_pte_at (&init_mm, k_cur, ptep, pte,0 );
arch/powerpc/mm/numa.c +3 -1
@@ -742,7 +742,9 @@ static int __init parse_numa_properties(void)of_node_put (cpu); } -node_set_online (nid); +/* node_set_online() is an UB if 'nid' is negative */ +if (likely (nid >=0 )) +node_set_online (nid); }get_n_mem_cells (&n_mem_addr_cells, &n_mem_size_cells);
arch/powerpc/perf/imc-pmu.c +5 -1
@@ -1457,7 +1457,11 @@ static int trace_imc_event_init(struct perf_event *event) event->hw.idx =-1 ; - event->pmu->task_ctx_nr = perf_hw_context; +/* +* There can only be a single PMU for perf_hw_context events which is assigned to +* core PMU. Hence use "perf_sw_context" for trace_imc. +*/ + event->pmu->task_ctx_nr = perf_sw_context; event->destroy = reset_global_refc;return 0 ; }
arch/powerpc/platforms/8xx/pic.c +1 -0
@@ -153,6 +153,7 @@ int __init mpc8xx_pic_init(void)if (mpc8xx_pic_host ==NULL ) {printk (KERN_ERR "MPC8xx PIC: failed to allocate irq host!\n" ); ret = -ENOMEM ; + goto out; } ret =0 ;
arch/powerpc/platforms/powernv/rng.c +5 -1
@@ -43,7 +43,11 @@ static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val)unsigned long parity;/* Calculate the parity of the value */ - asm ("popcntd %0,%1" :"=r" (parity) :"r" (val)); + asm (".machine push; \ +.machine power7; \ +popcntd %0,%1; \ +.machine pop;" + :"=r" (parity) :"r" (val));/* xor our value with the previous mask */ val ^= rng->mask;
arch/powerpc/sysdev/fsl_gtm.c +2 -2
@@ -86,7 +86,7 @@ static LIST_HEAD(gtms);*/ struct gtm_timer *gtm_get_timer16 (void ) { -struct gtm *gtm =NULL ; +struct gtm *gtm;int i;list_for_each_entry (gtm, >ms, list_node) {
@@ -103,7 +103,7 @@ struct gtm_timer *gtm_get_timer16(void)spin_unlock_irq (>m->lock); } -if (gtm) +if (!list_empty (>ms))return ERR_PTR (-EBUSY );return ERR_PTR (-ENODEV ); }
arch/riscv/include/asm/module.lds.h +3 -3
@@ -2,8 +2,8 @@/* Copyright (C) 2017 Andes Technology Corporation */ #ifdef CONFIG_MODULE_SECTIONS SECTIONS { - .plt (NOLOAD) : { BYTE(0) } - .got (NOLOAD) : { BYTE(0) } - .got.plt (NOLOAD) : { BYTE(0) } + .plt : { BYTE(0) } + .got : { BYTE(0) } + .got.plt : { BYTE(0) } } #endif
arch/riscv/include/asm/thread_info.h +8 -2
@@ -11,11 +11,17 @@#include <asm/page.h> #include <linux/const.h> +#ifdef CONFIG_KASAN +#define KASAN_STACK_ORDER 1 +#else +#define KASAN_STACK_ORDER 0 +#endif +/* thread information allocation */ #ifdef CONFIG_64BIT -#define THREAD_SIZE_ORDER (2) +#define THREAD_SIZE_ORDER (2 + KASAN_STACK_ORDER)#else -#define THREAD_SIZE_ORDER (1) +#define THREAD_SIZE_ORDER (1 + KASAN_STACK_ORDER)#endif #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
arch/riscv/kernel/perf_callchain.c +3 -3
@@ -19,8 +19,8 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry, {struct stackframe buftail;unsigned long ra =0 ; -unsigned long *user_frame_tail = - (unsigned long *)(fp -sizeof (struct stackframe )); +unsigned long __user *user_frame_tail = + (unsigned long __user *)(fp -sizeof (struct stackframe ));/* Check accessibility of one struct frame_tail beyond */ if (!access_ok (user_frame_tail,sizeof (buftail)))
@@ -77,7 +77,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,bool fill_callchain (unsigned long pc,void *entry) { -return perf_callchain_store (entry, pc); +return perf_callchain_store (entry, pc) ==0 ; } void notrace walk_stackframe(struct task_struct *task,
arch/sparc/kernel/signal_32.c +1 -1
@@ -65,7 +65,7 @@ struct rt_signal_frame {*/ static inline bool invalid_frame_pointer (void __user *fp,int fplen) { -if ((((unsigned long ) fp) &15 ) || !__access_ok ((unsigned long )fp, fplen)) +if ((((unsigned long ) fp) &15 ) || !access_ok (fp, fplen))return true;return false;
arch/um/drivers/mconsole_kern.c +2 -1
@@ -223,7 +223,7 @@ void mconsole_go(struct mc_request *req)void mconsole_stop (struct mc_request *req) { -deactivate_fd (req->originating_fd,MCONSOLE_IRQ ); +block_signals ();os_set_fd_block (req->originating_fd,1 );mconsole_reply (req,"stopped" ,0 ,0 );for (;;) {
@@ -246,6 +246,7 @@ void mconsole_stop(struct mc_request *req) }os_set_fd_block (req->originating_fd,0 );mconsole_reply (req,"" ,0 ,0 ); +unblock_signals (); }static DEFINE_SPINLOCK (mc_devices_lock);
arch/x86/events/intel/pt.c +1 -1
@@ -472,7 +472,7 @@ static u64 pt_config_filters(struct perf_event *event) pt->filters.filter[range].msr_b = filter->msr_b; } - rtit_ctl |= filter->config << pt_address_ranges[range].reg_off; + rtit_ctl |= (u64 )filter->config << pt_address_ranges[range].reg_off; }return rtit_ctl;
arch/x86/kernel/kvm.c +1 -1
@@ -532,7 +532,7 @@ static void __send_ipi_mask(const struct cpumask *mask, int vector) }else if (apic_id < min && max - apic_id <KVM_IPI_CLUSTER_SIZE ) { ipi_bitmap <<= min - apic_id; min = apic_id; - }else if (apic_id < min +KVM_IPI_CLUSTER_SIZE ) { + }else if (apic_id > min && apic_id < min +KVM_IPI_CLUSTER_SIZE ) { max = apic_id < max ? max : apic_id; }else { ret = kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap,
arch/x86/kvm/emulate.c +9 -5
@@ -1718,11 +1718,6 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt, goto exception; } -if (!seg_desc.p) { - err_vec = (seg ==VCPU_SREG_SS ) ?SS_VECTOR :NP_VECTOR ; - goto exception; - } - dpl = seg_desc.dpl;switch (seg) {
@@ -1762,6 +1757,10 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,case VCPU_SREG_TR :if (seg_desc.s || (seg_desc.type !=1 && seg_desc.type !=9 )) goto exception; +if (!seg_desc.p) { + err_vec =NP_VECTOR ; + goto exception; + } old_desc = seg_desc; seg_desc.type |=2 ;/* busy */ ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc,
@@ -1786,6 +1785,11 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,break ; } +if (!seg_desc.p) { + err_vec = (seg ==VCPU_SREG_SS ) ?SS_VECTOR :NP_VECTOR ; + goto exception; + } +if (seg_desc.s) {/* mark segment as accessed */ if (!(seg_desc.type &1 )) {
arch/x86/kvm/hyperv.c +6 -3
@@ -207,7 +207,7 @@ static int synic_set_msr(struct kvm_vcpu_hv_synic *synic,struct kvm_vcpu *vcpu =synic_to_vcpu (synic);int ret; -if (!synic->active && !host) +if (!synic->active && (!host || data))return 1 ;trace_kvm_hv_synic_set_msr (vcpu->vcpu_id, msr, data, host);
@@ -253,6 +253,9 @@ static int synic_set_msr(struct kvm_vcpu_hv_synic *synic,case HV_X64_MSR_EOM : {int i; +if (!synic->active) +break ; +for (i =0 ; i <ARRAY_SIZE (synic->sint); i++)kvm_hv_notify_acked_sint (vcpu, i);break ;
@@ -636,7 +639,7 @@ static int stimer_set_config(struct kvm_vcpu_hv_stimer *stimer, u64 config,struct kvm_vcpu *vcpu =stimer_to_vcpu (stimer);struct kvm_vcpu_hv_synic *synic =vcpu_to_synic (vcpu); -if (!synic->active && !host) +if (!synic->active && (!host || config))return 1 ; trace_kvm_hv_stimer_set_config(stimer_to_vcpu(stimer)->vcpu_id,
@@ -660,7 +663,7 @@ static int stimer_set_count(struct kvm_vcpu_hv_stimer *stimer, u64 count,struct kvm_vcpu *vcpu =stimer_to_vcpu (stimer);struct kvm_vcpu_hv_synic *synic =vcpu_to_synic (vcpu); -if (!synic->active && !host) +if (!synic->active && (!host || count))return 1 ; trace_kvm_hv_stimer_set_count(stimer_to_vcpu(stimer)->vcpu_id,
arch/x86/kvm/lapic.c +1 -4
@@ -2227,10 +2227,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data)void kvm_lapic_set_tpr (struct kvm_vcpu *vcpu,unsigned long cr8) { -struct kvm_lapic *apic = vcpu->arch.apic; - -apic_set_tpr (apic, ((cr8 &0x0f ) <<4 ) - | (kvm_lapic_get_reg (apic,APIC_TASKPRI ) &4 )); +apic_set_tpr (vcpu->arch.apic, (cr8 &0x0f ) <<4 ); }u64 kvm_lapic_get_cr8 (struct kvm_vcpu *vcpu)
arch/x86/kvm/mmu/paging_tmpl.h +37 -40
103 lines not on this page · raw message
arch/x86/kvm/mmu/tdp_mmu.c +3 -0
@@ -902,6 +902,9 @@ static bool clear_dirty_gfn_range(struct kvm *kvm, struct kvm_mmu_page *root,if (tdp_mmu_iter_cond_resched (kvm, &iter, false))continue ; +if (!is_shadow_present_pte (iter.old_spte)) +continue ; +if (spte_ad_need_write_protect (iter.old_spte)) {if (is_writable_pte (iter.old_spte)) new_spte = iter.old_spte & ~PT_WRITABLE_MASK ;
arch/x86/kvm/svm/avic.c +8 -2
@@ -806,7 +806,7 @@ int svm_update_pi_irte(struct kvm *kvm, unsigned int host_irq, {struct kvm_kernel_irq_routing_entry *e;struct kvm_irq_routing_table *irq_rt; -int idx, ret = -EINVAL ; +int idx, ret =0 ;if (!kvm_arch_has_assigned_device (kvm) || !irq_remapping_cap (IRQ_POSTING_CAP ))
@@ -817,7 +817,13 @@ int svm_update_pi_irte(struct kvm *kvm, unsigned int host_irq, idx =srcu_read_lock (&kvm->irq_srcu); irq_rt =srcu_dereference (kvm->irq_routing, &kvm->irq_srcu); -WARN_ON (guest_irq >= irq_rt->nr_rt_entries); + +if (guest_irq >= irq_rt->nr_rt_entries || +hlist_empty (&irq_rt->map[guest_irq])) { +pr_warn_once ("no route for guest_irq %u/%u (broken user space?)\n" , + guest_irq, irq_rt->nr_rt_entries); + goto out; + }hlist_for_each_entry (e, &irq_rt->map[guest_irq], link) {struct vcpu_data vcpu_info;
arch/x86/xen/pmu.c +4 -6
@@ -512,10 +512,7 @@ irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id)return ret; } -bool is_xen_pmu (int cpu) -{ -return (get_xenpmu_data () !=NULL ); -} +bool is_xen_pmu;void xen_pmu_init (int cpu) {
@@ -526,7 +523,7 @@ void xen_pmu_init(int cpu)BUILD_BUG_ON (sizeof (struct xen_pmu_data ) >PAGE_SIZE ); -if (xen_hvm_domain ()) +if (xen_hvm_domain () || (cpu !=0 && !is_xen_pmu))return ; xenpmu_data = (struct xen_pmu_data *)get_zeroed_page (GFP_KERNEL );
@@ -547,7 +544,8 @@ void xen_pmu_init(int cpu)per_cpu (xenpmu_shared, cpu).xenpmu_data = xenpmu_data;per_cpu (xenpmu_shared, cpu).flags =0 ; -if (cpu ==0 ) { +if (!is_xen_pmu) { + is_xen_pmu = true;perf_register_guest_info_callbacks (&xen_guest_cbs);xen_pmu_arch_init (); }
arch/x86/xen/pmu.h +2 -1
@@ -4,6 +4,8 @@#include <xen/interface/xenpmu.h> +extern bool is_xen_pmu; +irqreturn_t xen_pmu_irq_handler (int irq,void *dev_id);#ifdef CONFIG_XEN_HAVE_VPMU void xen_pmu_init (int cpu);
@@ -12,7 +14,6 @@ void xen_pmu_finish(int cpu);static inline void xen_pmu_init (int cpu) {}static inline void xen_pmu_finish (int cpu) {}#endif -bool is_xen_pmu (int cpu);bool pmu_msr_read (unsigned int msr,uint64_t *val,int *err);bool pmu_msr_write (unsigned int msr,uint32_t low,uint32_t high,int *err);int pmu_apic_update (uint32_t reg);
arch/x86/xen/smp_pv.c +1 -1
@@ -130,7 +130,7 @@ int xen_smp_intr_init_pv(unsigned int cpu)per_cpu (xen_irq_work, cpu).irq = rc;per_cpu (xen_irq_work, cpu).name = callfunc_name; -if (is_xen_pmu (cpu)) { +if (is_xen_pmu) { pmu_name =kasprintf (GFP_KERNEL ,"pmu%d" , cpu); rc = bind_virq_to_irqhandler(VIRQ_XENPMU, cpu, xen_pmu_irq_handler,
arch/xtensa/include/asm/processor.h +2 -2
@@ -226,8 +226,8 @@ extern unsigned long get_wchan(struct task_struct *p);#define xtensa_set_sr (x, sr) \ ({ \ - unsigned int v = (unsigned int)(x); \ - __asm__ __volatile__ ("wsr %0, "__stringify(sr) :: "a"(v)); \ + __asm__ __volatile__ ("wsr %0, "__stringify(sr) :: \ + "a"((unsigned int)(x))); \ })#define xtensa_get_sr (sr) \
arch/xtensa/kernel/jump_label.c +1 -1
@@ -61,7 +61,7 @@ static void patch_text(unsigned long addr, const void *data, size_t sz) .data = data, };stop_machine_cpuslocked (patch_text_stop_machine, - &patch,NULL ); + &patch, cpu_online_mask); }else {unsigned long flags;
block/bfq-cgroup.c +6 -0
@@ -642,6 +642,12 @@ void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq, {struct bfq_entity *entity = &bfqq->entity; +/* +* oom_bfqq is not allowed to move, oom_bfqq will hold ref to root_group +* until elevator exit. +*/ +if (bfqq == &bfqd->oom_bfqq) +return ;/* * Get extra reference to prevent bfqq from being freed in * next possible expire or deactivate.
block/bfq-iosched.c +21 -10
@@ -2526,6 +2526,15 @@ bfq_setup_merge(struct bfq_queue *bfqq, struct bfq_queue *new_bfqq)* are likely to increase the throughput. */ bfqq->new_bfqq = new_bfqq; +/* +* The above assignment schedules the following redirections: +* each time some I/O for bfqq arrives, the process that +* generated that I/O is disassociated from bfqq and +* associated with new_bfqq. Here we increases new_bfqq->ref +* in advance, adding the number of processes that are +* expected to be associated with new_bfqq as they happen to +* issue I/O. +*/ new_bfqq->ref += process_refs;return new_bfqq; }
@@ -2585,6 +2594,10 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq, {struct bfq_queue *in_service_bfqq, *new_bfqq; +/* if a merge has already been setup, then proceed with that first */ +if (bfqq->new_bfqq) +return bfqq->new_bfqq; +/* * Do not perform queue merging if the device is non * rotational and performs internal queueing. In fact, such a
@@ -2639,9 +2652,6 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,if (bfq_too_late_for_merging (bfqq))return NULL ; -if (bfqq->new_bfqq) -return bfqq->new_bfqq; -if (!io_struct ||unlikely (bfqq == &bfqd->oom_bfqq))return NULL ;
@@ -4799,7 +4809,7 @@ static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)struct bfq_data *bfqd = hctx->queue->elevator->elevator_data;struct request *rq;struct bfq_queue *in_serv_queue; -bool waiting_rq, idle_timer_disabled; +bool waiting_rq, idle_timer_disabled = false;spin_lock_irq (&bfqd->lock);
@@ -4807,14 +4817,15 @@ static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) waiting_rq = in_serv_queue &&bfq_bfqq_wait_request (in_serv_queue); rq =__bfq_dispatch_request (hctx); - - idle_timer_disabled = - waiting_rq && !bfq_bfqq_wait_request (in_serv_queue); +if (in_serv_queue == bfqd->in_service_queue) { + idle_timer_disabled = + waiting_rq && !bfq_bfqq_wait_request (in_serv_queue); + }spin_unlock_irq (&bfqd->lock); - -bfq_update_dispatch_stats (hctx->queue, rq, in_serv_queue, - idle_timer_disabled); +bfq_update_dispatch_stats (hctx->queue, rq, + idle_timer_disabled ? in_serv_queue :NULL , + idle_timer_disabled);return rq; }
block/blk-merge.c +11 -0
@@ -7,6 +7,7 @@#include <linux/bio.h> #include <linux/blkdev.h> #include <linux/scatterlist.h> +#include <linux/blk-cgroup.h> #include <trace/events/block.h>
@@ -554,6 +555,9 @@ static inline unsigned int blk_rq_get_max_segments(struct request *rq)static inline int ll_new_hw_segment (struct request *req,struct bio *bio,unsigned int nr_phys_segs) { +if (!blk_cgroup_mergeable (req, bio)) + goto no_merge; +if (blk_integrity_merge_bio (req->q, req, bio) == false) goto no_merge;
@@ -650,6 +654,9 @@ static int ll_merge_requests_fn(struct request_queue *q, struct request *req,if (total_phys_segments >blk_rq_get_max_segments (req))return 0 ; +if (!blk_cgroup_mergeable (req, next->bio)) +return 0 ; +if (blk_integrity_merge_rq (q, req, next) == false)return 0 ;
@@ -861,6 +868,10 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio)if (rq->rq_disk != bio->bi_disk)return false; +/* don't merge across cgroup boundaries */ +if (!blk_cgroup_mergeable (rq, bio)) +return false; +/* only merge integrity protected bio into ditto rq */ if (blk_integrity_merge_bio (rq->q, rq, bio) == false)return false;
block/blk-mq-sched.c +8 -1
@@ -194,11 +194,18 @@ static int __blk_mq_do_dispatch_sched(struct blk_mq_hw_ctx *hctx)static int blk_mq_do_dispatch_sched (struct blk_mq_hw_ctx *hctx) { +unsigned long end = jiffies +HZ ;int ret;do { ret =__blk_mq_do_dispatch_sched (hctx); - }while (ret ==1 ); +if (ret !=1 ) +break ; +if (need_resched () ||time_is_before_jiffies (end)) { +blk_mq_delay_run_hw_queue (hctx,0 ); +break ; + } + }while (1 );return ret; }
block/blk-sysfs.c +5 -3
@@ -958,15 +958,17 @@ void blk_unregister_queue(struct gendisk *disk)*/ if (queue_is_mq (q))blk_mq_unregister_dev (disk_to_dev (disk), q); - -kobject_uevent (&q->kobj,KOBJ_REMOVE ); -kobject_del (&q->kobj);blk_trace_remove_sysfs (disk_to_dev (disk));mutex_lock (&q->sysfs_lock);if (q->elevator)elv_unregister_queue (q);mutex_unlock (&q->sysfs_lock); + +/* Now that we've deleted all child objects, we can delete the queue. */ +kobject_uevent (&q->kobj,KOBJ_REMOVE ); +kobject_del (&q->kobj); +mutex_unlock (&q->sysfs_dir_lock);kobject_put (&disk_to_dev (disk)->kobj);
crypto/authenc.c +1 -1
@@ -253,7 +253,7 @@ static int crypto_authenc_decrypt_tail(struct aead_request *req, dst =scatterwalk_ffwd (areq_ctx->dst, req->dst, req->assoclen);skcipher_request_set_tfm (skreq, ctx->enc); -skcipher_request_set_callback (skreq,aead_request_flags (req), +skcipher_request_set_callback (skreq, flags, req->base.complete, req->base.data);skcipher_request_set_crypt (skreq, src, dst, req->cryptlen - authsize, req->iv);
crypto/rsa-pkcs1pad.c +9 -2
@@ -476,6 +476,8 @@ static int pkcs1pad_verify_complete(struct akcipher_request *req, int err) pos++;if (digest_info) { +if (digest_info->size > dst_len - pos) + goto done;if (crypto_memneq (out_buf + pos, digest_info->data, digest_info->size)) goto done;
@@ -495,7 +497,7 @@ static int pkcs1pad_verify_complete(struct akcipher_request *req, int err)sg_nents_for_len (req->src, req->src_len + req->dst_len), req_ctx->out_buf + ctx->key_size, - req->dst_len, ctx->key_size); + req->dst_len, req->src_len);/* Do the actual verification step. */ if (memcmp (req_ctx->out_buf + ctx->key_size, out_buf + pos, req->dst_len) !=0 )
@@ -538,7 +540,7 @@ static int pkcs1pad_verify(struct akcipher_request *req)if (WARN_ON (req->dst) ||WARN_ON (!req->dst_len) || - !ctx->key_size || req->src_len < ctx->key_size) + !ctx->key_size || req->src_len != ctx->key_size)return -EINVAL ; req_ctx->out_buf =kmalloc (ctx->key_size + req->dst_len,GFP_KERNEL );
@@ -621,6 +623,11 @@ static int pkcs1pad_create(struct crypto_template *tmpl, struct rtattr **tb) rsa_alg =crypto_spawn_akcipher_alg (&ctx->spawn); +if (strcmp (rsa_alg->base.cra_name,"rsa" ) !=0 ) { + err = -EINVAL ; + goto err_free_inst; + } + err = -ENAMETOOLONG ; hash_name =crypto_attr_alg_name (tb[2 ]);if (IS_ERR (hash_name)) {
drivers/acpi/acpica/nswalk.c +3 -0
@@ -169,6 +169,9 @@ acpi_ns_walk_namespace(acpi_object_type type,if (start_node ==ACPI_ROOT_OBJECT ) { start_node = acpi_gbl_root_node; +if (!start_node) { +return_ACPI_STATUS (AE_NO_NAMESPACE ); + } }/* Null child means "get first node" */
drivers/acpi/apei/bert.c +7 -3
@@ -29,6 +29,7 @@#undef pr_fmt#define pr_fmt (fmt) "BERT: " fmt +#define ACPI_BERT_PRINT_MAX_LEN 1024static int bert_disable;
@@ -58,8 +59,11 @@ static void __init bert_print_all(struct acpi_bert_region *region, }pr_info_once ("Error records from previous boot:\n" ); - - cper_estatus_print(KERN_INFO HW_ERR, estatus); +if (region_len <ACPI_BERT_PRINT_MAX_LEN ) + cper_estatus_print(KERN_INFO HW_ERR, estatus); +else +pr_info_once ("Max print length exceeded, table data is available at:\n" +"/sys/firmware/acpi/tables/data/BERT" );/* * Because the boot error source is "one-time polled" type,
@@ -77,7 +81,7 @@ static int __init setup_bert_disable(char *str) { bert_disable =1 ; -return 0 ; +return 1 ; }__setup ("bert_disable" , setup_bert_disable);
drivers/acpi/apei/erst.c +1 -1
@@ -891,7 +891,7 @@ EXPORT_SYMBOL_GPL(erst_clear);static int __init setup_erst_disable (char *str) { erst_disable =1 ; -return 0 ; +return 1 ; }__setup ("erst_disable" , setup_erst_disable);
drivers/acpi/apei/hest.c +1 -1
@@ -219,7 +219,7 @@ static int __init hest_ghes_dev_register(unsigned int ghes_count)static int __init setup_hest_disable (char *str) { hest_disable =HEST_DISABLED ; -return 0 ; +return 1 ; }__setup ("hest_disable" , setup_hest_disable);
drivers/acpi/cppc_acpi.c +5 -0
@@ -719,6 +719,11 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) cpc_obj = &out_obj->package.elements[0 ];if (cpc_obj->type ==ACPI_TYPE_INTEGER ) { num_ent = cpc_obj->integer.value; +if (num_ent <=1 ) { +pr_debug ("Unexpected _CPC NumEntries value (%d) for CPU:%d\n" , + num_ent, pr->id); + goto out_free; + } }else {pr_debug ("Unexpected entry type(%d) for NumEntries\n" , cpc_obj->type);
drivers/acpi/property.c +1 -1
@@ -685,7 +685,7 @@ int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,*/ if (obj->type ==ACPI_TYPE_LOCAL_REFERENCE ) {if (index) -return -EINVAL ; +return -ENOENT ; ret =acpi_bus_get_device (obj->reference.handle, &device);if (ret)
drivers/amba/bus.c +2 -3
@@ -299,11 +299,10 @@ 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 =0 ;pm_runtime_get_sync (dev);if (drv->remove) - ret = drv->remove (pcdev); + drv->remove (pcdev);pm_runtime_put_noidle (dev);/* Undo the runtime PM settings in amba_probe() */
@@ -314,7 +313,7 @@ static int amba_remove(struct device *dev)amba_put_disable_pclk (pcdev);dev_pm_domain_detach (dev, true); -return ret; +return 0 ; }static void amba_shutdown (struct device *dev)
drivers/base/dd.c +1 -1
@@ -771,7 +771,7 @@ static int __init save_async_options(char *buf)pr_warn ("Too long list of driver names for 'driver_async_probe'!\n" );strlcpy (async_probe_drv_names, buf,ASYNC_DRV_NAMES_MAX_LEN ); -return 0 ; +return 1 ; }__setup ("driver_async_probe=" , save_async_options);
drivers/base/power/main.c +4 -2
@@ -1994,7 +1994,9 @@ static bool pm_ops_is_empty(const struct dev_pm_ops *ops)void device_pm_check_callbacks (struct device *dev) { -spin_lock_irq (&dev->power.lock); +unsigned long flags; + +spin_lock_irqsave (&dev->power.lock, flags); dev->power.no_pm_callbacks = (!dev->bus || (pm_ops_is_empty (dev->bus->pm) && !dev->bus->suspend && !dev->bus->resume)) &&
@@ -2003,7 +2005,7 @@ void device_pm_check_callbacks(struct device *dev) (!dev->pm_domain ||pm_ops_is_empty (&dev->pm_domain->ops)) && (!dev->driver || (pm_ops_is_empty (dev->driver->pm) && !dev->driver->suspend && !dev->driver->resume)); -spin_unlock_irq (&dev->power.lock); +spin_unlock_irqrestore (&dev->power.lock, flags); }bool dev_pm_skip_suspend (struct device *dev)
drivers/block/drbd/drbd_req.c +2 -1
@@ -177,7 +177,8 @@ void start_new_tl_epoch(struct drbd_connection *connection)void complete_master_bio (struct drbd_device *device,struct bio_and_error *m) { - m->bio->bi_status =errno_to_blk_status (m->error); +if (unlikely (m->error)) + m->bio->bi_status =errno_to_blk_status (m->error);bio_endio (m->bio);dec_ap_bio (device); }
drivers/block/loop.c +5 -5
@@ -797,33 +797,33 @@ static ssize_t loop_attr_backing_file_show(struct loop_device *lo, char *buf)static ssize_t loop_attr_offset_show (struct loop_device *lo,char *buf) { -return sprintf (buf,"%llu\n" , (unsigned long long )lo->lo_offset); +return sysfs_emit (buf,"%llu\n" , (unsigned long long )lo->lo_offset); }static ssize_t loop_attr_sizelimit_show (struct loop_device *lo,char *buf) { -return sprintf (buf,"%llu\n" , (unsigned long long )lo->lo_sizelimit); +return sysfs_emit (buf,"%llu\n" , (unsigned long long )lo->lo_sizelimit); }static ssize_t loop_attr_autoclear_show (struct loop_device *lo,char *buf) {int autoclear = (lo->lo_flags &LO_FLAGS_AUTOCLEAR ); -return sprintf (buf,"%s\n" , autoclear ?"1" :"0" ); +return sysfs_emit (buf,"%s\n" , autoclear ?"1" :"0" ); }static ssize_t loop_attr_partscan_show (struct loop_device *lo,char *buf) {int partscan = (lo->lo_flags &LO_FLAGS_PARTSCAN ); -return sprintf (buf,"%s\n" , partscan ?"1" :"0" ); +return sysfs_emit (buf,"%s\n" , partscan ?"1" :"0" ); }static ssize_t loop_attr_dio_show (struct loop_device *lo,char *buf) {int dio = (lo->lo_flags &LO_FLAGS_DIRECT_IO ); -return sprintf (buf,"%s\n" , dio ?"1" :"0" ); +return sysfs_emit (buf,"%s\n" , dio ?"1" :"0" ); }LOOP_ATTR_RO (backing_file);
drivers/block/virtio_blk.c +10 -2
@@ -825,9 +825,17 @@ static int virtblk_probe(struct virtio_device *vdev) err =virtio_cread_feature (vdev,VIRTIO_BLK_F_BLK_SIZE , struct virtio_blk_config, blk_size, &blk_size); -if (!err) +if (!err) { + err =blk_validate_block_size (blk_size); +if (err) { +dev_err (&vdev->dev, +"virtio_blk: invalid block size: 0x%x\n" , + blk_size); + goto out_free_tags; + } +blk_queue_logical_block_size (q, blk_size); -else + }else blk_size =queue_logical_block_size (q);/* Use topology information if available */
drivers/bluetooth/btmtksdio.c +2 -2
@@ -981,6 +981,8 @@ static int btmtksdio_probe(struct sdio_func *func, hdev->manufacturer =70 ;set_bit (HCI_QUIRK_NON_PERSISTENT_SETUP , &hdev->quirks); +sdio_set_drvdata (func, bdev); + err =hci_register_dev (hdev);if (err <0 ) {dev_err (&func->dev,"Can't register HCI device\n" );
@@ -988,8 +990,6 @@ static int btmtksdio_probe(struct sdio_func *func,return err; } -sdio_set_drvdata (func, bdev); -/* pm_runtime_enable would be done after the firmware is being * downloaded because the core layer probably already enables * runtime PM for this func such as the case host->caps &
drivers/bluetooth/hci_serdev.c +2 -1
@@ -305,6 +305,8 @@ int hci_uart_register_device(struct hci_uart *hu,if (err)return err; +percpu_init_rwsem (&hu->proto_lock); + err = p->open (hu);if (err) goto err_open;
@@ -327,7 +329,6 @@ int hci_uart_register_device(struct hci_uart *hu,INIT_WORK (&hu->init_ready, hci_uart_init_work);INIT_WORK (&hu->write_work, hci_uart_write_work); -percpu_init_rwsem (&hu->proto_lock);/* Only when vendor specific setup callback is provided, consider * the manufacturer information valid. This avoids filling in the
drivers/bus/mips_cdmm.c +1 -0
@@ -351,6 +351,7 @@ phys_addr_t __weak mips_cdmm_phys_base(void) np =of_find_compatible_node (NULL ,NULL ,"mti,mips-cdmm" );if (np) { err =of_address_to_resource (np,0 , &res); +of_node_put (np);if (!err)return res.start; }
drivers/char/hw_random/Kconfig +1 -1
@@ -427,7 +427,7 @@ config HW_RANDOM_MESON config HW_RANDOM_CAVIUM tristate "Cavium ThunderX Random Number Generator support" - depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT)) + depends on HW_RANDOM && PCI && ARCH_THUNDER default HW_RANDOM help This driver provides kernel-side support for the Random Number
drivers/char/hw_random/atmel-rng.c +1 -0
@@ -114,6 +114,7 @@ static int atmel_trng_probe(struct platform_device *pdev) err_register:clk_disable_unprepare (trng->clk); +atmel_trng_disable (trng);return ret; }
drivers/char/hw_random/cavium-rng-vf.c +185 -9
247 lines not on this page · raw message
drivers/char/hw_random/cavium-rng.c +4 -7
@@ -1,10 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0 /* -* Hardware Random Number Generator support for Cavium Inc. -* Thunder processor family. -* -* This file is subject to the terms and conditions of the GNU General Public -* License. See the file "COPYING" in the main directory of this archive -* for more details. +* Hardware Random Number Generator support. +* Cavium Thunder, Marvell OcteonTx/Tx2 processor families. * * Copyright (C) 2016 Cavium, Inc. */
@@ -91,4 +88,4 @@ static struct pci_driver cavium_rng_pf_driver = {module_pci_driver (cavium_rng_pf_driver);MODULE_AUTHOR ("Omer Khaliq <[email protected]>" ); -MODULE_LICENSE ("GPL" ); +MODULE_LICENSE ("GPL v2" );
drivers/char/hw_random/nomadik-rng.c +3 -4
@@ -65,15 +65,14 @@ static int nmk_rng_probe(struct amba_device *dev, const struct amba_id *id) out_release:amba_release_regions (dev); out_clk: -clk_disable (rng_clk); +clk_disable_unprepare (rng_clk);return ret; } -static int nmk_rng_remove (struct amba_device *dev) +static void nmk_rng_remove (struct amba_device *dev) {amba_release_regions (dev); -clk_disable (rng_clk); -return 0 ; +clk_disable_unprepare (rng_clk); }static const struct amba_id nmk_rng_ids[] = {
drivers/char/tpm/tpm-chip.c +8 -38
15 lines not on this page · raw message
drivers/char/tpm/tpm2-space.c +65 -0
65 lines not on this page · raw message
drivers/clk/uniphier/clk-uniphier-fixed-rate.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/clocksource/exynos_mct.c +39 -21
60 lines not on this page · raw message
drivers/clocksource/timer-microchip-pit64b.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/clocksource/timer-ti-dm-systimer.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/amlogic/amlogic-gxl-cipher.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/rockchip/rk3288_crypto_skcipher.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/irq/dcn21/irq_service_dcn21.c +0 -14
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +22 -7
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_opregion.c +15 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/gem/i915_gem_mman.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/meson/meson_osd_afbcd.c +27 -14
41 lines not on this page · raw message
drivers/gpu/drm/meson/meson_osd_afbcd.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_gpu.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/hid/intel-ish-hid/ishtp-fw-loader.c +3 -26
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-catu.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-cpu-debug.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-cti-core.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etb10.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm3x-core.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x-core.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-funnel.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-replicator.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-stm.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-tmc-core.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-tpiu.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/input/touchscreen/zinitix.c +35 -9
44 lines not on this page · raw message
drivers/media/pci/saa7134/saa7134-alsa.c +3 -5
Lines of this file are not shown. View the raw message.
drivers/media/platform/coda/coda-common.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vidtv/vidtv_s302m.c +13 -4
Lines of this file are not shown. View the raw message.
drivers/media/usb/em28xx/em28xx-cards.c +5 -8
Lines of this file are not shown. View the raw message.
drivers/media/usb/stk1160/stk1160-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/usb/stk1160/stk1160-v4l.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/media/v4l2-core/v4l2-mem2mem.c +41 -12
53 lines not on this page · raw message
drivers/misc/habanalabs/common/debugfs.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/atmel/nand-controller.c +11 -3
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/nand_base.c +20 -24
44 lines not on this page · 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/dsa/microchip/ksz8795_spi.c +11 -0
Lines of this file are not shown. View the raw message.
drivers/net/dsa/microchip/ksz9477_spi.c +12 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmgenet.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +5 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_xsk.c +10 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/pensando/ionic/ionic_main.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qed/qed_sriov.c +27 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qed/qed_sriov.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/xilinx/xilinx_axienet_main.c +42 -30
72 lines not on this page · raw message
drivers/net/wireless/ath/ath9k/htc_hst.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/carl9170/main.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +19 -47
66 lines not on this page · raw message
drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/fw.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7603/main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/main.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +7 -2
Lines of this file are not shown. View the raw message.
drivers/pinctrl/mediatek/pinctrl-mtk-common.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/pinctrl/mediatek/pinctrl-paris.c +13 -17
Lines of this file are not shown. View the raw message.
drivers/pinctrl/nomadik/pinctrl-nomadik.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c +92 -93
185 lines not on this page · raw message
drivers/pinctrl/samsung/pinctrl-samsung.c +23 -7
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_sensorhub_ring.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_sensorhub_trace.h new file +123 -0
123 lines not on this page · raw message
drivers/platform/chrome/cros_ec_trace.h +0 -95
95 lines not on this page · raw message
drivers/platform/chrome/cros_ec_typec.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/power/supply/wm8350_power.c +83 -14
97 lines not on this page · raw message
drivers/regulator/rpi-panel-attiny-regulator.c +46 -10
56 lines not on this page · raw message
drivers/remoteproc/remoteproc_debugfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/scsi/pm8001/pm80xx_hwi.c +114 -95
209 lines not on this page · raw message
drivers/scsi/qla2xxx/qla_init.c +53 -20
73 lines not on this page · raw message
drivers/staging/media/atomisp/pci/atomisp_acc.c +19 -9
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +18 -0
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/hmm/hmm.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_h1_jpeg_enc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_h1_regs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/meson/vdec/esparser.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/meson/vdec/vdec_helpers.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/meson/vdec/vdec_helpers.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_h264.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_h265.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/zoran/zoran_card.c +54 -32
86 lines not on this page · raw message
drivers/staging/media/zoran/zoran_device.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/staging/media/zoran/zoran_driver.c +13 -5
Lines of this file are not shown. View the raw message.
drivers/staging/mt7621-dts/gbpc2.dts +108 -8
116 lines not on this page · raw message
drivers/staging/mt7621-dts/mt7621.dtsi +14 -12
Lines of this file are not shown. View the raw message.
drivers/thermal/intel/int340x_thermal/int3400_thermal.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/usb/storage/ene_ub6250.c +76 -79
155 lines not on this page · raw message
drivers/video/fbdev/core/fbcvt.c +21 -32
53 lines not on this page · raw message
drivers/video/fbdev/matrox/matroxfb_base.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/video/fbdev/sm712fb.c +11 -35
46 lines not on this page · raw message
fs/binfmt_elf.c +48 -42
90 lines not on this page · raw message
fs/cifs/smb2ops.c +70 -60
130 lines not on this page · raw message
fs/coredump.c +67 -19
86 lines not on this page · raw message
fs/ext4/mballoc.c +76 -50
126 lines not on this page · raw message
include/trace/events/ext4.h +49 -29
78 lines not on this page · raw message
kernel/auditsc.c +67 -20
87 lines not on this page · raw message
kernel/bpf/stackmap.c +24 -32
56 lines not on this page · raw message
kernel/locking/lockdep_proc.c +43 -8
51 lines not on this page · raw message
kernel/ptrace.c +32 -15
47 lines not on this page · raw message
net/batman-adv/originator.c +6 -66
72 lines not on this page · raw message
net/batman-adv/originator.h +89 -7
96 lines not on this page · raw message
net/can/isotp.c +39 -30
69 lines not on this page · raw message
net/netfilter/nf_conntrack_proto_tcp.c +13 -4
Lines of this file are not shown. View the raw message.
net/openvswitch/conntrack.c +59 -59
118 lines not on this page · raw message
scripts/gcc-plugins/stackleak_plugin.c +21 -4
Lines of this file are not shown. View the raw message.
security/selinux/include/policycap_names.h +2 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/test_sock_fields.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_lirc_mode2.sh +4 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_lwt_ip_encap.sh +9 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/test_vxlan_under_vrf.sh +4 -4
Lines of this file are not shown. View the raw message.
tools/testing/selftests/x86/check_cc.sh +1 -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.