Skip to contentSkip to conversation

Linux 5.4.211

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 25, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.211 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/pm/cpuidle.rst                             |   15 -
 Documentation/atomic_bitops.txt                                      |    2 
 Documentation/devicetree/bindings/arm/qcom.yaml                      |    2 
 Documentation/firmware-guide/acpi/apei/einj.rst                      |    2 
 Makefile                                                             |    5 
 arch/arm/boot/dts/aspeed-ast2500-evb.dts                             |    2 
 arch/arm/boot/dts/aspeed-ast2600-evb.dts                             |    2 
 arch/arm/boot/dts/imx6ul.dtsi                                        |   31 +--
 arch/arm/boot/dts/qcom-mdm9615.dtsi                                  |    1 
 arch/arm/boot/dts/qcom-pm8841.dtsi                                   |    1 
 arch/arm/boot/dts/uniphier-pxs2.dtsi                                 |    8 
 arch/arm/lib/findbit.S                                               |   16 -
 arch/arm/mach-bcm/bcm_kona_smc.c                                     |    1 
 arch/arm/mach-omap2/display.c                                        |    3 
 arch/arm/mach-omap2/prm3xxx.c                                        |    1 
 arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c                   |    5 
 arch/arm/mach-zynq/common.c                                          |    1 
 arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts            |    2 
 arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts             |    2 
 arch/arm64/boot/dts/qcom/ipq8074.dtsi                                |    2 
 arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi                     |    8 
 arch/arm64/crypto/Kconfig                                            |    1 
 arch/arm64/include/asm/processor.h                                   |    3 
 arch/arm64/kernel/armv8_deprecated.c                                 |    9 
 arch/ia64/include/asm/processor.h                                    |    2 
 arch/mips/cavium-octeon/octeon-platform.c                            |    3 
 arch/mips/kernel/proc.c                                              |    2 
 arch/mips/mm/tlbex.c                                                 |    4 
 arch/nios2/include/asm/entry.h                                       |    3 
 arch/nios2/include/asm/ptrace.h                                      |    2 
 arch/nios2/kernel/entry.S                                            |   22 +-
 arch/nios2/kernel/signal.c                                           |    3 
 arch/nios2/kernel/syscall_table.c                                    |    1 
 arch/parisc/kernel/drivers.c                                         |    9 
 arch/parisc/kernel/syscalls/syscall.tbl                              |    2 
 arch/powerpc/Makefile                                                |   26 --
 arch/powerpc/kernel/pci-common.c                                     |   45 +++-
 arch/powerpc/kernel/prom.c                                           |    7 
 arch/powerpc/mm/ptdump/shared.c                                      |    6 
 arch/powerpc/platforms/Kconfig.cputype                               |   25 ++
 arch/powerpc/platforms/cell/axon_msi.c                               |    1 
 arch/powerpc/platforms/cell/spufs/inode.c                            |    1 
 arch/powerpc/platforms/powernv/rng.c                                 |    2 
 arch/powerpc/sysdev/fsl_pci.c                                        |    8 
 arch/powerpc/sysdev/fsl_pci.h                                        |    1 
 arch/powerpc/sysdev/xive/spapr.c                                     |    1 
 arch/riscv/kernel/sys_riscv.c                                        |    5 
 arch/riscv/kernel/traps.c                                            |    4 
 arch/s390/kernel/machine_kexec_file.c                                |   18 +
 arch/um/os-Linux/skas/process.c                                      |   17 +
 arch/x86/boot/Makefile                                               |    2 
 arch/x86/boot/compressed/Makefile                                    |    4 
 arch/x86/entry/vdso/Makefile                                         |    2 
 arch/x86/kernel/pmem.c                                               |    7 
 arch/x86/kernel/process.c                                            |    9 
 arch/x86/kvm/emulate.c                                               |   23 +-
 arch/x86/kvm/hyperv.c                                                |    3 
 arch/x86/kvm/lapic.c                                                 |    4 
 arch/x86/kvm/svm.c                                                   |    2 
 arch/x86/kvm/vmx/nested.c                                            |   76 ++++----
 arch/x86/mm/numa.c                                                   |    4 
 arch/x86/platform/olpc/olpc-xo1-sci.c                                |    2 
 block/blk-mq-debugfs.c                                               |    3 
 drivers/acpi/acpi_lpss.c                                             |    3 
 drivers/acpi/cppc_acpi.c                                             |   54 ++---
 drivers/acpi/ec.c                                                    |    7 
 drivers/acpi/pci_mcfg.c                                              |    3 
 drivers/acpi/property.c                                              |    8 
 drivers/acpi/sleep.c                                                 |    8 
 drivers/ata/libata-eh.c                                              |    1 
 drivers/atm/idt77252.c                                               |    1 
 drivers/base/dd.c                                                    |    5 
 drivers/block/null_blk_main.c                                        |   14 +
 drivers/bluetooth/hci_intel.c                                        |    6 
 drivers/bus/hisi_lpc.c                                               |   10 -
 drivers/clk/mediatek/reset.c                                         |    4 
 drivers/clk/qcom/camcc-sdm845.c                                      |    4 
 drivers/clk/qcom/clk-krait.c                                         |    7 
 drivers/clk/qcom/gcc-ipq8074.c                                       |   19 ++
 drivers/clk/renesas/r9a06g032-clocks.c                               |    8 
 drivers/clk/rockchip/clk-rk3188.c                                    |    1 
 drivers/crypto/hisilicon/sec/sec_algs.c                              |   14 -
 drivers/crypto/hisilicon/sec/sec_drv.h                               |    2 
 drivers/crypto/inside-secure/safexcel.c                              |    2 
 drivers/dma/sprd-dma.c                                               |    5 
 drivers/firmware/arm_scpi.c                                          |   61 +++---
 drivers/fpga/altera-pr-ip-core.c                                     |    2 
 drivers/gpio/gpiolib-of.c                                            |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c                           |    4 
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c                         |   24 +-
 drivers/gpu/drm/bridge/sil-sii8620.c                                 |    4 
 drivers/gpu/drm/drm_gem.c                                            |    4 
 drivers/gpu/drm/drm_mipi_dbi.c                                       |    7 
 drivers/gpu/drm/exynos/exynos7_drm_decon.c                           |   17 +
 drivers/gpu/drm/mcde/mcde_dsi.c                                      |    1 
 drivers/gpu/drm/mediatek/mtk_dpi.c                                   |   33 ---
 drivers/gpu/drm/mediatek/mtk_dsi.c                                   |    2 
 drivers/gpu/drm/meson/meson_drv.c                                    |    5 
 drivers/gpu/drm/meson/meson_viu.c                                    |   22 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c                            |    3 
 drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c                      |    2 
 drivers/gpu/drm/radeon/ni_dpm.c                                      |    6 
 drivers/gpu/drm/rockchip/analogix_dp-rockchip.c                      |   10 -
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c                          |    3 
 drivers/gpu/drm/vc4/vc4_dsi.c                                        |    6 
 drivers/gpu/drm/vc4/vc4_plane.c                                      |   30 +--
 drivers/hid/hid-alps.c                                               |    2 
 drivers/hid/hid-cp2112.c                                             |    5 
 drivers/hid/wacom_sys.c                                              |    2 
 drivers/hid/wacom_wac.c                                              |   72 ++++---
 drivers/hwtracing/coresight/coresight.c                              |    1 
 drivers/hwtracing/intel_th/msu-sink.c                                |    3 
 drivers/hwtracing/intel_th/msu.c                                     |   14 +
 drivers/hwtracing/intel_th/pci.c                                     |   25 ++
 drivers/i2c/busses/i2c-cadence.c                                     |   10 -
 drivers/i2c/i2c-core-base.c                                          |    3 
 drivers/i2c/muxes/i2c-mux-gpmux.c                                    |    1 
 drivers/iio/light/isl29028.c                                         |    2 
 drivers/infiniband/hw/hfi1/file_ops.c                                |    4 
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c                           |    4 
 drivers/infiniband/sw/rxe/rxe_qp.c                                   |   12 -
 drivers/infiniband/sw/siw/siw_cm.c                                   |    7 
 drivers/iommu/dmar.c                                                 |    2 
 drivers/iommu/exynos-iommu.c                                         |    6 
 drivers/iommu/qcom_iommu.c                                           |    7 
 drivers/irqchip/irq-tegra.c                                          |   10 -
 drivers/md/dm-raid.c                                                 |    4 
 drivers/md/dm-thin-metadata.c                                        |    7 
 drivers/md/dm-thin.c                                                 |    4 
 drivers/md/dm-writecache.c                                           |    2 
 drivers/md/dm.c                                                      |    5 
 drivers/md/raid10.c                                                  |    5 
 drivers/md/raid5.c                                                   |    2 
 drivers/media/pci/tw686x/tw686x-core.c                               |   18 -
 drivers/media/platform/mtk-mdp/mtk_mdp_ipi.h                         |    2 
 drivers/media/usb/hdpvr/hdpvr-video.c                                |    2 
 drivers/memstick/core/ms_block.c                                     |   11 -
 drivers/mfd/max77620.c                                               |    2 
 drivers/mfd/t7l66xb.c                                                |    6 
 drivers/misc/cardreader/rtsx_pcr.c                                   |    6 
 drivers/misc/cxl/irq.c                                               |    1 
 drivers/mmc/host/cavium-octeon.c                                     |    1 
 drivers/mmc/host/cavium-thunderx.c                                   |    4 
 drivers/mmc/host/pxamci.c                                            |    4 
 drivers/mmc/host/sdhci-of-at91.c                                     |    9 
 drivers/mmc/host/sdhci-of-esdhc.c                                    |    1 
 drivers/mtd/devices/st_spi_fsm.c                                     |    8 
 drivers/mtd/maps/physmap-versatile.c                                 |    2 
 drivers/mtd/nand/raw/meson_nand.c                                    |    1 
 drivers/mtd/parsers/redboot.c                                        |    1 
 drivers/mtd/sm_ftl.c                                                 |    2 
 drivers/net/can/pch_can.c                                            |    8 
 drivers/net/can/rcar/rcar_can.c                                      |    8 
 drivers/net/can/sja1000/sja1000.c                                    |    7 
 drivers/net/can/spi/hi311x.c                                         |    5 
 drivers/net/can/spi/mcp251x.c                                        |   18 +
 drivers/net/can/sun4i_can.c                                          |    9 
 drivers/net/can/usb/ems_usb.c                                        |    2 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c                    |   12 -
 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c                     |    6 
 drivers/net/can/usb/usb_8dev.c                                       |    7 
 drivers/net/dsa/microchip/ksz9477.c                                  |    3 
 drivers/net/dsa/mv88e6060.c                                          |    3 
 drivers/net/ethernet/broadcom/bgmac.c                                |    2 
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c                     |    4 
 drivers/net/ethernet/freescale/fec_ptp.c                             |    6 
 drivers/net/ethernet/intel/i40e/i40e_main.c                          |    4 
 drivers/net/ethernet/intel/iavf/iavf.h                               |    1 
 drivers/net/ethernet/intel/iavf/iavf_adminq.c                        |   15 +
 drivers/net/ethernet/intel/iavf/iavf_main.c                          |   25 ++
 drivers/net/ethernet/intel/ice/ice_switch.c                          |    2 
 drivers/net/ethernet/intel/igb/igb.h                                 |    2 
 drivers/net/ethernet/intel/igb/igb_main.c                            |   12 +
 drivers/net/ethernet/intel/igc/igc_base.c                            |   10 -
 drivers/net/ethernet/intel/igc/igc_main.c                            |    3 
 drivers/net/ethernet/intel/igc/igc_phy.c                             |    6 
 drivers/net/ethernet/mellanox/mlx5/core/en.h                         |    2 
 drivers/net/ethernet/moxa/moxart_ether.c                             |   20 +-
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c                 |    2 
 drivers/net/geneve.c                                                 |    3 
 drivers/net/netdevsim/bpf.c                                          |    8 
 drivers/net/plip/plip.c                                              |    2 
 drivers/net/usb/ax88179_178a.c                                       |   16 -
 drivers/net/usb/usbnet.c                                             |    8 
 drivers/net/wireless/ath/ath10k/snoc.c                               |    5 
 drivers/net/wireless/ath/ath9k/htc.h                                 |   10 -
 drivers/net/wireless/ath/ath9k/htc_drv_init.c                        |    3 
 drivers/net/wireless/ath/wil6210/debugfs.c                           |   18 -
 drivers/net/wireless/intel/iwlegacy/4965-rs.c                        |    5 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c                         |    1 
 drivers/net/wireless/intersil/p54/main.c                             |    2 
 drivers/net/wireless/intersil/p54/p54spi.c                           |    3 
 drivers/net/wireless/mac80211_hwsim.c                                |   14 -
 drivers/net/wireless/marvell/libertas/if_usb.c                       |    1 
 drivers/net/wireless/mediatek/mt76/mac80211.c                        |    1 
 drivers/net/wireless/realtek/rtlwifi/debug.c                         |    8 
 drivers/ntb/test/ntb_tool.c                                          |    8 
 drivers/nvme/target/tcp.c                                            |    3 
 drivers/opp/core.c                                                   |    4 
 drivers/pci/controller/dwc/pcie-tegra194.c                           |   48 ++---
 drivers/pci/quirks.c                                                 |    3 
 drivers/pinctrl/nomadik/pinctrl-nomadik.c                            |    4 
 drivers/pinctrl/qcom/pinctrl-msm8916.c                               |    4 
 drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c                          |    1 
 drivers/pinctrl/sunxi/pinctrl-sunxi.c                                |    7 
 drivers/platform/olpc/olpc-ec.c                                      |    2 
 drivers/regulator/of_regulator.c                                     |    6 
 drivers/remoteproc/qcom_wcnss.c                                      |   10 -
 drivers/rpmsg/qcom_smd.c                                             |    1 
 drivers/s390/char/zcore.c                                            |   11 +
 drivers/s390/cio/vfio_ccw_drv.c                                      |   14 -
 drivers/s390/scsi/zfcp_fc.c                                          |   29 ++-
 drivers/s390/scsi/zfcp_fc.h                                          |    6 
 drivers/s390/scsi/zfcp_fsf.c                                         |    4 
 drivers/scsi/lpfc/lpfc_debugfs.c                                     |   20 +-
 drivers/scsi/qla2xxx/qla_def.h                                       |    4 
 drivers/scsi/qla2xxx/qla_gbl.h                                       |    3 
 drivers/scsi/qla2xxx/qla_init.c                                      |   34 +++
 drivers/scsi/qla2xxx/qla_isr.c                                       |   16 -
 drivers/scsi/qla2xxx/qla_mbx.c                                       |   17 +
 drivers/scsi/qla2xxx/qla_nvme.c                                      |    5 
 drivers/scsi/sg.c                                                    |   57 +++---
 drivers/scsi/smartpqi/smartpqi_init.c                                |    4 
 drivers/soc/amlogic/meson-mx-socinfo.c                               |    1 
 drivers/soc/fsl/guts.c                                               |    2 
 drivers/soc/qcom/qcom_aoss.c                                         |    4 
 drivers/soundwire/bus_type.c                                         |    8 
 drivers/spi/spi-rspi.c                                               |    4 
 drivers/spi/spi-synquacer.c                                          |    1 
 drivers/staging/rtl8192u/r8192U.h                                    |    2 
 drivers/staging/rtl8192u/r8192U_dm.c                                 |   38 +---
 drivers/staging/rtl8192u/r8192U_dm.h                                 |    2 
 drivers/tee/tee_core.c                                               |    3 
 drivers/thermal/thermal_sysfs.c                                      |   10 -
 drivers/tty/n_gsm.c                                                  |   90 ++++++++-
 drivers/tty/serial/8250/8250_dw.c                                    |    3 
 drivers/tty/serial/mvebu-uart.c                                      |   11 +
 drivers/tty/serial/ucc_uart.c                                        |    2 
 drivers/tty/vt/vt.c                                                  |    2 
 drivers/usb/cdns3/gadget.c                                           |    2 
 drivers/usb/core/hcd.c                                               |   26 +-
 drivers/usb/gadget/function/uvc_video.c                              |    2 
 drivers/usb/gadget/legacy/inode.c                                    |    1 
 drivers/usb/gadget/udc/Kconfig                                       |    2 
 drivers/usb/host/ehci-ppc-of.c                                       |    1 
 drivers/usb/host/ohci-nxp.c                                          |    1 
 drivers/usb/host/ohci-ppc-of.c                                       |    1 
 drivers/usb/host/xhci-tegra.c                                        |    8 
 drivers/usb/host/xhci.h                                              |    2 
 drivers/usb/renesas_usbhs/rza.c                                      |    4 
 drivers/usb/serial/sierra.c                                          |    3 
 drivers/usb/serial/usb-serial.c                                      |    2 
 drivers/usb/serial/usb_wwan.c                                        |    3 
 drivers/vfio/vfio.c                                                  |    1 
 drivers/video/fbdev/amba-clcd.c                                      |   24 +-
 drivers/video/fbdev/arkfb.c                                          |    9 
 drivers/video/fbdev/core/fbcon.c                                     |    8 
 drivers/video/fbdev/i740fb.c                                         |    9 
 drivers/video/fbdev/s3fb.c                                           |    2 
 drivers/video/fbdev/sis/init.c                                       |    4 
 drivers/video/fbdev/vt8623fb.c                                       |    2 
 drivers/virt/vboxguest/vboxguest_linux.c                             |    9 
 drivers/watchdog/armada_37xx_wdt.c                                   |    2 
 drivers/xen/xenbus/xenbus_dev_frontend.c                             |    4 
 fs/attr.c                                                            |    2 
 fs/btrfs/block-group.c                                               |    1 
 fs/btrfs/disk-io.c                                                   |   14 +
 fs/btrfs/raid56.c                                                    |   74 ++++++-
 fs/btrfs/tree-log.c                                                  |    4 
 fs/cifs/smb2ops.c                                                    |    5 
 fs/erofs/decompressor.c                                              |   16 +
 fs/eventpoll.c                                                       |   22 ++
 fs/ext2/super.c                                                      |   12 +
 fs/ext4/inline.c                                                     |    3 
 fs/ext4/inode.c                                                      |   10 -
 fs/ext4/migrate.c                                                    |    4 
 fs/ext4/namei.c                                                      |   23 +-
 fs/ext4/resize.c                                                     |   11 +
 fs/ext4/xattr.c                                                      |    6 
 fs/ext4/xattr.h                                                      |   13 +
 fs/f2fs/node.c                                                       |    6 
 fs/fuse/control.c                                                    |    4 
 fs/fuse/inode.c                                                      |    6 
 fs/jbd2/commit.c                                                     |    2 
 fs/jbd2/transaction.c                                                |   14 +
 fs/namei.c                                                           |    2 
 fs/nfs/nfs4idmap.c                                                   |   46 ++--
 fs/nfs/nfs4proc.c                                                    |   20 +-
 fs/overlayfs/export.c                                                |    2 
 fs/splice.c                                                          |   10 -
 include/acpi/cppc_acpi.h                                             |    2 
 include/asm-generic/bitops/atomic.h                                  |    6 
 include/linux/buffer_head.h                                          |   25 ++
 include/linux/kfifo.h                                                |    2 
 include/linux/kvm_host.h                                             |   28 ++
 include/linux/mfd/t7l66xb.h                                          |    1 
 include/linux/nmi.h                                                  |    2 
 include/linux/pci_ids.h                                              |    2 
 include/linux/tpm_eventlog.h                                         |    2 
 include/linux/usb/hcd.h                                              |    1 
 include/linux/wait.h                                                 |    9 
 include/sound/core.h                                                 |    8 
 include/trace/events/spmi.h                                          |   12 -
 include/uapi/linux/can/error.h                                       |    5 
 kernel/irq/chip.c                                                    |    3 
 kernel/kprobes.c                                                     |    3 
 kernel/power/user.c                                                  |   13 +
 kernel/profile.c                                                     |    7 
 kernel/sched/rt.c                                                    |   15 -
 kernel/time/timekeeping.c                                            |    7 
 kernel/trace/trace_events.c                                          |    1 
 kernel/trace/trace_probe.c                                           |    5 
 kernel/watchdog.c                                                    |   21 +-
 lib/list_debug.c                                                     |   12 +
 mm/mmap.c                                                            |    1 
 mm/mremap.c                                                          |    6 
 net/9p/client.c                                                      |    5 
 net/bluetooth/l2cap_core.c                                           |   13 -
 net/can/j1939/socket.c                                               |    5 
 net/can/j1939/transport.c                                            |    8 
 net/core/devlink.c                                                   |    4 
 net/dccp/proto.c                                                     |   10 -
 net/ipv4/tcp_output.c                                                |   30 ++-
 net/netfilter/nf_tables_api.c                                        |   14 +
 net/rds/ib_recv.c                                                    |    1 
 net/rose/af_rose.c                                                   |   11 -
 net/rose/rose_route.c                                                |    2 
 net/sched/cls_route.c                                                |   12 +
 net/sunrpc/auth.c                                                    |    2 
 net/sunrpc/backchannel_rqst.c                                        |   14 +
 net/vmw_vsock/af_vsock.c                                             |   10 -
 scripts/Makefile.gcc-plugins                                         |    2 
 scripts/faddr2line                                                   |    4 
 security/apparmor/apparmorfs.c                                       |    2 
 security/apparmor/audit.c                                            |    2 
 security/apparmor/domain.c                                           |    2 
 security/apparmor/include/lib.h                                      |    5 
 security/apparmor/include/policy.h                                   |    2 
 security/apparmor/label.c                                            |   13 -
 security/apparmor/mount.c                                            |    8 
 security/selinux/ss/policydb.h                                       |    2 
 sound/core/info.c                                                    |    6 
 sound/core/misc.c                                                    |   94 ++++++++++
 sound/core/timer.c                                                   |   11 -
 sound/pci/hda/patch_cirrus.c                                         |    1 
 sound/pci/hda/patch_conexant.c                                       |   11 +
 sound/pci/hda/patch_realtek.c                                        |   11 +
 sound/soc/codecs/da7210.c                                            |    2 
 sound/soc/codecs/msm8916-wcd-digital.c                               |   46 ++--
 sound/soc/codecs/wcd9335.c                                           |   81 +++-----
 sound/soc/generic/audio-graph-card.c                                 |    4 
 sound/soc/mediatek/mt6797/mt6797-mt6351.c                            |    6 
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c                     |   10 -
 sound/soc/mediatek/mt8173/mt8173-rt5650.c                            |    9 
 sound/soc/qcom/qdsp6/q6adm.c                                         |    2 
 sound/usb/bcd2000/bcd2000.c                                          |    3 
 tools/build/feature/test-libcrypto.c                                 |   15 +
 tools/lib/bpf/libbpf.c                                               |    9 
 tools/perf/util/genelf.c                                             |    6 
 tools/perf/util/symbol-elf.c                                         |   27 ++
 tools/testing/selftests/bpf/test_btf.c                               |    2 
 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc |    1 
 tools/testing/selftests/timers/clocksource-switch.c                  |    6 
 tools/testing/selftests/timers/valid-adjtimex.c                      |    2 
 tools/thermal/tmon/sysfs.c                                           |   24 +-
 tools/thermal/tmon/tmon.h                                            |    3 
 tools/vm/slabinfo.c                                                  |   32 ++-
 virt/kvm/kvm_main.c                                                  |   10 -
 368 files changed, 2211 insertions(+), 1113 deletions(-)

Al Viro (6):
nios2: page fault et.al. are *not* restartable syscalls...
nios2: don't leave NULLs in sys_call_table[]
nios2: traced syscall does need to check the syscall number
nios2: fix syscall restart checks
nios2: restarts apply only to the first sigframe we build...
nios2: add force_successful_syscall_return()

Alan Brady (1):
i40e: Fix to stop tx_timeout recovery if GLOBR fails

Alex Bee (1):
clk: rockchip: add sclk_mac_lbtest to rk3188_critical_clocks

Alexander Gordeev (1):
s390/zcore: fix race when reading from hardware system area

Alexander Lobakin (3):
ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr() x86/olpc: fix 'logical not is only applied to the left hand side' iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE)

Alexander Shishkin (4):
intel_th: msu: Fix vmalloced buffers
intel_th: pci: Add Raptor Lake-S CPU support
intel_th: pci: Add Raptor Lake-S PCH support
intel_th: pci: Add Meteor Lake-P support

Alexander Stein (5):
ARM: dts: imx6ul: add missing properties for sram
ARM: dts: imx6ul: change operating-points to uint32-matrix
ARM: dts: imx6ul: fix csi node compatible
ARM: dts: imx6ul: fix lcdif node compatible
ARM: dts: imx6ul: fix qspi node compatible

