Linux 5.10.121
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.121 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/conf.py | 2 Documentation/devicetree/bindings/display/sitronix,st7735r.yaml | 1 Documentation/devicetree/bindings/gpio/gpio-altera.txt | 5 Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml | 1 Makefile | 2 arch/arm/boot/dts/bcm2835-rpi-b.dts | 13 arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 22 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 2 arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts | 4 arch/arm/boot/dts/exynos5250-smdk5250.dts | 4 arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts | 6 arch/arm/boot/dts/imx6qdl-colibri.dtsi | 6 arch/arm/boot/dts/ox820.dtsi | 2 arch/arm/boot/dts/s5pv210-aries.dtsi | 3 arch/arm/boot/dts/s5pv210.dtsi | 12 arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi | 1 arch/arm/boot/dts/suniv-f1c100s.dtsi | 4 arch/arm/mach-hisi/platsmp.c | 4 arch/arm/mach-mediatek/Kconfig | 1 arch/arm/mach-omap1/clock.c | 2 arch/arm/mach-pxa/cm-x300.c | 8 arch/arm/mach-pxa/magician.c | 2 arch/arm/mach-pxa/tosa.c | 4 arch/arm/mach-vexpress/dcscb.c | 1 arch/arm64/Kconfig.platforms | 1 arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 arch/arm64/boot/dts/qcom/msm8994.dtsi | 4 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 arch/arm64/kernel/sys_compat.c | 2 arch/arm64/mm/copypage.c | 4 arch/csky/kernel/probes/kprobes.c | 2 arch/m68k/Kconfig.cpu | 2 arch/m68k/include/asm/raw_io.h | 6 arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h | 1 arch/mips/include/asm/mach-ip30/cpu-feature-overrides.h | 1 arch/openrisc/include/asm/timex.h | 1 arch/openrisc/kernel/head.S | 9 arch/parisc/include/asm/fb.h | 4 arch/powerpc/include/asm/page.h | 7 arch/powerpc/include/asm/vas.h | 2 arch/powerpc/kernel/fadump.c | 8 arch/powerpc/kernel/idle.c | 2 arch/powerpc/perf/isa207-common.c | 3 arch/powerpc/platforms/4xx/cpm.c | 2 arch/powerpc/platforms/8xx/cpm1.c | 1 arch/powerpc/platforms/powernv/opal-fadump.c | 94 ++-- arch/powerpc/platforms/powernv/opal-fadump.h | 10 arch/powerpc/platforms/powernv/ultravisor.c | 1 arch/powerpc/platforms/powernv/vas-fault.c | 2 arch/powerpc/platforms/powernv/vas-window.c | 4 arch/powerpc/platforms/powernv/vas.h | 2 arch/powerpc/sysdev/dart_iommu.c | 6 arch/powerpc/sysdev/fsl_rio.c | 2 arch/powerpc/sysdev/xics/icp-opal.c | 1 arch/riscv/include/asm/irq_work.h | 2 arch/riscv/kernel/head.S | 1 arch/s390/include/asm/kexec.h | 10 arch/s390/include/asm/preempt.h | 15 arch/s390/kernel/perf_event.c | 2 arch/um/drivers/chan_user.c | 9 arch/um/include/asm/thread_info.h | 2 arch/um/kernel/exec.c | 2 arch/um/kernel/process.c | 2 arch/um/kernel/ptrace.c | 8 arch/um/kernel/signal.c | 4 arch/x86/Kconfig | 4 arch/x86/entry/entry_64.S | 1 arch/x86/entry/vdso/vma.c | 2 arch/x86/events/amd/ibs.c | 55 ++ arch/x86/events/intel/core.c | 2 arch/x86/include/asm/acenv.h | 14 arch/x86/include/asm/kexec.h | 8 arch/x86/include/asm/suspend_32.h | 2 arch/x86/include/asm/suspend_64.h | 12 arch/x86/kernel/apic/apic.c | 2 arch/x86/kernel/apic/x2apic_uv_x.c | 8 arch/x86/kernel/cpu/intel.c | 2 arch/x86/kernel/cpu/mce/amd.c | 32 - arch/x86/kernel/step.c | 3 arch/x86/kernel/sys_x86_64.c | 7 arch/x86/kvm/vmx/nested.c | 45 +- arch/x86/kvm/vmx/vmcs.h | 5 arch/x86/lib/delay.c | 4 arch/x86/mm/pat/memtype.c | 2 arch/x86/um/ldt.c | 6 arch/xtensa/kernel/ptrace.c | 4 arch/xtensa/kernel/signal.c | 4 arch/xtensa/platforms/iss/simdisk.c | 18 block/bfq-cgroup.c | 111 +++-- block/bfq-iosched.c | 46 +- block/bfq-iosched.h | 6 block/blk-cgroup.c | 8 block/blk-iolatency.c | 122 ++--- crypto/cryptd.c | 23 - drivers/acpi/property.c | 18 drivers/acpi/sleep.c | 12 drivers/base/memory.c | 5 drivers/base/node.c | 1 drivers/block/drbd/drbd_main.c | 11 drivers/block/nbd.c | 13 drivers/block/virtio_blk.c | 7 drivers/char/hw_random/omap3-rom-rng.c | 2 drivers/char/ipmi/ipmi_msghandler.c | 4 drivers/char/ipmi/ipmi_ssif.c | 23 + drivers/char/random.c | 12 drivers/cpufreq/mediatek-cpufreq.c | 19 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c | 115 +++-- drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c | 30 - drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c | 10 drivers/crypto/allwinner/sun8i-ss/sun8i-ss.h | 14 drivers/crypto/ccree/cc_buffer_mgr.c | 27 - drivers/crypto/marvell/cesa/cipher.c | 1 drivers/crypto/nx/nx-common-powernv.c | 2 drivers/devfreq/rk3399_dmc.c | 2 drivers/dma/idxd/cdev.c | 8 drivers/dma/stm32-mdma.c | 87 +-- drivers/edac/dmc520_edac.c | 2 drivers/firmware/arm_scmi/base.c | 2 drivers/gpio/gpiolib-of.c | 5 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 3 drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c | 14 drivers/gpu/drm/amd/pm/powerplay/si_dpm.c | 8 drivers/gpu/drm/arm/display/komeda/komeda_plane.c | 10 drivers/gpu/drm/arm/malidp_crtc.c | 5 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 1 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 31 + drivers/gpu/drm/drm_edid.c | 6 drivers/gpu/drm/drm_plane.c | 14 drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 6 drivers/gpu/drm/gma500/psb_intel_display.c | 7 drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 33 - drivers/gpu/drm/i915/i915_perf.c | 4 drivers/gpu/drm/i915/i915_perf_types.h | 2 drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 61 ++ drivers/gpu/drm/mediatek/mtk_cec.c | 2 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 1 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 1 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 8 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 14 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 6 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c | 15 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h | 4 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c | 15 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h | 2 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 20 drivers/gpu/drm/msm/dp/dp_display.c | 55 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 21 drivers/gpu/drm/msm/hdmi/hdmi.c | 10 drivers/gpu/drm/msm/msm_drv.c | 1 drivers/gpu/drm/msm/msm_gem_prime.c | 2 drivers/gpu/drm/nouveau/dispnv50/atom.h | 6 drivers/gpu/drm/nouveau/dispnv50/crc.c | 27 - drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 6 drivers/gpu/drm/panel/panel-simple.c | 3 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 drivers/gpu/drm/stm/ltdc.c | 16 drivers/gpu/drm/tilcdc/tilcdc_external.c | 8 drivers/gpu/drm/vc4/vc4_hvs.c | 26 - drivers/gpu/drm/vc4/vc4_txp.c | 8 drivers/gpu/drm/virtio/virtgpu_display.c | 2 drivers/hid/hid-bigbenff.c | 6 drivers/hid/hid-elan.c | 2 drivers/hid/hid-led.c | 2 drivers/hwtracing/coresight/coresight-core.c | 33 - drivers/i2c/busses/i2c-at91-master.c | 11 drivers/i2c/busses/i2c-npcm7xx.c | 103 +++- drivers/i2c/busses/i2c-rcar.c | 15 drivers/infiniband/hw/hfi1/file_ops.c | 2 drivers/infiniband/hw/hfi1/init.c | 2 drivers/infiniband/hw/hfi1/sdma.c | 12 drivers/infiniband/sw/rdmavt/qp.c | 6 drivers/infiniband/sw/rxe/rxe_req.c | 2 drivers/input/misc/sparcspkr.c | 1 drivers/input/touchscreen/stmfts.c | 16 drivers/iommu/amd/init.c | 2 drivers/iommu/intel/iommu.c | 2 drivers/iommu/msm_iommu.c | 11 drivers/iommu/mtk_iommu.c | 3 drivers/irqchip/irq-armada-370-xp.c | 11 drivers/irqchip/irq-aspeed-i2c-ic.c | 4 drivers/irqchip/irq-aspeed-scu-ic.c | 4 drivers/irqchip/irq-sni-exiu.c | 25 - drivers/irqchip/irq-xtensa-mx.c | 18 drivers/macintosh/Kconfig | 6 drivers/macintosh/Makefile | 3 drivers/macintosh/via-pmu.c | 2 drivers/mailbox/mailbox.c | 19 drivers/md/bcache/btree.c | 58 +- drivers/md/bcache/btree.h | 2 drivers/md/bcache/journal.c | 31 + drivers/md/bcache/journal.h | 2 drivers/md/bcache/request.c | 6 drivers/md/bcache/super.c | 1 drivers/md/bcache/writeback.c | 101 +--- drivers/md/bcache/writeback.h | 2 drivers/md/md-bitmap.c | 44 + drivers/md/md.c | 18 drivers/media/cec/core/cec-adap.c | 6 drivers/media/i2c/ov7670.c | 1 drivers/media/pci/cx23885/cx23885-core.c | 6 drivers/media/pci/cx25821/cx25821-core.c | 2 drivers/media/platform/aspeed-video.c | 4 drivers/media/platform/coda/coda-common.c | 35 + drivers/media/platform/exynos4-is/fimc-is.c | 6 drivers/media/platform/exynos4-is/fimc-isp-video.h | 2 drivers/media/platform/qcom/venus/hfi.c | 3 drivers/media/platform/rockchip/rga/rga.c | 6 drivers/media/platform/sti/delta/delta-v4l2.c | 6 drivers/media/platform/vsp1/vsp1_rpf.c | 6 drivers/media/rc/imon.c | 99 ++-- drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 7 drivers/media/usb/uvc/uvc_v4l2.c | 20 drivers/memory/samsung/exynos5422-dmc.c | 5 drivers/mfd/davinci_voicecodec.c | 6 drivers/mfd/ipaq-micro.c | 2 drivers/misc/ocxl/file.c | 2 drivers/mmc/host/jz4740_mmc.c | 20 drivers/mmc/host/sdhci_am654.c | 23 - drivers/mtd/chips/cfi_cmdset_0002.c | 103 ++-- drivers/mtd/nand/raw/cadence-nand-controller.c | 5 drivers/mtd/nand/raw/denali_pci.c | 15 drivers/mtd/spi-nor/core.c | 9 drivers/net/can/spi/mcp251xfd/mcp251xfd.h | 2 drivers/net/can/xilinx_can.c | 4 drivers/net/dsa/mt7530.c | 14 drivers/net/ethernet/broadcom/Makefile | 5 drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c | 2 drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c | 5 drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 10 drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c | 5 drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c | 9 drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c | 2 drivers/net/ethernet/huawei/hinic/hinic_hw_wq.c | 23 - drivers/net/ethernet/huawei/hinic/hinic_main.c | 10 drivers/net/ethernet/huawei/hinic/hinic_tx.c | 9 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 10 drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 2 drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c | 13 drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c | 2 drivers/net/ethernet/sfc/ef10.c | 2 drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c | 15 drivers/net/hyperv/netvsc_drv.c | 5 drivers/net/ipa/ipa_endpoint.c | 4 drivers/net/phy/micrel.c | 11 drivers/net/wireguard/socket.c | 4 drivers/net/wireless/ath/ath10k/mac.c | 20 drivers/net/wireless/ath/ath11k/mac.c | 16 drivers/net/wireless/ath/ath11k/spectral.c | 17 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 8 drivers/net/wireless/ath/carl9170/tx.c | 3 drivers/net/wireless/broadcom/b43/phy_n.c | 2 drivers/net/wireless/broadcom/b43legacy/phy.c | 2 drivers/net/wireless/intel/ipw2x00/libipw_tx.c | 2 drivers/net/wireless/intel/iwlwifi/mvm/power.c | 3 drivers/net/wireless/marvell/mwifiex/11h.c | 2 drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c | 8 drivers/net/wireless/realtek/rtlwifi/usb.c | 2 drivers/nfc/st21nfca/se.c | 17 drivers/nfc/st21nfca/st21nfca.h | 1 drivers/nvdimm/core.c | 9 drivers/nvdimm/security.c | 5 drivers/nvme/host/core.c | 2 drivers/nvme/host/pci.c | 1 drivers/of/overlay.c | 4 drivers/opp/of.c | 2 drivers/pci/controller/cadence/pcie-cadence-ep.c | 3 drivers/pci/controller/dwc/pci-imx6.c | 23 - drivers/pci/controller/dwc/pcie-designware-host.c | 3 drivers/pci/controller/dwc/pcie-qcom.c | 9 drivers/pci/controller/pcie-rockchip-ep.c | 3 drivers/pci/pci.c | 12 drivers/pci/pcie/aer.c | 7 drivers/phy/qualcomm/phy-qcom-qmp.c | 11 drivers/pinctrl/bcm/pinctrl-bcm2835.c | 18 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 2 drivers/pinctrl/renesas/core.c | 7 drivers/pinctrl/renesas/pinctrl-rzn1.c | 10 drivers/platform/chrome/cros_ec.c | 16 drivers/platform/chrome/cros_ec_chardev.c | 2 drivers/platform/chrome/cros_ec_proto.c | 50 +- drivers/platform/mips/cpu_hwmon.c | 127 +---- drivers/regulator/core.c | 7 drivers/regulator/pfuze100-regulator.c | 2 drivers/regulator/qcom_smd-regulator.c | 35 - drivers/scsi/dc395x.c | 15 drivers/scsi/fcoe/fcoe_ctlr.c | 2 drivers/scsi/lpfc/lpfc_sli.c | 6 drivers/scsi/megaraid.c | 2 drivers/scsi/ufs/ti-j721e-ufs.c | 6 drivers/scsi/ufs/ufs-qcom.c | 14 drivers/scsi/ufs/ufshcd.c | 7 drivers/soc/qcom/llcc-qcom.c | 1 drivers/soc/qcom/smp2p.c | 1 drivers/soc/qcom/smsm.c | 1 drivers/soc/ti/ti_sci_pm_domains.c | 2 drivers/spi/spi-fsl-qspi.c | 4 drivers/spi/spi-img-spfi.c | 2 drivers/spi/spi-rspi.c | 15 drivers/spi/spi-stm32-qspi.c | 3 drivers/spi/spi-ti-qspi.c | 5 drivers/staging/media/hantro/hantro_v4l2.c | 8 drivers/staging/media/rkvdec/rkvdec-h264.c | 37 + drivers/staging/media/rkvdec/rkvdec.c | 4 drivers/target/target_core_device.c | 1 drivers/thermal/broadcom/bcm2711_thermal.c | 5 drivers/thermal/broadcom/sr-thermal.c | 3 drivers/thermal/imx_sc_thermal.c | 6 drivers/thermal/thermal_core.c | 42 + drivers/tty/serial/pch_uart.c | 27 - drivers/tty/tty_buffer.c | 3 drivers/usb/core/hcd.c | 29 + drivers/usb/core/quirks.c | 3 drivers/usb/dwc3/gadget.c | 6 drivers/usb/host/xhci-pci.c | 2 drivers/usb/serial/option.c | 2 drivers/vdpa/vdpa_sim/vdpa_sim.c | 5 drivers/video/console/sticon.c | 5 drivers/video/console/sticore.c | 32 + drivers/video/fbdev/amba-clcd.c | 5 drivers/video/fbdev/core/fbcon.c | 5 drivers/video/fbdev/sticore.h | 3 drivers/video/fbdev/stifb.c | 4 fs/afs/rxrpc.c | 8 fs/binfmt_flat.c | 27 + fs/btrfs/disk-io.c | 4 fs/btrfs/volumes.c | 8 fs/cifs/smb2inode.c | 2 fs/cifs/smb2ops.c | 2 fs/dax.c | 3 fs/dlm/lock.c | 11 fs/dlm/plock.c | 12 fs/ext4/ext4.h | 6 fs/ext4/extents.c | 10 fs/ext4/inline.c | 12 fs/ext4/inode.c | 4 fs/ext4/namei.c | 84 +++ fs/ext4/super.c | 24 - fs/f2fs/f2fs.h | 19 fs/f2fs/file.c | 20 fs/f2fs/inline.c | 29 + fs/f2fs/inode.c | 19 fs/f2fs/segment.c | 42 + fs/f2fs/segment.h | 33 - fs/f2fs/super.c | 6 fs/fat/fatent.c | 7 fs/fs-writeback.c | 13 fs/gfs2/quota.c | 32 - fs/iomap/buffered-io.c | 3 fs/jfs/jfs_dmap.c | 3 fs/nfs/file.c | 16 fs/nfs/pnfs.c | 2 fs/nfs/write.c | 11 fs/notify/fdinfo.c | 11 fs/notify/inotify/inotify.h | 12 fs/notify/inotify/inotify_user.c | 2 fs/notify/mark.c | 6 fs/ocfs2/dlmfs/userdlm.c | 16 fs/proc/generic.c | 3 fs/proc/proc_net.c | 3 fs/xfs/libxfs/xfs_btree.c | 35 - fs/xfs/xfs_dquot.c | 39 + fs/xfs/xfs_iomap.c | 3 fs/xfs/xfs_log.c | 28 - fs/xfs/xfs_log.h | 1 fs/xfs/xfs_mount.c | 93 ++-- fs/xfs/xfs_qm.c | 92 +--- fs/xfs/xfs_symlink.c | 1 include/drm/drm_edid.h | 6 include/linux/bpf.h | 2 include/linux/efi.h | 2 include/linux/font.h | 2 include/linux/gpio/driver.h | 12 include/linux/kexec.h | 46 +- include/linux/lsm_hook_defs.h | 4 include/linux/lsm_hooks.h | 2 include/linux/mailbox_controller.h | 1 include/linux/mtd/cfi.h | 1 include/linux/nodemask.h | 13 include/linux/platform_data/cros_ec_proto.h | 3 include/linux/ptrace.h | 7 include/linux/security.h | 23 - include/linux/thermal.h | 2 include/linux/usb/hcd.h | 2 include/net/bluetooth/hci.h | 16 include/net/bluetooth/hci_core.h | 18 include/net/flow.h | 10 include/net/if_inet6.h | 8 include/net/route.h | 6 include/scsi/libfcoe.h | 3 include/sound/jack.h | 1 include/trace/events/rxrpc.h | 2 include/trace/events/vmscan.h | 4 init/Kconfig | 5 ipc/mqueue.c | 14 kernel/bpf/stackmap.c | 1 kernel/dma/debug.c | 2 kernel/kexec_file.c | 34 - kernel/ptrace.c | 5 kernel/rcu/Kconfig | 1 kernel/rcu/tasks.h | 3 kernel/scftorture.c | 5 kernel/sched/fair.c | 8 kernel/sched/pelt.h | 4 kernel/sched/sched.h | 4 kernel/trace/ftrace.c | 5 kernel/trace/trace_events_hist.c | 3 mm/compaction.c | 2 mm/hugetlb.c | 9 net/bluetooth/hci_conn.c | 8 net/bluetooth/hci_core.c | 27 - net/bluetooth/hci_debugfs.c | 8 net/bluetooth/hci_event.c | 91 ++-- net/bluetooth/hci_request.c | 221 +++++++--- net/bluetooth/hci_sock.c | 12 net/bluetooth/l2cap_core.c | 10 net/bluetooth/mgmt.c | 14 net/bluetooth/mgmt_config.c | 10 net/bluetooth/sco.c | 21 net/bluetooth/smp.c | 6 net/core/dev.c | 8 net/dccp/ipv4.c | 2 net/dccp/ipv6.c | 6 net/ipv4/icmp.c | 4 net/ipv4/inet_connection_sock.c | 4 net/ipv4/ip_output.c | 2 net/ipv4/ping.c | 2 net/ipv4/raw.c | 2 net/ipv4/syncookies.c | 2 net/ipv4/udp.c | 2 net/ipv6/addrconf.c | 33 + net/ipv6/af_inet6.c | 2 net/ipv6/datagram.c | 2 net/ipv6/icmp.c | 6 net/ipv6/inet6_connection_sock.c | 4 net/ipv6/netfilter/nf_reject_ipv6.c | 2 net/ipv6/ping.c | 2 net/ipv6/raw.c | 2 net/ipv6/syncookies.c | 2 net/ipv6/tcp_ipv6.c | 4 net/ipv6/udp.c | 2 net/l2tp/l2tp_ip6.c | 2 net/mac80211/chan.c | 7 net/mac80211/ieee80211_i.h | 5 net/mac80211/scan.c | 20 net/netfilter/nf_synproxy_core.c | 2 net/nfc/core.c | 1 net/rxrpc/ar-internal.h | 13 net/rxrpc/call_event.c | 7 net/rxrpc/conn_object.c | 2 net/rxrpc/input.c | 31 - net/rxrpc/output.c | 20 net/rxrpc/recvmsg.c | 8 net/rxrpc/sendmsg.c | 6 net/rxrpc/sysctl.c | 4 net/sctp/input.c | 4 net/smc/af_smc.c | 2 net/wireless/nl80211.c | 1 net/wireless/reg.c | 4 net/xfrm/xfrm_state.c | 6 scripts/faddr2line | 150 ++++-- security/integrity/ima/Kconfig | 14 security/integrity/platform_certs/keyring_handler.h | 8 security/integrity/platform_certs/load_uefi.c | 33 + security/security.c | 17 security/selinux/hooks.c | 4 security/selinux/include/xfrm.h | 2 security/selinux/xfrm.c | 13 sound/core/jack.c | 34 + sound/core/pcm_memory.c | 3 sound/pci/hda/patch_realtek.c | 11 sound/soc/atmel/atmel-classd.c | 1 sound/soc/atmel/atmel-pdmic.c | 1 sound/soc/codecs/Kconfig | 2 sound/soc/codecs/max98090.c | 6 sound/soc/codecs/rk3328_codec.c | 2 sound/soc/codecs/rt5514.c | 2 sound/soc/codecs/rt5645.c | 7 sound/soc/codecs/tscs454.c | 12 sound/soc/codecs/wm2000.c | 6 sound/soc/fsl/imx-sgtl5000.c | 14 sound/soc/intel/boards/bytcr_rt5640.c | 12 sound/soc/mediatek/mt2701/mt2701-wm8960.c | 9 sound/soc/mediatek/mt8173/mt8173-max98090.c | 5 sound/soc/mxs/mxs-saif.c | 1 sound/soc/samsung/aries_wm8994.c | 17 sound/soc/samsung/arndale.c | 5 sound/soc/samsung/littlemill.c | 5 sound/soc/samsung/lowland.c | 5 sound/soc/samsung/odroid.c | 4 sound/soc/samsung/smdk_wm8994.c | 4 sound/soc/samsung/smdk_wm8994pcm.c | 4 sound/soc/samsung/snow.c | 9 sound/soc/samsung/speyside.c | 5 sound/soc/samsung/tm2_wm5110.c | 3 sound/soc/samsung/tobermory.c | 5 sound/soc/soc-dapm.c | 2 sound/soc/ti/j721e-evm.c | 44 + sound/usb/midi.c | 3 tools/lib/bpf/libbpf.c | 20 tools/perf/Makefile.config | 39 + tools/perf/builtin-c2c.c | 6 tools/perf/pmu-events/jevents.c | 2 tools/perf/util/data.h | 1 tools/power/x86/turbostat/turbostat.c | 1 tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c | 2 tools/testing/selftests/cgroup/test_stress.sh | 2 tools/testing/selftests/resctrl/fill_buf.c | 4 510 files changed, 3860 insertions(+), 2277 deletions(-)
Abhinav Kumar (1):
drm/msm/dpu: handle pm_runtime_get_sync() errors in bind path
Abhishek Kumar (1):
ath10k: skip ath10k_halt during suspend for driver state RESTARTING
Aditya Garg (1):
efi: Do not import certificates from UEFI Secure Boot for T2 Macs
Aidan MacDonald (1):
mmc: jz4740: Apply DMA engine limits to maximum segment size
Akira Yokosawa (1):
docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
Albert Wang (1):
usb: dwc3: gadget: Move null pinter check to proper place
Alex Elder (2):
net: ipa: fix page free in ipa_endpoint_trans_release()
net: ipa: fix page free in ipa_endpoint_replenish_one()
Alexander Aring (2):
dlm: fix plock invalid read
dlm: fix missing lkb refcount handling
Alexander Wetzel (1):
rtl818x: Prevent using not initialized queues
Alexandre Ghiti (1):
riscv: Initialize thread pointer before calling C functions
Alexandru Elisei (1):
arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall
Alexey Dobriyan (1):
proc: fix dentry/inode overinstantiating under /proc/${pid}/netAlexey Khoroshilov (1):
ASoC: max98090: Move check for invalid values before casting in max98090_put_enab_tlv()
Alice Wong (1):
drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo
Amadeusz Sławiński (1):
ALSA: jack: Access input_dev under mutex
Amelie Delaunay (3):
dmaengine: stm32-mdma: remove GISR1 register
dmaengine: stm32-mdma: rework interrupt handler
dmaengine: stm32-mdma: fix chan initialization in stm32_mdma_irq_handler()
Amir Goldstein (2):
inotify: show inotify mask flags in proc fdinfo
fsnotify: fix wrong lockdep annotations
Ammar Faizi (2):
x86/MCE/AMD: Fix memory leak when threshold_create_bank() fails x86/delay: Fix the wrong asm constraint in delay_loop()
Andre Przywara (1):
ARM: dts: suniv: F1C100: fix watchdog compatible
Andreas Gruenbacher (1):
iomap: iomap_write_failed fix
Andrii Nakryiko (2):
libbpf: Don't error out on CO-RE relos for overriden weak subprogs
libbpf: Fix logic for finding matching program for CO-RE relocation
Archie Pusaka (2):
Bluetooth: use inclusive language in HCI role comments
Bluetooth: use inclusive language when filtering devices
Arnd Bergmann (2):
drbd: fix duplicate array initializer
ARM: pxa: maybe fix gpio lookup tables
Baochen Qiang (1):
ath11k: Don't check arvif->is_started before sending management frames
Baokun Li (1):
ext4: fix bug_on in __es_tree_search
Bart Van Assche (1):
scsi: ufs: qcom: Fix ufs_qcom_resume()
Bhaskar Chowdhury (1):
Bluetooth: L2CAP: Rudimentary typo fixes
Biju Das (1):
spi: spi-rspi: Remove setting {src,dst}_{addr,addr_width} based on DMA direction
Bjorn Andersson (1):
soc: qcom: llcc: Add MODULE_DEVICE_TABLE()
Bjorn Helgaas (1):
PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299
Björn Ardö (1):
mailbox: forward the hrtimer if not queued and under a lock
Bob Peterson (1):
gfs2: use i_lock spin_lock for inode qadata
Borislav Petkov (1):
x86/microcode: Add explicit CPU vendor dependency
Brian Foster (3):
xfs: sync lazy sb accounting on quiesce of read-only mounts
xfs: restore shutdown check in mapped write fault path
xfs: consider shutdown in bmapbt cursor delete assert
Brian Norris (2):
PM / devfreq: rk3399_dmc: Disable edev on remove() drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
Cai Huoqing (1):
media: staging: media: rkvdec: Make use of the helper function devm_platform_ioremap_resource()
Carl Yin(殷张成) (1):
USB: serial: option: add Quectel BG95 modem
Chao Yu (7):
f2fs: fix to avoid f2fs_bug_on() in dec_valid_node_count()
f2fs: fix to do sanity check on block address in f2fs_do_zero_range()
f2fs: fix to clear dirty inode in f2fs_evict_inode()
f2fs: fix deadloop in foreground GC
f2fs: fix to do sanity check on total_data_blocks
f2fs: fix fallocate to use file_modified to update permissions consistently
f2fs: fix to do sanity check for inline inode
Charles Keepax (3):
ASoC: tscs454: Add endianness flag in snd_soc_component_driver
ASoC: atmel-pdmic: Remove endianness flag on pdmic component
ASoC: atmel-classd: Remove endianness flag on class d component
Chen-Tsung Hsieh (1):
mtd: spi-nor: core: Check written SR value in spi_nor_write_16bit_sr_and_check()
Chen-Yu Tsai (1):
media: hantro: Empty encoder capture buffers by default
Chengming Zhou (1):
sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq
Christoph Hellwig (2):
target: remove an incorrect unmap zeroes data deduction
virtio_blk: fix the discard_granularity and discard_alignment queue limits
Christophe JAILLET (5):
media: aspeed: Fix an error handling path in aspeed_video_probe()
hinic: Avoid some over memory allocation
memory: samsung: exynos5422-dmc: Avoid some over memory allocation drivers/base/memory: fix an unlikely reference counting issue in __add_memory_block()
dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
Christophe de Dinechin (1):
nodemask.h: fix compilation error with GCC12
Chuanhong Guo (1):
arm: mediatek: select arch timer for mt7629
Colin Ian King (2):
ALSA: pcm: Check for null pointer of pointer substream before dereferencing it selftests/resctrl: Fix null pointer dereference on open failed
Coly Li (4):
bcache: improve multithreaded bch_btree_check()
bcache: improve multithreaded bch_sectors_dirty_init()
bcache: remove incremental dirty sector counting for bch_sectors_dirty_init()
bcache: avoid journal no-space deadlock by reserving 1 journal bucket
Corentin Labbe (3):
crypto: marvell/cesa - ECB does not IV
crypto: sun8i-ss - rework handling of IV
crypto: sun8i-ss - handle zero sized sg
Corey Minyard (2):
ipmi:ssif: Check for NULL msg when handling events and messages
ipmi: Fix pr_fmt to avoid compilation issues
Cristian Marussi (1):
firmware: arm_scmi: Fix list protocols enumeration in the base protocol
Dan Carpenter (5):
ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
PCI: cadence: Fix find_first_zero_bit() limit
PCI: rockchip: Fix find_first_zero_bit() limit
OPP: call of_node_put() on error path in _bandwidth_supported()
Dan Williams (2):
nvdimm: Fix firmware activation deadlock scenarios
nvdimm: Allow overwrite in the presence of disabled dimms
Daniel Lezcano (2):
thermal/drivers/core: Use a char pointer for the cooling device name thermal/core: Fix memory leak in the error path
Daniel Thompson (1):
irqchip/exiu: Fix acknowledgment of edge triggered interrupts
Daniel Vetter (1):
fbcon: Consistently protect deferred_takeover with console_lock()
Darrick J. Wong (3):
xfs: fix chown leaking delalloc quota blocks when fssetxattr fails
xfs: fix incorrect root dquot corruption error when switching group/project quota types
xfs: force log and push AIL to clear pinned inodes when aborting mount
Dave Airlie (1):
drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
Dave Chinner (1):
xfs: assert in xfs_btree_del_cursor should take into account error
David Howells (7):
rxrpc: Return an error to sendmsg if call failed
rxrpc, afs: Fix selection of abort codes
rxrpc: Fix listen() setting the bar too high for the prealloc rings
rxrpc: Don't try to resend the request if we're receiving the reply
rxrpc: Fix overlapping ACK accounting
rxrpc: Don't let ack.previousPacket regress
rxrpc: Fix decision on when to generate an IDLE ACK
Dennis Dalessandro (1):
RDMA/hfi1: Fix potential integer multiplication overflow errors
Dimitri John Ledkov (1):
cfg80211: declare MODULE_FIRMWARE for regulatory.db
Dinh Nguyen (1):
dt-bindings: gpio: altera: correct interrupt-cells
Dmitry Baryshkov (2):
drm/msm/dsi: fix error checks and return values for DSI xmit functions drm/msm: add missing include to msm_drv.c
Dmitry Torokhov (1):
Input: stmfts - do not leave device disabled in stmfts_input_open
Dongliang Mu (3):
HID: bigben: fix slab-out-of-bounds Write in bigben_probe
rtlwifi: Use pr_warn instead of WARN_ONCE
media: ov7670: remove ov7670_power_off from ov7670_remove
Douglas Miller (2):
RDMA/hfi1: Prevent panic when SDMA is disabled RDMA/hfi1: Prevent use of lock before it is initialized
Duoming Zhou (1):
NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
Emmanuel Grumbach (1):
iwlwifi: mvm: fix assert 1F04 upon reconfig
Eric Biggers (2):
ext4: reject the 'commit' option on ext2 filesystems
ext4: only allow test_dummy_encryption when supported
Eric Dumazet (2):
net: remove two BUG() from skb_checksum_help()
sctp: read sk->sk_bound_dev_if once in sctp_rcv()
Eric W. Biederman (3):
ptrace/um: Replace PT_DTRACE with TIF_SINGLESTEP ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
Eugenio Pérez (1):
vdpasim: allow to enable a vq repeatedly
Evan Quan (1):
drm/amd/pm: fix the compile warning
Fabio Estevam (1):
net: phy: micrel: Allow probing without .driver_data
Felix Fietkau (1):
mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
Finn Thain (1):
macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
Francesco Dolcini (1):
PCI: imx6: Fix PERST# start-up sequence
GUO Zihua (1):
ima: remove the IMA_TEMPLATE Kconfig option
Geert Uytterhoeven (2):
m68k: atari: Make Atari ROM port I/O write macros return void
m68k: math-emu: Fix dependencies of math emulation support
Gilad Ben-Yossef (1):
crypto: ccree - use fine grained DMA mapping dir
Greg Kroah-Hartman (1):
Linux 5.10.121
Guenter Roeck (2):
platform/chrome: Re-introduce cros_ec_cmd_xfer and use it for ioctls
MIPS: Loongson: Use hwmon_device_register_with_groups() to register hwmon
Guo Ren (1):
csky: patch_text: Fixup last cpu should be master
Gustavo A. R. Silva (3):
net: stmmac: selftests: Use kcalloc() instead of kzalloc()
net: huawei: hinic: Use devm_kcalloc() instead of devm_kzalloc()
scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
Hangyu Hua (3):
media: rga: fix possible memory leak in rga_probe
drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
misc: ocxl: fix possible double free in ocxl_file_register_afu
Hans Verkuil (1):
media: cec-adap.c: fix is_configuring state
Hans de Goede (1):
ASoC: Intel: bytcr_rt5640: Add quirk for the HP Pro Tablet 408
Haowen Bai (4):
b43legacy: Fix assigning negative value to unsigned variable
b43: Fix assigning negative value to unsigned variable
ipw2x00: Fix potential NULL dereference in libipw_xmit()
sfc: ef10: Fix assigning negative value to unsigned variable
Haren Myneni (1):
powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr
Hari Bathini (2):
powerpc/fadump: Fix fadump to work with a different endian capture kernel powerpc/fadump: fix PT_LOAD segment for boot memory area
Hari Chandrakanthan (1):
ath11k: disable spectral scan during spectral deinit
Heiko Carstens (1):
s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
Helge Deller (2):
parisc/stifb: Implement fb_is_primary_device() parisc/stifb: Keep track of hardware path of graphics card
Heming Zhao (1):
md/bitmap: don't set sb values if can't pass sanity check
Howard Chung (1):
Bluetooth: Interleave with allowlist scan
Jaegeuk Kim (1):
f2fs: don't need inode lock for system hidden quota
Jagan Teki (1):
drm/panel: panel-simple: Fix proper bpc for AM-1280800N3TZQW-T00H
Jakob Koschel (1):
f2fs: fix dereference of stale list iterator after loop body
Jakub Kicinski (2):
eth: tg3: silence the GCC 12 array-bounds warning
net: stmmac: fix out-of-bounds access in a selftest
James Clark (1):
perf tools: Use Python devtools for version autodetection rather than runtime
James Smart (1):
scsi: lpfc: Fix resource leak in lpfc_sli4_send_seq_to_ulp()
Jan Kara (11):
bfq: Split shared queues on move between cgroups
bfq: Update cgroup information before merging bio
bfq: Track whether bfq_group is still online
ext4: verify dir block before splitting it
ext4: avoid cycles in directory h-tree
bfq: Avoid merging queues with different parents
bfq: Drop pointless unlock-lock pair
bfq: Remove pointless bfq_init_rq() calls
bfq: Get rid of __bio_blkcg() usage
bfq: Make sure bfqg for which we are queueing requests is online
block: fix bio_clone_blkg_association() to associate with proper blkcg_gq
Jan Kiszka (1):
efi: Add missing prototype for efi_capsule_setup_info
Jani Nikula (2):
drm/edid: fix invalid EDID extension block filtering drm/i915/dsi: fix VBT send packet port selection for ICL+
Janusz Krzysztofik (1):
ARM: OMAP1: clock: Fix UART rate reporting algorithm
Jason A. Donenfeld (2):
openrisc: start CPU timer early in boot Revert "random: use static branch for crng_ready()"
Jeffrey Mitchell (1):
xfs: set inode size after creating symlink
Jessica Zhang (2):
drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected
Jia-Ju Bai (1):
md: bcache: check the return value of kzalloc() in detached_dev_do_request()
Jia-Wei Chang (1):
cpufreq: mediatek: Use module_init and add module_exit
Jiantao Zhang (1):
PCI: dwc: Fix setting error return on MSI DMA mapping failure
Jiasheng Jiang (1):
drm: mali-dp: potential dereference of null pointer
Jiri Slaby (1):
serial: pch: don't overwrite xmit->buf[0] by x_char
Joerg Roedel (1):
iommu/amd: Increase timeout waiting for GA log enablement
Johan Hovold (4):
PCI: qcom: Fix runtime PM imbalance on probe errors
PCI: qcom: Fix unbalanced PHY init on probe errors
phy: qcom-qmp: fix struct clk leak on probe errors
phy: qcom-qmp: fix reset-controller leak on probe errors
Johannes Berg (3):
nl80211: show SSID for P2P_GO interfaces
wifi: mac80211: fix use-after-free in chanctx code
um: chan_user: Fix winch_tramp() return value
Jonas Karlman (1):
media: rkvdec: h264: Fix bit depth wrap in pps packet
Jonathan Bakker (1):
ARM: dts: s5pv210: Remove spi-cs-high on panel in Aries
Jonathan Teh (1):
HID: hid-led: fix maximum brightness for Dream Cheeky
Josh Poimboeuf (2):
x86/speculation: Add missing prototype for unpriv_ebpf_notify() scripts/faddr2line: Fix overlapping text section failures
Junxiao Bi via Ocfs2-devel (1):
ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
Kajol Jain (1):
powerpc/perf: Fix the threshold compare group constraint for power9
Kan Liang (1):
perf/x86/intel: Fix event constraints for ICL
Kathiravan T (1):
arm64: dts: qcom: ipq8074: fix the sleep clock frequency
Keita Suzuki (2):
drm/amd/pm: fix double free in si_parse_power_table()
tracing: Fix potential double free in create_var_ref()
Keith Busch (1):
nvme: set dma alignment to dword
Kirill A. Shutemov (1):
ACPICA: Avoid cache flush inside virtual machines
Kishon Vijay Abraham I (1):
usb: core: hcd: Add support for deferring roothub registration
Kiwoong Kim (1):
scsi: ufs: core: Exclude UECxx from SFR dump list
Konrad Dybcio (2):
arm64: dts: qcom: msm8994: Fix BLSP[12]_DMA channels count
regulator: qcom_smd: Fix up PM8950 regulator configuration
Krzysztof Kozlowski (6):
ARM: dts: ox820: align interrupt controller node name with dtschema
ARM: dts: s5pv210: align DMA channels with dtschema
ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value irqchip/aspeed-scu-ic: Fix irq_of_parse_and_map() return value
pinctrl: mvebu: Fix irq_of_parse_and_map() return value
Kuldeep Singh (1):
spi: qcom-qspi: Add minItems to interconnect-names
Kuninori Morimoto (2):
ASoC: samsung: Use dev_err_probe() helper
i2c: rcar: fix PM ref counts in probe error paths
Kuogee Hsieh (3):
drm/msm/dpu: adjust display_v_end for eDP and DP drm/msm/dp: stop event kernel thread when DP unbind drm/msm/dp: fix event thread stuck in wait_event after kthread_stop()
Kuppuswamy Sathyanarayanan (1):
PCI/AER: Clear MULTI_ERR_COR/UNCOR_RCV bits
Kwanghoon Son (1):
media: exynos4-is: Fix compile warning
Lai Jiangshan (1):
x86/sev: Annotate stack change in the #VC handler
Len Brown (1):
tools/power turbostat: fix ICX DRAM power numbers
Leo Yan (1):
perf c2c: Use stdio interface if slang is not supported
Lin Ma (2):
ASoC: rt5645: Fix errorenous cleanup order
NFC: NULL out the dev->rfkill to prevent UAF
Linus Torvalds (1):
drm: fix EDID struct for old ARM OABI format
Liu Zixian (1):
drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
Liviu Dudau (1):
drm/komeda: return early if drm_universal_plane_init() fails.
Luca Weiss (1):
media: venus: hfi: avoid null dereference in deinit
Lucas Stach (2):
drm/bridge: adv7511: clean up CEC adapter when probe fails drm/etnaviv: check for reaped mapping in etnaviv_iommu_unmap_gem
Lv Ruyi (7):
scsi: megaraid: Fix error check return value of register_chrdev()
drm: msm: fix error check return value of irq_of_parse_and_map() powerpc/xics: fix refcount leak in icp_opal_init() powerpc/powernv: fix missing of_node_put in uv_init() drm/msm/dp: fix error check return value of irq_of_parse_and_map() drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
mfd: ipaq-micro: Fix error check return value of platform_get_irq()
Maciej W. Rozycki (2):
MIPS: IP27: Remove incorrect `cpu_has_fpu' override
MIPS: IP30: Remove incorrect `cpu_has_fpu' override
Manivannan Sadhasivam (1):
scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
Mao Jinlong (1):
coresight: core: Fix coresight device probe failure issue
Marc Kleine-Budde (1):
can: xilinx_can: mark bit timing constants as const
Marek Vasut (2):
drm/panel: simple: Add missing bus flags for Innolux G070Y2-L01
ARM: dts: stm32: Fix PHY post-reset delay on Avenger96
Mario Limonciello (1):
ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default
Marios Levogiannis (1):
ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
Mark Bloch (1):
net/mlx5: fs, delete the FTE when there are no rules attached to it
Mark Brown (2):
ASoC: dapm: Don't fold register value changes into notifications
ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
Mathias Nyman (1):
xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI
Matthieu Baerts (1):
x86/pm: Fix false positive kmemleak report in msr_build_context()
Max Filippov (1):
irqchip: irq-xtensa-mx: fix initial IRQ affinity
Max Krummenacher (1):
ARM: dts: imx6dl-colibri: Fix I2C pinmuxing
Maxime Ripard (3):
drm/vc4: hvs: Reset muxes at probe time drm/vc4: txp: Don't set TXP_VSTART_AT_EOF drm/vc4: txp: Force alpha to be 0xff if it's disabled
Miaohe Lin (1):
drivers/base/node.c: fix compaction sysfs file leak
Miaoqian Lin (20):
ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
HID: elan: Fix potential double free in elan_input_configured drm/bridge: Fix error handling in analogix_dp_probe
ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe
ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
ASoC: samsung: Fix refcount leak in aries_audio_probe
media: exynos4-is: Fix PM disable depth imbalance in fimc_is_probe
media: st-delta: Fix PM disable depth imbalance in delta_probe
media: exynos4-is: Change clk_disable to clk_disable_unprepare
ASoC: ti: j721e-evm: Fix refcount leak in j721e_soc_probe_* drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init thermal/drivers/imx_sc_thermal: Fix refcount leak in imx_sc_thermal_probe
soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
Input: sparcspkr - fix refcount leak in bbc_beep_probe powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
Michael Ellerman (1):
powerpc/64: Only WARN if __pa()/__va() called with bad addresses
Michael Rodin (1):
media: vsp1: Fix offset calculation for plane cropping
Michael Walle (1):
i2c: at91: use dma safe buffers
Mike Kravetz (1):
hugetlb: fix huge_pmd_unshare address update
Mike Travis (1):
x86/platform/uv: Update TSC sync state for UV5
Mikulas Patocka (1):
dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
Miles Chen (1):
drm/mediatek: Fix mtk_cec_mask()
Minghao Chi (1):
scsi: ufs: Use pm_runtime_resume_and_get() instead of pm_runtime_get_sync()
Monish Kumar R (1):
USB: new quirk for Dell Gen 2 devices
Muchun Song (1):
dax: fix cache flush on PMD-mapped pages
Nathan Chancellor (2):
drm/i915: Fix CFI violation with show_dynamic_id()
i2c: at91: Initialize dma_buf in at91_twi_xfer()
Naveen N. Rao (1):
kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
Nico Boehr (1):
s390/perf: obtain sie_block from the right address
Nicolas Dufresne (3):
media: rkvdec: h264: Fix dpb_valid implementation
media: coda: Fix reported H264 profile
media: coda: Add more H264 levels for CODA960
Nicolas Frattaroli (1):
ASoC: rk3328: fix disabling mclk on pclk probe failure
Niels Dossche (5):
mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
ipv6: fix locking issues with loops over idev->addr_list IB/rdmavt: add missing locks in rvt_ruc_loopback
ath11k: acquire ab->base_lock in unassign when finding the peer by addr
Bluetooth: use hdev lock for accept_list and reject_list in conn req
Niklas Cassel (1):
binfmt_flat: do not stop relocating GOT entries prematurely on riscv
Noralf Trønnes (1):
dt-bindings: display: sitronix, st7735r: Fix backlight in example
Nuno Sá (1):
of: overlay: do not break notify on NOTIFY_{OK|STOP}OGAWA Hirofumi (1):
fat: add ratelimit to fat*_ent_bread()
Padmanabha Srinivasaiah (1):
rcu-tasks: Fix race in schedule and flush work
Pali Rohár (1):
irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
Patrice Chotard (1):
spi: stm32-qspi: Fix wait_cmd timeout in APM mode
Paul Cercueil (1):
drm/ingenic: Reset pixclock rate when parent clock rate changes
Paul E. McKenney (2):
rcu: Make TASKS_RUDE_RCU select IRQ_WORK
scftorture: Fix distribution of short handler delays
Paul Moore (1):
lsm,selinux: pass flowi_common instead of flowi to the LSM hooks
Pavel Skripkin (1):
media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
Peilin Ye (1):
Fonts: Make font size unsigned in font_desc
Peng Wu (3):
ARM: versatile: Add missing of_node_put in dcscb_init
ARM: hisi: Add missing of_node_put after of_find_compatible_node powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
Petr Machata (2):
mlxsw: spectrum_dcb: Do not warn about priority changes
mlxsw: Treat LLDP packets as control
Phil Auld (1):
kselftest/cgroup: fix test_stress.sh to use OUTPUT dir
Phil Elwell (3):
ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
ARM: dts: bcm2837-rpi-cm3-io3: Fix GPIO line names for SMPS I2C
ARM: dts: bcm2837-rpi-3-b-plus: Fix GPIO line name of power LED
Philipp Zabel (1):
media: coda: limit frame interval enumeration to supported encoder frame sizes
Pierre-Louis Bossart (2):
ASoC: max98357a: remove dependency on GPIOLIB
ASoC: rt1015p: remove dependency on GPIOLIB
Qi Zheng (1):
tty: fix deadlock caused by calling printk() under tty_port->lock
Qinglang Miao (1):
cpufreq: mediatek: add missing platform_driver_unregister() on error in mtk_cpufreq_driver_init
QintaoShen (1):
soc: ti: ti_sci_pm_domains: Check for null return of devm_kcalloc
Qu Wenruo (2):
btrfs: add "0x" prefix for unsupported optional features
btrfs: repair super block num_devices automatically
Randy Dunlap (6):
x86: Fix return value of __setup handlers
x86/mm: Cleanup the control_va_addr_alignment() __setup handler powerpc/8xx: export 'cpm_setbrg' for modules powerpc/idle: Fix return value of __setup() handler powerpc/4xx/cpm: Fix return value of __setup() handler
macintosh: via-pmu and via-cuda need RTC_LIB
Ravi Bangoria (2):
perf/amd/ibs: Cascade pmu init functions' return value perf/amd/ibs: Use interrupt regs ip for stack unwinding
Rei Yamamoto (1):
mm, compaction: fast_find_migrateblock() should return pfn in the target zone
Rex-BC Chen (1):
cpufreq: mediatek: Unregister platform device on exit
Rik van der Kemp (1):
ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop
Ronnie Sahlberg (1):
cifs: when extending a file with falloc we should make files not-sparse
Russell King (Oracle) (1):
net: dsa: mt7530: 1G can also support 1000BASE-X link mode
Sakari Ailus (1):
ACPI: property: Release subnode properties with data nodes
Samuel Holland (1):
riscv: Fix irq_work when SMP is disabled
Sathish Narasimman (1):
Bluetooth: LL privacy allow RPA
Schspa Shi (1):
cpufreq: Fix possible race in cpufreq online error path
Sean Christopherson (3):
KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry
KVM: nVMX: Clear IDT vectoring on nested VM-Exit for double/triple fault
Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug
Sebastian Andrzej Siewior (1):
crypto: cryptd - Protect per-CPU resource by disabling BH.
Shawn Lin (1):
arm64: dts: rockchip: Move drive-impedance-ohm to emmc phy on rk3399
Smith, Kyle Miller (Nimble Kernel) (1):
nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
Song Liu (1):
ftrace: Clean up hash direct_functions on register failures
Stefan Wahren (4):
thermal/drivers/bcm2711: Don't clamp temperature at zero
ARM: dts: bcm2835-rpi-b: Fix GPIO line names
gpiolib: of: Introduce hook for missing gpio-ranges
pinctrl: bcm2835: implement hook for missing gpio-ranges
Steve French (1):
SMB3: EBADF/EIO errors in rename/open caused by race condition in smb2_compound_op
Steven Price (1):
drm/plane: Move range check for format_count earlier
Takashi Iwai (1):
ALSA: usb-audio: Cancel pending work at closing a MIDI substream
Tali Perry (2):
i2c: npcm: Fix timeout calculation
i2c: npcm: Handle spurious interrupts
Tejas Upadhyay (1):
iommu/vt-d: Add RPLS to quirk list to skip TE disabling
Tejun Heo (1):
blk-iolatency: Fix inflight count imbalances and IO hangs on offline
Tetsuo Handa (1):
media: imon: reorganize serialization
Theodore Ts'o (1):
ext4: filter out EXT4_FC_REPLAY from on-disk superblock field s_state
Thibaut VARÈNE (1):
ath9k: fix QCA9561 PA bias level
Thorsten Scherer (1):
ARM: dts: ci4x10: Adapt to changes in imx6qdl.dtsi regarding fec clocks
Tokunori Ikegami (2):
mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
Tong Tiangen (1):
arm64: fix types in copy_highpage()
Trond Myklebust (5):
NFS: Do not report EINTR/ERESTARTSYS as mapping errors
NFS: fsync() should report filesystem errors over EINTR/ERESTARTSYS
NFS: Do not report flush errors in nfs_write_end()
NFS: Don't report errors from nfs_pageio_complete() more than once NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
Tyler Hicks (1):
EDAC/dmc520: Don't print an error for each unconfigured interrupt line
Tyrone Ting (1):
i2c: npcm: Correct register access width
Tzung-Bi Shih (1):
platform/chrome: cros_ec: fix error handling in cros_ec_register()
Vasily Averin (1):
tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
Vignesh Raghavendra (1):
drivers: mmc: sdhci_am654: Add the quirk to set TESTCD bit
Vincent Mailhol (1):
can: mcp251xfd: silence clang's -Wunaligned-access warning
Vincent Whitchurch (1):
um: Fix out-of-bounds read in LDT setup
Vinod Polimera (1):
drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
Viresh Kumar (1):
Revert "cpufreq: Fix possible race in cpufreq online error path"
Waiman Long (2):
ipc/mqueue: use get_tree_nodev() in mqueue_get_tree() kseltest/cgroup: Make test_stress.sh work if run interactively
Wenli Looi (1):
ath9k: fix ar9003_get_eepmisc
Xiao Yang (1):
RDMA/rxe: Generate a completion for unsupported/invalid opcode
Xiaomeng Tong (11):
media: uvcvideo: Fix missing check to determine if element is found in list
scsi: dc395x: Fix a missing check on list iterator drm/nouveau/clk: Fix an incorrect NULL check on list iterator drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator
md: fix an incorrect NULL check in does_sb_need_changing
md: fix an incorrect NULL check in md_reload_sb
iommu/msm: Fix an incorrect NULL check on list iterator
carl9170: tx: fix an incorrect use of list iterator
stm: ltdc: fix two incorrect NULL checks on list iterator
tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
gma500: fix an incorrect NULL check on list iterator
Xie Yongji (1):
nbd: Fix hung on disconnect request if socket is closed before
Yang Jihong (1):
perf tools: Add missing headers needed by util/data.h
Yang Yingliang (10):
pinctrl: renesas: rzn1: Fix possible null-ptr-deref in sh_pfc_map_resources()
mtd: rawnand: cadence: fix possible null-ptr-deref in cadence_nand_dt_probe() drm/msm/hdmi: check return value after calling platform_get_resource_byname() drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
spi: spi-fsl-qspi: check return value after calling platform_get_resource_byname() thermal/core: Fix memory leak in __thermal_cooling_device_register()
ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
pinctrl: renesas: core: Fix possible null-ptr-deref in sh_pfc_map_resources()
hwrng: omap3-rom - fix using wrong clk_disable() in omap_rom_rng_runtime_resume()
mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
Ye Bin (3):
ext4: fix use-after-free in ext4_rename_dir_prepare
ext4: fix warning in ext4_handle_inode_extension
ext4: fix bug_on in ext4_writepages
Yi Yang (1):
xtensa/simdisk: fix proc_read_simdisk()
Yicong Yang (1):
PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
Ying Hsu (1):
Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
Yong Wu (1):
iommu/mediatek: Add list_del in mtk_iommu_remove
Yonghong Song (1):
selftests/bpf: fix btf_dump/btf_dump due to recent clang change
Yongzhi Liu (1):
hv_netvsc: Fix potential dereference of NULL pointer
Yuntao Wang (1):
bpf: Fix excessive memory allocation in stack_map_alloc()
Zev Weiss (1):
regulator: core: Fix enable_count imbalance with EXCLUSIVE_GET
Zheng Bin (1):
net: hinic: add missing destroy_workqueue in hinic_pf_to_mgmt_init
Zheng Yongjun (2):
spi: img-spfi: Fix pm_runtime_get_sync() error checking thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe
Zhengjun Xing (1):
perf jevents: Fix event syntax error caused by ExtSel
Zheyu Ma (3):
media: pci: cx23885: Fix the error handling in cx23885_initdev()
media: cx25821: Fix the warning when removing the module
mtd: rawnand: denali: Use managed device resources
Zhihao Cheng (1):
fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
Zhou Qingyang (1):
drm/komeda: Fix an undefined behavior bug in komeda_plane_add()
Zixuan Fu (1):
fs: jfs: fix possible NULL pointer dereference in dbFree()
Ziyang Xuan (1):
thermal/core: fix a UAF bug in __thermal_cooling_device_register()
jianghaoran (1):
ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
liuyacan (1):
net/smc: postpone sk_refcnt increment in connect()
Greg Kroah-Hartman
maintainerDocumentation/conf.py +1 -1
@@ -176,7 +176,7 @@ finally: # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = None +language = 'en' # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used:
Documentation/devicetree/bindings/display/sitronix,st7735r.yaml +1 -0
@@ -72,6 +72,7 @@ examples: dc-gpios = <&gpio 43 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio 80 GPIO_ACTIVE_HIGH>; rotation = <270>; + backlight = <&backlight>; }; };
Documentation/devicetree/bindings/gpio/gpio-altera.txt +3 -2
@@ -9,8 +9,9 @@ Required properties: - The second cell is reserved and is currently unused. - gpio-controller : Marks the device node as a GPIO controller. - interrupt-controller: Mark the device node as an interrupt controller -- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware. +- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware. - The first cell is the GPIO offset number within the GPIO controller. + - The second cell is the interrupt trigger type and level flags. - interrupts: Specify the interrupt. - altr,interrupt-type: Specifies the interrupt trigger type the GPIO hardware is synthesized. This field is required if the Altera GPIO controller
@@ -38,6 +39,6 @@ gpio_altr: gpio@ff200000 { altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>; #gpio-cells = <2>; gpio-controller; - #interrupt-cells = <1>; + #interrupt-cells = <2>; interrupt-controller; };
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml +1 -0
@@ -45,6 +45,7 @@ properties: maxItems: 2 interconnect-names: + minItems: 1 items: - const: qspi-config - const: qspi-memory
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 120 +SUBLEVEL = 121 EXTRAVERSION = NAME = Dare mighty things
arch/arm/boot/dts/bcm2835-rpi-b.dts +6 -7
@@ -53,18 +53,17 @@ &gpio { "GPIO18", "NC", /* GPIO19 */ "NC", /* GPIO20 */ - "GPIO21", + "CAM_GPIO0", "GPIO22", "GPIO23", "GPIO24", "GPIO25", "NC", /* GPIO26 */ - "CAM_GPIO0", - /* Binary number representing build/revision */ - "CONFIG0", - "CONFIG1", - "CONFIG2", - "CONFIG3", + "GPIO27", + "GPIO28", + "GPIO29", + "GPIO30", + "GPIO31", "NC", /* GPIO32 */ "NC", /* GPIO33 */ "NC", /* GPIO34 */
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +12 -10
@@ -74,16 +74,18 @@ &gpio { "GPIO27", "SDA0", "SCL0", - "NC", /* GPIO30 */ - "NC", /* GPIO31 */ - "NC", /* GPIO32 */ - "NC", /* GPIO33 */ - "NC", /* GPIO34 */ - "NC", /* GPIO35 */ - "NC", /* GPIO36 */ - "NC", /* GPIO37 */ - "NC", /* GPIO38 */ - "NC", /* GPIO39 */ + /* Used by BT module */ + "CTS0", + "RTS0", + "TXD0", + "RXD0", + /* Used by Wifi */ + "SD1_CLK", + "SD1_CMD", + "SD1_DATA0", + "SD1_DATA1", + "SD1_DATA2", + "SD1_DATA3", "CAM_GPIO1", /* GPIO40 */ "WL_ON", /* GPIO41 */ "NC", /* GPIO42 */
arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +1 -1
@@ -45,7 +45,7 @@ expgpio: gpio { #gpio-cells = <2>; gpio-line-names = "BT_ON", "WL_ON", - "STATUS_LED_R", + "PWR_LED_R", "LAN_RUN", "", "CAM_GPIO0",
arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +2 -2
@@ -63,8 +63,8 @@ &gpio { "GPIO43", "GPIO44", "GPIO45", - "GPIO46", - "GPIO47", + "SMPS_SCL", + "SMPS_SDA", /* Used by eMMC */ "SD_CLK_R", "SD_CMD_R",
arch/arm/boot/dts/exynos5250-smdk5250.dts +2 -2
@@ -129,7 +129,7 @@ &i2c_0 { samsung,i2c-max-bus-freq = <20000>; eeprom@50 { - compatible = "samsung,s524ad0xd1"; + compatible = "samsung,s524ad0xd1", "atmel,24c128"; reg = <0x50>; };
@@ -289,7 +289,7 @@ &i2c_1 { samsung,i2c-max-bus-freq = <20000>; eeprom@51 { - compatible = "samsung,s524ad0xd1"; + compatible = "samsung,s524ad0xd1", "atmel,24c128"; reg = <0x51>; };
arch/arm/boot/dts/imx6dl-eckelmann-ci4x10.dts +5 -1
@@ -297,7 +297,11 @@ &fec { phy-mode = "rmii"; phy-reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; phy-handle = <&phy>; - clocks = <&clks IMX6QDL_CLK_ENET>, <&clks IMX6QDL_CLK_ENET>, <&rmii_clk>; + clocks = <&clks IMX6QDL_CLK_ENET>, + <&clks IMX6QDL_CLK_ENET>, + <&rmii_clk>, + <&clks IMX6QDL_CLK_ENET_REF>; + clock-names = "ipg", "ahb", "ptp", "enet_out"; status = "okay"; mdio {
arch/arm/boot/dts/imx6qdl-colibri.dtsi +3 -3
@@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ OR MIT /* - * Copyright 2014-2020 Toradex + * Copyright 2014-2022 Toradex * Copyright 2012 Freescale Semiconductor, Inc. * Copyright 2011 Linaro Ltd. */
@@ -132,7 +132,7 @@ &i2c2 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c2>; - pinctrl-0 = <&pinctrl_i2c2_gpio>; + pinctrl-1 = <&pinctrl_i2c2_gpio>; scl-gpios = <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio3 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; status = "okay";
@@ -488,7 +488,7 @@ MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1 >; }; - pinctrl_i2c2_gpio: i2c2grp { + pinctrl_i2c2_gpio: i2c2gpiogrp { fsl,pins = < MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x4001b8b1 MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x4001b8b1
arch/arm/boot/dts/ox820.dtsi +1 -1
@@ -287,7 +287,7 @@ local-timer@600 { clocks = <&armclk>; }; - gic: gic@1000 { + gic: interrupt-controller@1000 { compatible = "arm,arm11mp-gic"; interrupt-controller; #interrupt-cells = <3>;
arch/arm/boot/dts/s5pv210-aries.dtsi +1 -2
@@ -564,7 +564,6 @@ panel@0 { reset-gpios = <&mp05 5 GPIO_ACTIVE_LOW>; vdd3-supply = <&ldo7_reg>; vci-supply = <&ldo17_reg>; - spi-cs-high; spi-max-frequency = <1200000>; pinctrl-names = "default";
@@ -637,7 +636,7 @@ touchscreen@4a { }; &i2s0 { - dmas = <&pdma0 9>, <&pdma0 10>, <&pdma0 11>; + dmas = <&pdma0 10>, <&pdma0 9>, <&pdma0 11>; status = "okay"; };
arch/arm/boot/dts/s5pv210.dtsi +6 -6
@@ -240,8 +240,8 @@ i2s0: i2s@eee30000 { reg = <0xeee30000 0x1000>; interrupt-parent = <&vic2>; interrupts = <16>; - dma-names = "rx", "tx", "tx-sec"; - dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>; + dma-names = "tx", "rx", "tx-sec"; + dmas = <&pdma1 10>, <&pdma1 9>, <&pdma1 11>; clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
@@ -260,8 +260,8 @@ i2s1: i2s@e2100000 { reg = <0xe2100000 0x1000>; interrupt-parent = <&vic2>; interrupts = <17>; - dma-names = "rx", "tx"; - dmas = <&pdma1 12>, <&pdma1 13>; + dma-names = "tx", "rx"; + dmas = <&pdma1 13>, <&pdma1 12>; clock-names = "iis", "i2s_opclk0"; clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>; pinctrl-names = "default";
@@ -275,8 +275,8 @@ i2s2: i2s@e2a00000 { reg = <0xe2a00000 0x1000>; interrupt-parent = <&vic2>; interrupts = <18>; - dma-names = "rx", "tx"; - dmas = <&pdma1 14>, <&pdma1 15>; + dma-names = "tx", "rx"; + dmas = <&pdma1 15>, <&pdma1 14>; clock-names = "iis", "i2s_opclk0"; clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>; pinctrl-names = "default";
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +1 -0
@@ -141,6 +141,7 @@ mdio0 { compatible = "snps,dwmac-mdio"; reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>; reset-delay-us = <1000>; + reset-post-delay-us = <1000>; phy0: ethernet-phy@7 { reg = <7>;
arch/arm/boot/dts/suniv-f1c100s.dtsi +3 -1
@@ -104,8 +104,10 @@ timer@1c20c00 { wdt: watchdog@1c20ca0 { compatible = "allwinner,suniv-f1c100s-wdt", - "allwinner,sun4i-a10-wdt"; + "allwinner,sun6i-a31-wdt"; reg = <0x01c20ca0 0x20>; + interrupts = <16>; + clocks = <&osc32k>; }; uart0: serial@1c25000 {
arch/arm/mach-hisi/platsmp.c +4 -0
@@ -67,14 +67,17 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus) } ctrl_base =of_iomap (np,0 );if (!ctrl_base) { +of_node_put (np);pr_err ("failed to map address\n" );return ; }if (of_property_read_u32 (np,"smp-offset" , &offset) <0 ) { +of_node_put (np);pr_err ("failed to find smp-offset property\n" );return ; } ctrl_base += offset; +of_node_put (np); } }
@@ -160,6 +163,7 @@ static int hip01_boot_secondary(unsigned int cpu, struct task_struct *idle)if (WARN_ON (!node))return -1 ; ctrl_base =of_iomap (node,0 ); +of_node_put (node);/* set the secondary core boot from DDR */ remap_reg_value =readl_relaxed (ctrl_base +REG_SC_CTRL );
arch/arm/mach-mediatek/Kconfig +1 -0
@@ -30,6 +30,7 @@ config MACH_MT7623 config MACH_MT7629 bool "MediaTek MT7629 SoCs support" default ARCH_MEDIATEK + select HAVE_ARM_ARCH_TIMER config MACH_MT8127 bool "MediaTek MT8127 SoCs support"
arch/arm/mach-omap1/clock.c +1 -1
@@ -41,7 +41,7 @@ static DEFINE_SPINLOCK(clockfw_lock);unsigned long omap1_uart_recalc (struct clk *clk) {unsigned int val =__raw_readl (clk->enable_reg); -return val & clk->enable_bit ?48000000 :12000000 ; +return val &1 << clk->enable_bit ?48000000 :12000000 ; }unsigned long omap1_sossi_recalc (struct clk *clk)
arch/arm/mach-pxa/cm-x300.c +4 -4
@@ -354,13 +354,13 @@ static struct platform_device cm_x300_spi_gpio = {static struct gpiod_lookup_table cm_x300_spi_gpiod_table = { .dev_id ="spi_gpio" , .table = { -GPIO_LOOKUP ("gpio-pxa" ,GPIO_LCD_SCL , +GPIO_LOOKUP ("pca9555.1" ,GPIO_LCD_SCL -GPIO_LCD_BASE ,"sck" ,GPIO_ACTIVE_HIGH ), -GPIO_LOOKUP ("gpio-pxa" ,GPIO_LCD_DIN , +GPIO_LOOKUP ("pca9555.1" ,GPIO_LCD_DIN -GPIO_LCD_BASE ,"mosi" ,GPIO_ACTIVE_HIGH ), -GPIO_LOOKUP ("gpio-pxa" ,GPIO_LCD_DOUT , +GPIO_LOOKUP ("pca9555.1" ,GPIO_LCD_DOUT -GPIO_LCD_BASE ,"miso" ,GPIO_ACTIVE_HIGH ), -GPIO_LOOKUP ("gpio-pxa" ,GPIO_LCD_CS , +GPIO_LOOKUP ("pca9555.1" ,GPIO_LCD_CS -GPIO_LCD_BASE ,"cs" ,GPIO_ACTIVE_HIGH ), { }, },
arch/arm/mach-pxa/magician.c +1 -1
@@ -681,7 +681,7 @@ static struct platform_device bq24022 = {static struct gpiod_lookup_table bq24022_gpiod_table = { .dev_id ="gpio-regulator" , .table = { -GPIO_LOOKUP ("gpio-pxa" ,EGPIO_MAGICIAN_BQ24022_ISET2 , +GPIO_LOOKUP ("htc-egpio-0" ,EGPIO_MAGICIAN_BQ24022_ISET2 -MAGICIAN_EGPIO_BASE ,NULL ,GPIO_ACTIVE_HIGH ),GPIO_LOOKUP ("gpio-pxa" , GPIO30_MAGICIAN_BQ24022_nCHARGE_EN,"enable" ,GPIO_ACTIVE_LOW ),
arch/arm/mach-pxa/tosa.c +2 -2
@@ -296,9 +296,9 @@ static struct gpiod_lookup_table tosa_mci_gpio_table = { .table = {GPIO_LOOKUP ("gpio-pxa" , TOSA_GPIO_nSD_DETECT,"cd" ,GPIO_ACTIVE_LOW ), -GPIO_LOOKUP ("gpio-pxa" ,TOSA_GPIO_SD_WP , +GPIO_LOOKUP ("sharp-scoop.0" ,TOSA_GPIO_SD_WP -TOSA_SCOOP_GPIO_BASE ,"wp" ,GPIO_ACTIVE_LOW ), -GPIO_LOOKUP ("gpio-pxa" ,TOSA_GPIO_PWR_ON , +GPIO_LOOKUP ("sharp-scoop.0" ,TOSA_GPIO_PWR_ON -TOSA_SCOOP_GPIO_BASE , "power", GPIO_ACTIVE_HIGH), { }, },
arch/arm/mach-vexpress/dcscb.c +1 -0
@@ -144,6 +144,7 @@ static int __init dcscb_init(void)if (!node)return -ENODEV ; dcscb_base =of_iomap (node,0 ); +of_node_put (node);if (!dcscb_base)return -EADDRNOTAVAIL ; cfg =readl_relaxed (dcscb_base +DCS_CFG_R );
arch/arm64/Kconfig.platforms +1 -0
@@ -250,6 +250,7 @@ config ARCH_STRATIX10 config ARCH_SYNQUACER bool "Socionext SynQuacer SoC Family" + select IRQ_FASTEOI_HIERARCHY_HANDLERS config ARCH_TEGRA bool "NVIDIA Tegra SoC Family"
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
@@ -13,7 +13,7 @@ / { clocks { sleep_clk: sleep_clk { compatible = "fixed-clock"; - clock-frequency = <32000>; + clock-frequency = <32768>; #clock-cells = <0>; };
arch/arm64/boot/dts/qcom/msm8994.dtsi +2 -2
@@ -316,7 +316,7 @@ blsp1_dma: dma@f9904000 { #dma-cells = <1>; qcom,ee = <0>; qcom,controlled-remotely; - num-channels = <18>; + num-channels = <24>; qcom,num-ees = <4>; };
@@ -412,7 +412,7 @@ blsp2_dma: dma@f9944000 { #dma-cells = <1>; qcom,ee = <0>; qcom,controlled-remotely; - num-channels = <18>; + num-channels = <24>; qcom,num-ees = <4>; };
arch/arm64/boot/dts/rockchip/rk3399.dtsi +1 -1
@@ -1471,6 +1471,7 @@ emmc_phy: phy@f780 { reg = <0xf780 0x24>; clocks = <&sdhci>; clock-names = "emmcclk"; + drive-impedance-ohm = <50>; #phy-cells = <0>; status = "disabled"; };
@@ -1481,7 +1482,6 @@ pcie_phy: pcie-phy { clock-names = "refclk"; #phy-cells = <1>; resets = <&cru SRST_PCIEPHY>; - drive-impedance-ohm = <50>; reset-names = "phy"; status = "disabled"; };
arch/arm64/kernel/sys_compat.c +1 -1
@@ -115,6 +115,6 @@ long compat_arm_syscall(struct pt_regs *regs, int scno) (compat_thumb_mode (regs) ?2 :4 );arm64_notify_die ("Oops - bad compat syscall(2)" , regs, -SIGILL ,ILL_ILLTRP , addr, scno); +SIGILL ,ILL_ILLTRP , addr,0 );return 0 ; }
arch/arm64/mm/copypage.c +2 -2
@@ -16,8 +16,8 @@void copy_highpage (struct page *to,struct page *from) { -struct page *kto =page_address (to); -struct page *kfrom =page_address (from); +void *kto =page_address (to); +void *kfrom =page_address (from);copy_page (kto, kfrom);
arch/csky/kernel/probes/kprobes.c +1 -1
@@ -28,7 +28,7 @@ static int __kprobes patch_text_cb(void *priv)struct csky_insn_patch *param = priv;unsigned int addr = (unsigned int )param->addr; -if (atomic_inc_return (¶m->cpu_count) ==1 ) { +if (atomic_inc_return (¶m->cpu_count) ==num_online_cpus ()) { *(u16 *) addr =cpu_to_le16 (param->opcode);dcache_wb_range (addr, addr +2 );atomic_inc (¶m->cpu_count);
arch/m68k/Kconfig.cpu +1 -1
@@ -312,7 +312,7 @@ comment "Processor Specific Options" config M68KFPU_EMU bool "Math emulation support" - depends on MMU + depends on M68KCLASSIC && FPU help At some point in the future, this will cause floating-point math instructions to be emulated by the kernel on machines that lack a
arch/m68k/include/asm/raw_io.h +3 -3
@@ -80,14 +80,14 @@ ({ u16 __v = le16_to_cpu(*(__force volatile u16 *) (addr)); __v; })#define rom_out_8 (addr, b) \ - ({u8 __maybe_unused __w, __v = (b); u32 _addr = ((u32) (addr)); \ + (void)({u8 __maybe_unused __w, __v = (b); u32 _addr = ((u32) (addr)); \ __w = ((*(__force volatile u8 *) ((_addr | 0x10000) + (__v<<1)))); })#define rom_out_be16 (addr, w) \ - ({u16 __maybe_unused __w, __v = (w); u32 _addr = ((u32) (addr)); \ + (void)({u16 __maybe_unused __w, __v = (w); u32 _addr = ((u32) (addr)); \ __w = ((*(__force volatile u16 *) ((_addr & 0xFFFF0000UL) + ((__v & 0xFF)<<1)))); \ __w = ((*(__force volatile u16 *) ((_addr | 0x10000) + ((__v >> 8)<<1)))); })#define rom_out_le16 (addr, w) \ - ({u16 __maybe_unused __w, __v = (w); u32 _addr = ((u32) (addr)); \ + (void)({u16 __maybe_unused __w, __v = (w); u32 _addr = ((u32) (addr)); \ __w = ((*(__force volatile u16 *) ((_addr & 0xFFFF0000UL) + ((__v >> 8)<<1)))); \ __w = ((*(__force volatile u16 *) ((_addr | 0x10000) + ((__v & 0xFF)<<1)))); })
arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h +0 -1
@@ -26,7 +26,6 @@#define cpu_has_3k_cache 0#define cpu_has_4k_cache 1#define cpu_has_tx39_cache 0 -#define cpu_has_fpu 1#define cpu_has_nofpuex 0#define cpu_has_32fpr 1#define cpu_has_counter 1
arch/mips/include/asm/mach-ip30/cpu-feature-overrides.h +0 -1
@@ -29,7 +29,6 @@#define cpu_has_3k_cache 0#define cpu_has_4k_cache 1#define cpu_has_tx39_cache 0 -#define cpu_has_fpu 1#define cpu_has_nofpuex 0#define cpu_has_32fpr 1#define cpu_has_counter 1
arch/openrisc/include/asm/timex.h +1 -0
@@ -23,6 +23,7 @@ static inline cycles_t get_cycles(void) {return mfspr (SPR_TTCR ); } +#define get_cycles get_cycles/* This isn't really used any more */ #define CLOCK_TICK_RATE 1000
arch/openrisc/kernel/head.S +9 -0
@@ -521,6 +521,15 @@ _start: l.ori r3,r0,0x1 l.mtspr r0,r3,SPR_SR + /* + * Start the TTCR as early as possible, so that the RNG can make use of + * measurements of boot time from the earliest opportunity. Especially + * important is that the TTCR does not return zero by the time we reach + * rand_initialize(). + */ + l.movhi r3,hi(SPR_TTMR_CR) + l.mtspr r0,r3,SPR_TTMR + CLEAR_GPR(r1) CLEAR_GPR(r2) CLEAR_GPR(r3)
arch/parisc/include/asm/fb.h +4 -0
@@ -12,9 +12,13 @@ static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma, pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE; } +#if defined(CONFIG_STI_CONSOLE ) || defined(CONFIG_FB_STI ) +int fb_is_primary_device (struct fb_info *info); +#else static inline int fb_is_primary_device (struct fb_info *info) {return 0 ; } +#endif #endif /* _ASM_FB_H_ */
arch/powerpc/include/asm/page.h +5 -2
@@ -216,6 +216,9 @@ static inline bool pfn_valid(unsigned long pfn)#define __pa (x) ((phys_addr_t)(unsigned long)(x) - VIRT_PHYS_OFFSET)#else #ifdef CONFIG_PPC64 + +#define VIRTUAL_WARN_ON (x) WARN_ON(IS_ENABLED(CONFIG_DEBUG_VIRTUAL) && (x)) +/* * gcc miscompiles (unsigned long)(&static_var) - PAGE_OFFSET * with -mcmodel=medium, so we use & and | instead of - and + on 64-bit.
@@ -223,13 +226,13 @@ static inline bool pfn_valid(unsigned long pfn)*/ #define __va (x) \ ({ \ - VIRTUAL_BUG_ON((unsigned long)(x) >= PAGE_OFFSET); \ + VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET); \ (void *)(unsigned long)((phys_addr_t)(x) | PAGE_OFFSET); \ })#define __pa (x) \ ({ \ - VIRTUAL_BUG_ON((unsigned long)(x) < PAGE_OFFSET); \ + VIRTUAL_WARN_ON((unsigned long)(x) < PAGE_OFFSET); \ (unsigned long)(x) & 0x0fffffffffffffffUL; \ })
arch/powerpc/include/asm/vas.h +1 -1
@@ -52,7 +52,7 @@ enum vas_cop_type {* Receive window attributes specified by the (in-kernel) owner of window. */ struct vas_rx_win_attr { -void *rx_fifo; +u64 rx_fifo;int rx_fifo_size;int wcreds_max;
arch/powerpc/kernel/fadump.c +6 -2
@@ -861,7 +861,6 @@ static int fadump_alloc_mem_ranges(struct fadump_mrange_info *mrange_info) sizeof(struct fadump_memory_range));return 0 ; } -static inline int fadump_add_mem_range (struct fadump_mrange_info *mrange_info,u64 base,u64 end) {
@@ -880,7 +879,12 @@ static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info, start = mem_ranges[mrange_info->mem_range_cnt -1 ].base; size = mem_ranges[mrange_info->mem_range_cnt -1 ].size; -if ((start + size) == base) +/* +* Boot memory area needs separate PT_LOAD segment(s) as it +* is moved to a different location at the time of crash. +* So, fold only if the region is not boot memory area. +*/ +if ((start + size) == base && start >= fw_dump.boot_mem_top) is_adjacent = true; }if (!is_adjacent) {
arch/powerpc/kernel/idle.c +1 -1
@@ -37,7 +37,7 @@ static int __init powersave_off(char *arg) { ppc_md.power_save =NULL ; cpuidle_disable =IDLE_POWERSAVE_OFF ; -return 0 ; +return 1 ; }__setup ("powersave=off" , powersave_off);
arch/powerpc/perf/isa207-common.c +2 -1
@@ -363,7 +363,8 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)if (event_is_threshold (event) &&is_thresh_cmp_valid (event)) { mask |=CNST_THRESH_MASK ; value |=CNST_THRESH_VAL (event >>EVENT_THRESH_SHIFT ); - } + }else if (event_is_threshold (event)) +return -1 ; }else {/* * Special case for PM_MRK_FAB_RSP_MATCH and PM_MRK_FAB_RSP_MATCH_CYC,
arch/powerpc/platforms/4xx/cpm.c +1 -1
@@ -327,6 +327,6 @@ late_initcall(cpm_init);static int __init cpm_powersave_off (char *arg) { cpm.powersave_off =1 ; -return 0 ; +return 1 ; }__setup ("powersave=off" , cpm_powersave_off);
arch/powerpc/platforms/8xx/cpm1.c +1 -0
@@ -280,6 +280,7 @@ cpm_setbrg(uint brg, uint rate)out_be32 (bp, (((BRG_UART_CLK_DIV16 / rate) -1 ) <<1 ) |CPM_BRG_EN |CPM_BRG_DIV16 ); } +EXPORT_SYMBOL (cpm_setbrg);struct cpm_ioport16 {__be16 dir, par, odr_sor, dat, intr;
arch/powerpc/platforms/powernv/opal-fadump.c +52 -42
238 lines not on this page · raw message
arch/powerpc/platforms/powernv/opal-fadump.h +5 -5
@@ -31,14 +31,14 @@* OPAL FADump kernel metadata * * The address of this structure will be registered with f/w for retrieving -* and processing during crash dump. +* in the capture kernel to process the crash dump. */ struct opal_fadump_mem_struct {u8 version;u8 reserved[3 ]; -u16 region_cnt;/* number of regions */ -u16 registered_regions;/* Regions registered for MPIPL */ -u64 fadumphdr_addr; +__be16 region_cnt;/* number of regions */ +__be16 registered_regions;/* Regions registered for MPIPL */ +__be64 fadumphdr_addr;struct opal_mpipl_region rgn[FADUMP_MAX_MEM_REGS ]; } __packed;
@@ -135,7 +135,7 @@ static inline void opal_fadump_read_regs(char *bufp, unsigned int regs_cnt,for (i =0 ; i < regs_cnt; i++, bufp += reg_entry_size) { reg_entry = (struct hdat_fadump_reg_entry *)bufp; val = (cpu_endian ?be64_to_cpu (reg_entry->reg_val) : - reg_entry->reg_val); + (u64)(reg_entry->reg_val)); opal_fadump_set_regval_regnum(regs, be32_to_cpu(reg_entry->reg_type), be32_to_cpu(reg_entry->reg_num),
arch/powerpc/platforms/powernv/ultravisor.c +1 -0
@@ -55,6 +55,7 @@ static int __init uv_init(void)return -ENODEV ; uv_memcons =memcons_init (node,"memcons" ); +of_node_put (node);if (!uv_memcons)return -ENOENT ;
arch/powerpc/platforms/powernv/vas-fault.c +1 -1
@@ -352,7 +352,7 @@ int vas_setup_fault_window(struct vas_instance *vinst)vas_init_rx_win_attr (&attr,VAS_COP_TYPE_FAULT ); attr.rx_fifo_size = vinst->fault_fifo_size; - attr.rx_fifo = vinst->fault_fifo; + attr.rx_fifo =__pa (vinst->fault_fifo);/* * Max creds is based on number of CRBs can fit in the FIFO.
arch/powerpc/platforms/powernv/vas-window.c +2 -2
@@ -403,7 +403,7 @@ static void init_winctx_regs(struct vas_window *window,* * See also: Design note in function header. */ - val =__pa (winctx->rx_fifo); + val = winctx->rx_fifo; val =SET_FIELD (VAS_PAGE_MIGRATION_SELECT , val,0 );write_hvwc_reg (window,VREG (LFIFO_BAR ), val);
@@ -737,7 +737,7 @@ static void init_winctx_for_rxwin(struct vas_window *rxwin,*/ winctx->fifo_disable = true; winctx->intr_disable = true; - winctx->rx_fifo =NULL ; + winctx->rx_fifo =0 ; } winctx->lnotify_lpid = rxattr->lnotify_lpid;
arch/powerpc/platforms/powernv/vas.h +1 -1
@@ -383,7 +383,7 @@ struct vas_window {* is a container for the register fields in the window context. */ struct vas_winctx { -void *rx_fifo; +u64 rx_fifo;int rx_fifo_size;int wcreds_max;int rsvd_txbuf_count;
arch/powerpc/sysdev/dart_iommu.c +4 -2
@@ -403,9 +403,10 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops) }/* Initialize the DART HW */ -if (dart_init (dn) !=0 ) +if (dart_init (dn) !=0 ) { +of_node_put (dn);return ; - + }/* * U4 supports a DART bypass, we use it for 64-bit capable devices to * improve performance. However, that only works for devices connected
@@ -418,6 +419,7 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)/* Setup pci_dma ops */ set_pci_dma_ops (&dma_iommu_ops); +of_node_put (dn); }#ifdef CONFIG_PM
arch/powerpc/sysdev/fsl_rio.c +2 -0
@@ -505,8 +505,10 @@ int fsl_rio_setup(struct platform_device *dev)if (rc) {dev_err (&dev->dev,"Can't get %pOF property 'reg'\n" , rmu_node); +of_node_put (rmu_node); goto err_rmu; } +of_node_put (rmu_node); rmu_regs_win =ioremap (rmu_regs.start,resource_size (&rmu_regs));if (!rmu_regs_win) {dev_err (&dev->dev,"Unable to map rmu register window\n" );
arch/powerpc/sysdev/xics/icp-opal.c +1 -0
@@ -195,6 +195,7 @@ int icp_opal_init(void)printk ("XICS: Using OPAL ICP fallbacks\n" ); +of_node_put (np);return 0 ; }
arch/riscv/include/asm/irq_work.h +1 -1
@@ -4,7 +4,7 @@static inline bool arch_irq_work_has_interrupt (void ) { -return true; +return IS_ENABLED (CONFIG_SMP ); }extern void arch_irq_work_raise (void );#endif /* _ASM_RISCV_IRQ_WORK_H */
arch/riscv/kernel/head.S +1 -0
@@ -261,6 +261,7 @@ clear_bss_done: REG_S a0, (a2) /* Initialize page tables and relocate to virtual addresses */ + la tp, init_task la sp, init_thread_union + THREAD_SIZE mv a0, s1 call setup_vm
arch/s390/include/asm/kexec.h +10 -0
@@ -9,6 +9,8 @@#ifndef _S390_KEXEC_H#define _S390_KEXEC_H +#include <linux/module.h> +#include <asm/processor.h> #include <asm/page.h> #include <asm/setup.h>
@@ -83,4 +85,12 @@ struct kimage_arch {extern const struct kexec_file_ops s390_kexec_image_ops;extern const struct kexec_file_ops s390_kexec_elf_ops; +#ifdef CONFIG_KEXEC_FILE +struct purgatory_info ; +int arch_kexec_apply_relocations_add (struct purgatory_info *pi, +Elf_Shdr *section, +const Elf_Shdr *relsec, +const Elf_Shdr *symtab); +#define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add +#endif #endif /*_S390_KEXEC_H */
arch/s390/include/asm/preempt.h +11 -4
@@ -46,10 +46,17 @@ static inline bool test_preempt_need_resched(void)static inline void __preempt_count_add (int val) { -if (__builtin_constant_p (val) && (val >=-128 ) && (val <=127 )) -__atomic_add_const (val, &S390_lowcore.preempt_count); -else -__atomic_add (val, &S390_lowcore.preempt_count); +/* +* With some obscure config options and CONFIG_PROFILE_ALL_BRANCHES +* enabled, gcc 12 fails to handle __builtin_constant_p(). +*/ +if (!IS_ENABLED (CONFIG_PROFILE_ALL_BRANCHES )) { +if (__builtin_constant_p (val) && (val >=-128 ) && (val <=127 )) { +__atomic_add_const (val, &S390_lowcore.preempt_count); +return ; + } + } +__atomic_add (val, &S390_lowcore.preempt_count); }static inline void __preempt_count_sub (int val)
arch/s390/kernel/perf_event.c +1 -1
@@ -51,7 +51,7 @@ static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs)if (!stack)return NULL ; -return (struct kvm_s390_sie_block *) stack->empty1[0 ]; +return (struct kvm_s390_sie_block *)stack->empty1[1 ]; }static bool is_in_guest (struct pt_regs *regs)
arch/um/drivers/chan_user.c +5 -4
@@ -220,7 +220,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out, unsigned long *stack_out) {struct winch_data data; -int fds[2 ], n, err; +int fds[2 ], n, err, pid;char c; err =os_pipe (fds,1 ,1 );
@@ -238,8 +238,9 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,* problem with /dev/net/tun, which if held open by this * thread, prevents the TUN/TAP device from being reused. */ - err =run_helper_thread (winch_thread, &data,CLONE_FILES , stack_out); -if (err <0 ) { + pid =run_helper_thread (winch_thread, &data,CLONE_FILES , stack_out); +if (pid <0 ) { + err = pid;printk (UM_KERN_ERR "fork of winch_thread failed - errno = %d\n" , -err); goto out_close;
@@ -263,7 +264,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out, goto out_close; } -return err; +return pid; out_close:close (fds[1 ]);
arch/um/include/asm/thread_info.h +2 -0
@@ -63,6 +63,7 @@ static inline struct thread_info *current_thread_info(void)#define TIF_RESTORE_SIGMASK 7#define TIF_NOTIFY_RESUME 8#define TIF_SECCOMP 9/* secure computing */ +#define TIF_SINGLESTEP 10/* single stepping userspace */ #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
@@ -70,5 +71,6 @@ static inline struct thread_info *current_thread_info(void)#define _TIF_MEMDIE (1 << TIF_MEMDIE)#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)#define _TIF_SECCOMP (1 << TIF_SECCOMP) +#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)#endif
arch/um/kernel/exec.c +1 -1
@@ -44,7 +44,7 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp) {PT_REGS_IP (regs) = eip;PT_REGS_SP (regs) = esp; - current->ptrace &= ~PT_DTRACE ; +clear_thread_flag (TIF_SINGLESTEP );#ifdef SUBARCH_EXECVE1 SUBARCH_EXECVE1 (regs->regs);#endif
arch/um/kernel/process.c +1 -1
@@ -341,7 +341,7 @@ int singlestepping(void * t) {struct task_struct *task = t ? t : current; -if (!(task->ptrace &PT_DTRACE )) +if (!test_thread_flag (TIF_SINGLESTEP ))return 0 ;if (task->thread.singlestep_syscall)
arch/um/kernel/ptrace.c +4 -4
@@ -12,7 +12,7 @@void user_enable_single_step (struct task_struct *child) { - child->ptrace |=PT_DTRACE ; +set_tsk_thread_flag (child,TIF_SINGLESTEP ); child->thread.singlestep_syscall =0 ;#ifdef SUBARCH_SET_SINGLESTEPPING
@@ -22,7 +22,7 @@ void user_enable_single_step(struct task_struct *child)void user_disable_single_step (struct task_struct *child) { - child->ptrace &= ~PT_DTRACE ; +clear_tsk_thread_flag (child,TIF_SINGLESTEP ); child->thread.singlestep_syscall =0 ;#ifdef SUBARCH_SET_SINGLESTEPPING
@@ -121,7 +121,7 @@ static void send_sigtrap(struct uml_pt_regs *regs, int error_code) }/* -* XXX Check PT_DTRACE vs TIF_SINGLESTEP for singlestepping check and +* XXX Check TIF_SINGLESTEP for singlestepping check and * PT_PTRACED vs TIF_SYSCALL_TRACE for syscall tracing check */ int syscall_trace_enter (struct pt_regs *regs)
@@ -145,7 +145,7 @@ void syscall_trace_leave(struct pt_regs *regs)audit_syscall_exit (regs);/* Fake a debug trap */ -if (ptraced &PT_DTRACE ) +if (test_thread_flag (TIF_SINGLESTEP ))send_sigtrap (®s->regs,0 );if (!test_thread_flag (TIF_SYSCALL_TRACE ))
arch/um/kernel/signal.c +2 -2
@@ -53,7 +53,7 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)unsigned long sp;int err; -if ((current->ptrace &PT_DTRACE ) && (current->ptrace &PT_PTRACED )) +if (test_thread_flag (TIF_SINGLESTEP ) && (current->ptrace &PT_PTRACED )) singlestep =1 ;/* Did we come from a system call? */
@@ -128,7 +128,7 @@ void do_signal(struct pt_regs *regs)* on the host. The tracing thread will check this flag and * PTRACE_SYSCALL if necessary. */ -if (current->ptrace &PT_DTRACE ) +if (test_thread_flag (TIF_SINGLESTEP )) current->thread.singlestep_syscall =is_syscall (PT_REGS_IP (¤t->thread.regs));
arch/x86/Kconfig +2 -2
@@ -1321,7 +1321,7 @@ config MICROCODE config MICROCODE_INTEL bool "Intel microcode loading support" - depends on MICROCODE + depends on CPU_SUP_INTEL && MICROCODE default MICROCODE help This options enables microcode patch loading support for Intel
@@ -1333,7 +1333,7 @@ config MICROCODE_INTEL config MICROCODE_AMD bool "AMD microcode loading support" - depends on MICROCODE + depends on CPU_SUP_AMD && MICROCODE help If you select this option, microcode patch loading support for AMD processors will be enabled.
arch/x86/entry/entry_64.S +1 -0
@@ -500,6 +500,7 @@ SYM_CODE_START(\asmsym) call vc_switch_off_ist movq %rax, %rsp /* Switch to new stack */ + ENCODE_FRAME_POINTER UNWIND_HINT_REGS /* Update pt_regs */
arch/x86/entry/vdso/vma.c +1 -1
@@ -440,7 +440,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)static __init int vdso_setup (char *s) { vdso64_enabled =simple_strtoul (s,NULL ,0 ); -return 0 ; +return 1 ; }__setup ("vdso=" , vdso_setup);
arch/x86/events/amd/ibs.c +47 -8
99 lines not on this page · raw message
arch/x86/events/intel/core.c +1 -1
@@ -254,7 +254,7 @@ static struct event_constraint intel_icl_event_constraints[] = {INTEL_EVENT_CONSTRAINT_RANGE (0x03 ,0x0a ,0xf ),INTEL_EVENT_CONSTRAINT_RANGE (0x1f ,0x28 ,0xf ),INTEL_EVENT_CONSTRAINT (0x32 ,0xf ),/* SW_PREFETCH_ACCESS.* */ -INTEL_EVENT_CONSTRAINT_RANGE (0x48 ,0x54 ,0xf ), +INTEL_EVENT_CONSTRAINT_RANGE (0x48 ,0x56 ,0xf ),INTEL_EVENT_CONSTRAINT_RANGE (0x60 ,0x8b ,0xf ),INTEL_UEVENT_CONSTRAINT (0x04a3 ,0xff ),/* CYCLE_ACTIVITY.STALLS_TOTAL */ INTEL_UEVENT_CONSTRAINT(0x10a3, 0xff), /* CYCLE_ACTIVITY.CYCLES_MEM_ANY */
arch/x86/include/asm/acenv.h +13 -1
@@ -13,7 +13,19 @@/* Asm macros */ -#define ACPI_FLUSH_CPU_CACHE () wbinvd() +/* +* ACPI_FLUSH_CPU_CACHE() flushes caches on entering sleep states. +* It is required to prevent data loss. +* +* While running inside virtual machine, the kernel can bypass cache flushing. +* Changing sleep state in a virtual machine doesn't affect the host system +* sleep state and cannot lead to data loss. +*/ +#define ACPI_FLUSH_CPU_CACHE () \ +do { \ + if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) \ + wbinvd(); \ +} while (0)int __acpi_acquire_global_lock (unsigned int *lock);int __acpi_release_global_lock (unsigned int *lock);
arch/x86/include/asm/kexec.h +8 -0
@@ -191,6 +191,14 @@ extern int arch_kexec_post_alloc_pages(void *vaddr, unsigned int pages,extern void arch_kexec_pre_free_pages (void *vaddr,unsigned int pages);#define arch_kexec_pre_free_pages arch_kexec_pre_free_pages +#ifdef CONFIG_KEXEC_FILE +struct purgatory_info ; +int arch_kexec_apply_relocations_add (struct purgatory_info *pi, +Elf_Shdr *section, +const Elf_Shdr *relsec, +const Elf_Shdr *symtab); +#define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add +#endif #endif typedef void crash_vmclear_fn (void );
arch/x86/include/asm/suspend_32.h +1 -1
@@ -21,7 +21,6 @@ struct saved_context {#endif unsigned long cr0, cr2, cr3, cr4;u64 misc_enable; -bool misc_enable_saved;struct saved_msrs saved_msrs;struct desc_ptr gdt_desc;struct desc_ptr idt;
@@ -30,6 +29,7 @@ struct saved_context {unsigned long tr;unsigned long safety;unsigned long return_address; +bool misc_enable_saved; } __attribute__((packed));/* routines for saving/restoring kernel state */
arch/x86/include/asm/suspend_64.h +8 -4
@@ -14,9 +14,13 @@* Image of the saved processor state, used by the low level ACPI suspend to * RAM code and by the low level hibernation code. * -* If you modify it, fix arch/x86/kernel/acpi/wakeup_64.S and make sure that -* __save/__restore_processor_state(), defined in arch/x86/kernel/suspend_64.c, -* still work as required. +* If you modify it, check how it is used in arch/x86/kernel/acpi/wakeup_64.S +* and make sure that __save/__restore_processor_state(), defined in +* arch/x86/power/cpu.c, still work as required. +* +* Because the structure is packed, make sure to avoid unaligned members. For +* optimisation purposes but also because tools like kmemleak only search for +* pointers that are aligned. */ struct saved_context {struct pt_regs regs;
@@ -36,7 +40,6 @@ struct saved_context {unsigned long cr0, cr2, cr3, cr4;u64 misc_enable; -bool misc_enable_saved;struct saved_msrs saved_msrs;unsigned long efer;u16 gdt_pad;/* Unused */
@@ -48,6 +51,7 @@ struct saved_context {unsigned long tr;unsigned long safety;unsigned long return_address; +bool misc_enable_saved; } __attribute__((packed));#define loaddebug (thread,register) \
arch/x86/kernel/apic/apic.c +1 -1
@@ -168,7 +168,7 @@ static __init int setup_apicpmtimer(char *s) { apic_calibrate_pmtmr =1 ;notsc_setup (NULL ); -return 0 ; +return 1 ; }__setup ("apicpmtimer" , setup_apicpmtimer);#endif
arch/x86/kernel/apic/x2apic_uv_x.c +7 -1
@@ -199,7 +199,13 @@ static void __init uv_tsc_check_sync(void)int mmr_shift;char *state; -/* Different returns from different UV BIOS versions */ +/* UV5 guarantees synced TSCs; do not zero TSC_ADJUST */ +if (!is_uv (UV2 |UV3 |UV4 )) { +mark_tsc_async_resets ("UV5+" ); +return ; + } + +/* UV2,3,4, UV BIOS TSC sync state available */ mmr =uv_early_read_mmr (UVH_TSC_SYNC_MMR ); mmr_shift =is_uv2_hub () ?UVH_TSC_SYNC_SHIFT_UV2K :UVH_TSC_SYNC_SHIFT ;
arch/x86/kernel/cpu/intel.c +1 -1
@@ -88,7 +88,7 @@ static bool ring3mwait_disabled __read_mostly;static int __init ring3mwait_disable (char *__unused) { ring3mwait_disabled = true; -return 0 ; +return 1 ; }__setup ("ring3mwait=disable" , ring3mwait_disable);
arch/x86/kernel/cpu/mce/amd.c +19 -13
@@ -1457,10 +1457,23 @@ static void threshold_remove_bank(struct threshold_bank *bank)kfree (bank); } +static void __threshold_remove_device (struct threshold_bank **bp) +{ +unsigned int bank, numbanks =this_cpu_read (mce_num_banks); + +for (bank =0 ; bank < numbanks; bank++) { +if (!bp[bank]) +continue ; + +threshold_remove_bank (bp[bank]); + bp[bank] =NULL ; + } +kfree (bp); +} +int mce_threshold_remove_device (unsigned int cpu) {struct threshold_bank **bp =this_cpu_read (threshold_banks); -unsigned int bank, numbanks =this_cpu_read (mce_num_banks);if (!bp)return 0 ;
@@ -1471,13 +1484,7 @@ int mce_threshold_remove_device(unsigned int cpu)*/ this_cpu_write (threshold_banks,NULL ); -for (bank =0 ; bank < numbanks; bank++) { -if (bp[bank]) { -threshold_remove_bank (bp[bank]); - bp[bank] =NULL ; - } - } -kfree (bp); +__threshold_remove_device (bp);return 0 ; }
@@ -1514,15 +1521,14 @@ int mce_threshold_create_device(unsigned int cpu)if (!(this_cpu_read (bank_map) & (1 << bank)))continue ; err =threshold_create_bank (bp, cpu, bank); -if (err) - goto out_err; +if (err) { +__threshold_remove_device (bp); +return err; + } }this_cpu_write (threshold_banks, bp);if (thresholding_irq_en) mce_threshold_vector = amd_threshold_interrupt;return 0 ; -out_err: -mce_threshold_remove_device (cpu); -return err; }
arch/x86/kernel/step.c +1 -2
@@ -175,8 +175,7 @@ void set_task_blockstep(struct task_struct *task, bool on)* * NOTE: this means that set/clear TIF_BLOCKSTEP is only safe if * task is current or it can't be running, otherwise we can race -* with __switch_to_xtra(). We rely on ptrace_freeze_traced() but -* PTRACE_KILL is not safe. +* with __switch_to_xtra(). We rely on ptrace_freeze_traced(). */ local_irq_disable (); debugctl =get_debugctlmsr ();
arch/x86/kernel/sys_x86_64.c +2 -5
@@ -68,9 +68,6 @@ static int __init control_va_addr_alignment(char *str)if (*str ==0 )return 1 ; -if (*str =='=' ) - str++; -if (!strcmp (str,"32" )) va_align.flags =ALIGN_VA_32 ;else if (!strcmp (str,"64" ))
@@ -80,11 +77,11 @@ static int __init control_va_addr_alignment(char *str)else if (!strcmp (str,"on" )) va_align.flags =ALIGN_VA_32 |ALIGN_VA_64 ;else -return 0 ; +pr_warn ("invalid option value: 'align_va_addr=%s'\n" , str);return 1 ; } -__setup ("align_va_addr" , control_va_addr_alignment); +__setup ("align_va_addr=" , control_va_addr_alignment); SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, unsigned long, prot, unsigned long, flags,
arch/x86/kvm/vmx/nested.c +37 -8
74 lines not on this page · raw message
arch/x86/kvm/vmx/vmcs.h +5 -0
@@ -102,6 +102,11 @@ static inline bool is_breakpoint(u32 intr_info)return is_exception_n (intr_info,BP_VECTOR ); } +static inline bool is_double_fault (u32 intr_info) +{ +return is_exception_n (intr_info,DF_VECTOR ); +} +static inline bool is_page_fault (u32 intr_info) {return is_exception_n (intr_info,PF_VECTOR );
arch/x86/lib/delay.c +2 -2
@@ -54,8 +54,8 @@ static void delay_loop(u64 __loops)" jnz 2b \n" "3: dec %0 \n" - : /* we don't need output */ - :"a" (loops) + : "+a" (loops) + : ); }
arch/x86/mm/pat/memtype.c +1 -1
@@ -101,7 +101,7 @@ int pat_debug_enable;static int __init pat_debug_setup (char *str) { pat_debug_enable =1 ; -return 0 ; +return 1 ; }__setup ("debugpat" , pat_debug_setup);
arch/x86/um/ldt.c +4 -2
@@ -23,9 +23,11 @@ static long write_ldt_entry(struct mm_id *mm_idp, int func, {long res;void *stub_addr; + +BUILD_BUG_ON (sizeof (*desc) %sizeof (long )); + res =syscall_stub_data (mm_idp, (unsigned long *)desc, - (sizeof (*desc) +sizeof (long ) -1 ) & - ~(sizeof (long ) -1 ), +sizeof (*desc) /sizeof (long ), addr, &stub_addr);if (!res) { unsigned long args[] = { func,
arch/xtensa/kernel/ptrace.c +2 -2
@@ -226,12 +226,12 @@ const struct user_regset_view *task_user_regset_view(struct task_struct *task)void user_enable_single_step (struct task_struct *child) { - child->ptrace |=PT_SINGLESTEP ; +set_tsk_thread_flag (child,TIF_SINGLESTEP ); }void user_disable_single_step (struct task_struct *child) { - child->ptrace &= ~PT_SINGLESTEP ; +clear_tsk_thread_flag (child,TIF_SINGLESTEP ); }/*
arch/xtensa/kernel/signal.c +2 -2
@@ -465,7 +465,7 @@ static void do_signal(struct pt_regs *regs)/* Set up the stack frame */ ret =setup_frame (&ksig,sigmask_to_save (), regs);signal_setup_done (ret, &ksig,0 ); -if (current->ptrace &PT_SINGLESTEP ) +if (test_thread_flag (TIF_SINGLESTEP ))task_pt_regs (current)->icountlevel =1 ;return ;
@@ -491,7 +491,7 @@ static void do_signal(struct pt_regs *regs)/* If there's no signal to deliver, we just restore the saved mask. */ restore_saved_sigmask (); -if (current->ptrace &PT_SINGLESTEP ) +if (test_thread_flag (TIF_SINGLESTEP ))task_pt_regs (current)->icountlevel =1 ;return ; }
arch/xtensa/platforms/iss/simdisk.c +12 -6
@@ -213,12 +213,18 @@ static ssize_t proc_read_simdisk(struct file *file, char __user *buf,struct simdisk *dev =PDE_DATA (file_inode (file));const char *s = dev->filename;if (s) { -ssize_t n =simple_read_from_buffer (buf, size, ppos, - s,strlen (s)); -if (n <0 ) -return n; - buf += n; - size -= n; +ssize_t len =strlen (s); +char *temp =kmalloc (len +2 ,GFP_KERNEL ); + +if (!temp) +return -ENOMEM ; + + len =scnprintf (temp, len +2 ,"%s\n" , s); + len =simple_read_from_buffer (buf, size, ppos, + temp, len); + +kfree (temp); +return len; }return simple_read_from_buffer (buf, size, ppos,"\n" ,1 ); }
block/bfq-cgroup.c +67 -44
184 lines not on this page · raw message
block/bfq-iosched.c +25 -21
115 lines not on this page · raw message
block/bfq-iosched.h +4 -2
@@ -901,6 +901,8 @@ struct bfq_group {/* reference counter (see comments in bfq_bic_update_cgroup) */ int ref; +/* Is bfq_group still online? */ +bool online;struct bfq_entity entity;struct bfq_sched_data sched_data;
@@ -954,6 +956,7 @@ void bfq_weights_tree_remove(struct bfq_data *bfqd,void bfq_bfqq_expire (struct bfq_data *bfqd,struct bfq_queue *bfqq,bool compensate,enum bfqq_expiration reason);void bfq_put_queue (struct bfq_queue *bfqq); +void bfq_put_cooperator (struct bfq_queue *bfqq);void bfq_end_wr_async_queues (struct bfq_data *bfqd,struct bfq_group *bfqg);void bfq_release_process_ref (struct bfq_data *bfqd,struct bfq_queue *bfqq);void bfq_schedule_dispatch (struct bfq_data *bfqd);
@@ -981,8 +984,7 @@ void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,void bfq_init_entity (struct bfq_entity *entity,struct bfq_group *bfqg);void bfq_bic_update_cgroup (struct bfq_io_cq *bic,struct bio *bio);void bfq_end_wr_async (struct bfq_data *bfqd); -struct bfq_group *bfq_find_set_group (struct bfq_data *bfqd, -struct blkcg *blkcg); +struct bfq_group *bfq_bio_bfqg (struct bfq_data *bfqd,struct bio *bio);struct blkcg_gq *bfqg_to_blkg (struct bfq_group *bfqg);struct bfq_group *bfqq_group (struct bfq_queue *bfqq);struct bfq_group *bfq_create_group_hierarchy (struct bfq_data *bfqd,int node);
block/blk-cgroup.c +2 -6
@@ -1892,12 +1892,8 @@ EXPORT_SYMBOL_GPL(bio_associate_blkg);*/ void bio_clone_blkg_association (struct bio *dst,struct bio *src) { -if (src->bi_blkg) { -if (dst->bi_blkg) -blkg_put (dst->bi_blkg); -blkg_get (src->bi_blkg); - dst->bi_blkg = src->bi_blkg; - } +if (src->bi_blkg) +bio_associate_blkg_from_css (dst, &bio_blkcg (src)->css); }EXPORT_SYMBOL_GPL (bio_clone_blkg_association);
block/blk-iolatency.c +64 -58
208 lines not on this page · raw message
crypto/cryptd.c +11 -12
@@ -39,6 +39,10 @@ struct cryptd_cpu_queue { };struct cryptd_queue { +/* +* Protected by disabling BH to allow enqueueing from softinterrupt and +* dequeuing from kworker (cryptd_queue_worker()). +*/ struct cryptd_cpu_queue __percpu *cpu_queue; };
@@ -125,28 +129,28 @@ static void cryptd_fini_queue(struct cryptd_queue *queue)static int cryptd_enqueue_request (struct cryptd_queue *queue,struct crypto_async_request *request) { -int cpu, err; +int err;struct cryptd_cpu_queue *cpu_queue;refcount_t *refcnt; - cpu =get_cpu (); +local_bh_disable (); cpu_queue =this_cpu_ptr (queue->cpu_queue); err =crypto_enqueue_request (&cpu_queue->queue, request); refcnt =crypto_tfm_ctx (request->tfm);if (err == -ENOSPC ) - goto out_put_cpu; + goto out; -queue_work_on (cpu, cryptd_wq, &cpu_queue->work); +queue_work_on (smp_processor_id (), cryptd_wq, &cpu_queue->work);if (!refcount_read (refcnt)) - goto out_put_cpu; + goto out;refcount_inc (refcnt); -out_put_cpu: -put_cpu (); +out: +local_bh_enable ();return err; }
@@ -162,15 +166,10 @@ static void cryptd_queue_worker(struct work_struct *work) cpu_queue = container_of(work, struct cryptd_cpu_queue, work);/* * Only handle one request at a time to avoid hogging crypto workqueue. -* preempt_disable/enable is used to prevent being preempted by -* cryptd_enqueue_request(). local_bh_disable/enable is used to prevent -* cryptd_enqueue_request() being accessed from software interrupts. */ local_bh_disable (); -preempt_disable (); backlog =crypto_get_backlog (&cpu_queue->queue); req =crypto_dequeue_request (&cpu_queue->queue); -preempt_enable ();local_bh_enable ();if (!req)
drivers/acpi/property.c +12 -6
@@ -433,6 +433,16 @@ void acpi_init_properties(struct acpi_device *adev)acpi_extract_apple_properties (adev); } +static void acpi_free_device_properties (struct list_head *list) +{ +struct acpi_device_properties *props, *tmp; + +list_for_each_entry_safe (props, tmp, list, list) { +list_del (&props->list); +kfree (props); + } +} +static void acpi_destroy_nondev_subnodes (struct list_head *list) {struct acpi_data_node *dn, *next;
@@ -445,22 +455,18 @@ static void acpi_destroy_nondev_subnodes(struct list_head *list)wait_for_completion (&dn->kobj_done);list_del (&dn->sibling);ACPI_FREE ((void *)dn->data.pointer); +acpi_free_device_properties (&dn->data.properties);kfree (dn); } }void acpi_free_properties (struct acpi_device *adev) { -struct acpi_device_properties *props, *tmp; -acpi_destroy_nondev_subnodes (&adev->data.subnodes);ACPI_FREE ((void *)adev->data.pointer); adev->data.of_compatible =NULL ; adev->data.pointer =NULL ; -list_for_each_entry_safe (props, tmp, &adev->data.properties, list) { -list_del (&props->list); -kfree (props); - } +acpi_free_device_properties (&adev->data.properties); }/**
drivers/acpi/sleep.c +12 -0
@@ -377,6 +377,18 @@ static const struct dmi_system_id acpisleep_dmi_table[] __initconst = { DMI_MATCH(DMI_PRODUCT_NAME, "20GGA00L00"), }, }, +/* +* ASUS B1400CEAE hangs on resume from suspend (see +* https://bugzilla.kernel.org/show_bug.cgi?id=215742). +*/ + { + .callback = init_default_s3, + .ident = "ASUS B1400CEAE", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "ASUS EXPERTBOOK B1400CEAE"), + }, + }, {}, };
drivers/base/memory.c +2 -3
@@ -560,10 +560,9 @@ int register_memory(struct memory_block *memory) } ret =xa_err (xa_store (&memory_blocks, memory->dev.id, memory,GFP_KERNEL )); -if (ret) { -put_device (&memory->dev); +if (ret)device_unregister (&memory->dev); - } +return ret; }
drivers/base/node.c +1 -0
@@ -655,6 +655,7 @@ static int register_node(struct node *node, int num)*/ void unregister_node (struct node *node) { +compaction_unregister_node (node);hugetlb_unregister_node (node);/* no-op, if memoryless node */ node_remove_accesses (node);node_remove_caches (node);
drivers/block/drbd/drbd_main.c +6 -5
@@ -3631,9 +3631,8 @@ const char *cmdname(enum drbd_packet cmd)* when we want to support more than * one PRO_VERSION */ static const char *cmdnames[] = { + [P_DATA ] ="Data" , - [P_WSAME ] ="WriteSame" , - [P_TRIM ] ="Trim" , [P_DATA_REPLY ] ="DataReply" , [P_RS_DATA_REPLY ] ="RSDataReply" , [P_BARRIER ] ="Barrier" ,
@@ -3644,7 +3643,6 @@ const char *cmdname(enum drbd_packet cmd) [P_DATA_REQUEST] = "DataRequest", [P_RS_DATA_REQUEST] = "RSDataRequest", [P_SYNC_PARAM] = "SyncParam", - [P_SYNC_PARAM89] = "SyncParam89", [P_PROTOCOL] = "ReportProtocol", [P_UUIDS] = "ReportUUIDs", [P_SIZES] = "ReportSizes",
@@ -3652,6 +3650,7 @@ const char *cmdname(enum drbd_packet cmd) [P_SYNC_UUID] = "ReportSyncUUID", [P_AUTH_CHALLENGE] = "AuthChallenge", [P_AUTH_RESPONSE] = "AuthResponse", + [P_STATE_CHG_REQ] = "StateChgRequest", [P_PING] = "Ping", [P_PING_ACK] = "PingAck", [P_RECV_ACK] = "RecvAck",
@@ -3662,24 +3661,26 @@ const char *cmdname(enum drbd_packet cmd) [P_NEG_DREPLY] = "NegDReply", [P_NEG_RS_DREPLY] = "NegRSDReply", [P_BARRIER_ACK] = "BarrierAck", - [P_STATE_CHG_REQ] = "StateChgRequest", [P_STATE_CHG_REPLY] = "StateChgReply", [P_OV_REQUEST] = "OVRequest", [P_OV_REPLY] = "OVReply", [P_OV_RESULT] = "OVResult", [P_CSUM_RS_REQUEST] = "CsumRSRequest", [P_RS_IS_IN_SYNC] = "CsumRSIsInSync", + [P_SYNC_PARAM89] = "SyncParam89", [P_COMPRESSED_BITMAP] = "CBitmap", [P_DELAY_PROBE] = "DelayProbe", [P_OUT_OF_SYNC] = "OutOfSync", - [P_RETRY_WRITE] = "RetryWrite", [P_RS_CANCEL] = "RSCancel", [P_CONN_ST_CHG_REQ] = "conn_st_chg_req", [P_CONN_ST_CHG_REPLY] = "conn_st_chg_reply", [P_RETRY_WRITE] = "retry_write", [P_PROTOCOL_UPDATE] = "protocol_update", + [P_TRIM] = "Trim", [P_RS_THIN_REQ] = "rs_thin_req", [P_RS_DEALLOCATED] = "rs_deallocated", + [P_WSAME] = "WriteSame", + [P_ZEROES] = "Zeroes",/* enum drbd_packet, but not commands - obsoleted flags: * P_MAY_IGNORE
drivers/block/nbd.c +9 -4
@@ -880,11 +880,15 @@ static int wait_for_reconnect(struct nbd_device *nbd)struct nbd_config *config = nbd->config;if (!config->dead_conn_timeout)return 0 ; -if (test_bit (NBD_RT_DISCONNECTED , &config->runtime_flags)) + +if (!wait_event_timeout (config->conn_wait, +test_bit (NBD_RT_DISCONNECTED , + &config->runtime_flags) || +atomic_read (&config->live_connections) >0 , + config->dead_conn_timeout))return 0 ; -return wait_event_timeout (config->conn_wait, -atomic_read (&config->live_connections) >0 , - config->dead_conn_timeout) >0 ; + +return !test_bit (NBD_RT_DISCONNECTED , &config->runtime_flags); }static int nbd_handle_cmd (struct nbd_cmd *cmd,int index)
@@ -2029,6 +2033,7 @@ static void nbd_disconnect_and_put(struct nbd_device *nbd)mutex_lock (&nbd->config_lock);nbd_disconnect (nbd);sock_shutdown (nbd); +wake_up (&nbd->config->conn_wait);/* * Make sure recv thread has finished, so it does not drop the last * config ref and try to destroy the workqueue from inside the work
drivers/block/virtio_blk.c +4 -3
@@ -865,11 +865,12 @@ static int virtblk_probe(struct virtio_device *vdev)blk_queue_io_opt (q, blk_size * opt_io_size);if (virtio_has_feature (vdev,VIRTIO_BLK_F_DISCARD )) { - q->limits.discard_granularity = blk_size; - virtio_cread(vdev, struct virtio_blk_config, discard_sector_alignment, &v); - q->limits.discard_alignment = v ? v <<SECTOR_SHIFT :0 ; +if (v) + q->limits.discard_granularity = v <<SECTOR_SHIFT ; +else + q->limits.discard_granularity = blk_size; virtio_cread(vdev, struct virtio_blk_config, max_discard_sectors, &v);
drivers/char/hw_random/omap3-rom-rng.c +1 -1
@@ -92,7 +92,7 @@ static int __maybe_unused omap_rom_rng_runtime_resume(struct device *dev) r = ddata->rom_rng_call (0 ,0 ,RNG_GEN_PRNG_HW_INIT );if (r !=0 ) { -clk_disable (ddata->clk); +clk_disable_unprepare (ddata->clk);dev_err (dev,"HW init failed: %d\n" , r);return -EIO ;
drivers/char/ipmi/ipmi_msghandler.c +2 -2
@@ -11,8 +11,8 @@* Copyright 2002 MontaVista Software Inc. */ -#define pr_fmt (fmt) "%s" fmt, "IPMI message handler: " -#define dev_fmt pr_fmt +#define pr_fmt (fmt) "IPMI message handler: " fmt +#define dev_fmt (fmt) pr_fmt(fmt)#include <linux/module.h> #include <linux/errno.h>
drivers/char/ipmi/ipmi_ssif.c +23 -0
@@ -840,6 +840,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,break ;case SSIF_GETTING_EVENTS : +if (!msg) { +/* Should never happen, but just in case. */ +dev_warn (&ssif_info->client->dev, +"No message set while getting events\n" ); +ipmi_ssif_unlock_cond (ssif_info, flags); +break ; + } +if ((result <0 ) || (len <3 ) || (msg->rsp[2 ] !=0 )) {/* Error getting event, probably done. */ msg->done (msg);
@@ -864,6 +872,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,break ;case SSIF_GETTING_MESSAGES : +if (!msg) { +/* Should never happen, but just in case. */ +dev_warn (&ssif_info->client->dev, +"No message set while getting messages\n" ); +ipmi_ssif_unlock_cond (ssif_info, flags); +break ; + } +if ((result <0 ) || (len <3 ) || (msg->rsp[2 ] !=0 )) {/* Error getting event, probably done. */ msg->done (msg);
@@ -887,6 +903,13 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,deliver_recv_msg (ssif_info, msg); }break ; + +default : +/* Should never happen, but just in case. */ +dev_warn (&ssif_info->client->dev, +"Invalid state in message done handling: %d\n" , + ssif_info->ssif_state); +ipmi_ssif_unlock_cond (ssif_info, flags); } flags =ipmi_ssif_lock_cond (ssif_info, &oflags);
drivers/char/random.c +2 -10
@@ -79,8 +79,7 @@ static enum {CRNG_EARLY =1 ,/* At least POOL_EARLY_BITS collected */ CRNG_READY = 2 /* Fully initialized with POOL_READY_BITS collected */ } crng_init__read_mostly =CRNG_EMPTY ; -static DEFINE_STATIC_KEY_FALSE (crng_is_ready); -#define crng_ready () (static_branch_likely(&crng_is_ready) || crng_init >= CRNG_READY) +#define crng_ready () (likely(crng_init >= CRNG_READY))/* Various types of waiters for crng_init->CRNG_READY transition. */ static DECLARE_WAIT_QUEUE_HEAD (crng_init_wait);static struct fasync_struct *fasync;
@@ -110,11 +109,6 @@ bool rng_is_initialized(void) }EXPORT_SYMBOL (rng_is_initialized); -static void __cold crng_set_ready (struct work_struct *work) -{ -static_branch_enable (&crng_is_ready); -} -/* Used by wait_for_random_bytes(), and considered an entropy collector, below. */ static void try_to_generate_entropy (void );
@@ -268,7 +262,7 @@ static void crng_reseed(void) ++next_gen;WRITE_ONCE (base_crng.generation, next_gen);WRITE_ONCE (base_crng.birth, jiffies); -if (!static_branch_likely (&crng_is_ready)) +if (!crng_ready ()) crng_init =CRNG_READY ;spin_unlock_irqrestore (&base_crng.lock, flags);memzero_explicit (key,sizeof (key));
@@ -711,7 +705,6 @@ static void extract_entropy(void *buf, size_t len)static void __cold _credit_init_bits (size_t bits) { -static struct execute_work set_ready;unsigned int new, orig, add;unsigned long flags;
@@ -727,7 +720,6 @@ static void __cold _credit_init_bits(size_t bits)if (orig <POOL_READY_BITS && new >=POOL_READY_BITS ) {crng_reseed ();/* Sets crng_init to CRNG_READY under base_crng.lock. */ -execute_in_process_context (crng_set_ready, &set_ready);process_random_ready_list ();wake_up_interruptible (&crng_init_wait);kill_fasync (&fasync,SIGIO ,POLL_IN );
drivers/cpufreq/mediatek-cpufreq.c +14 -5
@@ -44,6 +44,8 @@ struct mtk_cpu_dvfs_info {bool need_voltage_tracking; }; +static struct platform_device *cpufreq_pdev; +static LIST_HEAD (dvfs_info_list);static struct mtk_cpu_dvfs_info *mtk_cpu_dvfs_info_lookup (int cpu)
@@ -546,7 +548,6 @@ static int __init mtk_cpufreq_driver_init(void) {struct device_node *np;const struct of_device_id *match; -struct platform_device *pdev;int err; np =of_find_node_by_path ("/" );
@@ -570,15 +571,23 @@ static int __init mtk_cpufreq_driver_init(void)* and the device registration codes are put here to handle defer * probing. */ - pdev =platform_device_register_simple ("mtk-cpufreq" ,-1 ,NULL ,0 ); -if (IS_ERR (pdev)) { + cpufreq_pdev =platform_device_register_simple ("mtk-cpufreq" ,-1 ,NULL ,0 ); +if (IS_ERR (cpufreq_pdev)) {pr_err ("failed to register mtk-cpufreq platform device\n" ); -return PTR_ERR (pdev); +platform_driver_unregister (&mtk_cpufreq_platdrv); +return PTR_ERR (cpufreq_pdev); }return 0 ; } -device_initcall (mtk_cpufreq_driver_init); +module_init (mtk_cpufreq_driver_init) + +static void __exit mtk_cpufreq_driver_exit(void) +{ +platform_device_unregister (cpufreq_pdev); +platform_driver_unregister (&mtk_cpufreq_platdrv); +} +module_exit(mtk_cpufreq_driver_exit) MODULE_DESCRIPTION("MediaTek CPUFreq driver");MODULE_AUTHOR ("Pi-Cheng Chen <[email protected]>" );
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c +77 -38
143 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c +21 -9
@@ -66,6 +66,7 @@ int sun8i_ss_run_task(struct sun8i_ss_dev *ss, struct sun8i_cipher_req_ctx *rctx const char *name) {int flow = rctx->flow; +unsigned int ivlen = rctx->ivlen;u32 v =SS_START ;int i;
@@ -104,15 +105,14 @@ int sun8i_ss_run_task(struct sun8i_ss_dev *ss, struct sun8i_cipher_req_ctx *rctxmutex_lock (&ss->mlock);writel (rctx->p_key, ss->base +SS_KEY_ADR_REG ); -if (i ==0 ) { -if (rctx->p_iv) -writel (rctx->p_iv, ss->base +SS_IV_ADR_REG ); - }else { -if (rctx->biv) { -if (rctx->op_dir ==SS_ENCRYPTION ) -writel (rctx->t_dst[i -1 ].addr + rctx->t_dst[i -1 ].len *4 - rctx->ivlen, ss->base +SS_IV_ADR_REG ); +if (ivlen) { +if (rctx->op_dir ==SS_ENCRYPTION ) { +if (i ==0 ) +writel (rctx->p_iv[0 ], ss->base +SS_IV_ADR_REG );else -writel (rctx->t_src[i -1 ].addr + rctx->t_src[i -1 ].len *4 - rctx->ivlen, ss->base +SS_IV_ADR_REG ); +writel (rctx->t_dst[i -1 ].addr + rctx->t_dst[i -1 ].len *4 - ivlen, ss->base +SS_IV_ADR_REG ); + }else { +writel (rctx->p_iv[i], ss->base +SS_IV_ADR_REG ); } }
@@ -464,7 +464,7 @@ static void sun8i_ss_free_flows(struct sun8i_ss_dev *ss, int i)*/ static int allocate_flows (struct sun8i_ss_dev *ss) { -int i, err; +int i, j, err; ss->flows =devm_kcalloc (ss->dev,MAXFLOW ,sizeof (struct sun8i_ss_flow ),GFP_KERNEL );
@@ -474,6 +474,18 @@ static int allocate_flows(struct sun8i_ss_dev *ss)for (i =0 ; i <MAXFLOW ; i++) {init_completion (&ss->flows[i].complete); + ss->flows[i].biv =devm_kmalloc (ss->dev,AES_BLOCK_SIZE , +GFP_KERNEL |GFP_DMA ); +if (!ss->flows[i].biv) + goto error_engine; + +for (j =0 ; j <MAX_SG ; j++) { + ss->flows[i].iv[j] =devm_kmalloc (ss->dev,AES_BLOCK_SIZE , +GFP_KERNEL |GFP_DMA ); +if (!ss->flows[i].iv[j]) + goto error_engine; + } + ss->flows[i].engine =crypto_engine_alloc_init (ss->dev, true);if (!ss->flows[i].engine) {dev_err (ss->dev,"Cannot allocate engine\n" );
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c +9 -1
@@ -379,13 +379,21 @@ int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq) } len = areq->nbytes; -for_each_sg (areq->src, sg, nr_sgs, i) { + sg = areq->src; + i =0 ; +while (len >0 && sg) { +if (sg_dma_len (sg) ==0 ) { + sg =sg_next (sg); +continue ; + } rctx->t_src[i].addr =sg_dma_address (sg); todo =min (len,sg_dma_len (sg)); rctx->t_src[i].len = todo /4 ; len -= todo; rctx->t_dst[i].addr = addr_res; rctx->t_dst[i].len = digestsize /4 ; + sg =sg_next (sg); + i++; }if (len >0 ) {dev_err (ss->dev,"remaining len %d\n" , len);
drivers/crypto/allwinner/sun8i-ss/sun8i-ss.h +9 -5
@@ -120,11 +120,15 @@ struct sginfo {* @complete: completion for the current task on this flow * @status: set to 1 by interrupt if task is done * @stat_req: number of request done by this flow +* @iv: list of IV to use for each step +* @biv: buffer which contain the backuped IV */ struct sun8i_ss_flow {struct crypto_engine *engine;struct completion complete;int status; +u8 *iv[MAX_SG ]; +u8 *biv;#ifdef CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG unsigned long stat_req;#endif
@@ -163,28 +167,28 @@ struct sun8i_ss_dev {* @t_src: list of mapped SGs with their size * @t_dst: list of mapped SGs with their size * @p_key: DMA address of the key -* @p_iv: DMA address of the IV +* @p_iv: DMA address of the IVs +* @niv: Number of IVs DMA mapped * @method: current algorithm for this request * @op_mode: op_mode for this request * @op_dir: direction (encrypt vs decrypt) for this request * @flow: the flow to use for this request -* @ivlen: size of biv +* @ivlen: size of IVs * @keylen: keylen for this request -* @biv: buffer which contain the IV * @fallback_req: request struct for invoking the fallback skcipher TFM */ struct sun8i_cipher_req_ctx {struct sginfo t_src[MAX_SG ];struct sginfo t_dst[MAX_SG ];u32 p_key; -u32 p_iv; +u32 p_iv[MAX_SG ]; +int niv;u32 method;u32 op_mode;u32 op_dir;int flow;unsigned int ivlen;unsigned int keylen; -void *biv;struct skcipher_request fallback_req;// keep at the end };
drivers/crypto/ccree/cc_buffer_mgr.c +15 -12
@@ -356,12 +356,14 @@ void cc_unmap_cipher_request(struct device *dev, void *ctx, req_ctx->mlli_params.mlli_dma_addr); } -dma_unmap_sg (dev, src, req_ctx->in_nents,DMA_BIDIRECTIONAL ); -dev_dbg (dev,"Unmapped req->src=%pK\n" ,sg_virt (src)); -if (src != dst) { -dma_unmap_sg (dev, dst, req_ctx->out_nents,DMA_BIDIRECTIONAL ); +dma_unmap_sg (dev, src, req_ctx->in_nents,DMA_TO_DEVICE ); +dma_unmap_sg (dev, dst, req_ctx->out_nents,DMA_FROM_DEVICE );dev_dbg (dev,"Unmapped req->dst=%pK\n" ,sg_virt (dst)); +dev_dbg (dev,"Unmapped req->src=%pK\n" ,sg_virt (src)); + }else { +dma_unmap_sg (dev, src, req_ctx->in_nents,DMA_BIDIRECTIONAL ); +dev_dbg (dev,"Unmapped req->src=%pK\n" ,sg_virt (src)); } }
@@ -377,6 +379,7 @@ int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx,u32 dummy =0 ;int rc =0 ;u32 mapped_nents =0 ; +int src_direction = (src != dst ?DMA_TO_DEVICE :DMA_BIDIRECTIONAL ); req_ctx->dma_buf_type =CC_DMA_BUF_DLLI ; mlli_params->curr_pool =NULL ;
@@ -399,7 +402,7 @@ int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx, }/* Map the src SGL */ - rc =cc_map_sg (dev, src, nbytes,DMA_BIDIRECTIONAL , &req_ctx->in_nents, + rc =cc_map_sg (dev, src, nbytes, src_direction, &req_ctx->in_nents,LLI_MAX_NUM_OF_DATA_ENTRIES , &dummy, &mapped_nents);if (rc) goto cipher_exit;
@@ -416,7 +419,7 @@ int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx, } }else {/* Map the dst sg */ - rc =cc_map_sg (dev, dst, nbytes,DMA_BIDIRECTIONAL , + rc =cc_map_sg (dev, dst, nbytes,DMA_FROM_DEVICE , &req_ctx->out_nents,LLI_MAX_NUM_OF_DATA_ENTRIES , &dummy, &mapped_nents);if (rc)
@@ -456,6 +459,7 @@ void cc_unmap_aead_request(struct device *dev, struct aead_request *req)struct aead_req_ctx *areq_ctx =aead_request_ctx (req);unsigned int hw_iv_size = areq_ctx->hw_iv_size;struct cc_drvdata *drvdata =dev_get_drvdata (dev); +int src_direction = (req->src != req->dst ?DMA_TO_DEVICE :DMA_BIDIRECTIONAL );if (areq_ctx->mac_buf_dma_addr) { dma_unmap_single(dev, areq_ctx->mac_buf_dma_addr,
@@ -514,13 +518,11 @@ void cc_unmap_aead_request(struct device *dev, struct aead_request *req)sg_virt (req->src), areq_ctx->src.nents, areq_ctx->assoc.nents, areq_ctx->assoclen, req->cryptlen); -dma_unmap_sg (dev, req->src, areq_ctx->src.mapped_nents, -DMA_BIDIRECTIONAL ); +dma_unmap_sg (dev, req->src, areq_ctx->src.mapped_nents, src_direction);if (req->src != req->dst) {dev_dbg (dev,"Unmapping dst sgl: req->dst=%pK\n" ,sg_virt (req->dst)); -dma_unmap_sg (dev, req->dst, areq_ctx->dst.mapped_nents, -DMA_BIDIRECTIONAL ); +dma_unmap_sg (dev, req->dst, areq_ctx->dst.mapped_nents,DMA_FROM_DEVICE ); } if (drvdata->coherent && areq_ctx->gen_ctx.op_type == DRV_CRYPTO_DIRECTION_DECRYPT &&
@@ -843,7 +845,7 @@ static int cc_aead_chain_data(struct cc_drvdata *drvdata,else size_for_map -= authsize; - rc =cc_map_sg (dev, req->dst, size_for_map,DMA_BIDIRECTIONAL , + rc =cc_map_sg (dev, req->dst, size_for_map,DMA_FROM_DEVICE , &areq_ctx->dst.mapped_nents,LLI_MAX_NUM_OF_DATA_ENTRIES , &dst_last_bytes, &dst_mapped_nents);
@@ -1056,7 +1058,8 @@ int cc_map_aead_request(struct cc_drvdata *drvdata, struct aead_request *req) size_to_map += authsize; } - rc = cc_map_sg(dev, req->src, size_to_map, DMA_BIDIRECTIONAL, + rc = cc_map_sg(dev, req->src, size_to_map, + (req->src != req->dst ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL), &areq_ctx->src.mapped_nents, (LLI_MAX_NUM_OF_ASSOC_DATA_ENTRIES + LLI_MAX_NUM_OF_DATA_ENTRIES),
drivers/crypto/marvell/cesa/cipher.c +0 -1
@@ -614,7 +614,6 @@ struct skcipher_alg mv_cesa_ecb_des3_ede_alg = { .decrypt = mv_cesa_ecb_des3_ede_decrypt, .min_keysize = DES3_EDE_KEY_SIZE, .max_keysize = DES3_EDE_KEY_SIZE, - .ivsize = DES3_EDE_BLOCK_SIZE, .base = { .cra_name = "ecb(des3_ede)", .cra_driver_name = "mv-ecb-des3-ede",
drivers/crypto/nx/nx-common-powernv.c +1 -1
@@ -827,7 +827,7 @@ static int __init vas_cfg_coproc_info(struct device_node *dn, int chip_id, goto err_out;vas_init_rx_win_attr (&rxattr, coproc->ct); - rxattr.rx_fifo = (void *)rx_fifo; + rxattr.rx_fifo = rx_fifo; rxattr.rx_fifo_size = fifo_size; rxattr.lnotify_lpid = lpid; rxattr.lnotify_pid = pid;
drivers/devfreq/rk3399_dmc.c +2 -0
@@ -485,6 +485,8 @@ static int rk3399_dmcfreq_remove(struct platform_device *pdev) {struct rk3399_dmcfreq *dmcfreq =dev_get_drvdata (&pdev->dev); +devfreq_event_disable_edev (dmcfreq->edev); +/* * Before remove the opp table we need to unregister the opp notifier. */
drivers/dma/idxd/cdev.c +7 -1
@@ -266,10 +266,16 @@ int idxd_cdev_register(void) rc =alloc_chrdev_region (&ictx[i].devt,0 ,MINORMASK , ictx[i].name);if (rc) -return rc; + goto err_free_chrdev_region; }return 0 ; + +err_free_chrdev_region: +for (i--; i >=0 ; i--) +unregister_chrdev_region (ictx[i].devt,MINORMASK ); + +return rc; }void idxd_cdev_remove (void )
drivers/dma/stm32-mdma.c +40 -47
135 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c +1 -13
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +3 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/arm/display/komeda/komeda_plane.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +25 -6
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/gma500/psb_intel_display.c +4 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_dsi_vbt.c +22 -11
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/ingenic/ingenic-drm-drv.c +60 -1
61 lines not on this page · raw message
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +11 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c +11 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h +2 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c +11 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c +16 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/msm/dp/dp_display.c +41 -14
55 lines not on this page · raw message
drivers/gpu/drm/nouveau/dispnv50/atom.h +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/dispnv50/crc.c +22 -5
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/tilcdc/tilcdc_external.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/virtio/virtgpu_display.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/hwtracing/coresight/coresight-core.c +22 -11
Lines of this file are not shown. View the raw message.
drivers/i2c/busses/i2c-npcm7xx.c +68 -35
103 lines not on this page · raw message
drivers/md/bcache/btree.c +26 -32
58 lines not on this page · raw message
drivers/md/bcache/writeback.c +37 -64
101 lines not on this page · raw message
drivers/md/md-bitmap.c +23 -21
44 lines not on this page · raw message
drivers/media/pci/cx23885/cx23885-core.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/media/pci/cx25821/cx25821-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/coda/coda-common.c +23 -12
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-is.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/exynos4-is/fimc-isp-video.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/hfi.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/media/platform/rockchip/rga/rga.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/media/platform/sti/delta/delta-v4l2.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/media/rc/imon.c +47 -52
99 lines not on this page · raw message
drivers/media/usb/pvrusb2/pvrusb2-hdw.c +5 -2
Lines of this file are not shown. View the raw message.
drivers/memory/samsung/exynos5422-dmc.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/mtd/chips/cfi_cmdset_0002.c +49 -54
103 lines not on this page · raw message
drivers/mtd/nand/raw/cadence-nand-controller.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/can/spi/mcp251xfd/mcp251xfd.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +2 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_hw_wq.c +11 -12
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_main.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/huawei/hinic/hinic_tx.c +4 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c +0 -13
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_trap.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +7 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath11k/spectral.c +9 -8
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/ar9003_phy.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +8 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43/phy_n.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/broadcom/b43legacy/phy.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/libipw_tx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/power.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/marvell/mwifiex/11h.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/usb.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/pci/controller/cadence/pcie-cadence-ep.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/pci/controller/dwc/pcie-designware-host.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/pci/controller/pcie-rockchip-ep.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_chardev.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/platform/chrome/cros_ec_proto.c +41 -9
50 lines not on this page · raw message
drivers/platform/mips/cpu_hwmon.c +41 -86
127 lines not on this page · raw message
drivers/regulator/qcom_smd-regulator.c +17 -18
Lines of this file are not shown. View the raw message.
drivers/staging/media/hantro/hantro_v4l2.c +6 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/rkvdec/rkvdec-h264.c +26 -11
Lines of this file are not shown. View the raw message.
drivers/thermal/broadcom/bcm2711_thermal.c +1 -4
Lines of this file are not shown. View the raw message.
drivers/thermal/thermal_core.c +26 -16
42 lines not on this page · raw message
fs/ext4/namei.c +67 -17
84 lines not on this page · raw message
fs/f2fs/segment.c +28 -14
42 lines not on this page · raw message
fs/xfs/xfs_mount.c +45 -48
93 lines not on this page · raw message
fs/xfs/xfs_qm.c +35 -57
92 lines not on this page · raw message
include/linux/kexec.h +38 -8
46 lines not on this page · raw message
include/linux/platform_data/cros_ec_proto.h +3 -0
Lines of this file are not shown. View the raw message.
net/bluetooth/hci_event.c +47 -44
91 lines not on this page · raw message
net/bluetooth/hci_request.c +170 -51
221 lines not on this page · raw message
scripts/faddr2line +97 -53
150 lines not on this page · raw message
security/integrity/platform_certs/keyring_handler.h +8 -0
Lines of this file are not shown. View the raw message.
security/integrity/platform_certs/load_uefi.c +33 -0
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt2701/mt2701-wm8960.c +7 -2
Lines of this file are not shown. View the raw message.
sound/soc/mediatek/mt8173/mt8173-max98090.c +4 -1
Lines of this file are not shown. View the raw message.
sound/soc/ti/j721e-evm.c +33 -11
44 lines not on this page · raw message
tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/cgroup/test_stress.sh +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/resctrl/fill_buf.c +3 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.