Linux 5.10.173
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.173 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/ABI/testing/configfs-usb-gadget-uvc | 2 Documentation/admin-guide/cgroup-v1/memory.rst | 13 Documentation/admin-guide/hw-vuln/spectre.rst | 21 Documentation/admin-guide/kdump/gdbmacros.txt | 2 Documentation/dev-tools/gdb-kernel-debugging.rst | 4 Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml | 2 Documentation/virt/kvm/api.rst | 18 Documentation/virt/kvm/devices/vm.rst | 4 Makefile | 13 arch/alpha/boot/tools/objstrip.c | 2 arch/alpha/kernel/traps.c | 30 arch/arm/boot/dts/exynos3250-rinato.dts | 2 arch/arm/boot/dts/exynos4-cpu-thermal.dtsi | 2 arch/arm/boot/dts/exynos4.dtsi | 2 arch/arm/boot/dts/exynos4210.dtsi | 1 arch/arm/boot/dts/exynos5250.dtsi | 2 arch/arm/boot/dts/exynos5410-odroidxu.dts | 1 arch/arm/boot/dts/exynos5420.dtsi | 2 arch/arm/boot/dts/exynos5422-odroidhc1.dts | 10 arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 10 arch/arm/boot/dts/imx7s.dtsi | 2 arch/arm/boot/dts/spear320-hmi.dts | 2 arch/arm/boot/dts/sun8i-h3-nanopi-duo2.dts | 2 arch/arm/mach-imx/mmdc.c | 24 arch/arm/mach-omap1/timer.c | 2 arch/arm/mach-omap2/timer.c | 1 arch/arm/mach-s3c/s3c64xx.c | 3 arch/arm/mach-zynq/slcr.c | 1 arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 4 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 20 arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi | 2 arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts | 2 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts | 2 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-sml5442tw.dts | 1 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 2 arch/arm64/boot/dts/mediatek/mt7622.dtsi | 1 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 12 arch/arm64/boot/dts/qcom/ipq8074.dtsi | 93 arch/arm64/boot/dts/qcom/qcs404.dtsi | 12 arch/arm64/boot/dts/qcom/sc7180.dtsi | 4 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi | 24 arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts | 2 arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 29 arch/m68k/68000/entry.S | 2 arch/m68k/Kconfig.devices | 1 arch/m68k/coldfire/entry.S | 2 arch/m68k/kernel/entry.S | 3 arch/mips/include/asm/syscall.h | 2 arch/mips/include/asm/vpe.h | 1 arch/mips/kernel/smp-cps.c | 8 arch/mips/kernel/vpe-mt.c | 7 arch/mips/lantiq/prom.c | 6 arch/powerpc/Makefile | 2 arch/powerpc/kernel/eeh_driver.c | 71 arch/powerpc/kernel/rtas.c | 24 arch/powerpc/mm/book3s64/radix_tlb.c | 11 arch/powerpc/perf/hv-24x7.c | 42 arch/powerpc/platforms/powernv/pci-ioda.c | 3 arch/powerpc/platforms/pseries/lpar.c | 20 arch/powerpc/platforms/pseries/lparcfg.c | 20 arch/riscv/include/asm/jump_label.h | 2 arch/riscv/include/asm/parse_asm.h | 2 arch/riscv/kernel/time.c | 3 arch/s390/kernel/kprobes.c | 4 arch/s390/kernel/vmlinux.lds.S | 1 arch/s390/kvm/kvm-s390.c | 17 arch/s390/mm/extmem.c | 12 arch/s390/mm/vmem.c | 6 arch/sparc/Kconfig | 2 arch/um/drivers/vector_kern.c | 1 arch/x86/Kconfig | 15 arch/x86/crypto/ghash-clmulni-intel_glue.c | 6 arch/x86/events/zhaoxin/core.c | 8 arch/x86/include/asm/microcode.h | 4 arch/x86/include/asm/microcode_amd.h | 4 arch/x86/include/asm/msr-index.h | 4 arch/x86/include/asm/processor.h | 6 arch/x86/include/asm/reboot.h | 2 arch/x86/include/asm/resctrl.h | 19 arch/x86/include/asm/virtext.h | 16 arch/x86/kernel/cpu/bugs.c | 35 arch/x86/kernel/cpu/common.c | 75 arch/x86/kernel/cpu/microcode/amd.c | 53 arch/x86/kernel/cpu/microcode/core.c | 148 - arch/x86/kernel/cpu/resctrl/rdtgroup.c | 14 arch/x86/kernel/crash.c | 17 arch/x86/kernel/kprobes/opt.c | 6 arch/x86/kernel/process.c | 2 arch/x86/kernel/process_32.c | 2 arch/x86/kernel/process_64.c | 2 arch/x86/kernel/reboot.c | 88 arch/x86/kernel/smp.c | 6 arch/x86/kernel/smpboot.c | 3 arch/x86/kernel/sysfb_efi.c | 8 arch/x86/kernel/traps.c | 4 arch/x86/kvm/lapic.c | 10 arch/x86/um/vdso/um_vdso.c | 12 block/bio-integrity.c | 1 block/blk-iocost.c | 11 block/blk-mq-sched.c | 7 block/blk-mq.c | 3 crypto/essiv.c | 7 crypto/rsa-pkcs1pad.c | 34 crypto/seqiv.c | 2 crypto/xts.c | 8 drivers/acpi/acpica/Makefile | 2 drivers/acpi/acpica/hwvalid.c | 7 drivers/acpi/acpica/nsrepair.c | 12 drivers/acpi/battery.c | 2 drivers/acpi/video_detect.c | 2 drivers/block/brd.c | 26 drivers/block/loop.c | 8 drivers/block/rbd.c | 20 drivers/bluetooth/btusb.c | 4 drivers/char/ipmi/ipmi_ssif.c | 46 drivers/clk/clk.c | 11 drivers/clk/imx/clk.c | 3 drivers/clk/qcom/gcc-qcs404.c | 24 drivers/clk/qcom/gpucc-sc7180.c | 7 drivers/clk/qcom/gpucc-sdm845.c | 7 drivers/clk/renesas/renesas-cpg-mssr.c | 8 drivers/crypto/amcc/crypto4xx_core.c | 10 drivers/crypto/ccp/ccp-dmaengine.c | 21 drivers/crypto/ccp/sev-dev.c | 185 - drivers/crypto/ccp/sev-dev.h | 1 drivers/crypto/hisilicon/sgl.c | 3 drivers/dax/bus.c | 2 drivers/dax/kmem.c | 4 drivers/firmware/google/framebuffer-coreboot.c | 4 drivers/gpio/gpio-vf610.c | 2 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 drivers/gpu/drm/amd/display/dc/core/dc.c | 1 drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c | 8 drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c | 10 drivers/gpu/drm/amd/display/dc/dml/dcn21/display_mode_vba_21.c | 12 drivers/gpu/drm/arm/malidp_planes.c | 2 drivers/gpu/drm/bridge/lontium-lt9611.c | 65 drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 6 drivers/gpu/drm/drm_dp_mst_topology.c | 5 drivers/gpu/drm/drm_edid.c | 21 drivers/gpu/drm/drm_fourcc.c | 4 drivers/gpu/drm/drm_mipi_dsi.c | 52 drivers/gpu/drm/drm_mode_config.c | 8 drivers/gpu/drm/drm_panel_orientation_quirks.c | 6 drivers/gpu/drm/i915/display/intel_quirks.c | 2 drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 2 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 1 drivers/gpu/drm/mediatek/mtk_drm_gem.c | 4 drivers/gpu/drm/mediatek/mtk_dsi.c | 2 drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 7 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 5 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 5 drivers/gpu/drm/msm/dsi/dsi_host.c | 3 drivers/gpu/drm/msm/hdmi/hdmi.c | 4 drivers/gpu/drm/msm/msm_fence.c | 2 drivers/gpu/drm/mxsfb/Kconfig | 1 drivers/gpu/drm/omapdrm/dss/dsi.c | 26 drivers/gpu/drm/radeon/atombios_encoders.c | 5 drivers/gpu/drm/radeon/radeon_device.c | 1 drivers/gpu/drm/tidss/tidss_dispc.c | 4 drivers/gpu/drm/tiny/ili9486.c | 13 drivers/gpu/drm/vc4/vc4_dpi.c | 66 drivers/gpu/drm/vc4/vc4_hdmi.c | 5 drivers/gpu/drm/vc4/vc4_hvs.c | 11 drivers/gpu/drm/vc4/vc4_plane.c | 2 drivers/gpu/drm/vc4/vc4_regs.h | 6 drivers/gpu/drm/virtio/virtgpu_object.c | 3 drivers/gpu/drm/vkms/vkms_drv.c | 3 drivers/gpu/host1x/hw/syncpt_hw.c | 3 drivers/gpu/ipu-v3/ipu-common.c | 1 drivers/hid/hid-asus.c | 38 drivers/hid/hid-bigbenff.c | 75 drivers/hid/hid-debug.c | 1 drivers/hid/hid-input.c | 8 drivers/hid/hid-logitech-hidpp.c | 32 drivers/hwmon/coretemp.c | 128 - drivers/hwmon/ltc2945.c | 2 drivers/hwmon/mlxreg-fan.c | 6 drivers/iio/accel/mma9551_core.c | 10 drivers/infiniband/hw/hfi1/chip.c | 59 drivers/input/misc/iqs269a.c | 327 +-- drivers/input/touchscreen/ads7846.c | 473 ++-- drivers/irqchip/irq-alpine-msi.c | 1 drivers/irqchip/irq-bcm7120-l2.c | 3 drivers/irqchip/irq-brcmstb-l2.c | 6 drivers/irqchip/irq-mvebu-gicp.c | 1 drivers/irqchip/irq-ti-sci-intr.c | 1 drivers/irqchip/irqchip.c | 8 drivers/leds/led-class.c | 6 drivers/md/dm-cache-target.c | 4 drivers/md/dm-flakey.c | 30 drivers/md/dm-thin.c | 2 drivers/md/dm.c | 2 drivers/media/i2c/imx219.c | 257 +- drivers/media/i2c/max9286.c | 1 drivers/media/i2c/ov2740.c | 4 drivers/media/i2c/ov5675.c | 4 drivers/media/i2c/ov7670.c | 2 drivers/media/i2c/ov772x.c | 3 drivers/media/pci/intel/ipu3/ipu3-cio2.c | 3 drivers/media/pci/saa7134/saa7134-core.c | 2 drivers/media/platform/omap3isp/isp.c | 9 drivers/media/platform/ti-vpe/cal.c | 4 drivers/media/rc/ene_ir.c | 3 drivers/media/usb/siano/smsusb.c | 1 drivers/media/usb/uvc/uvc_ctrl.c | 30 drivers/media/usb/uvc/uvc_driver.c | 66 drivers/media/usb/uvc/uvc_entity.c | 2 drivers/media/usb/uvc/uvc_status.c | 40 drivers/media/usb/uvc/uvc_video.c | 15 drivers/media/usb/uvc/uvcvideo.h | 6 drivers/mfd/arizona-core.c | 2 drivers/mfd/pcf50633-adc.c | 7 drivers/misc/mei/bus-fixup.c | 8 drivers/mtd/nand/raw/sunxi_nand.c | 2 drivers/mtd/spi-nor/core.c | 9 drivers/mtd/spi-nor/core.h | 1 drivers/mtd/spi-nor/sfdp.c | 4 drivers/mtd/ubi/build.c | 7 drivers/mtd/ubi/fastmap-wl.c | 12 drivers/mtd/ubi/vmt.c | 18 drivers/mtd/ubi/wl.c | 25 drivers/net/can/usb/esd_usb2.c | 4 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 drivers/net/ethernet/broadcom/genet/bcmmii.c | 11 drivers/net/ethernet/intel/ice/ice_main.c | 17 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 2 drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c | 1 drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c | 3 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 79 drivers/net/tap.c | 2 drivers/net/tun.c | 2 drivers/net/wireless/ath/ath11k/core.h | 1 drivers/net/wireless/ath/ath11k/debugfs.c | 48 drivers/net/wireless/ath/ath11k/dp_rx.c | 1 drivers/net/wireless/ath/ath9k/hif_usb.c | 62 drivers/net/wireless/ath/ath9k/htc.h | 32 drivers/net/wireless/ath/ath9k/htc_drv_init.c | 2 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 10 drivers/net/wireless/ath/ath9k/htc_hst.c | 4 drivers/net/wireless/ath/ath9k/wmi.c | 1 drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 7 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 1 drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 5 drivers/net/wireless/intel/ipw2x00/ipw2200.c | 11 drivers/net/wireless/intel/iwlegacy/3945-mac.c | 16 drivers/net/wireless/intel/iwlegacy/4965-mac.c | 12 drivers/net/wireless/intel/iwlegacy/common.c | 4 drivers/net/wireless/intersil/orinoco/hw.c | 2 drivers/net/wireless/marvell/libertas/cmdresp.c | 2 drivers/net/wireless/marvell/libertas/if_usb.c | 2 drivers/net/wireless/marvell/libertas/main.c | 3 drivers/net/wireless/marvell/libertas_tf/if_usb.c | 2 drivers/net/wireless/marvell/mwifiex/11n.c | 6 drivers/net/wireless/mediatek/mt76/dma.c | 13 drivers/net/wireless/mediatek/mt7601u/dma.c | 3 drivers/net/wireless/microchip/wilc1000/netdev.c | 1 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 5 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 19 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 6 drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 6 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c | 6 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c | 91 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c | 4 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.h | 4 drivers/net/wireless/rsi/rsi_91x_coex.c | 1 drivers/net/wireless/wl3501_cs.c | 2 drivers/nfc/st-nci/se.c | 6 drivers/nfc/st21nfca/se.c | 6 drivers/opp/debugfs.c | 2 drivers/pci/controller/pci-loongson.c | 71 drivers/pci/pci.c | 12 drivers/pci/pci.h | 43 drivers/pci/quirks.c | 23 drivers/pci/setup-bus.c | 179 + drivers/phy/rockchip/phy-rockchip-typec.c | 3 drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 drivers/pinctrl/mediatek/pinctrl-paris.c | 4 drivers/pinctrl/pinctrl-at91-pio4.c | 4 drivers/pinctrl/pinctrl-at91.c | 2 drivers/pinctrl/pinctrl-ingenic.c | 3 drivers/pinctrl/pinctrl-rockchip.c | 952 +++------- drivers/pinctrl/qcom/pinctrl-msm8976.c | 8 drivers/pinctrl/stm32/pinctrl-stm32.c | 1 drivers/powercap/powercap_sys.c | 14 drivers/pwm/pwm-sifive.c | 16 drivers/pwm/pwm-stm32-lp.c | 2 drivers/regulator/max77802-regulator.c | 34 drivers/regulator/s5m8767.c | 6 drivers/remoteproc/mtk_scp_ipi.c | 11 drivers/remoteproc/qcom_q6v5_mss.c | 59 drivers/rpmsg/qcom_glink_native.c | 1 drivers/rtc/rtc-pm8xxx.c | 24 drivers/rtc/rtc-sun6i.c | 16 drivers/s390/block/dasd.c | 4 drivers/s390/block/dasd_eckd.c | 82 drivers/s390/block/dasd_int.h | 1 drivers/scsi/aic94xx/aic94xx_task.c | 3 drivers/scsi/ipr.c | 41 drivers/scsi/mpt3sas/mpt3sas_base.c | 23 drivers/scsi/qla2xxx/qla_nvme.c | 19 drivers/scsi/qla2xxx/qla_os.c | 9 drivers/scsi/ses.c | 64 drivers/soundwire/cadence_master.c | 43 drivers/soundwire/cadence_master.h | 13 drivers/spi/Kconfig | 1 drivers/spi/spi-bcm63xx-hsspi.c | 19 drivers/spi/spi-synquacer.c | 7 drivers/staging/emxx_udc/emxx_udc.c | 7 drivers/thermal/hisi_thermal.c | 4 drivers/thermal/intel/Kconfig | 3 drivers/thermal/intel/intel_powerclamp.c | 20 drivers/thermal/intel/intel_quark_dts_thermal.c | 12 drivers/thermal/intel/intel_soc_dts_iosf.c | 2 drivers/thermal/qcom/tsens-v1.c | 63 drivers/thermal/qcom/tsens.c | 6 drivers/thermal/qcom/tsens.h | 2 drivers/tty/serial/fsl_lpuart.c | 24 drivers/tty/serial/sc16is7xx.c | 51 drivers/tty/tty_io.c | 8 drivers/tty/vt/vc_screen.c | 4 drivers/usb/gadget/function/uvc_configfs.c | 59 drivers/usb/host/xhci-mvebu.c | 2 drivers/usb/storage/ene_ub6250.c | 2 drivers/vdpa/mlx5/core/mr.c | 1 drivers/vfio/vfio_iommu_type1.c | 41 drivers/watchdog/at91sam9_wdt.c | 7 drivers/watchdog/pcwd_usb.c | 6 drivers/watchdog/watchdog_dev.c | 2 fs/cifs/smb2ops.c | 13 fs/cifs/smbdirect.c | 4 fs/coda/upcall.c | 2 fs/exfat/dir.c | 7 fs/exfat/exfat_fs.h | 2 fs/exfat/file.c | 3 fs/exfat/inode.c | 6 fs/exfat/namei.c | 2 fs/exfat/super.c | 3 fs/ext4/xattr.c | 35 fs/f2fs/data.c | 6 fs/f2fs/inline.c | 28 fs/f2fs/super.c | 11 fs/f2fs/verity.c | 12 fs/gfs2/aops.c | 3 fs/gfs2/super.c | 8 fs/hfs/bnode.c | 1 fs/hfsplus/super.c | 4 fs/jbd2/transaction.c | 50 fs/jfs/jfs_dmap.c | 3 fs/nfs/file.c | 15 fs/nfs/inode.c | 6 fs/nfs/nfs4_fs.h | 1 fs/nfs/nfs4proc.c | 22 fs/nfs/nfs4state.c | 40 fs/nfs/nfs4trace.h | 42 fs/nfsd/nfs4layouts.c | 4 fs/nfsd/nfs4proc.c | 2 fs/ocfs2/move_extents.c | 34 fs/ubifs/budget.c | 9 fs/ubifs/dir.c | 9 fs/ubifs/file.c | 12 fs/ubifs/super.c | 17 fs/ubifs/tnc.c | 24 fs/ubifs/ubifs.h | 5 fs/udf/file.c | 26 fs/udf/inode.c | 74 fs/udf/super.c | 1 fs/udf/udf_i.h | 3 fs/udf/udf_sb.h | 2 include/drm/drm_mipi_dsi.h | 4 include/linux/bootconfig.h | 2 include/linux/ima.h | 6 include/linux/kernel.h | 2 include/linux/kernel_stat.h | 2 include/linux/kprobes.h | 2 include/linux/nfs_xdr.h | 2 include/linux/pci.h | 1 include/linux/pci_ids.h | 2 include/linux/rcupdate.h | 11 include/linux/uaccess.h | 4 include/net/sctp/structs.h | 1 include/net/sock.h | 7 include/sound/soc-dapm.h | 1 include/uapi/linux/usb/video.h | 30 include/uapi/linux/uvcvideo.h | 2 io_uring/io_uring.c | 41 kernel/bpf/btf.c | 13 kernel/fail_function.c | 5 kernel/irq/irqdomain.c | 31 kernel/kprobes.c | 6 kernel/pid_namespace.c | 17 kernel/power/energy_model.c | 5 kernel/rcu/tasks.h | 64 kernel/rcu/tree_exp.h | 2 kernel/resource.c | 14 kernel/sched/deadline.c | 5 kernel/sched/rt.c | 10 kernel/time/clocksource.c | 45 kernel/time/hrtimer.c | 2 kernel/time/posix-stubs.c | 2 kernel/time/posix-timers.c | 2 kernel/trace/ring_buffer.c | 49 lib/errname.c | 22 lib/mpi/mpicoder.c | 3 mm/huge_memory.c | 3 mm/memcontrol.c | 4 net/9p/trans_rdma.c | 15 net/9p/trans_xen.c | 48 net/bluetooth/hci_sock.c | 11 net/bluetooth/l2cap_core.c | 24 net/bluetooth/l2cap_sock.c | 8 net/bridge/netfilter/ebtables.c | 2 net/core/dev.c | 4 net/core/sock.c | 15 net/ipv4/inet_connection_sock.c | 1 net/ipv4/inet_hashtables.c | 12 net/ipv4/netfilter/ip_tables.c | 3 net/ipv4/tcp_minisocks.c | 7 net/ipv6/netfilter/ip6_tables.c | 3 net/ipv6/route.c | 11 net/l2tp/l2tp_ppp.c | 125 - net/mac80211/sta_info.c | 2 net/netfilter/nf_conntrack_netlink.c | 5 net/nfc/netlink.c | 4 net/rds/message.c | 2 net/sched/Kconfig | 11 net/sched/Makefile | 1 net/sched/act_sample.c | 11 net/sched/cls_tcindex.c | 756 ------- net/sctp/stream_sched_prio.c | 52 net/sunrpc/clnt.c | 4 net/tls/tls_sw.c | 26 net/wireless/nl80211.c | 2 net/wireless/sme.c | 31 scripts/package/mkdebian | 2 security/integrity/ima/ima_main.c | 7 security/security.c | 7 sound/pci/hda/patch_ca0132.c | 2 sound/pci/hda/patch_realtek.c | 1 sound/pci/ice1712/aureon.c | 2 sound/soc/atmel/mchp-spdifrx.c | 344 ++- sound/soc/atmel/mchp-spdiftx.c | 2 sound/soc/atmel/tse850-pcm5142.c | 2 sound/soc/codecs/Kconfig | 2 sound/soc/codecs/adau7118.c | 19 sound/soc/codecs/tlv320adcx140.c | 2 sound/soc/fsl/fsl_sai.c | 1 sound/soc/kirkwood/kirkwood-dma.c | 2 sound/soc/soc-compress.c | 2 tools/bpf/bpftool/prog.c | 38 tools/iio/iio_utils.c | 23 tools/lib/bpf/btf.c | 13 tools/lib/bpf/nlattr.c | 2 tools/objtool/check.c | 5 tools/perf/perf-completion.sh | 11 tools/perf/util/llvm-utils.c | 25 tools/testing/ktest/ktest.pl | 26 tools/testing/ktest/sample.conf | 5 tools/testing/selftests/bpf/Makefile | 2 tools/testing/selftests/drivers/net/netdevsim/devlink.sh | 18 tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc | 2 tools/testing/selftests/net/fib_tests.sh | 2 tools/testing/selftests/net/udpgso_bench_rx.c | 6 virt/kvm/coalesced_mmio.c | 8 468 files changed, 4808 insertions(+), 4534 deletions(-)
Adam Ford (2):
arm64: dts: renesas: beacon-renesom: Fix gpio expander reference
media: i2c: imx219: Split common registers from mode tables
Adam Skladowski (1):
pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins
Akhil P Oommen (1):
drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()
Al Viro (2):
alpha/boot/tools/objstrip: fix the check for ELF header
alpha: fix FEN fault handling
Alexander Potapenko (1):
fs: f2fs: initialize fsdata in pagecache_write()
Alexander Usyskin (1):
mei: bus-fixup:upon error print return values of send and receive
Alexander Wetzel (1):
wifi: cfg80211: Fix use after free for wext
Alexey Khoroshilov (1):
clk: renesas: cpg-mssr: Fix use after free if cpg_mssr_common_init() failed
Alexey Kodanev (1):
wifi: orinoco: check return value of hermes_write_wordrec()
Alexey V. Vissarionov (1):
ALSA: hda/ca0132: minor fix for allocation size
Alper Nebi Yasak (1):
firmware: coreboot: framebuffer: Ignore reserved pixel color bits
Ammar Faizi (1):
x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
Anders Roxell (1):
powerpc/mm: Rearrange if-else block to avoid clang warning
Andreas Gruenbacher (2):
gfs2: jdata writepage fix
gfs2: Improve gfs2_make_fs_rw error handling
Andrii Nakryiko (2):
libbpf: Fix btf__align_of() by taking into account field offsets
bpf: Fix global subprog context argument resolution logic
Andy Chiu (1):
riscv: jump_label: Fixup unaligned arch_static_branch function
Andy Shevchenko (1):
pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback()
AngeloGioacchino Del Regno (1):
arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
Angus Chen (1):
ARM: imx: Call ida_simple_remove() for ida_simple_get
Armin Wolf (1):
ACPI: battery: Fix missing NUL-termination with large strings
Arnd Bergmann (9):
ARM: s3c: fix s3c64xx_set_timer_source prototype
rtlwifi: fix -Wpointer-sign warning
spi: dw_bt1: fix MUX_MMIO dependencies
drm/amdgpu: fix enum odm_combine_mode mismatch
printf: fix errname.c list
objtool: add UACCESS exceptions for __tsan_volatile_read/write
wifi: ath9k: use proper statements in conditionals
scsi: ipr: Work around fortify-string warning
ASoC: zl38060 add gpiolib dependency
Arun Easi (1):
scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests
Ashok Raj (4):
x86/microcode: Print previous version of microcode after reload x86/microcode: Add a parameter to microcode_check() to store CPU capabilities x86/microcode: Check CPU capabilities after late microcode update correctly x86/microcode: Adjust late loading result reporting message
Bastian Germann (1):
builddeb: clean generated package content
Bastien Nocera (1):
HID: logitech-hidpp: Don't restart communication if not necessary
Benjamin Coddington (2):
nfs4trace: fix state manager flag printing
nfsd: fix race to check ls_layouts
Bitterblue Smith (2):
wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU
wifi: rtl8xxxu: Use a longer retry limit of 48
Bjorn Andersson (1):
rpmsg: glink: Avoid infinite loop on intent for missing channel
Borislav Petkov (3):
x86/cpu: Init AP exception handling from cpu_init_secondary() x86/microcode: Rip out the OLD_INTERFACE x86/microcode: Default-disable late loading
Borislav Petkov (AMD) (3):
x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter x86/microcode/AMD: Add a @cpu parameter to the reloading functions x86/microcode/AMD: Fix mixed steppings support
Breno Leitao (1):
x86/bugs: Reset speculation control settings on init
Carlo Caione (1):
drm/tiny: ili9486: Do not assume 8-bit only SPI controllers
Chen Hui (1):
ARM: OMAP2+: Fix memory leak in realtime_counter_init()
Chen Jun (1):
watchdog: Fix kmemleak in watchdog_cdev_register
Chen-Yu Tsai (3):
arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description
clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled() remoteproc/mtk_scp: Move clk ops outside send_lock
Christian Hewitt (1):
arm64: dts: meson: remove CPU opps below 1GHz for G12A boards
Christophe JAILLET (1):
spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
Claudiu Beznea (5):
ASoC: mchp-spdifrx: fix controls which rely on rsr register
ASoC: mchp-spdifrx: fix return value in case completion times out
ASoC: mchp-spdifrx: fix controls that works with completion mechanism
ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
pinctrl: at91: use devm_kasprintf() to avoid potential leaks
Conor Dooley (1):
RISC-V: time: initialize hrtimer based broadcast clock event device
Corey Minyard (1):
ipmi_ssif: Rename idle state and check
Damien Le Moal (1):
PCI: Avoid FLR for AMD FCH AHCI adapters
Dan Carpenter (2):
wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
thermal: intel: quark_dts: fix error pointer dereference
Dan Williams (1):
dax/kmem: Fix leak of memory-hotplug resources
Daniel Axtens (1):
powerpc/eeh: Small refactor of eeh_handle_normal_event()
Daniel Mentz (1):
drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
Daniel Scally (2):
usb: uvc: Enumerate valid values for color matching
usb: gadget: uvc: Make bSourceID read/write
Daniil Tatianin (1):
ACPICA: nsrepair: handle cases without a return value correctly
Darrell Kavanagh (2):
drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5 firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
Dave Stevenson (5):
drm/vc4: dpi: Add option for inverting pixel clock and output enable drm/vc4: dpi: Fix format mapping for RGB565
drm/vc4: hvs: Set AXI panic modes
drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5 drm/vc4: hdmi: Correct interlaced timings again
David Lamparter (1):
io_uring: remove MSG_NOSIGNAL from recvmsg
David Rientjes (1):
crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2
Dean Luick (1):
IB/hfi1: Update RMT size calculation
Dietmar Eggemann (1):
sched/deadline,rt: Remove unused parameter from pick_next_[rt|dl]_entity()
Dmitry Baryshkov (15):
arm64: dts: qcom: qcs404: use symbol names for PCIe resets thermal/drivers/tsens: Drop msm8976-specific defines thermal/drivers/tsens: Add compat string for the qcom,msm8960 thermal/drivers/tsens: Sort out msm8976 vs msm8956 data drm/bridge: lt9611: fix sleep mode setup
drm/bridge: lt9611: fix HPD reenablement
drm/bridge: lt9611: fix polarity programming
drm/bridge: lt9611: fix programming of video modes drm/bridge: lt9611: fix clock calculation
drm/bridge: lt9611: pass a pointer to the of node
drm/msm: use strscpy instead of strncpy
clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
Dmitry Fomin (1):
ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
Dmitry Goncharov (1):
kbuild: Port silent mode detection to future gnu make.
Dongliang Mu (1):
fs: hfsplus: fix UAF issue in hfsplus_put_super
Doug Berger (1):
net: bcmgenet: fix MoCA LED control
Duoming Zhou (2):
media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
media: usb: siano: Fix use after free bugs caused by do_submit_urb
Eli Cohen (1):
vdpa/mlx5: Don't clear mr struct on destroy MR
Elvira Khabirova (1):
mips: fix syscall_get_nr
Emil Renner Berthing (1):
pwm: sifive: Always let the first pwm_apply_state succeed
Eric Biggers (4):
crypto: x86/ghash - fix unaligned access in ghash_setkey()
f2fs: fix information leak in f2fs_move_inline_dirents()
f2fs: fix cgroup writeback accounting with fs-layer encryption
f2fs: use memcpy_{to,from}_page() where possible
Eric Dumazet (2):
net: fix __dev_kfree_skb_any() vs drop monitor
tcp: tcp_check_req() can be called from process context
Fabrice Gasnier (1):
pwm: stm32-lp: fix the check on arr and cmp registers update
Fedor Pchelkin (3):
wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
nfc: fix memory leak of se_io context in nfc_genl_se_io
Feng Tang (1):
clocksource: Suspend the watchdog temporarily when high read latency detected
Florian Fainelli (3):
irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
net: bcmgenet: Add a check for oversized packets
Florian Westphal (1):
netfilter: ebtables: fix table blob use-after-free
Frank Jungclaus (1):
can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
Frederic Barrat (1):
powerpc/powernv/ioda: Skip unallocated resources when mapping to PE
Frederic Weisbecker (3):
rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose
rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls
rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes()
Ganesh Goudar (1):
powerpc/eeh: Set channel state after notifying the drivers
Gaosheng Cui (1):
media: ti: cal: fix possible memory leak in cal_ctx_create()
Geert Uytterhoeven (3):
drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
clk: renesas: cpg-mssr: Remove superfluous check in resume code
George Kennedy (2):
ubi: ensure that VID header offset + VID header size <= alloc, size
vc_screen: modify vcs_size() handling in vcs_read()
Gerald Schaefer (1):
s390/extmem: return correct segment type in __segment_load()
Greg Kroah-Hartman (3):
PM: EM: fix memory leak with using debugfs_lookup() kernel/fail_function: fix memory leak with using debugfs_lookup() Linux 5.10.173
Grygorii Strashko (2):
net: ethernet: ti: am65-cpsw: fix tx csum offload for multi mac mode
net: ethernet: ti: am65-cpsw: handle deferred probe with dev_err_probe()
Gu Shengxian (1):
ASoC: atmel: fix spelling mistakes
Guenter Roeck (1):
media: uvcvideo: Handle errors from calls to usb_string
Guodong Liu (2):
pinctrl: mediatek: Initialize variable pullen and pullup to zero
pinctrl: mediatek: Initialize variable *buf to zero
Haibo Chen (1):
gpio: vf610: connect GPIO label to dev name
Hangyu Hua (1):
netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
Hans Verkuil (1):
media: i2c: ov7670: 0 instead of -EINVAL was returned
Hans de Goede (2):
leds: led-class: Add missing put_device() to led_put()
ACPI: video: Fix Lenovo Ideapad Z570 DMI match
Harshit Mogalapalli (3):
iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word() drm/virtio: Fix error code in virtio_gpu_object_shmem_init()
Heiko Stuebner (1):
RISC-V: fix funct4 definition for c.jalr in parse_asm.h
Heming Zhao via Ocfs2-devel (2):
ocfs2: fix defrag path triggering jbd2 ASSERT
ocfs2: fix non-auto defrag path not working issue
Herbert Xu (6):
lib/mpi: Fix buffer overrun when SG is too long
crypto: essiv - Handle EBUSY correctly
crypto: seqiv - Handle EBUSY correctly
crypto: xts - Handle EBUSY correctly
crypto: rsa-pkcs1pad - Use akcipher_request_complete
crypto: crypto4xx - Call dma_unmap_page when done
Huacai Chen (2):
PCI: loongson: Prevent LS7A MRRS increases
PCI: loongson: Add more devices that need MRRS quirk
Ian Rogers (1):
perf llvm: Fix inadvertent file creation
Ilya Dryomov (1):
rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
Ilya Leoshkevich (3):
libbpf: Fix alen calculation in libbpf_nla_dump_errormsg() selftests/bpf: Fix out-of-srctree build
s390: discard .interp section
Imre Deak (2):
drm/display/dp_mst: Fix down/up message handling after sink disconnect drm/display/dp_mst: Fix down message handling after a packet reception error
Isaac True (1):
serial: sc16is7xx: setup GPIO controller later in probe
Jack Morgenstein (1):
net/mlx5: Enhance debug print in page allocation failure
Jai Luthra (1):
media: i2c: imx219: Fix binning for RAW8 capture
Jakob Koschel (1):
docs/scripts/gdb: add necessary make scripts_gdb step
Jakub Kicinski (1):
net: tls: avoid hanging tasks on the tx_lock
Jakub Sitnicki (1):
selftests/net: Interpret UDP_GRO cmsg data as an int value
Jamal Hadi Salim (1):
net/sched: Retire tcindex classifier
James Bottomley (1):
scsi: ses: Don't attach if enclosure has no components
Jan Höppner (1):
s390/dasd: Prepare for additional path event handling
Jan Kara (7):
udf: Define EFSCORRUPTED error code
udf: Truncate added extents on failed expansion
udf: Do not bother merging very long extents
udf: Do not update file length for failed writes to inline files
udf: Preserve link count of system files
udf: Detect system inodes linked into directory hierarchy
udf: Fix file corruption when appending just after end of preallocated extent
Jani Nikula (1):
drm/edid: fix AVI infoframe aspect ratio handling
Jann Horn (1):
timers: Prevent union confusion from unexpected restart_syscall()
Jeff LaBundy (5):
Input: iqs269a - drop unused device node references
Input: iqs269a - increase interrupt handler return delay
Input: iqs269a - configure device with a single block write
Input: iqs269a - do not poll during suspend or resume
Input: iqs269a - do not poll during ATI
Jeff Layton (1):
nfsd: zero out pointers after putting nfsd_files on COPY setup error
Jens Axboe (5):
brd: return 0/-error from brd_insert_page()
io_uring: handle TIF_NOTIFY_RESUME when checking for task_work
io_uring: mark task TASK_RUNNING before handling resume/task work
io_uring: add a conditional reschedule to the IOPOLL cancelation loop io_uring/poll: allow some retries for poll triggering spuriously
Jerome Brunet (1):
ASoC: dt-bindings: meson: fix gx-card codec node regex
Jesse Brandeburg (1):
ice: add missing checks for PF vsi type
Jia-Ju Bai (1):
tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
Jianqun Xu (2):
pinctrl: rockchip: add support for rk3568
pinctrl: rockchip: do coding style for mux route struct
Jiapeng Chong (1):
phy: rockchip-typec: Fix unsigned comparison with less than zero
Jiasheng Jiang (9):
wifi: iwl3945: Add missing check for create_singlethread_workqueue
wifi: iwl4965: Add missing check for create_singlethread_workqueue() drm/msm/hdmi: Add missing check for alloc_ordered_workqueue drm/msm/dpu: Add check for cstate
drm/msm/dpu: Add check for pstates
drm/msm/mdp5: Add check for kzalloc
scsi: aic94xx: Add missing check for dma_map_single()
media: platform: ti: Add missing check for devm_regulator_get drm/msm/dsi: Add missing check for alloc_ordered_workqueue
Jingyuan Liang (1):
HID: Add Mapping for System Microphone Mute
Jiri Pirko (1):
sefltests: netdevsim: wait for devlink instance after netns removal
Jisoo Jang (3):
wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
wifi: mt7601u: fix an integer underflow
Johan Hovold (5):
arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size
rtc: pm8xxx: fix set-alarm race
irqdomain: Fix association race
irqdomain: Fix disassociation race
irqdomain: Drop bogus fwspec-mapping error handling
Johannes Weiner (1):
mm: memcontrol: deprecate charge moving
John Allen (1):
crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak
John Ogness (1):
docs: gdbmacros: print newest record
Jonas Karlman (2):
pinctrl: rockchip: fix mux route data for rk3568
pinctrl: rockchip: fix reading pull type on rk3568
Jonathan Cormier (1):
hwmon: (ltc2945) Handle error case in ltc2945_value_store
Juergen Gross (2):
9p/xen: fix version parsing
9p/xen: fix connection sequence
Jun ASAKA (1):
wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
Jun Nie (2):
ext4: optimize ea_inode block expansion
ext4: refuse to create ea block when umounted
KP Singh (2):
x86/speculation: Allow enabling STIBP with legacy IBRS Documentation/hw-vuln: Document the interaction between IBRS and STIBP
Kalle Valo (1):
wifi: ath11k: debugfs: fix to work with multiple PCI devices
Kees Cook (9):
crypto: hisilicon: Wipe entire pool on error
coda: Avoid partial allocation of sig_inputArgs
uaccess: Add minimum bounds check on kernel buffer size
ASoC: kirkwood: Iterate over array indexes instead of using pointer math
regulator: max77802: Bounds check regulator id against opmode
regulator: s5m8767: Bounds check id indexing into arrays
media: uvcvideo: Silence memcpy() run-time false positive warnings
usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
USB: ene_usb6250: Allocate enough memory for full object
Kemeng Shi (3):
blk-mq: avoid sleep in blk_mq_alloc_request_hctx
blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
blk-mq: correct stale comment of .get_budget
Koba Ko (1):
crypto: ccp - Failure on re-initialization due to duplicate sysfs filename
Konrad Dybcio (1):
thermal/drivers/qcom/tsens_v1: Enable sensor 3 on MSM8976
Konstantin Meskhidze (1):
drm: amd: display: Fix memory leakage
Krzysztof Kozlowski (11):
arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name
arm64: dts: qcom: sc7180: correct SPMI bus address cells
ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
ARM: dts: exynos: correct HDMI phy compatible in Exynos4
ARM: dts: exynos: correct TMU phandle in Exynos4210
ARM: dts: exynos: correct TMU phandle in Exynos4
ARM: dts: exynos: correct TMU phandle in Odroid XU3 family
ARM: dts: exynos: correct TMU phandle in Exynos5250
ARM: dts: exynos: correct TMU phandle in Odroid XU
ARM: dts: exynos: correct TMU phandle in Odroid HC1
ARM: dts: spear320-hmi: correct STMPE GPIO compatible
Kuninori Morimoto (1):
ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
Kuniyuki Iwashima (1):
tcp: Fix listen() regression in 5.10.163
Li Hua (2):
ubifs: Fix build errors as symbol undefined
watchdog: pcwd_usb: Fix attempting to access uninitialized memory
Li Nan (1):
blk-iocost: fix divide by 0 error in calc_lcoefs()
Li Zetao (4):
wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
ubi: Fix use-after-free when volume resizing failed
ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
ubifs: Fix memory leak in alloc_wbufs()
Liang He (2):
gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
Linus Torvalds (1):
x86/resctl: fix scheduler confusion with 'current'
Liu Shixin (1):
hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
Liu Shixin via Jfs-discussion (1):
fs/jfs: fix shift exponent db_agl2size negative
Liwei Song (1):
drm/radeon: free iio for atombios when driver shutdown
Lorenzo Bianconi (1):
wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
Louis Rannou (1):
mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
Lu Wei (1):
ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
Luca Ellero (3):
Input: ads7846 - don't report pressure for ads7845
Input: ads7846 - always set last command to PWRDOWN
Input: ads7846 - don't check penirq immediately for 7845
Lucas Tanure (1):
ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix potential user-after-free
Lukas Wunner (2):
PCI/PM: Observe reset delay irrespective of bridge_d3
PCI: hotplug: Allow marking devices as disconnected during bind/unbind
Luke D. Jones (1):
HID: asus: Remove check for same LED brightness on set
Maor Dickman (1):
net/mlx5: Geneve, Fix handling of Geneve object id as error code
Marijn Suijten (1):
drm/msm/dpu: Disallow unallocated resources to be returned
Mario Limonciello (1):
ACPICA: Drop port I/O validation for some regions
Mark Brown (1):
ASoC: zl38060: Remove spurious gpiolib select
Mark Hawrylak (1):
drm/radeon: Fix eDP for single-display iMac11,2
Mark Rutland (1):
ACPI: Don't build ACPICA with '-Os'
Markuss Broks (1):
ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
Martin Blumenstingl (3):
arm64: dts: meson-gx: Fix Ethernet MAC address unit name
arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name
arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
Martin K. Petersen (1):
block: bio-integrity: Copy flags when bio_integrity_payload is cloned
Masahiro Yamada (1):
linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>
Masami Hiramatsu (Google) (1):
selftests/ftrace: Fix bash specific "==" operator
Mavroudis Chatzilaridis (1):
drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv
Mengyuan Lou (1):
PCI: Add ACS quirk for Wangxun NICs
Miaoqian Lin (10):
wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup
irqchip: Fix refcount leak in platform_irqchip_probe irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
leds: led-core: Fix refcount leak in of_led_get()
objtool: Fix memory leak in create_static_call_sections()
malidp: Fix NULL vs IS_ERR() checking
Michael Schmitz (1):
m68k: Check syscall_trace_enter() return code
Mika Westerberg (2):
PCI: Align extra resources for hotplug bridges properly
PCI: Take other bus devices into account when distributing resources
Mike Snitzer (3):
dm: remove flush_scheduled_work() during local_exit() dm thin: add cond_resched() to various workqueue loops dm cache: add cond_resched() to various workqueue loops
Mikko Perttunen (1):
gpu: host1x: Don't skip assigning syncpoints to channels
Mikulas Patocka (2):
dm flakey: fix logic when corrupting a bio
dm flakey: don't corrupt the zero page
Miles Chen (1):
drm/mediatek: Use NULL instead of 0 for NULL pointer
Minsuk Kang (2):
wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect()
Moises Cardona (1):
Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE
Mukesh Ojha (1):
ring-buffer: Handle race between rb_move_tail and rb_check_pages
Nathan Chancellor (2):
ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
powerpc: Remove linker flag from KBUILD_AFLAGS
Nathan Lynch (5):
powerpc/perf/hv-24x7: add missing RTAS retry status handling powerpc/pseries/lpar: add missing RTAS retry status handling powerpc/pseries/lparcfg: add missing RTAS retry status handling powerpc/rtas: make all exports GPL
powerpc/rtas: ensure 4KB alignment for rtas_data_buf
Neil Armstrong (9):
arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names property
arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name
arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name
NeilBrown (2):
NFSv4: keep state manager thread active if swap is enabled
NFS: fix disabling of swap
Nguyen Dinh Phi (1):
Bluetooth: hci_sock: purge socket queues in the destruct() callback
Nico Boehr (1):
KVM: s390: disable migration mode when dirty tracking is disabled
Nuno Sá (1):
ASoC: adau7118: don't disable regulators on device unbind
Nícolas F. R. A. Prado (1):
drm/mediatek: Clean dangling pointer on bind error path
Oleksij Rempel (2):
Input: ads7846 - convert to full duplex
Input: ads7846 - convert to one message
Paul E. McKenney (2):
rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks
rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
Pavel Begunkov (1):
io_uring/rsrc: disallow multi-source reg buffers
Pavel Skripkin (1):
ath9k: htc: clean up statistics macros
Pedro Tammela (1):
net/sched: act_sample: fix action bind logic
Peng Fan (2):
ARM: dts: imx7s: correct iomuxc gpr mux controller cells
clk: imx: avoid memory leak
Peter Gonda (1):
crypto: ccp - Refactor out sev_fw_alloc()
Peter Zijlstra (1):
x86: Mark stop_this_cpu() __noreturn
Pietro Borrello (12):
HID: asus: use spinlock to protect concurrent accesses
HID: asus: use spinlock to safely schedule workers sched/rt: pick_next_rt_entity(): check list_entry
net: add sock_init_data_uid()
tun: tun_chr_open(): correctly initialize socket uid
tap: tap_open(): correctly initialize socket uid
rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
HID: bigben: use spinlock to protect concurrent accesses
HID: bigben_worker() remove unneeded check on report_field
HID: bigben: use spinlock to safely schedule workers
hid: bigben_probe(): validate report count
inet: fix fast path in __inet_hash_connect()
Pingfan Liu (1):
dm: add cond_resched() to dm_wq_work()
Qi Zheng (1):
OPP: fix error checking in opp_migrate_dentry()
Qiheng Lin (3):
ARM: zynq: Fix refcount leak in zynq_early_slcr_init s390/dasd: Fix potential memleak in dasd_eckd_init()
mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
Quinn Tran (2):
scsi: qla2xxx: Fix link failure in NPIV environment
scsi: qla2xxx: Fix erroneous link down
Randolph Sapp (1):
drm: tidss: Fix pixel format definition
Randy Dunlap (5):
m68k: /proc/hardware should depend on PROC_FS
sparc: allow PM configs for sparc32 COMPILE_TEST
MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
MIPS: vpe-mt: drop physical_memsize
thermal: intel: BXT_PMIC: select REGMAP instead of depending on it
Ricardo Ribalda (4):
media: uvcvideo: Handle cameras with invalid descriptors
media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910
media: uvcvideo: Provide sync and async uvc_ctrl_status_event
media: uvcvideo: Fix race condition with usb_kill_urb
Richard Fitzgerald (2):
soundwire: cadence: Remove wasted space in response_buf
soundwire: cadence: Drain the RX FIFO after an IO timeout
Rob Clark (1):
drm/mediatek: Drop unbalanced obj unref
Robert Marko (6):
arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names
arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY
arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges
arm64: dts: qcom: ipq8074: fix Gen3 PCIe node
arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names
arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY
Roberto Sassu (1):
ima: Align ima_file_mmap() parameters with mmap_file LSM hook
Robin Murphy (1):
hwmon: (coretemp) Simplify platform device handling
Roman Li (1):
drm/amd/display: Fix potential null-deref in dm_resume
Roxana Nicolescu (1):
selftest: fib_tests: Always cleanup before exit
Sakari Ailus (1):
media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
Salvatore Bonaccorso (1):
Revert "scsi: mpt3sas: Fix return value check of dma_get_required_mask()"
Sameer Puri (1):
media: i2c: imx219: remove redundant writes
Samuel Holland (3):
ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference
mtd: rawnand: sunxi: Fix the size of the last OOB region
rtc: sun6i: Always export the internal oscillator
Sean Christopherson (8):
crypto: ccp: Use the stack for small SEV command buffers
crypto: ccp: Use the stack and common buffer for status commands
KVM: Destroy target device if coalesced MMIO unregistration fails
KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows) x86/crash: Disable virt in core NMI crash handler to avoid double shootdown x86/reboot: Disable virtualization in an emergency if SVM is supported x86/reboot: Disable SVM, not just VMX, when stopping CPUs
Sebastian Andrzej Siewior (1):
x86/microcode: Replace deprecated CPU-hotplug functions.
Shang XiaoJing (4):
drm: Fix potential null-ptr-deref due to drmm_mode_config_init()
media: max9286: Fix memleak in max9286_v4l2_register()
media: ov2740: Fix memleak in ov2740_init_controls()
media: ov5675: Fix memleak in ov5675_init_controls()Shawn Guo (1):
arm64: dts: qcom: Fix IPQ8074 PCIe PHY nodes
Shay Drory (1):
net/mlx5: fw_tracer: Fix debug print
Shayne Chen (1):
wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
Shengjiu Wang (1):
ASoC: fsl_sai: initialize is_dsp_mode flag
Sherry Sun (1):
tty: serial: fsl_lpuart: disable the CTS when send break signal
Shigeru Yoshida (1):
l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()
Shivani Baranwal (1):
wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data()
Sibi Sankar (1):
remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers
Souradeep Chowdhury (1):
bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
Sreekanth Reddy (3):
scsi: mpt3sas: Don't change DMA mask while reallocating pools
scsi: mpt3sas: re-do lost mpt3sas DMA mask fix
scsi: mpt3sas: Remove usage of dma_get_required_mask() API
Srinivas Pandruvada (1):
thermal: intel: powerclamp: Fix cur_state for multi package system
Steffen Aschbacher (1):
ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
Steve Sistare (1):
vfio/type1: prevent underflow of locked_vm via exec()
Steven Rostedt (3):
ktest.pl: Give back console on Ctrt^C on monitor ktest.pl: Fix missing "end_monitor" when machine check fails ktest.pl: Add RUN_TIMEOUT option with default unlimited
Sungjong Seo (1):
exfat: redefine DIR_DELETED as the bad cluster number
Sven Schnelle (1):
tty: fix out-of-bounds access in tty_driver_lookup_tty()
Tasos Sahanidis (1):
media: saa7134: Use video_unregister_device for radio_dev
Tom Lendacky (1):
crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware
Tomas Henzl (5):
scsi: mpt3sas: Fix a memory leak
scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
scsi: ses: Fix possible desc_ptr out-of-bounds accesses
scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
Tomi Valkeinen (1):
drm/omap: dsi: Fix excessive stack usage
Tonghao Zhang (1):
bpftool: profile online CPUs instead of possible
Trond Myklebust (1):
NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode()
Uwe Kleine-König (1):
pwm: sifive: Reduce time the controller lock is held
Vadim Pasternak (1):
hwmon: (mlxreg-fan) Return zero speed for broken fan
Vaishnav Achath (1):
arm64: dts: ti: k3-j7200: Fix wakeup pinmux range
Valentin Schneider (1):
x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid}Vasily Gorbik (3):
s390/vmem: fix empty page tables cleanup under KASAN s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler s390/kprobes: fix current_kprobe never cleared after kprobes reenter
Volker Lendecke (1):
cifs: Fix uninitialized memory read in smb3_qfs_tcon()
Wan Jiabing (1):
ath9k: hif_usb: simplify if-if to if-else
Wang Qing (1):
net: ethernet: ti: add missing of_node_put before return
William Zhang (1):
spi: bcm63xx-hsspi: Fix multi-bit mode setting
Xiang Yang (1):
um: vector: Fix memory leak in vector_config
Xin Long (1):
sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop
Xinlei Lee (1):
drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd
Yang Jihong (2):
x86/kprobes: Fix __recover_optprobed_insn check optimizing logic x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
Yang Li (1):
thermal: intel: Fix unsigned comparison with less than zero
Yang Yingliang (15):
ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave()
wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave()
wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave()
wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
powercap: fix possible name leak in powercap_register_zone()
ubi: Fix possible null-ptr-deref in ubi_free_volume()
usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
Yicong Yang (1):
perf tools: Fix auto-complete on aarch64
Yin Fengwei (1):
mm/thp: check and bail out if page in deferred queue already
Yongqin Liu (1):
thermal/drivers/hisi: Drop second sensor hi3660
Yuan Can (5):
wifi: rsi: Fix memory leak in rsi_coex_attach() drm/bridge: megachips: Fix error handling in i2c_register_driver() drm/vkms: Fix null-ptr-deref in vkms_release()
media: i2c: ov772x: Fix memleak in ov772x_probe()
staging: emxx_udc: Add checks for dma_alloc_coherent()
Yuezhang Mo (3):
exfat: fix reporting fs error when reading dir beyond EOF
exfat: fix unexpected EOF while reading dir
exfat: fix inode->i_blocks for non-512 byte sector size device
Yulong Zhang (1):
tools/iio/iio_utils:fix memory leak
Zhang Changzhong (2):
wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()
wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
Zhang Xiaoxu (2):
cifs: Fix lost destroy smbd connection when MR allocate failed
cifs: Fix warning and UAF when destroy the MR list
Zhen Lei (1):
genirq: Fix the return type of kstat_cpu_irqs_sum()
Zhengchao Shao (4):
wifi: libertas: fix memory leak in lbs_init_adapter()
wifi: ipw2200: fix memory leak in ipw_wdev_init()
wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid() 9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
Zhihao Cheng (12):
jbd2: fix data missing when reusing bh which is ready to be checkpointed
ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
ubifs: Rectify space budget for ubifs_xrename()
ubifs: Fix wrong dirty space budget for dirty inode
ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
ubifs: Reserve one leb for each journal head while doing budget
ubifs: Re-statistic cleaned znode count if commit failed
ubifs: dirty_cow_znode: Fix memleak in error handling path
ubifs: ubifs_writepage: Mark page dirty after writing inode failed
ubi: fastmap: Fix missed fm_anchor PEB in wear-leveling after disabling fastmap
ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
Zhong Jinghua (1):
loop: loop_set_status_from_info() check before assignment
Zqiang (1):
rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug
ruanjinjie (2):
drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc
watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
silviazhao (1):
x86/perf/zhaoxin: Add stepping check for ZXC
Álvaro Fernández Rojas (1):
spi: bcm63xx-hsspi: fix pm_runtime
Łukasz Stelmach (1):
ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC
Greg Kroah-Hartman
maintainerDocumentation/ABI/testing/configfs-usb-gadget-uvc +1 -1
@@ -51,7 +51,7 @@ Date: Dec 2014 KernelVersion: 4.0 Description: Default output terminal descriptors - All attributes read only: + All attributes read only except bSourceID: ============== ============================================= iTerminal index of string descriptor
Documentation/admin-guide/cgroup-v1/memory.rst +11 -2
@@ -82,6 +82,8 @@ Brief summary of control files. memory.swappiness set/show swappiness parameter of vmscan (See sysctl's vm.swappiness) memory.move_charge_at_immigrate set/show controls of moving charges + This knob is deprecated and shouldn't be + used. memory.oom_control set/show oom controls. memory.numa_stat show the number of memory usage per numa node
@@ -740,8 +742,15 @@ NOTE2: It is recommended to set the soft limit always below the hard limit, otherwise the hard limit will take precedence. -8. Move charges at task migration -================================= +8. Move charges at task migration (DEPRECATED!) +=============================================== + +THIS IS DEPRECATED! + +It's expensive and unreliable! It's better practice to launch workload +tasks directly from inside their target cgroup. Use dedicated workload +cgroups to allow fine-grained policy adjustments without having to +move physical pages between control domains. Users can move charges associated with a task along with task migration, that is, uncharge task's pages from the old cgroup and charge them to the new cgroup.
Documentation/admin-guide/hw-vuln/spectre.rst +16 -5
@@ -479,8 +479,16 @@ Spectre variant 2 On Intel Skylake-era systems the mitigation covers most, but not all, cases. See :ref:`[3] <spec_ref3>` for more details. - On CPUs with hardware mitigation for Spectre variant 2 (e.g. Enhanced - IBRS on x86), retpoline is automatically disabled at run time. + On CPUs with hardware mitigation for Spectre variant 2 (e.g. IBRS + or enhanced IBRS on x86), retpoline is automatically disabled at run time. + + Systems which support enhanced IBRS (eIBRS) enable IBRS protection once at + boot, by setting the IBRS bit, and they're automatically protected against + Spectre v2 variant attacks, including cross-thread branch target injections + on SMT systems (STIBP). In other words, eIBRS enables STIBP too. + + Legacy IBRS systems clear the IBRS bit on exit to userspace and + therefore explicitly enable STIBP for that The retpoline mitigation is turned on by default on vulnerable CPUs. It can be forced on or off by the administrator
@@ -504,9 +512,12 @@ Spectre variant 2 For Spectre variant 2 mitigation, individual user programs can be compiled with return trampolines for indirect branches. This protects them from consuming poisoned entries in the branch - target buffer left by malicious software. Alternatively, the - programs can disable their indirect branch speculation via prctl() - (See :ref:`Documentation/userspace-api/spec_ctrl.rst <set_spec_ctrl>`). + target buffer left by malicious software. + + On legacy IBRS systems, at return to userspace, implicit STIBP is disabled + because the kernel clears the IBRS bit. In this case, the userspace programs + can disable indirect branch speculation via prctl() (See + :ref:`Documentation/userspace-api/spec_ctrl.rst <set_spec_ctrl>`). On x86, this will turn on STIBP to guard against attacks from the sibling thread when the user program is running, and use IBPB to flush the branch target buffer when switching to/from the program.
Documentation/admin-guide/kdump/gdbmacros.txt +1 -1
@@ -312,10 +312,10 @@ define dmesg set var $prev_flags = $info->flags end - set var $id = ($id + 1) & $id_mask if ($id == $end_id) loop_break end + set var $id = ($id + 1) & $id_mask end end document dmesg
Documentation/dev-tools/gdb-kernel-debugging.rst +4 -0
@@ -39,6 +39,10 @@ Setup this mode. In this case, you should build the kernel with CONFIG_RANDOMIZE_BASE disabled if the architecture supports KASLR. +- Build the gdb scripts (required on kernels v5.1 and above):: + + make scripts_gdb + - Enable the gdb stub of QEMU/KVM, either - at VM startup time by appending "-s" to the QEMU command line
Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml +1 -1
@@ -61,7 +61,7 @@ patternProperties: description: phandle of the CPU DAI patternProperties: - "^codec-[0-9]+$": + "^codec(-[0-9]+)?$": type: object description: |- Codecs:
Documentation/virt/kvm/api.rst +12 -6
@@ -4031,6 +4031,18 @@ not holding a previously reported uncorrected error). :Parameters: struct kvm_s390_cmma_log (in, out) :Returns: 0 on success, a negative value on error +Errors: + + ====== ============================================================= + ENOMEM not enough memory can be allocated to complete the task + ENXIO if CMMA is not enabled + EINVAL if KVM_S390_CMMA_PEEK is not set but migration mode was not enabled + EINVAL if KVM_S390_CMMA_PEEK is not set but dirty tracking has been + disabled (and thus migration mode was automatically disabled) + EFAULT if the userspace address is invalid or if no page table is + present for the addresses (e.g. when using hugepages). + ====== ============================================================= + This ioctl is used to get the values of the CMMA bits on the s390 architecture. It is meant to be used in two scenarios:
@@ -4111,12 +4123,6 @@ mask is unused. values points to the userspace buffer where the result will be stored. -This ioctl can fail with -ENOMEM if not enough memory can be allocated to -complete the task, with -ENXIO if CMMA is not enabled, with -EINVAL if -KVM_S390_CMMA_PEEK is not set but migration mode was not enabled, with --EFAULT if the userspace address is invalid or if no page table is -present for the addresses (e.g. when using hugepages). - 4.108 KVM_S390_SET_CMMA_BITS ----------------------------
Documentation/virt/kvm/devices/vm.rst +4 -0
@@ -302,6 +302,10 @@ Allows userspace to start migration mode, needed for PGSTE migration. Setting this attribute when migration mode is already active will have no effects. +Dirty tracking must be enabled on all memslots, else -EINVAL is returned. When +dirty tracking is disabled on any memslot, migration mode is automatically +stopped. + :Parameters: none :Returns: -ENOMEM if there is not enough free memory to start migration mode; -EINVAL if the state of the VM is invalid (e.g. no memory defined);
Makefile +10 -3
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 172 +SUBLEVEL = 173 EXTRAVERSION = NAME = Dare mighty things
@@ -93,9 +93,16 @@ endif # If the user is running make -s (silent mode), suppress echoing of # commands +# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. -ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),) - quiet=silent_ +ifeq ($(filter 3.%,$(MAKE_VERSION)),) +silence:=$(findstring s,$(firstword -$(MAKEFLAGS))) +else +silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS))) +endif + +ifeq ($(silence),s) +quiet=silent_ endif export quiet Q KBUILD_VERBOSE
arch/alpha/boot/tools/objstrip.c +1 -1
@@ -148,7 +148,7 @@ main (int argc, char *argv[])#ifdef __ELF__ elf = (struct elfhdr *) buf; -if (elf->e_ident[0 ] ==0x7f &&str_has_prefix ((char *)elf->e_ident +1 ,"ELF" )) { +if (memcmp (&elf->e_ident[EI_MAG0 ],ELFMAG ,SELFMAG ) ==0 ) {if (elf->e_type !=ET_EXEC ) {fprintf (stderr,"%s: %s is not an ELF executable\n" , prog_name, inname);
arch/alpha/kernel/traps.c +15 -15
@@ -235,7 +235,21 @@ do_entIF(unsigned long type, struct pt_regs *regs) {int signo, code; -if ((regs->ps & ~IPL_MAX ) ==0 ) { +if (type ==3 ) {/* FEN fault */ +/* Irritating users can call PAL_clrfen to disable the +FPU for the process. The kernel will then trap in +do_switch_stack and undo_switch_stack when we try +to save and restore the FP registers. + +Given that GCC by default generates code that uses the +FP registers, PAL_clrfen is not useful except for DoS +attacks. So turn the bleeding FPU back on and be done +with it. */ +current_thread_info ()->pcb.flags |=1 ; +__reload_thread (¤t_thread_info ()->pcb); +return ; + } +if (!user_mode (regs)) {if (type ==1 ) {const unsigned int *data = (const unsigned int *) regs->pc;
@@ -368,20 +382,6 @@ do_entIF(unsigned long type, struct pt_regs *regs) }break ; -case 3 :/* FEN fault */ -/* Irritating users can call PAL_clrfen to disable the -FPU for the process. The kernel will then trap in -do_switch_stack and undo_switch_stack when we try -to save and restore the FP registers. - -Given that GCC by default generates code that uses the -FP registers, PAL_clrfen is not useful except for DoS -attacks. So turn the bleeding FPU back on and be done -with it. */ -current_thread_info ()->pcb.flags |=1 ; -__reload_thread (¤t_thread_info ()->pcb); -return ; -case 5 :/* illoc */ default :/* unexpected instruction-fault type */ ;
arch/arm/boot/dts/exynos3250-rinato.dts +1 -1
@@ -249,7 +249,7 @@ &fimd { i80-if-timings { cs-setup = <0>; wr-setup = <0>; - wr-act = <1>; + wr-active = <1>; wr-hold = <0>; }; };
arch/arm/boot/dts/exynos4-cpu-thermal.dtsi +1 -1
@@ -10,7 +10,7 @@ / { thermal-zones { cpu_thermal: cpu-thermal { - thermal-sensors = <&tmu 0>; + thermal-sensors = <&tmu>; polling-delay-passive = <0>; polling-delay = <0>; trips {
arch/arm/boot/dts/exynos4.dtsi +1 -1
@@ -605,7 +605,7 @@ i2c_8: i2c@138e0000 { status = "disabled"; hdmi_i2c_phy: hdmiphy@38 { - compatible = "exynos4210-hdmiphy"; + compatible = "samsung,exynos4210-hdmiphy"; reg = <0x38>; }; };
arch/arm/boot/dts/exynos4210.dtsi +0 -1
@@ -382,7 +382,6 @@ &cpu_alert2 { &cpu_thermal { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&tmu 0>; }; &gic {
arch/arm/boot/dts/exynos5250.dtsi +1 -1
@@ -1109,7 +1109,7 @@ timer { &cpu_thermal { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&tmu 0>; + thermal-sensors = <&tmu>; cooling-maps { map0 {
arch/arm/boot/dts/exynos5410-odroidxu.dts +0 -1
@@ -116,7 +116,6 @@ &clock_audss { }; &cpu0_thermal { - thermal-sensors = <&tmu_cpu0 0>; polling-delay-passive = <0>; polling-delay = <0>;
arch/arm/boot/dts/exynos5420.dtsi +1 -1
@@ -605,7 +605,7 @@ dp_phy: dp-video-phy { }; mipi_phy: mipi-video-phy { - compatible = "samsung,s5pv210-mipi-video-phy"; + compatible = "samsung,exynos5420-mipi-video-phy"; syscon = <&pmu_system_controller>; #phy-cells = <1>; };
arch/arm/boot/dts/exynos5422-odroidhc1.dts +5 -5
@@ -29,7 +29,7 @@ blueled { thermal-zones { cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmu_cpu0 0>; + thermal-sensors = <&tmu_cpu0>; trips { cpu0_alert0: cpu-alert-0 { temperature = <70000>; /* millicelsius */
@@ -84,7 +84,7 @@ map1 { }; }; cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmu_cpu1 0>; + thermal-sensors = <&tmu_cpu1>; trips { cpu1_alert0: cpu-alert-0 { temperature = <70000>;
@@ -128,7 +128,7 @@ map1 { }; }; cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmu_cpu2 0>; + thermal-sensors = <&tmu_cpu2>; trips { cpu2_alert0: cpu-alert-0 { temperature = <70000>;
@@ -172,7 +172,7 @@ map1 { }; }; cpu3_thermal: cpu3-thermal { - thermal-sensors = <&tmu_cpu3 0>; + thermal-sensors = <&tmu_cpu3>; trips { cpu3_alert0: cpu-alert-0 { temperature = <70000>;
@@ -216,7 +216,7 @@ map1 { }; }; gpu_thermal: gpu-thermal { - thermal-sensors = <&tmu_gpu 0>; + thermal-sensors = <&tmu_gpu>; trips { gpu_alert0: gpu-alert-0 { temperature = <70000>;
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +5 -5
@@ -50,7 +50,7 @@ fan0: pwm-fan { thermal-zones { cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmu_cpu0 0>; + thermal-sensors = <&tmu_cpu0>; polling-delay-passive = <250>; polling-delay = <0>; trips {
@@ -139,7 +139,7 @@ cpu0_cooling_map4: map4 { }; }; cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmu_cpu1 0>; + thermal-sensors = <&tmu_cpu1>; polling-delay-passive = <250>; polling-delay = <0>; trips {
@@ -212,7 +212,7 @@ cpu1_cooling_map4: map4 { }; }; cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmu_cpu2 0>; + thermal-sensors = <&tmu_cpu2>; polling-delay-passive = <250>; polling-delay = <0>; trips {
@@ -285,7 +285,7 @@ cpu2_cooling_map4: map4 { }; }; cpu3_thermal: cpu3-thermal { - thermal-sensors = <&tmu_cpu3 0>; + thermal-sensors = <&tmu_cpu3>; polling-delay-passive = <250>; polling-delay = <0>; trips {
@@ -358,7 +358,7 @@ cpu3_cooling_map4: map4 { }; }; gpu_thermal: gpu-thermal { - thermal-sensors = <&tmu_gpu 0>; + thermal-sensors = <&tmu_gpu>; polling-delay-passive = <250>; polling-delay = <0>; trips {
arch/arm/boot/dts/imx7s.dtsi +1 -1
@@ -494,7 +494,7 @@ gpr: iomuxc-gpr@30340000 { mux: mux-controller { compatible = "mmio-mux"; - #mux-control-cells = <0>; + #mux-control-cells = <1>; mux-reg-masks = <0x14 0x00000010>; };
arch/arm/boot/dts/spear320-hmi.dts +1 -1
@@ -242,7 +242,7 @@ stmpe811@41 { irq-trigger = <0x1>; stmpegpio: stmpe-gpio { - compatible = "stmpe,gpio"; + compatible = "st,stmpe-gpio"; reg = <0>; gpio-controller; #gpio-cells = <2>;
arch/arm/boot/dts/sun8i-h3-nanopi-duo2.dts +1 -1
@@ -57,7 +57,7 @@ reg_vdd_cpux: vdd-cpux-regulator { regulator-ramp-delay = <50>; /* 4ms */ enable-active-high; - enable-gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ + enable-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ gpios-states = <0x1>; states = <1100000 0>, <1300000 1>;
arch/arm/mach-imx/mmdc.c +12 -12
@@ -99,6 +99,7 @@ struct mmdc_pmu {cpumask_t cpu;struct hrtimer hrtimer;unsigned int active_events; +int id;struct device *dev;struct perf_event *mmdc_events[MMDC_NUM_COUNTERS ];struct hlist_node node;
@@ -433,8 +434,6 @@ static enum hrtimer_restart mmdc_pmu_timer_handler(struct hrtimer *hrtimer)static int mmdc_pmu_init (struct mmdc_pmu *pmu_mmdc,void __iomem *mmdc_base,struct device *dev) { -int mmdc_num; - *pmu_mmdc = (struct mmdc_pmu ) { .pmu = (struct pmu ) { .task_ctx_nr = perf_invalid_context,
@@ -452,15 +451,16 @@ static int mmdc_pmu_init(struct mmdc_pmu *pmu_mmdc, .active_events = 0, }; - mmdc_num =ida_simple_get (&mmdc_ida,0 ,0 ,GFP_KERNEL ); + pmu_mmdc->id =ida_simple_get (&mmdc_ida,0 ,0 ,GFP_KERNEL ); -return mmdc_num; +return pmu_mmdc->id; }static int imx_mmdc_remove (struct platform_device *pdev) {struct mmdc_pmu *pmu_mmdc =platform_get_drvdata (pdev); +ida_simple_remove (&mmdc_ida, pmu_mmdc->id);cpuhp_state_remove_instance_nocalls (cpuhp_mmdc_state, &pmu_mmdc->node);perf_pmu_unregister (&pmu_mmdc->pmu);iounmap (pmu_mmdc->mmdc_base);
@@ -474,7 +474,6 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b {struct mmdc_pmu *pmu_mmdc;char *name; -int mmdc_num;int ret;const struct of_device_id *of_id =of_match_device (imx_mmdc_dt_ids, &pdev->dev);
@@ -497,14 +496,14 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b cpuhp_mmdc_state = ret; } - mmdc_num =mmdc_pmu_init (pmu_mmdc, mmdc_base, &pdev->dev); - pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; -if (mmdc_num ==0 ) - name ="mmdc" ; -else - name =devm_kasprintf (&pdev->dev, -GFP_KERNEL ,"mmdc%d" , mmdc_num); + ret =mmdc_pmu_init (pmu_mmdc, mmdc_base, &pdev->dev); +if (ret <0 ) + goto pmu_free; + name =devm_kasprintf (&pdev->dev, +GFP_KERNEL ,"mmdc%d" , ret); + + pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data; hrtimer_init(&pmu_mmdc->hrtimer, CLOCK_MONOTONIC,
@@ -525,6 +524,7 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b pmu_register_err:pr_warn ("MMDC Perf PMU failed (%d), disabled\n" , ret); +ida_simple_remove (&mmdc_ida, pmu_mmdc->id);cpuhp_state_remove_instance_nocalls (cpuhp_mmdc_state, &pmu_mmdc->node);hrtimer_cancel (&pmu_mmdc->hrtimer); pmu_free:
arch/arm/mach-omap1/timer.c +1 -1
@@ -165,7 +165,7 @@ static int __init omap1_dm_timer_init(void)kfree (pdata); err_free_pdev: -platform_device_unregister (pdev); +platform_device_put (pdev);return ret; }
arch/arm/mach-omap2/timer.c +1 -0
@@ -76,6 +76,7 @@ static void __init realtime_counter_init(void) } rate =clk_get_rate (sys_clk); +clk_put (sys_clk);if (soc_is_dra7xx ()) {/*
arch/arm/mach-s3c/s3c64xx.c +2 -1
@@ -173,7 +173,8 @@ static struct samsung_pwm_variant s3c64xx_pwm_variant = { .tclk_mask = (1 << 7) | (1 << 6) | (1 << 5), }; -void __init s3c64xx_set_timer_source (unsigned int event,unsigned int source) +void __init s3c64xx_set_timer_source (enum s3c64xx_timer_mode event, +enum s3c64xx_timer_mode source) { s3c64xx_pwm_variant.output_mask =BIT (SAMSUNG_PWM_NUM ) -1 ; s3c64xx_pwm_variant.output_mask &= ~(BIT (event) |BIT (source));
arch/arm/mach-zynq/slcr.c +1 -0
@@ -213,6 +213,7 @@ int __init zynq_early_slcr_init(void) zynq_slcr_regmap =syscon_regmap_lookup_by_compatible ("xlnx,zynq-slcr" );if (IS_ERR (zynq_slcr_regmap)) {pr_err ("%s: failed to find zynq-slcr\n" , __func__); +of_node_put (np);return -ENODEV ; }
arch/arm64/boot/dts/amlogic/meson-axg.dtsi +2 -2
@@ -151,7 +151,7 @@ scpi { scpi_clocks: clocks { compatible = "arm,scpi-clocks"; - scpi_dvfs: clock-controller { + scpi_dvfs: clocks-0 { compatible = "arm,scpi-dvfs-clocks"; #clock-cells = <1>; clock-indices = <0>;
@@ -160,7 +160,7 @@ scpi_dvfs: clock-controller { }; scpi_sensors: sensors { - compatible = "amlogic,meson-gxbb-scpi-sensors"; + compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors"; #thermal-sensor-cells = <1>; }; };
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +1 -1
@@ -1727,7 +1727,7 @@ int_mdio: mdio@1 { #address-cells = <1>; #size-cells = <0>; - internal_ephy: ethernet_phy@8 { + internal_ephy: ethernet-phy@8 { compatible = "ethernet-phy-id0180.3301", "ethernet-phy-ieee802.3-c22"; interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi +0 -20
@@ -57,26 +57,6 @@ cpu_opp_table: opp-table { compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <666666666>; - opp-microvolt = <731000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <731000>;
arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +1 -1
@@ -17,7 +17,7 @@ adc-keys { io-channel-names = "buttons"; keyup-threshold-microvolt = <1800000>; - update-button { + button-update { label = "update"; linux,code = <KEY_VENDOR>; press-threshold-microvolt = <1300000>;
arch/arm64/boot/dts/amlogic/meson-gx.dtsi +3 -3
@@ -226,7 +226,7 @@ sn: sn@14 { reg = <0x14 0x10>; }; - eth_mac: eth_mac@34 { + eth_mac: eth-mac@34 { reg = <0x34 0x10>; };
@@ -243,7 +243,7 @@ scpi { scpi_clocks: clocks { compatible = "arm,scpi-clocks"; - scpi_dvfs: scpi_clocks@0 { + scpi_dvfs: clocks-0 { compatible = "arm,scpi-dvfs-clocks"; #clock-cells = <1>; clock-indices = <0>;
@@ -524,7 +524,7 @@ periphs: bus@c8834000 { #size-cells = <2>; ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>; - hwrng: rng { + hwrng: rng@0 { compatible = "amlogic,meson-rng"; reg = <0x0 0x0 0x0 0x4>; };
arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts +1 -1
@@ -16,7 +16,7 @@ / { leds { compatible = "gpio-leds"; - status { + led { gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>; default-state = "off"; color = <LED_COLOR_ID_RED>;
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts +1 -1
@@ -18,7 +18,7 @@ cvbs-connector { leds { compatible = "gpio-leds"; - status { + led { label = "n1:white:status"; gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; default-state = "on";
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-sml5442tw.dts +0 -1
@@ -75,6 +75,5 @@ bluetooth { enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; max-speed = <2000000>; clocks = <&wifi32k>; - clock-names = "lpo"; }; };
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +1 -1
@@ -759,7 +759,7 @@ mux { }; }; - eth-phy-mux { + eth-phy-mux@55c { compatible = "mdio-mux-mmioreg", "mdio-mux"; #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/mediatek/mt7622.dtsi +1 -0
@@ -428,6 +428,7 @@ uart3: serial@11005000 { pwm: pwm@11006000 { compatible = "mediatek,mt7622-pwm"; reg = <0 0x11006000 0 0x1000>; + #pwm-cells = <2>; interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; clocks = <&topckgen CLK_TOP_PWM_SEL>, <&pericfg CLK_PERI_PWM_PD>,
arch/arm64/boot/dts/mediatek/mt8183.dtsi +10 -2
@@ -205,6 +205,15 @@ psci { method = "smc"; }; + clk13m: fixed-factor-clock-13m { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&clk26m>; + clock-div = <2>; + clock-mult = <1>; + clock-output-names = "clk13m"; + }; + clk26m: oscillator { compatible = "fixed-clock"; #clock-cells = <0>;
@@ -355,8 +364,7 @@ systimer: timer@10017000 { "mediatek,mt6765-timer"; reg = <0 0x10017000 0 0x1000>; interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; - clocks = <&topckgen CLK_TOP_CLK13M>; - clock-names = "clk13m"; + clocks = <&clk13m>; }; gce: mailbox@10238000 {
arch/arm64/boot/dts/qcom/ipq8074.dtsi +62 -31
172 lines not on this page · raw message
arch/arm64/boot/dts/qcom/qcs404.dtsi +6 -6
@@ -775,7 +775,7 @@ pcie_phy: phy@7786000 { clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; resets = <&gcc GCC_PCIEPHY_0_PHY_BCR>, - <&gcc 21>; + <&gcc GCC_PCIE_0_PIPE_ARES>; reset-names = "phy", "pipe"; clock-output-names = "pcie_0_pipe_clk";
@@ -1305,12 +1305,12 @@ pcie: pci@10000000 { <&gcc GCC_PCIE_0_SLV_AXI_CLK>; clock-names = "iface", "aux", "master_bus", "slave_bus"; - resets = <&gcc 18>, - <&gcc 17>, - <&gcc 15>, - <&gcc 19>, + resets = <&gcc GCC_PCIE_0_AXI_MASTER_ARES>, + <&gcc GCC_PCIE_0_AXI_SLAVE_ARES>, + <&gcc GCC_PCIE_0_AXI_MASTER_STICKY_ARES>, + <&gcc GCC_PCIE_0_CORE_STICKY_ARES>, <&gcc GCC_PCIE_0_BCR>, - <&gcc 16>; + <&gcc GCC_PCIE_0_AHB_ARES>; reset-names = "axi_m", "axi_s", "axi_m_sticky",
arch/arm64/boot/dts/qcom/sc7180.dtsi +2 -2
@@ -3066,8 +3066,8 @@ spmi_bus: spmi@c440000 { interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; qcom,ee = <0>; qcom,channel = <0>; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; cell-index = <0>;
arch/arm64/boot/dts/qcom/sdm845-db845c.dts +1 -1
@@ -896,7 +896,7 @@ sdc2_card_det_n: sd-card-det-n { }; wcd_intr_default: wcd_intr_default { - pins = <54>; + pins = "gpio54"; function = "gpio"; input-enable;
arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi +10 -14
@@ -399,20 +399,6 @@ wm8962_endpoint: endpoint { }; }; - /* 0 - lcd_reset */ - /* 1 - lcd_pwr */ - /* 2 - lcd_select */ - /* 3 - backlight-enable */ - /* 4 - Touch_shdwn */ - /* 5 - LCD_H_pol */ - /* 6 - lcd_V_pol */ - gpio_exp1: gpio@20 { - compatible = "onnn,pca9654"; - reg = <0x20>; - gpio-controller; - #gpio-cells = <2>; - }; - touchscreen@26 { compatible = "ilitek,ili2117"; reg = <0x26>;
@@ -445,6 +431,16 @@ hd3ss3220_ep: endpoint { }; }; }; + + gpio_exp1: gpio@70 { + compatible = "nxp,pca9538"; + reg = <0x70>; + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = "lcd_reset", "lcd_pwr", "lcd_select", + "backlight-enable", "Touch_shdwn", + "LCD_H_pol", "lcd_V_pol"; + }; }; &lvds0 {
arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts +1 -1
@@ -16,7 +16,7 @@ chosen { }; }; -&wkup_pmx0 { +&wkup_pmx2 { mcu_cpsw_pins_default: mcu-cpsw-pins-default { pinctrl-single,pins = < J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi +28 -1
@@ -56,7 +56,34 @@ chipid@43000014 { wkup_pmx0: pinctrl@4301c000 { compatible = "pinctrl-single"; /* Proxy 0 addressing */ - reg = <0x00 0x4301c000 0x00 0x178>; + reg = <0x00 0x4301c000 0x00 0x34>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx1: pinctrl@0x4301c038 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c038 0x00 0x8>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx2: pinctrl@0x4301c068 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c068 0x00 0xec>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx3: pinctrl@0x4301c174 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c174 0x00 0x20>; #pinctrl-cells = <1>; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <0xffffffff>;
arch/m68k/68000/entry.S +2 -0
@@ -47,6 +47,8 @@ do_trace: jbsr syscall_trace_enter RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 + jeq ret_from_exception movel %sp@(PT_OFF_ORIG_D0),%d1 movel #-ENOSYS,%d0 cmpl #NR_syscalls,%d1
arch/m68k/Kconfig.devices +1 -0
@@ -19,6 +19,7 @@ config HEARTBEAT # We have a dedicated heartbeat LED. :-) config PROC_HARDWARE bool "/proc/hardware support" + depends on PROC_FS help Say Y here to support the /proc/hardware file, which gives you access to information about the machine you're running on,
arch/m68k/coldfire/entry.S +2 -0
@@ -92,6 +92,8 @@ ENTRY(system_call) jbsr syscall_trace_enter RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 + jeq ret_from_exception movel %d3,%a0 jbsr %a0@ movel %d0,%sp@(PT_OFF_D0) /* save the return value */
arch/m68k/kernel/entry.S +3 -0
@@ -167,9 +167,12 @@ do_trace_entry: jbsr syscall_trace RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 | optimization for cmpil #-1,%d0 + jeq ret_from_syscall movel %sp@(PT_OFF_ORIG_D0),%d0 cmpl #NR_syscalls,%d0 jcs syscall + jra ret_from_syscall badsys: movel #-ENOSYS,%sp@(PT_OFF_D0) jra ret_from_syscall
arch/mips/include/asm/syscall.h +1 -1
@@ -38,7 +38,7 @@ static inline bool mips_syscall_is_indirect(struct task_struct *task,static inline long syscall_get_nr (struct task_struct *task,struct pt_regs *regs) { -return current_thread_info ()->syscall; +return task_thread_info (task)->syscall; } static inline void mips_syscall_update_nr(struct task_struct *task,
arch/mips/include/asm/vpe.h +0 -1
@@ -104,7 +104,6 @@ struct vpe_control {struct list_head tc_list;/* Thread contexts */ }; -extern unsigned long physical_memsize;extern struct vpe_control vpecontrol;extern const struct file_operations vpe_fops;
arch/mips/kernel/smp-cps.c +5 -3
@@ -423,9 +423,11 @@ static void cps_shutdown_this_cpu(enum cpu_death death)wmb (); } }else { -pr_debug ("Gating power to core %d\n" , core); -/* Power down the core */ -cps_pm_enter_state (CPS_PM_POWER_GATED ); +if (IS_ENABLED (CONFIG_HOTPLUG_CPU )) { +pr_debug ("Gating power to core %d\n" , core); +/* Power down the core */ +cps_pm_enter_state (CPS_PM_POWER_GATED ); + } } }
arch/mips/kernel/vpe-mt.c +3 -4
@@ -92,12 +92,11 @@ int vpe_run(struct vpe *v)write_tc_c0_tchalt (read_tc_c0_tchalt () & ~TCHALT_H );/* -* The sde-kit passes 'memsize' to __start in $a3, so set something -* here... Or set $a3 to zero and define DFLT_STACK_SIZE and -* DFLT_HEAP_SIZE when you compile your program +* We don't pass the memsize here, so VPE programs need to be +* compiled with DFLT_STACK_SIZE and DFLT_HEAP_SIZE defined. */ +mttgpr (7 ,0 );mttgpr (6 , v->ntcs); -mttgpr (7 , physical_memsize);/* set up VPE1 */ /*
arch/mips/lantiq/prom.c +0 -6
@@ -22,12 +22,6 @@DEFINE_SPINLOCK (ebu_lock);EXPORT_SYMBOL_GPL (ebu_lock); -/* -* This is needed by the VPE loader code, just set it to 0 and assume -* that the firmware hardcodes this value to something useful. -*/ -unsigned long physical_memsize =0L ; -/* * this struct is filled by the soc specific detection code and holds * information about the specific soc type, revision and name
arch/powerpc/Makefile +1 -1
@@ -92,7 +92,7 @@ aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mlittle-endian ifeq ($(HAS_BIARCH),y) KBUILD_CFLAGS += -m$(BITS) -KBUILD_AFLAGS += -m$(BITS) -Wl,-a$(BITS) +KBUILD_AFLAGS += -m$(BITS) KBUILD_LDFLAGS += -m elf$(BITS)$(LDEMULATION) endif
arch/powerpc/kernel/eeh_driver.c +36 -35
91 lines not on this page · raw message
arch/powerpc/kernel/rtas.c +12 -12
@@ -52,10 +52,10 @@ struct rtas_t rtas = {EXPORT_SYMBOL (rtas);DEFINE_SPINLOCK (rtas_data_buf_lock); -EXPORT_SYMBOL (rtas_data_buf_lock); +EXPORT_SYMBOL_GPL (rtas_data_buf_lock); -char rtas_data_buf[RTAS_DATA_BUF_SIZE] __cacheline_aligned; -EXPORT_SYMBOL (rtas_data_buf); +char rtas_data_buf[RTAS_DATA_BUF_SIZE ]__aligned(SZ_4K) ; +EXPORT_SYMBOL_GPL (rtas_data_buf);unsigned long rtas_rmo_buf;
@@ -64,7 +64,7 @@ unsigned long rtas_rmo_buf;* This is done like this so rtas_flash can be a module. */ void (*rtas_flash_term_hook)(int ); -EXPORT_SYMBOL (rtas_flash_term_hook); +EXPORT_SYMBOL_GPL (rtas_flash_term_hook);/* RTAS use home made raw locking instead of spin_lock_irqsave * because those can be called from within really nasty contexts
@@ -312,7 +312,7 @@ void rtas_progress(char *s, unsigned short hex)spin_unlock (&progress_lock); } -EXPORT_SYMBOL (rtas_progress);/* needed by rtas_flash module */ +EXPORT_SYMBOL_GPL (rtas_progress);/* needed by rtas_flash module */ int rtas_token (const char *service) {
@@ -322,7 +322,7 @@ int rtas_token(const char *service) tokp =of_get_property (rtas.dev, service,NULL );return tokp ?be32_to_cpu (*tokp) :RTAS_UNKNOWN_SERVICE ; } -EXPORT_SYMBOL (rtas_token); +EXPORT_SYMBOL_GPL (rtas_token);int rtas_service_present (const char *service) {
@@ -482,7 +482,7 @@ int rtas_call(int token, int nargs, int nret, int *outputs, ...) }return ret; } -EXPORT_SYMBOL (rtas_call); +EXPORT_SYMBOL_GPL (rtas_call);/* For RTAS_BUSY (-2), delay for 1 millisecond. For an extended busy status * code of 990n, perform the hinted delay of 10^n (last digit) milliseconds.
@@ -517,7 +517,7 @@ unsigned int rtas_busy_delay(int status)return ms; } -EXPORT_SYMBOL (rtas_busy_delay); +EXPORT_SYMBOL_GPL (rtas_busy_delay);static int rtas_error_rc (int rtas_rc) {
@@ -563,7 +563,7 @@ int rtas_get_power_level(int powerdomain, int *level)return rtas_error_rc (rc);return rc; } -EXPORT_SYMBOL (rtas_get_power_level); +EXPORT_SYMBOL_GPL (rtas_get_power_level);int rtas_set_power_level (int powerdomain,int level,int *setlevel) {
@@ -581,7 +581,7 @@ int rtas_set_power_level(int powerdomain, int level, int *setlevel)return rtas_error_rc (rc);return rc; } -EXPORT_SYMBOL (rtas_set_power_level); +EXPORT_SYMBOL_GPL (rtas_set_power_level);int rtas_get_sensor (int sensor,int index,int *state) {
@@ -599,7 +599,7 @@ int rtas_get_sensor(int sensor, int index, int *state)return rtas_error_rc (rc);return rc; } -EXPORT_SYMBOL (rtas_get_sensor); +EXPORT_SYMBOL_GPL (rtas_get_sensor);int rtas_get_sensor_fast (int sensor,int index,int *state) {
@@ -660,7 +660,7 @@ int rtas_set_indicator(int indicator, int index, int new_value)return rtas_error_rc (rc);return rc; } -EXPORT_SYMBOL (rtas_set_indicator); +EXPORT_SYMBOL_GPL (rtas_set_indicator);/* * Ignoring RTAS extended delay
arch/powerpc/mm/book3s64/radix_tlb.c +4 -7
@@ -941,15 +941,12 @@ static inline void __radix__flush_tlb_range(struct mm_struct *mm, } } }else { -bool hflush = false; +bool hflush;unsigned long hstart, hend; -if (IS_ENABLED (CONFIG_TRANSPARENT_HUGEPAGE )) { - hstart = (start +PMD_SIZE -1 ) &PMD_MASK ; - hend = end &PMD_MASK ; -if (hstart < hend) - hflush = true; - } + hstart = (start +PMD_SIZE -1 ) &PMD_MASK ; + hend = end &PMD_MASK ; + hflush =IS_ENABLED (CONFIG_TRANSPARENT_HUGEPAGE ) && hstart < hend;if (local) { asmvolatile ("ptesync" : : :"memory" );
arch/powerpc/perf/hv-24x7.c +18 -24
59 lines not on this page · raw message
arch/powerpc/platforms/powernv/pci-ioda.c +2 -1
@@ -2260,7 +2260,8 @@ static void pnv_ioda_setup_pe_res(struct pnv_ioda_pe *pe,int index;int64_t rc; -if (!res || !res->flags || res->start > res->end) +if (!res || !res->flags || res->start > res->end || + res->flags &IORESOURCE_UNSET )return ;if (res->flags &IORESOURCE_IO ) {
arch/powerpc/platforms/pseries/lpar.c +10 -10
@@ -1433,22 +1433,22 @@ static inline void __init check_lp_set_hblkrm(unsigned int lp,void __init pseries_lpar_read_hblkrm_characteristics (void ) { +const s32 token =rtas_token ("ibm,get-system-parameter" );unsigned char local_buffer[SPLPAR_TLB_BIC_MAXLENGTH ];int call_status, len, idx, bpsize;if (!firmware_has_feature (FW_FEATURE_BLOCK_REMOVE ))return ; -spin_lock (&rtas_data_buf_lock); -memset (rtas_data_buf,0 ,RTAS_DATA_BUF_SIZE ); - call_status =rtas_call (rtas_token ("ibm,get-system-parameter" ),3 ,1 , -NULL , -SPLPAR_TLB_BIC_TOKEN , -__pa (rtas_data_buf), -RTAS_DATA_BUF_SIZE ); -memcpy (local_buffer, rtas_data_buf,SPLPAR_TLB_BIC_MAXLENGTH ); - local_buffer[SPLPAR_TLB_BIC_MAXLENGTH -1 ] ='\0' ; -spin_unlock (&rtas_data_buf_lock); +do { +spin_lock (&rtas_data_buf_lock); +memset (rtas_data_buf,0 ,RTAS_DATA_BUF_SIZE ); + call_status =rtas_call (token,3 ,1 ,NULL ,SPLPAR_TLB_BIC_TOKEN , +__pa (rtas_data_buf),RTAS_DATA_BUF_SIZE ); +memcpy (local_buffer, rtas_data_buf,SPLPAR_TLB_BIC_MAXLENGTH ); + local_buffer[SPLPAR_TLB_BIC_MAXLENGTH -1 ] ='\0' ; +spin_unlock (&rtas_data_buf_lock); + }while (rtas_busy_delay (call_status));if (call_status !=0 ) { pr_warn("%s %s Error calling get-system-parameter (0x%x)\n",
arch/powerpc/platforms/pseries/lparcfg.c +10 -10
@@ -322,6 +322,7 @@ static void parse_mpp_x_data(struct seq_file *m)*/ static void parse_system_parameter_string (struct seq_file *m) { +const s32 token =rtas_token ("ibm,get-system-parameter" );int call_status;unsigned char *local_buffer =kmalloc (SPLPAR_MAXLENGTH ,GFP_KERNEL );
@@ -331,16 +332,15 @@ static void parse_system_parameter_string(struct seq_file *m)return ; } -spin_lock (&rtas_data_buf_lock); -memset (rtas_data_buf,0 ,SPLPAR_MAXLENGTH ); - call_status =rtas_call (rtas_token ("ibm,get-system-parameter" ),3 ,1 , -NULL , -SPLPAR_CHARACTERISTICS_TOKEN , -__pa (rtas_data_buf), -RTAS_DATA_BUF_SIZE ); -memcpy (local_buffer, rtas_data_buf,SPLPAR_MAXLENGTH ); - local_buffer[SPLPAR_MAXLENGTH -1 ] ='\0' ; -spin_unlock (&rtas_data_buf_lock); +do { +spin_lock (&rtas_data_buf_lock); +memset (rtas_data_buf,0 ,SPLPAR_MAXLENGTH ); + call_status =rtas_call (token,3 ,1 ,NULL ,SPLPAR_CHARACTERISTICS_TOKEN , +__pa (rtas_data_buf),RTAS_DATA_BUF_SIZE ); +memcpy (local_buffer, rtas_data_buf,SPLPAR_MAXLENGTH ); + local_buffer[SPLPAR_MAXLENGTH -1 ] ='\0' ; +spin_unlock (&rtas_data_buf_lock); + }while (rtas_busy_delay (call_status));if (call_status !=0 ) { printk(KERN_INFO
arch/riscv/include/asm/jump_label.h +2 -0
@@ -18,6 +18,7 @@ static __always_inline bool arch_static_branch(struct static_key *key, bool branch) {asm_volatile_goto ( +" .align 2 \n\t" " .option push \n\t" " .option norelax \n\t" " .option norvc \n\t"
@@ -39,6 +40,7 @@ static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) {asm_volatile_goto ( +" .align 2 \n\t" " .option push \n\t" " .option norelax \n\t" " .option norvc \n\t"
arch/riscv/include/asm/parse_asm.h +1 -1
@@ -125,7 +125,7 @@#define FUNCT3_C_J 0xa000#define FUNCT3_C_JAL 0x2000#define FUNCT4_C_JR 0x8000 -#define FUNCT4_C_JALR 0xf000 +#define FUNCT4_C_JALR 0x9000#define FUNCT12_SRET 0x10200000
arch/riscv/kernel/time.c +3 -0
@@ -5,6 +5,7 @@*/ #include <linux/of_clk.h> +#include <linux/clockchips.h> #include <linux/clocksource.h> #include <linux/delay.h> #include <asm/sbi.h>
@@ -28,6 +29,8 @@ void __init time_init(void)of_clk_init (NULL );timer_probe (); + +tick_setup_hrtimer_broadcast (); }void clocksource_arch_init (struct clocksource *cs)
arch/s390/kernel/kprobes.c +2 -2
@@ -241,6 +241,7 @@ static void pop_kprobe(struct kprobe_ctlblk *kcb) {__this_cpu_write (current_kprobe, kcb->prev_kprobe.kp); kcb->kprobe_status = kcb->prev_kprobe.status; + kcb->prev_kprobe.kp =NULL ; }NOKPROBE_SYMBOL (pop_kprobe);
@@ -402,12 +403,11 @@ static int post_kprobe_handler(struct pt_regs *regs)if (!p)return 0 ; +resume_execution (p, regs);if (kcb->kprobe_status !=KPROBE_REENTER && p->post_handler) { kcb->kprobe_status =KPROBE_HIT_SSDONE ; p->post_handler (p, regs,0 ); } - -resume_execution (p, regs);pop_kprobe (kcb);preempt_enable_no_resched ();
arch/s390/kernel/vmlinux.lds.S +1 -0
@@ -188,5 +188,6 @@ SECTIONS DISCARDS /DISCARD/ : { *(.eh_frame) + *(.interp) } }
arch/s390/kvm/kvm-s390.c +17 -0
@@ -5012,6 +5012,23 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,/* When we are protected, we should not change the memory slots */ if (kvm_s390_pv_get_handle (kvm))return -EINVAL ; + +if (!kvm->arch.migration_mode) +return 0 ; + +/* +* Turn off migration mode when: +* - userspace creates a new memslot with dirty logging off, +* - userspace modifies an existing memslot (MOVE or FLAGS_ONLY) and +* dirty logging is turned off. +* Migration mode expects dirty page logging being enabled to store +* its dirty bitmap. +*/ +if (change !=KVM_MR_DELETE && + !(mem->flags &KVM_MEM_LOG_DIRTY_PAGES )) +WARN (kvm_s390_vm_stop_migration (kvm), +"Failed to stop migration mode" ); +return 0 ; }
arch/s390/mm/extmem.c +7 -5
@@ -289,15 +289,17 @@ segment_overlaps_others (struct dcss_segment *seg)/* * real segment loading function, called from segment_load +* Must return either an error code < 0, or the segment type code >= 0 */ static int __segment_load (char *name,int do_nonshared,unsigned long *addr,unsigned long *end) {unsigned long start_addr, end_addr, dummy;struct dcss_segment *seg; -int rc, diag_cc; +int rc, diag_cc, segtype; start_addr = end_addr =0 ; + segtype =-1 ; seg =kmalloc (sizeof (*seg),GFP_KERNEL |GFP_DMA );if (seg ==NULL ) { rc = -ENOMEM ;
@@ -326,9 +328,9 @@ __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long seg->res_name[8 ] ='\0' ;strlcat (seg->res_name," (DCSS)" ,sizeof (seg->res_name)); seg->res->name = seg->res_name; - rc = seg->vm_segtype; -if (rc ==SEG_TYPE_SC || - ((rc ==SEG_TYPE_SR || rc ==SEG_TYPE_ER ) && !do_nonshared)) + segtype = seg->vm_segtype; +if (segtype ==SEG_TYPE_SC || + ((segtype ==SEG_TYPE_SR || segtype ==SEG_TYPE_ER ) && !do_nonshared)) seg->res->flags |=IORESOURCE_READONLY ;/* Check for overlapping resources before adding the mapping. */
@@ -386,7 +388,7 @@ __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long out_free:kfree (seg); out: -return rc; +return rc <0 ? rc : segtype; }/*
arch/s390/mm/vmem.c +3 -3
@@ -296,7 +296,7 @@ static void try_free_pmd_table(pud_t *pud, unsigned long start)if (end >VMALLOC_START )return ;#ifdef CONFIG_KASAN -if (start <KASAN_SHADOW_END &&KASAN_SHADOW_START > end) +if (start <KASAN_SHADOW_END && end >KASAN_SHADOW_START )return ;#endif pmd =pmd_offset (pud, start);
@@ -371,7 +371,7 @@ static void try_free_pud_table(p4d_t *p4d, unsigned long start)if (end >VMALLOC_START )return ;#ifdef CONFIG_KASAN -if (start <KASAN_SHADOW_END &&KASAN_SHADOW_START > end) +if (start <KASAN_SHADOW_END && end >KASAN_SHADOW_START )return ;#endif
@@ -425,7 +425,7 @@ static void try_free_p4d_table(pgd_t *pgd, unsigned long start)if (end >VMALLOC_START )return ;#ifdef CONFIG_KASAN -if (start <KASAN_SHADOW_END &&KASAN_SHADOW_START > end) +if (start <KASAN_SHADOW_END && end >KASAN_SHADOW_START )return ;#endif
arch/sparc/Kconfig +1 -1
@@ -293,7 +293,7 @@ config FORCE_MAX_ZONEORDER This config option is actually maximum order plus one. For example, a value of 13 means that the largest free memory block is 2^12 pages. -if SPARC64 +if SPARC64 || COMPILE_TEST source "kernel/power/Kconfig" endif
arch/um/drivers/vector_kern.c +1 -0
@@ -771,6 +771,7 @@ static int vector_config(char *str, char **error_out)if (parsed ==NULL ) { *error_out ="vector_config failed to parse parameters" ; +kfree (params);return -EINVAL ; }
arch/x86/Kconfig +7 -8
@@ -1329,17 +1329,16 @@ config MICROCODE_AMD If you select this option, microcode patch loading support for AMD processors will be enabled. -config MICROCODE_OLD_INTERFACE - bool "Ancient loading interface (DEPRECATED)" +config MICROCODE_LATE_LOADING + bool "Late microcode loading (DANGEROUS)" default n depends on MICROCODE help - DO NOT USE THIS! This is the ancient /dev/cpu/microcode interface - which was used by userspace tools like iucode_tool and microcode.ctl. - It is inadequate because it runs too late to be able to properly - load microcode on a machine and it needs special tools. Instead, you - should've switched to the early loading method with the initrd or - builtin microcode by now: Documentation/x86/microcode.rst + Loading microcode late, when the system is up and executing instructions + is a tricky business and should be avoided if possible. Just the sequence + of synchronizing all cores and SMT threads is one fragile dance which does + not guarantee that cores might not softlock after the loading. Therefore, + use this at your own risk. Late loading taints the kernel too. config X86_MSR tristate "/dev/cpu/*/msr - Model-specific register support"
arch/x86/crypto/ghash-clmulni-intel_glue.c +3 -3
@@ -19,6 +19,7 @@#include <crypto/internal/simd.h> #include <asm/cpu_device_id.h> #include <asm/simd.h> +#include <asm/unaligned.h> #define GHASH_BLOCK_SIZE 16#define GHASH_DIGEST_SIZE 16
@@ -54,15 +55,14 @@ static int ghash_setkey(struct crypto_shash *tfm, const u8 *key, unsigned int keylen) {struct ghash_ctx *ctx =crypto_shash_ctx (tfm); -be128 *x = (be128 *)key;u64 a, b;if (keylen !=GHASH_BLOCK_SIZE )return -EINVAL ;/* perform multiplication by 'x' in GF(2^128) */ - a =be64_to_cpu (x->a); - b =be64_to_cpu (x->b); + a =get_unaligned_be64 (key); + b =get_unaligned_be64 (key +8 ); ctx->shash.a = (b <<1 ) | (a >>63 ); ctx->shash.b = (a <<1 ) | (b >>63 );
arch/x86/events/zhaoxin/core.c +7 -1
@@ -541,7 +541,13 @@ __init int zhaoxin_pmu_init(void)switch (boot_cpu_data.x86) {case 0x06 : -if (boot_cpu_data.x86_model ==0x0f || boot_cpu_data.x86_model ==0x19 ) { +/* +* Support Zhaoxin CPU from ZXC series, exclude Nano series through FMS. +* Nano FMS: Family=6, Model=F, Stepping=[0-A][C-D] +* ZXC FMS: Family=6, Model=F, Stepping=E-F OR Family=6, Model=0x19, Stepping=0-3 +*/ +if ((boot_cpu_data.x86_model ==0x0f && boot_cpu_data.x86_stepping >=0x0e ) || + boot_cpu_data.x86_model ==0x19 ) { x86_pmu.max_period = x86_pmu.cntval_mask >>1 ;
arch/x86/include/asm/microcode.h +2 -2
@@ -131,7 +131,7 @@ static inline unsigned int x86_cpuid_family(void)int __init microcode_init (void );extern void __init load_ucode_bsp (void );extern void load_ucode_ap (void ); -void reload_early_microcode (void ); +void reload_early_microcode (unsigned int cpu);extern bool get_builtin_firmware (struct cpio_data *cd,const char *name);extern bool initrd_gone;void microcode_bsp_resume (void );
@@ -139,7 +139,7 @@ void microcode_bsp_resume(void);static inline int __init microcode_init (void ) {return 0 ; };static inline void __init load_ucode_bsp (void ) { }static inline void load_ucode_ap (void ) { } -static inline void reload_early_microcode (void ) { } +static inline void reload_early_microcode (unsigned int cpu) { }static inline void microcode_bsp_resume (void ) { }static inline bool get_builtin_firmware (struct cpio_data *cd,const char *name) {return false; }
arch/x86/include/asm/microcode_amd.h +2 -2
@@ -47,12 +47,12 @@ struct microcode_amd {extern void __init load_ucode_amd_bsp (unsigned int family);extern void load_ucode_amd_ap (unsigned int family);extern int __init save_microcode_in_initrd_amd (unsigned int family); -void reload_ucode_amd (void ); +void reload_ucode_amd (unsigned int cpu);#else static inline void __init load_ucode_amd_bsp (unsigned int family) {}static inline void load_ucode_amd_ap (unsigned int family) {}static inline int __init save_microcode_in_initrd_amd (unsigned int family) {return -EINVAL ; } -static inline void reload_ucode_amd (void ) {} +static inline void reload_ucode_amd (unsigned int cpu) {}#endif #endif /* _ASM_X86_MICROCODE_AMD_H */
arch/x86/include/asm/msr-index.h +4 -0
@@ -54,6 +54,10 @@#define SPEC_CTRL_RRSBA_DIS_S_SHIFT 6/* Disable RRSBA behavior */ #define SPEC_CTRL_RRSBA_DIS_S BIT(SPEC_CTRL_RRSBA_DIS_S_SHIFT) +/* A mask for bits which the kernel toggles when controlling mitigations */ +#define SPEC_CTRL_MITIGATIONS_MASK (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP | SPEC_CTRL_SSBD \ + | SPEC_CTRL_RRSBA_DIS_S) +#define MSR_IA32_PRED_CMD 0x00000049/* Prediction Command */ #define PRED_CMD_IBPB BIT(0)/* Indirect Branch Prediction Barrier */
arch/x86/include/asm/processor.h +4 -2
@@ -682,6 +682,7 @@ extern void load_direct_gdt(int);extern void load_fixmap_gdt (int );extern void load_percpu_segment (int );extern void cpu_init (void ); +extern void cpu_init_secondary (void );extern void cpu_init_exception_handling (void );extern void cr4_init (void );
@@ -838,8 +839,9 @@ bool xen_set_default_idle(void);#define xen_set_default_idle 0#endif -void stop_this_cpu (void *dummy); -void microcode_check (void ); +void __noreturn stop_this_cpu (void *dummy); +void microcode_check (struct cpuinfo_x86 *prev_info); +void store_cpu_caps (struct cpuinfo_x86 *info);enum l1tf_mitigations {L1TF_MITIGATION_OFF ,
arch/x86/include/asm/reboot.h +2 -0
@@ -25,6 +25,8 @@ void __noreturn machine_real_restart(unsigned int type);#define MRR_BIOS 0#define MRR_APM 1 +void cpu_emergency_disable_virtualization (void ); +typedef void (*nmi_shootdown_cb )(int ,struct pt_regs *);void nmi_panic_self_stop (struct pt_regs *regs);void nmi_shootdown_cpus (nmi_shootdown_cb callback);
arch/x86/include/asm/resctrl.h +11 -8
@@ -51,24 +51,27 @@ DECLARE_STATIC_KEY_FALSE(rdt_mon_enable_key);* simple as possible. * Must be called with preemption disabled. */ -static void __resctrl_sched_in (void ) +static inline void __resctrl_sched_in (struct task_struct *tsk) {struct resctrl_pqr_state *state =this_cpu_ptr (&pqr_state);u32 closid = state->default_closid;u32 rmid = state->default_rmid; +u32 tmp;/* * If this task has a closid/rmid assigned, use it. * Else use the closid/rmid assigned to this cpu. */ if (static_branch_likely (&rdt_alloc_enable_key)) { -if (current->closid) - closid = current->closid; + tmp =READ_ONCE (tsk->closid); +if (tmp) + closid = tmp; }if (static_branch_likely (&rdt_mon_enable_key)) { -if (current->rmid) - rmid = current->rmid; + tmp =READ_ONCE (tsk->rmid); +if (tmp) + rmid = tmp; }if (closid != state->cur_closid || rmid != state->cur_rmid) {
@@ -78,17 +81,17 @@ static void __resctrl_sched_in(void) } } -static inline void resctrl_sched_in (void ) +static inline void resctrl_sched_in (struct task_struct *tsk) {if (static_branch_likely (&rdt_enable_key)) -__resctrl_sched_in (); +__resctrl_sched_in (tsk); }void resctrl_cpu_detect (struct cpuinfo_x86 *c);#else -static inline void resctrl_sched_in (void ) {} +static inline void resctrl_sched_in (struct task_struct *tsk) {}static inline void resctrl_cpu_detect (struct cpuinfo_x86 *c) {}#endif /* CONFIG_X86_CPU_RESCTRL */
arch/x86/include/asm/virtext.h +15 -1
@@ -120,7 +120,21 @@ static inline void cpu_svm_disable(void)wrmsrl (MSR_VM_HSAVE_PA ,0 );rdmsrl (MSR_EFER , efer); -wrmsrl (MSR_EFER , efer & ~EFER_SVME ); +if (efer &EFER_SVME ) { +/* +* Force GIF=1 prior to disabling SVM to ensure INIT and NMI +* aren't blocked, e.g. if a fatal error occurred between CLGI +* and STGI. Note, STGI may #UD if SVM is disabled from NMI +* context between reading EFER and executing STGI. In that +* case, GIF must already be set, otherwise the NMI would have +* been blocked, so just eat the fault. +*/ + asm_volatile_goto("1: stgi\n\t" + _ASM_EXTABLE(1b, %l[fault]) + ::: "memory" : fault); +fault: + wrmsrl(MSR_EFER, efer & ~EFER_SVME); + } }/** Makes sure SVM is disabled, if it is supported on the CPU
arch/x86/kernel/cpu/bugs.c +27 -8
@@ -136,9 +136,17 @@ void __init check_bugs(void)* have unknown values. AMD64_LS_CFG MSR is cached in the early AMD * init code as it is not enumerated and depends on the family. */ -if (boot_cpu_has (X86_FEATURE_MSR_SPEC_CTRL )) +if (cpu_feature_enabled (X86_FEATURE_MSR_SPEC_CTRL )) {rdmsrl (MSR_IA32_SPEC_CTRL , x86_spec_ctrl_base); +/* +* Previously running kernel (kexec), may have some controls +* turned ON. Clear them and let the mitigations setup below +* rediscover them based on configuration. +*/ + x86_spec_ctrl_base &= ~SPEC_CTRL_MITIGATIONS_MASK ; + } +/* Select the proper CPU mitigations before patching alternatives: */ spectre_v1_select_mitigation ();spectre_v2_select_mitigation ();
@@ -1058,14 +1066,18 @@ spectre_v2_parse_user_cmdline(void)return SPECTRE_V2_USER_CMD_AUTO ; } -static inline bool spectre_v2_in_ibrs_mode (enum spectre_v2_mitigation mode) +static inline bool spectre_v2_in_eibrs_mode (enum spectre_v2_mitigation mode) { -return mode ==SPECTRE_V2_IBRS || - mode ==SPECTRE_V2_EIBRS || +return mode ==SPECTRE_V2_EIBRS || mode ==SPECTRE_V2_EIBRS_RETPOLINE || mode ==SPECTRE_V2_EIBRS_LFENCE ; } +static inline bool spectre_v2_in_ibrs_mode (enum spectre_v2_mitigation mode) +{ +return spectre_v2_in_eibrs_mode (mode) || mode ==SPECTRE_V2_IBRS ; +} +static void __init spectre_v2_user_select_mitigation (void ) {
@@ -1128,12 +1140,19 @@ spectre_v2_user_select_mitigation(void) }/* -* If no STIBP, IBRS or enhanced IBRS is enabled, or SMT impossible, -* STIBP is not required. +* If no STIBP, enhanced IBRS is enabled, or SMT impossible, STIBP +* is not required. +* +* Enhanced IBRS also protects against cross-thread branch target +* injection in user-mode as the IBRS bit remains always set which +* implicitly enables cross-thread protections. However, in legacy IBRS +* mode, the IBRS bit is set only on kernel entry and cleared on return +* to userspace. This disables the implicit cross-thread protection, +* so allow for STIBP to be selected in that case. */ if (!boot_cpu_has (X86_FEATURE_STIBP ) || !smt_possible || -spectre_v2_in_ibrs_mode (spectre_v2_enabled)) +spectre_v2_in_eibrs_mode (spectre_v2_enabled))return ;/*
@@ -2227,7 +2246,7 @@ static ssize_t mmio_stale_data_show_state(char *buf)static char *stibp_state (void ) { -if (spectre_v2_in_ibrs_mode (spectre_v2_enabled)) +if (spectre_v2_in_eibrs_mode (spectre_v2_enabled))return "" ;switch (spectre_v2_user_stibp) {
arch/x86/kernel/cpu/common.c +47 -28
122 lines not on this page · raw message
arch/x86/kernel/cpu/microcode/amd.c +27 -26
118 lines not on this page · raw message
arch/x86/kernel/cpu/microcode/core.c +32 -116
253 lines not on this page · raw message
arch/x86/kernel/cpu/resctrl/rdtgroup.c +7 -7
@@ -311,7 +311,7 @@ static void update_cpu_closid_rmid(void *info)* executing task might have its own closid selected. Just reuse * the context switch code. */ -resctrl_sched_in (); +resctrl_sched_in (current); }/*
@@ -532,7 +532,7 @@ static void _update_task_closid_rmid(void *task)* Otherwise, the MSR is updated when the task is scheduled in. */ if (task == current) -resctrl_sched_in (); +resctrl_sched_in (task); }static void update_task_closid_rmid (struct task_struct *t)
@@ -563,11 +563,11 @@ static int __rdtgroup_move_task(struct task_struct *tsk,*/ if (rdtgrp->type ==RDTCTRL_GROUP ) { - tsk->closid = rdtgrp->closid; - tsk->rmid = rdtgrp->mon.rmid; +WRITE_ONCE (tsk->closid, rdtgrp->closid); +WRITE_ONCE (tsk->rmid, rdtgrp->mon.rmid); }else if (rdtgrp->type ==RDTMON_GROUP ) {if (rdtgrp->mon.parent->closid == tsk->closid) { - tsk->rmid = rdtgrp->mon.rmid; +WRITE_ONCE (tsk->rmid, rdtgrp->mon.rmid); }else {rdt_last_cmd_puts ("Can't move task to different control group\n" );return -EINVAL ;
@@ -2312,8 +2312,8 @@ static void rdt_move_group_tasks(struct rdtgroup *from, struct rdtgroup *to,for_each_process_thread (p, t) {if (!from ||is_closid_match (t, from) ||is_rmid_match (t, from)) { - t->closid = to->closid; - t->rmid = to->mon.rmid; +WRITE_ONCE (t->closid, to->closid); +WRITE_ONCE (t->rmid, to->mon.rmid);/* * Order the closid/rmid stores above before the loads
arch/x86/kernel/crash.c +1 -16
@@ -37,7 +37,6 @@#include <linux/kdebug.h> #include <asm/cpu.h> #include <asm/reboot.h> -#include <asm/virtext.h> #include <asm/intel_pt.h> #include <asm/crash.h> #include <asm/cmdline.h>
@@ -94,15 +93,6 @@ static void kdump_nmi_callback(int cpu, struct pt_regs *regs)*/ cpu_crash_vmclear_loaded_vmcss (); -/* Disable VMX or SVM if needed. -* -* We need to disable virtualization on all CPUs. -* Having VMX or SVM enabled on any CPU may break rebooting -* after the kdump kernel has finished its task. -*/ -cpu_emergency_vmxoff (); -cpu_emergency_svm_disable (); -/* * Disable Intel PT to stop its logging */
@@ -161,12 +151,7 @@ void native_machine_crash_shutdown(struct pt_regs *regs)*/ cpu_crash_vmclear_loaded_vmcss (); -/* Booting kdump kernel with VMX or SVM enabled won't work, -* because (among other limitations) we can't disable paging -* with the virt flags. -*/ -cpu_emergency_vmxoff (); -cpu_emergency_svm_disable (); +cpu_emergency_disable_virtualization ();/* * Disable Intel PT to stop its logging
arch/x86/kernel/kprobes/opt.c +3 -3
@@ -46,8 +46,8 @@ unsigned long __recover_optprobed_insn(kprobe_opcode_t *buf, unsigned long addr)/* This function only handles jump-optimized kprobe */ if (kp &&kprobe_optimized (kp)) { op = container_of(kp, struct optimized_kprobe, kp); -/* If op->list is not empty, op is under optimizing */ -if (list_empty (&op->list)) +/* If op is optimized or under unoptimizing */ +if (list_empty (&op->list) ||optprobe_queued_unopt (op)) goto found; } }
@@ -346,7 +346,7 @@ int arch_check_optimized_kprobe(struct optimized_kprobe *op)for (i =1 ; i < op->optinsn.size; i++) { p =get_kprobe (op->kp.addr + i); -if (p && !kprobe_disabled (p)) +if (p && !kprobe_disarmed (p))return -EEXIST ; }
arch/x86/kernel/process.c +1 -1
@@ -720,7 +720,7 @@ bool xen_set_default_idle(void) }#endif -void stop_this_cpu (void *dummy) +void __noreturn stop_this_cpu (void *dummy) {local_irq_disable ();/*
arch/x86/kernel/process_32.c +1 -1
@@ -214,7 +214,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)switch_fpu_finish (next_p);/* Load the Intel cache allocation PQR MSR. */ -resctrl_sched_in (); +resctrl_sched_in (next_p);return prev_p; }
arch/x86/kernel/process_64.c +1 -1
@@ -629,7 +629,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) }/* Load the Intel cache allocation PQR MSR. */ -resctrl_sched_in (); +resctrl_sched_in (next_p);return prev_p; }
arch/x86/kernel/reboot.c +64 -24
148 lines not on this page · raw message
arch/x86/kernel/smp.c +3 -3
@@ -32,7 +32,7 @@#include <asm/mce.h> #include <asm/trace/irq_vectors.h> #include <asm/kexec.h> -#include <asm/virtext.h> +#include <asm/reboot.h> /* * Some notes on x86 processor bugs affecting SMP operation:
@@ -122,7 +122,7 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)if (raw_smp_processor_id () ==atomic_read (&stopping_cpu))return NMI_HANDLED ; -cpu_emergency_vmxoff (); +cpu_emergency_disable_virtualization ();stop_this_cpu (NULL );return NMI_HANDLED ;
@@ -134,7 +134,7 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)DEFINE_IDTENTRY_SYSVEC (sysvec_reboot) {ack_APIC_irq (); -cpu_emergency_vmxoff (); +cpu_emergency_disable_virtualization ();stop_this_cpu (NULL ); }
arch/x86/kernel/smpboot.c +1 -2
@@ -227,8 +227,7 @@ static void notrace start_secondary(void *unused)load_cr3 (swapper_pg_dir);__flush_tlb_all ();#endif -cpu_init_exception_handling (); -cpu_init (); +cpu_init_secondary ();rcu_cpu_starting (raw_smp_processor_id ()); x86_cpuinit.early_percpu_clock_init ();smp_callin ();
arch/x86/kernel/sysfb_efi.c +8 -0
@@ -264,6 +264,14 @@ static const struct dmi_system_id efifb_dmi_swap_width_height[] __initconst = { "Lenovo ideapad D330-10IGM"), }, }, + { + /* Lenovo IdeaPad Duet 3 10IGL5 with 1200x1920 portrait screen */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, + "IdeaPad Duet 3 10IGL5"), + }, + }, {}, };
arch/x86/kernel/traps.c +1 -3
@@ -1185,9 +1185,7 @@ void __init trap_init(void)idt_setup_traps (); -/* -* Should be a barrier for any external CPU state: -*/ +cpu_init_exception_handling ();cpu_init ();idt_setup_ist_traps ();
arch/x86/kvm/lapic.c +7 -3
@@ -2115,10 +2115,14 @@ int kvm_lapic_reg_write(struct kvm_lapic *apic, u32 reg, u32 val)break ;case APIC_SELF_IPI : -if (apic_x2apic_mode (apic)) -kvm_apic_send_ipi (apic,APIC_DEST_SELF | (val &APIC_VECTOR_MASK ),0 ); -else +/* +* Self-IPI exists only when x2APIC is enabled. Bits 7:0 hold +* the vector, everything else is reserved. +*/ +if (!apic_x2apic_mode (apic) || (val & ~APIC_VECTOR_MASK )) ret =1 ; +else +kvm_apic_send_ipi (apic,APIC_DEST_SELF | val,0 );break ;default : ret =1 ;
arch/x86/um/vdso/um_vdso.c +8 -4
@@ -17,8 +17,10 @@ int __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) {long ret; - asm("syscall" :"=a" (ret) : -"0" (__NR_clock_gettime),"D" (clock),"S" (ts) :"memory" ); + asm("syscall" + :"=a" (ret) + :"0" (__NR_clock_gettime),"D" (clock),"S" (ts) + :"rcx" ,"r11" ,"memory" );return ret; }
@@ -29,8 +31,10 @@ int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) {long ret; - asm("syscall" :"=a" (ret) : -"0" (__NR_gettimeofday),"D" (tv),"S" (tz) :"memory" ); + asm("syscall" + :"=a" (ret) + :"0" (__NR_gettimeofday),"D" (tv),"S" (tz) + :"rcx" ,"r11" ,"memory" );return ret; }
block/bio-integrity.c +1 -0
@@ -428,6 +428,7 @@ int bio_integrity_clone(struct bio *bio, struct bio *bio_src, bip->bip_vcnt = bip_src->bip_vcnt; bip->bip_iter = bip_src->bip_iter; + bip->bip_flags = bip_src->bip_flags & ~BIP_BLOCK_INTEGRITY ;return 0 ; }
block/blk-iocost.c +8 -3
@@ -872,9 +872,14 @@ static void calc_lcoefs(u64 bps, u64 seqiops, u64 randiops, *page = *seqio = *randio =0 ; -if (bps) - *page =DIV64_U64_ROUND_UP (VTIME_PER_SEC , -DIV_ROUND_UP_ULL (bps,IOC_PAGE_SIZE )); +if (bps) { +u64 bps_pages =DIV_ROUND_UP_ULL (bps,IOC_PAGE_SIZE ); + +if (bps_pages) + *page =DIV64_U64_ROUND_UP (VTIME_PER_SEC , bps_pages); +else + *page =1 ; + }if (seqiops) { v =DIV64_U64_ROUND_UP (VTIME_PER_SEC , seqiops);
block/blk-mq-sched.c +3 -4
@@ -45,8 +45,7 @@ void blk_mq_sched_assign_ioc(struct request *rq) }/* -* Mark a hardware queue as needing a restart. For shared queues, maintain -* a count of how many hardware queues are marked for restart. +* Mark a hardware queue as needing a restart. */ void blk_mq_sched_mark_restart_hctx (struct blk_mq_hw_ctx *hctx) {
@@ -110,7 +109,7 @@ static bool blk_mq_dispatch_hctx_list(struct list_head *rq_list)/* * Only SCSI implements .get_budget and .put_budget, and SCSI restarts * its queue by itself in its completion handler, so we don't need to -* restart queue if .get_budget() returns BLK_STS_NO_RESOURCE. +* restart queue if .get_budget() fails to get the budget. * * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to * be run again. This is necessary to avoid starving flushes.
@@ -224,7 +223,7 @@ static struct blk_mq_ctx *blk_mq_next_ctx(struct blk_mq_hw_ctx *hctx,/* * Only SCSI implements .get_budget and .put_budget, and SCSI restarts * its queue by itself in its completion handler, so we don't need to -* restart queue if .get_budget() returns BLK_STS_NO_RESOURCE. +* restart queue if .get_budget() fails to get the budget. * * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to * be run again. This is necessary to avoid starving flushes.
block/blk-mq.c +2 -1
@@ -448,7 +448,8 @@ struct request *blk_mq_alloc_request_hctx(struct request_queue *q,* allocator for this for the rare use case of a command tied to * a specific queue. */ -if (WARN_ON_ONCE (!(flags & (BLK_MQ_REQ_NOWAIT |BLK_MQ_REQ_RESERVED )))) +if (WARN_ON_ONCE (!(flags &BLK_MQ_REQ_NOWAIT )) || +WARN_ON_ONCE (!(flags &BLK_MQ_REQ_RESERVED )))return ERR_PTR (-EINVAL );if (hctx_idx >= q->nr_hw_queues)
crypto/essiv.c +6 -1
@@ -170,7 +170,12 @@ static void essiv_aead_done(struct crypto_async_request *areq, int err)struct aead_request *req = areq->data;struct essiv_aead_request_ctx *rctx =aead_request_ctx (req); +if (err == -EINPROGRESS ) + goto out; +kfree (rctx->assoc); + +out:aead_request_complete (req, err); }
@@ -246,7 +251,7 @@ static int essiv_aead_crypt(struct aead_request *req, bool enc) err = enc ?crypto_aead_encrypt (subreq) :crypto_aead_decrypt (subreq); -if (rctx->assoc && err != -EINPROGRESS ) +if (rctx->assoc && err != -EINPROGRESS && err != -EBUSY )kfree (rctx->assoc);return err; }
crypto/rsa-pkcs1pad.c +15 -19
@@ -214,16 +214,14 @@ static void pkcs1pad_encrypt_sign_complete_cb( struct crypto_async_request *child_async_req, int err) {struct akcipher_request *req = child_async_req->data; -struct crypto_async_request async_req;if (err == -EINPROGRESS ) -return ; + goto out; + + err =pkcs1pad_encrypt_sign_complete (req, err); - async_req.data = req->base.data; - async_req.tfm =crypto_akcipher_tfm (crypto_akcipher_reqtfm (req)); - async_req.flags = child_async_req->flags; - req->base.complete (&async_req, -pkcs1pad_encrypt_sign_complete (req, err)); +out: +akcipher_request_complete (req, err); }static int pkcs1pad_encrypt (struct akcipher_request *req)
@@ -332,15 +330,14 @@ static void pkcs1pad_decrypt_complete_cb( struct crypto_async_request *child_async_req, int err) {struct akcipher_request *req = child_async_req->data; -struct crypto_async_request async_req;if (err == -EINPROGRESS ) -return ; + goto out; + + err =pkcs1pad_decrypt_complete (req, err); - async_req.data = req->base.data; - async_req.tfm =crypto_akcipher_tfm (crypto_akcipher_reqtfm (req)); - async_req.flags = child_async_req->flags; - req->base.complete (&async_req,pkcs1pad_decrypt_complete (req, err)); +out: +akcipher_request_complete (req, err); }static int pkcs1pad_decrypt (struct akcipher_request *req)
@@ -512,15 +509,14 @@ static void pkcs1pad_verify_complete_cb( struct crypto_async_request *child_async_req, int err) {struct akcipher_request *req = child_async_req->data; -struct crypto_async_request async_req;if (err == -EINPROGRESS ) -return ; + goto out; - async_req.data = req->base.data; - async_req.tfm =crypto_akcipher_tfm (crypto_akcipher_reqtfm (req)); - async_req.flags = child_async_req->flags; - req->base.complete (&async_req,pkcs1pad_verify_complete (req, err)); + err =pkcs1pad_verify_complete (req, err); + +out: +akcipher_request_complete (req, err); }/*
crypto/seqiv.c +1 -1
@@ -23,7 +23,7 @@ static void seqiv_aead_encrypt_complete2(struct aead_request *req, int err)struct aead_request *subreq =aead_request_ctx (req);struct crypto_aead *geniv; -if (err == -EINPROGRESS ) +if (err == -EINPROGRESS || err == -EBUSY )return ;if (err)
crypto/xts.c +4 -4
@@ -202,12 +202,12 @@ static void xts_encrypt_done(struct crypto_async_request *areq, int err)if (!err) {struct xts_request_ctx *rctx =skcipher_request_ctx (req); - rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP ; + rctx->subreq.base.flags &=CRYPTO_TFM_REQ_MAY_BACKLOG ; err =xts_xor_tweak_post (req, true);if (!err &&unlikely (req->cryptlen %XTS_BLOCK_SIZE )) { err =xts_cts_final (req, crypto_skcipher_encrypt); -if (err == -EINPROGRESS ) +if (err == -EINPROGRESS || err == -EBUSY )return ; } }
@@ -222,12 +222,12 @@ static void xts_decrypt_done(struct crypto_async_request *areq, int err)if (!err) {struct xts_request_ctx *rctx =skcipher_request_ctx (req); - rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP ; + rctx->subreq.base.flags &=CRYPTO_TFM_REQ_MAY_BACKLOG ; err =xts_xor_tweak_post (req, false);if (!err &&unlikely (req->cryptlen %XTS_BLOCK_SIZE )) { err =xts_cts_final (req, crypto_skcipher_decrypt); -if (err == -EINPROGRESS ) +if (err == -EINPROGRESS || err == -EBUSY )return ; } }
drivers/acpi/acpica/Makefile +1 -1
@@ -3,7 +3,7 @@ # Makefile for ACPICA Core interpreter # -ccflags-y := -Os -D_LINUX -DBUILDING_ACPICA +ccflags-y := -D_LINUX -DBUILDING_ACPICA ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT # use acpi.o to put all files here into acpi.o modparam namespace
drivers/acpi/acpica/hwvalid.c +4 -3
@@ -23,8 +23,8 @@ acpi_hw_validate_io_request(acpi_io_address address, u32 bit_width);* * The table is used to implement the Microsoft port access rules that * first appeared in Windows XP. Some ports are always illegal, and some -* ports are only illegal if the BIOS calls _OSI with a win_XP string or -* later (meaning that the BIOS itelf is post-XP.) +* ports are only illegal if the BIOS calls _OSI with nothing newer than +* the specific _OSI strings. * * This provides ACPICA with the desired port protections and * Microsoft compatibility.
@@ -145,7 +145,8 @@ acpi_hw_validate_io_request(acpi_io_address address, u32 bit_width)/* Port illegality may depend on the _OSI calls made by the BIOS */ -if (acpi_gbl_osi_data >= port_info->osi_dependency) { +if (port_info->osi_dependency ==ACPI_ALWAYS_ILLEGAL || + acpi_gbl_osi_data == port_info->osi_dependency) { ACPI_DEBUG_PRINT((ACPI_DB_VALUES, "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n", ACPI_FORMAT_UINT64(address),
drivers/acpi/acpica/nsrepair.c +7 -5
@@ -181,8 +181,9 @@ acpi_ns_simple_repair(struct acpi_evaluate_info *info,* Try to fix if there was no return object. Warning if failed to fix. */ if (!return_object) { -if (expected_btypes && (!(expected_btypes &ACPI_RTYPE_NONE ))) { -if (package_index !=ACPI_NOT_PACKAGE_ELEMENT ) { +if (expected_btypes) { +if (!(expected_btypes &ACPI_RTYPE_NONE ) && + package_index !=ACPI_NOT_PACKAGE_ELEMENT ) { ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, ACPI_WARN_ALWAYS,
@@ -196,14 +197,15 @@ acpi_ns_simple_repair(struct acpi_evaluate_info *info,if (ACPI_SUCCESS (status)) {return (AE_OK );/* Repair was successful */ } - }else { + } + +if (expected_btypes !=ACPI_RTYPE_NONE ) {ACPI_WARN_PREDEFINED ((AE_INFO , info->full_pathname,ACPI_WARN_ALWAYS ,"Missing expected return value" )); +return (AE_AML_NO_RETURN_VALUE ); } - -return (AE_AML_NO_RETURN_VALUE ); } }
drivers/acpi/battery.c +1 -1
@@ -454,7 +454,7 @@ static int extract_package(struct acpi_battery *battery,u8 *ptr = (u8 *)battery + offsets[i].offset;if (element->type ==ACPI_TYPE_STRING || element->type ==ACPI_TYPE_BUFFER ) -strncpy (ptr, element->string.pointer,32 ); +strscpy (ptr, element->string.pointer,32 );else if (element->type ==ACPI_TYPE_INTEGER ) {strncpy (ptr, (u8 *)&element->integer.value,sizeof (u64));
drivers/acpi/video_detect.c +1 -1
@@ -313,7 +313,7 @@ static const struct dmi_system_id video_detect_dmi_table[] = { .ident = "Lenovo Ideapad Z570", .matches = {DMI_MATCH (DMI_SYS_VENDOR ,"LENOVO" ), - DMI_MATCH(DMI_PRODUCT_NAME, "102434U"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"), }, }, {
drivers/block/brd.c +12 -14
@@ -80,11 +80,9 @@ static struct page *brd_lookup_page(struct brd_device *brd, sector_t sector) }/* -* Look up and return a brd's page for a given sector. -* If one does not exist, allocate an empty page, and insert that. Then -* return it. +* Insert a new page for a given sector, if one does not already exist. */ -static struct page *brd_insert_page (struct brd_device *brd,sector_t sector) +static int brd_insert_page (struct brd_device *brd,sector_t sector) {pgoff_t idx;struct page *page;
@@ -92,7 +90,7 @@ static struct page *brd_insert_page(struct brd_device *brd, sector_t sector) page =brd_lookup_page (brd, sector);if (page) -return page; +return 0 ;/* * Must use NOIO because we don't want to recurse back into the
@@ -101,11 +99,11 @@ static struct page *brd_insert_page(struct brd_device *brd, sector_t sector) gfp_flags =GFP_NOIO | __GFP_ZERO | __GFP_HIGHMEM; page =alloc_page (gfp_flags);if (!page) -return NULL ; +return -ENOMEM ;if (radix_tree_preload (GFP_NOIO )) {__free_page (page); -return NULL ; +return -ENOMEM ; }spin_lock (&brd->brd_lock);
@@ -120,8 +118,7 @@ static struct page *brd_insert_page(struct brd_device *brd, sector_t sector)spin_unlock (&brd->brd_lock);radix_tree_preload_end (); - -return page; +return 0 ; }/*
@@ -174,16 +171,17 @@ static int copy_to_brd_setup(struct brd_device *brd, sector_t sector, size_t n) {unsigned int offset = (sector & (PAGE_SECTORS -1 )) <<SECTOR_SHIFT ;size_t copy; +int ret; copy =min_t (size_t, n,PAGE_SIZE - offset); -if (!brd_insert_page (brd, sector)) -return -ENOSPC ; + ret =brd_insert_page (brd, sector); +if (ret) +return ret;if (copy < n) { sector += copy >>SECTOR_SHIFT ; -if (!brd_insert_page (brd, sector)) -return -ENOSPC ; + ret =brd_insert_page (brd, sector); } -return 0 ; +return ret; }/*
drivers/block/loop.c +4 -4
@@ -1029,13 +1029,13 @@ loop_set_status_from_info(struct loop_device *lo,if (err)return err; +/* Avoid assigning overflow values */ +if (info->lo_offset >LLONG_MAX || info->lo_sizelimit >LLONG_MAX ) +return -EOVERFLOW ; + lo->lo_offset = info->lo_offset; lo->lo_sizelimit = info->lo_sizelimit; -/* loff_t vars have been assigned __u64 */ -if (lo->lo_offset <0 || lo->lo_sizelimit <0 ) -return -EOVERFLOW ; -memcpy (lo->lo_file_name, info->lo_file_name,LO_NAME_SIZE );memcpy (lo->lo_crypt_name, info->lo_crypt_name,LO_NAME_SIZE ); lo->lo_file_name[LO_NAME_SIZE -1 ] =0 ;
drivers/block/rbd.c +9 -11
@@ -5369,8 +5369,7 @@ static void rbd_dev_release(struct device *dev)module_put (THIS_MODULE ); } -static struct rbd_device *__rbd_dev_create (struct rbd_client *rbdc, -struct rbd_spec *spec) +static struct rbd_device *__rbd_dev_create (struct rbd_spec *spec) {struct rbd_device *rbd_dev;
@@ -5415,9 +5414,6 @@ static struct rbd_device *__rbd_dev_create(struct rbd_client *rbdc, rbd_dev->dev.parent = &rbd_root_dev;device_initialize (&rbd_dev->dev); - rbd_dev->rbd_client = rbdc; - rbd_dev->spec = spec; -return rbd_dev; }
@@ -5430,12 +5426,10 @@ static struct rbd_device *rbd_dev_create(struct rbd_client *rbdc, {struct rbd_device *rbd_dev; - rbd_dev =__rbd_dev_create (rbdc, spec); + rbd_dev =__rbd_dev_create (spec);if (!rbd_dev)return NULL ; - rbd_dev->opts = opts; -/* get an id and fill in device name */ rbd_dev->dev_id = ida_simple_get(&rbd_dev_id_ida, 0, minor_to_rbd_dev_id(1 << MINORBITS),
@@ -5452,6 +5446,10 @@ static struct rbd_device *rbd_dev_create(struct rbd_client *rbdc,/* we have a ref from do_rbd_add() */ __module_get (THIS_MODULE ); + rbd_dev->rbd_client = rbdc; + rbd_dev->spec = spec; + rbd_dev->opts = opts; +dout ("%s rbd_dev %p dev_id %d\n" , __func__, rbd_dev, rbd_dev->dev_id);return rbd_dev;
@@ -6812,7 +6810,7 @@ static int rbd_dev_probe_parent(struct rbd_device *rbd_dev, int depth) goto out_err; } - parent =__rbd_dev_create (rbd_dev->rbd_client, rbd_dev->parent_spec); + parent =__rbd_dev_create (rbd_dev->parent_spec);if (!parent) { ret = -ENOMEM ; goto out_err;
@@ -6822,8 +6820,8 @@ static int rbd_dev_probe_parent(struct rbd_device *rbd_dev, int depth)* Images related by parent/child relationships always share
Lines of this file are not shown. View the raw message.
drivers/char/ipmi/ipmi_ssif.c +23 -23
46 lines not on this page · raw message
drivers/crypto/ccp/sev-dev.c +86 -99
185 lines not on this page · raw message
drivers/firmware/google/framebuffer-coreboot.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/core/dc.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dml/dcn21/display_mode_vba_21.c +6 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/lontium-lt9611.c +37 -28
65 lines not on this page · raw message
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/drm_mipi_dsi.c +52 -0
52 lines not on this page · raw message
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_quirks.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/mediatek/mtk_drm_crtc.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/adreno/adreno_gpu.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/radeon/atombios_encoders.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/vc4/vc4_dpi.c +38 -28
66 lines not on this page · raw message
drivers/gpu/drm/virtio/virtgpu_object.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/hid/hid-bigbenff.c +63 -12
75 lines not on this page · raw message
drivers/hwmon/coretemp.c +58 -70
128 lines not on this page · raw message
drivers/infiniband/hw/hfi1/chip.c +32 -27
59 lines not on this page · raw message
drivers/input/misc/iqs269a.c +128 -199
327 lines not on this page · raw message
drivers/input/touchscreen/ads7846.c +209 -264
473 lines not on this page · raw message
drivers/media/i2c/imx219.c +104 -153
257 lines not on this page · raw message
drivers/media/pci/intel/ipu3/ipu3-cio2.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/media/pci/saa7134/saa7134-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/usb/uvc/uvc_driver.c +37 -29
66 lines not on this page · raw message
drivers/net/ethernet/broadcom/genet/bcmgenet.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/genet/bcmmii.c +2 -9
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_main.c +8 -9
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/am65-cpsw-nuss.c +27 -52
79 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/debugfs.c +40 -8
48 lines not on this page · raw message
drivers/net/wireless/ath/ath11k/dp_rx.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/hif_usb.c +36 -26
62 lines not on this page · raw message
drivers/net/wireless/ath/ath9k/htc_drv_init.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_hst.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/ipw2200.c +8 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlegacy/3945-mac.c +12 -4
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlegacy/4965-mac.c +10 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlegacy/common.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intersil/orinoco/hw.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas/cmdresp.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas/if_usb.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas/main.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/libertas_tf/if_usb.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/11n.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/dma.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt7601u/dma.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/netdev.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +5 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +3 -16
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c +5 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c +40 -51
91 lines not on this page · raw message
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/rsi/rsi_91x_coex.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pci-loongson.c +36 -35
71 lines not on this page · raw message
drivers/pci/pci.h +13 -30
43 lines not on this page · raw message
drivers/pci/setup-bus.c +114 -65
179 lines not on this page · raw message
drivers/phy/rockchip/phy-rockchip-typec.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/pinctrl/mediatek/pinctrl-paris.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/pinctrl/pinctrl-rockchip.c +380 -572
952 lines not on this page · raw message
drivers/regulator/max77802-regulator.c +24 -10
Lines of this file are not shown. View the raw message.
drivers/remoteproc/qcom_q6v5_mss.c +53 -6
59 lines not on this page · raw message
drivers/s390/block/dasd_eckd.c +47 -35
82 lines not on this page · raw message
drivers/scsi/ipr.c +21 -20
41 lines not on this page · raw message
drivers/scsi/ses.c +47 -17
64 lines not on this page · raw message
drivers/soundwire/cadence_master.c +27 -16
43 lines not on this page · raw message
drivers/thermal/intel/intel_powerclamp.c +16 -4
Lines of this file are not shown. View the raw message.
drivers/thermal/intel/intel_quark_dts_thermal.c +2 -10
Lines of this file are not shown. View the raw message.
drivers/thermal/intel/intel_soc_dts_iosf.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/thermal/qcom/tsens-v1.c +31 -32
63 lines not on this page · raw message
drivers/tty/serial/sc16is7xx.c +26 -25
51 lines not on this page · raw message
drivers/usb/gadget/function/uvc_configfs.c +58 -1
59 lines not on this page · raw message
drivers/vfio/vfio_iommu_type1.c +14 -27
41 lines not on this page · raw message
fs/jbd2/transaction.c +29 -21
50 lines not on this page · raw message
fs/nfs/nfs4trace.h +22 -20
42 lines not on this page · raw message
fs/udf/inode.c +37 -37
74 lines not on this page · raw message
io_uring/io_uring.c +33 -8
41 lines not on this page · raw message
kernel/rcu/tasks.h +45 -19
64 lines not on this page · raw message
kernel/time/clocksource.c +32 -13
45 lines not on this page · raw message
kernel/trace/ring_buffer.c +16 -33
49 lines not on this page · raw message
net/9p/trans_xen.c +31 -17
48 lines not on this page · raw message
net/l2tp/l2tp_ppp.c +67 -58
125 lines not on this page · raw message
net/sched/cls_tcindex.c deleted +0 -756
756 lines not on this page · raw message
net/sctp/stream_sched_prio.c +21 -31
52 lines not on this page · raw message
sound/soc/atmel/mchp-spdifrx.c +224 -120
344 lines not on this page · raw message
tools/testing/selftests/drivers/net/netdevsim/devlink.sh +18 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fib_tests.sh +2 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/udpgso_bench_rx.c +2 -4
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.