Alexey Kodanev (2):
drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers()
wifi: iwlegacy: 4965: fix potential off-by-one overflow in il4965_rs_fill_link_cmd()

Allen Ballway (1):
ALSA: hda/cirrus - support for iMac 12,1 model

Amadeusz Sławiński (1):
ALSA: info: Fix llseek return value when using callback

Ammar Faizi (1):
wifi: wil6210: debugfs: fix uninitialized variable use in wil_write_file_wmi()

Andrew Donnellan (1):
gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file

Aneesh Kumar K.V (1):
mm/mremap: hold the rmap lock in write mode when moving page table entries.

AngeloGioacchino Del Regno (1):
media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment

Anquan Wu (1):
libbpf: Fix the name of a reused map

Ansuel Smith (1):
clk: qcom: clk-krait: unlock spin after mux completion

Antonio Borneo (2):
genirq: Don't return error on missing optional irq_request_resources()
drm: adv7511: override i2c address of cec before accessing it

Arnaldo Carvalho de Melo (1):
genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO

Artem Borisov (1):
HID: alps: Declare U1_UNICORN_LEGACY support

Arun Easi (1):
scsi: qla2xxx: Fix discovery issues in FC-AL topology

Arun Ramadoss (1):
net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry

Baokun Li (4):
ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
ext4: fix use-after-free in ext4_xattr_set_entry
ext4: correct max_inline_xattr_value_size computing
ext4: correct the misjudgment in ext4_iget_extra_inode

Benjamin Segall (1):
epoll: autoremove wakers even more aggressively

Biju Das (1):
spi: spi-rspi: Fix PIO fallback on RZ platforms

Bo-Chen Chen (1):
drm/mediatek: dpi: Remove output format of YUV

Brian Norris (1):
drm/rockchip: vop: Don't crash for invalid duplicate_state()

Celeste Liu (1):
riscv: mmap with PROT_WRITE but no PROT_READ is invalid

Chao Yu (1):
f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()

Chen Lin (1):
dpaa2-eth: trace the allocated address instead of page struct

Chen Zhongjin (2):
profiling: fix shift too large makes kernel panic
kprobes: Forbid probing on trampoline and BPF code areas

Cheng Xu (1):
RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event

Christophe JAILLET (11):
drm/rockchip: Fix an error handling path rockchip_dp_probe()
wifi: p54: Fix an error handling path in p54spi_probe()
mtd: rawnand: meson: Fix a potential double free issue
misc: rtsx: Fix an error handling path in rtsx_pci_probe()
intel_th: Fix a resource leak in an error handling path memstick/ms_block: Fix some incorrect memory allocation memstick/ms_block: Fix a memory leak
ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
mmc: pxamci: Fix another error handling path in pxamci_probe()
mmc: pxamci: Fix an error handling path in pxamci_probe()
cxl: Fix a memory leak in an error handling path

Christophe Leroy (3):
powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32 powerpc/32: Don't always pass -mcpu=powerpc to the compiler

Csókás Bence (1):
fec: Fix timer capture timing in fec_ptp_enable_pps()

Damien Le Moal (1):
ata: libata-eh: Add missing command name

Dan Aloni (1):
sunrpc: fix expiry of auth creds

Dan Carpenter (8):
wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi() selftests/bpf: fix a test for snprintf() overflow platform/olpc: Fix uninitialized data in debugfs write
null_blk: fix ida error handling in null_add_dev()
kfifo: fix kfifo_to_user() return type
NTB: ntb_tool: uninitialized heap data in tool_fn_write() xen/xenbus: fix return type in xenbus_file_read()

Daniel Starke (6):
tty: n_gsm: fix non flow control frames during mux flow off
tty: n_gsm: fix packet re-transmission without open control channel
tty: n_gsm: fix race condition in gsmld_write()
tty: n_gsm: fix wrong T1 retry count handling
tty: n_gsm: fix DM command
tty: n_gsm: fix missing corner cases in gsmld_poll()

Dave Stevenson (2):
drm/vc4: plane: Fix margin calculations for the right/bottom edges drm/vc4: dsi: Correct DSI divider calculations

David Collins (1):
spmi: trace: fix stack-out-of-bound access in SPMI tracing functions

David Howells (1):
vfs: Check the truncate maximum size in inode_newsize_ok()

Dmitry Osipenko (1):
drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error

Dom Cobley (1):
drm/vc4: plane: Remove subpixel positioning check

Duoming Zhou (3):
mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release
staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback
atm: idt77252: fix use-after-free bugs caused by tst_timer

Eric Dumazet (2):
net: rose: fix netdev reference changes
tcp: fix over estimation in sk_forced_mem_schedule()

Eric Farman (1):
vfio/ccw: Do not change FSM state in subchannel event

Eric Whitney (1):
ext4: fix extent status tree race in writeback error recovery path

Eugen Hristev (1):
mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R

Fedor Pchelkin (2):
can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
can: j1939: j1939_session_destroy(): fix memory leak of skbs

Filipe Manana (1):
btrfs: fix lost error handling when looking up extended ref on log replay

Florian Fainelli (1):
tools/thermal: Fix possible path truncations

Florian Westphal (2):
netfilter: nf_tables: fix null deref due to zeroed list head
plip: avoid rcu debug splat

Francis Laniel (1):
arm64: Do not forget syscall when starting a new thread.

Frank Li (1):
usb: cdns3 fix use-after-free at workaround 2

Gao Xiang (1):
erofs: avoid consecutive detection for Highmem memory

Greg Kroah-Hartman (1):

      Linux 5.4.211

Grzegorz Siwik (1):
ice: Ignore EEXIST when setting promisc mode

Guenter Roeck (1):
lib/list_debug.c: Detect uninitialized lists

Guillaume Ranquet (1):
drm/mediatek: dpi: Only enable dpi after the bridge is enabled

Guo Mengqi (1):
spi: synquacer: Add missing clk_disable_unprepare()

Hangyu Hua (3):
drm: bridge: sii8620: fix possible off-by-one
wifi: libertas: Fix possible refcount leak in if_usb_probe()
dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock

Hans de Goede (1):
ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks

Haoyue Xu (1):
RDMA/hns: Fix incorrect clearing of interrupt status register

Harshit Mogalapalli (1):
HID: cp2112: prevent a buffer overflow in cp2112_xfer()

Hector Martin (1):
locking/atomic: Make test_and_*_bit() ordered on failure

Helge Deller (3):
fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters
parisc: Fix device names in /proc/iomem
parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode

Huacai Chen (3):
MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH PCI/ACPI: Guard ARM64-specific mcfg_quirks

Ian Rogers (1):
perf symbol: Fail to read phdr workaround

Ido Schimmel (1):
devlink: Fix use-after-free after a failed reload

Ilpo Järvinen (1):
serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()

Jakub Kicinski (1):
netdevsim: Avoid allocation warnings triggered from user space

Jamal Hadi Salim (1):
net_sched: cls_route: disallow handle of 0

James Smart (1):
scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input

Jan Kara (1):
ext2: Add more validity checks for inode counts

Jason A. Donenfeld (3):
fs: check FMODE_LSEEK to control internal pipe splicing
timekeeping: contribute wall clock to rng on time change
um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups

Jens Wiklander (1):
tee: add overflow check in register_shm_helper()

Jeongik Cha (1):
wifi: mac80211_hwsim: fix race condition in pending packet

Jiachen Zhang (1):
ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()

Jian Zhang (1):
drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed.

Jianglei Nie (1):
RDMA/hfi1: fix potential memory leak in setup_base_ctxt()

Jiasheng Jiang (4):
drm: bridge: adv7511: Add check for mipi_dsi_driver_register
Bluetooth: hci_intel: Add check for platform_driver_register
intel_th: msu-sink: Potential dereference of null pointer
ASoC: codecs: da7210: add check for i2c_add_driver

Johan Hovold (2):
x86/pmem: Fix platform-device leak in error path
USB: serial: fix tty-port initialized comments

Johannes Berg (2):
wifi: mac80211_hwsim: add back erroneously removed cast
wifi: mac80211_hwsim: use 32-bit skb cookie

John Johansen (4):
apparmor: fix quiet_denied for file rules
apparmor: fix absroot causing audited secids to begin with =
apparmor: Fix failed mount permission check error message
apparmor: fix overlapping attachment computation

Jose Alonso (1):

      Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP"

Jose Ignacio Tornos Martinez (1):
wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue

Josef Bacik (1):
btrfs: reset block group chunk force if we have to wait

Josh Poimboeuf (1):
scripts/faddr2line: Fix vmlinux detection on arm64

Jozef Martiniak (1):
gadgetfs: ep_io - wait until IRQ finishes

Juri Lelli (1):
wait: Fix __wait_event_hrtimeout for RT/DL tasks

Kiselev, Oleg (1):
ext4: avoid resizing to a partial cluster size

Krzysztof Kozlowski (6):
ARM: dts: ast2500-evb: fix board compatible
ARM: dts: ast2600-evb: fix board compatible
ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
ARM: dts: qcom: pm8841: add required thermal-sensor-cells
ath10k: do not enforce interrupt trigger type
dt-bindings: arm: qcom: fix MSM8916 MTP compatibles

Kunihiko Hayashi (2):
ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC

Lars-Peter Clausen (1):
i2c: cadence: Support PEC for SMBus block read

Laurent Dufour (1):
watchdog: export lockup_detector_reconfigure

Leo Li (1):
drm/amdgpu: Check BO's requested pinning domains against its preferred_domains

Li Lingfeng (1):
ext4: recover csum seed of tmp_inode after migrating to extents

Liang He (16):
ARM: OMAP2+: display: Fix refcount leak bug
ARM: shmobile: rcar-gen2: Increase refcount for new reference
regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
i2c: mux-gpmux: Add of_node_put() when breaking out of loop
gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()
mmc: cavium-octeon: Add of_node_put() when breaking out of loop
mmc: cavium-thunderx: Add of_node_put() when breaking out of loop iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop
ASoC: audio-graph-card: Add of_node_put() in fail path
video: fbdev: amba-clcd: Fix refcount leak bugs
drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
usb: host: ohci-ppc-of: Fix refcount leak bug
usb: renesas: Fix refcount leak bug
tty: serial: Fix refcount leak bug in ucc_uart.c
mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start

Lin Ma (1):
igb: Add lock to avoid data race

Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression

Lukas Czerner (1):
ext4: make sure ext4_append() always allocates new block

Lukas Wunner (1):
usbnet: Fix linkwatch use-after-free on disconnect

Luo Meng (1):
dm thin: fix use-after-free crash in dm_sm_register_threshold_callback

Maciej S. Szmigiero (1):
KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0

Mahesh Rajashekhara (1):
scsi: smartpqi: Fix DMA direction for RAID requests

Manyi Li (1):
ACPI: PM: save NVS memory for Lenovo G40-45

Marc Kleine-Budde (1):
can: ems_usb: fix clang's -Wunaligned-access warning

Marco Pagani (1):
fpga: altera-pr-ip: fix unsigned comparison with less than zero

Markus Mayer (1):
thermal/tools/tmon: Include pthread and time headers in tmon.h

Matthias May (1):
geneve: do not use RT_TOS for IPv6 flowlabel

Maxim Mikityanskiy (1):
net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS

Meng Tang (2):
ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model
ALSA: hda/realtek: Add quirk for another Asus K42JZ model

Miaohe Lin (1):
mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region

Miaoqian Lin (22):
meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
ARM: bcm: Fix refcount leak in bcm_kona_smc_init
ARM: OMAP2+: Fix refcount leak in omapdss_init_of
ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
cpufreq: zynq: Fix refcount leak in zynq_get_revision
soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register drm/mcde: Fix refcount leak in mcde_dsi_bind
mtd: maps: Fix refcount leak in of_flash_probe_versatile
mtd: maps: Fix refcount leak in ap_flash_init
mtd: partitions: Fix refcount leak in parse_redboot_of
usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe
mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge
mfd: max77620: Fix refcount leak in max77620_initialise_fps powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader powerpc/xive: Fix refcount leak in xive_get_max_prio powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map

Michael Ellerman (3):
powerpc/powernv: Avoid crashing if rng is NULL powerpc/pci: Fix PHB numbering when using opal-phbid powerpc/pci: Fix get_phb_number() locking

Michael Grzeschik (1):
usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info

Michael Walle (1):
soc: fsl: guts: machine variable might be unset

Michal Suchanek (1):
kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification

Mike Snitzer (1):
dm: return early from dm_pr_call() if DM device is suspended

Miklos Szeredi (1):
fuse: limit nsec

Mikulas Patocka (6):
add barriers to buffer_uptodate and set_buffer_uptodate
md-raid10: fix KASAN warning
dm raid: fix address sanitizer warning in raid_resume dm raid: fix address sanitizer warning in raid_status dm writecache: set a default MAX_WRITEBACK_JOBS
rds: add missing barrier to release_refill

Ming Lei (1):

      blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created

Narendra Hadke (1):
serial: mvebu-uart: uart2 error bits clearing

Nathan Chancellor (1):
MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0

Nick Desaulniers (2):
Makefile: link with -z noexecstack --no-warn-rwx-segments
x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments

Nick Hainke (1):

      arm64: dts: mt7622: fix BPI-R64 WPS button

Nicolas Saenz Julienne (1):
nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()

Niels Dossche (1):
media: hdpvr: fix error value returns in hdpvr_read

Nikita Travkin (1):
pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed

Nilesh Javali (1):
scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover"

Pablo Neira Ayuso (1):
netfilter: nf_tables: really skip inactive sets when allocating name

Pali Rohár (4):
PCI: Add defines for normal and subtractive PCI bridges powerpc/fsl-pci: Fix Class Code of PCIe Root Port
crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias

Pascal Terjan (1):
vboxguest: Do not use devm for irq

Pavan Chebbi (1):

      PCI: Add ACS quirk for Broadcom BCM5750x NICs

Pavel Skripkin (1):
ath9k: fix use-after-free in ath9k_hif_usb_rx_cb

Peilin Ye (2):
vsock: Fix memory leak in vsock_connect()
vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()

Pierre-Louis Bossart (1):
soundwire: bus_type: fix remove and shutdown support

Ping Cheng (2):
HID: wacom: Only report rotation for art pen
HID: wacom: Don't register pad_input for touch switch

Przemyslaw Patynowski (2):
iavf: Fix max_rate limiting
iavf: Fix adminq error handling

Qian Cai (1):
crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE

Qifu Zhang (1):
Documentation: ACPI: EINJ: Fix obsolete example

Qu Wenruo (3):
btrfs: reject log replay if there is unsupported RO compat flag
btrfs: only write the sectors in the vertical stripe which has data stripes
btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()

Quinn Tran (2):
scsi: qla2xxx: Turn off multi-queue for 8G adapters
scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection

Rafael J. Wysocki (2):
thermal: sysfs: Fix cooling_device_stats_setup() error code path
ACPI: CPPC: Do not prevent CPPC from working in the future

Ralph Siemsen (1):
clk: renesas: r9a06g032: Fix UART clkgrp bitsel

Randy Dunlap (1):
usb: gadget: udc: amd5536 depends on HAS_DMA

Rex-BC Chen (1):
clk: mediatek: reset: Fix written reset bit offset

Rob Clark (1):
drm/msm/mdp5: Fix global state lock backoff

Robert Marko (4):
arm64: dts: qcom: ipq8074: fix NAND node name
clk: qcom: ipq8074: fix NSS port frequency tables
clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks
clk: qcom: ipq8074: dont disable gcc_sleep_clk_src

Roberto Sassu (1):
tools build: Switch to new openssl API for test-libcrypto

Russell King (Oracle) (1):
ARM: findbit: fix overflowing offset

Rustam Subkhankulov (2):
wifi: p54: add missing parentheses in p54_flush()
video: fbdev: sis: fix typos in SiS_GetModeID()

Sagi Grimberg (1):
nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown

Sai Prakash Ranjan (2):
irqchip/tegra: Fix overflow implicit truncation warnings drm/meson: Fix overflow implicit truncation warnings

Sakari Ailus (1):
ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool

Sam Protsenko (1):
iommu/exynos: Handle failed IOMMU device registration properly

Samuel Holland (2):
arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
pinctrl: sunxi: Add I/O bias setting for H6 R-PIO

Sandor Bodo-Merle (1):
net: bgmac: Fix a BUG triggered by wrong bytes_compl

Sasha Neftin (1):
igc: Remove _I_PHY_ID checking

Schspa Shi (1):

      vfio: Clear the caps->buf to NULL after free

Sean Christopherson (6):
KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
KVM: Add infrastructure and macro to mark VM as bugged

Sebastian Würl (1):
can: mcp251x: Fix race condition on receive interrupt

Sergei Antonov (2):
net: dsa: mv88e6060: prevent crash on an unused port
net: moxa: pass pdev instead of ndev to DMA functions

Sergey Shtylyov (1):
usb: host: xhci: use snprintf() in xhci_decode_trb()

Siddh Raman Pant (1):
x86/numa: Use cpumask_available instead of hardcoded NULL check

Sireesh Kodali (1):
remoteproc: qcom: wcnss: Fix handling of IRQs

Srinivas Kandagatla (2):
ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV

Steffen Maier (1):
scsi: zfcp: Fix missing auto port scan and thus missing target ports

Steve French (1):
smb3: check xattr value length earlier

Steven Rostedt (Google) (3):
tracing: Have filter accept "common_cpu" to be consistent selftests/kprobe: Do not test for GRP/ without event failures tracing/probes: Have kprobes and uprobes use $COMM too

Sudeep Holla (1):
firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails

Suzuki K Poulose (1):
coresight: Clear the connection field properly

Takashi Iwai (2):
ALSA: core: Add async signal helpers
ALSA: timer: Use deferred fasync helper

Tang Bin (2):
usb: xhci: tegra: Fix error check
opp: Fix error check in dev_pm_opp_attach_genpd()

Tetsuo Handa (2):
tty: vt: initialize unicode screen buffer
PM: hibernate: defer device probing when resuming from hibernation

Thadeu Lima de Souza Cascardo (3):
netfilter: nf_tables: do not allow SET_ID to refer to another table
netfilter: nf_tables: do not allow RULE_ID to refer to another chain
net_sched: cls_route: remove from list when handle is 0

Theodore Ts'o (1):
ext4: update s_overhead_clusters in the superblock during an on-line resize

Timur Tabi (1):
drm/nouveau: fix another off-by-one in nvbios_addr

Tom Rix (1):
apparmor: fix aa_label_asxprint return check

Tony Battersby (1):
scsi: sg: Allow waiting for commands to complete on removed device

Trond Myklebust (5):
NFSv4.1: Don't decrease the value of seq_nr_highest_sent NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
NFSv4: Fix races in the legacy idmapper upcall NFSv4/pnfs: Fix a use-after-free bug in open
SUNRPC: Reinitialise the backchannel request buffers before reuse

Tyler Hicks (1):
net/9p: Initialize the iounit field during fid creation

Uwe Kleine-König (3):
mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
mfd: t7l66xb: Drop platform disable callback
dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed

Vidya Sagar (2):
PCI: tegra194: Fix Root Port interrupt handling
PCI: tegra194: Fix link up retry sequence

Vincent Mailhol (10):
can: pch_can: do not report txerr and rxerr during bus-off
can: rcar_can: do not report txerr and rxerr during bus-off
can: sja1000: do not report txerr and rxerr during bus-off
can: hi311x: do not report txerr and rxerr during bus-off
can: sun4i_can: do not report txerr and rxerr during bus-off
can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off
can: usb_8dev: do not report txerr and rxerr during bus-off
can: error: specify the values of data[5..7] of CAN error frames
can: pch_can: pch_can_error(): initialize errc before using it

Vitaly Kuznetsov (2):
KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()

Vladimir Zapolskiy (1):
clk: qcom: camcc-sdm845: Fix topology around titan_top power domain

Weitao Wang (1):
USB: HCD: Fix URB giveback issue in tasklet function

Wentao_Liang (1):
drivers:md:fix a potential use-after-free bug

William Dean (1):
watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()

Wolfram Sang (2):
selftests: timers: valid-adjtimex: build fix for newer toolchains
selftests: timers: clocksource-switch: fix passing errors from child

Wyes Karny (1):
x86: Handle idle=nomwait cmdline properly for x86_idle

Xianting Tian (1):
RISC-V: Add fast call path of crash_kexec()

Xie Yongji (1):
fuse: Remove the control interface for virtio-fs

Xin Xiong (1):
apparmor: fix reference count leak in aa_pivotroot()

Xinlei Lee (1):
drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function

Xiu Jianfeng (2):
selinux: Add boundary check in put_entry()
apparmor: Fix memleak in aa_simple_write_to_buffer()

Xu Wang (1):
i2c: Fix a potential use after free

Yang Xu (1):
fs: Add missing umask strip in vfs_tmpfile

Yang Yingliang (1):
bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()

Ye Bin (1):
ext4: avoid remove directory when directory is corrupted

Yonglong Li (1):
tcp: make retransmitted SKB fit into the send window

Yu Xiao (1):
nfp: ethtool: fix the display error of ethtool -m DEVNAME

Yuanzheng Song (1):
tools/vm/slabinfo: use alphabetic order when two values are equal

Yunhao Tian (1):
drm/mipi-dbi: align max_chunk to 2 in spi_transfer

Zhang Wensheng (1):
driver core: fix potential deadlock in __driver_attach

Zhang Xianwei (1):
NFSv4.1: RECLAIM_COMPLETE must handle EACCES

Zhang Yi (1):
jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction()

Zhengchao Shao (1):
crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq

Zheyu Ma (8):
ALSA: bcd2000: Fix a UAF bug on the error path of probing
iio: light: isl29028: Fix the warning in isl29028_remove()
media: tw686x: Register the irq at the end of probe
video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
video: fbdev: vt8623fb: Check the size of screen before memset_io()
video: fbdev: arkfb: Check the size of screen before memset_io()
video: fbdev: s3fb: Check the size of screen before memset_io()
video: fbdev: i740fb: Check the argument of i740_calc_vclk()

Zhihao Cheng (1):

      jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted

Zhouyi Zhou (1):
powerpc/64: Init jump labels before parse_early_param()

Zhu Yanjun (1):
RDMA/rxe: Fix error unwind in rxe_create_qp()

haibinzhang (张海斌) (1):
arm64: fix oops in concurrently setting insn_emulation sysctls

huhai (1):
ACPI: LPSS: Fix missing check in register_device_clock()

author maintainer
#1 lore raw
Documentation/admin-guide/pm/cpuidle.rst +9 -6
index e70b365dbc60..80cf2ef2a506 100644
@@ -676,8 +676,8 @@ the ``menu`` governor to be used on the systems that use the ``ladder`` governor
 by default this way, for example.
 
 The other kernel command line parameters controlling CPU idle time management
-described below are only relevant for the *x86* architecture and some of
-them affect Intel processors only.
+described below are only relevant for the *x86* architecture and references
+to ``intel_idle`` affect Intel processors only.
 
 The *x86* architecture support code recognizes three kernel command line
 options related to CPU idle time management: ``idle=poll``, ``idle=halt``,
@@ -699,10 +699,13 @@ idle, so it very well may hurt single-thread computations performance as well as
 energy-efficiency.  Thus using it for performance reasons may not be a good idea
 at all.]
 
-The ``idle=nomwait`` option disables the ``intel_idle`` driver and causes
-``acpi_idle`` to be used (as long as all of the information needed by it is
-there in the system's ACPI tables), but it is not allowed to use the
-``MWAIT`` instruction of the CPUs to ask the hardware to enter idle states.
+The ``idle=nomwait`` option prevents the use of ``MWAIT`` instruction of
+the CPU to enter idle states. When this option is used, the ``acpi_idle``
+driver will use the ``HLT`` instruction instead of ``MWAIT``. On systems
+running Intel processors, this option disables the ``intel_idle`` driver
+and forces the use of the ``acpi_idle`` driver instead. Note that in either
+case, ``acpi_idle`` driver will function only if all the information needed
+by it is in the system's ACPI tables.
 
 In addition to the architecture-level kernel command line options affecting CPU
 idle time management, there are parameters affecting individual ``CPUIdle``
Documentation/atomic_bitops.txt +1 -1
index 093cdaefdb37..d8b101c97031 100644
@@ -59,7 +59,7 @@ Like with atomic_t, the rule of thumb is:
  - RMW operations that have a return value are fully ordered.
 
  - RMW operations that are conditional are unordered on FAILURE,
-   otherwise the above rules apply. In the case of test_and_{}_bit() operations,
+   otherwise the above rules apply. In the case of test_and_set_bit_lock(),
    if the bit in memory is unchanged by the operation then it is deemed to have
    failed.
 
Documentation/devicetree/bindings/arm/qcom.yaml +1 -1
index e39d8f02e33c..3de6182cde97 100644
@@ -112,8 +112,8 @@ properties:
           - const: qcom,msm8974
 
       - items:
-          - const: qcom,msm8916-mtp/1
           - const: qcom,msm8916-mtp
+          - const: qcom,msm8916-mtp/1
           - const: qcom,msm8916
 
       - items:
Documentation/firmware-guide/acpi/apei/einj.rst +1 -1
index e588bccf5158..344284236a81 100644
@@ -168,7 +168,7 @@ An error injection example::
   0x00000008	Memory Correctable
   0x00000010	Memory Uncorrectable non-fatal
   # echo 0x12345000 > param1		# Set memory address for injection
-  # echo $((-1 << 12)) > param2		# Mask 0xfffffffffffff000 - anywhere in this page
+  # echo 0xfffffffffffff000 > param2		# Mask - anywhere in this page
   # echo 0x8 > error_type			# Choose correctable memory error
   # echo 1 > error_inject			# Inject now
 
Makefile +4 -1
index 74abb7e389f3..e54b9a1659b4 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 210
+SUBLEVEL = 211
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
@@ -932,6 +932,9 @@ KBUILD_CFLAGS   += $(KCFLAGS)
 KBUILD_LDFLAGS_MODULE += --build-id
 LDFLAGS_vmlinux += --build-id
 
+KBUILD_LDFLAGS	+= -z noexecstack
+KBUILD_LDFLAGS	+= $(call ld-option,--no-warn-rwx-segments)
+
 ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
 LDFLAGS_vmlinux	+= $(call ld-option, -X,)
 endif
arch/arm/boot/dts/aspeed-ast2500-evb.dts +1 -1
index c9d88c90135e..9db4d42d0deb 100644
@@ -5,7 +5,7 @@
 
 / {
 	model = "AST2500 EVB";
-	compatible = "aspeed,ast2500";
+	compatible = "aspeed,ast2500-evb", "aspeed,ast2500";
 
 	aliases {
 		serial4 = &uart5;
arch/arm/boot/dts/aspeed-ast2600-evb.dts +1 -1
index 9870553919b7..f00b19ad4fa6 100644
@@ -7,7 +7,7 @@
 
 / {
 	model = "AST2600 EVB";
-	compatible = "aspeed,ast2600";
+	compatible = "aspeed,ast2600-evb-a1", "aspeed,ast2600";
 
 	aliases {
 		serial4 = &uart5;
arch/arm/boot/dts/imx6ul.dtsi +16 -15
index f008036e9294..ae0722b93b9d 100644
@@ -62,20 +62,18 @@
 			clock-frequency = <696000000>;
 			clock-latency = <61036>; /* two CLK32 periods */
 			#cooling-cells = <2>;
-			operating-points = <
+			operating-points =
 				/* kHz	uV */
-				696000	1275000
-				528000	1175000
-				396000	1025000
-				198000	950000
-			>;
-			fsl,soc-operating-points = <
+				<696000	1275000>,
+				<528000	1175000>,
+				<396000	1025000>,
+				<198000	950000>;
+			fsl,soc-operating-points =
 				/* KHz	uV */
-				696000	1275000
-				528000	1175000
-				396000	1175000
-				198000	1175000
-			>;
+				<696000	1275000>,
+				<528000	1175000>,
+				<396000	1175000>,
+				<198000	1175000>;
 			clocks = <&clks IMX6UL_CLK_ARM>,
 				 <&clks IMX6UL_CLK_PLL2_BUS>,
 				 <&clks IMX6UL_CLK_PLL2_PFD2>,
@@ -157,6 +155,9 @@
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x20000>;
+			ranges = <0 0x00900000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 		};
 
 		intc: interrupt-controller@a01000 {
@@ -966,7 +967,7 @@
 			};
 
 			csi: csi@21c4000 {
-				compatible = "fsl,imx6ul-csi", "fsl,imx7-csi";
+				compatible = "fsl,imx6ul-csi";
 				reg = <0x021c4000 0x4000>;
 				interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6UL_CLK_CSI>;
@@ -975,7 +976,7 @@
 			};
 
 			lcdif: lcdif@21c8000 {
-				compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
+				compatible = "fsl,imx6ul-lcdif", "fsl,imx6sx-lcdif";
 				reg = <0x021c8000 0x4000>;
 				interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
@@ -996,7 +997,7 @@
 			qspi: spi@21e0000 {
 				#address-cells = <1>;
 				#size-cells = <0>;
-				compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
+				compatible = "fsl,imx6ul-qspi";
 				reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
 				reg-names = "QuadSPI", "QuadSPI-memory";
 				interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
arch/arm/boot/dts/qcom-mdm9615.dtsi +1 -0
index 356e9535f7a6..ffb4dcdb62d2 100644
@@ -323,6 +323,7 @@
 
 				pmicgpio: gpio@150 {
 					compatible = "qcom,pm8018-gpio", "qcom,ssbi-gpio";
+					reg = <0x150>;
 					interrupt-controller;
 					#interrupt-cells = <2>;
 					gpio-controller;
arch/arm/boot/dts/qcom-pm8841.dtsi +1 -0
index 2fd59c440903..c73e5b149ac5 100644
@@ -25,6 +25,7 @@
 			compatible = "qcom,spmi-temp-alarm";
 			reg = <0x2400>;
 			interrupts = <4 0x24 0 IRQ_TYPE_EDGE_RISING>;
+			#thermal-sensor-cells = <0>;
 		};
 	};
 
arch/arm/boot/dts/uniphier-pxs2.dtsi +4 -4
index 60a588ce45e1..049ca941b479 100644
@@ -585,8 +585,8 @@
 			compatible = "socionext,uniphier-dwc3", "snps,dwc3";
 			status = "disabled";
 			reg = <0x65a00000 0xcd00>;
-			interrupt-names = "host", "peripheral";
-			interrupts = <0 134 4>, <0 135 4>;
+			interrupt-names = "dwc_usb3";
+			interrupts = <0 134 4>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
 			clock-names = "ref", "bus_early", "suspend";
@@ -681,8 +681,8 @@
 			compatible = "socionext,uniphier-dwc3", "snps,dwc3";
 			status = "disabled";
 			reg = <0x65c00000 0xcd00>;
-			interrupt-names = "host", "peripheral";
-			interrupts = <0 137 4>, <0 138 4>;
+			interrupt-names = "dwc_usb3";
+			interrupts = <0 137 4>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
 			clock-names = "ref", "bus_early", "suspend";
arch/arm/lib/findbit.S +8 -8
index b5e8b9ae4c7d..7fd3600db8ef 100644
@@ -40,8 +40,8 @@ ENDPROC(_find_first_zero_bit_le)
  * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
  */
 ENTRY(_find_next_zero_bit_le)
-		teq	r1, #0
-		beq	3b
+		cmp	r2, r1
+		bhs	3b
 		ands	ip, r2, #7
 		beq	1b			@ If new byte, goto old routine
  ARM(		ldrb	r3, [r0, r2, lsr #3]	)
@@ -81,8 +81,8 @@ ENDPROC(_find_first_bit_le)
  * Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
  */
 ENTRY(_find_next_bit_le)
-		teq	r1, #0
-		beq	3b
+		cmp	r2, r1
+		bhs	3b
 		ands	ip, r2, #7
 		beq	1b			@ If new byte, goto old routine
  ARM(		ldrb	r3, [r0, r2, lsr #3]	)
@@ -115,8 +115,8 @@ ENTRY(_find_first_zero_bit_be)
 ENDPROC(_find_first_zero_bit_be)
 
 ENTRY(_find_next_zero_bit_be)
-		teq	r1, #0
-		beq	3b
+		cmp	r2, r1
+		bhs	3b
 		ands	ip, r2, #7
 		beq	1b			@ If new byte, goto old routine
 		eor	r3, r2, #0x18		@ big endian byte ordering
@@ -149,8 +149,8 @@ ENTRY(_find_first_bit_be)
 ENDPROC(_find_first_bit_be)
 
 ENTRY(_find_next_bit_be)
-		teq	r1, #0
-		beq	3b
+		cmp	r2, r1
+		bhs	3b
 		ands	ip, r2, #7
 		beq	1b			@ If new byte, goto old routine
 		eor	r3, r2, #0x18		@ big endian byte ordering
arch/arm/mach-bcm/bcm_kona_smc.c +1 -0
index 541e850a736c..9175c130967e 100644
@@ -54,6 +54,7 @@ int __init bcm_kona_smc_init(void)
 		return -ENODEV;
 
 	prop_val = of_get_address(node, 0, &prop_size, NULL);
+	of_node_put(node);
 	if (!prop_val)
 		return -EINVAL;
 
arch/arm/mach-omap2/display.c +3 -0
index 1bd64f6ba8cf..1de25166414e 100644
@@ -211,6 +211,7 @@ static int __init omapdss_init_fbdev(void)
 	node = of_find_node_by_name(NULL, "omap4_padconf_global");
 	if (node)
 		omap4_dsi_mux_syscon = syscon_node_to_regmap(node);
+	of_node_put(node);
 
 	return 0;
 }
@@ -259,11 +260,13 @@ static int __init omapdss_init_of(void)
 
 	if (!pdev) {
 		pr_err("Unable to find DSS platform device\n");
+		of_node_put(node);
 		return -ENODEV;
 	}
 
 	r = of_platform_populate(node, NULL, NULL, &pdev->dev);
 	put_device(&pdev->dev);
+	of_node_put(node);
 	if (r) {
 		pr_err("Unable to populate DSS submodule devices\n");
 		return r;
arch/arm/mach-omap2/prm3xxx.c +1 -0
index 1b442b128569..63e73e9b82bc 100644
@@ -708,6 +708,7 @@ static int omap3xxx_prm_late_init(void)
 	}
 
 	irq_num = of_irq_get(np, 0);
+	of_node_put(np);
 	if (irq_num == -EPROBE_DEFER)
 		return irq_num;
 
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c +4 -1
index 09ef73b99dd8..ba44cec5e59a 100644
@@ -125,6 +125,7 @@ static int regulator_quirk_notify(struct notifier_block *nb,
 
 	list_for_each_entry_safe(pos, tmp, &quirk_list, list) {
 		list_del(&pos->list);
+		of_node_put(pos->np);
 		kfree(pos);
 	}
 
@@ -174,11 +175,12 @@ static int __init rcar_gen2_regulator_quirk(void)
 		memcpy(&quirk->i2c_msg, id->data, sizeof(quirk->i2c_msg));
 
 		quirk->id = id;
-		quirk->np = np;
+		quirk->np = of_node_get(np);
 		quirk->i2c_msg.addr = addr;
 
 		ret = of_irq_parse_one(np, 0, argsa);
 		if (ret) {	/* Skip invalid entry and continue */
+			of_node_put(np);
 			kfree(quirk);
 			continue;
 		}
@@ -225,6 +227,7 @@ static int __init rcar_gen2_regulator_quirk(void)
 err_mem:
 	list_for_each_entry_safe(pos, tmp, &quirk_list, list) {
 		list_del(&pos->list);
+		of_node_put(pos->np);
 		kfree(pos);
 	}
 
arch/arm/mach-zynq/common.c +1 -0
index 3a4248fd7962..25530ddae1fa 100644
@@ -77,6 +77,7 @@ static int __init zynq_get_revision(void)
 	}
 
 	zynq_devcfg_base = of_iomap(np, 0);
+	of_node_put(np);
 	if (!zynq_devcfg_base) {
 		pr_err("%s: Unable to map I/O memory\n", __func__);
 		return -1;
arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts +1 -1
index a0db02504b69..963a7c505e30 100644
@@ -78,7 +78,7 @@
 	leds {
 		compatible = "gpio-leds";
 
-		status {
+		led-0 {
 			label = "orangepi:green:status";
 			gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
 		};
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +1 -1
index 83e10591e0e5..81215cc3759a 100644
@@ -49,7 +49,7 @@
 		wps {
 			label = "wps";
 			linux,code = <KEY_WPS_BUTTON>;
-			gpios = <&pio 102 GPIO_ACTIVE_HIGH>;
+			gpios = <&pio 102 GPIO_ACTIVE_LOW>;
 		};
 	};
 
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
index 7822592664ff..1e9fa049c550 100644
@@ -253,7 +253,7 @@
 			status = "disabled";
 		};
 
-		qpic_nand: nand@79b0000 {
+		qpic_nand: nand-controller@79b0000 {
 			compatible = "qcom,ipq8074-nand";
 			reg = <0x79b0000 0x10000>;
 			#address-cells = <1>;
arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi +4 -4
index 6537c69de3dd..b793a43e0612 100644
@@ -544,8 +544,8 @@
 			compatible = "socionext,uniphier-dwc3", "snps,dwc3";
 			status = "disabled";
 			reg = <0x65a00000 0xcd00>;
-			interrupt-names = "host", "peripheral";
-			interrupts = <0 134 4>, <0 135 4>;
+			interrupt-names = "dwc_usb3";
+			interrupts = <0 134 4>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
 			clock-names = "ref", "bus_early", "suspend";
@@ -646,8 +646,8 @@
 			compatible = "socionext,uniphier-dwc3", "snps,dwc3";
 			status = "disabled";
 			reg = <0x65c00000 0xcd00>;
-			interrupt-names = "host", "peripheral";
-			interrupts = <0 137 4>, <0 138 4>;
+			interrupt-names = "dwc_usb3";
+			interrupts = <0 137 4>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
 			clock-names = "ref", "bus_early", "suspend";
arch/arm64/crypto/Kconfig +1 -0
index 4922c4451e7c..99cddf1145c2 100644
@@ -59,6 +59,7 @@ config CRYPTO_GHASH_ARM64_CE
 	select CRYPTO_HASH
 	select CRYPTO_GF128MUL
 	select CRYPTO_LIB_AES
+	select CRYPTO_AEAD
 
 config CRYPTO_CRCT10DIF_ARM64_CE
 	tristate "CRCT10DIF digest algorithm using PMULL instructions"
arch/arm64/include/asm/processor.h +2 -1
index 5623685c7d13..65834b84f0e1 100644
@@ -184,8 +184,9 @@ void tls_preserve_current_state(void);
 
 static inline void start_thread_common(struct pt_regs *regs, unsigned long pc)
 {
+	s32 previous_syscall = regs->syscallno;
 	memset(regs, 0, sizeof(*regs));
-	forget_syscall(regs);
+	regs->syscallno = previous_syscall;
 	regs->pc = pc;
 
 	if (system_uses_irq_prio_masking())
arch/arm64/kernel/armv8_deprecated.c +5 -4
index bcb14d11232f..fbf66e0973aa 100644
@@ -59,6 +59,7 @@ struct insn_emulation {
 static LIST_HEAD(insn_emulation);
 static int nr_insn_emulated __initdata;
 static DEFINE_RAW_SPINLOCK(insn_emulation_lock);
+static DEFINE_MUTEX(insn_emulation_mutex);
 
 static void register_emulation_hooks(struct insn_emulation_ops *ops)
 {
@@ -207,10 +208,10 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
 				  loff_t *ppos)
 {
 	int ret = 0;
-	struct insn_emulation *insn = (struct insn_emulation *) table->data;
+	struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode);
 	enum insn_emulation_mode prev_mode = insn->current_mode;
 
-	table->data = &insn->current_mode;
+	mutex_lock(&insn_emulation_mutex);
 	ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
 
 	if (ret || !write || prev_mode == insn->current_mode)
@@ -223,7 +224,7 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
 		update_insn_emulation_mode(insn, INSN_UNDEF);
 	}
 ret:
-	table->data = insn;
+	mutex_unlock(&insn_emulation_mutex);
 	return ret;
 }
 
@@ -247,7 +248,7 @@ static void __init register_insn_emulation_sysctl(void)
 		sysctl->maxlen = sizeof(int);
 
 		sysctl->procname = insn->ops->name;
-		sysctl->data = insn;
+		sysctl->data = &insn->current_mode;
 		sysctl->extra1 = &insn->min;
 		sysctl->extra2 = &insn->max;
 		sysctl->proc_handler = emulation_proc_handler;
arch/ia64/include/asm/processor.h +1 -1
index 95a2ec37400f..0025f890b5a3 100644
@@ -552,7 +552,7 @@ ia64_get_irr(unsigned int vector)
 {
 	unsigned int reg = vector / 64;
 	unsigned int bit = vector % 64;
-	u64 irr;
+	unsigned long irr;
 
 	switch (reg) {
 	case 0: irr = ia64_getreg(_IA64_REG_CR_IRR0); break;
arch/mips/cavium-octeon/octeon-platform.c +2 -1
index c214fe4e678b..04bc34714727 100644
@@ -86,11 +86,12 @@ static void octeon2_usb_clocks_start(struct device *dev)
 					 "refclk-frequency", &clock_rate);
 		if (i) {
 			dev_err(dev, "No UCTL \"refclk-frequency\"\n");
+			of_node_put(uctl_node);
 			goto exit;
 		}
 		i = of_property_read_string(uctl_node,
 					    "refclk-type", &clock_type);
-
+		of_node_put(uctl_node);
 		if (!i && strcmp("crystal", clock_type) == 0)
 			is_crystal_clock = true;
 	}
arch/mips/kernel/proc.c +1 -1
index f8d36710cd58..d408b3a5bfd5 100644
@@ -168,7 +168,7 @@ static void *c_start(struct seq_file *m, loff_t *pos)
 {
 	unsigned long i = *pos;
 
-	return i < NR_CPUS ? (void *) (i + 1) : NULL;
+	return i < nr_cpu_ids ? (void *) (i + 1) : NULL;
 }
 
 static void *c_next(struct seq_file *m, void *v, loff_t *pos)
arch/mips/mm/tlbex.c +2 -2
index 547d813ead48..061dc5c97d5a 100644
@@ -629,7 +629,7 @@ static __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
 		return;
 	}
 
-	if (cpu_has_rixi && !!_PAGE_NO_EXEC) {
+	if (cpu_has_rixi && _PAGE_NO_EXEC != 0) {
 		if (fill_includes_sw_bits) {
 			UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL));
 		} else {
@@ -2568,7 +2568,7 @@ static void check_pabits(void)
 	unsigned long entry;
 	unsigned pabits, fillbits;
 
-	if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
+	if (!cpu_has_rixi || _PAGE_NO_EXEC == 0) {
 		/*
 		 * We'll only be making use of the fact that we can rotate bits
 		 * into the fill if the CPU supports RIXI, so don't bother
arch/nios2/include/asm/entry.h +2 -1
index cf37f55efbc2..bafb7b2ca59f 100644
@@ -50,7 +50,8 @@
 	stw	r13, PT_R13(sp)
 	stw	r14, PT_R14(sp)
 	stw	r15, PT_R15(sp)
-	stw	r2, PT_ORIG_R2(sp)
+	movi	r24, -1
+	stw	r24, PT_ORIG_R2(sp)
 	stw	r7, PT_ORIG_R7(sp)
 
 	stw	ra, PT_RA(sp)
arch/nios2/include/asm/ptrace.h +2 -0
index 642462144872..9da34c3022a2 100644
@@ -74,6 +74,8 @@ extern void show_regs(struct pt_regs *);
 	((struct pt_regs *)((unsigned long)current_thread_info() + THREAD_SIZE)\
 		- 1)
 
+#define force_successful_syscall_return() (current_pt_regs()->orig_r2 = -1)
+
 int do_syscall_trace_enter(void);
 void do_syscall_trace_exit(void);
 #endif /* __ASSEMBLY__ */
arch/nios2/kernel/entry.S +15 -7
index 1e515ccd698e..af556588248e 100644
@@ -185,6 +185,7 @@ ENTRY(handle_system_call)
 	ldw	r5, PT_R5(sp)
 
 local_restart:
+	stw	r2, PT_ORIG_R2(sp)
 	/* Check that the requested system call is within limits */
 	movui	r1, __NR_syscalls
 	bgeu	r2, r1, ret_invsyscall
@@ -192,7 +193,6 @@ local_restart:
 	movhi	r11, %hiadj(sys_call_table)
 	add	r1, r1, r11
 	ldw	r1, %lo(sys_call_table)(r1)
-	beq	r1, r0, ret_invsyscall
 
 	/* Check if we are being traced */
 	GET_THREAD_INFO r11
@@ -213,6 +213,9 @@ local_restart:
 translate_rc_and_ret:
 	movi	r1, 0
 	bge	r2, zero, 3f
+	ldw	r1, PT_ORIG_R2(sp)
+	addi	r1, r1, 1
+	beq	r1, zero, 3f
 	sub	r2, zero, r2
 	movi	r1, 1
 3:
@@ -255,9 +258,9 @@ traced_system_call:
 	ldw	r6, PT_R6(sp)
 	ldw	r7, PT_R7(sp)
 
-	/* Fetch the syscall function, we don't need to check the boundaries
-	 * since this is already done.
-	 */
+	/* Fetch the syscall function. */
+	movui	r1, __NR_syscalls
+	bgeu	r2, r1, traced_invsyscall
 	slli	r1, r2, 2
 	movhi	r11,%hiadj(sys_call_table)
 	add	r1, r1, r11
@@ -276,6 +279,9 @@ traced_system_call:
 translate_rc_and_ret2:
 	movi	r1, 0
 	bge	r2, zero, 4f
+	ldw	r1, PT_ORIG_R2(sp)
+	addi	r1, r1, 1
+	beq	r1, zero, 4f
 	sub	r2, zero, r2
 	movi	r1, 1
 4:
@@ -287,6 +293,11 @@ end_translate_rc_and_ret2:
 	RESTORE_SWITCH_STACK
 	br	ret_from_exception
 
+	/* If the syscall number was invalid return ENOSYS */
+traced_invsyscall:
+	movi	r2, -ENOSYS
+	br	translate_rc_and_ret2
+
 Luser_return:
 	GET_THREAD_INFO	r11			/* get thread_info pointer */
 	ldw	r10, TI_FLAGS(r11)		/* get thread_info->flags */
@@ -336,9 +347,6 @@ external_interrupt:
 	/* skip if no interrupt is pending */
 	beq	r12, r0, ret_from_interrupt
 
-	movi	r24, -1
-	stw	r24, PT_ORIG_R2(sp)
-
 	/*
 	 * Process an external hardware interrupt.
 	 */
arch/nios2/kernel/signal.c +2 -1
index a42dd09c6578..bfb20821a8f4 100644
@@ -240,7 +240,7 @@ static int do_signal(struct pt_regs *regs)
 	/*
 	 * If we were from a system call, check for system call restarting...
 	 */
-	if (regs->orig_r2 >= 0) {
+	if (regs->orig_r2 >= 0 && regs->r1) {
 		continue_addr = regs->ea;
 		restart_addr = continue_addr - 4;
 		retval = regs->r2;
@@ -261,6 +261,7 @@ static int do_signal(struct pt_regs *regs)
 			regs->ea = restart_addr;
 			break;
 		}
+		regs->orig_r2 = -1;
 	}
 
 	if (get_signal(&ksig)) {
arch/nios2/kernel/syscall_table.c +1 -0
index 6176d63023c1..c2875a6dd5a4 100644
@@ -13,5 +13,6 @@
 #define __SYSCALL(nr, call) [nr] = (call),
 
 void *sys_call_table[__NR_syscalls] = {
+	[0 ... __NR_syscalls-1] = sys_ni_syscall,
 #include <asm/unistd.h>
 };
arch/parisc/kernel/drivers.c +4 -5
index a5f3e50fe976..516f3891e793 100644
@@ -520,7 +520,6 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
 	dev->id.hversion_rev = iodc_data[1] & 0x0f;
 	dev->id.sversion = ((iodc_data[4] & 0x0f) << 16) |
 			(iodc_data[5] << 8) | iodc_data[6];
-	dev->hpa.name = parisc_pathname(dev);
 	dev->hpa.start = hpa;
 	/* This is awkward.  The STI spec says that gfx devices may occupy
 	 * 32MB or 64MB.  Unfortunately, we don't know how to tell whether
@@ -534,10 +533,10 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
 		dev->hpa.end = hpa + 0xfff;
 	}
 	dev->hpa.flags = IORESOURCE_MEM;
-	name = parisc_hardware_description(&dev->id);
-	if (name) {
-		strlcpy(dev->name, name, sizeof(dev->name));
-	}
+	dev->hpa.name = dev->name;
+	name = parisc_hardware_description(&dev->id) ? : "unknown";
+	snprintf(dev->name, sizeof(dev->name), "%s [%s]",
+		name, parisc_pathname(dev));
 
 	/* Silently fail things like mouse ports which are subsumed within
 	 * the keyboard controller
arch/parisc/kernel/syscalls/syscall.tbl +1 -1
index 285ff516150c..51f15a414e29 100644
@@ -413,7 +413,7 @@
 412	32	utimensat_time64		sys_utimensat			sys_utimensat
 413	32	pselect6_time64			sys_pselect6			compat_sys_pselect6_time64
 414	32	ppoll_time64			sys_ppoll			compat_sys_ppoll_time64
-416	32	io_pgetevents_time64		sys_io_pgetevents		sys_io_pgetevents
+416	32	io_pgetevents_time64		sys_io_pgetevents		compat_sys_io_pgetevents_time64
 417	32	recvmmsg_time64			sys_recvmmsg			compat_sys_recvmmsg_time64
 418	32	mq_timedsend_time64		sys_mq_timedsend		sys_mq_timedsend
 419	32	mq_timedreceive_time64		sys_mq_timedreceive		sys_mq_timedreceive
arch/powerpc/Makefile +1 -25
index b9d2fcf030d0..eedd114a017c 100644
@@ -17,23 +17,6 @@ HAS_BIARCH	:= $(call cc-option-yn, -m32)
 # Set default 32 bits cross compilers for vdso and boot wrapper
 CROSS32_COMPILE ?=
 
-ifeq ($(HAS_BIARCH),y)
-ifeq ($(CROSS32_COMPILE),)
-ifdef CONFIG_PPC32
-# These options will be overridden by any -mcpu option that the CPU
-# or platform code sets later on the command line, but they are needed
-# to set a sane 32-bit cpu target for the 64-bit cross compiler which
-# may default to the wrong ISA.
-KBUILD_CFLAGS		+= -mcpu=powerpc
-KBUILD_AFLAGS		+= -mcpu=powerpc
-endif
-endif
-endif
-
-ifdef CONFIG_PPC_BOOK3S_32
-KBUILD_CFLAGS		+= -mcpu=powerpc
-endif
-
 # If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
 # ppc64_defconfig because we have nothing better to go on.
 uname := $(shell uname -m)
@@ -192,6 +175,7 @@ endif
 endif
 
 CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
+AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
 
 # Altivec option not allowed with e500mc64 in GCC.
 ifdef CONFIG_ALTIVEC
@@ -202,14 +186,6 @@ endif
 CFLAGS-$(CONFIG_E5500_CPU) += $(E5500_CPU)
 CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU))
 
-ifdef CONFIG_PPC32
-ifdef CONFIG_PPC_E500MC
-CFLAGS-y += $(call cc-option,-mcpu=e500mc,-mcpu=powerpc)
-else
-CFLAGS-$(CONFIG_E500) += $(call cc-option,-mcpu=8540 -msoft-float,-mcpu=powerpc)
-endif
-endif
-
 asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
 
 KBUILD_CPPFLAGS	+= -I $(srctree)/arch/$(ARCH) $(asinstr)
arch/powerpc/kernel/pci-common.c +31 -14

82 lines not on this page · raw message

arch/powerpc/kernel/prom.c +7 -0
index 537142b877b8..d1ba17501343 100644
@@ -740,6 +740,13 @@ void __init early_init_devtree(void *params)
 	of_scan_flat_dt(early_init_dt_scan_root, NULL);
 	of_scan_flat_dt(early_init_dt_scan_memory_ppc, NULL);
 
+	/*
+	 * As generic code authors expect to be able to use static keys
+	 * in early_param() handlers, we initialize the static keys just
+	 * before parsing early params (it's fine to call jump_label_init()
+	 * more than once).
+	 */
+	jump_label_init();
 	parse_early_param();
 
 	/* make sure we've parsed cmdline for mem= before this */
arch/powerpc/mm/ptdump/shared.c +3 -3
index 784f8df17f73..f10f2158c8af 100644
@@ -17,9 +17,9 @@ static const struct flag_info flag_array[] = {
 		.clear	= "    ",
 	}, {
 		.mask	= _PAGE_RW,
-		.val	= _PAGE_RW,
-		.set	= "rw",
-		.clear	= "r ",
+		.val	= 0,
+		.set	= "r ",
+		.clear	= "rw",
 	}, {
 		.mask	= _PAGE_EXEC,
 		.val	= _PAGE_EXEC,
arch/powerpc/platforms/Kconfig.cputype +20 -5
index f0330ce498d1..325dc8b53422 100644
@@ -118,9 +118,9 @@ config GENERIC_CPU
 	depends on PPC64 && CPU_LITTLE_ENDIAN
 	select ARCH_HAS_FAST_MULTIPLIER
 
-config GENERIC_CPU
+config POWERPC_CPU
 	bool "Generic 32 bits powerpc"
-	depends on PPC32 && !PPC_8xx
+	depends on PPC32 && !PPC_8xx && !PPC_85xx
 
 config CELL_CPU
 	bool "Cell Broadband Engine"
@@ -151,11 +151,11 @@ config POWER9_CPU
 
 config E5500_CPU
 	bool "Freescale e5500"
-	depends on E500
+	depends on PPC64 && E500
 
 config E6500_CPU
 	bool "Freescale e6500"
-	depends on E500
+	depends on PPC64 && E500
 
 config 860_CPU
 	bool "8xx family"
@@ -174,11 +174,23 @@ config G4_CPU
 	depends on PPC_BOOK3S_32
 	select ALTIVEC
 
+config E500_CPU
+	bool "e500 (8540)"
+	depends on PPC_85xx && !PPC_E500MC
+
+config E500MC_CPU
+	bool "e500mc"
+	depends on PPC_85xx && PPC_E500MC
+
+config TOOLCHAIN_DEFAULT_CPU
+	bool "Rely on the toolchain's implicit default CPU"
+	depends on PPC32
+
 endchoice
 
 config TARGET_CPU_BOOL
 	bool
-	default !GENERIC_CPU
+	default !GENERIC_CPU && !TOOLCHAIN_DEFAULT_CPU
 
 config TARGET_CPU
 	string
@@ -193,6 +205,9 @@ config TARGET_CPU
 	default "e300c2" if E300C2_CPU
 	default "e300c3" if E300C3_CPU
 	default "G4" if G4_CPU
+	default "8540" if E500_CPU
+	default "e500mc" if E500MC_CPU
+	default "powerpc" if POWERPC_CPU
 
 config PPC_BOOK3S
 	def_bool y
arch/powerpc/platforms/cell/axon_msi.c +1 -0
index 57c4e0e86c88..ba33140e671d 100644
@@ -226,6 +226,7 @@ static int setup_msi_msg_address(struct pci_dev *dev, struct msi_msg *msg)
 	if (!prop) {
 		dev_dbg(&dev->dev,
 			"axon_msi: no msi-address-(32|64) properties found\n");
+		of_node_put(dn);
 		return -ENOENT;
 	}
 
arch/powerpc/platforms/cell/spufs/inode.c +1 -0
index 2dd452a047cd..99e688498a9c 100644
@@ -671,6 +671,7 @@ spufs_init_isolated_loader(void)
 		return;
 
 	loader = of_get_property(dn, "loader", &size);
+	of_node_put(dn);
 	if (!loader)
 		return;
 
arch/powerpc/platforms/powernv/rng.c +2 -0
index 7186e17cfd3d..ace649701783 100644
@@ -63,6 +63,8 @@ int powernv_get_random_real_mode(unsigned long *v)
 	struct powernv_rng *rng;
 
 	rng = raw_cpu_read(powernv_rng);
+	if (!rng)
+		return 0;
 
 	*v = rng_whiten(rng, __raw_rm_readq(rng->regs_real));
 
arch/powerpc/sysdev/fsl_pci.c +8 -0
index ff0e2b156cb5..6adf2fdec799 100644
@@ -520,6 +520,7 @@ int fsl_add_bridge(struct platform_device *pdev, int is_primary)
 	struct resource rsrc;
 	const int *bus_range;
 	u8 hdr_type, progif;
+	u32 class_code;
 	struct device_node *dev;
 	struct ccsr_pci __iomem *pci;
 	u16 temp;
@@ -593,6 +594,13 @@ int fsl_add_bridge(struct platform_device *pdev, int is_primary)
 			PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS;
 		if (fsl_pcie_check_link(hose))
 			hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK;
+		/* Fix Class Code to PCI_CLASS_BRIDGE_PCI_NORMAL for pre-3.0 controller */
+		if (in_be32(&pci->block_rev1) < PCIE_IP_REV_3_0) {
+			early_read_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, &class_code);
+			class_code &= 0xff;
+			class_code |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
+			early_write_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, class_code);
+		}
 	} else {
 		/*
 		 * Set PBFR(PCI Bus Function Register)[10] = 1 to
arch/powerpc/sysdev/fsl_pci.h +1 -0
index 1d7a41205695..5ffaa60f1fa0 100644
@@ -18,6 +18,7 @@ struct platform_device;
 
 #define PCIE_LTSSM	0x0404		/* PCIE Link Training and Status */
 #define PCIE_LTSSM_L0	0x16		/* L0 state */
+#define PCIE_FSL_CSR_CLASSCODE	0x474	/* FSL GPEX CSR */
 #define PCIE_IP_REV_2_2		0x02080202 /* PCIE IP block version Rev2.2 */
 #define PCIE_IP_REV_3_0		0x02080300 /* PCIE IP block version Rev3.0 */
 #define PIWAR_EN		0x80000000	/* Enable */
arch/powerpc/sysdev/xive/spapr.c +1 -0
index 3f15615712b5..b21d71badaec 100644
@@ -683,6 +683,7 @@ static bool xive_get_max_prio(u8 *max_prio)
 	}
 
 	reg = of_get_property(rootdn, "ibm,plat-res-int-priorities", &len);
+	of_node_put(rootdn);
 	if (!reg) {
 		pr_err("Failed to read 'ibm,plat-res-int-priorities' property\n");
 		return false;
arch/riscv/kernel/sys_riscv.c +2 -3
index 12f8a7fce78b..8a7880b9c433 100644
@@ -18,9 +18,8 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len,
 	if (unlikely(offset & (~PAGE_MASK >> page_shift_offset)))
 		return -EINVAL;
 
-	if ((prot & PROT_WRITE) && (prot & PROT_EXEC))
-		if (unlikely(!(prot & PROT_READ)))
-			return -EINVAL;
+	if (unlikely((prot & PROT_WRITE) && !(prot & PROT_READ)))
+		return -EINVAL;
 
 	return ksys_mmap_pgoff(addr, len, prot, flags, fd,
 			       offset >> (PAGE_SHIFT - page_shift_offset));
arch/riscv/kernel/traps.c +4 -0
index 473de3ae8bb7..ae462037910b 100644
@@ -15,6 +15,7 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/irq.h>
+#include <linux/kexec.h>
 
 #include <asm/processor.h>
 #include <asm/ptrace.h>
@@ -43,6 +44,9 @@ void die(struct pt_regs *regs, const char *str)
 
 	ret = notify_die(DIE_OOPS, str, regs, 0, regs->scause, SIGSEGV);
 
+	if (regs && kexec_should_crash(current))
+		crash_kexec(regs);
+
 	bust_spinlocks(0);
 	add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
 	spin_unlock_irq(&die_lock);
arch/s390/kernel/machine_kexec_file.c +13 -5
index 76cd09879eaf..53da174754d9 100644
@@ -29,6 +29,7 @@ int s390_verify_sig(const char *kernel, unsigned long kernel_len)
 	const unsigned long marker_len = sizeof(MODULE_SIG_STRING) - 1;
 	struct module_signature *ms;
 	unsigned long sig_len;
+	int ret;
 
 	/* Skip signature verification when not secure IPLed. */
 	if (!ipl_secure_flag)
@@ -63,11 +64,18 @@ int s390_verify_sig(const char *kernel, unsigned long kernel_len)
 		return -EBADMSG;
 	}
 
-	return verify_pkcs7_signature(kernel, kernel_len,
-				      kernel + kernel_len, sig_len,
-				      VERIFY_USE_PLATFORM_KEYRING,
-				      VERIFYING_MODULE_SIGNATURE,
-				      NULL, NULL);
+	ret = verify_pkcs7_signature(kernel, kernel_len,
+				     kernel + kernel_len, sig_len,
+				     VERIFY_USE_SECONDARY_KEYRING,
+				     VERIFYING_MODULE_SIGNATURE,
+				     NULL, NULL);
+	if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING))
+		ret = verify_pkcs7_signature(kernel, kernel_len,
+					     kernel + kernel_len, sig_len,
+					     VERIFY_USE_PLATFORM_KEYRING,
+					     VERIFYING_MODULE_SIGNATURE,
+					     NULL, NULL);
+	return ret;
 }
 #endif /* CONFIG_KEXEC_SIG */
 
arch/um/os-Linux/skas/process.c +16 -1
index 4fb877b99dde..0571cc0a30fc 100644
@@ -5,6 +5,7 @@
  */
 
 #include <stdlib.h>
+#include <stdbool.h>
 #include <unistd.h>
 #include <sched.h>
 #include <errno.h>
@@ -641,10 +642,24 @@ void halt_skas(void)
 	UML_LONGJMP(&initial_jmpbuf, INIT_JMP_HALT);
 }
 
+static bool noreboot;
+
+static int __init noreboot_cmd_param(char *str, int *add)
+{
+	noreboot = true;
+	return 0;
+}
+
+__uml_setup("noreboot", noreboot_cmd_param,
+"noreboot\n"
+"    Rather than rebooting, exit always, akin to QEMU's -no-reboot option.\n"
+"    This is useful if you're using CONFIG_PANIC_TIMEOUT in order to catch\n"
+"    crashes in CI\n");
+
 void reboot_skas(void)
 {
 	block_signals_trace();
-	UML_LONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT);
+	UML_LONGJMP(&initial_jmpbuf, noreboot ? INIT_JMP_HALT : INIT_JMP_REBOOT);
 }
 
 void __switch_mm(struct mm_id *mm_idp)
arch/x86/boot/Makefile +1 -1
index 6539c50fb9aa..82500962f1b3 100644
@@ -100,7 +100,7 @@ $(obj)/zoffset.h: $(obj)/compressed/vmlinux FORCE
 AFLAGS_header.o += -I$(objtree)/$(obj)
 $(obj)/header.o: $(obj)/zoffset.h
 
-LDFLAGS_setup.elf	:= -m elf_i386 -T
+LDFLAGS_setup.elf	:= -m elf_i386 -z noexecstack -T
 $(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE
 	$(call if_changed,ld)
 
arch/x86/boot/compressed/Makefile +4 -0
index 292b5bc6e3a3..edfb1a718510 100644
@@ -57,6 +57,10 @@ else
 KBUILD_LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \
 	&& echo "-z noreloc-overflow -pie --no-dynamic-linker")
 endif
+
+KBUILD_LDFLAGS += -z noexecstack
+KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
+
 LDFLAGS_vmlinux := -T
 
 hostprogs-y	:= mkpiggy
arch/x86/entry/vdso/Makefile +1 -1
index 0f2154106d01..5aae81f40bc3 100644
@@ -178,7 +178,7 @@ quiet_cmd_vdso = VDSO    $@
 		 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
 
 VDSO_LDFLAGS = -shared --hash-style=both --build-id \
-	$(call ld-option, --eh-frame-hdr) -Bsymbolic
+	$(call ld-option, --eh-frame-hdr) -Bsymbolic -z noexecstack
 GCOV_PROFILE := n
 
 quiet_cmd_vdso_and_check = VDSO    $@
arch/x86/kernel/pmem.c +6 -1
index 6b07faaa1579..23154d24b117 100644
@@ -27,6 +27,11 @@ static __init int register_e820_pmem(void)
 	 * simply here to trigger the module to load on demand.
 	 */
 	pdev = platform_device_alloc("e820_pmem", -1);
-	return platform_device_add(pdev);
+
+	rc = platform_device_add(pdev);
+	if (rc)
+		platform_device_put(pdev);
+
+	return rc;
 }
 device_initcall(register_e820_pmem);
arch/x86/kernel/process.c +6 -3
index 571e38c9ee1d..068715a52ac1 100644
@@ -659,6 +659,10 @@ static void amd_e400_idle(void)
  */
 static int prefer_mwait_c1_over_halt(const struct cpuinfo_x86 *c)
 {
+	/* User has disallowed the use of MWAIT. Fallback to HALT */
+	if (boot_option_idle_override == IDLE_NOMWAIT)
+		return 0;
+
 	if (c->x86_vendor != X86_VENDOR_INTEL)
 		return 0;
 
@@ -769,9 +773,8 @@ static int __init idle_setup(char *str)
 	} else if (!strcmp(str, "nomwait")) {
 		/*
 		 * If the boot option of "idle=nomwait" is added,
-		 * it means that mwait will be disabled for CPU C2/C3
-		 * states. In such case it won't touch the variable
-		 * of boot_option_idle_override.
+		 * it means that mwait will be disabled for CPU C1/C2/C3
+		 * states.
 		 */
 		boot_option_idle_override = IDLE_NOMWAIT;
 	} else
arch/x86/kvm/emulate.c +11 -12
index ea48a2fb1677..fcb59dc54bf5 100644
@@ -1753,16 +1753,6 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
 	case VCPU_SREG_TR:
 		if (seg_desc.s || (seg_desc.type != 1 && seg_desc.type != 9))
 			goto exception;
-		if (!seg_desc.p) {
-			err_vec = NP_VECTOR;
-			goto exception;
-		}
-		old_desc = seg_desc;
-		seg_desc.type |= 2; /* busy */
-		ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc,
-						  sizeof(seg_desc), &ctxt->exception);
-		if (ret != X86EMUL_CONTINUE)
-			return ret;
 		break;
 	case VCPU_SREG_LDTR:
 		if (seg_desc.s || seg_desc.type != 2)
@@ -1800,8 +1790,17 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
 		if (ret != X86EMUL_CONTINUE)
 			return ret;
 		if (emul_is_noncanonical_address(get_desc_base(&seg_desc) |
-				((u64)base3 << 32), ctxt))
-			return emulate_gp(ctxt, 0);
+						 ((u64)base3 << 32), ctxt))
+			return emulate_gp(ctxt, err_code);
+	}
+
+	if (seg == VCPU_SREG_TR) {
+		old_desc = seg_desc;
+		seg_desc.type |= 2; /* busy */
+		ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc,
+						  sizeof(seg_desc), &ctxt->exception);
+		if (ret != X86EMUL_CONTINUE)
+			return ret;
 	}
 load:
 	ctxt->ops->set_segment(ctxt, selector, &seg_desc, base3, seg);
arch/x86/kvm/hyperv.c +3 -0
index ca66459a2e89..f9603df799bf 100644
@@ -309,6 +309,9 @@ static int synic_set_irq(struct kvm_vcpu_hv_synic *synic, u32 sint)
 	struct kvm_lapic_irq irq;
 	int ret, vector;
 
+	if (KVM_BUG_ON(!lapic_in_kernel(vcpu), vcpu->kvm))
+		return -EINVAL;
+
 	if (sint >= ARRAY_SIZE(synic->sint))
 		return -EINVAL;
 
arch/x86/kvm/lapic.c +4 -0
index 3696b4de9d99..23480d8e4ef1 100644
@@ -955,6 +955,10 @@ bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src,
 	*r = -1;
 
 	if (irq->shorthand == APIC_DEST_SELF) {
+		if (KVM_BUG_ON(!src, kvm)) {
+			*r = 0;
+			return true;
+		}
 		*r = kvm_apic_set_irq(src->vcpu, irq, dest_map);
 		return true;
 	}
arch/x86/kvm/svm.c +0 -2
index 125970286f28..1efcc7d4bc88 100644
@@ -5137,8 +5137,6 @@ static void svm_set_irq(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_svm *svm = to_svm(vcpu);
 
-	BUG_ON(!(gif_set(svm)));
-
 	trace_kvm_inj_virq(vcpu->arch.interrupt.nr);
 	++vcpu->stat.irq_injections;
 
arch/x86/kvm/vmx/nested.c +41 -35

154 lines not on this page · raw message

arch/x86/mm/numa.c +2 -2
index 4123100e0eaf..67c617c4a7f2 100644
@@ -822,7 +822,7 @@ void debug_cpumask_set_cpu(int cpu, int node, bool enable)
 		return;
 	}
 	mask = node_to_cpumask_map[node];
-	if (!mask) {
+	if (!cpumask_available(mask)) {
 		pr_err("node_to_cpumask_map[%i] NULL\n", node);
 		dump_stack();
 		return;
@@ -868,7 +868,7 @@ const struct cpumask *cpumask_of_node(int node)
 		dump_stack();
 		return cpu_none_mask;
 	}
-	if (node_to_cpumask_map[node] == NULL) {
+	if (!cpumask_available(node_to_cpumask_map[node])) {
 		printk(KERN_WARNING
 			"cpumask_of_node(%d): no node_to_cpumask_map!\n",
 			node);
arch/x86/platform/olpc/olpc-xo1-sci.c +1 -1
index 99a28ce2244c..90735895aa44 100644
@@ -81,7 +81,7 @@ static void send_ebook_state(void)
 		return;
 	}
 
-	if (!!test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == state)
+	if (test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == !!state)
 		return; /* Nothing new to report. */
 
 	input_report_switch(ebook_switch_idev, SW_TABLET_MODE, state);
block/blk-mq-debugfs.c +3 -0
index 121f4c1e0697..772a6c6b1634 100644
@@ -883,6 +883,9 @@ void blk_mq_debugfs_register_hctx(struct request_queue *q,
 	char name[20];
 	int i;
 
+	if (!q->debugfs_dir)
+		return;
+
 	snprintf(name, sizeof(name), "hctx%u", hctx->queue_num);
 	hctx->debugfs_dir = debugfs_create_dir(name, q->debugfs_dir);
 
drivers/acpi/acpi_lpss.c +3 -0
index 751ed38f2a10..b939a6736d0b 100644
@@ -401,6 +401,9 @@ static int register_device_clock(struct acpi_device *adev,
 	if (!lpss_clk_dev)
 		lpt_register_clock_device();
 
+	if (IS_ERR(lpss_clk_dev))
+		return PTR_ERR(lpss_clk_dev);
+
 	clk_data = platform_get_drvdata(lpss_clk_dev);
 	if (!clk_data)
 		return -ENODEV;
drivers/acpi/cppc_acpi.c +24 -30

74 lines not on this page · raw message

drivers/acpi/ec.c +0 -7
index e5b92958c299..defc5796b508 100644
@@ -2118,13 +2118,6 @@ static const struct dmi_system_id acpi_ec_no_wakeup[] = {
 			DMI_MATCH(DMI_PRODUCT_FAMILY, "Thinkpad X1 Carbon 6th"),
 		},
 	},
-	{
-		.ident = "ThinkPad X1 Carbon 6th",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
-			DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Carbon 6th"),
-		},
-	},
 	{
 		.ident = "ThinkPad X1 Yoga 3rd",
 		.matches = {
drivers/acpi/pci_mcfg.c +3 -0
index 47e43c949825..ed2f880b63b5 100644
@@ -41,6 +41,8 @@ struct mcfg_fixup {
 static struct mcfg_fixup mcfg_quirks[] = {
 /*	{ OEM_ID, OEM_TABLE_ID, REV, SEGMENT, BUS_RANGE, ops, cfgres }, */
 
+#ifdef CONFIG_ARM64
+
 #define AL_ECAM(table_id, rev, seg, ops) \
 	{ "AMAZON", table_id, rev, seg, MCFG_BUS_ANY, ops }
 
@@ -162,6 +164,7 @@ static struct mcfg_fixup mcfg_quirks[] = {
 	ALTRA_ECAM_QUIRK(1, 13),
 	ALTRA_ECAM_QUIRK(1, 14),
 	ALTRA_ECAM_QUIRK(1, 15),
+#endif /* ARM64 */
 };
 
 static char mcfg_oem_id[ACPI_OEM_ID_SIZE];
drivers/acpi/property.c +4 -4
index 1b0aeb832044..479856ceda9f 100644
@@ -152,10 +152,10 @@ static bool acpi_nondev_subnode_ok(acpi_handle scope,
 	return acpi_nondev_subnode_data_ok(handle, link, list, parent);
 }
 
-static int acpi_add_nondev_subnodes(acpi_handle scope,
-				    const union acpi_object *links,
-				    struct list_head *list,
-				    struct fwnode_handle *parent)
+static bool acpi_add_nondev_subnodes(acpi_handle scope,
+				     const union acpi_object *links,
+				     struct list_head *list,
+				     struct fwnode_handle *parent)
 {
 	bool ret = false;
 	int i;
drivers/acpi/sleep.c +8 -0
index 34966128293b..b9d203569ac1 100644
@@ -361,6 +361,14 @@ static const struct dmi_system_id acpisleep_dmi_table[] __initconst = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "80E3"),
 		},
 	},
+	{
+	.callback = init_nvs_save_s3,
+	.ident = "Lenovo G40-45",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "80E1"),
+		},
+	},
 	/*
 	 * ThinkPad X1 Tablet(2016) cannot do suspend-to-idle using
 	 * the Low Power S0 Idle firmware interface (see
drivers/ata/libata-eh.c +1 -0
index c6a21a784ec6..5c91183b5b73 100644
@@ -2329,6 +2329,7 @@ const char *ata_get_cmd_descript(u8 command)
 		{ ATA_CMD_WRITE_QUEUED_FUA_EXT, "WRITE DMA QUEUED FUA EXT" },
 		{ ATA_CMD_FPDMA_READ,		"READ FPDMA QUEUED" },
 		{ ATA_CMD_FPDMA_WRITE,		"WRITE FPDMA QUEUED" },
+		{ ATA_CMD_NCQ_NON_DATA,		"NCQ NON-DATA" },
 		{ ATA_CMD_FPDMA_SEND,		"SEND FPDMA QUEUED" },
 		{ ATA_CMD_FPDMA_RECV,		"RECEIVE FPDMA QUEUED" },
 		{ ATA_CMD_PIO_READ,		"READ SECTOR(S)" },
drivers/atm/idt77252.c +1 -0
index 363073e7b653..a95a9448984f 100644
@@ -3766,6 +3766,7 @@ static void __exit idt77252_exit(void)
 		card = idt77252_chain;
 		dev = card->atmdev;
 		idt77252_chain = card->next;
+		del_timer_sync(&card->tst_timer);
 
 		if (dev->phy->stop)
 			dev->phy->stop(dev);
drivers/base/dd.c +4 -1
index 6f85280fef8d..4e45c87ed177 100644
@@ -1037,6 +1037,7 @@ static void __driver_attach_async_helper(void *_dev, async_cookie_t cookie)
 static int __driver_attach(struct device *dev, void *data)
 {
 	struct device_driver *drv = data;
+	bool async = false;
 	int ret;
 
 	/*
@@ -1074,9 +1075,11 @@ static int __driver_attach(struct device *dev, void *data)
 		if (!dev->driver) {
 			get_device(dev);
 			dev->p->async_driver = drv;
-			async_schedule_dev(__driver_attach_async_helper, dev);
+			async = true;
 		}
 		device_unlock(dev);
+		if (async)
+			async_schedule_dev(__driver_attach_async_helper, dev);
 		return 0;
 	}
 
drivers/block/null_blk_main.c +11 -3
index 13eae973eaea..6cbdd8a691d2 100644
@@ -1711,8 +1711,13 @@ static int null_add_dev(struct nullb_device *dev)
 	blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q);
 
 	mutex_lock(&lock);
-	nullb->index = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
-	dev->index = nullb->index;
+	rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL);
+	if (rv < 0) {
+		mutex_unlock(&lock);
+		goto out_cleanup_zone;
+	}
+	nullb->index = rv;
+	dev->index = rv;
 	mutex_unlock(&lock);
 
 	blk_queue_logical_block_size(nullb->q, dev->blocksize);
@@ -1724,13 +1729,16 @@ static int null_add_dev(struct nullb_device *dev)
 
 	rv = null_gendisk_register(nullb);
 	if (rv)
-		goto out_cleanup_zone;
+		goto out_ida_free;
 
 	mutex_lock(&lock);
 	list_add_tail(&nullb->list, &nullb_list);
 	mutex_unlock(&lock);
 
 	return 0;
+
+out_ida_free:
+	ida_free(&nullb_indexes, nullb->index);
 out_cleanup_zone:
 	if (dev->zoned)
 		null_zone_exit(dev);
drivers/bluetooth/hci_intel.c +5 -1
index 31f25153087d..02c96c603768 100644
@@ -1230,7 +1230,11 @@ static struct platform_driver intel_driver = {
 
 int __init intel_init(void)
 {
-	platform_driver_register(&intel_driver);
+	int err;
+
+	err = platform_driver_register(&intel_driver);
+	if (err)
+		return err;
 
 	return hci_uart_register_proto(&intel_proto);
 }
drivers/bus/hisi_lpc.c +6 -4
index 2e9252d37a18..0922cbe8900b 100644
@@ -504,13 +504,13 @@ static int hisi_lpc_acpi_probe(struct device *hostdev)
 {
 	struct acpi_device *adev = ACPI_COMPANION(hostdev);
 	struct acpi_device *child;
+	struct platform_device *pdev;
 	int ret;
 
 	/* Only consider the children of the host */
 	list_for_each_entry(child, &adev->children, node) {
 		const char *hid = acpi_device_hid(child);
 		const struct hisi_lpc_acpi_cell *cell;
-		struct platform_device *pdev;
 		const struct resource *res;
 		bool found = false;
 		int num_res;
@@ -572,22 +572,24 @@ static int hisi_lpc_acpi_probe(struct device *hostdev)
 
 		ret = platform_device_add_resources(pdev, res, num_res);
 		if (ret)
-			goto fail;
+			goto fail_put_device;
 
 		ret = platform_device_add_data(pdev, cell->pdata,
 					       cell->pdata_size);
 		if (ret)
-			goto fail;
+			goto fail_put_device;
 
 		ret = platform_device_add(pdev);
 		if (ret)
-			goto fail;
+			goto fail_put_device;
 
 		acpi_device_set_enumerated(child);
 	}
 
 	return 0;
 
+fail_put_device:
+	platform_device_put(pdev);
 fail:
 	hisi_lpc_acpi_remove(hostdev);
 	return ret;
drivers/clk/mediatek/reset.c +2 -2
index cb939c071b0c..89916acf0bc3 100644
@@ -25,7 +25,7 @@ static int mtk_reset_assert_set_clr(struct reset_controller_dev *rcdev,
 	struct mtk_reset *data = container_of(rcdev, struct mtk_reset, rcdev);
 	unsigned int reg = data->regofs + ((id / 32) << 4);
 
-	return regmap_write(data->regmap, reg, 1);
+	return regmap_write(data->regmap, reg, BIT(id % 32));
 }
 
 static int mtk_reset_deassert_set_clr(struct reset_controller_dev *rcdev,
@@ -34,7 +34,7 @@ static int mtk_reset_deassert_set_clr(struct reset_controller_dev *rcdev,
 	struct mtk_reset *data = container_of(rcdev, struct mtk_reset, rcdev);
 	unsigned int reg = data->regofs + ((id / 32) << 4) + 0x4;
 
-	return regmap_write(data->regmap, reg, 1);
+	return regmap_write(data->regmap, reg, BIT(id % 32));
 }
 
 static int mtk_reset_assert(struct reset_controller_dev *rcdev,
drivers/clk/qcom/camcc-sdm845.c +4 -0
index 1b2cefef7431..a8a2cfa83290 100644
@@ -1521,6 +1521,8 @@ static struct clk_branch cam_cc_sys_tmr_clk = {
 	},
 };
 
+static struct gdsc titan_top_gdsc;
+
 static struct gdsc bps_gdsc = {
 	.gdscr = 0x6004,
 	.pd = {
@@ -1554,6 +1556,7 @@ static struct gdsc ife_0_gdsc = {
 		.name = "ife_0_gdsc",
 	},
 	.flags = POLL_CFG_GDSCR,
+	.parent = &titan_top_gdsc.pd,
 	.pwrsts = PWRSTS_OFF_ON,
 };
 
@@ -1563,6 +1566,7 @@ static struct gdsc ife_1_gdsc = {
 		.name = "ife_1_gdsc",
 	},
 	.flags = POLL_CFG_GDSCR,
+	.parent = &titan_top_gdsc.pd,
 	.pwrsts = PWRSTS_OFF_ON,
 };
 
drivers/clk/qcom/clk-krait.c +6 -1
index 59f1af415b58..90046428693c 100644
@@ -32,11 +32,16 @@ static void __krait_mux_set_sel(struct krait_mux_clk *mux, int sel)
 		regval |= (sel & mux->mask) << (mux->shift + LPL_SHIFT);
 	}
 	krait_set_l2_indirect_reg(mux->offset, regval);
-	spin_unlock_irqrestore(&krait_clock_reg_lock, flags);
 
 	/* Wait for switch to complete. */
 	mb();
 	udelay(1);
+
+	/*
+	 * Unlock now to make sure the mux register is not
+	 * modified while switching to the new parent.
+	 */
+	spin_unlock_irqrestore(&krait_clock_reg_lock, flags);
 }
 
 static int krait_mux_set_parent(struct clk_hw *hw, u8 index)
drivers/clk/qcom/gcc-ipq8074.c +19 -0
index de48ba7eba3a..e9835db941d8 100644
@@ -667,6 +667,7 @@ static struct clk_branch gcc_sleep_clk_src = {
 			},
 			.num_parents = 1,
 			.ops = &clk_branch2_ops,
+			.flags = CLK_IS_CRITICAL,
 		},
 	},
 };
@@ -1788,8 +1789,10 @@ static struct clk_regmap_div nss_port4_tx_div_clk_src = {
 static const struct freq_tbl ftbl_nss_port5_rx_clk_src[] = {
 	F(19200000, P_XO, 1, 0, 0),
 	F(25000000, P_UNIPHY1_RX, 12.5, 0, 0),
+	F(25000000, P_UNIPHY0_RX, 5, 0, 0),
 	F(78125000, P_UNIPHY1_RX, 4, 0, 0),
 	F(125000000, P_UNIPHY1_RX, 2.5, 0, 0),
+	F(125000000, P_UNIPHY0_RX, 1, 0, 0),
 	F(156250000, P_UNIPHY1_RX, 2, 0, 0),
 	F(312500000, P_UNIPHY1_RX, 1, 0, 0),
 	{ }
@@ -1828,8 +1831,10 @@ static struct clk_regmap_div nss_port5_rx_div_clk_src = {
 static const struct freq_tbl ftbl_nss_port5_tx_clk_src[] = {
 	F(19200000, P_XO, 1, 0, 0),
 	F(25000000, P_UNIPHY1_TX, 12.5, 0, 0),
+	F(25000000, P_UNIPHY0_TX, 5, 0, 0),
 	F(78125000, P_UNIPHY1_TX, 4, 0, 0),
 	F(125000000, P_UNIPHY1_TX, 2.5, 0, 0),
+	F(125000000, P_UNIPHY0_TX, 1, 0, 0),
 	F(156250000, P_UNIPHY1_TX, 2, 0, 0),
 	F(312500000, P_UNIPHY1_TX, 1, 0, 0),
 	{ }
@@ -1867,8 +1872,10 @@ static struct clk_regmap_div nss_port5_tx_div_clk_src = {
 
 static const struct freq_tbl ftbl_nss_port6_rx_clk_src[] = {
 	F(19200000, P_XO, 1, 0, 0),
+	F(25000000, P_UNIPHY2_RX, 5, 0, 0),
 	F(25000000, P_UNIPHY2_RX, 12.5, 0, 0),
 	F(78125000, P_UNIPHY2_RX, 4, 0, 0),
+	F(125000000, P_UNIPHY2_RX, 1, 0, 0),
 	F(125000000, P_UNIPHY2_RX, 2.5, 0, 0),
 	F(156250000, P_UNIPHY2_RX, 2, 0, 0),
 	F(312500000, P_UNIPHY2_RX, 1, 0, 0),
@@ -1907,8 +1914,10 @@ static struct clk_regmap_div nss_port6_rx_div_clk_src = {
 
 static const struct freq_tbl ftbl_nss_port6_tx_clk_src[] = {
 	F(19200000, P_XO, 1, 0, 0),
+	F(25000000, P_UNIPHY2_TX, 5, 0, 0),
 	F(25000000, P_UNIPHY2_TX, 12.5, 0, 0),
 	F(78125000, P_UNIPHY2_TX, 4, 0, 0),
+	F(125000000, P_UNIPHY2_TX, 1, 0, 0),
 	F(125000000, P_UNIPHY2_TX, 2.5, 0, 0),
 	F(156250000, P_UNIPHY2_TX, 2, 0, 0),
 	F(312500000, P_UNIPHY2_TX, 1, 0, 0),
@@ -3346,6 +3355,7 @@ static struct clk_branch gcc_nssnoc_ubi1_ahb_clk = {
 
 static struct clk_branch gcc_ubi0_ahb_clk = {
 	.halt_reg = 0x6820c,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x6820c,
 		.enable_mask = BIT(0),
@@ -3363,6 +3373,7 @@ static struct clk_branch gcc_ubi0_ahb_clk = {
 
 static struct clk_branch gcc_ubi0_axi_clk = {
 	.halt_reg = 0x68200,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68200,
 		.enable_mask = BIT(0),
@@ -3380,6 +3391,7 @@ static struct clk_branch gcc_ubi0_axi_clk = {
 
 static struct clk_branch gcc_ubi0_nc_axi_clk = {
 	.halt_reg = 0x68204,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68204,
 		.enable_mask = BIT(0),
@@ -3397,6 +3409,7 @@ static struct clk_branch gcc_ubi0_nc_axi_clk = {
 
 static struct clk_branch gcc_ubi0_core_clk = {
 	.halt_reg = 0x68210,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68210,
 		.enable_mask = BIT(0),
@@ -3414,6 +3427,7 @@ static struct clk_branch gcc_ubi0_core_clk = {
 
 static struct clk_branch gcc_ubi0_mpt_clk = {
 	.halt_reg = 0x68208,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68208,
 		.enable_mask = BIT(0),
@@ -3431,6 +3445,7 @@ static struct clk_branch gcc_ubi0_mpt_clk = {
 
 static struct clk_branch gcc_ubi1_ahb_clk = {
 	.halt_reg = 0x6822c,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x6822c,
 		.enable_mask = BIT(0),
@@ -3448,6 +3463,7 @@ static struct clk_branch gcc_ubi1_ahb_clk = {
 
 static struct clk_branch gcc_ubi1_axi_clk = {
 	.halt_reg = 0x68220,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68220,
 		.enable_mask = BIT(0),
@@ -3465,6 +3481,7 @@ static struct clk_branch gcc_ubi1_axi_clk = {
 
 static struct clk_branch gcc_ubi1_nc_axi_clk = {
 	.halt_reg = 0x68224,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68224,
 		.enable_mask = BIT(0),
@@ -3482,6 +3499,7 @@ static struct clk_branch gcc_ubi1_nc_axi_clk = {
 
 static struct clk_branch gcc_ubi1_core_clk = {
 	.halt_reg = 0x68230,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68230,
 		.enable_mask = BIT(0),
@@ -3499,6 +3517,7 @@ static struct clk_branch gcc_ubi1_core_clk = {
 
 static struct clk_branch gcc_ubi1_mpt_clk = {
 	.halt_reg = 0x68228,
+	.halt_check = BRANCH_HALT_DELAY,
 	.clkr = {
 		.enable_reg = 0x68228,
 		.enable_mask = BIT(0),
drivers/clk/renesas/r9a06g032-clocks.c +4 -4
index f2dc625b745d..80df4eb041cc 100644
@@ -286,8 +286,8 @@ static const struct r9a06g032_clkdesc r9a06g032_clocks[] = {
 		.name = "uart_group_012",
 		.type = K_BITSEL,
 		.source = 1 + R9A06G032_DIV_UART,
-		/* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */
-		.dual.sel = ((0xec / 4) << 5) | 24,
+		/* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */
+		.dual.sel = ((0x34 / 4) << 5) | 30,
 		.dual.group = 0,
 	},
 	{
@@ -295,8 +295,8 @@ static const struct r9a06g032_clkdesc r9a06g032_clocks[] = {
 		.name = "uart_group_34567",
 		.type = K_BITSEL,
 		.source = 1 + R9A06G032_DIV_P2_PG,
-		/* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */
-		.dual.sel = ((0x34 / 4) << 5) | 30,
+		/* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */
+		.dual.sel = ((0xec / 4) << 5) | 24,
 		.dual.group = 1,
 	},
 	D_UGATE(CLK_UART0, "clk_uart0", UART_GROUP_012, 0, 0, 0x1b2, 0x1b3, 0x1b4, 0x1b5),
drivers/clk/rockchip/clk-rk3188.c +1 -0
index 77aebfb1d6d5..730020fcc7fe 100644
@@ -751,6 +751,7 @@ static const char *const rk3188_critical_clocks[] __initconst = {
 	"pclk_peri",
 	"hclk_cpubus",
 	"hclk_vio_bus",
+	"sclk_mac_lbtest",
 };
 
 static struct rockchip_clk_provider *__init rk3188_common_clk_init(struct device_node *np)
drivers/crypto/hisilicon/sec/sec_algs.c +7 -7
index 4ad4ffd90cee..2402941a7f2f 100644
@@ -449,7 +449,7 @@ static void sec_skcipher_alg_callback(struct sec_bd_info *sec_resp,
 		 */
 	}
 
-	mutex_lock(&ctx->queue->queuelock);
+	spin_lock_bh(&ctx->queue->queuelock);
 	/* Put the IV in place for chained cases */
 	switch (ctx->cipher_alg) {
 	case SEC_C_AES_CBC_128:
@@ -509,7 +509,7 @@ static void sec_skcipher_alg_callback(struct sec_bd_info *sec_resp,
 			list_del(&backlog_req->backlog_head);
 		}
 	}
-	mutex_unlock(&ctx->queue->queuelock);
+	spin_unlock_bh(&ctx->queue->queuelock);
 
 	mutex_lock(&sec_req->lock);
 	list_del(&sec_req_el->head);
@@ -798,7 +798,7 @@ static int sec_alg_skcipher_crypto(struct skcipher_request *skreq,
 	 */
 
 	/* Grab a big lock for a long time to avoid concurrency issues */
-	mutex_lock(&queue->queuelock);
+	spin_lock_bh(&queue->queuelock);
 
 	/*
 	 * Can go on to queue if we have space in either:
@@ -814,15 +814,15 @@ static int sec_alg_skcipher_crypto(struct skcipher_request *skreq,
 		ret = -EBUSY;
 		if ((skreq->base.flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) {
 			list_add_tail(&sec_req->backlog_head, &ctx->backlog);
-			mutex_unlock(&queue->queuelock);
+			spin_unlock_bh(&queue->queuelock);
 			goto out;
 		}
 
-		mutex_unlock(&queue->queuelock);
+		spin_unlock_bh(&queue->queuelock);
 		goto err_free_elements;
 	}
 	ret = sec_send_request(sec_req, queue);
-	mutex_unlock(&queue->queuelock);
+	spin_unlock_bh(&queue->queuelock);
 	if (ret)
 		goto err_free_elements;
 
@@ -881,7 +881,7 @@ static int sec_alg_skcipher_init(struct crypto_skcipher *tfm)
 	if (IS_ERR(ctx->queue))
 		return PTR_ERR(ctx->queue);
 
-	mutex_init(&ctx->queue->queuelock);
+	spin_lock_init(&ctx->queue->queuelock);
 	ctx->queue->havesoftqueue = false;
 
 	return 0;
drivers/crypto/hisilicon/sec/sec_drv.h +1 -1
index 4d9063a8b10b..0bf4d7c3856c 100644
@@ -347,7 +347,7 @@ struct sec_queue {
 	DECLARE_BITMAP(unprocessed, SEC_QUEUE_LEN);
 	DECLARE_KFIFO_PTR(softqueue, typeof(struct sec_request_el *));
 	bool havesoftqueue;
-	struct mutex queuelock;
+	spinlock_t queuelock;
 	void *shadow[SEC_QUEUE_LEN];
 };
 
drivers/crypto/inside-secure/safexcel.c +2 -0
index 4d9d97c59ee3..9534f52210af 100644
@@ -1658,6 +1658,8 @@ static const struct of_device_id safexcel_of_match_table[] = {
 	{},
 };
 
+MODULE_DEVICE_TABLE(of, safexcel_of_match_table);
+
 static struct platform_driver  crypto_safexcel = {
 	.probe		= safexcel_probe,
 	.remove		= safexcel_remove,
drivers/dma/sprd-dma.c +1 -4
index b966115bfad1..4f0c50106321 100644
@@ -1201,11 +1201,8 @@ static int sprd_dma_remove(struct platform_device *pdev)
 {
 	struct sprd_dma_dev *sdev = platform_get_drvdata(pdev);
 	struct sprd_dma_chn *c, *cn;
-	int ret;
 
-	ret = pm_runtime_get_sync(&pdev->dev);
-	if (ret < 0)
-		return ret;
+	pm_runtime_get_sync(&pdev->dev);
 
 	/* explicitly free the irq */
 	if (sdev->irq > 0)
drivers/firmware/arm_scpi.c +35 -26

119 lines not on this page · raw message

drivers/fpga/altera-pr-ip-core.c +1 -1
index 2cf25fd5e897..75b4b3ec933a 100644
@@ -108,7 +108,7 @@ static int alt_pr_fpga_write(struct fpga_manager *mgr, const char *buf,
 	u32 *buffer_32 = (u32 *)buf;
 	size_t i = 0;
 
-	if (count <= 0)
+	if (!count)
 		return -EINVAL;
 
 	/* Write out the complete 32-bit chunks */
drivers/gpio/gpiolib-of.c +3 -1
index b1dcd2dd52e6..73807c897391 100644
@@ -734,7 +734,8 @@ int of_mm_gpiochip_add_data(struct device_node *np,
 	if (mm_gc->save_regs)
 		mm_gc->save_regs(mm_gc);
 
-	mm_gc->gc.of_node = np;
+	of_node_put(mm_gc->gc.of_node);
+	mm_gc->gc.of_node = of_node_get(np);
 
 	ret = gpiochip_add_data(gc, data);
 	if (ret)
@@ -742,6 +743,7 @@ int of_mm_gpiochip_add_data(struct device_node *np,
 
 	return 0;
 err2:
+	of_node_put(np);
 	iounmap(mm_gc->regs);
 err1:
 	kfree(gc->label);
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +4 -0
index 4cc0dd494a42..fc508927c6f6 100644
@@ -892,6 +892,10 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
 	if (WARN_ON_ONCE(min_offset > max_offset))
 		return -EINVAL;
 
+	/* Check domain to be pinned to against preferred domains */
+	if (bo->preferred_domains & domain)
+		domain = bo->preferred_domains & domain;
+
 	/* A shared bo cannot be migrated to VRAM */
 	if (bo->prime_shared_count) {
 		if (domain & AMDGPU_GEM_DOMAIN_GTT)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +18 -6
index e7bf32f234d7..62ef603627b7 100644
@@ -985,6 +985,10 @@ static int adv7511_init_cec_regmap(struct adv7511 *adv)
 						ADV7511_CEC_I2C_ADDR_DEFAULT);
 	if (IS_ERR(adv->i2c_cec))
 		return PTR_ERR(adv->i2c_cec);
+
+	regmap_write(adv->regmap, ADV7511_REG_CEC_I2C_ADDR,
+		     adv->i2c_cec->addr << 1);
+
 	i2c_set_clientdata(adv->i2c_cec, adv);
 
 	adv->regmap_cec = devm_regmap_init_i2c(adv->i2c_cec,
@@ -1189,9 +1193,6 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
 	if (ret)
 		goto err_i2c_unregister_packet;
 
-	regmap_write(adv7511->regmap, ADV7511_REG_CEC_I2C_ADDR,
-		     adv7511->i2c_cec->addr << 1);
-
 	INIT_WORK(&adv7511->hpd_work, adv7511_hpd_work);
 
 	if (i2c->irq) {
@@ -1301,10 +1302,21 @@ static struct i2c_driver adv7511_driver = {
 
 static int __init adv7511_init(void)
 {
-	if (IS_ENABLED(CONFIG_DRM_MIPI_DSI))
-		mipi_dsi_driver_register(&adv7533_dsi_driver);
+	int ret;
 
-	return i2c_add_driver(&adv7511_driver);
+	if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) {
+		ret = mipi_dsi_driver_register(&adv7533_dsi_driver);
+		if (ret)
+			return ret;
+	}
+
+	ret = i2c_add_driver(&adv7511_driver);
+	if (ret) {
+		if (IS_ENABLED(CONFIG_DRM_MIPI_DSI))
+			mipi_dsi_driver_unregister(&adv7533_dsi_driver);
+	}
+
+	return ret;
 }
 module_init(adv7511_init);
 
drivers/gpu/drm/bridge/sil-sii8620.c +2 -2
index fb0b64c965b7..970bc00d2aaf 100644
@@ -604,7 +604,7 @@ static void *sii8620_burst_get_tx_buf(struct sii8620 *ctx, int len)
 	u8 *buf = &ctx->burst.tx_buf[ctx->burst.tx_count];
 	int size = len + 2;
 
-	if (ctx->burst.tx_count + size > ARRAY_SIZE(ctx->burst.tx_buf)) {
+	if (ctx->burst.tx_count + size >= ARRAY_SIZE(ctx->burst.tx_buf)) {
 		dev_err(ctx->dev, "TX-BLK buffer exhausted\n");
 		ctx->error = -EINVAL;
 		return NULL;
@@ -621,7 +621,7 @@ static u8 *sii8620_burst_get_rx_buf(struct sii8620 *ctx, int len)
 	u8 *buf = &ctx->burst.rx_buf[ctx->burst.rx_count];
 	int size = len + 1;
 
-	if (ctx->burst.tx_count + size > ARRAY_SIZE(ctx->burst.tx_buf)) {
+	if (ctx->burst.rx_count + size >= ARRAY_SIZE(ctx->burst.rx_buf)) {
 		dev_err(ctx->dev, "RX-BLK buffer exhausted\n");
 		ctx->error = -EINVAL;
 		return NULL;
drivers/gpu/drm/drm_gem.c +2 -2
index 1fdc85a71cec..25a2d80287d6 100644
@@ -1292,7 +1292,7 @@ drm_gem_lock_reservations(struct drm_gem_object **objs, int count,
 		ret = dma_resv_lock_slow_interruptible(obj->resv,
 								 acquire_ctx);
 		if (ret) {
-			ww_acquire_done(acquire_ctx);
+			ww_acquire_fini(acquire_ctx);
 			return ret;
 		}
 	}
@@ -1317,7 +1317,7 @@ drm_gem_lock_reservations(struct drm_gem_object **objs, int count,
 				goto retry;
 			}
 
-			ww_acquire_done(acquire_ctx);
+			ww_acquire_fini(acquire_ctx);
 			return ret;
 		}
 	}
drivers/gpu/drm/drm_mipi_dbi.c +7 -0
index 4042f5b39765..2a7ef1051b39 100644
@@ -1156,6 +1156,13 @@ int mipi_dbi_spi_transfer(struct spi_device *spi, u32 speed_hz,
 	size_t chunk;
 	int ret;
 
+	/* In __spi_validate, there's a validation that no partial transfers
+	 * are accepted (xfer->len % w_size must be zero).
+	 * Here we align max_chunk to multiple of 2 (16bits),
+	 * to prevent transfers from being rejected.
+	 */
+	max_chunk = ALIGN_DOWN(max_chunk, 2);
+
 	spi_message_init_with_transfers(&m, &tr, 1);
 
 	while (len) {
drivers/gpu/drm/exynos/exynos7_drm_decon.c +13 -4
index 6fd40410dfd2..afca5fc46020 100644
@@ -800,31 +800,40 @@ static int exynos7_decon_resume(struct device *dev)
 	if (ret < 0) {
 		DRM_DEV_ERROR(dev, "Failed to prepare_enable the pclk [%d]\n",
 			      ret);
-		return ret;
+		goto err_pclk_enable;
 	}
 
 	ret = clk_prepare_enable(ctx->aclk);
 	if (ret < 0) {
 		DRM_DEV_ERROR(dev, "Failed to prepare_enable the aclk [%d]\n",
 			      ret);
-		return ret;
+		goto err_aclk_enable;
 	}
 
 	ret = clk_prepare_enable(ctx->eclk);
 	if  (ret < 0) {
 		DRM_DEV_ERROR(dev, "Failed to prepare_enable the eclk [%d]\n",
 			      ret);
-		return ret;
+		goto err_eclk_enable;
 	}
 
 	ret = clk_prepare_enable(ctx->vclk);
 	if  (ret < 0) {
 		DRM_DEV_ERROR(dev, "Failed to prepare_enable the vclk [%d]\n",
 			      ret);
-		return ret;
+		goto err_vclk_enable;
 	}
 
 	return 0;
+
+err_vclk_enable:
+	clk_disable_unprepare(ctx->eclk);
+err_eclk_enable:
+	clk_disable_unprepare(ctx->aclk);
+err_aclk_enable:
+	clk_disable_unprepare(ctx->pclk);
+err_pclk_enable:
+	return ret;
 }
 #endif
 
drivers/gpu/drm/mcde/mcde_dsi.c +1 -0
index 8c8c92fc82e9..a580b9cadb0c 100644
@@ -942,6 +942,7 @@ static int mcde_dsi_bind(struct device *dev, struct device *master,
 			bridge = of_drm_find_bridge(child);
 			if (!bridge) {
 				dev_err(dev, "failed to find bridge\n");
+				of_node_put(child);
 				return -EINVAL;
 			}
 		}
drivers/gpu/drm/mediatek/mtk_dpi.c +7 -26
index 48de07e9059e..4a64d8aed9da 100644
@@ -50,13 +50,7 @@ enum mtk_dpi_out_channel_swap {
 };
 
 enum mtk_dpi_out_color_format {
-	MTK_DPI_COLOR_FORMAT_RGB,
-	MTK_DPI_COLOR_FORMAT_RGB_FULL,
-	MTK_DPI_COLOR_FORMAT_YCBCR_444,
-	MTK_DPI_COLOR_FORMAT_YCBCR_422,
-	MTK_DPI_COLOR_FORMAT_XV_YCC,
-	MTK_DPI_COLOR_FORMAT_YCBCR_444_FULL,
-	MTK_DPI_COLOR_FORMAT_YCBCR_422_FULL
+	MTK_DPI_COLOR_FORMAT_RGB
 };
 
 struct mtk_dpi {
@@ -355,24 +349,11 @@ static void mtk_dpi_config_disable_edge(struct mtk_dpi *dpi)
 static void mtk_dpi_config_color_format(struct mtk_dpi *dpi,
 					enum mtk_dpi_out_color_format format)
 {
-	if ((format == MTK_DPI_COLOR_FORMAT_YCBCR_444) ||
-	    (format == MTK_DPI_COLOR_FORMAT_YCBCR_444_FULL)) {
-		mtk_dpi_config_yuv422_enable(dpi, false);
-		mtk_dpi_config_csc_enable(dpi, true);
-		mtk_dpi_config_swap_input(dpi, false);
-		mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_BGR);
-	} else if ((format == MTK_DPI_COLOR_FORMAT_YCBCR_422) ||
-		   (format == MTK_DPI_COLOR_FORMAT_YCBCR_422_FULL)) {
-		mtk_dpi_config_yuv422_enable(dpi, true);
-		mtk_dpi_config_csc_enable(dpi, true);
-		mtk_dpi_config_swap_input(dpi, true);
-		mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB);
-	} else {
-		mtk_dpi_config_yuv422_enable(dpi, false);
-		mtk_dpi_config_csc_enable(dpi, false);
-		mtk_dpi_config_swap_input(dpi, false);
-		mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB);
-	}
+	/* only support RGB888 */
+	mtk_dpi_config_yuv422_enable(dpi, false);
+	mtk_dpi_config_csc_enable(dpi, false);
+	mtk_dpi_config_swap_input(dpi, false);
+	mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB);
 }
 
 static void mtk_dpi_power_off(struct mtk_dpi *dpi)
@@ -413,7 +394,6 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
 	if (dpi->pinctrl && dpi->pins_dpi)
 		pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi);
 
-	mtk_dpi_enable(dpi);
 	return 0;
 
 err_pixel:
@@ -557,6 +537,7 @@ static void mtk_dpi_encoder_enable(struct drm_encoder *encoder)
 
 	mtk_dpi_power_on(dpi);
 	mtk_dpi_set_display_mode(dpi, &dpi->mode);
+	mtk_dpi_enable(dpi);
 }
 
 static int mtk_dpi_atomic_check(struct drm_encoder *encoder,
drivers/gpu/drm/mediatek/mtk_dsi.c +2 -0
index 224afb666881..e82705a33acf 100644
@@ -645,6 +645,8 @@ static void mtk_dsi_poweroff(struct mtk_dsi *dsi)
 	mtk_dsi_reset_engine(dsi);
 	mtk_dsi_lane0_ulp_mode_enter(dsi);
 	mtk_dsi_clk_ulp_mode_enter(dsi);
+	/* set the lane number as 0 to pull down mipi */
+	writel(0, dsi->regs + DSI_TXRX_CTRL);
 
 	mtk_dsi_disable(dsi);
 
drivers/gpu/drm/meson/meson_drv.c +4 -1
index 61a6536e7e61..9a39afc3939b 100644
@@ -124,8 +124,11 @@ static bool meson_vpu_has_available_connectors(struct device *dev)
 	for_each_endpoint_of_node(dev->of_node, ep) {
 		/* If the endpoint node exists, consider it enabled */
 		remote = of_graph_get_remote_port(ep);
-		if (remote)
+		if (remote) {
+			of_node_put(remote);
+			of_node_put(ep);
 			return true;
+		}
 	}
 
 	return false;
drivers/gpu/drm/meson/meson_viu.c +11 -11
index 33698814c022..9991f0a43b1a 100644
@@ -400,17 +400,17 @@ void meson_viu_init(struct meson_drm *priv)
 			priv->io_base + _REG(VD2_IF0_LUMA_FIFO_SIZE));
 
 	if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A)) {
-		writel_relaxed(VIU_OSD_BLEND_REORDER(0, 1) |
-			       VIU_OSD_BLEND_REORDER(1, 0) |
-			       VIU_OSD_BLEND_REORDER(2, 0) |
-			       VIU_OSD_BLEND_REORDER(3, 0) |
-			       VIU_OSD_BLEND_DIN_EN(1) |
-			       VIU_OSD_BLEND1_DIN3_BYPASS_TO_DOUT1 |
-			       VIU_OSD_BLEND1_DOUT_BYPASS_TO_BLEND2 |
-			       VIU_OSD_BLEND_DIN0_BYPASS_TO_DOUT0 |
-			       VIU_OSD_BLEND_BLEN2_PREMULT_EN(1) |
-			       VIU_OSD_BLEND_HOLD_LINES(4),
-			       priv->io_base + _REG(VIU_OSD_BLEND_CTRL));
+		u32 val = (u32)VIU_OSD_BLEND_REORDER(0, 1) |
+			  (u32)VIU_OSD_BLEND_REORDER(1, 0) |
+			  (u32)VIU_OSD_BLEND_REORDER(2, 0) |
+			  (u32)VIU_OSD_BLEND_REORDER(3, 0) |
+			  (u32)VIU_OSD_BLEND_DIN_EN(1) |
+			  (u32)VIU_OSD_BLEND1_DIN3_BYPASS_TO_DOUT1 |
+			  (u32)VIU_OSD_BLEND1_DOUT_BYPASS_TO_BLEND2 |
+			  (u32)VIU_OSD_BLEND_DIN0_BYPASS_TO_DOUT0 |
+			  (u32)VIU_OSD_BLEND_BLEN2_PREMULT_EN(1) |
+			  (u32)VIU_OSD_BLEND_HOLD_LINES(4);
+		writel_relaxed(val, priv->io_base + _REG(VIU_OSD_BLEND_CTRL));
 
 		writel_relaxed(OSD_BLEND_PATH_SEL_ENABLE,
 			       priv->io_base + _REG(OSD1_BLEND_SRC_CTRL));
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c +2 -1
index a4f5cb90f3e8..e4b8a789835a 100644
@@ -123,12 +123,13 @@ int mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
 {
 	struct msm_drm_private *priv = s->dev->dev_private;
 	struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms));
-	struct mdp5_global_state *state = mdp5_get_global_state(s);
+	struct mdp5_global_state *state;
 	struct mdp5_hw_pipe_state *new_state;
 
 	if (!hwpipe)
 		return 0;
 
+	state = mdp5_get_global_state(s);
 	if (IS_ERR(state))
 		return PTR_ERR(state);
 
drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c +1 -1
index 8bff14ae16b0..f0368d9a0154 100644
@@ -33,7 +33,7 @@ nvbios_addr(struct nvkm_bios *bios, u32 *addr, u8 size)
 {
 	u32 p = *addr;
 
-	if (*addr > bios->image0_size && bios->imaged_addr) {
+	if (*addr >= bios->image0_size && bios->imaged_addr) {
 		*addr -= bios->image0_size;
 		*addr += bios->imaged_addr;
 	}
drivers/gpu/drm/radeon/ni_dpm.c +2 -4
index bd2e577c701f..288ec3039bc2 100644
@@ -2740,10 +2740,10 @@ static int ni_set_mc_special_registers(struct radeon_device *rdev,
 					table->mc_reg_table_entry[k].mc_data[j] |= 0x100;
 			}
 			j++;
-			if (j > SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE)
-				return -EINVAL;
 			break;
 		case MC_SEQ_RESERVE_M >> 2:
+			if (j >= SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE)
+				return -EINVAL;
 			temp_reg = RREG32(MC_PMG_CMD_MRS1);
 			table->mc_reg_address[j].s1 = MC_PMG_CMD_MRS1 >> 2;
 			table->mc_reg_address[j].s0 = MC_SEQ_PMG_CMD_MRS1_LP >> 2;
@@ -2752,8 +2752,6 @@ static int ni_set_mc_special_registers(struct radeon_device *rdev,
 					(temp_reg & 0xffff0000) |
 					(table->mc_reg_table_entry[k].mc_data[i] & 0x0000ffff);
 			j++;
-			if (j > SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE)
-				return -EINVAL;
 			break;
 		default:
 			break;
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +9 -1
index ce98c08aa8b4..48281e29b5d4 100644
@@ -401,7 +401,15 @@ static int rockchip_dp_probe(struct platform_device *pdev)
 	if (IS_ERR(dp->adp))
 		return PTR_ERR(dp->adp);
 
-	return component_add(dev, &rockchip_dp_component_ops);
+	ret = component_add(dev, &rockchip_dp_component_ops);
+	if (ret)
+		goto err_dp_remove;
+
+	return 0;
+
+err_dp_remove:
+	analogix_dp_remove(dp->adp);
+	return ret;
 }
 
 static int rockchip_dp_remove(struct platform_device *pdev)
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +3 -0
index 2e4e1933a43c..57e0396662c3 100644
@@ -1288,6 +1288,9 @@ static struct drm_crtc_state *vop_crtc_duplicate_state(struct drm_crtc *crtc)
 {
 	struct rockchip_crtc_state *rockchip_state;
 
+	if (WARN_ON(!crtc->state))
+		return NULL;
+
 	rockchip_state = kzalloc(sizeof(*rockchip_state), GFP_KERNEL);
 	if (!rockchip_state)
 		return NULL;
drivers/gpu/drm/vc4/vc4_dsi.c +2 -4
index 0983949cc8c9..e249ab378700 100644
@@ -791,11 +791,9 @@ static bool vc4_dsi_encoder_mode_fixup(struct drm_encoder *encoder,
 	/* Find what divider gets us a faster clock than the requested
 	 * pixel clock.
 	 */
-	for (divider = 1; divider < 8; divider++) {
-		if (parent_rate / divider < pll_clock) {
-			divider--;
+	for (divider = 1; divider < 255; divider++) {
+		if (parent_rate / (divider + 1) < pll_clock)
 			break;
-		}
 	}
 
 	/* Now that we've picked a PLL divider, calculate back to its
drivers/gpu/drm/vc4/vc4_plane.c +13 -17
index 363f456ea713..cdcd19698b3c 100644
@@ -288,16 +288,16 @@ static int vc4_plane_margins_adj(struct drm_plane_state *pstate)
 					       adjhdisplay,
 					       crtc_state->mode.hdisplay);
 	vc4_pstate->crtc_x += left;
-	if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - left)
-		vc4_pstate->crtc_x = crtc_state->mode.hdisplay - left;
+	if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - right)
+		vc4_pstate->crtc_x = crtc_state->mode.hdisplay - right;
 
 	adjvdisplay = crtc_state->mode.vdisplay - (top + bottom);
 	vc4_pstate->crtc_y = DIV_ROUND_CLOSEST(vc4_pstate->crtc_y *
 					       adjvdisplay,
 					       crtc_state->mode.vdisplay);
 	vc4_pstate->crtc_y += top;
-	if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - top)
-		vc4_pstate->crtc_y = crtc_state->mode.vdisplay - top;
+	if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - bottom)
+		vc4_pstate->crtc_y = crtc_state->mode.vdisplay - bottom;
 
 	vc4_pstate->crtc_w = DIV_ROUND_CLOSEST(vc4_pstate->crtc_w *
 					       adjhdisplay,
@@ -317,7 +317,6 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
 	struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
 	struct drm_framebuffer *fb = state->fb;
 	struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
-	u32 subpixel_src_mask = (1 << 16) - 1;
 	int num_planes = fb->format->num_planes;
 	struct drm_crtc_state *crtc_state;
 	u32 h_subsample = fb->format->hsub;
@@ -339,18 +338,15 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
 	for (i = 0; i < num_planes; i++)
 		vc4_state->offsets[i] = bo->paddr + fb->offsets[i];
 
-	/* We don't support subpixel source positioning for scaling. */
-	if ((state->src.x1 & subpixel_src_mask) ||
-	    (state->src.x2 & subpixel_src_mask) ||
-	    (state->src.y1 & subpixel_src_mask) ||
-	    (state->src.y2 & subpixel_src_mask)) {
-		return -EINVAL;
-	}
-
-	vc4_state->src_x = state->src.x1 >> 16;
-	vc4_state->src_y = state->src.y1 >> 16;
-	vc4_state->src_w[0] = (state->src.x2 - state->src.x1) >> 16;
-	vc4_state->src_h[0] = (state->src.y2 - state->src.y1) >> 16;
+	/*
+	 * We don't support subpixel source positioning for scaling,
+	 * but fractional coordinates can be generated by clipping
+	 * so just round for now
+	 */
+	vc4_state->src_x = DIV_ROUND_CLOSEST(state->src.x1, 1 << 16);
+	vc4_state->src_y = DIV_ROUND_CLOSEST(state->src.y1, 1 << 16);
+	vc4_state->src_w[0] = DIV_ROUND_CLOSEST(state->src.x2, 1 << 16) - vc4_state->src_x;
+	vc4_state->src_h[0] = DIV_ROUND_CLOSEST(state->src.y2, 1 << 16) - vc4_state->src_y;
 
 	vc4_state->crtc_x = state->dst.x1;
 	vc4_state->crtc_y = state->dst.y1;
drivers/hid/hid-alps.c +2 -0
index 2477b2a3f7c3..464a48906d01 100644
@@ -831,6 +831,8 @@ static const struct hid_device_id alps_id[] = {
 		USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_U1_DUAL) },
 	{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY,
 		USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_U1) },
+	{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY,
+		USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_U1_UNICORN_LEGACY) },
 	{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY,
 		USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_T4_BTNLESS) },
 	{ }
drivers/hid/hid-cp2112.c +5 -0
index db1b55df0d13..340408f8c8ab 100644
@@ -787,6 +787,11 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr,
 		data->word = le16_to_cpup((__le16 *)buf);
 		break;
 	case I2C_SMBUS_I2C_BLOCK_DATA:
+		if (read_length > I2C_SMBUS_BLOCK_MAX) {
+			ret = -EINVAL;
+			goto power_normal;
+		}
+
 		memcpy(data->block + 1, buf, read_length);
 		break;
 	case I2C_SMBUS_BLOCK_DATA:
drivers/hid/wacom_sys.c +1 -1
index 329bb1a46f90..4dbf69078387 100644
@@ -2124,7 +2124,7 @@ static int wacom_register_inputs(struct wacom *wacom)
 
 	error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac);
 	if (error) {
-		/* no pad in use on this interface */
+		/* no pad events using this interface */
 		input_free_device(pad_input_dev);
 		wacom_wac->pad_input = NULL;
 		pad_input_dev = NULL;
drivers/hid/wacom_wac.c +46 -26

125 lines not on this page · raw message

drivers/hwtracing/coresight/coresight.c +1 -0
index 0bbce0d29158..7d64d77d5b7a 100644
@@ -1073,6 +1073,7 @@ static int coresight_remove_match(struct device *dev, void *data)
 			 * platform data.
 			 */
 			fwnode_handle_put(conn->child_fwnode);
+			conn->child_fwnode = NULL;
 			/* No need to continue */
 			break;
 		}
drivers/hwtracing/intel_th/msu-sink.c +3 -0
index 2c7f5116be12..891b28ea25fe 100644
@@ -71,6 +71,9 @@ static int msu_sink_alloc_window(void *data, struct sg_table **sgt, size_t size)
 		block = dma_alloc_coherent(priv->dev->parent->parent,
 					   PAGE_SIZE, &sg_dma_address(sg_ptr),
 					   GFP_KERNEL);
+		if (!block)
+			return -ENOMEM;
+
 		sg_set_buf(sg_ptr, block, PAGE_SIZE);
 	}
 
drivers/hwtracing/intel_th/msu.c +12 -2
index 3cd2489d398c..640b0aae7eb4 100644
@@ -1050,6 +1050,16 @@ msc_buffer_set_uc(struct msc_window *win, unsigned int nr_segs) {}
 static inline void msc_buffer_set_wb(struct msc_window *win) {}
 #endif /* CONFIG_X86 */
 
+static struct page *msc_sg_page(struct scatterlist *sg)
+{
+	void *addr = sg_virt(sg);
+
+	if (is_vmalloc_addr(addr))
+		return vmalloc_to_page(addr);
+
+	return sg_page(sg);
+}
+
 /**
  * msc_buffer_win_alloc() - alloc a window for a multiblock mode
  * @msc:	MSC device
@@ -1122,7 +1132,7 @@ static void __msc_buffer_win_free(struct msc *msc, struct msc_window *win)
 	int i;
 
 	for_each_sg(win->sgt->sgl, sg, win->nr_segs, i) {
-		struct page *page = sg_page(sg);
+		struct page *page = msc_sg_page(sg);
 
 		page->mapping = NULL;
 		dma_free_coherent(msc_dev(win->msc)->parent->parent, PAGE_SIZE,
@@ -1384,7 +1394,7 @@ static struct page *msc_buffer_get_page(struct msc *msc, unsigned long pgoff)
 	pgoff -= win->pgoff;
 
 	for_each_sg(win->sgt->sgl, sg, win->nr_segs, blk) {
-		struct page *page = sg_page(sg);
+		struct page *page = msc_sg_page(sg);
 		size_t pgsz = PFN_DOWN(sg->length);
 
 		if (pgoff < pgsz)
drivers/hwtracing/intel_th/pci.c +23 -2
index a723c8c33087..6fcc20e0bc7b 100644
@@ -100,8 +100,10 @@ static int intel_th_pci_probe(struct pci_dev *pdev,
 		}
 
 	th = intel_th_alloc(&pdev->dev, drvdata, resource, r);
-	if (IS_ERR(th))
-		return PTR_ERR(th);
+	if (IS_ERR(th)) {
+		err = PTR_ERR(th);
+		goto err_free_irq;
+	}
 
 	th->activate   = intel_th_pci_activate;
 	th->deactivate = intel_th_pci_deactivate;
@@ -109,6 +111,10 @@ static int intel_th_pci_probe(struct pci_dev *pdev,
 	pci_set_master(pdev);
 
 	return 0;
+
+err_free_irq:
+	pci_free_irq_vectors(pdev);
+	return err;
 }
 
 static void intel_th_pci_remove(struct pci_dev *pdev)
@@ -273,6 +279,21 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x54a6),
 		.driver_data = (kernel_ulong_t)&intel_th_2x,
 	},
+	{
+		/* Raptor Lake-S CPU */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa76f),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
+	{
+		/* Meteor Lake-P */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7e24),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
+	{
+		/* Raptor Lake-S */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7a26),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
 	{
 		/* Rocket Lake CPU */
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4c19),
drivers/i2c/busses/i2c-cadence.c +9 -1
index 8750e444f449..72699fdd5d11 100644
@@ -348,8 +348,13 @@ static void cdns_i2c_mrecv(struct cdns_i2c *id)
 	ctrl_reg = cdns_i2c_readreg(CDNS_I2C_CR_OFFSET);
 	ctrl_reg |= CDNS_I2C_CR_RW | CDNS_I2C_CR_CLR_FIFO;
 
+	/*
+	 * Receive up to I2C_SMBUS_BLOCK_MAX data bytes, plus one message length
+	 * byte, plus one checksum byte if PEC is enabled. p_msg->len will be 2 if
+	 * PEC is enabled, otherwise 1.
+	 */
 	if (id->p_msg->flags & I2C_M_RECV_LEN)
-		id->recv_count = I2C_SMBUS_BLOCK_MAX + 1;
+		id->recv_count = I2C_SMBUS_BLOCK_MAX + id->p_msg->len;
 
 	id->curr_recv_count = id->recv_count;
 
@@ -535,6 +540,9 @@ static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg *msg,
 	if (id->err_status & CDNS_I2C_IXR_ARB_LOST)
 		return -EAGAIN;
 
+	if (msg->flags & I2C_M_RECV_LEN)
+		msg->len += min_t(unsigned int, msg->buf[0], I2C_SMBUS_BLOCK_MAX);
+
 	return 0;
 }
 
drivers/i2c/i2c-core-base.c +2 -1
index 1b93fae58ec7..964e8a29b27b 100644
@@ -2358,8 +2358,9 @@ void i2c_put_adapter(struct i2c_adapter *adap)
 	if (!adap)
 		return;
 
-	put_device(&adap->dev);
 	module_put(adap->owner);
+	/* Should be last, otherwise we risk use-after-free with 'adap' */
+	put_device(&adap->dev);
 }
 EXPORT_SYMBOL(i2c_put_adapter);
 
drivers/i2c/muxes/i2c-mux-gpmux.c +1 -0
index f830535cff12..480ec74e6134 100644
@@ -138,6 +138,7 @@ static int i2c_mux_probe(struct platform_device *pdev)
 	return 0;
 
 err_children:
+	of_node_put(child);
 	i2c_mux_del_adapters(muxc);
 err_parent:
 	i2c_put_adapter(parent);
drivers/iio/light/isl29028.c +1 -1
index 4d220c835c75..14e150c52dfa 100644
@@ -628,7 +628,7 @@ static int isl29028_probe(struct i2c_client *client,
 					 ISL29028_POWER_OFF_DELAY_MS);
 	pm_runtime_use_autosuspend(&client->dev);
 
-	ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev);
+	ret = iio_device_register(indio_dev);
 	if (ret < 0) {
 		dev_err(&client->dev,
 			"%s(): iio registration failed with error %d\n",
drivers/infiniband/hw/hfi1/file_ops.c +3 -1
index 8c7ba7bad42b..efd977f70f9e 100644
@@ -1224,8 +1224,10 @@ static int setup_base_ctxt(struct hfi1_filedata *fd,
 		goto done;
 
 	ret = init_user_ctxt(fd, uctxt);
-	if (ret)
+	if (ret) {
+		hfi1_free_ctxt_rcv_groups(uctxt);
 		goto done;
+	}
 
 	user_init(uctxt);
 
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +2 -2
index d01e3222c00c..28bbc4708fd4 100644
@@ -5216,8 +5216,8 @@ static irqreturn_t hns_roce_v2_msix_interrupt_abn(int irq, void *dev_id)
 
 		dev_err(dev, "AEQ overflow!\n");
 
-		int_st |= 1 << HNS_ROCE_V2_VF_INT_ST_AEQ_OVERFLOW_S;
-		roce_write(hr_dev, ROCEE_VF_ABN_INT_ST_REG, int_st);
+		roce_write(hr_dev, ROCEE_VF_ABN_INT_ST_REG,
+			   1 << HNS_ROCE_V2_VF_INT_ST_AEQ_OVERFLOW_S);
 
 		/* Set reset level for reset_event() */
 		if (ops->set_default_reset_request)
drivers/infiniband/sw/rxe/rxe_qp.c +8 -4
index 53166b9ae67e..57f111fe5443 100644
@@ -211,6 +211,14 @@ static void rxe_qp_init_misc(struct rxe_dev *rxe, struct rxe_qp *qp,
 	spin_lock_init(&qp->grp_lock);
 	spin_lock_init(&qp->state_lock);
 
+	spin_lock_init(&qp->req.task.state_lock);
+	spin_lock_init(&qp->resp.task.state_lock);
+	spin_lock_init(&qp->comp.task.state_lock);
+
+	spin_lock_init(&qp->sq.sq_lock);
+	spin_lock_init(&qp->rq.producer_lock);
+	spin_lock_init(&qp->rq.consumer_lock);
+
 	atomic_set(&qp->ssn, 0);
 	atomic_set(&qp->skb_out, 0);
 }
@@ -268,7 +276,6 @@ static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,
 	qp->req.opcode		= -1;
 	qp->comp.opcode		= -1;
 
-	spin_lock_init(&qp->sq.sq_lock);
 	skb_queue_head_init(&qp->req_pkts);
 
 	rxe_init_task(rxe, &qp->req.task, qp,
@@ -318,9 +325,6 @@ static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp,
 		}
 	}
 
-	spin_lock_init(&qp->rq.producer_lock);
-	spin_lock_init(&qp->rq.consumer_lock);
-
 	skb_queue_head_init(&qp->resp_pkts);
 
 	rxe_init_task(rxe, &qp->resp.task, qp,
drivers/infiniband/sw/siw/siw_cm.c +4 -3
index 3aed597103d3..69fcf21eaf52 100644
@@ -725,11 +725,11 @@ static int siw_proc_mpareply(struct siw_cep *cep)
 	enum mpa_v2_ctrl mpa_p2p_mode = MPA_V2_RDMA_NO_RTR;
 
 	rv = siw_recv_mpa_rr(cep);
-	if (rv != -EAGAIN)
-		siw_cancel_mpatimer(cep);
 	if (rv)
 		goto out_err;
 
+	siw_cancel_mpatimer(cep);
+
 	rep = &cep->mpa.hdr;
 
 	if (__mpa_rr_revision(rep->params.bits) > MPA_REVISION_2) {
@@ -895,7 +895,8 @@ static int siw_proc_mpareply(struct siw_cep *cep)
 	}
 
 out_err:
-	siw_cm_upcall(cep, IW_CM_EVENT_CONNECT_REPLY, -EINVAL);
+	if (rv != -EAGAIN)
+		siw_cm_upcall(cep, IW_CM_EVENT_CONNECT_REPLY, -EINVAL);
 
 	return rv;
 }
drivers/iommu/dmar.c +1 -1
index 9f7c1e29e86a..9f881fc102f7 100644
@@ -475,7 +475,7 @@ static int dmar_parse_one_rhsa(struct acpi_dmar_header *header, void *arg)
 		if (drhd->reg_base_addr == rhsa->base_address) {
 			int node = acpi_map_pxm_to_node(rhsa->proximity_domain);
 
-			if (!node_online(node))
+			if (node != NUMA_NO_NODE && !node_online(node))
 				node = NUMA_NO_NODE;
 			drhd->iommu->node = node;
 			return 0;
drivers/iommu/exynos-iommu.c +5 -1
index 55ed857f804f..31a9b9885653 100644
@@ -635,7 +635,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
 
 	ret = iommu_device_register(&data->iommu);
 	if (ret)
-		return ret;
+		goto err_iommu_register;
 
 	platform_set_drvdata(pdev, data);
 
@@ -662,6 +662,10 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
 	pm_runtime_enable(dev);
 
 	return 0;
+
+err_iommu_register:
+	iommu_device_sysfs_remove(&data->iommu);
+	return ret;
 }
 
 static int __maybe_unused exynos_sysmmu_suspend(struct device *dev)
drivers/iommu/qcom_iommu.c +5 -2
index 280de92b332e..b6e546b62a7c 100644
@@ -785,9 +785,12 @@ static bool qcom_iommu_has_secure_context(struct qcom_iommu_dev *qcom_iommu)
 {
 	struct device_node *child;
 
-	for_each_child_of_node(qcom_iommu->dev->of_node, child)
-		if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec"))
+	for_each_child_of_node(qcom_iommu->dev->of_node, child) {
+		if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) {
+			of_node_put(child);
 			return true;
+		}
+	}
 
 	return false;
 }
drivers/irqchip/irq-tegra.c +5 -5
index e1f771c72fc4..ad3e2c1b3c87 100644
@@ -148,10 +148,10 @@ static int tegra_ictlr_suspend(void)
 		lic->cop_iep[i] = readl_relaxed(ictlr + ICTLR_COP_IEP_CLASS);
 
 		/* Disable COP interrupts */
-		writel_relaxed(~0ul, ictlr + ICTLR_COP_IER_CLR);
+		writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_COP_IER_CLR);
 
 		/* Disable CPU interrupts */
-		writel_relaxed(~0ul, ictlr + ICTLR_CPU_IER_CLR);
+		writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_CPU_IER_CLR);
 
 		/* Enable the wakeup sources of ictlr */
 		writel_relaxed(lic->ictlr_wake_mask[i], ictlr + ICTLR_CPU_IER_SET);
@@ -172,12 +172,12 @@ static void tegra_ictlr_resume(void)
 
 		writel_relaxed(lic->cpu_iep[i],
 			       ictlr + ICTLR_CPU_IEP_CLASS);
-		writel_relaxed(~0ul, ictlr + ICTLR_CPU_IER_CLR);
+		writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_CPU_IER_CLR);
 		writel_relaxed(lic->cpu_ier[i],
 			       ictlr + ICTLR_CPU_IER_SET);
 		writel_relaxed(lic->cop_iep[i],
 			       ictlr + ICTLR_COP_IEP_CLASS);
-		writel_relaxed(~0ul, ictlr + ICTLR_COP_IER_CLR);
+		writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_COP_IER_CLR);
 		writel_relaxed(lic->cop_ier[i],
 			       ictlr + ICTLR_COP_IER_SET);
 	}
@@ -312,7 +312,7 @@ static int __init tegra_ictlr_init(struct device_node *node,
 		lic->base[i] = base;
 
 		/* Disable all interrupts */
-		writel_relaxed(~0UL, base + ICTLR_CPU_IER_CLR);
+		writel_relaxed(GENMASK(31, 0), base + ICTLR_CPU_IER_CLR);
 		/* All interrupts target IRQ */
 		writel_relaxed(0, base + ICTLR_CPU_IEP_CLASS);
 
drivers/md/dm-raid.c +2 -2
index 42151c9fc6e5..882e83d51ef4 100644
@@ -3528,7 +3528,7 @@ static void raid_status(struct dm_target *ti, status_type_t type,
 {
 	struct raid_set *rs = ti->private;
 	struct mddev *mddev = &rs->md;
-	struct r5conf *conf = mddev->private;
+	struct r5conf *conf = rs_is_raid456(rs) ? mddev->private : NULL;
 	int i, max_nr_stripes = conf ? conf->max_nr_stripes : 0;
 	unsigned long recovery;
 	unsigned int raid_param_cnt = 1; /* at least 1 for chunksize */
@@ -3808,7 +3808,7 @@ static void attempt_restore_of_faulty_devices(struct raid_set *rs)
 
 	memset(cleared_failed_devices, 0, sizeof(cleared_failed_devices));
 
-	for (i = 0; i < mddev->raid_disks; i++) {
+	for (i = 0; i < rs->raid_disks; i++) {
 		r = &rs->dev[i].rdev;
 		/* HM FIXME: enhance journal device recovery processing */
 		if (test_bit(Journal, &r->flags))
drivers/md/dm-thin-metadata.c +5 -2
index a5ed59eafdc5..784468f3cb74 100644
@@ -2060,10 +2060,13 @@ int dm_pool_register_metadata_threshold(struct dm_pool_metadata *pmd,
 					dm_sm_threshold_fn fn,
 					void *context)
 {
-	int r;
+	int r = -EINVAL;
 
 	pmd_write_lock_in_core(pmd);
-	r = dm_sm_register_threshold_callback(pmd->metadata_sm, threshold, fn, context);
+	if (!pmd->fail_io) {
+		r = dm_sm_register_threshold_callback(pmd->metadata_sm,
+						      threshold, fn, context);
+	}
 	pmd_write_unlock(pmd);
 
 	return r;
drivers/md/dm-thin.c +3 -1
index 1b2c98b43519..bf0b67e72254 100644
@@ -3425,8 +3425,10 @@ static int pool_ctr(struct dm_target *ti, unsigned argc, char **argv)
 						calc_metadata_threshold(pt),
 						metadata_low_callback,
 						pool);
-	if (r)
+	if (r) {
+		ti->error = "Error registering metadata threshold";
 		goto out_flags_changed;
+	}
 
 	pt->callbacks.congested_fn = pool_is_congested;
 	dm_table_add_target_callbacks(ti->table, &pt->callbacks);
drivers/md/dm-writecache.c +1 -1
index ec10fda3f24f..961498d8f406 100644
@@ -20,7 +20,7 @@
 
 #define HIGH_WATERMARK			50
 #define LOW_WATERMARK			45
-#define MAX_WRITEBACK_JOBS		0
+#define MAX_WRITEBACK_JOBS		min(0x10000000 / PAGE_SIZE, totalram_pages() / 16)
 #define ENDIO_LATENCY			16
 #define WRITEBACK_LATENCY		64
 #define AUTOCOMMIT_BLOCKS_SSD		65536
drivers/md/dm.c +5 -0
index 77e28f77c59f..d4cebb38709b 100644
@@ -3080,6 +3080,11 @@ static int dm_call_pr(struct block_device *bdev, iterate_devices_callout_fn fn,
 		goto out;
 	ti = dm_table_get_target(table, 0);
 
+	if (dm_suspended_md(md)) {
+		ret = -EAGAIN;
+		goto out;
+	}
+
 	ret = -EINVAL;
 	if (!ti->type->iterate_devices)
 		goto out;
drivers/md/raid10.c +4 -1
index deddabfb07d7..9fcc141e1ad6 100644
@@ -1826,9 +1826,12 @@ static int raid10_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
 	int err = 0;
 	int number = rdev->raid_disk;
 	struct md_rdev **rdevp;
-	struct raid10_info *p = conf->mirrors + number;
+	struct raid10_info *p;
 
 	print_conf(conf);
+	if (unlikely(number >= mddev->raid_disks))
+		return 0;
+	p = conf->mirrors + number;
 	if (rdev == p->rdev)
 		rdevp = &p->rdev;
 	else if (rdev == p->replacement)
drivers/md/raid5.c +1 -1
index 474cf6abefea..fe99e8cdc026 100644
@@ -2666,10 +2666,10 @@ static void raid5_end_write_request(struct bio *bi)
 	if (!test_and_clear_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags))
 		clear_bit(R5_LOCKED, &sh->dev[i].flags);
 	set_bit(STRIPE_HANDLE, &sh->state);
-	raid5_release_stripe(sh);
 
 	if (sh->batch_head && sh != sh->batch_head)
 		raid5_release_stripe(sh->batch_head);
+	raid5_release_stripe(sh);
 }
 
 static void raid5_error(struct mddev *mddev, struct md_rdev *rdev)
drivers/media/pci/tw686x/tw686x-core.c +8 -10
index 74ae4f0dcee7..8a25a0dac4ae 100644
@@ -315,13 +315,6 @@ static int tw686x_probe(struct pci_dev *pci_dev,
 
 	spin_lock_init(&dev->lock);
 
-	err = request_irq(pci_dev->irq, tw686x_irq, IRQF_SHARED,
-			  dev->name, dev);
-	if (err < 0) {
-		dev_err(&pci_dev->dev, "unable to request interrupt\n");
-		goto iounmap;
-	}
-
 	timer_setup(&dev->dma_delay_timer, tw686x_dma_delay, 0);
 
 	/*
@@ -333,18 +326,23 @@ static int tw686x_probe(struct pci_dev *pci_dev,
 	err = tw686x_video_init(dev);
 	if (err) {
 		dev_err(&pci_dev->dev, "can't register video\n");
-		goto free_irq;
+		goto iounmap;
 	}
 
 	err = tw686x_audio_init(dev);
 	if (err)
 		dev_warn(&pci_dev->dev, "can't register audio\n");
 
+	err = request_irq(pci_dev->irq, tw686x_irq, IRQF_SHARED,
+			  dev->name, dev);
+	if (err < 0) {
+		dev_err(&pci_dev->dev, "unable to request interrupt\n");
+		goto iounmap;
+	}
+
 	pci_set_drvdata(pci_dev, dev);
 	return 0;
 
-free_irq:
-	free_irq(pci_dev->irq, dev);
 iounmap:
 	pci_iounmap(pci_dev, dev->mmio);
 free_region:
drivers/media/platform/mtk-mdp/mtk_mdp_ipi.h +2 -0
index 2cb8cecb3077..b810c96695c8 100644
@@ -40,12 +40,14 @@ struct mdp_ipi_init {
  * @ipi_id        : IPI_MDP
  * @ap_inst       : AP mtk_mdp_vpu address
  * @vpu_inst_addr : VPU MDP instance address
+ * @padding       : Alignment padding
  */
 struct mdp_ipi_comm {
 	uint32_t msg_id;
 	uint32_t ipi_id;
 	uint64_t ap_inst;
 	uint32_t vpu_inst_addr;
+	uint32_t padding;
 };
 
 /**
drivers/media/usb/hdpvr/hdpvr-video.c +1 -1
index 7849f1fbbcc4..4f1505b94338 100644
@@ -409,7 +409,7 @@ static ssize_t hdpvr_read(struct file *file, char __user *buffer, size_t count,
 	struct hdpvr_device *dev = video_drvdata(file);
 	struct hdpvr_buffer *buf = NULL;
 	struct urb *urb;
-	unsigned int ret = 0;
+	int ret = 0;
 	int rem, cnt;
 
 	if (*pos)
drivers/memstick/core/ms_block.c +6 -5
index 55907e4c36b1..6014fcb49d7e 100644
@@ -1335,17 +1335,17 @@ static int msb_ftl_initialize(struct msb_data *msb)
 	msb->zone_count = msb->block_count / MS_BLOCKS_IN_ZONE;
 	msb->logical_block_count = msb->zone_count * 496 - 2;
 
-	msb->used_blocks_bitmap = kzalloc(msb->block_count / 8, GFP_KERNEL);
-	msb->erased_blocks_bitmap = kzalloc(msb->block_count / 8, GFP_KERNEL);
+	msb->used_blocks_bitmap = bitmap_zalloc(msb->block_count, GFP_KERNEL);
+	msb->erased_blocks_bitmap = bitmap_zalloc(msb->block_count, GFP_KERNEL);
 	msb->lba_to_pba_table =
 		kmalloc_array(msb->logical_block_count, sizeof(u16),
 			      GFP_KERNEL);
 
 	if (!msb->used_blocks_bitmap || !msb->lba_to_pba_table ||
 						!msb->erased_blocks_bitmap) {
-		kfree(msb->used_blocks_bitmap);
+		bitmap_free(msb->used_blocks_bitmap);
+		bitmap_free(msb->erased_blocks_bitmap);
 		kfree(msb->lba_to_pba_table);
-		kfree(msb->erased_blocks_bitmap);
 		return -ENOMEM;
 	}
 
@@ -1953,7 +1953,8 @@ static int msb_bd_open(struct block_device *bdev, fmode_t mode)
 static void msb_data_clear(struct msb_data *msb)
 {
 	kfree(msb->boot_page);
-	kfree(msb->used_blocks_bitmap);
+	bitmap_free(msb->used_blocks_bitmap);
+	bitmap_free(msb->erased_blocks_bitmap);
 	kfree(msb->lba_to_pba_table);
 	kfree(msb->cache);
 	msb->card = NULL;
drivers/mfd/max77620.c +2 -0
index a851ff473a44..2bf5bcbc8852 100644
@@ -418,9 +418,11 @@ static int max77620_initialise_fps(struct max77620_chip *chip)
 		ret = max77620_config_fps(chip, fps_child);
 		if (ret < 0) {
 			of_node_put(fps_child);
+			of_node_put(fps_np);
 			return ret;
 		}
 	}
+	of_node_put(fps_np);
 
 	config = chip->enable_global_lpm ? MAX77620_ONOFFCNFG2_SLP_LPM_MSK : 0;
 	ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2,
drivers/mfd/t7l66xb.c +1 -5
index 70da0c4ae457..58811c5ab564 100644
@@ -405,11 +405,8 @@ static int t7l66xb_probe(struct platform_device *dev)
 
 static int t7l66xb_remove(struct platform_device *dev)
 {
-	struct t7l66xb_platform_data *pdata = dev_get_platdata(&dev->dev);
 	struct t7l66xb *t7l66xb = platform_get_drvdata(dev);
-	int ret;
 
-	ret = pdata->disable(dev);
 	clk_disable_unprepare(t7l66xb->clk48m);
 	clk_put(t7l66xb->clk48m);
 	clk_disable_unprepare(t7l66xb->clk32k);
@@ -420,8 +417,7 @@ static int t7l66xb_remove(struct platform_device *dev)
 	mfd_remove_devices(&dev->dev);
 	kfree(t7l66xb);
 
-	return ret;
-
+	return 0;
 }
 
 static struct platform_driver t7l66xb_platform_driver = {
drivers/misc/cardreader/rtsx_pcr.c +5 -1
index 4c707d8dc3eb..5807aefd4c88 100644
@@ -1485,7 +1485,7 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
 	pcr->remap_addr = ioremap_nocache(base, len);
 	if (!pcr->remap_addr) {
 		ret = -ENOMEM;
-		goto free_handle;
+		goto free_idr;
 	}
 
 	pcr->rtsx_resv_buf = dma_alloc_coherent(&(pcidev->dev),
@@ -1547,6 +1547,10 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
 			pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr);
 unmap:
 	iounmap(pcr->remap_addr);
+free_idr:
+	spin_lock(&rtsx_pci_lock);
+	idr_remove(&rtsx_pci_idr, pcr->id);
+	spin_unlock(&rtsx_pci_lock);
 free_handle:
 	kfree(handle);
 free_pcr:
drivers/misc/cxl/irq.c +1 -0
index 4cb829d5d873..2e4dcfebf19a 100644
@@ -349,6 +349,7 @@ int afu_allocate_irqs(struct cxl_context *ctx, u32 count)
 
 out:
 	cxl_ops->release_irq_ranges(&ctx->irqs, ctx->afu->adapter);
+	bitmap_free(ctx->irq_bitmap);
 	afu_irq_name_free(ctx);
 	return -ENOMEM;
 }
drivers/mmc/host/cavium-octeon.c +1 -0
index 22aded1065ae..2245452a44c8 100644
@@ -288,6 +288,7 @@ static int octeon_mmc_probe(struct platform_device *pdev)
 		if (ret) {
 			dev_err(&pdev->dev, "Error populating slots\n");
 			octeon_mmc_set_shared_power(host, 0);
+			of_node_put(cn);
 			goto error;
 		}
 		i++;
drivers/mmc/host/cavium-thunderx.c +3 -1
index eee08d81b242..f79806e31e7e 100644
@@ -138,8 +138,10 @@ static int thunder_mmc_probe(struct pci_dev *pdev,
 				continue;
 
 			ret = cvm_mmc_of_slot_probe(&host->slot_pdev[i]->dev, host);
-			if (ret)
+			if (ret) {
+				of_node_put(child_node);
 				goto error;
+			}
 		}
 		i++;
 	}
drivers/mmc/host/pxamci.c +2 -2
index 953e7457137a..99f3958a037c 100644
@@ -648,7 +648,7 @@ static int pxamci_probe(struct platform_device *pdev)
 
 	ret = pxamci_of_init(pdev, mmc);
 	if (ret)
-		return ret;
+		goto out;
 
 	host = mmc_priv(mmc);
 	host->mmc = mmc;
@@ -672,7 +672,7 @@ static int pxamci_probe(struct platform_device *pdev)
 
 	ret = pxamci_init_ocr(host);
 	if (ret < 0)
-		return ret;
+		goto out;
 
 	mmc->caps = 0;
 	host->cmdat = 0;
drivers/mmc/host/sdhci-of-at91.c +7 -2
index 881f8138e7de..03698d78a402 100644
@@ -109,8 +109,13 @@ static void sdhci_at91_set_power(struct sdhci_host *host, unsigned char mode,
 static void sdhci_at91_set_uhs_signaling(struct sdhci_host *host,
 					 unsigned int timing)
 {
-	if (timing == MMC_TIMING_MMC_DDR52)
-		sdhci_writeb(host, SDMMC_MC1R_DDR, SDMMC_MC1R);
+	u8 mc1r;
+
+	if (timing == MMC_TIMING_MMC_DDR52) {
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/mmc/host/sdhci-of-esdhc.c +1 -0
index 0ff339004d8a..69c133e7ced0 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/devices/st_spi_fsm.c +5 -3
index f4d1667daaf9..41b5a236276b 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/maps/physmap-versatile.c +2 -0
index ad7cd9cfaee0..a1b8b7b25f88 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/meson_nand.c +0 -1
index ab7ab6a279aa..28dc26e1a20a 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/parsers/redboot.c +1 -0
index 3ccd6363ee8c..4f3bcc59a638 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/sm_ftl.c +1 -1
index 4744bf94ad9a..d4e72fd5e5b3 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/pch_can.c +4 -4
index e90651f7b2ea..586bda050d28 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/rcar/rcar_can.c +4 -4
index ac52288fa3bf..b99b1b235348 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/sja1000/sja1000.c +4 -3
index 9f107798f904..e7327ceabb76 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/spi/hi311x.c +3 -2
index 7d2315c8cacb..28273e84171a 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/spi/mcp251x.c +15 -3
index bb20a9b75cc6..32bd593a39f1 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/sun4i_can.c +4 -5
index f4cd88196404..c519b6f63b33 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/ems_usb.c +1 -1
index 6458da9c13b9..ff05b5230f0b 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +8 -4
index a7c408acb0c0..01d4a731b579 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +4 -2
index 0e0403dd0550..5e281249ad5f 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/usb/usb_8dev.c +4 -3
index b514b2eaa318..89a94c16fc08 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/microchip/ksz9477.c +3 -0
index 0370e71ed6e0..c66e78b2870d 100644

Lines of this file are not shown. View the raw message.

drivers/net/dsa/mv88e6060.c +3 -0
index 2a2489b5196d..51ef8f262ca9 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bgmac.c +1 -1
index 148734b166f0..979af8e878e3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +2 -2
index 34540e604f74..ad0d070f7f17 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/fec_ptp.c +1 -5
index 3b54a37e780e..6fd0c73b327e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/i40e/i40e_main.c +3 -1
index 637f6ed78b48..2d01eaeb703a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf.h +1 -0
index 81ca6472937d..85275b6ede4d 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_adminq.c +13 -2
index 9fa3fa99b4c2..897b349cdaf1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_main.c +23 -2
index e8850ba5604c..4c41bb47fc1a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_switch.c +1 -1
index 7ff2e07f6d38..0c71995e1a70 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igb/igb.h +2 -0
index ca54e268d157..33cbe4f70d59 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igb/igb_main.c +11 -1
index 8734dfd001bb..f718eadd8774 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc_base.c +1 -9
index db289bcce21d..d66429eb14a5 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc_main.c +1 -2
index 9ba05d9aa8e0..b8297a63a7fd 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igc/igc_phy.c +2 -4
index 6156c76d765f..1be112ce6774 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en.h +1 -1
index b5c8afe8cd10..3209decdcff0 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/moxa/moxart_ether.c +10 -10
index 13714827f452..383d72415c65 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +2 -0
index 10857914c552..46d6988829ff 100644

Lines of this file are not shown. View the raw message.

drivers/net/geneve.c +1 -2
index 84f5717c01e2..5636673b84e7 100644

Lines of this file are not shown. View the raw message.

drivers/net/netdevsim/bpf.c +5 -3
index e0a4acc6144b..8e47755cc159 100644

Lines of this file are not shown. View the raw message.

drivers/net/plip/plip.c +1 -1
index e89cdebae6f1..e8b7d596d749 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/ax88179_178a.c +8 -8
index 5ee3e457a79c..ea9c8361bf46 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/usbnet.c +2 -6
index 6598a4cba158..7a8324d2a968 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/snoc.c +2 -3
index d4589b2ab3b6..b6762fe2efe2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath9k/htc.h +5 -5
index 9f64e32381f9..81107100e368 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath9k/htc_drv_init.c +2 -1
index 11054c17a9b5..eaaafa64a3ee 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/wil6210/debugfs.c +6 -12
index 304b4d4e506a..1e38fdf92d1d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlegacy/4965-rs.c +4 -1
index 0a02d8aca320..ce891ac32388 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/sta.c +1 -0
index 5df4bbb6c6de..a3255100e3fe 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intersil/p54/main.c +1 -1
index a3ca6620dc0c..8fa3ec71603e 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intersil/p54/p54spi.c +2 -1
index ab0fe8565851..cdb57819684a 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mac80211_hwsim.c +8 -6
index ffe27104f654..6b0ad6b4dd4b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/libertas/if_usb.c +1 -0
index 5d6dc1dd050d..32fdc4150b60 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mac80211.c +1 -0
index 8bd191347b9f..179337eb39ba 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtlwifi/debug.c +4 -4
index 55db71c766fe..ec0da33da4f8 100644

Lines of this file are not shown. View the raw message.

drivers/ntb/test/ntb_tool.c +5 -3
index 311d6ab8d016..6301aa413c3b 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/tcp.c +2 -1
index 4341c7244662..e9512d077b8a 100644

Lines of this file are not shown. View the raw message.

drivers/opp/core.c +2 -2
index 088c93dc0085..08f5d1c3d665 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/dwc/pcie-tegra194.c +23 -25

48 lines not on this page · raw message

drivers/pci/quirks.c +3 -0
index 2a4bc8df8563..8b98b7f3eb24 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/nomadik/pinctrl-nomadik.c +3 -1
index 9f00adfefba8..5d7e368a1e7e 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/qcom/pinctrl-msm8916.c +2 -2
index 396db12ae904..bf68913ba821 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c +1 -0
index 4557e18d5989..12c40f9c1a24 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/sunxi/pinctrl-sunxi.c +4 -3
index c4052eab6bfc..8c41f8b818b2 100644

Lines of this file are not shown. View the raw message.

drivers/platform/olpc/olpc-ec.c +1 -1
index 2db7113383fd..89d9fca02fe9 100644

Lines of this file are not shown. View the raw message.

drivers/regulator/of_regulator.c +5 -1
index 87637eb6bcbc..7a0a235e4465 100644

Lines of this file are not shown. View the raw message.

drivers/remoteproc/qcom_wcnss.c +8 -2
index c72f1b3b6085..18431ac09822 100644

Lines of this file are not shown. View the raw message.

drivers/rpmsg/qcom_smd.c +1 -0
index a4db9f6100d2..0b1e853d8c91 100644

Lines of this file are not shown. View the raw message.

drivers/s390/char/zcore.c +10 -1
index 08f812475f5e..c9d172510509 100644

Lines of this file are not shown. View the raw message.

drivers/s390/cio/vfio_ccw_drv.c +3 -11
index fd590d1cffc1..d42e5a307437 100644

Lines of this file are not shown. View the raw message.

drivers/s390/scsi/zfcp_fc.c +20 -9
index d4c2c44b863d..7285e6ca948f 100644

Lines of this file are not shown. View the raw message.

drivers/s390/scsi/zfcp_fc.h +4 -2
index 6902ae1f8e4f..25bebfaa8cbc 100644

Lines of this file are not shown. View the raw message.

drivers/s390/scsi/zfcp_fsf.c +2 -2
index 5c652deb6fed..67dac3931634 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/lpfc_debugfs.c +10 -10
index e15bb3dfe995..69551132f304 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_def.h +2 -2
index caf28c5281aa..a8272d429075 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_gbl.h +2 -1
index 1a98e37c9be2..6d78818d5269 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_init.c +31 -3
index a6e24cef89a0..85f65a0ac150 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_isr.c +6 -10
index d7cf7f957087..0892eb6bbfa3 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_mbx.c +10 -7
index 29f2730fbf66..77abecf88aa2 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_nvme.c +0 -5
index a15af048cd82..f0de7089e9ae 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/sg.c +34 -23

57 lines not on this page · raw message

drivers/scsi/smartpqi/smartpqi_init.c +2 -2
index 80ff00025c03..540d6eb2cc48 100644

Lines of this file are not shown. View the raw message.

drivers/soc/amlogic/meson-mx-socinfo.c +1 -0
index 78f0f1aeca57..92125dd65f33 100644

Lines of this file are not shown. View the raw message.

drivers/soc/fsl/guts.c +1 -1
index 34810f9bb2ee..2b7fb7a8805c 100644

Lines of this file are not shown. View the raw message.

drivers/soc/qcom/qcom_aoss.c +3 -1
index f16d6ec78064..bca98df55bc6 100644

Lines of this file are not shown. View the raw message.

drivers/soundwire/bus_type.c +2 -6
index 4a465f55039f..2fe5a51918c8 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-rspi.c +4 -0
index 0524741d73b9..8ae2ac40b4b2 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-synquacer.c +1 -0
index 785e7c445123..1e10af6e10a9 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8192u/r8192U.h +1 -1
index ec33fb9122e9..57badc1e91e3 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8192u/r8192U_dm.c +18 -20
index c23e43b095d9..30b272da36f5 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8192u/r8192U_dm.h +1 -1
index 0b2a1c688597..2159018b4e38 100644

Lines of this file are not shown. View the raw message.

drivers/tee/tee_core.c +3 -0
index a7ccd4d2bd10..2db144d2d26f 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/thermal_sysfs.c +7 -3
index 4dce4a8f71ed..17b2361bc8f2 100644

Lines of this file are not shown. View the raw message.

drivers/tty/n_gsm.c +79 -11

90 lines not on this page · raw message

drivers/tty/serial/8250/8250_dw.c +3 -0
index 381c5117aec1..2d5a039229ac 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/mvebu-uart.c +11 -0
index 2ce0d05be368..bc5f77ac538e 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/ucc_uart.c +2 -0
index a0555ae2b1ef..181d55e0c60f 100644

Lines of this file are not shown. View the raw message.

drivers/tty/vt/vt.c +1 -1
index 9d9e056f94ac..b4f97df8e000 100644

Lines of this file are not shown. View the raw message.

drivers/usb/cdns3/gadget.c +1 -1
index 296f2ee1b680..a9399f2b3930 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/hcd.c +15 -11
index fde211519a97..d58098c2af10 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/uvc_video.c +1 -1
index 5c042f380708..f9fad639a489 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/legacy/inode.c +1 -0
index 9cd80ad075bd..97c73d610eeb 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/Kconfig +1 -1
index f985bb4a42db..ccf2c736d495 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/ehci-ppc-of.c +1 -0
index 6bbaee74f7e7..28a19693c19f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/ohci-nxp.c +1 -0
index c561881d0e79..07cee8c7c25e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/ohci-ppc-of.c +1 -0
index 45f7cceb6df3..98e46725999e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-tegra.c +4 -4
index 6087b1fa530f..d53bdb7d297f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.h +1 -1
index a9031f494984..5a6ad776858e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/renesas_usbhs/rza.c +4 -0
index 24de64edb674..2d77edefb4b3 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/sierra.c +2 -1
index a43263a0edd8..891e52bc5002 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/usb-serial.c +1 -1
index dc7a65b9ec98..2a2469b76cc5 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/usb_wwan.c +2 -1
index b2285d5a869d..628a75d1232a 100644

Lines of this file are not shown. View the raw message.

drivers/vfio/vfio.c +1 -0
index 388597930b64..efd3782ead97 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/amba-clcd.c +18 -6
index 3b7a7c74bf0a..09774ada36fb 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/arkfb.c +8 -1
index f940e8b66b85..6b1ad19b8db4 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/core/fbcon.c +5 -3
index 8721b7513136..4a544e1e2038 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/i740fb.c +7 -2
index 347cf8babc3e..1434eb0220e7 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/s3fb.c +2 -0
index be16c349c10f..228e5ee7a547 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/sis/init.c +2 -2
index fde27feae5d0..d6b2ce95a859 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/vt8623fb.c +2 -0
index c339a8fbad81..61e2028924a6 100644

Lines of this file are not shown. View the raw message.

drivers/virt/vboxguest/vboxguest_linux.c +6 -3
index 32c2c52f7e84..484c2f09f2ea 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/armada_37xx_wdt.c +2 -0
index e5dcb26d85f0..dcb3ffda3fad 100644

Lines of this file are not shown. View the raw message.

drivers/xen/xenbus/xenbus_dev_frontend.c +2 -2
index 597af455a522..0792fda49a15 100644

Lines of this file are not shown. View the raw message.

fs/attr.c +2 -0
index b4bbdbd4c8ca..848ffe6e3c24 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/block-group.c +1 -0
index bcf19dfb0af3..278933cd3a09 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/disk-io.c +14 -0
index a4b3e6f6bf02..b94d68035c5d 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/raid56.c +57 -17

74 lines not on this page · raw message

fs/btrfs/tree-log.c +3 -1
index b7bfecfc2ea3..bebd74267bed 100644

Lines of this file are not shown. View the raw message.

fs/cifs/smb2ops.c +3 -2
index 57164563eec6..6ae281cff0d5 100644

Lines of this file are not shown. View the raw message.

fs/erofs/decompressor.c +10 -6
index 23b74b8e8f96..38eeec5e3032 100644

Lines of this file are not shown. View the raw message.

fs/eventpoll.c +22 -0
index 339453ac834c..7e11135bc915 100644

Lines of this file are not shown. View the raw message.

fs/ext2/super.c +10 -2
index db403c01d4d5..644c83c115bc 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inline.c +3 -0
index 62384ae77a78..5ef13ede0445 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inode.c +8 -2
index d8fee911d4f4..22feae1d5f77 100644

Lines of this file are not shown. View the raw message.

fs/ext4/migrate.c +3 -1
index c5b2ea1a9372..1faa8e4ffb9d 100644

Lines of this file are not shown. View the raw message.

fs/ext4/namei.c +18 -5
index d151892db8b0..aaf1ed8ba87c 100644

Lines of this file are not shown. View the raw message.

fs/ext4/resize.c +11 -0
index 6410c1e098d3..f0fc7fc579e6 100644

Lines of this file are not shown. View the raw message.

fs/ext4/xattr.c +4 -2
index 20e40cac819e..4b0e2bc71d2c 100644

Lines of this file are not shown. View the raw message.

fs/ext4/xattr.h +13 -0
index f39cad2abe2a..990084e00374 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/node.c +5 -1
index 3dc7cc3d6ac6..b080d5c58f6c 100644

Lines of this file are not shown. View the raw message.

fs/fuse/control.c +2 -2
index c23f6f243ad4..2742d74cedda 100644

Lines of this file are not shown. View the raw message.

fs/fuse/inode.c +6 -0
index aa1d5cf1bc3a..f3d712decb57 100644

Lines of this file are not shown. View the raw message.

fs/jbd2/commit.c +1 -1
index d45ceb2e2149..8d5aced7ed0c 100644

Lines of this file are not shown. View the raw message.

fs/jbd2/transaction.c +12 -2
index be05fb96757c..e0bd73140415 100644

Lines of this file are not shown. View the raw message.

fs/namei.c +2 -0
index b952ecbd49c2..22d13732e61d 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4idmap.c +24 -22

46 lines not on this page · raw message

fs/nfs/nfs4proc.c +11 -9
index ba4a03a69fbf..7c5dfed0437f 100644

Lines of this file are not shown. View the raw message.

fs/overlayfs/export.c +1 -1
index 19574ef17470..984df246962e 100644

Lines of this file are not shown. View the raw message.

fs/splice.c +4 -6
index e509239d7e06..ae5623244d5e 100644

Lines of this file are not shown. View the raw message.

include/acpi/cppc_acpi.h +1 -1
index a6a9373ab863..d9417abf4cd0 100644

Lines of this file are not shown. View the raw message.

include/asm-generic/bitops/atomic.h +0 -6
index 0e7316a86240..21aa26e7c988 100644

Lines of this file are not shown. View the raw message.

include/linux/buffer_head.h +24 -1
index b56cc825f64d..8fab480a8e4e 100644

Lines of this file are not shown. View the raw message.

include/linux/kfifo.h +1 -1
index fc4b0b10210f..d3e0f9dc2587 100644

Lines of this file are not shown. View the raw message.

include/linux/kvm_host.h +27 -1
index 19e8344c51a8..dd4cdad76b18 100644

Lines of this file are not shown. View the raw message.

include/linux/mfd/t7l66xb.h +0 -1
index 69632c1b07bd..ae3e7a5c5219 100644

Lines of this file are not shown. View the raw message.

include/linux/nmi.h +2 -0
index 9003e29cde46..e972d1ae1ee6 100644

Lines of this file are not shown. View the raw message.

include/linux/pci_ids.h +2 -0
index 42588645478d..526d423740eb 100644

Lines of this file are not shown. View the raw message.

include/linux/tpm_eventlog.h +1 -1
index f3caeeb7a0d0..def3f6159a0e 100644

Lines of this file are not shown. View the raw message.

include/linux/usb/hcd.h +1 -0
index c0eb85b2981e..a400e86f6218 100644

Lines of this file are not shown. View the raw message.

include/linux/wait.h +5 -4
index 5903b1d17c92..7d04c1b588c7 100644

Lines of this file are not shown. View the raw message.

include/sound/core.h +8 -0
index ee238f100f73..8a80121811d9 100644

Lines of this file are not shown. View the raw message.

include/trace/events/spmi.h +6 -6
index 8b60efe18ba6..a6819fd85cdf 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/can/error.h +4 -1
index 34633283de64..a1000cb63063 100644

Lines of this file are not shown. View the raw message.

kernel/irq/chip.c +2 -1
index 856f0297dc73..521121c2666c 100644

Lines of this file are not shown. View the raw message.

kernel/kprobes.c +2 -1
index c93340bae3ac..671b51782182 100644

Lines of this file are not shown. View the raw message.

kernel/power/user.c +12 -1
index 77438954cc2b..672d4e28fa8a 100644

Lines of this file are not shown. View the raw message.

kernel/profile.c +7 -0
index e97e42aaf202..b5ce18b6f1b9 100644

Lines of this file are not shown. View the raw message.

kernel/sched/rt.c +9 -6
index 28c82dee13ea..c11d3d79d4c3 100644

Lines of this file are not shown. View the raw message.

kernel/time/timekeeping.c +6 -1
index e23c9e765a5f..2bc278dd9854 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events.c +1 -0
index 4acc77e049e5..047a89b815a3 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_probe.c +3 -2
index 23e85cb15134..476a685c6b6c 100644

Lines of this file are not shown. View the raw message.

kernel/watchdog.c +16 -5
index cbd3cf503c90..a3d0e928305c 100644

Lines of this file are not shown. View the raw message.

lib/list_debug.c +10 -2
index 5d5424b51b74..413daa72a3d8 100644

Lines of this file are not shown. View the raw message.

mm/mmap.c +0 -1
index 88e686367776..8873ef114d28 100644

Lines of this file are not shown. View the raw message.

mm/mremap.c +2 -4
index 8ce1b7632fbb..f6b8c009dd05 100644

Lines of this file are not shown. View the raw message.

net/9p/client.c +1 -4
index b03fce66eb8d..9368a1c0196d 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +6 -7
index 286fca6a9ab2..7aa64f300422 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/socket.c +4 -1
index 51bfb220fad8..8817a258e73b 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/transport.c +7 -1
index 22f4b798d385..6d31555e536e 100644

Lines of this file are not shown. View the raw message.

net/core/devlink.c +2 -2
index 0ac02cab3087..2dd354d869cd 100644

Lines of this file are not shown. View the raw message.

net/dccp/proto.c +5 -5
index cb61a9d281f6..951cbdf05ffe 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_output.c +20 -10
index ef749a47768a..c37028af0db0 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_tables_api.c +10 -4
index 58a7d89719b1..f9cecd30f1ba 100644

Lines of this file are not shown. View the raw message.

net/rds/ib_recv.c +1 -0
index a0f99bbf362c..6dd3f45df9ca 100644

Lines of this file are not shown. View the raw message.

net/rose/af_rose.c +9 -2
index 6a0df7c8a939..95dda29058a0 100644

Lines of this file are not shown. View the raw message.

net/rose/rose_route.c +2 -0
index 5f32113c9bbd..64d441d3b653 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_route.c +11 -1
index 5efa3e7ace15..b775e681cb56 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth.c +1 -1
index cdb05b48de44..e8fa21ad06a0 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/backchannel_rqst.c +14 -0
index 195b40c5dae4..266f3e5f55de 100644

Lines of this file are not shown. View the raw message.

net/vmw_vsock/af_vsock.c +9 -1
index d60d7caacbf5..28f6188458c4 100644

Lines of this file are not shown. View the raw message.

scripts/Makefile.gcc-plugins +1 -1
index 63d21489216b..ba4e271702c6 100644

Lines of this file are not shown. View the raw message.

scripts/faddr2line +3 -1
index 94ed98dd899f..57099687e5e1 100755

Lines of this file are not shown. View the raw message.

security/apparmor/apparmorfs.c +1 -1
index 7a8813677950..84daab8ae062 100644

Lines of this file are not shown. View the raw message.

security/apparmor/audit.c +1 -1
index 597732503815..68e06d87908e 100644

Lines of this file are not shown. View the raw message.

security/apparmor/domain.c +1 -1
index 1a33f490e667..2f61b4cc2fc0 100644

Lines of this file are not shown. View the raw message.

security/apparmor/include/lib.h +5 -0
index 7d27db740bc2..ac5054899f6f 100644

Lines of this file are not shown. View the raw message.

security/apparmor/include/policy.h +1 -1
index b5b4b8190e65..b5aa4231af68 100644

Lines of this file are not shown. View the raw message.

security/apparmor/label.c +7 -6
index 747a734a0824..e2674e425ca7 100644

Lines of this file are not shown. View the raw message.

security/apparmor/mount.c +5 -3
index 17081c8dbefa..4b433cf1526f 100644

Lines of this file are not shown. View the raw message.

security/selinux/ss/policydb.h +2 -0
index 162d0e79b85b..b18bc405f820 100644

Lines of this file are not shown. View the raw message.

sound/core/info.c +3 -3
index f18f4ef6661e..d670bd5dd7a9 100644

Lines of this file are not shown. View the raw message.

sound/core/misc.c +94 -0

94 lines not on this page · raw message

sound/core/timer.c +6 -5
index d684aa4150aa..420cc07a7f88 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_cirrus.c +1 -0
index f46204ab0b90..c10a264e9567 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_conexant.c +10 -1
index d4bfb1149327..d181dc31cd8d 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +11 -0
index 145e494f776a..d925ae7f1b02 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/da7210.c +2 -0
index e172913d04a4..efc5049c0796 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/msm8916-wcd-digital.c +23 -23

46 lines not on this page · raw message

sound/soc/codecs/wcd9335.c +36 -45

81 lines not on this page · raw message

sound/soc/generic/audio-graph-card.c +3 -1
index 1bc498124689..96aa2c015572 100644

Lines of this file are not shown. View the raw message.

sound/soc/mediatek/mt6797/mt6797-mt6351.c +5 -1
index 496f32bcfb5e..d2f6213a6bfc 100644

Lines of this file are not shown. View the raw message.

sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c +7 -3
index 727ff0f7f20b..8e1e60a9b45c 100644

Lines of this file are not shown. View the raw message.

sound/soc/mediatek/mt8173/mt8173-rt5650.c +6 -3
index 21e7d4d3ded5..cdfc697ad94e 100644

Lines of this file are not shown. View the raw message.

sound/soc/qcom/qdsp6/q6adm.c +1 -1
index da242515e146..8e3539941fad 100644

Lines of this file are not shown. View the raw message.

sound/usb/bcd2000/bcd2000.c +2 -1
index 6e3175826faf..97afb3780970 100644

Lines of this file are not shown. View the raw message.

tools/build/feature/test-libcrypto.c +11 -4
index a98174e0569c..bc34a5bbb504 100644

Lines of this file are not shown. View the raw message.

tools/lib/bpf/libbpf.c +7 -2
index 2a1dbf52fc9a..b8849812449c 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/genelf.c +5 -1
index f9f18b8b1df9..17b74aba8b9a 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/symbol-elf.c +20 -7
index 0b185b1090ff..a04a7dfb8ec0 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/test_btf.c +1 -1
index 3d617e806054..996eca57bc97 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc +0 -1
index ef1e9bafb098..728c2762ee58 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timers/clocksource-switch.c +3 -3
index bfc974b4572d..c18313a5f357 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timers/valid-adjtimex.c +1 -1
index 5397de708d3c..48b9a803235a 100644

Lines of this file are not shown. View the raw message.

tools/thermal/tmon/sysfs.c +13 -11
index b00b1bfd9d8e..cb1108bc9249 100644

Lines of this file are not shown. View the raw message.

tools/thermal/tmon/tmon.h +3 -0
index c9066ec104dd..44d16d778f04 100644

Lines of this file are not shown. View the raw message.

tools/vm/slabinfo.c +22 -10
index 68092d15e12b..dda035c358c2 100644

Lines of this file are not shown. View the raw message.

virt/kvm/kvm_main.c +5 -5
index 4b445dddb798..0008fc49528a 100644

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.