Skip to contentSkip to conversation

Linux 5.10.150

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Oct 26, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.150 kernel.

All users of the 5.10 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/ABI/testing/sysfs-bus-iio                    |    2 
 Makefile                                                   |    8 
 arch/arm/Kconfig                                           |    1 
 arch/arm/boot/dts/armada-385-turris-omnia.dts              |    4 
 arch/arm/boot/dts/exynos4412-midas.dtsi                    |    2 
 arch/arm/boot/dts/exynos4412-origen.dts                    |    2 
 arch/arm/boot/dts/imx6dl.dtsi                              |    3 
 arch/arm/boot/dts/imx6q.dtsi                               |    3 
 arch/arm/boot/dts/imx6qp.dtsi                              |    6 
 arch/arm/boot/dts/imx6sl.dtsi                              |    3 
 arch/arm/boot/dts/imx6sll.dtsi                             |    3 
 arch/arm/boot/dts/imx6sx.dtsi                              |    6 
 arch/arm/boot/dts/imx7d-sdb.dts                            |    7 
 arch/arm/boot/dts/kirkwood-lsxl.dtsi                       |   16 
 arch/arm/mm/dump.c                                         |    2 
 arch/arm/mm/mmu.c                                          |    4 
 arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi          |    1 
 arch/arm64/kernel/ftrace.c                                 |   17 
 arch/arm64/kernel/topology.c                               |    2 
 arch/ia64/mm/numa.c                                        |    1 
 arch/mips/bcm47xx/prom.c                                   |    4 
 arch/mips/sgi-ip27/ip27-xtalk.c                            |   74 ++-
 arch/powerpc/Makefile                                      |    2 
 arch/powerpc/boot/Makefile                                 |    1 
 arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi            |   51 ++
 arch/powerpc/boot/dts/fsl/mpc8540ads.dts                   |    2 
 arch/powerpc/boot/dts/fsl/mpc8541cds.dts                   |    2 
 arch/powerpc/boot/dts/fsl/mpc8555cds.dts                   |    2 
 arch/powerpc/boot/dts/fsl/mpc8560ads.dts                   |    2 
 arch/powerpc/kernel/pci_dn.c                               |    1 
 arch/powerpc/math-emu/math_efp.c                           |    1 
 arch/powerpc/platforms/powernv/opal.c                      |    1 
 arch/powerpc/sysdev/fsl_msi.c                              |    2 
 arch/riscv/Makefile                                        |    2 
 arch/riscv/include/asm/io.h                                |   16 
 arch/riscv/kernel/sys_riscv.c                              |    3 
 arch/riscv/mm/fault.c                                      |    3 
 arch/sh/include/asm/sections.h                             |    2 
 arch/sh/kernel/machvec.c                                   |   10 
 arch/um/kernel/um_arch.c                                   |    2 
 arch/x86/include/asm/hyperv-tlfs.h                         |    4 
 arch/x86/include/asm/microcode.h                           |    1 
 arch/x86/kernel/cpu/feat_ctl.c                             |    2 
 arch/x86/kernel/cpu/microcode/amd.c                        |    3 
 arch/x86/kernel/cpu/resctrl/pseudo_lock.c                  |   12 
 arch/x86/kvm/emulate.c                                     |    2 
 arch/x86/kvm/vmx/nested.c                                  |   30 +
 arch/x86/kvm/vmx/vmx.c                                     |   12 
 arch/x86/xen/enlighten_pv.c                                |    3 
 block/blk-mq.c                                             |    3 
 block/blk-throttle.c                                       |    8 
 crypto/akcipher.c                                          |    8 
 drivers/acpi/acpi_video.c                                  |   16 
 drivers/acpi/apei/ghes.c                                   |    2 
 drivers/ata/libahci_platform.c                             |   14 
 drivers/block/nbd.c                                        |    6 
 drivers/bluetooth/btusb.c                                  |   47 +-
 drivers/bluetooth/hci_ldisc.c                              |    7 
 drivers/bluetooth/hci_serdev.c                             |   10 
 drivers/char/hw_random/imx-rngc.c                          |   14 
 drivers/clk/baikal-t1/ccu-div.c                            |   65 +++
 drivers/clk/baikal-t1/ccu-div.h                            |   10 
 drivers/clk/baikal-t1/clk-ccu-div.c                        |   26 +
 drivers/clk/bcm/clk-bcm2835.c                              |    8 
 drivers/clk/berlin/bg2.c                                   |    5 
 drivers/clk/berlin/bg2q.c                                  |    6 
 drivers/clk/clk-ast2600.c                                  |    2 
 drivers/clk/clk-oxnas.c                                    |    6 
 drivers/clk/clk-qoriq.c                                    |   10 
 drivers/clk/clk-versaclock5.c                              |    2 
 drivers/clk/mediatek/clk-mt8183-mfgcfg.c                   |    6 
 drivers/clk/meson/meson-aoclk.c                            |    5 
 drivers/clk/meson/meson-eeclk.c                            |    5 
 drivers/clk/meson/meson8b.c                                |    5 
 drivers/clk/qcom/apss-ipq6018.c                            |    2 
 drivers/clk/sprd/common.c                                  |    9 
 drivers/clk/tegra/clk-tegra114.c                           |    1 
 drivers/clk/tegra/clk-tegra20.c                            |    1 
 drivers/clk/tegra/clk-tegra210.c                           |    1 
 drivers/clk/ti/clk-dra7-atl.c                              |    9 
 drivers/clk/zynqmp/clkc.c                                  |    7 
 drivers/clk/zynqmp/pll.c                                   |   31 -
 drivers/crypto/cavium/cpt/cptpf_main.c                     |    6 
 drivers/crypto/ccp/ccp-dmaengine.c                         |    6 
 drivers/crypto/hisilicon/zip/zip_crypto.c                  |    4 
 drivers/crypto/inside-secure/safexcel_hash.c               |    8 
 drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c          |   18 
 drivers/crypto/qat/qat_common/qat_algs.c                   |  109 +++--
 drivers/crypto/qat/qat_common/qat_crypto.h                 |   24 +
 drivers/crypto/sahara.c                                    |   18 
 drivers/dma-buf/udmabuf.c                                  |    9 
 drivers/dma/hisi_dma.c                                     |   28 -
 drivers/dma/ioat/dma.c                                     |    6 
 drivers/firmware/efi/libstub/fdt.c                         |    8 
 drivers/firmware/google/gsmi.c                             |    9 
 drivers/fpga/dfl.c                                         |    2 
 drivers/fsi/fsi-core.c                                     |    3 
 drivers/gpu/drm/Kconfig                                    |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c             |    7 
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c                 |   14 
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c                |    2 
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c                     |    5 
 drivers/gpu/drm/amd/amdgpu/soc15.c                         |   25 +
 drivers/gpu/drm/amd/display/dc/calcs/bw_fixed.c            |    6 
 drivers/gpu/drm/amd/display/dc/core/dc.c                   |   16 
 drivers/gpu/drm/amd/display/dc/dc_stream.h                 |    6 
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c  |   35 -
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h  |    3 
 drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h          |    8 
 drivers/gpu/drm/bridge/adv7511/adv7511.h                   |    5 
 drivers/gpu/drm/bridge/adv7511/adv7511_cec.c               |    4 
 drivers/gpu/drm/bridge/lontium-lt9611.c                    |    3 
 drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c   |    4 
 drivers/gpu/drm/bridge/parade-ps8640.c                     |    4 
 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c                  |   13 
 drivers/gpu/drm/drm_bridge.c                               |    4 
 drivers/gpu/drm/drm_dp_helper.c                            |    9 
 drivers/gpu/drm/drm_dp_mst_topology.c                      |    6 
 drivers/gpu/drm/drm_ioctl.c                                |    8 
 drivers/gpu/drm/drm_mipi_dsi.c                             |    1 
 drivers/gpu/drm/drm_panel_orientation_quirks.c             |    6 
 drivers/gpu/drm/i915/intel_pm.c                            |    8 
 drivers/gpu/drm/meson/meson_drv.c                          |    8 
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c                    |   12 
 drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c                   |   29 -
 drivers/gpu/drm/msm/dp/dp_catalog.c                        |    2 
 drivers/gpu/drm/nouveau/nouveau_bo.c                       |    4 
 drivers/gpu/drm/nouveau/nouveau_connector.c                |    3 
 drivers/gpu/drm/nouveau/nouveau_prime.c                    |    1 
 drivers/gpu/drm/omapdrm/dss/dss.c                          |    3 
 drivers/gpu/drm/pl111/pl111_versatile.c                    |    1 
 drivers/gpu/drm/udl/udl_modeset.c                          |    3 
 drivers/gpu/drm/vc4/vc4_vec.c                              |    4 
 drivers/gpu/drm/virtio/virtgpu_vq.c                        |    2 
 drivers/hid/hid-multitouch.c                               |    8 
 drivers/hid/hid-roccat.c                                   |    4 
 drivers/hsi/controllers/omap_ssi_core.c                    |    1 
 drivers/hsi/controllers/omap_ssi_port.c                    |    8 
 drivers/hwmon/gsc-hwmon.c                                  |    1 
 drivers/i2c/busses/i2c-mlxbf.c                             |   44 +-
 drivers/iio/adc/ad7923.c                                   |    4 
 drivers/iio/adc/at91-sama5d2_adc.c                         |   28 -
 drivers/iio/adc/ltc2497.c                                  |   13 
 drivers/iio/dac/ad5593r.c                                  |   46 +-
 drivers/iio/inkern.c                                       |    6 
 drivers/iio/pressure/dps310.c                              |  262 ++++++++-----
 drivers/infiniband/core/cm.c                               |   14 
 drivers/infiniband/core/uverbs_cmd.c                       |    5 
 drivers/infiniband/core/verbs.c                            |    2 
 drivers/infiniband/hw/hns/hns_roce_mr.c                    |    1 
 drivers/infiniband/hw/mlx4/mr.c                            |    1 
 drivers/infiniband/sw/rxe/rxe_qp.c                         |   10 
 drivers/infiniband/sw/siw/siw_qp_rx.c                      |   27 -
 drivers/iommu/omap-iommu-debug.c                           |    6 
 drivers/isdn/mISDN/l1oip.h                                 |    1 
 drivers/isdn/mISDN/l1oip_core.c                            |   13 
 drivers/leds/leds-lm3601x.c                                |    2 
 drivers/mailbox/bcm-flexrm-mailbox.c                       |    8 
 drivers/md/bcache/writeback.c                              |   73 ++-
 drivers/md/raid0.c                                         |    2 
 drivers/md/raid5.c                                         |   14 
 drivers/media/pci/cx88/cx88-vbi.c                          |    9 
 drivers/media/pci/cx88/cx88-video.c                        |   43 +-
 drivers/media/platform/exynos4-is/fimc-is.c                |    1 
 drivers/media/platform/xilinx/xilinx-vipp.c                |    9 
 drivers/memory/of_memory.c                                 |    2 
 drivers/memory/pl353-smc.c                                 |    1 
 drivers/mfd/fsl-imx25-tsadc.c                              |   34 +
 drivers/mfd/intel_soc_pmic_core.c                          |    1 
 drivers/mfd/lp8788-irq.c                                   |    3 
 drivers/mfd/lp8788.c                                       |   12 
 drivers/mfd/sm501.c                                        |    7 
 drivers/misc/ocxl/file.c                                   |    2 
 drivers/mmc/host/au1xmmc.c                                 |    3 
 drivers/mmc/host/sdhci-msm.c                               |    1 
 drivers/mmc/host/sdhci-sprd.c                              |    2 
 drivers/mmc/host/wmt-sdmmc.c                               |    5 
 drivers/mtd/devices/docg3.c                                |    7 
 drivers/mtd/nand/raw/atmel/nand-controller.c               |    1 
 drivers/mtd/nand/raw/fsl_elbc_nand.c                       |   28 -
 drivers/mtd/nand/raw/meson_nand.c                          |    4 
 drivers/net/can/usb/kvaser_usb/kvaser_usb.h                |    2 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c           |    3 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c          |    2 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c           |   79 +++
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c            |    1 
 drivers/net/ethernet/freescale/fs_enet/mac-fec.c           |    2 
 drivers/net/ethernet/marvell/mvpp2/mvpp2.h                 |    1 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c         |   10 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c            |   13 
 drivers/net/usb/r8152.c                                    |    4 
 drivers/net/wireless/ath/ath10k/mac.c                      |   54 +-
 drivers/net/wireless/ath/ath11k/mac.c                      |   25 -
 drivers/net/wireless/ath/ath9k/htc_hst.c                   |   43 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c    |    3 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c     |   12 
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c             |   34 +
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c      |   75 +++
 drivers/nvme/host/core.c                                   |    3 
 drivers/nvme/host/pci.c                                    |    3 
 drivers/nvme/target/tcp.c                                  |   11 
 drivers/pci/setup-res.c                                    |   11 
 drivers/phy/qualcomm/phy-qcom-usb-hsic.c                   |    6 
 drivers/platform/chrome/chromeos_laptop.c                  |   24 -
 drivers/platform/chrome/cros_ec.c                          |    8 
 drivers/platform/chrome/cros_ec_chardev.c                  |    3 
 drivers/platform/chrome/cros_ec_proto.c                    |   32 +
 drivers/platform/x86/msi-laptop.c                          |   14 
 drivers/power/supply/adp5061.c                             |    6 
 drivers/powercap/intel_rapl_common.c                       |    4 
 drivers/regulator/core.c                                   |    2 
 drivers/regulator/qcom_rpm-regulator.c                     |   24 -
 drivers/scsi/3w-9xxx.c                                     |    2 
 drivers/scsi/iscsi_tcp.c                                   |   73 ++-
 drivers/scsi/iscsi_tcp.h                                   |    2 
 drivers/scsi/libsas/sas_expander.c                         |    2 
 drivers/scsi/qedf/qedf_main.c                              |   21 +
 drivers/soc/qcom/smem_state.c                              |    3 
 drivers/soc/qcom/smsm.c                                    |   20 
 drivers/soc/tegra/Kconfig                                  |    1 
 drivers/soundwire/cadence_master.c                         |    9 
 drivers/soundwire/intel.c                                  |    1 
 drivers/spi/spi-dw-bt1.c                                   |    4 
 drivers/spi/spi-meson-spicc.c                              |    6 
 drivers/spi/spi-mt7621.c                                   |    8 
 drivers/spi/spi-omap-100k.c                                |    1 
 drivers/spi/spi-qup.c                                      |   21 -
 drivers/spi/spi-s3c64xx.c                                  |    9 
 drivers/spi/spi.c                                          |    2 
 drivers/spmi/spmi-pmic-arb.c                               |   13 
 drivers/staging/greybus/audio_helper.c                     |   11 
 drivers/staging/media/meson/vdec/vdec_hevc.c               |    6 
 drivers/staging/media/sunxi/cedrus/cedrus.c                |    4 
 drivers/staging/rtl8723bs/core/rtw_cmd.c                   |   16 
 drivers/staging/vt6655/device_main.c                       |    8 
 drivers/thermal/intel/intel_powerclamp.c                   |    4 
 drivers/thermal/qcom/tsens-v0_1.c                          |    2 
 drivers/thunderbolt/switch.c                               |   24 +
 drivers/thunderbolt/tb.h                                   |    1 
 drivers/thunderbolt/tb_regs.h                              |    1 
 drivers/thunderbolt/usb4.c                                 |   20 
 drivers/tty/serial/8250/8250_core.c                        |   19 
 drivers/tty/serial/8250/8250_port.c                        |   15 
 drivers/tty/serial/fsl_lpuart.c                            |    2 
 drivers/tty/serial/jsm/jsm_driver.c                        |    3 
 drivers/tty/serial/xilinx_uartps.c                         |    2 
 drivers/usb/common/common.c                                |  102 +++++
 drivers/usb/common/debug.c                                 |   78 +++
 drivers/usb/core/devices.c                                 |   21 -
 drivers/usb/core/endpoint.c                                |   35 -
 drivers/usb/core/quirks.c                                  |    4 
 drivers/usb/gadget/function/f_printer.c                    |   12 
 drivers/usb/host/xhci-mem.c                                |    7 
 drivers/usb/host/xhci-plat.c                               |   18 
 drivers/usb/host/xhci.c                                    |    3 
 drivers/usb/host/xhci.h                                    |    1 
 drivers/usb/misc/idmouse.c                                 |    8 
 drivers/usb/musb/musb_gadget.c                             |    3 
 drivers/usb/storage/unusual_devs.h                         |    6 
 drivers/vhost/vsock.c                                      |    2 
 drivers/video/fbdev/smscufx.c                              |   14 
 drivers/video/fbdev/stifb.c                                |    2 
 fs/btrfs/qgroup.c                                          |   15 
 fs/btrfs/scrub.c                                           |   36 +
 fs/cifs/file.c                                             |    9 
 fs/cifs/smb2pdu.c                                          |    7 
 fs/dlm/ast.c                                               |    6 
 fs/dlm/lock.c                                              |   16 
 fs/ext4/fast_commit.c                                      |   40 +
 fs/ext4/file.c                                             |    6 
 fs/ext4/inode.c                                            |   14 
 fs/ext4/namei.c                                            |    2 
 fs/ext4/resize.c                                           |    2 
 fs/ext4/super.c                                            |   19 
 fs/f2fs/checkpoint.c                                       |   23 -
 fs/f2fs/data.c                                             |    4 
 fs/f2fs/extent_cache.c                                     |    3 
 fs/f2fs/f2fs.h                                             |   27 -
 fs/f2fs/gc.c                                               |   10 
 fs/f2fs/recovery.c                                         |   23 -
 fs/f2fs/segment.c                                          |   47 +-
 fs/f2fs/super.c                                            |    4 
 fs/io_uring.c                                              |    8 
 fs/jbd2/commit.c                                           |    2 
 fs/jbd2/journal.c                                          |   10 
 fs/jbd2/recovery.c                                         |    1 
 fs/jbd2/transaction.c                                      |    6 
 fs/nfsd/nfs4recover.c                                      |    4 
 fs/nfsd/nfs4state.c                                        |    5 
 fs/nfsd/nfs4xdr.c                                          |    2 
 fs/quota/quota_tree.c                                      |   38 +
 fs/userfaultfd.c                                           |    4 
 include/linux/ata.h                                        |   39 +
 include/linux/dynamic_debug.h                              |   11 
 include/linux/iova.h                                       |    2 
 include/linux/once.h                                       |   28 +
 include/linux/ring_buffer.h                                |    2 
 include/linux/serial_8250.h                                |    1 
 include/linux/skbuff.h                                     |    2 
 include/linux/tcp.h                                        |    2 
 include/linux/usb/ch9.h                                    |   62 ---
 include/net/ieee802154_netdev.h                            |   12 
 include/net/sock.h                                         |    2 
 include/net/tcp.h                                          |    5 
 include/uapi/linux/usb/ch9.h                               |   13 
 kernel/bpf/btf.c                                           |    2 
 kernel/bpf/syscall.c                                       |    2 
 kernel/cgroup/cpuset.c                                     |   18 
 kernel/gcov/gcc_4_7.c                                      |   18 
 kernel/livepatch/transition.c                              |   18 
 kernel/rcu/tasks.h                                         |    2 
 kernel/rcu/tree.c                                          |   17 
 kernel/trace/ftrace.c                                      |    8 
 kernel/trace/kprobe_event_gen_test.c                       |   49 ++
 kernel/trace/ring_buffer.c                                 |   87 ++++
 kernel/trace/trace.c                                       |   23 +
 lib/dynamic_debug.c                                        |   45 --
 lib/once.c                                                 |   30 +
 mm/hugetlb.c                                               |   29 -
 mm/mmap.c                                                  |    5 
 net/bluetooth/hci_core.c                                   |   34 +
 net/bluetooth/hci_sysfs.c                                  |    3 
 net/bluetooth/l2cap_core.c                                 |   17 
 net/can/bcm.c                                              |    7 
 net/core/stream.c                                          |    3 
 net/ieee802154/socket.c                                    |    4 
 net/ipv4/af_inet.c                                         |    2 
 net/ipv4/inet_hashtables.c                                 |    4 
 net/ipv4/netfilter/nft_fib_ipv4.c                          |    3 
 net/ipv4/tcp.c                                             |   19 
 net/ipv4/tcp_input.c                                       |    2 
 net/ipv4/tcp_ipv4.c                                        |   11 
 net/ipv4/tcp_output.c                                      |   19 
 net/ipv4/udp.c                                             |    6 
 net/ipv6/netfilter/nft_fib_ipv6.c                          |    6 
 net/ipv6/tcp_ipv6.c                                        |   11 
 net/ipv6/udp.c                                             |    4 
 net/mac80211/cfg.c                                         |    3 
 net/openvswitch/datapath.c                                 |   18 
 net/rds/tcp.c                                              |    2 
 net/sctp/auth.c                                            |   18 
 net/unix/garbage.c                                         |   20 
 net/vmw_vsock/virtio_transport_common.c                    |    2 
 net/xfrm/xfrm_ipcomp.c                                     |    1 
 scripts/Kbuild.include                                     |   23 +
 scripts/package/mkspec                                     |    4 
 scripts/selinux/install_policy.sh                          |    2 
 security/Kconfig.hardening                                 |   63 ++-
 sound/core/pcm_dmaengine.c                                 |    8 
 sound/core/rawmidi.c                                       |    2 
 sound/core/sound_oss.c                                     |   13 
 sound/pci/hda/hda_beep.c                                   |   15 
 sound/pci/hda/hda_beep.h                                   |    1 
 sound/pci/hda/patch_hdmi.c                                 |    6 
 sound/pci/hda/patch_realtek.c                              |   11 
 sound/pci/hda/patch_sigmatel.c                             |   25 -
 sound/soc/codecs/da7219.c                                  |    5 
 sound/soc/codecs/mt6660.c                                  |    8 
 sound/soc/codecs/tas2764.c                                 |   78 +--
 sound/soc/codecs/wcd9335.c                                 |    2 
 sound/soc/codecs/wcd934x.c                                 |    2 
 sound/soc/codecs/wm5102.c                                  |    6 
 sound/soc/codecs/wm5110.c                                  |    6 
 sound/soc/codecs/wm8997.c                                  |    6 
 sound/soc/fsl/eukrea-tlv320.c                              |    8 
 sound/soc/sh/rcar/ctu.c                                    |    6 
 sound/soc/sh/rcar/dvc.c                                    |    6 
 sound/soc/sh/rcar/mix.c                                    |    6 
 sound/soc/sh/rcar/src.c                                    |    5 
 sound/soc/sh/rcar/ssi.c                                    |    4 
 sound/soc/sof/sof-pci-dev.c                                |    2 
 sound/usb/endpoint.c                                       |    6 
 tools/bpf/bpftool/btf_dumper.c                             |    2 
 tools/bpf/bpftool/main.c                                   |   10 
 tools/lib/bpf/xsk.c                                        |    6 
 tools/objtool/elf.c                                        |    7 
 tools/perf/util/intel-pt.c                                 |    9 
 tools/testing/selftests/arm64/signal/testcases/testcases.c |    2 
 tools/testing/selftests/tpm2/tpm2.py                       |    4 
 379 files changed, 3232 insertions(+), 1463 deletions(-)

Adrian Hunter (1):
perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc

Adrián Larumbe (1):
drm/meson: explicitly remove aggregate driver at module unload time

Albert Briscoe (1):
usb: gadget: function: fix dangling pnp_string in f_printer.c

Alex Deucher (1):
Revert "drm/amdgpu: make sure to init common IP before gmc"

Alexander Aring (4):
fs: dlm: fix race between test_bit() and queue_work()
fs: dlm: handle -EBUSY first in lock arg validation
net: ieee802154: return -EINVAL for unknown addr type Revert "net/ieee802154: reject zero-sized raw_sendmsg()"

Alexander Coffin (1):
wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit()

Alexander Stein (6):
ARM: dts: imx6q: add missing properties for sram
ARM: dts: imx6dl: add missing properties for sram
ARM: dts: imx6qp: add missing properties for sram
ARM: dts: imx6sl: add missing properties for sram
ARM: dts: imx6sll: add missing properties for sram
ARM: dts: imx6sx: add missing properties for sram

Alvin Šipraga (1):
drm: bridge: adv7511: fix CEC power down control register offset

Andreas Pape (1):
ALSA: dmaengine: increment buffer pointer atomically

Andrew Bresticker (2):
riscv: Allow PROT_WRITE-only mmap()
riscv: Make VM_WRITE imply VM_READ

Andrew Gaul (1):
r8152: Rate limit overflow messages

Andrew Perepechko (1):
jbd2: wake up journal waiters in FIFO order, not LIFO

Andri Yngvason (1):
HID: multitouch: Add memory barriers

Anna Schumaker (1):

      NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data

Anssi Hannula (4):
can: kvaser_usb: Fix use of uninitialized completion
can: kvaser_usb_leaf: Fix overread with an invalid command
can: kvaser_usb_leaf: Fix TX queue out of sync after restart
can: kvaser_usb_leaf: Fix CAN state after restart

Ard Biesheuvel (1):
efi: libstub: drop pointless get_memory_map() call

Aric Cyr (1):
drm/amd/display: Remove interface for periodic interrupt 1

Arnd Bergmann (1):
Bluetooth: btusb: fix excessive stack usage

Arvid Norlander (1):
ACPI: video: Add Toshiba Satellite/Portege Z830 quirk

Asmaa Mnebhi (1):
i2c: mlxbf: support lock mechanism

Baokun Li (1):
ext4: fix null-ptr-deref in ext4_write_info

Bernard Metzler (1):
RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall.

Bitterblue Smith (4):
wifi: rtl8xxxu: Fix skb misuse in TX queue selection
wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration
wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask
wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM

Callum Osmotherly (1):
ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530

Carlos Llamas (1):

      mm/mmap: undo ->mmap() when arch_validate_flags() fails

Chao Qin (1):
powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue

Chao Yu (5):
f2fs: fix to do sanity check on destination blkaddr during recovery
f2fs: fix to do sanity check on summary info
f2fs: fix to avoid REQ_TIME and CP_TIME collision
f2fs: fix to account FS_CP_DATA_IO correctly
f2fs: fix wrong condition to trigger background checkpoint correctly

Chen-Yu Tsai (2):
drm/bridge: parade-ps8640: Fix regulator supply order
clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent

Christophe JAILLET (11):
MIPS: SGI-IP27: Free some unused memory
nfsd: Fix a memory leak in an error handling path
spi: mt7621: Fix an error message in mt7621_spi_probe()
mmc: au1xmmc: Fix an error handling path in au1xmmc_probe()
ASoC: da7219: Fix an error handling path in da7219_register_dai_clks()
mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe()
serial: 8250: Add an empty line and remove some useless {}
mfd: intel_soc_pmic: Fix an error handling path in intel_soc_pmic_i2c_probe()
mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq()
mfd: lp8788: Fix an error handling path in lp8788_probe()
mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init()

Chunfeng Yun (2):
usb: common: add function to get interval expressed in us unit
usb: common: move function's kerneldoc next to its definition

Claudiu Beznea (4):
iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX
iio: adc: at91-sama5d2_adc: check return status for pressure and touch
iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq
iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume

Coly Li (1):
bcache: fix set_at_max_writeback_rate() for multiple attached devices

Dai Ngo (1):
NFSD: fix use-after-free on source server when doing inter-server copy

Daisuke Matsuda (1):
IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers

Damian Muszynski (1):
crypto: qat - fix DMA transfer direction

Dan Carpenter (10):
wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() drm/bridge: Avoid uninitialized variable warning platform/chrome: fix memory corruption in ioctl
fpga: prevent integer overflow in dfl_feature_ioctl_set_irq()
mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct()
drivers: serial: jsm: fix some leaks in probe
mfd: fsl-imx25: Fix check for platform_get_irq() errors iommu/omap: Fix buffer overflow in debugfs
crypto: marvell/octeontx - prevent integer overflows
crypto: cavium - prevent integer overflow loading firmware

Daniel Golle (5):
wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620
wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620
wifi: rt2x00: set VGC gain for both chains of MT7620
wifi: rt2x00: set SoC wmac clock register
wifi: rt2x00: correctly set BBP register 86 for MT7620

Dave Jiang (1):
dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup()

David Collins (1):
spmi: pmic-arb: correct duplicate APID to PPID mapping logic

David Gow (1):
drm/amd/display: fix overflow on MIN_I64 definition

Dmitry Baryshkov (1):

      drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx

Dmitry Osipenko (3):
drm/virtio: Check whether transferred 2D BO is shmem
media: cedrus: Set the platform driver data earlier soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA

Dmitry Torokhov (2):
ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family
ARM: dts: exynos: fix polarity of VBUS GPIO of Origen

Dongliang Mu (2):
phy: qualcomm: call clk_disable_unprepare in the error handling
usb: idmouse: fix an uninit-value in idmouse_open

Duoming Zhou (2):
mISDN: fix use-after-free bugs in l1oip timer handlers
scsi: libsas: Fix use-after-free bug in smp_execute_task_sg()

Eddie James (2):
iio: pressure: dps310: Refactor startup procedure
iio: pressure: dps310: Reset chip after timeout

Eric Dumazet (3):
once: add DO_ONCE_SLOW() for sleepable contexts
tcp: annotate data-race around tcp_md5sig_pool_populated
inet: fully convert sk->sk_rx_dst to RCU rules

Fangrui Song (1):
riscv: Pass -mno-relax only on lld < 15.0.0

Filipe Manana (1):
btrfs: fix race between quota enable and quota rescan ioctl

Geert Uytterhoeven (1):
ARM: Drop CMDLINE_* dependency on ATAGS

Giovanni Cabiddu (1):
crypto: qat - use pre-allocated buffers in datapath

Greg Kroah-Hartman (3):
staging: greybus: audio_helper: remove unused and wrong debugfs usage
selinux: use "grep -E" instead of "egrep"
Linux 5.10.150

Guilherme G. Piccoli (1):
firmware: google: Test spinlock on panic path to avoid lockups

Haibo Chen (1):
ARM: dts: imx7d-sdb: config the max pressure for tsc2046

Hangyu Hua (1):
misc: ocxl: fix possible refcount leak in afu_ioctl()

Hans de Goede (3):
platform/x86: msi-laptop: Fix old-ec check for backlight registering platform/x86: msi-laptop: Fix resource cleanup
platform/x86: msi-laptop: Change DMI match / alias strings to fix module autoloading

Hari Chandrakanthan (1):
wifi: mac80211: allow bw change during channel switch in mesh

Helge Deller (1):
parisc: fbdev/stifb: Align graphics memory size to 4MB

Huacai Chen (1):
UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK

Hui Tang (1):
crypto: qat - fix use of 'dma_map_single'

Hyunwoo Kim (2):
fbdev: smscufx: Fix use-after-free in ufx_ops_open()
HID: roccat: Fix use-after-free in roccat_read()

Ian Nam (1):
clk: zynqmp: Fix stack-out-of-bounds in strncpy`

Ian Rogers (1):
selftests/xsk: Avoid use-after-free on ctx

Ignat Korchagin (1):
crypto: akcipher - default implementation for setting a private key

Ilpo Järvinen (1):
serial: 8250: Toggle IER bits on only after irq has been set up

Jack Wang (2):
HSI: omap_ssi_port: Fix dma_map_sg error check
mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg

Jaegeuk Kim (1):
f2fs: increase the limit for reserve_root

Jairaj Arava (1):
ASoC: SOF: pci: Change DMI match info to support all Chrome platforms

Jameson Thies (1):
platform/chrome: cros_ec: Notify the PM of wake events during resume

Jan Kara (2):
ext4: avoid crash when inline data creation follows DIO write
ext4: fix check for block being out of directory size

Janis Schoetterl-Glausch (1):
kbuild: rpm-pkg: fix breakage when V=1 is used

Javier Martinez Canillas (2):
drm: Use size_t type for len variable in drm_copy_field()
drm: Prevent drm_copy_field() to attempt copying a NULL pointer

Jean-Francois Le Fillatre (1):
usb: add quirks for Lenovo OneLink+ Dock

Jeffle Xu (1):
block: fix inflight statistics of part0

Jerry Lee 李修賢 (1):
ext4: continue to expand file system when the target size doesn't reach

Jesus Fernandez Manzano (1):
wifi: ath11k: fix number of VHT beamformee spatial streams

Jianglei Nie (4):
drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table()
bnx2x: fix potential memory leak in bnx2x_tpa_stop() drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc()
usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info()

Jiasheng Jiang (3):
ASoC: rsnd: Add check for rsnd_mod_power_on
fsi: core: Check error number after calling ida_simple_get
mfd: sm501: Add check for platform_driver_register()

Jie Hai (3):
dmaengine: hisilicon: Disable channels when unregister hisi_dma
dmaengine: hisilicon: Fix CQ head update
dmaengine: hisilicon: Add multi-thread support for a DMA channel

Jim Cromie (4):
dyndbg: fix static_branch manipulation
dyndbg: fix module.dyndbg handling
dyndbg: let query-modname override actual module name
dyndbg: drop EXPORTed dynamic_debug_exec_queries

Jinke Han (1):
ext4: place buffer head allocation before handle start

Joel Stanley (1):
clk: ast2600: BCLK comes from EPLL

Jonathan Cameron (1):
iio: ABI: Fix wrong format of differential capacitance channel ABI.

Junichi Uekawa (1):
vhost/vsock: Use kvmalloc/kvfree for larger packets.

Justin Chen (2):
usb: host: xhci-plat: suspend and resume clocks
usb: host: xhci-plat: suspend/resume clks for brcm

Kees Cook (7):
hardening: Clarify Kconfig text for auto-var-init
hardening: Avoid harmless Clang option under CONFIG_INIT_STACK_ALL_ZERO
hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
sh: machvec: Use char[] for section boundaries x86/microcode/AMD: Track patch allocation size explicitly
MIPS: BCM47XX: Cast memcmp() of function to (void *) x86/entry: Work around Clang __bdos() bug

Keith Busch (1):
nvme: copy firmware_rev on each init

Khaled Almahallawy (1):
drm/dp: Don't rewrite link config when setting phy test pattern

Khalid Masum (1):
xfrm: Update ipcomp_scratches with NULL when freed

Koba Ko (1):
crypto: ccp - Release dma channels before dmaengine unrgister

Kohei Tarumizu (1):
x86/resctrl: Fix to restore to original value when re-enabling hardware prefetch register

Krzysztof Kozlowski (2):
ASoC: wcd9335: fix order of Slimbus unprepare/disable
ASoC: wcd934x: fix order of Slimbus unprepare/disable

Kshitiz Varshney (1):
hwrng: imx-rngc - Moving IRQ handler registering after imx_rngc_irq_mask_clear()

Kuogee Hsieh (1):
drm/msm/dp: correct 1.62G link rate at dp_catalog_ctrl_config_msa()

Lalith Rajendran (1):
ext4: make ext4_lazyinit_thread freezable

Lam Thai (1):
bpftool: Fix a wrong type cast in btf_dumper_int

Lee Jones (1):
bpf: Ensure correct locking around vulnerable function find_vpid()

Letu Ren (1):
scsi: 3w-9xxx: Avoid disabling device if failing to enable it

Liang He (17):
hwmon: (gsc-hwmon) Call of_node_get() before of_find_xxx API drm:pl111: Add of_node_put() when breaking out of for_each_available_child_of_node() drm/omap: dss: Fix refcount leak bugs
ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API
memory: pl353-smc: Fix refcount leak bug in pl353_smc_probe()
memory: of: Fix refcount leak bug in of_get_ddr_timings()
memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings()
soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe()
soc: qcom: smem_state: Add refcounting for the 'state->of_node'
clk: meson: Hold reference returned by of_get_parent()
clk: oxnas: Hold reference returned by of_get_parent()
clk: qoriq: Hold reference returned by of_get_parent()
clk: berlin: Add of_node_put() for of_get_parent()
clk: sprd: Hold reference returned by of_get_parent()
media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop powerpc/sysdev/fsl_msi: Add missing of_node_put()
powerpc/pci_dn: Add missing of_node_put()

Lin Yujun (1):
MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create()

Linus Walleij (1):
regulator: qcom_rpm: Fix circular deferral regression

Liu Jian (1):
net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory

Liu Shixin (1):
mm: hugetlb: fix UAF in hugetlb_handle_userfault

Logan Gunthorpe (2):
md/raid5: Ensure stripe_fill happens on non-read IO with journal md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d

Lorenz Bauer (1):
bpf: btf: fix truncated last_member_type_id in btf_struct_resolve

Lucas Stach (1):
drm: bridge: dw_hdmi: only trigger hotplug event on link change

Luciano Leão (1):
x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype

Luiz Augusto von Dentz (3):
Bluetooth: hci_core: Fix not handling link timeouts propertly
Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times
Bluetooth: L2CAP: Fix user-after-free

Lukas Czerner (1):
ext4: don't increase iversion counter for ea_inodes

Luke D. Jones (2):
ALSA: hda/realtek: Correct pin configs for ASUS G533Z
ALSA: hda/realtek: Add quirk for ASUS GV601R laptop

Lyude Paul (1):
drm/nouveau/kms/nv140-: Disable interlacing

Maciej W. Rozycki (2):
RISC-V: Make port I/O string accessors actually work
PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge

Marek Behún (1):
ARM: dts: turris-omnia: Fix mpp26 pin name and comment

Marek Szyprowski (1):
spi: Ensure that sg_table won't be used after being freed

Mario Limonciello (2):
thunderbolt: Explicitly enable lane adapter hotplug events at startup
xhci: Don't show warning for reinit on known broken suspend

Mark Brown (1):
kselftest/arm64: Fix validatation termination record after EXTRA_CONTEXT

Mark Chen (1):
Bluetooth: btusb: Fine-tune mt7663 mechanism.

Mark Rutland (1):
arm64: ftrace: fix module PLTs with mcount

Mark Zhang (1):
RDMA/cm: Use SLID in the work completion as the DLID in responder side

Martin Liska (1):
gcov: support GCC 12.1 and newer compilers

Martin Povišer (3):
ASoC: tas2764: Allow mono streams
ASoC: tas2764: Drop conflicting set_bias_level power setting
ASoC: tas2764: Fix mute/unmute

Masahiro Yamada (1):
kbuild: remove the target in signal traps when interrupted

Mateusz Kwiatkowski (1):
drm/vc4: vec: Fix timings for VEC modes

Maxime Ripard (2):
drm/mipi-dsi: Detach devices when removing the host
clk: bcm2835: Make peripheral PLLC critical

Maya Matuszczyk (1):
drm: panel-orientation-quirks: Add quirk for Anbernic Win600

Miaoqian Lin (6):
clk: tegra: Fix refcount leak in tegra210_clock_init
clk: tegra: Fix refcount leak in tegra114_clock_init
clk: tegra20: Fix refcount leak in tegra20_clock_init
HSI: omap_ssi: Fix refcount leak in ssi_probe
media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init
clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe

Michael Hennerich (1):
iio: dac: ad5593r: Fix i2c read protocol requirements

Michael Walle (2):
ARM: dts: kirkwood: lsxl: fix serial line
ARM: dts: kirkwood: lsxl: remove first ethernet port

Michal Hocko (1):
rcu: Back off upon fill_page_cache_func() allocation failure

Michal Luczaj (1):
KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility

Mike Christie (1):
scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername()

Mike Pattrick (2):
openvswitch: Fix double reporting of drops in dropwatch
openvswitch: Fix overreporting of drops in dropwatch

Nam Cao (2):
staging: vt6655: fix some erroneous memory clean-up loops
staging: vt6655: fix potential memory leak

Nathan Chancellor (1):
powerpc/math_emu/efp: Include module.h

Neal Cardwell (1):
tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited

Neil Armstrong (1):
spi: meson-spicc: do not rely on busy flag in pow2 clk ops

Nicholas Piggin (1):
powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5

Niklas Cassel (4):
ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting()
ata: fix ata_id_has_devslp()
ata: fix ata_id_has_ncq_autosense()
ata: fix ata_id_has_dipm()

Nuno Sá (2):
iio: adc: ad7923: fix channel readings for some variants
iio: inkern: only release the device node when done with it

Ondrej Mosnacek (1):
userfaultfd: open userfaultfds with O_RDONLY

Pali Rohár (4):
powerpc/boot: Explicitly disable usage of SPE instructions
mtd: rawnand: fsl_elbc: Fix none ECC mode
serial: 8250: Fix restoring termios speed after suspend
powerpc: Fix SPE Power ISA properties for e500v1 platforms

Patrick Rudolph (1):
regulator: core: Prevent integer underflow

Patryk Duda (1):
platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure

Pavel Begunkov (2):
io_uring: correct pinned_vm accounting io_uring/af_unix: defer registered files gc to io_uring release

Peter Harliman Liem (1):
crypto: inside-secure - Change swab to swab32

Phil Sutter (1):
netfilter: nft_fib: Fix for rpath check with VRF devices

Pierre-Louis Bossart (1):
soundwire: intel: fix error handling on dai registration issues

Qu Wenruo (1):
btrfs: scrub: try to fix super block errors

Quanyang Wang (1):
clk: zynqmp: pll: rectify rate rounding in zynqmp_pll_round_rate

Quentin Monnet (1):
bpftool: Clear errno after libcap's checks

Rafael J. Wysocki (1):
thermal: intel_powerclamp: Use first online CPU as control_cpu

Randy Dunlap (2):
drm: fix drm_mipi_dbi build errors
ia64: export memory_add_physaddr_to_nid to fix cxl build error

Richard Acayan (1):
mmc: sdhci-msm: add compatible string check for sdm670

Richard Fitzgerald (1):

      soundwire: cadence: Don't overwrite msg->buf during write commands

Rik van Riel (1):
livepatch: fix race between fork and KLP transition

Rishabh Bhatnagar (1):
nvme-pci: set min_align_mask before calculating max_hw_sectors

Robert Marko (1):
clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical

Robin Guo (1):
usb: musb: Fix musb_gadget.c rxstate overflow bug

Robin Murphy (1):
iommu/iova: Fix module config properly

Ronnie Sahlberg (1):
cifs: destage dirty pages before re-reading them for cache=none

Russell King (Oracle) (1):
net: mvpp2: fix mvpp2 debugfs leak

Rustam Subkhankulov (1):
platform/chrome: fix double-free in chromeos_laptop_prepare()

Sami Tolvanen (1):
objtool: Preserve special st_shndx indexes in elf_update_symbol

Saranya Gopal (1):
ALSA: hda/realtek: Add Intel Reference SSID to support headset keys

Saurabh Sengar (1):
md: Replace snprintf with scnprintf

Saurav Kashyap (1):
scsi: qedf: Populate sysfs attributes for vport

Sean Christopherson (2):
KVM: nVMX: Unconditionally purge queued/injected events on nested "exit"
KVM: VMX: Drop bits 31:16 when shoving exception error code into VMCS

Sean Wang (1):
Bluetooth: btusb: mediatek: fix WMT failure during runtime suspend

Sebastian Krzyszkowiak (1):

      arm64: dts: imx8mq-librem5: Add bq25895 as max17055's power supply

Serge Semin (5):
clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD
clk: baikal-t1: Fix invalid xGMAC PTP clock divider
clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent
clk: baikal-t1: Add SATA internal ref clock buffer
ata: libahci_platform: Sanity check the DT child nodes number

Sergey Shtylyov (1):
arm64: topology: fix possible overflow in amu_fie_setup()

Sherry Sun (1):
tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown

Shigeru Yoshida (1):
nbd: Fix hung when signal interrupts nbd_start_device_ioctl()

Shuah Khan (2):
Revert "drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega" Revert "drm/amdgpu: use dirty framebuffer helper"

Shuai Xue (1):
ACPI: APEI: do not add task_work to kernel thread to avoid memory leak

Shubhrajyoti Datta (1):
tty: xilinx_uartps: Fix the ignore_status

Simon Ser (1):
drm/dp_mst: fix drm_dp_dpcd_read return value checks

Srinivas Pandruvada (1):
thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash

Stefan Berger (1):
selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle

Stefan Wahren (1):
clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration

Steve French (1):
smb3: must initialize two ACL struct fields to zero

Steven Rostedt (Google) (5):
ring-buffer: Allow splice to read previous partially read pages
ring-buffer: Have the shortest_full queue be the shortest not longest
ring-buffer: Check pending waiters when doing wake ups as well
ring-buffer: Add ring_buffer_wake_waiters()
ring-buffer: Fix race between reset page and reading page

Takashi Iwai (7):
ALSA: oss: Fix potential deadlock at unregistration
ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free()
ALSA: usb-audio: Fix potential memory leaks
ALSA: usb-audio: Fix NULL dererence at error path drm/udl: Restore display mode on resume
ALSA: hda: beep: Simplify keep-power-at-enable behavior
ALSA: hda/hdmi: Don't skip notification handling during PM operation

Tetsuo Handa (6):
Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure
net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks() net/ieee802154: reject zero-sized raw_sendmsg()
wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg()
Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create() net/ieee802154: don't warn zero-sized raw_sendmsg()

Thinh Nguyen (3):
usb: ch9: Add USB 3.2 SSP attributes
usb: common: Parse for USB SSP genXxY
usb: common: debug: Check non-standard control requests

Tudor Ambarus (1):
mtd: rawnand: atmel: Unmap streaming DMA mappings

Uwe Kleine-König (2):
iio: ltc2497: Fix reading conversion results
leds: lm3601x: Don't use mutex after it was destroyed

Varun Prakash (1):
nvmet-tcp: add bounds check on Transfer Tag

Ville Syrjälä (2):
drm/i915: Fix watermark calculations for gen12+ RC CCS modifier drm/i915: Fix watermark calculations for gen12+ MC CCS modifier

Vincent Knecht (1):
thermal/drivers/qcom/tsens-v0_1: Fix MSM8939 fourth sensor hw_id

Vincent Whitchurch (1):
spi: s3c64xx: Fix large transfers with DMA

Vitaly Kuznetsov (1):
x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition

Vivek Kasireddy (1):

      udmabuf: Set ubuf->sg = NULL if the creation of sg table fails

Waiman Long (2):
tracing: Disable interrupt or preemption before acquiring arch_spinlock_t cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset

Wang Kefeng (2):
ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd()
ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE

Wei Yongjun (1):
power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type()

Wen Gong (1):
wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state()

Wenchao Chen (1):
mmc: sdhci-sprd: Fix minimum clock limit

William Dean (1):
mtd: devices: docg3: check the return value of devm_ioremap() in the probe

Wright Feng (1):
wifi: brcmfmac: fix invalid address access when enabling SCAN log level

Xiaoke Wang (1):
staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv()

Xin Long (1):
sctp: handle the error returned from sctp_auth_asoc_init_active_key

Xu Qiang (3):
spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime()
media: meson: vdec: add missing clk_disable_unprepare on error in vdec_hevc_start()

Ye Bin (7):
jbd2: fix potential buffer head reference count leak
jbd2: fix potential use-after-free in jbd2_fc_wait_bufs
jbd2: add miss release buffer head in fc_do_one_pass()
ext4: fix miss release buffer head in ext4_fc_write_inode
ext4: fix potential memory leak in ext4_fc_record_modified_inode()
ext4: fix potential memory leak in ext4_fc_record_regions()
ext4: update 'state->fc_regions_size' after successful memory allocation

Ye Weihua (1):
crypto: hisilicon/zip - fix mismatch in get/set sgl_sge_nr

Yipeng Zou (2):
tracing: kprobe: Fix kprobe event gen test module on exit
tracing: kprobe: Make gen test module work in arm and riscv

Yu Kuai (1):
blk-throttle: prevent overflow while calculating wait time

Zeng Jingxiang (1):
gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init()

Zhang Qilong (7):
spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe
ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe
ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe
ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe
ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe
f2fs: fix race condition on setting FI_NO_EXTENT flag

Zhang Rui (1):
powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain

Zhang Xiaoxu (1):
cifs: Fix the error length of VALIDATE_NEGOTIATE_INFO message

Zhang Yi (1):
ext4: ext4_read_bh_lock() should submit IO if the buffer isn't uptodate

Zheng Yejian (1):
ftrace: Properly unset FTRACE_HASH_FL_MOD

Zheng Yongjun (2):
net: fs_enet: Fix wrong check in do_pd_setup powerpc/powernv: add missing of_node_put() in opal_export_attrs()

Zhengchao Shao (1):
crypto: sahara - don't sleep when in softirq

Zheyu Ma (2):
drm/bridge: megachips: Fix a null pointer dereference bug
media: cx88: Fix a null-ptr-deref bug in buffer_prepare()

Zhihao Cheng (1):
quota: Check next/prev free block number after reading from quota file

Zhu Yanjun (2):
RDMA/rxe: Fix "kernel NULL pointer dereference" error RDMA/rxe: Fix the error caused by qp->sk

Ziyang Xuan (1):
can: bcm: check the result of can_send() in bcm_can_tx()

Zqiang (1):
rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE()

hongao (1):
drm/amdgpu: fix initial connector audio value

sunghwan jung (1):
Revert "usb: storage: Add quirk for Samsung Fit flash"

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-bus-iio +1 -1
index df42bed09f25..53f07fc41b96 100644
@@ -142,7 +142,7 @@ Description:
 		Raw capacitance measurement from channel Y. Units after
 		application of scale and offset are nanofarads.
 
-What:		/sys/.../iio:deviceX/in_capacitanceY-in_capacitanceZ_raw
+What:		/sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw
 KernelVersion:	3.2
 Contact:	[email protected]
 Description:
Makefile +4 -4
index b824bdb0457c..5c7075d3b2f6 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 149
+SUBLEVEL = 150
 EXTRAVERSION =
 NAME = Dare mighty things
 
@@ -816,12 +816,12 @@ endif
 
 # Initialize all stack variables with a zero value.
 ifdef CONFIG_INIT_STACK_ALL_ZERO
-# Future support for zero initialization is still being debated, see
-# https://bugs.llvm.org/show_bug.cgi?id=45497. These flags are subject to being
-# renamed or dropped.
 KBUILD_CFLAGS	+= -ftrivial-auto-var-init=zero
+ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER
+# https://github.com/llvm/llvm-project/issues/44842
 KBUILD_CFLAGS	+= -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
 endif
+endif
 
 DEBUG_CFLAGS	:=
 
arch/arm/Kconfig +0 -1
index b587ecc6f949..985ab0b091a6 100644
@@ -1791,7 +1791,6 @@ config CMDLINE
 choice
 	prompt "Kernel command line type" if CMDLINE != ""
 	default CMDLINE_FROM_BOOTLOADER
-	depends on ATAGS
 
 config CMDLINE_FROM_BOOTLOADER
 	bool "Use bootloader kernel arguments if available"
arch/arm/boot/dts/armada-385-turris-omnia.dts +2 -2
index fde4c302f08e..92e08486ec81 100644
@@ -307,7 +307,7 @@ spi0cs0_pins: spi0cs0-pins {
 		marvell,function = "spi0";
 	};
 
-	spi0cs1_pins: spi0cs1-pins {
+	spi0cs2_pins: spi0cs2-pins {
 		marvell,pins = "mpp26";
 		marvell,function = "spi0";
 	};
@@ -342,7 +342,7 @@ partition@100000 {
 		};
 	};
 
-	/* MISO, MOSI, SCLK and CS1 are routed to pin header CN11 */
+	/* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */
 };
 
 &uart0 {
arch/arm/boot/dts/exynos4412-midas.dtsi +1 -1
index 06450066b178..255a13666edc 100644
@@ -588,7 +588,7 @@ s5k6a3@10 {
 		clocks = <&camera 1>;
 		clock-names = "extclk";
 		samsung,camclk-out = <1>;
-		gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
+		gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
 
 		port {
 			is_s5k6a3_ep: endpoint {
arch/arm/boot/dts/exynos4412-origen.dts +1 -1
index c2e793b69e7d..e2d76ea4404e 100644
@@ -95,7 +95,7 @@ &exynos_usbphy {
 };
 
 &ehci {
-	samsung,vbus-gpio = <&gpx3 5 1>;
+	samsung,vbus-gpio = <&gpx3 5 GPIO_ACTIVE_HIGH>;
 	status = "okay";
 	phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
 	phy-names = "hsic0", "hsic1";
arch/arm/boot/dts/imx6dl.dtsi +3 -0
index fdd81fdc3f35..cd3183c36488 100644
@@ -84,6 +84,9 @@ soc {
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x20000>;
+			ranges = <0 0x00900000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6QDL_CLK_OCRAM>;
 		};
 
arch/arm/boot/dts/imx6q.dtsi +3 -0
index 5277e3903291..afec1677e6ba 100644
@@ -163,6 +163,9 @@ soc {
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x40000>;
+			ranges = <0 0x00900000 0x40000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6QDL_CLK_OCRAM>;
 		};
 
arch/arm/boot/dts/imx6qp.dtsi +6 -0
index b310f13a53f2..4d23c92aa8a6 100644
@@ -9,12 +9,18 @@ soc {
 		ocram2: sram@940000 {
 			compatible = "mmio-sram";
 			reg = <0x00940000 0x20000>;
+			ranges = <0 0x00940000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6QDL_CLK_OCRAM>;
 		};
 
 		ocram3: sram@960000 {
 			compatible = "mmio-sram";
 			reg = <0x00960000 0x20000>;
+			ranges = <0 0x00960000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6QDL_CLK_OCRAM>;
 		};
 
arch/arm/boot/dts/imx6sl.dtsi +3 -0
index 91a8c54d5e11..c184a6d5bc42 100644
@@ -114,6 +114,9 @@ soc {
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x20000>;
+			ranges = <0 0x00900000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6SL_CLK_OCRAM>;
 		};
 
arch/arm/boot/dts/imx6sll.dtsi +3 -0
index 0b622201a1f3..bf5b262b91f9 100644
@@ -115,6 +115,9 @@ soc {
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x20000>;
+			ranges = <0 0x00900000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 		};
 
 		intc: interrupt-controller@a01000 {
arch/arm/boot/dts/imx6sx.dtsi +6 -0
index dfdca1804f9f..c399919943c3 100644
@@ -161,12 +161,18 @@ soc {
 		ocram_s: sram@8f8000 {
 			compatible = "mmio-sram";
 			reg = <0x008f8000 0x4000>;
+			ranges = <0 0x008f8000 0x4000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6SX_CLK_OCRAM_S>;
 		};
 
 		ocram: sram@900000 {
 			compatible = "mmio-sram";
 			reg = <0x00900000 0x20000>;
+			ranges = <0 0x00900000 0x20000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
 			clocks = <&clks IMX6SX_CLK_OCRAM>;
 		};
 
arch/arm/boot/dts/imx7d-sdb.dts +1 -6
index 6823b9f1a2a3..6d562ebe9029 100644
@@ -199,12 +199,7 @@ tsc2046@0 {
 		interrupt-parent = <&gpio2>;
 		interrupts = <29 0>;
 		pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>;
-		ti,x-min = /bits/ 16 <0>;
-		ti,x-max = /bits/ 16 <0>;
-		ti,y-min = /bits/ 16 <0>;
-		ti,y-max = /bits/ 16 <0>;
-		ti,pressure-max = /bits/ 16 <0>;
-		ti,x-plate-ohms = /bits/ 16 <400>;
+		touchscreen-max-pressure = <255>;
 		wakeup-source;
 	};
 };
arch/arm/boot/dts/kirkwood-lsxl.dtsi +5 -11
index 7b151acb9984..88b70ba1c8fe 100644
@@ -10,6 +10,11 @@ chosen {
 
 	ocp@f1000000 {
 		pinctrl: pin-controller@10000 {
+			/* Non-default UART pins */
+			pmx_uart0: pmx-uart0 {
+				marvell,pins = "mpp4", "mpp5";
+			};
+
 			pmx_power_hdd: pmx-power-hdd {
 				marvell,pins = "mpp10";
 				marvell,function = "gpo";
@@ -213,22 +218,11 @@ hdd_power: regulator@2 {
 &mdio {
 	status = "okay";
 
-	ethphy0: ethernet-phy@0 {
-		reg = <0>;
-	};
-
 	ethphy1: ethernet-phy@8 {
 		reg = <8>;
 	};
 };
 
-&eth0 {
-	status = "okay";
-	ethernet0-port@0 {
-		phy-handle = <&ethphy0>;
-	};
-};
-
 &eth1 {
 	status = "okay";
 	ethernet1-port@0 {
arch/arm/mm/dump.c +1 -1
index c18d23a5e5f1..9b9023a92d46 100644
@@ -342,7 +342,7 @@ static void walk_pmd(struct pg_state *st, pud_t *pud, unsigned long start)
 		addr = start + i * PMD_SIZE;
 		domain = get_domain_name(pmd);
 		if (pmd_none(*pmd) || pmd_large(*pmd) || !pmd_present(*pmd))
-			note_page(st, addr, 3, pmd_val(*pmd), domain);
+			note_page(st, addr, 4, pmd_val(*pmd), domain);
 		else
 			walk_pte(st, pmd, addr, domain);
 
arch/arm/mm/mmu.c +4 -0
index 86f213f1b44b..0d0c3bf23914 100644
@@ -300,7 +300,11 @@ static struct mem_type mem_types[] __ro_after_init = {
 		.prot_pte  = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY |
 			     L_PTE_XN | L_PTE_RDONLY,
 		.prot_l1   = PMD_TYPE_TABLE,
+#ifdef CONFIG_ARM_LPAE
+		.prot_sect = PMD_TYPE_SECT | L_PMD_SECT_RDONLY | PMD_SECT_AP2,
+#else
 		.prot_sect = PMD_TYPE_SECT,
+#endif
 		.domain    = DOMAIN_KERNEL,
 	},
 	[MT_ROM] = {
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi +1 -0
index e3c6d1272198..325ea100969a 100644
@@ -899,6 +899,7 @@ bat: fuel-gauge@36 {
 		interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_gauge>;
+		power-supplies = <&bq25895>;
 		maxim,over-heat-temp = <700>;
 		maxim,over-volt = <4500>;
 		maxim,rsns-microohm = <5000>;
arch/arm64/kernel/ftrace.c +16 -1
index 3724bab278b2..402a24f845b9 100644
@@ -216,11 +216,26 @@ int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec,
 	unsigned long pc = rec->ip;
 	u32 old = 0, new;
 
+	new = aarch64_insn_gen_nop();
+
+	/*
+	 * When using mcount, callsites in modules may have been initalized to
+	 * call an arbitrary module PLT (which redirects to the _mcount stub)
+	 * rather than the ftrace PLT we'll use at runtime (which redirects to
+	 * the ftrace trampoline). We can ignore the old PLT when initializing
+	 * the callsite.
+	 *
+	 * Note: 'mod' is only set at module load time.
+	 */
+	if (!IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS) &&
+	    IS_ENABLED(CONFIG_ARM64_MODULE_PLTS) && mod) {
+		return aarch64_insn_patch_text_nosync((void *)pc, new);
+	}
+
 	if (!ftrace_find_callable_addr(rec, mod, &addr))
 		return -EINVAL;
 
 	old = aarch64_insn_gen_branch_imm(pc, addr, AARCH64_INSN_BRANCH_LINK);
-	new = aarch64_insn_gen_nop();
 
 	return ftrace_modify_code(pc, old, new, true);
 }
arch/arm64/kernel/topology.c +1 -1
index 543c67cae02f..4358bc319306 100644
@@ -158,7 +158,7 @@ static int validate_cpu_freq_invariance_counters(int cpu)
 	}
 
 	/* Convert maximum frequency from KHz to Hz and validate */
-	max_freq_hz = cpufreq_get_hw_max_freq(cpu) * 1000;
+	max_freq_hz = cpufreq_get_hw_max_freq(cpu) * 1000ULL;
 	if (unlikely(!max_freq_hz)) {
 		pr_debug("CPU%d: invalid maximum frequency.\n", cpu);
 		return -EINVAL;
arch/ia64/mm/numa.c +1 -0
index f34964271101..6cd002e8163d 100644
@@ -106,5 +106,6 @@ int memory_add_physaddr_to_nid(u64 addr)
 		return 0;
 	return nid;
 }
+EXPORT_SYMBOL(memory_add_physaddr_to_nid);
 #endif
 #endif
arch/mips/bcm47xx/prom.c +2 -2
index 3e2a8166377f..22509b5fab74 100644
@@ -86,7 +86,7 @@ static __init void prom_init_mem(void)
 			pr_debug("Assume 128MB RAM\n");
 			break;
 		}
-		if (!memcmp(prom_init, prom_init + mem, 32))
+		if (!memcmp((void *)prom_init, (void *)prom_init + mem, 32))
 			break;
 	}
 	lowmem = mem;
@@ -163,7 +163,7 @@ void __init bcm47xx_prom_highmem_init(void)
 
 	off = EXTVBASE + __pa(off);
 	for (extmem = 128 << 20; extmem < 512 << 20; extmem <<= 1) {
-		if (!memcmp(prom_init, (void *)(off + extmem), 16))
+		if (!memcmp((void *)prom_init, (void *)(off + extmem), 16))
 			break;
 	}
 	extmem -= lowmem;
arch/mips/sgi-ip27/ip27-xtalk.c +54 -20

104 lines not on this page · raw message

arch/powerpc/Makefile +1 -1
index 59175651f0b9..612254141296 100644
@@ -153,7 +153,7 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
 CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power9,-mtune=power8)
 else
 CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5))
-CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
+CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
 endif
 else ifdef CONFIG_PPC_BOOK3E_64
 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
arch/powerpc/boot/Makefile +1 -0
index e4b364b5da9e..8b78eba755f9 100644
@@ -30,6 +30,7 @@ endif
 
 BOOTCFLAGS    := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
 		 -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx \
+		 $(call cc-option,-mno-spe) $(call cc-option,-mspe=no) \
 		 -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc \
 		 $(LINUXINCLUDE)
 
arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi new file +51 -0

51 lines not on this page · raw message

arch/powerpc/boot/dts/fsl/mpc8540ads.dts +1 -1
index 18a885130538..e03ae130162b 100644
@@ -7,7 +7,7 @@
 
 /dts-v1/;
 
-/include/ "e500v2_power_isa.dtsi"
+/include/ "e500v1_power_isa.dtsi"
 
 / {
 	model = "MPC8540ADS";
arch/powerpc/boot/dts/fsl/mpc8541cds.dts +1 -1
index ac381e7b1c60..a2a6c5cf852e 100644
@@ -7,7 +7,7 @@
 
 /dts-v1/;
 
-/include/ "e500v2_power_isa.dtsi"
+/include/ "e500v1_power_isa.dtsi"
 
 / {
 	model = "MPC8541CDS";
arch/powerpc/boot/dts/fsl/mpc8555cds.dts +1 -1
index 9f58db2a7e66..901b6ff06dfb 100644
@@ -7,7 +7,7 @@
 
 /dts-v1/;
 
-/include/ "e500v2_power_isa.dtsi"
+/include/ "e500v1_power_isa.dtsi"
 
 / {
 	model = "MPC8555CDS";
arch/powerpc/boot/dts/fsl/mpc8560ads.dts +1 -1
index a24722ccaebf..c2f9aea78b29 100644
@@ -7,7 +7,7 @@
 
 /dts-v1/;
 
-/include/ "e500v2_power_isa.dtsi"
+/include/ "e500v1_power_isa.dtsi"
 
 / {
 	model = "MPC8560ADS";
arch/powerpc/kernel/pci_dn.c +1 -0
index e99b7c547d7e..b173ba342645 100644
@@ -330,6 +330,7 @@ struct pci_dn *pci_add_device_node_info(struct pci_controller *hose,
 	INIT_LIST_HEAD(&pdn->list);
 	parent = of_get_parent(dn);
 	pdn->parent = parent ? PCI_DN(parent) : NULL;
+	of_node_put(parent);
 	if (pdn->parent)
 		list_add_tail(&pdn->list, &pdn->parent->child_list);
 
arch/powerpc/math-emu/math_efp.c +1 -0
index 0a05e51964c1..90111c9e7521 100644
@@ -17,6 +17,7 @@
 
 #include <linux/types.h>
 #include <linux/prctl.h>
+#include <linux/module.h>
 
 #include <linux/uaccess.h>
 #include <asm/reg.h>
arch/powerpc/platforms/powernv/opal.c +1 -0
index c61c3b62c8c6..1d05c168c8fb 100644
@@ -892,6 +892,7 @@ static void opal_export_attrs(void)
 	kobj = kobject_create_and_add("exports", opal_kobj);
 	if (!kobj) {
 		pr_warn("kobject_create_and_add() of exports failed\n");
+		of_node_put(np);
 		return;
 	}
 
arch/powerpc/sysdev/fsl_msi.c +2 -0
index 808e7118abfc..d276c5e96445 100644
@@ -211,8 +211,10 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 			dev_err(&pdev->dev,
 				"node %pOF has an invalid fsl,msi phandle %u\n",
 				hose->dn, np->phandle);
+			of_node_put(np);
 			return -EINVAL;
 		}
+		of_node_put(np);
 	}
 
 	for_each_pci_msi_entry(entry, pdev) {
arch/riscv/Makefile +2 -0
index 3d3016092b31..1bb1bf1141cc 100644
@@ -37,6 +37,7 @@ else
 endif
 
 ifeq ($(CONFIG_LD_IS_LLD),y)
+ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
 	KBUILD_CFLAGS += -mno-relax
 	KBUILD_AFLAGS += -mno-relax
 ifneq ($(LLVM_IAS),1)
@@ -44,6 +45,7 @@ ifneq ($(LLVM_IAS),1)
 	KBUILD_AFLAGS += -Wa,-mno-relax
 endif
 endif
+endif
 
 # ISA string setting
 riscv-march-$(CONFIG_ARCH_RV32I)	:= rv32ima
arch/riscv/include/asm/io.h +8 -8
index c025a746a148..391dd869db64 100644
@@ -114,9 +114,9 @@ __io_reads_ins(reads, u32, l, __io_br(), __io_ar(addr))
 __io_reads_ins(ins,  u8, b, __io_pbr(), __io_par(addr))
 __io_reads_ins(ins, u16, w, __io_pbr(), __io_par(addr))
 __io_reads_ins(ins, u32, l, __io_pbr(), __io_par(addr))
-#define insb(addr, buffer, count) __insb((void __iomem *)(long)addr, buffer, count)
-#define insw(addr, buffer, count) __insw((void __iomem *)(long)addr, buffer, count)
-#define insl(addr, buffer, count) __insl((void __iomem *)(long)addr, buffer, count)
+#define insb(addr, buffer, count) __insb(PCI_IOBASE + (addr), buffer, count)
+#define insw(addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count)
+#define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count)
 
 __io_writes_outs(writes,  u8, b, __io_bw(), __io_aw())
 __io_writes_outs(writes, u16, w, __io_bw(), __io_aw())
@@ -128,22 +128,22 @@ __io_writes_outs(writes, u32, l, __io_bw(), __io_aw())
 __io_writes_outs(outs,  u8, b, __io_pbw(), __io_paw())
 __io_writes_outs(outs, u16, w, __io_pbw(), __io_paw())
 __io_writes_outs(outs, u32, l, __io_pbw(), __io_paw())
-#define outsb(addr, buffer, count) __outsb((void __iomem *)(long)addr, buffer, count)
-#define outsw(addr, buffer, count) __outsw((void __iomem *)(long)addr, buffer, count)
-#define outsl(addr, buffer, count) __outsl((void __iomem *)(long)addr, buffer, count)
+#define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count)
+#define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count)
+#define outsl(addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count)
 
 #ifdef CONFIG_64BIT
 __io_reads_ins(reads, u64, q, __io_br(), __io_ar(addr))
 #define readsq(addr, buffer, count) __readsq(addr, buffer, count)
 
 __io_reads_ins(ins, u64, q, __io_pbr(), __io_par(addr))
-#define insq(addr, buffer, count) __insq((void __iomem *)addr, buffer, count)
+#define insq(addr, buffer, count) __insq(PCI_IOBASE + (addr), buffer, count)
 
 __io_writes_outs(writes, u64, q, __io_bw(), __io_aw())
 #define writesq(addr, buffer, count) __writesq(addr, buffer, count)
 
 __io_writes_outs(outs, u64, q, __io_pbr(), __io_paw())
-#define outsq(addr, buffer, count) __outsq((void __iomem *)addr, buffer, count)
+#define outsq(addr, buffer, count) __outsq(PCI_IOBASE + (addr), buffer, count)
 #endif
 
 #include <asm-generic/io.h>
arch/riscv/kernel/sys_riscv.c +0 -3
index 8a7880b9c433..bb402685057a 100644
@@ -18,9 +18,6 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len,
 	if (unlikely(offset & (~PAGE_MASK >> page_shift_offset)))
 		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/mm/fault.c +2 -1
index 3c8b9e433c67..8f84bbe0ac33 100644
@@ -167,7 +167,8 @@ static inline bool access_error(unsigned long cause, struct vm_area_struct *vma)
 		}
 		break;
 	case EXC_LOAD_PAGE_FAULT:
-		if (!(vma->vm_flags & VM_READ)) {
+		/* Write implies read */
+		if (!(vma->vm_flags & (VM_READ | VM_WRITE))) {
 			return true;
 		}
 		break;
arch/sh/include/asm/sections.h +1 -1
index 8edb824049b9..0cb0ca149ac3 100644
@@ -4,7 +4,7 @@
 
 #include <asm-generic/sections.h>
 
-extern long __machvec_start, __machvec_end;
+extern char __machvec_start[], __machvec_end[];
 extern char __uncached_start, __uncached_end;
 extern char __start_eh_frame[], __stop_eh_frame[];
 
arch/sh/kernel/machvec.c +5 -5
index d606679a211e..57efaf5b82ae 100644
@@ -20,8 +20,8 @@
 #define MV_NAME_SIZE 32
 
 #define for_each_mv(mv) \
-	for ((mv) = (struct sh_machine_vector *)&__machvec_start; \
-	     (mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \
+	for ((mv) = (struct sh_machine_vector *)__machvec_start; \
+	     (mv) && (unsigned long)(mv) < (unsigned long)__machvec_end; \
 	     (mv)++)
 
 static struct sh_machine_vector * __init get_mv_byname(const char *name)
@@ -87,8 +87,8 @@ void __init sh_mv_setup(void)
 	if (!machvec_selected) {
 		unsigned long machvec_size;
 
-		machvec_size = ((unsigned long)&__machvec_end -
-				(unsigned long)&__machvec_start);
+		machvec_size = ((unsigned long)__machvec_end -
+				(unsigned long)__machvec_start);
 
 		/*
 		 * Sanity check for machvec section alignment. Ensure
@@ -102,7 +102,7 @@ void __init sh_mv_setup(void)
 		 * vector (usually the only one) from .machvec.init.
 		 */
 		if (machvec_size >= sizeof(struct sh_machine_vector))
-			sh_mv = *(struct sh_machine_vector *)&__machvec_start;
+			sh_mv = *(struct sh_machine_vector *)__machvec_start;
 	}
 
 	pr_notice("Booting machvec: %s\n", get_system_type());
arch/um/kernel/um_arch.c +1 -1
index 52e2e2a3e4ae..00c6dce14bd2 100644
@@ -77,7 +77,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 
 static void *c_start(struct seq_file *m, loff_t *pos)
 {
-	return *pos < NR_CPUS ? cpu_data + *pos : NULL;
+	return *pos < nr_cpu_ids ? cpu_data + *pos : NULL;
 }
 
 static void *c_next(struct seq_file *m, void *v, loff_t *pos)
arch/x86/include/asm/hyperv-tlfs.h +2 -2
index 0ed20e8bba9e..ae7192b75136 100644
@@ -474,7 +474,7 @@ struct hv_enlightened_vmcs {
 	u64 guest_rip;
 
 	u32 hv_clean_fields;
-	u32 hv_padding_32;
+	u32 padding32_1;
 	u32 hv_synthetic_controls;
 	struct {
 		u32 nested_flush_hypercall:1;
@@ -482,7 +482,7 @@ struct hv_enlightened_vmcs {
 		u32 reserved:30;
 	}  __packed hv_enlightenments_control;
 	u32 hv_vp_id;
-
+	u32 padding32_2;
 	u64 hv_vm_id;
 	u64 partition_assist_page;
 	u64 padding64_4[4];
arch/x86/include/asm/microcode.h +1 -0
index 91a06cef50c1..f73327397b89 100644
@@ -9,6 +9,7 @@
 struct ucode_patch {
 	struct list_head plist;
 	void *data;		/* Intel uses only this one */
+	unsigned int size;
 	u32 patch_id;
 	u16 equiv_cpu;
 };
arch/x86/kernel/cpu/feat_ctl.c +1 -1
index 29a3bedabd06..d7541851288e 100644
@@ -1,11 +1,11 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/tboot.h>
 
+#include <asm/cpu.h>
 #include <asm/cpufeature.h>
 #include <asm/msr-index.h>
 #include <asm/processor.h>
 #include <asm/vmx.h>
-#include "cpu.h"
 
 #undef pr_fmt
 #define pr_fmt(fmt)	"x86/cpu: " fmt
arch/x86/kernel/cpu/microcode/amd.c +2 -1
index 3f6b137ef4e6..c87936441339 100644
@@ -783,6 +783,7 @@ static int verify_and_add_patch(u8 family, u8 *fw, unsigned int leftover,
 		kfree(patch);
 		return -EINVAL;
 	}
+	patch->size = *patch_size;
 
 	mc_hdr      = (struct microcode_header_amd *)(fw + SECTION_HDR_SIZE);
 	proc_id     = mc_hdr->processor_rev_id;
@@ -864,7 +865,7 @@ load_microcode_amd(bool save, u8 family, const u8 *data, size_t size)
 		return ret;
 
 	memset(amd_ucode_patch, 0, PATCH_MAX_SIZE);
-	memcpy(amd_ucode_patch, p->data, min_t(u32, ksize(p->data), PATCH_MAX_SIZE));
+	memcpy(amd_ucode_patch, p->data, min_t(u32, p->size, PATCH_MAX_SIZE));
 
 	return ret;
 }
arch/x86/kernel/cpu/resctrl/pseudo_lock.c +9 -3
index 0daf2f1cf7a8..465dce141bfc 100644
@@ -416,6 +416,7 @@ static int pseudo_lock_fn(void *_rdtgrp)
 	struct pseudo_lock_region *plr = rdtgrp->plr;
 	u32 rmid_p, closid_p;
 	unsigned long i;
+	u64 saved_msr;
 #ifdef CONFIG_KASAN
 	/*
 	 * The registers used for local register variables are also used
@@ -459,6 +460,7 @@ static int pseudo_lock_fn(void *_rdtgrp)
 	 * the buffer and evict pseudo-locked memory read earlier from the
 	 * cache.
 	 */
+	saved_msr = __rdmsr(MSR_MISC_FEATURE_CONTROL);
 	__wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
 	closid_p = this_cpu_read(pqr_state.cur_closid);
 	rmid_p = this_cpu_read(pqr_state.cur_rmid);
@@ -510,7 +512,7 @@ static int pseudo_lock_fn(void *_rdtgrp)
 	__wrmsr(IA32_PQR_ASSOC, rmid_p, closid_p);
 
 	/* Re-enable the hardware prefetcher(s) */
-	wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0);
+	wrmsrl(MSR_MISC_FEATURE_CONTROL, saved_msr);
 	local_irq_enable();
 
 	plr->thread_done = 1;
@@ -867,6 +869,7 @@ bool rdtgroup_pseudo_locked_in_hierarchy(struct rdt_domain *d)
 static int measure_cycles_lat_fn(void *_plr)
 {
 	struct pseudo_lock_region *plr = _plr;
+	u32 saved_low, saved_high;
 	unsigned long i;
 	u64 start, end;
 	void *mem_r;
@@ -875,6 +878,7 @@ static int measure_cycles_lat_fn(void *_plr)
 	/*
 	 * Disable hardware prefetchers.
 	 */
+	rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
 	wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
 	mem_r = READ_ONCE(plr->kmem);
 	/*
@@ -891,7 +895,7 @@ static int measure_cycles_lat_fn(void *_plr)
 		end = rdtsc_ordered();
 		trace_pseudo_lock_mem_latency((u32)(end - start));
 	}
-	wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0);
+	wrmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
 	local_irq_enable();
 	plr->thread_done = 1;
 	wake_up_interruptible(&plr->lock_thread_wq);
@@ -936,6 +940,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,
 	u64 hits_before = 0, hits_after = 0, miss_before = 0, miss_after = 0;
 	struct perf_event *miss_event, *hit_event;
 	int hit_pmcnum, miss_pmcnum;
+	u32 saved_low, saved_high;
 	unsigned int line_size;
 	unsigned int size;
 	unsigned long i;
@@ -969,6 +974,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,
 	/*
 	 * Disable hardware prefetchers.
 	 */
+	rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
 	wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0);
 
 	/* Initialize rest of local variables */
@@ -1027,7 +1033,7 @@ static int measure_residency_fn(struct perf_event_attr *miss_attr,
 	 */
 	rmb();
 	/* Re-enable hardware prefetchers */
-	wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0);
+	wrmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high);
 	local_irq_enable();
 out_hit:
 	perf_event_release_kernel(hit_event);
arch/x86/kvm/emulate.c +1 -1
index 2aa41d682bb2..52a881d24070 100644
@@ -2039,7 +2039,7 @@ static int em_pop_sreg(struct x86_emulate_ctxt *ctxt)
 	if (rc != X86EMUL_CONTINUE)
 		return rc;
 
-	if (ctxt->modrm_reg == VCPU_SREG_SS)
+	if (seg == VCPU_SREG_SS)
 		ctxt->interruptibility = KVM_X86_SHADOW_INT_MOV_SS;
 	if (ctxt->op_bytes > 2)
 		rsp_increment(ctxt, ctxt->op_bytes - 2);
arch/x86/kvm/vmx/nested.c +21 -9
index 6c4277e99d58..7f15e2b2a0d6 100644
@@ -3776,7 +3776,16 @@ static void nested_vmx_inject_exception_vmexit(struct kvm_vcpu *vcpu,
 	u32 intr_info = nr | INTR_INFO_VALID_MASK;
 
 	if (vcpu->arch.exception.has_error_code) {
-		vmcs12->vm_exit_intr_error_code = vcpu->arch.exception.error_code;
+		/*
+		 * Intel CPUs do not generate error codes with bits 31:16 set,
+		 * and more importantly VMX disallows setting bits 31:16 in the
+		 * injected error code for VM-Entry.  Drop the bits to mimic
+		 * hardware and avoid inducing failure on nested VM-Entry if L1
+		 * chooses to inject the exception back to L2.  AMD CPUs _do_
+		 * generate "full" 32-bit error codes, so KVM allows userspace
+		 * to inject exception error codes with bits 31:16 set.
+		 */
+		vmcs12->vm_exit_intr_error_code = (u16)vcpu->arch.exception.error_code;
 		intr_info |= INTR_INFO_DELIVER_CODE_MASK;
 	}
 
@@ -4183,14 +4192,6 @@ static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
 			nested_vmx_abort(vcpu,
 					 VMX_ABORT_SAVE_GUEST_MSR_FAIL);
 	}
-
-	/*
-	 * Drop what we picked up for L2 via vmx_complete_interrupts. It is
-	 * preserved above and would only end up incorrectly in L1.
-	 */
-	vcpu->arch.nmi_injected = false;
-	kvm_clear_exception_queue(vcpu);
-	kvm_clear_interrupt_queue(vcpu);
 }
 
 /*
@@ -4530,6 +4531,17 @@ void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 vm_exit_reason,
 		WARN_ON_ONCE(nested_early_check);
 	}
 
+	/*
+	 * Drop events/exceptions that were queued for re-injection to L2
+	 * (picked up via vmx_complete_interrupts()), as well as exceptions
+	 * that were pending for L2.  Note, this must NOT be hoisted above
+	 * prepare_vmcs12(), events/exceptions queued for re-injection need to
+	 * be captured in vmcs12 (see vmcs12_save_pending_event()).
+	 */
+	vcpu->arch.nmi_injected = false;
+	kvm_clear_exception_queue(vcpu);
+	kvm_clear_interrupt_queue(vcpu);
+
 	vmx_switch_vmcs(vcpu, &vmx->vmcs01);
 
 	/* Update any VMCS fields that might have changed while L2 ran */
arch/x86/kvm/vmx/vmx.c +11 -1
index b33d0f283d4f..af6742d11ca1 100644
@@ -1737,7 +1737,17 @@ static void vmx_queue_exception(struct kvm_vcpu *vcpu)
 	kvm_deliver_exception_payload(vcpu);
 
 	if (has_error_code) {
-		vmcs_write32(VM_ENTRY_EXCEPTION_ERROR_CODE, error_code);
+		/*
+		 * Despite the error code being architecturally defined as 32
+		 * bits, and the VMCS field being 32 bits, Intel CPUs and thus
+		 * VMX don't actually supporting setting bits 31:16.  Hardware
+		 * will (should) never provide a bogus error code, but AMD CPUs
+		 * do generate error codes with bits 31:16 set, and so KVM's
+		 * ABI lets userspace shove in arbitrary 32-bit values.  Drop
+		 * the upper bits to avoid VM-Fail, losing information that
+		 * does't really exist is preferable to killing the VM.
+		 */
+		vmcs_write32(VM_ENTRY_EXCEPTION_ERROR_CODE, (u16)error_code);
 		intr_info |= INTR_INFO_DELIVER_CODE_MASK;
 	}
 
arch/x86/xen/enlighten_pv.c +2 -1
index 804c65d2b95f..815030b7f6fa 100644
@@ -768,6 +768,7 @@ static void xen_load_idt(const struct desc_ptr *desc)
 {
 	static DEFINE_SPINLOCK(lock);
 	static struct trap_info traps[257];
+	static const struct trap_info zero = { };
 	unsigned out;
 
 	trace_xen_cpu_load_idt(desc);
@@ -777,7 +778,7 @@ static void xen_load_idt(const struct desc_ptr *desc)
 	memcpy(this_cpu_ptr(&idt_desc), desc, sizeof(idt_desc));
 
 	out = xen_convert_trap_info(desc, traps, false);
-	memset(&traps[out], 0, sizeof(traps[0]));
+	traps[out] = zero;
 
 	xen_mc_flush();
 	if (HYPERVISOR_set_trap_table(traps))
block/blk-mq.c +2 -1
index cfc039fabf8c..e37ba792902a 100644
@@ -105,7 +105,8 @@ static bool blk_mq_check_inflight(struct blk_mq_hw_ctx *hctx,
 {
 	struct mq_inflight *mi = priv;
 
-	if (rq->part == mi->part && blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT)
+	if ((!mi->part->partno || rq->part == mi->part) &&
+	    blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT)
 		mi->inflight[rq_data_dir(rq)]++;
 
 	return true;
block/blk-throttle.c +3 -5
index c53a254171a2..c526fdd0a7b9 100644
@@ -944,7 +944,7 @@ static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio,
 				 u64 bps_limit, unsigned long *wait)
 {
 	bool rw = bio_data_dir(bio);
-	u64 bytes_allowed, extra_bytes, tmp;
+	u64 bytes_allowed, extra_bytes;
 	unsigned long jiffy_elapsed, jiffy_wait, jiffy_elapsed_rnd;
 	unsigned int bio_size = throtl_bio_data_size(bio);
 
@@ -961,10 +961,8 @@ static bool tg_with_in_bps_limit(struct throtl_grp *tg, struct bio *bio,
 		jiffy_elapsed_rnd = tg->td->throtl_slice;
 
 	jiffy_elapsed_rnd = roundup(jiffy_elapsed_rnd, tg->td->throtl_slice);
-
-	tmp = bps_limit * jiffy_elapsed_rnd;
-	do_div(tmp, HZ);
-	bytes_allowed = tmp;
+	bytes_allowed = mul_u64_u64_div_u64(bps_limit, (u64)jiffy_elapsed_rnd,
+					    (u64)HZ);
 
 	if (tg->bytes_disp[rw] + bio_size <= bytes_allowed) {
 		if (wait)
crypto/akcipher.c +8 -0
index f866085c8a4a..ab975a420e1e 100644
@@ -120,6 +120,12 @@ static int akcipher_default_op(struct akcipher_request *req)
 	return -ENOSYS;
 }
 
+static int akcipher_default_set_key(struct crypto_akcipher *tfm,
+				     const void *key, unsigned int keylen)
+{
+	return -ENOSYS;
+}
+
 int crypto_register_akcipher(struct akcipher_alg *alg)
 {
 	struct crypto_alg *base = &alg->base;
@@ -132,6 +138,8 @@ int crypto_register_akcipher(struct akcipher_alg *alg)
 		alg->encrypt = akcipher_default_op;
 	if (!alg->decrypt)
 		alg->decrypt = akcipher_default_op;
+	if (!alg->set_priv_key)
+		alg->set_priv_key = akcipher_default_set_key;
 
 	akcipher_prepare_alg(alg);
 	return crypto_register_alg(base);
drivers/acpi/acpi_video.c +16 -0
index eb04b2f828ee..cf6c9ffe04a2 100644
@@ -498,6 +498,22 @@ static const struct dmi_system_id video_dmi_table[] = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE R830"),
 		},
 	},
+	{
+	 .callback = video_disable_backlight_sysfs_if,
+	 .ident = "Toshiba Satellite Z830",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE Z830"),
+		},
+	},
+	{
+	 .callback = video_disable_backlight_sysfs_if,
+	 .ident = "Toshiba Portege Z830",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "PORTEGE Z830"),
+		},
+	},
 	/*
 	 * Some machine's _DOD IDs don't have bit 31(Device ID Scheme) set
 	 * but the IDs actually follow the Device ID Scheme.
drivers/acpi/apei/ghes.c +1 -1
index 0c8330ed1ffd..5206fd3b7867 100644
@@ -985,7 +985,7 @@ static void ghes_proc_in_irq(struct irq_work *irq_work)
 				ghes_estatus_cache_add(generic, estatus);
 		}
 
-		if (task_work_pending && current->mm != &init_mm) {
+		if (task_work_pending && current->mm) {
 			estatus_node->task_work.func = ghes_kick_task_work;
 			estatus_node->task_work_cpu = smp_processor_id();
 			ret = task_work_add(current, &estatus_node->task_work,
drivers/ata/libahci_platform.c +12 -2
index 0910441321f7..64d6da0a5303 100644
@@ -451,14 +451,24 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,
 		}
 	}
 
-	hpriv->nports = child_nodes = of_get_child_count(dev->of_node);
+	/*
+	 * Too many sub-nodes most likely means having something wrong with
+	 * the firmware.
+	 */
+	child_nodes = of_get_child_count(dev->of_node);
+	if (child_nodes > AHCI_MAX_PORTS) {
+		rc = -EINVAL;
+		goto err_out;
+	}
 
 	/*
 	 * If no sub-node was found, we still need to set nports to
 	 * one in order to be able to use the
 	 * ahci_platform_[en|dis]able_[phys|regulators] functions.
 	 */
-	if (!child_nodes)
+	if (child_nodes)
+		hpriv->nports = child_nodes;
+	else
 		hpriv->nports = 1;
 
 	hpriv->phys = devm_kcalloc(dev, hpriv->nports, sizeof(*hpriv->phys), GFP_KERNEL);
drivers/block/nbd.c +4 -2
index 4a6b82d434ee..b0d3dadeb964 100644
@@ -1342,10 +1342,12 @@ static int nbd_start_device_ioctl(struct nbd_device *nbd, struct block_device *b
 	mutex_unlock(&nbd->config_lock);
 	ret = wait_event_interruptible(config->recv_wq,
 					 atomic_read(&config->recv_threads) == 0);
-	if (ret)
+	if (ret) {
 		sock_shutdown(nbd);
-	flush_workqueue(nbd->recv_workq);
+		nbd_clear_que(nbd);
+	}
 
+	flush_workqueue(nbd->recv_workq);
 	mutex_lock(&nbd->config_lock);
 	nbd_bdev_reset(bdev);
 	/* user requested, ignore socket errors */
drivers/bluetooth/btusb.c +34 -13

121 lines not on this page · raw message

drivers/bluetooth/hci_ldisc.c +5 -2
index 637c5b8c2aa1..726d5c83c550 100644
@@ -490,6 +490,11 @@ static int hci_uart_tty_open(struct tty_struct *tty)
 		BT_ERR("Can't allocate control structure");
 		return -ENFILE;
 	}
+	if (percpu_init_rwsem(&hu->proto_lock)) {
+		BT_ERR("Can't allocate semaphore structure");
+		kfree(hu);
+		return -ENOMEM;
+	}
 
 	tty->disc_data = hu;
 	hu->tty = tty;
@@ -502,8 +507,6 @@ static int hci_uart_tty_open(struct tty_struct *tty)
 	INIT_WORK(&hu->init_ready, hci_uart_init_work);
 	INIT_WORK(&hu->write_work, hci_uart_write_work);
 
-	percpu_init_rwsem(&hu->proto_lock);
-
 	/* Flush any pending characters in the driver */
 	tty_driver_flush_buffer(tty);
 
drivers/bluetooth/hci_serdev.c +7 -3
index e9a44ab3812d..f2e2e553d4de 100644
@@ -301,11 +301,12 @@ int hci_uart_register_device(struct hci_uart *hu,
 
 	serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops);
 
+	if (percpu_init_rwsem(&hu->proto_lock))
+		return -ENOMEM;
+
 	err = serdev_device_open(hu->serdev);
 	if (err)
-		return err;
-
-	percpu_init_rwsem(&hu->proto_lock);
+		goto err_rwsem;
 
 	err = p->open(hu);
 	if (err)
@@ -375,6 +376,8 @@ int hci_uart_register_device(struct hci_uart *hu,
 	p->close(hu);
 err_open:
 	serdev_device_close(hu->serdev);
+err_rwsem:
+	percpu_free_rwsem(&hu->proto_lock);
 	return err;
 }
 EXPORT_SYMBOL_GPL(hci_uart_register_device);
@@ -396,5 +399,6 @@ void hci_uart_unregister_device(struct hci_uart *hu)
 		clear_bit(HCI_UART_PROTO_READY, &hu->flags);
 		serdev_device_close(hu->serdev);
 	}
+	percpu_free_rwsem(&hu->proto_lock);
 }
 EXPORT_SYMBOL_GPL(hci_uart_unregister_device);
drivers/char/hw_random/imx-rngc.c +7 -7
index 61c844baf26e..9b182e5bfa87 100644
@@ -272,13 +272,6 @@ static int imx_rngc_probe(struct platform_device *pdev)
 		goto err;
 	}
 
-	ret = devm_request_irq(&pdev->dev,
-			irq, imx_rngc_irq, 0, pdev->name, (void *)rngc);
-	if (ret) {
-		dev_err(rngc->dev, "Can't get interrupt working.\n");
-		goto err;
-	}
-
 	init_completion(&rngc->rng_op_done);
 
 	rngc->rng.name = pdev->name;
@@ -292,6 +285,13 @@ static int imx_rngc_probe(struct platform_device *pdev)
 
 	imx_rngc_irq_mask_clear(rngc);
 
+	ret = devm_request_irq(&pdev->dev,
+			irq, imx_rngc_irq, 0, pdev->name, (void *)rngc);
+	if (ret) {
+		dev_err(rngc->dev, "Can't get interrupt working.\n");
+		return ret;
+	}
+
 	if (self_test) {
 		ret = imx_rngc_self_test(rngc);
 		if (ret) {
drivers/clk/baikal-t1/ccu-div.c +65 -0

119 lines not on this page · raw message

drivers/clk/baikal-t1/ccu-div.h +10 -0
index 795665caefbd..4eb49ff4803c 100644
@@ -13,6 +13,14 @@
 #include <linux/bits.h>
 #include <linux/of.h>
 
+/*
+ * CCU Divider private clock IDs
+ * @CCU_SYS_SATA_CLK: CCU SATA internal clock
+ * @CCU_SYS_XGMAC_CLK: CCU XGMAC internal clock
+ */
+#define CCU_SYS_SATA_CLK		-1
+#define CCU_SYS_XGMAC_CLK		-2
+
 /*
  * CCU Divider private flags
  * @CCU_DIV_SKIP_ONE: Due to some reason divider can't be set to 1.
@@ -31,11 +39,13 @@
  * enum ccu_div_type - CCU Divider types
  * @CCU_DIV_VAR: Clocks gate with variable divider.
  * @CCU_DIV_GATE: Clocks gate with fixed divider.
+ * @CCU_DIV_BUF: Clock gate with no divider.
  * @CCU_DIV_FIXED: Ungateable clock with fixed divider.
  */
 enum ccu_div_type {
 	CCU_DIV_VAR,
 	CCU_DIV_GATE,
+	CCU_DIV_BUF,
 	CCU_DIV_FIXED
 };
 
drivers/clk/baikal-t1/clk-ccu-div.c +22 -4
index f141fda12b09..90f4fda406ee 100644
@@ -76,6 +76,16 @@
 		.divider = _divider				\
 	}
 
+#define CCU_DIV_BUF_INFO(_id, _name, _pname, _base, _flags)	\
+	{							\
+		.id = _id,					\
+		.name = _name,					\
+		.parent_name = _pname,				\
+		.base = _base,					\
+		.type = CCU_DIV_BUF,				\
+		.flags = _flags					\
+	}
+
 #define CCU_DIV_FIXED_INFO(_id, _name, _pname, _divider)	\
 	{							\
 		.id = _id,					\
@@ -188,11 +198,14 @@ static const struct ccu_div_rst_map axi_rst_map[] = {
  * for the SoC devices registers IO-operations.
  */
 static const struct ccu_div_info sys_info[] = {
-	CCU_DIV_VAR_INFO(CCU_SYS_SATA_REF_CLK, "sys_sata_ref_clk",
+	CCU_DIV_VAR_INFO(CCU_SYS_SATA_CLK, "sys_sata_clk",
 			 "sata_clk", CCU_SYS_SATA_REF_BASE, 4,
 			 CLK_SET_RATE_GATE,
 			 CCU_DIV_SKIP_ONE | CCU_DIV_LOCK_SHIFTED |
 			 CCU_DIV_RESET_DOMAIN),
+	CCU_DIV_BUF_INFO(CCU_SYS_SATA_REF_CLK, "sys_sata_ref_clk",
+			 "sys_sata_clk", CCU_SYS_SATA_REF_BASE,
+			 CLK_SET_RATE_PARENT),
 	CCU_DIV_VAR_INFO(CCU_SYS_APB_CLK, "sys_apb_clk",
 			 "pcie_clk", CCU_SYS_APB_BASE, 5,
 			 CLK_IS_CRITICAL, CCU_DIV_RESET_DOMAIN),
@@ -204,10 +217,12 @@ static const struct ccu_div_info sys_info[] = {
 			  "eth_clk", CCU_SYS_GMAC1_BASE, 5),
 	CCU_DIV_FIXED_INFO(CCU_SYS_GMAC1_PTP_CLK, "sys_gmac1_ptp_clk",
 			   "eth_clk", 10),
-	CCU_DIV_GATE_INFO(CCU_SYS_XGMAC_REF_CLK, "sys_xgmac_ref_clk",
-			  "eth_clk", CCU_SYS_XGMAC_BASE, 8),
+	CCU_DIV_GATE_INFO(CCU_SYS_XGMAC_CLK, "sys_xgmac_clk",
+			  "eth_clk", CCU_SYS_XGMAC_BASE, 1),
+	CCU_DIV_FIXED_INFO(CCU_SYS_XGMAC_REF_CLK, "sys_xgmac_ref_clk",
+			   "sys_xgmac_clk", 8),
 	CCU_DIV_FIXED_INFO(CCU_SYS_XGMAC_PTP_CLK, "sys_xgmac_ptp_clk",
-			   "eth_clk", 10),
+			   "sys_xgmac_clk", 8),
 	CCU_DIV_GATE_INFO(CCU_SYS_USB_CLK, "sys_usb_clk",
 			  "eth_clk", CCU_SYS_USB_BASE, 10),
 	CCU_DIV_VAR_INFO(CCU_SYS_PVT_CLK, "sys_pvt_clk",
@@ -396,6 +411,9 @@ static int ccu_div_clk_register(struct ccu_div_data *data)
 			init.base = info->base;
 			init.sys_regs = data->sys_regs;
 			init.divider = info->divider;
+		} else if (init.type == CCU_DIV_BUF) {
+			init.base = info->base;
+			init.sys_regs = data->sys_regs;
 		} else {
 			init.divider = info->divider;
 		}
drivers/clk/bcm/clk-bcm2835.c +4 -4
index 178886823b90..b7f89873fcf5 100644
@@ -968,9 +968,9 @@ static u32 bcm2835_clock_choose_div(struct clk_hw *hw,
 	return div;
 }
 
-static long bcm2835_clock_rate_from_divisor(struct bcm2835_clock *clock,
-					    unsigned long parent_rate,
-					    u32 div)
+static unsigned long bcm2835_clock_rate_from_divisor(struct bcm2835_clock *clock,
+						     unsigned long parent_rate,
+						     u32 div)
 {
 	const struct bcm2835_clock_data *data = clock->data;
 	u64 temp;
@@ -1786,7 +1786,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = {
 		.load_mask = CM_PLLC_LOADPER,
 		.hold_mask = CM_PLLC_HOLDPER,
 		.fixed_divider = 1,
-		.flags = CLK_SET_RATE_PARENT),
+		.flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT),
 
 	/*
 	 * PLLD is the display PLL, used to drive DSI display panels.
drivers/clk/berlin/bg2.c +4 -1
index bccdfa00fd37..67a9edbba29c 100644
@@ -500,12 +500,15 @@ static void __init berlin2_clock_setup(struct device_node *np)
 	int n, ret;
 
 	clk_data = kzalloc(struct_size(clk_data, hws, MAX_CLKS), GFP_KERNEL);
-	if (!clk_data)
+	if (!clk_data) {
+		of_node_put(parent_np);
 		return;
+	}
 	clk_data->num = MAX_CLKS;
 	hws = clk_data->hws;
 
 	gbase = of_iomap(parent_np, 0);
+	of_node_put(parent_np);
 	if (!gbase)
 		return;
 
drivers/clk/berlin/bg2q.c +5 -1
index e9518d35f262..dd2784bb75b6 100644
@@ -286,19 +286,23 @@ static void __init berlin2q_clock_setup(struct device_node *np)
 	int n, ret;
 
 	clk_data = kzalloc(struct_size(clk_data, hws, MAX_CLKS), GFP_KERNEL);
-	if (!clk_data)
+	if (!clk_data) {
+		of_node_put(parent_np);
 		return;
+	}
 	clk_data->num = MAX_CLKS;
 	hws = clk_data->hws;
 
 	gbase = of_iomap(parent_np, 0);
 	if (!gbase) {
+		of_node_put(parent_np);
 		pr_err("%pOF: Unable to map global base\n", np);
 		return;
 	}
 
 	/* BG2Q CPU PLL is not part of global registers */
 	cpupll_base = of_iomap(parent_np, 1);
+	of_node_put(parent_np);
 	if (!cpupll_base) {
 		pr_err("%pOF: Unable to map cpupll base\n", np);
 		iounmap(gbase);
drivers/clk/clk-ast2600.c +1 -1
index 24dab2312bc6..9c3305bcb27a 100644
@@ -622,7 +622,7 @@ static int aspeed_g6_clk_probe(struct platform_device *pdev)
 	regmap_write(map, 0x308, 0x12000); /* 3x3 = 9 */
 
 	/* P-Bus (BCLK) clock divider */
-	hw = clk_hw_register_divider_table(dev, "bclk", "hpll", 0,
+	hw = clk_hw_register_divider_table(dev, "bclk", "epll", 0,
 			scu_g6_base + ASPEED_G6_CLK_SELECTION1, 20, 3, 0,
 			ast2600_div_table,
 			&aspeed_g6_clk_lock);
drivers/clk/clk-oxnas.c +4 -2
index 78d5ea669fea..2fe36f579ac5 100644
@@ -207,7 +207,7 @@ static const struct of_device_id oxnas_stdclk_dt_ids[] = {
 
 static int oxnas_stdclk_probe(struct platform_device *pdev)
 {
-	struct device_node *np = pdev->dev.of_node;
+	struct device_node *np = pdev->dev.of_node, *parent_np;
 	const struct oxnas_stdclk_data *data;
 	const struct of_device_id *id;
 	struct regmap *regmap;
@@ -219,7 +219,9 @@ static int oxnas_stdclk_probe(struct platform_device *pdev)
 		return -ENODEV;
 	data = id->data;
 
-	regmap = syscon_node_to_regmap(of_get_parent(np));
+	parent_np = of_get_parent(np);
+	regmap = syscon_node_to_regmap(parent_np);
+	of_node_put(parent_np);
 	if (IS_ERR(regmap)) {
 		dev_err(&pdev->dev, "failed to have parent regmap\n");
 		return PTR_ERR(regmap);
drivers/clk/clk-qoriq.c +8 -2
index 46101c6a20f2..585b9ac11881 100644
@@ -1038,8 +1038,13 @@ static void __init _clockgen_init(struct device_node *np, bool legacy);
  */
 static void __init legacy_init_clockgen(struct device_node *np)
 {
-	if (!clockgen.node)
-		_clockgen_init(of_get_parent(np), true);
+	if (!clockgen.node) {
+		struct device_node *parent_np;
+
+		parent_np = of_get_parent(np);
+		_clockgen_init(parent_np, true);
+		of_node_put(parent_np);
+	}
 }
 
 /* Legacy node */
@@ -1134,6 +1139,7 @@ static struct clk * __init create_sysclk(const char *name)
 	sysclk = of_get_child_by_name(clockgen.node, "sysclk");
 	if (sysclk) {
 		clk = sysclk_from_fixed(sysclk, name);
+		of_node_put(sysclk);
 		if (!IS_ERR(clk))
 			return clk;
 	}
drivers/clk/clk-versaclock5.c +1 -1
index 4e741f94baf0..eb597ea7bb87 100644
@@ -1116,7 +1116,7 @@ static const struct vc5_chip_info idt_5p49v6901_info = {
 	.model = IDT_VC6_5P49V6901,
 	.clk_fod_cnt = 4,
 	.clk_out_cnt = 5,
-	.flags = VC5_HAS_PFD_FREQ_DBL,
+	.flags = VC5_HAS_PFD_FREQ_DBL | VC5_HAS_BYPASS_SYNC_BIT,
 };
 
 static const struct vc5_chip_info idt_5p49v6965_info = {
drivers/clk/mediatek/clk-mt8183-mfgcfg.c +3 -3
index 37b4162c5882..3a33014eee7f 100644
@@ -18,9 +18,9 @@ static const struct mtk_gate_regs mfg_cg_regs = {
 	.sta_ofs = 0x0,
 };
 
-#define GATE_MFG(_id, _name, _parent, _shift)			\
-	GATE_MTK(_id, _name, _parent, &mfg_cg_regs, _shift,	\
-		&mtk_clk_gate_ops_setclr)
+#define GATE_MFG(_id, _name, _parent, _shift)				\
+	GATE_MTK_FLAGS(_id, _name, _parent, &mfg_cg_regs, _shift,	\
+		       &mtk_clk_gate_ops_setclr, CLK_SET_RATE_PARENT)
 
 static const struct mtk_gate mfg_clks[] = {
 	GATE_MFG(CLK_MFG_BG3D, "mfg_bg3d", "mfg_sel", 0)
drivers/clk/meson/meson-aoclk.c +4 -1
index 3a6d84cd6601..67d8a0d30221 100644
@@ -36,6 +36,7 @@ int meson_aoclkc_probe(struct platform_device *pdev)
 	struct meson_aoclk_reset_controller *rstc;
 	struct meson_aoclk_data *data;
 	struct device *dev = &pdev->dev;
+	struct device_node *np;
 	struct regmap *regmap;
 	int ret, clkid;
 
@@ -47,7 +48,9 @@ int meson_aoclkc_probe(struct platform_device *pdev)
 	if (!rstc)
 		return -ENOMEM;
 
-	regmap = syscon_node_to_regmap(of_get_parent(dev->of_node));
+	np = of_get_parent(dev->of_node);
+	regmap = syscon_node_to_regmap(np);
+	of_node_put(np);
 	if (IS_ERR(regmap)) {
 		dev_err(dev, "failed to get regmap\n");
 		return PTR_ERR(regmap);
drivers/clk/meson/meson-eeclk.c +4 -1
index a7cb1e7aedc4..18ae38787268 100644
@@ -17,6 +17,7 @@ int meson_eeclkc_probe(struct platform_device *pdev)
 {
 	const struct meson_eeclkc_data *data;
 	struct device *dev = &pdev->dev;
+	struct device_node *np;
 	struct regmap *map;
 	int ret, i;
 
@@ -25,7 +26,9 @@ int meson_eeclkc_probe(struct platform_device *pdev)
 		return -EINVAL;
 
 	/* Get the hhi system controller node */
-	map = syscon_node_to_regmap(of_get_parent(dev->of_node));
+	np = of_get_parent(dev->of_node);
+	map = syscon_node_to_regmap(np);
+	of_node_put(np);
 	if (IS_ERR(map)) {
 		dev_err(dev,
 			"failed to get HHI regmap\n");
drivers/clk/meson/meson8b.c +4 -1
index 862f0756b50f..1da9d212f8b7 100644
@@ -3735,13 +3735,16 @@ static void __init meson8b_clkc_init_common(struct device_node *np,
 			struct clk_hw_onecell_data *clk_hw_onecell_data)
 {
 	struct meson8b_clk_reset *rstc;
+	struct device_node *parent_np;
 	const char *notifier_clk_name;
 	struct clk *notifier_clk;
 	void __iomem *clk_base;
 	struct regmap *map;
 	int i, ret;
 
-	map = syscon_node_to_regmap(of_get_parent(np));
+	parent_np = of_get_parent(np);
+	map = syscon_node_to_regmap(parent_np);
+	of_node_put(parent_np);
 	if (IS_ERR(map)) {
 		pr_info("failed to get HHI regmap - Trying obsolete regs\n");
 
drivers/clk/qcom/apss-ipq6018.c +1 -1
index d78ff2f310bf..b5d93657e1ee 100644
@@ -57,7 +57,7 @@ static struct clk_branch apcs_alias0_core_clk = {
 			.parent_hws = (const struct clk_hw *[]){
 				&apcs_alias0_clk_src.clkr.hw },
 			.num_parents = 1,
-			.flags = CLK_SET_RATE_PARENT,
+			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
 			.ops = &clk_branch2_ops,
 		},
 	},
drivers/clk/sprd/common.c +5 -4
index d620bbbcdfc8..ce81e4087a8f 100644
@@ -41,7 +41,7 @@ int sprd_clk_regmap_init(struct platform_device *pdev,
 {
 	void __iomem *base;
 	struct device *dev = &pdev->dev;
-	struct device_node *node = dev->of_node;
+	struct device_node *node = dev->of_node, *np;
 	struct regmap *regmap;
 
 	if (of_find_property(node, "sprd,syscon", NULL)) {
@@ -50,9 +50,10 @@ int sprd_clk_regmap_init(struct platform_device *pdev,
 			pr_err("%s: failed to get syscon regmap\n", __func__);
 			return PTR_ERR(regmap);
 		}
-	} else if (of_device_is_compatible(of_get_parent(dev->of_node),
-			   "syscon")) {
-		regmap = device_node_to_regmap(of_get_parent(dev->of_node));
+	} else if (of_device_is_compatible(np =	of_get_parent(node), "syscon") ||
+		   (of_node_put(np), 0)) {
+		regmap = device_node_to_regmap(np);
+		of_node_put(np);
 		if (IS_ERR(regmap)) {
 			dev_err(dev, "failed to get regmap from its parent.\n");
 			return PTR_ERR(regmap);
drivers/clk/tegra/clk-tegra114.c +1 -0
index bc9e47a4cb60..4e2b26e3e573 100644
@@ -1317,6 +1317,7 @@ static void __init tegra114_clock_init(struct device_node *np)
 	}
 
 	pmc_base = of_iomap(node, 0);
+	of_node_put(node);
 	if (!pmc_base) {
 		pr_err("Can't map pmc registers\n");
 		WARN_ON(1);
drivers/clk/tegra/clk-tegra20.c +1 -0
index 3efc651b42e3..d60ee6e318a5 100644
@@ -1128,6 +1128,7 @@ static void __init tegra20_clock_init(struct device_node *np)
 	}
 
 	pmc_base = of_iomap(node, 0);
+	of_node_put(node);
 	if (!pmc_base) {
 		pr_err("Can't map pmc registers\n");
 		BUG();
drivers/clk/tegra/clk-tegra210.c +1 -0
index 68cbb98af567..1a0016d07f88 100644
@@ -3697,6 +3697,7 @@ static void __init tegra210_clock_init(struct device_node *np)
 	}
 
 	pmc_base = of_iomap(node, 0);
+	of_node_put(node);
 	if (!pmc_base) {
 		pr_err("Can't map pmc registers\n");
 		WARN_ON(1);
drivers/clk/ti/clk-dra7-atl.c +6 -3
index 8d4c08b034bd..e2e59d78c173 100644
@@ -251,14 +251,16 @@ static int of_dra7_atl_clk_probe(struct platform_device *pdev)
 		if (rc) {
 			pr_err("%s: failed to lookup atl clock %d\n", __func__,
 			       i);
-			return -EINVAL;
+			ret = -EINVAL;
+			goto pm_put;
 		}
 
 		clk = of_clk_get_from_provider(&clkspec);
 		if (IS_ERR(clk)) {
 			pr_err("%s: failed to get atl clock %d from provider\n",
 			       __func__, i);
-			return PTR_ERR(clk);
+			ret = PTR_ERR(clk);
+			goto pm_put;
 		}
 
 		cdesc = to_atl_desc(__clk_get_hw(clk));
@@ -291,8 +293,9 @@ static int of_dra7_atl_clk_probe(struct platform_device *pdev)
 		if (cdesc->enabled)
 			atl_clk_enable(__clk_get_hw(clk));
 	}
-	pm_runtime_put_sync(cinfo->dev);
 
+pm_put:
+	pm_runtime_put_sync(cinfo->dev);
 	return ret;
 }
 
drivers/clk/zynqmp/clkc.c +7 -0
index db8d0d7161ce..9c82ae240c40 100644
@@ -687,6 +687,13 @@ static void zynqmp_get_clock_info(void)
 				  FIELD_PREP(CLK_ATTR_NODE_INDEX, i);
 
 		zynqmp_pm_clock_get_name(clock[i].clk_id, &name);
+
+		/*
+		 * Terminate with NULL character in case name provided by firmware
+		 * is longer and truncated due to size limit.
+		 */
+		name.name[sizeof(name.name) - 1] = '\0';
+
 		if (!strcmp(name.name, RESERVED_CLK_NAME))
 			continue;
 		strncpy(clock[i].clk_name, name.name, MAX_NAME_LEN);
drivers/clk/zynqmp/pll.c +15 -16
index abe6afbf3407..2ae7f9129b07 100644
@@ -99,26 +99,25 @@ static long zynqmp_pll_round_rate(struct clk_hw *hw, unsigned long rate,
 				  unsigned long *prate)
 {
 	u32 fbdiv;
-	long rate_div, f;
+	u32 mult, div;
 
-	/* Enable the fractional mode if needed */
-	rate_div = (rate * FRAC_DIV) / *prate;
-	f = rate_div % FRAC_DIV;
-	if (f) {
-		if (rate > PS_PLL_VCO_MAX) {
-			fbdiv = rate / PS_PLL_VCO_MAX;
-			rate = rate / (fbdiv + 1);
-		}
-		if (rate < PS_PLL_VCO_MIN) {
-			fbdiv = DIV_ROUND_UP(PS_PLL_VCO_MIN, rate);
-			rate = rate * fbdiv;
-		}
-		return rate;
+	/* Let rate fall inside the range PS_PLL_VCO_MIN ~ PS_PLL_VCO_MAX */
+	if (rate > PS_PLL_VCO_MAX) {
+		div = DIV_ROUND_UP(rate, PS_PLL_VCO_MAX);
+		rate = rate / div;
+	}
+	if (rate < PS_PLL_VCO_MIN) {
+		mult = DIV_ROUND_UP(PS_PLL_VCO_MIN, rate);
+		rate = rate * mult;
 	}
 
 	fbdiv = DIV_ROUND_CLOSEST(rate, *prate);
-	fbdiv = clamp_t(u32, fbdiv, PLL_FBDIV_MIN, PLL_FBDIV_MAX);
-	return *prate * fbdiv;
+	if (fbdiv < PLL_FBDIV_MIN || fbdiv > PLL_FBDIV_MAX) {
+		fbdiv = clamp_t(u32, fbdiv, PLL_FBDIV_MIN, PLL_FBDIV_MAX);
+		rate = *prate * fbdiv;
+	}
+
+	return rate;
 }
 
 /**
drivers/crypto/cavium/cpt/cptpf_main.c +4 -2
index 781949027451..d9362199423f 100644
@@ -254,6 +254,7 @@ static int cpt_ucode_load_fw(struct cpt_device *cpt, const u8 *fw, bool is_ae)
 	const struct firmware *fw_entry;
 	struct device *dev = &cpt->pdev->dev;
 	struct ucode_header *ucode;
+	unsigned int code_length;
 	struct microcode *mcode;
 	int j, ret = 0;
 
@@ -264,11 +265,12 @@ static int cpt_ucode_load_fw(struct cpt_device *cpt, const u8 *fw, bool is_ae)
 	ucode = (struct ucode_header *)fw_entry->data;
 	mcode = &cpt->mcode[cpt->next_mc_idx];
 	memcpy(mcode->version, (u8 *)fw_entry->data, CPT_UCODE_VERSION_SZ);
-	mcode->code_size = ntohl(ucode->code_length) * 2;
-	if (!mcode->code_size) {
+	code_length = ntohl(ucode->code_length);
+	if (code_length == 0 || code_length >= INT_MAX / 2) {
 		ret = -EINVAL;
 		goto fw_release;
 	}
+	mcode->code_size = code_length * 2;
 
 	mcode->is_ae = is_ae;
 	mcode->core_mask = 0ULL;
drivers/crypto/ccp/ccp-dmaengine.c +5 -1
index b3eea329f840..b9299defb431 100644
@@ -642,6 +642,10 @@ static void ccp_dma_release(struct ccp_device *ccp)
 	for (i = 0; i < ccp->cmd_q_count; i++) {
 		chan = ccp->ccp_dma_chan + i;
 		dma_chan = &chan->dma_chan;
+
+		if (dma_chan->client_count)
+			dma_release_channel(dma_chan);
+
 		tasklet_kill(&chan->cleanup_tasklet);
 		list_del_rcu(&dma_chan->device_node);
 	}
@@ -767,8 +771,8 @@ void ccp_dmaengine_unregister(struct ccp_device *ccp)
 	if (!dmaengine)
 		return;
 
-	dma_async_device_unregister(dma_dev);
 	ccp_dma_release(ccp);
+	dma_async_device_unregister(dma_dev);
 
 	kmem_cache_destroy(ccp->dma_desc_cache);
 	kmem_cache_destroy(ccp->dma_cmd_cache);
drivers/crypto/hisilicon/zip/zip_crypto.c +2 -2
index 08b4660b014c..5db7cdea994a 100644
@@ -107,12 +107,12 @@ static int sgl_sge_nr_set(const char *val, const struct kernel_param *kp)
 	if (ret || n == 0 || n > HISI_ACC_SGL_SGE_NR_MAX)
 		return -EINVAL;
 
-	return param_set_int(val, kp);
+	return param_set_ushort(val, kp);
 }
 
 static const struct kernel_param_ops sgl_sge_nr_ops = {
 	.set = sgl_sge_nr_set,
-	.get = param_get_int,
+	.get = param_get_ushort,
 };
 
 static u16 sgl_sge_nr = HZIP_SGL_SGE_NR;
drivers/crypto/inside-secure/safexcel_hash.c +4 -4
index 56d5ccb5cc00..1c9af02eb63b 100644
@@ -381,7 +381,7 @@ static int safexcel_ahash_send_req(struct crypto_async_request *async, int ring,
 					u32 x;
 
 					x = ipad[i] ^ ipad[i + 4];
-					cache[i] ^= swab(x);
+					cache[i] ^= swab32(x);
 				}
 			}
 			cache_len = AES_BLOCK_SIZE;
@@ -819,7 +819,7 @@ static int safexcel_ahash_final(struct ahash_request *areq)
 			u32 *result = (void *)areq->result;
 
 			/* K3 */
-			result[i] = swab(ctx->base.ipad.word[i + 4]);
+			result[i] = swab32(ctx->base.ipad.word[i + 4]);
 		}
 		areq->result[0] ^= 0x80;			// 10- padding
 		crypto_cipher_encrypt_one(ctx->kaes, areq->result, areq->result);
@@ -2104,7 +2104,7 @@ static int safexcel_xcbcmac_setkey(struct crypto_ahash *tfm, const u8 *key,
 	crypto_cipher_encrypt_one(ctx->kaes, (u8 *)key_tmp + AES_BLOCK_SIZE,
 		"\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3");
 	for (i = 0; i < 3 * AES_BLOCK_SIZE / sizeof(u32); i++)
-		ctx->base.ipad.word[i] = swab(key_tmp[i]);
+		ctx->base.ipad.word[i] = swab32(key_tmp[i]);
 
 	crypto_cipher_clear_flags(ctx->kaes, CRYPTO_TFM_REQ_MASK);
 	crypto_cipher_set_flags(ctx->kaes, crypto_ahash_get_flags(tfm) &
@@ -2187,7 +2187,7 @@ static int safexcel_cmac_setkey(struct crypto_ahash *tfm, const u8 *key,
 		return ret;
 
 	for (i = 0; i < len / sizeof(u32); i++)
-		ctx->base.ipad.word[i + 8] = swab(aes.key_enc[i]);
+		ctx->base.ipad.word[i + 8] = swab32(aes.key_enc[i]);
 
 	/* precompute the CMAC key material */
 	crypto_cipher_clear_flags(ctx->kaes, CRYPTO_TFM_REQ_MASK);
drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c +16 -2
index 40b482198ebc..a765eefb18c2 100644
@@ -286,6 +286,7 @@ static int process_tar_file(struct device *dev,
 	struct tar_ucode_info_t *tar_info;
 	struct otx_cpt_ucode_hdr *ucode_hdr;
 	int ucode_type, ucode_size;
+	unsigned int code_length;
 
 	/*
 	 * If size is less than microcode header size then don't report
@@ -303,7 +304,13 @@ static int process_tar_file(struct device *dev,
 	if (get_ucode_type(ucode_hdr, &ucode_type))
 		return 0;
 
-	ucode_size = ntohl(ucode_hdr->code_length) * 2;
+	code_length = ntohl(ucode_hdr->code_length);
+	if (code_length >= INT_MAX / 2) {
+		dev_err(dev, "Invalid code_length %u\n", code_length);
+		return -EINVAL;
+	}
+
+	ucode_size = code_length * 2;
 	if (!ucode_size || (size < round_up(ucode_size, 16) +
 	    sizeof(struct otx_cpt_ucode_hdr) + OTX_CPT_UCODE_SIGN_LEN)) {
 		dev_err(dev, "Ucode %s invalid size\n", filename);
@@ -886,6 +893,7 @@ static int ucode_load(struct device *dev, struct otx_cpt_ucode *ucode,
 {
 	struct otx_cpt_ucode_hdr *ucode_hdr;
 	const struct firmware *fw;
+	unsigned int code_length;
 	int ret;
 
 	set_ucode_filename(ucode, ucode_filename);
@@ -896,7 +904,13 @@ static int ucode_load(struct device *dev, struct otx_cpt_ucode *ucode,
 	ucode_hdr = (struct otx_cpt_ucode_hdr *) fw->data;
 	memcpy(ucode->ver_str, ucode_hdr->ver_str, OTX_CPT_UCODE_VER_STR_SZ);
 	ucode->ver_num = ucode_hdr->ver_num;
-	ucode->size = ntohl(ucode_hdr->code_length) * 2;
+	code_length = ntohl(ucode_hdr->code_length);
+	if (code_length >= INT_MAX / 2) {
+		dev_err(dev, "Ucode invalid code_length %u\n", code_length);
+		ret = -EINVAL;
+		goto release_fw;
+	}
+	ucode->size = code_length * 2;
 	if (!ucode->size || (fw->size < round_up(ucode->size, 16)
 	    + sizeof(struct otx_cpt_ucode_hdr) + OTX_CPT_UCODE_SIGN_LEN)) {
 		dev_err(dev, "Ucode %s invalid size\n", ucode_filename);
drivers/crypto/qat/qat_common/qat_algs.c +63 -46

205 lines not on this page · raw message

drivers/crypto/qat/qat_common/qat_crypto.h +24 -0
index 12682d1e9f5f..5f9328201ba4 100644
@@ -20,6 +20,26 @@ struct qat_crypto_instance {
 	atomic_t refctr;
 };
 
+#define QAT_MAX_BUFF_DESC	4
+
+struct qat_alg_buf {
+	u32 len;
+	u32 resrvd;
+	u64 addr;
+} __packed;
+
+struct qat_alg_buf_list {
+	u64 resrvd;
+	u32 num_bufs;
+	u32 num_mapped_bufs;
+	struct qat_alg_buf bufers[];
+} __packed;
+
+struct qat_alg_fixed_buf_list {
+	struct qat_alg_buf_list sgl_hdr;
+	struct qat_alg_buf descriptors[QAT_MAX_BUFF_DESC];
+} __packed __aligned(64);
+
 struct qat_crypto_request_buffs {
 	struct qat_alg_buf_list *bl;
 	dma_addr_t blp;
@@ -27,6 +47,10 @@ struct qat_crypto_request_buffs {
 	dma_addr_t bloutp;
 	size_t sz;
 	size_t sz_out;
+	bool sgl_src_valid;
+	bool sgl_dst_valid;
+	struct qat_alg_fixed_buf_list sgl_src;
+	struct qat_alg_fixed_buf_list sgl_dst;
 };
 
 struct qat_crypto_request;
drivers/crypto/sahara.c +9 -9
index d60679c79822..2043dd061121 100644
@@ -25,10 +25,10 @@
 #include <linux/kernel.h>
 #include <linux/kthread.h>
 #include <linux/module.h>
-#include <linux/mutex.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
+#include <linux/spinlock.h>
 
 #define SHA_BUFFER_LEN		PAGE_SIZE
 #define SAHARA_MAX_SHA_BLOCK_SIZE	SHA256_BLOCK_SIZE
@@ -195,7 +195,7 @@ struct sahara_dev {
 	void __iomem		*regs_base;
 	struct clk		*clk_ipg;
 	struct clk		*clk_ahb;
-	struct mutex		queue_mutex;
+	spinlock_t		queue_spinlock;
 	struct task_struct	*kthread;
 	struct completion	dma_completion;
 
@@ -641,9 +641,9 @@ static int sahara_aes_crypt(struct skcipher_request *req, unsigned long mode)
 
 	rctx->mode = mode;
 
-	mutex_lock(&dev->queue_mutex);
+	spin_lock_bh(&dev->queue_spinlock);
 	err = crypto_enqueue_request(&dev->queue, &req->base);
-	mutex_unlock(&dev->queue_mutex);
+	spin_unlock_bh(&dev->queue_spinlock);
 
 	wake_up_process(dev->kthread);
 
@@ -1042,10 +1042,10 @@ static int sahara_queue_manage(void *data)
 	do {
 		__set_current_state(TASK_INTERRUPTIBLE);
 
-		mutex_lock(&dev->queue_mutex);
+		spin_lock_bh(&dev->queue_spinlock);
 		backlog = crypto_get_backlog(&dev->queue);
 		async_req = crypto_dequeue_request(&dev->queue);
-		mutex_unlock(&dev->queue_mutex);
+		spin_unlock_bh(&dev->queue_spinlock);
 
 		if (backlog)
 			backlog->complete(backlog, -EINPROGRESS);
@@ -1091,9 +1091,9 @@ static int sahara_sha_enqueue(struct ahash_request *req, int last)
 		rctx->first = 1;
 	}
 
-	mutex_lock(&dev->queue_mutex);
+	spin_lock_bh(&dev->queue_spinlock);
 	ret = crypto_enqueue_request(&dev->queue, &req->base);
-	mutex_unlock(&dev->queue_mutex);
+	spin_unlock_bh(&dev->queue_spinlock);
 
 	wake_up_process(dev->kthread);
 
@@ -1454,7 +1454,7 @@ static int sahara_probe(struct platform_device *pdev)
 
 	crypto_init_queue(&dev->queue, SAHARA_QUEUE_LENGTH);
 
-	mutex_init(&dev->queue_mutex);
+	spin_lock_init(&dev->queue_spinlock);
 
 	dev_ptr = dev;
 
drivers/dma-buf/udmabuf.c +6 -3
index b624f3d8f0e6..e359c5c6c4df 100644
@@ -118,17 +118,20 @@ static int begin_cpu_udmabuf(struct dma_buf *buf,
 {
 	struct udmabuf *ubuf = buf->priv;
 	struct device *dev = ubuf->device->this_device;
+	int ret = 0;
 
 	if (!ubuf->sg) {
 		ubuf->sg = get_sg_table(dev, buf, direction);
-		if (IS_ERR(ubuf->sg))
-			return PTR_ERR(ubuf->sg);
+		if (IS_ERR(ubuf->sg)) {
+			ret = PTR_ERR(ubuf->sg);
+			ubuf->sg = NULL;
+		}
 	} else {
 		dma_sync_sg_for_cpu(dev, ubuf->sg->sgl, ubuf->sg->nents,
 				    direction);
 	}
 
-	return 0;
+	return ret;
 }
 
 static int end_cpu_udmabuf(struct dma_buf *buf,
drivers/dma/hisi_dma.c +14 -14
index 3e83769615d1..8f1651367310 100644
@@ -185,7 +185,8 @@ static void hisi_dma_reset_qp_point(struct hisi_dma_dev *hdma_dev, u32 index)
 	hisi_dma_chan_write(hdma_dev->base, HISI_DMA_CQ_HEAD_PTR, index, 0);
 }
 
-static void hisi_dma_reset_hw_chan(struct hisi_dma_chan *chan)
+static void hisi_dma_reset_or_disable_hw_chan(struct hisi_dma_chan *chan,
+					      bool disable)
 {
 	struct hisi_dma_dev *hdma_dev = chan->hdma_dev;
 	u32 index = chan->qp_num, tmp;
@@ -206,8 +207,11 @@ static void hisi_dma_reset_hw_chan(struct hisi_dma_chan *chan)
 	hisi_dma_do_reset(hdma_dev, index);
 	hisi_dma_reset_qp_point(hdma_dev, index);
 	hisi_dma_pause_dma(hdma_dev, index, false);
-	hisi_dma_enable_dma(hdma_dev, index, true);
-	hisi_dma_unmask_irq(hdma_dev, index);
+
+	if (!disable) {
+		hisi_dma_enable_dma(hdma_dev, index, true);
+		hisi_dma_unmask_irq(hdma_dev, index);
+	}
 
 	ret = readl_relaxed_poll_timeout(hdma_dev->base +
 		HISI_DMA_Q_FSM_STS + index * HISI_DMA_OFFSET, tmp,
@@ -223,7 +227,7 @@ static void hisi_dma_free_chan_resources(struct dma_chan *c)
 	struct hisi_dma_chan *chan = to_hisi_dma_chan(c);
 	struct hisi_dma_dev *hdma_dev = chan->hdma_dev;
 
-	hisi_dma_reset_hw_chan(chan);
+	hisi_dma_reset_or_disable_hw_chan(chan, false);
 	vchan_free_chan_resources(&chan->vc);
 
 	memset(chan->sq, 0, sizeof(struct hisi_dma_sqe) * hdma_dev->chan_depth);
@@ -272,7 +276,6 @@ static void hisi_dma_start_transfer(struct hisi_dma_chan *chan)
 
 	vd = vchan_next_desc(&chan->vc);
 	if (!vd) {
-		dev_err(&hdma_dev->pdev->dev, "no issued task!\n");
 		chan->desc = NULL;
 		return;
 	}
@@ -304,7 +307,7 @@ static void hisi_dma_issue_pending(struct dma_chan *c)
 
 	spin_lock_irqsave(&chan->vc.lock, flags);
 
-	if (vchan_issue_pending(&chan->vc))
+	if (vchan_issue_pending(&chan->vc) && !chan->desc)
 		hisi_dma_start_transfer(chan);
 
 	spin_unlock_irqrestore(&chan->vc.lock, flags);
@@ -399,7 +402,7 @@ static void hisi_dma_enable_qp(struct hisi_dma_dev *hdma_dev, u32 qp_index)
 
 static void hisi_dma_disable_qp(struct hisi_dma_dev *hdma_dev, u32 qp_index)
 {
-	hisi_dma_reset_hw_chan(&hdma_dev->chan[qp_index]);
+	hisi_dma_reset_or_disable_hw_chan(&hdma_dev->chan[qp_index], true);
 }
 
 static void hisi_dma_enable_qps(struct hisi_dma_dev *hdma_dev)
@@ -438,18 +441,15 @@ static irqreturn_t hisi_dma_irq(int irq, void *data)
 	desc = chan->desc;
 	cqe = chan->cq + chan->cq_head;
 	if (desc) {
+		chan->cq_head = (chan->cq_head + 1) % hdma_dev->chan_depth;
+		hisi_dma_chan_write(hdma_dev->base, HISI_DMA_CQ_HEAD_PTR,
+				    chan->qp_num, chan->cq_head);
 		if (FIELD_GET(STATUS_MASK, cqe->w0) == STATUS_SUCC) {
-			chan->cq_head = (chan->cq_head + 1) %
-					hdma_dev->chan_depth;
-			hisi_dma_chan_write(hdma_dev->base,
-					    HISI_DMA_CQ_HEAD_PTR, chan->qp_num,
-					    chan->cq_head);
 			vchan_cookie_complete(&desc->vd);
+			hisi_dma_start_transfer(chan);
 		} else {
 			dev_err(&hdma_dev->pdev->dev, "task error!\n");
 		}
-
-		chan->desc = NULL;
 	}
 
 	spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/ioat/dma.c +3 -3
index 37ff4ec7db76..e2070df6cad2 100644
@@ -656,7 +656,7 @@ static void __cleanup(struct ioatdma_chan *ioat_chan, dma_addr_t phys_complete)
 	if (active - i == 0) {
 		dev_dbg(to_dev(ioat_chan), "%s: cancel completion timeout\n",
 			__func__);
-		mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
+		mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
 	}
 
 	/* microsecond delay by sysfs variable  per pending descriptor */
@@ -682,7 +682,7 @@ static void ioat_cleanup(struct ioatdma_chan *ioat_chan)
 
 		if (chanerr &
 		    (IOAT_CHANERR_HANDLE_MASK | IOAT_CHANERR_RECOVER_MASK)) {
-			mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
+			mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
 			ioat_eh(ioat_chan);
 		}
 	}
@@ -879,7 +879,7 @@ static void check_active(struct ioatdma_chan *ioat_chan)
 	}
 
 	if (test_and_clear_bit(IOAT_CHAN_ACTIVE, &ioat_chan->state))
-		mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
+		mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT);
 }
 
 static void ioat_reboot_chan(struct ioatdma_chan *ioat_chan)
drivers/firmware/efi/libstub/fdt.c +0 -8
index 368cd60000ee..d48b0de05b62 100644
@@ -281,14 +281,6 @@ efi_status_t allocate_new_fdt_and_exit_boot(void *handle,
 		goto fail;
 	}
 
-	/*
-	 * Now that we have done our final memory allocation (and free)
-	 * we can get the memory map key needed for exit_boot_services().
-	 */
-	status = efi_get_memory_map(&map);
-	if (status != EFI_SUCCESS)
-		goto fail_free_new_fdt;
-
 	status = update_fdt((void *)fdt_addr, fdt_size,
 			    (void *)*new_fdt_addr, MAX_FDT_SIZE, cmdline_ptr,
 			    initrd_addr, initrd_size);
drivers/firmware/google/gsmi.c +9 -0
index 7d9367b22010..c1cd5ca875ca 100644
@@ -680,6 +680,15 @@ static struct notifier_block gsmi_die_notifier = {
 static int gsmi_panic_callback(struct notifier_block *nb,
 			       unsigned long reason, void *arg)
 {
+
+	/*
+	 * Panic callbacks are executed with all other CPUs stopped,
+	 * so we must not attempt to spin waiting for gsmi_dev.lock
+	 * to be released.
+	 */
+	if (spin_is_locked(&gsmi_dev.lock))
+		return NOTIFY_DONE;
+
 	gsmi_shutdown_reason(GSMI_SHUTDOWN_PANIC);
 	return NOTIFY_DONE;
 }
drivers/fpga/dfl.c +1 -1
index b450870b75ed..eb8a6e329af9 100644
@@ -1857,7 +1857,7 @@ long dfl_feature_ioctl_set_irq(struct platform_device *pdev,
 		return -EINVAL;
 
 	fds = memdup_user((void __user *)(arg + sizeof(hdr)),
-			  hdr.count * sizeof(s32));
+			  array_size(hdr.count, sizeof(s32)));
 	if (IS_ERR(fds))
 		return PTR_ERR(fds);
 
drivers/fsi/fsi-core.c +3 -0
index 59ddc9fd5bca..92e6eebd1851 100644
@@ -1309,6 +1309,9 @@ int fsi_master_register(struct fsi_master *master)
 
 	mutex_init(&master->scan_lock);
 	master->idx = ida_simple_get(&master_ida, 0, INT_MAX, GFP_KERNEL);
+	if (master->idx < 0)
+		return master->idx;
+
 	dev_set_name(&master->dev, "fsi%d", master->idx);
 	master->dev.class = &fsi_master_class;
 
drivers/gpu/drm/Kconfig +1 -0
index ca868271f4c4..4e9b3a95fa7c 100644
@@ -30,6 +30,7 @@ menuconfig DRM
 config DRM_MIPI_DBI
 	tristate
 	depends on DRM
+	select DRM_KMS_HELPER
 
 config DRM_MIPI_DSI
 	bool
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +6 -1
index df1f9b88a53f..98d3661336a4 100644
@@ -1671,10 +1671,12 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 						   adev->mode_info.dither_property,
 						   AMDGPU_FMT_DITHER_DISABLE);
 
-			if (amdgpu_audio != 0)
+			if (amdgpu_audio != 0) {
 				drm_object_attach_property(&amdgpu_connector->base.base,
 							   adev->mode_info.audio_property,
 							   AMDGPU_AUDIO_AUTO);
+				amdgpu_connector->audio = AMDGPU_AUDIO_AUTO;
+			}
 
 			subpixel_order = SubPixelHorizontalRGB;
 			connector->interlace_allowed = true;
@@ -1796,6 +1798,7 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 				drm_object_attach_property(&amdgpu_connector->base.base,
 							   adev->mode_info.audio_property,
 							   AMDGPU_AUDIO_AUTO);
+				amdgpu_connector->audio = AMDGPU_AUDIO_AUTO;
 			}
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						   adev->mode_info.dither_property,
@@ -1849,6 +1852,7 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 				drm_object_attach_property(&amdgpu_connector->base.base,
 							   adev->mode_info.audio_property,
 							   AMDGPU_AUDIO_AUTO);
+				amdgpu_connector->audio = AMDGPU_AUDIO_AUTO;
 			}
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						   adev->mode_info.dither_property,
@@ -1899,6 +1903,7 @@ amdgpu_connector_add(struct amdgpu_device *adev,
 				drm_object_attach_property(&amdgpu_connector->base.base,
 							   adev->mode_info.audio_property,
 							   AMDGPU_AUDIO_AUTO);
+				amdgpu_connector->audio = AMDGPU_AUDIO_AUTO;
 			}
 			drm_object_attach_property(&amdgpu_connector->base.base,
 						   adev->mode_info.dither_property,
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +3 -11
index 881045e600af..bde0496d2f15 100644
@@ -2179,16 +2179,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
 		}
 		adev->ip_blocks[i].status.sw = true;
 
-		if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) {
-			/* need to do common hw init early so everything is set up for gmc */
-			r = adev->ip_blocks[i].version->funcs->hw_init((void *)adev);
-			if (r) {
-				DRM_ERROR("hw_init %d failed %d\n", i, r);
-				goto init_failed;
-			}
-			adev->ip_blocks[i].status.hw = true;
-		} else if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
-			/* need to do gmc hw init early so we can allocate gpu mem */
+		/* need to do gmc hw init early so we can allocate gpu mem */
+		if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
 			/* Try to reserve bad pages early */
 			if (amdgpu_sriov_vf(adev))
 				amdgpu_virt_exchange_data(adev);
@@ -2770,8 +2762,8 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
 	int i, r;
 
 	static enum amd_ip_block_type ip_order[] = {
-		AMD_IP_BLOCK_TYPE_COMMON,
 		AMD_IP_BLOCK_TYPE_GMC,
+		AMD_IP_BLOCK_TYPE_COMMON,
 		AMD_IP_BLOCK_TYPE_PSP,
 		AMD_IP_BLOCK_TYPE_IH,
 	};
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +0 -2
index 947f50e402ba..7cc7af2a6822 100644
@@ -35,7 +35,6 @@
 #include <linux/pci.h>
 #include <linux/pm_runtime.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_damage_helper.h>
 #include <drm/drm_edid.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_fb_helper.h>
@@ -499,7 +498,6 @@ bool amdgpu_display_ddc_probe(struct amdgpu_connector *amdgpu_connector,
 static const struct drm_framebuffer_funcs amdgpu_fb_funcs = {
 	.destroy = drm_gem_fb_destroy,
 	.create_handle = drm_gem_fb_create_handle,
-	.dirty = drm_atomic_helper_dirtyfb,
 };
 
 uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev,
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +0 -5
index a1a8e026b9fa..1f2e2460e121 100644
@@ -1475,11 +1475,6 @@ static int sdma_v4_0_start(struct amdgpu_device *adev)
 		WREG32_SDMA(i, mmSDMA0_CNTL, temp);
 
 		if (!amdgpu_sriov_vf(adev)) {
-			ring = &adev->sdma.instance[i].ring;
-			adev->nbio.funcs->sdma_doorbell_range(adev, i,
-				ring->use_doorbell, ring->doorbell_index,
-				adev->doorbell_index.sdma_doorbell_range);
-
 			/* unhalt engine */
 			temp = RREG32_SDMA(i, mmSDMA0_F32_CNTL);
 			temp = REG_SET_FIELD(temp, SDMA0_F32_CNTL, HALT, 0);
drivers/gpu/drm/amd/amdgpu/soc15.c +25 -0
index abd649285a22..7212b9900e0a 100644
@@ -1332,6 +1332,25 @@ static int soc15_common_sw_fini(void *handle)
 	return 0;
 }
 
+static void soc15_doorbell_range_init(struct amdgpu_device *adev)
+{
+	int i;
+	struct amdgpu_ring *ring;
+
+	/* sdma/ih doorbell range are programed by hypervisor */
+	if (!amdgpu_sriov_vf(adev)) {
+		for (i = 0; i < adev->sdma.num_instances; i++) {
+			ring = &adev->sdma.instance[i].ring;
+			adev->nbio.funcs->sdma_doorbell_range(adev, i,
+				ring->use_doorbell, ring->doorbell_index,
+				adev->doorbell_index.sdma_doorbell_range);
+		}
+
+		adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell,
+						adev->irq.ih.doorbell_index);
+	}
+}
+
 static int soc15_common_hw_init(void *handle)
 {
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
@@ -1351,6 +1370,12 @@ static int soc15_common_hw_init(void *handle)
 
 	/* enable the doorbell aperture */
 	soc15_enable_doorbell_aperture(adev, true);
+	/* HW doorbell routing policy: doorbell writing not
+	 * in SDMA/IH/MM/ACV range will be routed to CP. So
+	 * we need to init SDMA/IH/MM/ACV doorbell range prior
+	 * to CP ip block init and ring test.
+	 */
+	soc15_doorbell_range_init(adev);
 
 	return 0;
 }
drivers/gpu/drm/amd/display/dc/calcs/bw_fixed.c +3 -3
index 6ca288fb5fb9..2d46bc527b21 100644
@@ -26,12 +26,12 @@
 #include "bw_fixed.h"
 
 
-#define MIN_I64 \
-	(int64_t)(-(1LL << 63))
-
 #define MAX_I64 \
 	(int64_t)((1ULL << 63) - 1)
 
+#define MIN_I64 \
+	(-MAX_I64 - 1)
+
 #define FRACTIONAL_PART_MASK \
 	((1ULL << BW_FIXED_BITS_PER_FRACTIONAL_PART) - 1)
 
drivers/gpu/drm/amd/display/dc/core/dc.c +4 -12
index 93f5229c303e..99887bcfada0 100644
@@ -2202,11 +2202,8 @@ static void copy_stream_update_to_stream(struct dc *dc,
 	if (update->abm_level)
 		stream->abm_level = *update->abm_level;
 
-	if (update->periodic_interrupt0)
-		stream->periodic_interrupt0 = *update->periodic_interrupt0;
-
-	if (update->periodic_interrupt1)
-		stream->periodic_interrupt1 = *update->periodic_interrupt1;
+	if (update->periodic_interrupt)
+		stream->periodic_interrupt = *update->periodic_interrupt;
 
 	if (update->gamut_remap)
 		stream->gamut_remap_matrix = *update->gamut_remap;
@@ -2288,13 +2285,8 @@ static void commit_planes_do_stream_update(struct dc *dc,
 
 		if (!pipe_ctx->top_pipe &&  !pipe_ctx->prev_odm_pipe && pipe_ctx->stream == stream) {
 
-			if (stream_update->periodic_interrupt0 &&
-					dc->hwss.setup_periodic_interrupt)
-				dc->hwss.setup_periodic_interrupt(dc, pipe_ctx, VLINE0);
-
-			if (stream_update->periodic_interrupt1 &&
-					dc->hwss.setup_periodic_interrupt)
-				dc->hwss.setup_periodic_interrupt(dc, pipe_ctx, VLINE1);
+			if (stream_update->periodic_interrupt && dc->hwss.setup_periodic_interrupt)
+				dc->hwss.setup_periodic_interrupt(dc, pipe_ctx);
 
 			if ((stream_update->hdr_static_metadata && !stream->use_dynamic_meta) ||
 					stream_update->vrr_infopacket ||
drivers/gpu/drm/amd/display/dc/dc_stream.h +2 -4
index 205bedd1b196..0487c1b8957c 100644
@@ -179,8 +179,7 @@ struct dc_stream_state {
 	/* DMCU info */
 	unsigned int abm_level;
 
-	struct periodic_interrupt_config periodic_interrupt0;
-	struct periodic_interrupt_config periodic_interrupt1;
+	struct periodic_interrupt_config periodic_interrupt;
 
 	/* from core_stream struct */
 	struct dc_context *ctx;
@@ -244,8 +243,7 @@ struct dc_stream_update {
 	struct dc_info_packet *hdr_static_metadata;
 	unsigned int *abm_level;
 
-	struct periodic_interrupt_config *periodic_interrupt0;
-	struct periodic_interrupt_config *periodic_interrupt1;
+	struct periodic_interrupt_config *periodic_interrupt;
 
 	struct dc_info_packet *vrr_infopacket;
 	struct dc_info_packet *vsc_infopacket;
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +10 -25
index 31a13daf4289..71a85c5306ed 100644
@@ -3611,7 +3611,7 @@ void dcn10_calc_vupdate_position(
 {
 	const struct dc_crtc_timing *dc_crtc_timing = &pipe_ctx->stream->timing;
 	int vline_int_offset_from_vupdate =
-			pipe_ctx->stream->periodic_interrupt0.lines_offset;
+			pipe_ctx->stream->periodic_interrupt.lines_offset;
 	int vupdate_offset_from_vsync = dc->hwss.get_vupdate_offset_from_vsync(pipe_ctx);
 	int start_position;
 
@@ -3636,18 +3636,10 @@ void dcn10_calc_vupdate_position(
 static void dcn10_cal_vline_position(
 		struct dc *dc,
 		struct pipe_ctx *pipe_ctx,
-		enum vline_select vline,
 		uint32_t *start_line,
 		uint32_t *end_line)
 {
-	enum vertical_interrupt_ref_point ref_point = INVALID_POINT;
-
-	if (vline == VLINE0)
-		ref_point = pipe_ctx->stream->periodic_interrupt0.ref_point;
-	else if (vline == VLINE1)
-		ref_point = pipe_ctx->stream->periodic_interrupt1.ref_point;
-
-	switch (ref_point) {
+	switch (pipe_ctx->stream->periodic_interrupt.ref_point) {
 	case START_V_UPDATE:
 		dcn10_calc_vupdate_position(
 				dc,
@@ -3656,7 +3648,9 @@ static void dcn10_cal_vline_position(
 				end_line);
 		break;
 	case START_V_SYNC:
-		// Suppose to do nothing because vsync is 0;
+		// vsync is line 0 so start_line is just the requested line offset
+		*start_line = pipe_ctx->stream->periodic_interrupt.lines_offset;
+		*end_line = *start_line + 2;
 		break;
 	default:
 		ASSERT(0);
@@ -3666,24 +3660,15 @@ static void dcn10_cal_vline_position(
 
 void dcn10_setup_periodic_interrupt(
 		struct dc *dc,
-		struct pipe_ctx *pipe_ctx,
-		enum vline_select vline)
+		struct pipe_ctx *pipe_ctx)
 {
 	struct timing_generator *tg = pipe_ctx->stream_res.tg;
+	uint32_t start_line = 0;
+	uint32_t end_line = 0;
 
-	if (vline == VLINE0) {
-		uint32_t start_line = 0;
-		uint32_t end_line = 0;
+	dcn10_cal_vline_position(dc, pipe_ctx, &start_line, &end_line);
 
-		dcn10_cal_vline_position(dc, pipe_ctx, vline, &start_line, &end_line);
-
-		tg->funcs->setup_vertical_interrupt0(tg, start_line, end_line);
-
-	} else if (vline == VLINE1) {
-		pipe_ctx->stream_res.tg->funcs->setup_vertical_interrupt1(
-				tg,
-				pipe_ctx->stream->periodic_interrupt1.lines_offset);
-	}
+	tg->funcs->setup_vertical_interrupt0(tg, start_line, end_line);
 }
 
 void dcn10_setup_vupdate_interrupt(struct dc *dc, struct pipe_ctx *pipe_ctx)
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h +1 -2
index e5691e499023..81b5057d5ff1 100644
@@ -174,8 +174,7 @@ void dcn10_set_cursor_attribute(struct pipe_ctx *pipe_ctx);
 void dcn10_set_cursor_sdr_white_level(struct pipe_ctx *pipe_ctx);
 void dcn10_setup_periodic_interrupt(
 		struct dc *dc,
-		struct pipe_ctx *pipe_ctx,
-		enum vline_select vline);
+		struct pipe_ctx *pipe_ctx);
 enum dc_status dcn10_set_clock(struct dc *dc,
 		enum dc_clock_type clock_type,
 		uint32_t clk_khz,
drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h +1 -7
index 64c1be818b0e..3165a66c5362 100644
@@ -32,11 +32,6 @@
 #include "inc/hw/link_encoder.h"
 #include "core_status.h"
 
-enum vline_select {
-	VLINE0,
-	VLINE1
-};
-
 struct pipe_ctx;
 struct dc_state;
 struct dc_stream_status;
@@ -112,8 +107,7 @@ struct hw_sequencer_funcs {
 			int group_index, int group_size,
 			struct pipe_ctx *grouped_pipes[]);
 	void (*setup_periodic_interrupt)(struct dc *dc,
-			struct pipe_ctx *pipe_ctx,
-			enum vline_select vline);
+			struct pipe_ctx *pipe_ctx);
 	void (*set_drr)(struct pipe_ctx **pipe_ctx, int num_pipes,
 			unsigned int vmin, unsigned int vmax,
 			unsigned int vmid, unsigned int vmid_frame_number);
drivers/gpu/drm/bridge/adv7511/adv7511.h +1 -4
index a0f6ee15c248..711061bf3eb7 100644
@@ -386,10 +386,7 @@ void adv7511_cec_irq_process(struct adv7511 *adv7511, unsigned int irq1);
 #else
 static inline int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511)
 {
-	unsigned int offset = adv7511->type == ADV7533 ?
-						ADV7533_REG_CEC_OFFSET : 0;
-
-	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset,
+	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
 		     ADV7511_CEC_CTRL_POWER_DOWN);
 	return 0;
 }
drivers/gpu/drm/bridge/adv7511/adv7511_cec.c +2 -2
index a20a45c0b353..ddd1305b82b2 100644
@@ -316,7 +316,7 @@ int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511)
 		goto err_cec_alloc;
 	}
 
-	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset, 0);
+	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL, 0);
 	/* cec soft reset */
 	regmap_write(adv7511->regmap_cec,
 		     ADV7511_REG_CEC_SOFT_RESET + offset, 0x01);
@@ -343,7 +343,7 @@ int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511)
 	dev_info(dev, "Initializing CEC failed with error %d, disabling CEC\n",
 		 ret);
 err_cec_parse_dt:
-	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset,
+	regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL,
 		     ADV7511_CEC_CTRL_POWER_DOWN);
 	return ret == -EPROBE_DEFER ? ret : 0;
 }
drivers/gpu/drm/bridge/lontium-lt9611.c +2 -1
index 29b1ce2140ab..1dcc28a4d853 100644
@@ -816,13 +816,14 @@ static int lt9611_connector_init(struct drm_bridge *bridge, struct lt9611 *lt961
 
 	drm_connector_helper_add(&lt9611->connector,
 				 &lt9611_bridge_connector_helper_funcs);
-	drm_connector_attach_encoder(&lt9611->connector, bridge->encoder);
 
 	if (!bridge->encoder) {
 		DRM_ERROR("Parent encoder object not found");
 		return -ENODEV;
 	}
 
+	drm_connector_attach_encoder(&lt9611->connector, bridge->encoder);
+
 	return 0;
 }
 
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +3 -1
index cce98bf2a4e7..72248a565579 100644
@@ -296,7 +296,9 @@ static void ge_b850v3_lvds_remove(void)
 	 * This check is to avoid both the drivers
 	 * removing the bridge in their remove() function
 	 */
-	if (!ge_b850v3_lvds_ptr)
+	if (!ge_b850v3_lvds_ptr ||
+	    !ge_b850v3_lvds_ptr->stdp2690_i2c ||
+		!ge_b850v3_lvds_ptr->stdp4028_i2c)
 		goto out;
 
 	drm_bridge_remove(&ge_b850v3_lvds_ptr->bridge);
drivers/gpu/drm/bridge/parade-ps8640.c +2 -2
index 7bd0affa057a..924851010400 100644
@@ -333,8 +333,8 @@ static int ps8640_probe(struct i2c_client *client)
 	if (IS_ERR(ps_bridge->panel_bridge))
 		return PTR_ERR(ps_bridge->panel_bridge);
 
-	ps_bridge->supplies[0].supply = "vdd33";
-	ps_bridge->supplies[1].supply = "vdd12";
+	ps_bridge->supplies[0].supply = "vdd12";
+	ps_bridge->supplies[1].supply = "vdd33";
 	ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ps_bridge->supplies),
 				      ps_bridge->supplies);
 	if (ret)
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +8 -5
index b10228b9e3a9..356c7d0bd035 100644
@@ -2984,6 +2984,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
 {
 	struct dw_hdmi *hdmi = dev_id;
 	u8 intr_stat, phy_int_pol, phy_pol_mask, phy_stat;
+	enum drm_connector_status status = connector_status_unknown;
 
 	intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0);
 	phy_int_pol = hdmi_readb(hdmi, HDMI_PHY_POL0);
@@ -3022,13 +3023,15 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
 			cec_notifier_phys_addr_invalidate(hdmi->cec_notifier);
 			mutex_unlock(&hdmi->cec_notifier_mutex);
 		}
-	}
 
-	if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
-		enum drm_connector_status status = phy_int_pol & HDMI_PHY_HPD
-						 ? connector_status_connected
-						 : connector_status_disconnected;
+		if (phy_stat & HDMI_PHY_HPD)
+			status = connector_status_connected;
+
+		if (!(phy_stat & (HDMI_PHY_HPD | HDMI_PHY_RX_SENSE)))
+			status = connector_status_disconnected;
+	}
 
+	if (status != connector_status_unknown) {
 		dev_dbg(hdmi->dev, "EVENT=%s\n",
 			status == connector_status_connected ?
 			"plugin" : "plugout");
drivers/gpu/drm/drm_bridge.c +2 -2
index 044acd07c153..d799ec14fd7f 100644
@@ -753,8 +753,8 @@ static int select_bus_fmt_recursive(struct drm_bridge *first_bridge,
 				    struct drm_connector_state *conn_state,
 				    u32 out_bus_fmt)
 {
+	unsigned int i, num_in_bus_fmts = 0;
 	struct drm_bridge_state *cur_state;
-	unsigned int num_in_bus_fmts, i;
 	struct drm_bridge *prev_bridge;
 	u32 *in_bus_fmts;
 	int ret;
@@ -875,7 +875,7 @@ drm_atomic_bridge_chain_select_bus_fmts(struct drm_bridge *bridge,
 	struct drm_connector *conn = conn_state->connector;
 	struct drm_encoder *encoder = bridge->encoder;
 	struct drm_bridge_state *last_bridge_state;
-	unsigned int i, num_out_bus_fmts;
+	unsigned int i, num_out_bus_fmts = 0;
 	struct drm_bridge *last_bridge;
 	u32 *out_bus_fmts;
 	int ret = 0;
drivers/gpu/drm/drm_dp_helper.c +0 -9
index 3c55753bab16..6ba16db77500 100644
@@ -2172,17 +2172,8 @@ int drm_dp_set_phy_test_pattern(struct drm_dp_aux *aux,
 				struct drm_dp_phy_test_params *data, u8 dp_rev)
 {
 	int err, i;
-	u8 link_config[2];
 	u8 test_pattern;
 
-	link_config[0] = drm_dp_link_rate_to_bw_code(data->link_rate);
-	link_config[1] = data->num_lanes;
-	if (data->enhanced_frame_cap)
-		link_config[1] |= DP_LANE_COUNT_ENHANCED_FRAME_EN;
-	err = drm_dp_dpcd_write(aux, DP_LINK_BW_SET, link_config, 2);
-	if (err < 0)
-		return err;
-
 	test_pattern = data->phy_pattern;
 	if (dp_rev < 0x12) {
 		test_pattern = (test_pattern << 2) &
drivers/gpu/drm/drm_dp_mst_topology.c +3 -3
index ab423b0413ee..4272cd3622f8 100644
@@ -4856,14 +4856,14 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
 		seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf);
 
 		ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2);
-		if (ret) {
+		if (ret != 2) {
 			seq_printf(m, "faux/mst read failed\n");
 			goto out;
 		}
 		seq_printf(m, "faux/mst: %*ph\n", 2, buf);
 
 		ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1);
-		if (ret) {
+		if (ret != 1) {
 			seq_printf(m, "mst ctrl read failed\n");
 			goto out;
 		}
@@ -4871,7 +4871,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
 
 		/* dump the standard OUI branch header */
 		ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
-		if (ret) {
+		if (ret != DP_BRANCH_OUI_HEADER_SIZE) {
 			seq_printf(m, "branch oui read failed\n");
 			goto out;
 		}
drivers/gpu/drm/drm_ioctl.c +7 -1
index 4606cc938b36..c160a45a4274 100644
@@ -473,7 +473,13 @@ EXPORT_SYMBOL(drm_invalid_op);
  */
 static int drm_copy_field(char __user *buf, size_t *buf_len, const char *value)
 {
-	int len;
+	size_t len;
+
+	/* don't attempt to copy a NULL pointer */
+	if (WARN_ONCE(!value, "BUG: the value to copy was not set!")) {
+		*buf_len = 0;
+		return 0;
+	}
 
 	/* don't overflow userbuf */
 	len = strlen(value);
drivers/gpu/drm/drm_mipi_dsi.c +1 -0
index 5dd475e82995..2c43d54766f3 100644
@@ -300,6 +300,7 @@ static int mipi_dsi_remove_device_fn(struct device *dev, void *priv)
 {
 	struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev);
 
+	mipi_dsi_detach(dsi);
 	mipi_dsi_device_unregister(dsi);
 
 	return 0;
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
index f5ab891731d0..083273736c83 100644
@@ -128,6 +128,12 @@ static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"),
 		},
 		.driver_data = (void *)&lcd800x1280_rightside_up,
+	}, {	/* Anbernic Win600 */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Win600"),
+		},
+		.driver_data = (void *)&lcd720x1280_rightside_up,
 	}, {	/* Asus T100HA */
 		.matches = {
 		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
drivers/gpu/drm/i915/intel_pm.c +6 -2
index 2f2dc029668b..1b5e8d3e45a9 100644
@@ -5145,10 +5145,14 @@ skl_compute_wm_params(const struct intel_crtc_state *crtc_state,
 	wp->y_tiled = modifier == I915_FORMAT_MOD_Y_TILED ||
 		      modifier == I915_FORMAT_MOD_Yf_TILED ||
 		      modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
-		      modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
+		      modifier == I915_FORMAT_MOD_Yf_TILED_CCS ||
+		      modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
+		      modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS;
 	wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED;
 	wp->rc_surface = modifier == I915_FORMAT_MOD_Y_TILED_CCS ||
-			 modifier == I915_FORMAT_MOD_Yf_TILED_CCS;
+			 modifier == I915_FORMAT_MOD_Yf_TILED_CCS ||
+			 modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS ||
+			 modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS;
 	wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier);
 
 	wp->width = width;
drivers/gpu/drm/meson/meson_drv.c +8 -0
index 2d022f3fb437..b0bfe85f5f6a 100644
@@ -528,6 +528,13 @@ static int meson_drv_probe(struct platform_device *pdev)
 	return 0;
 };
 
+static int meson_drv_remove(struct platform_device *pdev)
+{
+	component_master_del(&pdev->dev, &meson_drv_master_ops);
+
+	return 0;
+}
+
 static struct meson_drm_match_data meson_drm_gxbb_data = {
 	.compat = VPU_COMPATIBLE_GXBB,
 };
@@ -565,6 +572,7 @@ static const struct dev_pm_ops meson_drv_pm_ops = {
 
 static struct platform_driver meson_drm_platform_driver = {
 	.probe      = meson_drv_probe,
+	.remove     = meson_drv_remove,
 	.shutdown   = meson_drv_shutdown,
 	.driver     = {
 		.name	= "meson-drm",
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +5 -7
index 7503f093f3b6..b7841f7fc10a 100644
@@ -675,12 +675,10 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
 	_dpu_kms_mmu_destroy(dpu_kms);
 
 	if (dpu_kms->catalog) {
-		for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
-			u32 vbif_idx = dpu_kms->catalog->vbif[i].id;
-
-			if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) {
-				dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]);
-				dpu_kms->hw_vbif[vbif_idx] = NULL;
+		for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) {
+			if (dpu_kms->hw_vbif[i]) {
+				dpu_hw_vbif_destroy(dpu_kms->hw_vbif[i]);
+				dpu_kms->hw_vbif[i] = NULL;
 			}
 		}
 	}
@@ -987,7 +985,7 @@ static int dpu_kms_hw_init(struct msm_kms *kms)
 	for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
 		u32 vbif_idx = dpu_kms->catalog->vbif[i].id;
 
-		dpu_kms->hw_vbif[i] = dpu_hw_vbif_init(vbif_idx,
+		dpu_kms->hw_vbif[vbif_idx] = dpu_hw_vbif_init(vbif_idx,
 				dpu_kms->vbif[vbif_idx], dpu_kms->catalog);
 		if (IS_ERR_OR_NULL(dpu_kms->hw_vbif[vbif_idx])) {
 			rc = PTR_ERR(dpu_kms->hw_vbif[vbif_idx]);
drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c +13 -16
index 5e8c3f3e6625..fc86d34aec80 100644
@@ -11,6 +11,14 @@
 #include "dpu_hw_vbif.h"
 #include "dpu_trace.h"
 
+static struct dpu_hw_vbif *dpu_get_vbif(struct dpu_kms *dpu_kms, enum dpu_vbif vbif_idx)
+{
+	if (vbif_idx < ARRAY_SIZE(dpu_kms->hw_vbif))
+		return dpu_kms->hw_vbif[vbif_idx];
+
+	return NULL;
+}
+
 /**
  * _dpu_vbif_wait_for_xin_halt - wait for the xin to halt
  * @vbif:	Pointer to hardware vbif driver
@@ -148,20 +156,15 @@ static u32 _dpu_vbif_get_ot_limit(struct dpu_hw_vbif *vbif,
 void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms,
 		struct dpu_vbif_set_ot_params *params)
 {
-	struct dpu_hw_vbif *vbif = NULL;
+	struct dpu_hw_vbif *vbif;
 	struct dpu_hw_mdp *mdp;
 	bool forced_on = false;
 	u32 ot_lim;
-	int ret, i;
+	int ret;
 
 	mdp = dpu_kms->hw_mdp;
 
-	for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) {
-		if (dpu_kms->hw_vbif[i] &&
-				dpu_kms->hw_vbif[i]->idx == params->vbif_idx)
-			vbif = dpu_kms->hw_vbif[i];
-	}
-
+	vbif = dpu_get_vbif(dpu_kms, params->vbif_idx);
 	if (!vbif || !mdp) {
 		DPU_DEBUG("invalid arguments vbif %d mdp %d\n",
 				vbif != NULL, mdp != NULL);
@@ -204,7 +207,7 @@ void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms,
 void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms,
 		struct dpu_vbif_set_qos_params *params)
 {
-	struct dpu_hw_vbif *vbif = NULL;
+	struct dpu_hw_vbif *vbif;
 	struct dpu_hw_mdp *mdp;
 	bool forced_on = false;
 	const struct dpu_vbif_qos_tbl *qos_tbl;
@@ -216,13 +219,7 @@ void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms,
 	}
 	mdp = dpu_kms->hw_mdp;
 
-	for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) {
-		if (dpu_kms->hw_vbif[i] &&
-				dpu_kms->hw_vbif[i]->idx == params->vbif_idx) {
-			vbif = dpu_kms->hw_vbif[i];
-			break;
-		}
-	}
+	vbif = dpu_get_vbif(dpu_kms, params->vbif_idx);
 
 	if (!vbif || !vbif->cap) {
 		DPU_ERROR("invalid vbif %d\n", params->vbif_idx);
drivers/gpu/drm/msm/dp/dp_catalog.c +1 -1
index 2da6982efdbf..613348b022fe 100644
@@ -416,7 +416,7 @@ void dp_catalog_ctrl_config_msa(struct dp_catalog *dp_catalog,
 
 	if (rate == link_rate_hbr3)
 		pixel_div = 6;
-	else if (rate == 1620000 || rate == 270000)
+	else if (rate == 162000 || rate == 270000)
 		pixel_div = 2;
 	else if (rate == link_rate_hbr2)
 		pixel_div = 4;
drivers/gpu/drm/nouveau/nouveau_bo.c +3 -1
index b4946b595d86..b57dcad8865f 100644
@@ -279,8 +279,10 @@ nouveau_bo_alloc(struct nouveau_cli *cli, u64 *size, int *align, u32 domain,
 			break;
 	}
 
-	if (WARN_ON(pi < 0))
+	if (WARN_ON(pi < 0)) {
+		kfree(nvbo);
 		return ERR_PTR(-EINVAL);
+	}
 
 	/* Disable compression if suitable settings couldn't be found. */
 	if (nvbo->comp && !vmm->page[pi].comp) {
drivers/gpu/drm/nouveau/nouveau_connector.c +2 -1
index 4c992fd5bd68..9542fc63e796 100644
@@ -500,7 +500,8 @@ nouveau_connector_set_encoder(struct drm_connector *connector,
 			connector->interlace_allowed =
 				nv_encoder->caps.dp_interlace;
 		else
-			connector->interlace_allowed = true;
+			connector->interlace_allowed =
+				drm->client.device.info.family < NV_DEVICE_INFO_V0_VOLTA;
 		connector->doublescan_allowed = true;
 	} else
 	if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS ||
drivers/gpu/drm/nouveau/nouveau_prime.c +0 -1
index 5f5b87f99546..f08bda533bd9 100644
@@ -89,7 +89,6 @@ struct drm_gem_object *nouveau_gem_prime_import_sg_table(struct drm_device *dev,
 	ret = nouveau_bo_init(nvbo, size, align, NOUVEAU_GEM_DOMAIN_GART,
 			      sg, robj);
 	if (ret) {
-		nouveau_bo_ref(NULL, &nvbo);
 		obj = ERR_PTR(ret);
 		goto unlock;
 	}
drivers/gpu/drm/omapdrm/dss/dss.c +3 -0
index 6ccbc29c4ce4..d5b3123ed081 100644
@@ -1173,6 +1173,7 @@ static void __dss_uninit_ports(struct dss_device *dss, unsigned int num_ports)
 		default:
 			break;
 		}
+		of_node_put(port);
 	}
 }
 
@@ -1205,11 +1206,13 @@ static int dss_init_ports(struct dss_device *dss)
 		default:
 			break;
 		}
+		of_node_put(port);
 	}
 
 	return 0;
 
 error:
+	of_node_put(port);
 	__dss_uninit_ports(dss, i);
 	return r;
 }
drivers/gpu/drm/pl111/pl111_versatile.c +1 -0
index bdd883f4f0da..963a5d5e6987 100644
@@ -402,6 +402,7 @@ static int pl111_vexpress_clcd_init(struct device *dev, struct device_node *np,
 		if (of_device_is_compatible(child, "arm,pl111")) {
 			has_coretile_clcd = true;
 			ct_clcd = child;
+			of_node_put(child);
 			break;
 		}
 		if (of_device_is_compatible(child, "arm,hdlcd")) {
drivers/gpu/drm/udl/udl_modeset.c +0 -3
index edcfd8c120c4..209b5ceba3e0 100644
@@ -400,9 +400,6 @@ udl_simple_display_pipe_enable(struct drm_simple_display_pipe *pipe,
 
 	udl_handle_damage(fb, 0, 0, fb->width, fb->height);
 
-	if (!crtc_state->mode_changed)
-		return;
-
 	/* enable display */
 	udl_crtc_write_mode_to_hw(crtc);
 }
drivers/gpu/drm/vc4/vc4_vec.c +2 -2
index bd5b8eb58b18..c6bd168a5898 100644
@@ -257,7 +257,7 @@ static void vc4_vec_ntsc_j_mode_set(struct vc4_vec *vec)
 static const struct drm_display_mode ntsc_mode = {
 	DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 13500,
 		 720, 720 + 14, 720 + 14 + 64, 720 + 14 + 64 + 60, 0,
-		 480, 480 + 3, 480 + 3 + 3, 480 + 3 + 3 + 16, 0,
+		 480, 480 + 7, 480 + 7 + 6, 525, 0,
 		 DRM_MODE_FLAG_INTERLACE)
 };
 
@@ -279,7 +279,7 @@ static void vc4_vec_pal_m_mode_set(struct vc4_vec *vec)
 static const struct drm_display_mode pal_mode = {
 	DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 13500,
 		 720, 720 + 20, 720 + 20 + 64, 720 + 20 + 64 + 60, 0,
-		 576, 576 + 2, 576 + 2 + 3, 576 + 2 + 3 + 20, 0,
+		 576, 576 + 4, 576 + 4 + 6, 625, 0,
 		 DRM_MODE_FLAG_INTERLACE)
 };
 
drivers/gpu/drm/virtio/virtgpu_vq.c +1 -1
index 5e40fa0f5e8f..e98a29d243c0 100644
@@ -601,7 +601,7 @@ void virtio_gpu_cmd_transfer_to_host_2d(struct virtio_gpu_device *vgdev,
 	bool use_dma_api = !virtio_has_dma_quirk(vgdev->vdev);
 	struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo);
 
-	if (use_dma_api)
+	if (virtio_gpu_is_shmem(bo) && use_dma_api)
 		dma_sync_sgtable_for_device(vgdev->vdev->dev.parent,
 					    shmem->pages, DMA_TO_DEVICE);
 
drivers/hid/hid-multitouch.c +4 -4
index d686917cc3b1..a78ce16d4782 100644
@@ -1155,7 +1155,7 @@ static void mt_touch_report(struct hid_device *hid,
 	int contact_count = -1;
 
 	/* sticky fingers release in progress, abort */
-	if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
+	if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
 		return;
 
 	scantime = *app->scantime;
@@ -1236,7 +1236,7 @@ static void mt_touch_report(struct hid_device *hid,
 			del_timer(&td->release_timer);
 	}
 
-	clear_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
+	clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
 }
 
 static int mt_touch_input_configured(struct hid_device *hdev,
@@ -1671,11 +1671,11 @@ static void mt_expired_timeout(struct timer_list *t)
 	 * An input report came in just before we release the sticky fingers,
 	 * it will take care of the sticky fingers.
 	 */
-	if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
+	if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
 		return;
 	if (test_bit(MT_IO_FLAGS_PENDING_SLOTS, &td->mt_io_flags))
 		mt_release_contacts(hdev);
-	clear_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
+	clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
 }
 
 static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
drivers/hid/hid-roccat.c +4 -0
index 26373b82fe81..6da80e442fdd 100644
@@ -257,6 +257,8 @@ int roccat_report_event(int minor, u8 const *data)
 	if (!new_value)
 		return -ENOMEM;
 
+	mutex_lock(&device->cbuf_lock);
+
 	report = &device->cbuf[device->cbuf_end];
 
 	/* passing NULL is safe */
@@ -276,6 +278,8 @@ int roccat_report_event(int minor, u8 const *data)
 			reader->cbuf_start = (reader->cbuf_start + 1) % ROCCAT_CBUF_SIZE;
 	}
 
+	mutex_unlock(&device->cbuf_lock);
+
 	wake_up_interruptible(&device->wait);
 	return 0;
 }
drivers/hsi/controllers/omap_ssi_core.c +1 -0
index 44a3f5660c10..eb9820158318 100644
@@ -524,6 +524,7 @@ static int ssi_probe(struct platform_device *pd)
 		if (!childpdev) {
 			err = -ENODEV;
 			dev_err(&pd->dev, "failed to create ssi controller port\n");
+			of_node_put(child);
 			goto out3;
 		}
 	}
drivers/hsi/controllers/omap_ssi_port.c +4 -4
index a0cb5be246e1..b9495b720f1b 100644
@@ -230,10 +230,10 @@ static int ssi_start_dma(struct hsi_msg *msg, int lch)
 	if (msg->ttype == HSI_MSG_READ) {
 		err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
 							DMA_FROM_DEVICE);
-		if (err < 0) {
+		if (!err) {
 			dev_dbg(&ssi->device, "DMA map SG failed !\n");
 			pm_runtime_put_autosuspend(omap_port->pdev);
-			return err;
+			return -EIO;
 		}
 		csdp = SSI_DST_BURST_4x32_BIT | SSI_DST_MEMORY_PORT |
 			SSI_SRC_SINGLE_ACCESS0 | SSI_SRC_PERIPHERAL_PORT |
@@ -247,10 +247,10 @@ static int ssi_start_dma(struct hsi_msg *msg, int lch)
 	} else {
 		err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents,
 							DMA_TO_DEVICE);
-		if (err < 0) {
+		if (!err) {
 			dev_dbg(&ssi->device, "DMA map SG failed !\n");
 			pm_runtime_put_autosuspend(omap_port->pdev);
-			return err;
[… more lines in the raw message]

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

drivers/hwmon/gsc-hwmon.c +1 -0
index 1fe37418ff46..f29ce49294da 100644

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

drivers/i2c/busses/i2c-mlxbf.c +39 -5

44 lines not on this page · raw message

drivers/iio/adc/ad7923.c +3 -1
index 8c1e866f72e8..96eeda433ad6 100644

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

drivers/iio/adc/at91-sama5d2_adc.c +18 -10
index 4ede7e766765..250b78ee1625 100644

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

drivers/iio/adc/ltc2497.c +13 -0
index 1adddf5a88a9..61f373fab9a1 100644

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

drivers/iio/dac/ad5593r.c +27 -19

46 lines not on this page · raw message

drivers/iio/inkern.c +4 -2
index 8c3faa797284..c32b2577dd99 100644

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

drivers/iio/pressure/dps310.c +163 -99

262 lines not on this page · raw message

drivers/infiniband/core/cm.c +7 -7
index 3cc7a23fa69f..3133b6be6cab 100644

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

drivers/infiniband/core/uverbs_cmd.c +4 -1
index 466026825dd7..d7c90da9ce7f 100644

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

drivers/infiniband/core/verbs.c +2 -0
index 597e889ba831..5889639e90a1 100644

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

drivers/infiniband/hw/hns/hns_roce_mr.c +0 -1
index 027ec8413ac2..6d7cc724862f 100644

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

drivers/infiniband/hw/mlx4/mr.c +0 -1
index 426fed005d53..811b4bb34524 100644

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

drivers/infiniband/sw/rxe/rxe_qp.c +7 -3
index 2847ab4d9a5f..2e4b008f0387 100644

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

drivers/infiniband/sw/siw/siw_qp_rx.c +15 -12
index 875ea6f1b04a..fd721cc19682 100644

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

drivers/iommu/omap-iommu-debug.c +3 -3
index a99afb5d9011..259f65291d90 100644

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

drivers/isdn/mISDN/l1oip.h +1 -0
index 7ea10db20e3a..48133d022812 100644

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

drivers/isdn/mISDN/l1oip_core.c +7 -6
index b57dcb834594..aec4f2a69c3b 100644

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

drivers/leds/leds-lm3601x.c +0 -2
index d0e1d4814042..3d1272748201 100644

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

drivers/mailbox/bcm-flexrm-mailbox.c +4 -4
index bee33abb5308..e913ed1e34c6 100644

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

drivers/md/bcache/writeback.c +52 -21

73 lines not on this page · raw message

drivers/md/raid0.c +1 -1
index a4c0cafa6010..a20332e755e8 100644

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

drivers/md/raid5.c +13 -1
index 01c7edf32936..9f114b9d8dc6 100644

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

drivers/media/pci/cx88/cx88-vbi.c +4 -5
index 58489ea0c1da..7cf2271866d0 100644

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

drivers/media/pci/cx88/cx88-video.c +22 -21

43 lines not on this page · raw message

drivers/media/platform/exynos4-is/fimc-is.c +1 -0
index dc2a144cd29b..b52d2203eac5 100644

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

drivers/media/platform/xilinx/xilinx-vipp.c +5 -4
index cc2856efea59..f2b0c490187c 100644

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

drivers/memory/of_memory.c +2 -0
index d9f5437d3bce..1791614f324b 100644

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

drivers/memory/pl353-smc.c +1 -0
index b0b251bb207f..1a6964f1ba6a 100644

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

drivers/mfd/fsl-imx25-tsadc.c +25 -9
index a016b39fe9b0..5f1f6f3a0696 100644

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

drivers/mfd/intel_soc_pmic_core.c +1 -0
index ddd64f9e3341..926653e1f603 100644

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

drivers/mfd/lp8788-irq.c +3 -0
index 348439a3fbbd..39006297f3d2 100644

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

drivers/mfd/lp8788.c +10 -2
index 768d556b3fe9..5c3d642c8e3a 100644

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

drivers/mfd/sm501.c +6 -1
index 6d2f4a0a901d..37ad72d8cde2 100644

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

drivers/misc/ocxl/file.c +2 -0
index c742ab02ae18..e094809b54ff 100644

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

drivers/mmc/host/au1xmmc.c +2 -1
index bd00515fbaba..56a3bf51d446 100644

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

drivers/mmc/host/sdhci-msm.c +1 -0
index 192cb8b20b47..ad2e73f9a58f 100644

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

drivers/mmc/host/sdhci-sprd.c +1 -1
index 9cd8862e6cbd..8575f4537e57 100644

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

drivers/mmc/host/wmt-sdmmc.c +4 -1
index cf10949fb0ac..8df722ec57ed 100644

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

drivers/mtd/devices/docg3.c +6 -1
index a030792115bc..fa42473d04c1 100644

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

drivers/mtd/nand/raw/atmel/nand-controller.c +1 -0
index 2228c34f3dea..0d84f8156d8e 100644

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

drivers/mtd/nand/raw/fsl_elbc_nand.c +16 -12
index b2af7f81fdf8..c174b6dc3c6b 100644

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

drivers/mtd/nand/raw/meson_nand.c +2 -2
index 327a2257ec26..38f490088d76 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb.h +2 -0
index 61e67986b625..62958f04a2f2 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +2 -1
index 416763fd1f11..7491f85e85b3 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +1 -1
index 01d4a731b579..5d642458bac5 100644

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

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +79 -0

79 lines not on this page · raw message

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +1 -0
index 198e041d8410..4f669e7c7558 100644

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

drivers/net/ethernet/freescale/fs_enet/mac-fec.c +1 -1
index 99fe2c210d0f..61f4b6e50d29 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2.h +1 -0
index d825eb021b22..e999ac2de34e 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c +8 -2
index 4a3baa7e0142..75e83ea2a926 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +12 -1
index 542cd6f2c9bd..68c5ed8716c8 100644

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

drivers/net/usb/r8152.c +3 -1
index 0bb5b1c78654..a526242a3e36 100644

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

drivers/net/wireless/ath/ath10k/mac.c +29 -25

54 lines not on this page · raw message

drivers/net/wireless/ath/ath11k/mac.c +20 -5
index 44282aec069d..67faf62999de 100644

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

drivers/net/wireless/ath/ath9k/htc_hst.c +28 -15

43 lines not on this page · raw message

drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +2 -1
index 61039538a15b..c8e1d505f7b5 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c +6 -6
index fabfbb0b40b0..d0a7465be586 100644

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

drivers/net/wireless/ralink/rt2x00/rt2800lib.c +30 -4
index fed6d21cd6ce..4bdd3a95f2d2 100644

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

drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +62 -13

75 lines not on this page · raw message

drivers/nvme/host/core.c +2 -1
index 265d9199b657..e9c13804760e 100644

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

drivers/nvme/host/pci.c +2 -1
index ce129655ef0a..65f4bf880608 100644

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

drivers/nvme/target/tcp.c +9 -2
index e3e35b9bd684..2ddbd4f4f628 100644

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

drivers/pci/setup-res.c +11 -0
index 7f1acb3918d0..875d50c16f19 100644

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

drivers/phy/qualcomm/phy-qcom-usb-hsic.c +4 -2
index 04d18d52f700..d4741c2dbbb5 100644

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

drivers/platform/chrome/chromeos_laptop.c +13 -11
index 472a03daa869..109c191d35cf 100644

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

drivers/platform/chrome/cros_ec.c +7 -1
index c4de8c4db193..5a622666a075 100644

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

drivers/platform/chrome/cros_ec_chardev.c +3 -0
index fd33de546aee..0de7c255254e 100644

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

drivers/platform/chrome/cros_ec_proto.c +32 -0
index 3a2a78ff3330..8ffbf92ec1e0 100644

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

drivers/platform/x86/msi-laptop.c +7 -7
index 24ffc8e2d2d1..0e804b6c2d24 100644

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

drivers/power/supply/adp5061.c +3 -3
index 003557043ab3..daee1161c305 100644

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

drivers/powercap/intel_rapl_common.c +3 -1
index 70d6d52bc1e2..285420c1eb7c 100644

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

drivers/regulator/core.c +1 -1
index 317d701487ec..bf8ba73d6c7c 100644

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

drivers/regulator/qcom_rpm-regulator.c +12 -12
index 7f9d66ac37ff..3c41b71a1f52 100644

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

drivers/scsi/3w-9xxx.c +1 -1
index 3337b1e80412..f6f92033132a 100644

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

drivers/scsi/iscsi_tcp.c +52 -21

73 lines not on this page · raw message

drivers/scsi/iscsi_tcp.h +2 -0
index 791453195099..1731956326e2 100644

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

drivers/scsi/libsas/sas_expander.c +1 -1
index 8d6bcc19359f..51485d0251f2 100644

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

drivers/scsi/qedf/qedf_main.c +21 -0
index de5b6453827c..f48ef47546f4 100644

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

drivers/soc/qcom/smem_state.c +2 -1
index d2b558438deb..41e929407196 100644

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

drivers/soc/qcom/smsm.c +13 -7
index 6564f15c5319..acba67dfbc85 100644

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

drivers/soc/tegra/Kconfig +0 -1
index 976dee036470..676807c5a215 100644

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

drivers/soundwire/cadence_master.c +6 -3
index c6d421a4b91b..a3247692ddc0 100644

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

drivers/soundwire/intel.c +0 -1
index 824d9f900aca..942d2fe13218 100644

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

drivers/spi/spi-dw-bt1.c +3 -1
index bc9d5eab3c58..8f6a1af14456 100644

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

drivers/spi/spi-meson-spicc.c +3 -3
index e4cb52e1fe26..6974a1c947aa 100644

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

drivers/spi/spi-mt7621.c +3 -5
index b4b9b7309b5e..351b0ef52bbc 100644

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

drivers/spi/spi-omap-100k.c +1 -0
index 0d0cd061d356..7c992d1f4abd 100644

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

drivers/spi/spi-qup.c +17 -4
index d39dec6d1c91..f3877eeb3da6 100644

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

drivers/spi/spi-s3c64xx.c +9 -0
index dfa7c91e13aa..d435df1b715b 100644

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

drivers/spi/spi.c +2 -0
index 6ea7b286c80c..857a1399850c 100644

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

drivers/spmi/spmi-pmic-arb.c +7 -6
index bbbd311eda03..e6de2aeece8d 100644

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

drivers/staging/greybus/audio_helper.c +0 -11
index a9576f92efaa..08443f4aa045 100644

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

drivers/staging/media/meson/vdec/vdec_hevc.c +5 -1
index 9530e580e57a..afced435c907 100644

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

drivers/staging/media/sunxi/cedrus/cedrus.c +2 -2
index 1dd833757c4e..28de90edf4cc 100644

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

drivers/staging/rtl8723bs/core/rtw_cmd.c +6 -10
index 2abe205e3453..cee05385f872 100644

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

drivers/staging/vt6655/device_main.c +4 -4
index 09ab6d6f2429..343f0de03154 100644

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

drivers/thermal/intel/intel_powerclamp.c +1 -3
index b0eb5ece9243..fb04470d7d4b 100644

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

drivers/thermal/qcom/tsens-v0_1.c +1 -1
index 4ffa2e2c0145..9b8ba429a304 100644

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

drivers/thunderbolt/switch.c +24 -0
index 65f99d744654..e881b72833dc 100644

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

drivers/thunderbolt/tb.h +1 -0
index 8ea360b0ff77..266f3bf8ff5c 100644

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

drivers/thunderbolt/tb_regs.h +1 -0
index e7d9529822fa..26868e2f9d0b 100644

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

drivers/thunderbolt/usb4.c +20 -0
index c05ec6fad77f..0b3a77ade04d 100644

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

drivers/tty/serial/8250/8250_core.c +13 -6
index 98ce484f1089..0a7e9491b4d1 100644

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

drivers/tty/serial/8250/8250_port.c +11 -4
index 9d60418e4adb..71d143c00248 100644

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

drivers/tty/serial/fsl_lpuart.c +2 -0
index a2c4eab0b470..269d1e3a025d 100644

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

drivers/tty/serial/jsm/jsm_driver.c +2 -1
index cd30da0ef083..b5b61e598b53 100644

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

drivers/tty/serial/xilinx_uartps.c +2 -0
index b5a8afbc452b..f7dfa123907a 100644

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

drivers/usb/common/common.c +101 -1

102 lines not on this page · raw message

drivers/usb/common/debug.c +64 -14

78 lines not on this page · raw message

drivers/usb/core/devices.c +4 -17
index 1ef2de6e375a..d8b0041de612 100644

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

drivers/usb/core/endpoint.c +4 -31
index 1c2c04079676..fc3341f2bb61 100644

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

drivers/usb/core/quirks.c +4 -0
index f03ee889ecc7..03473e20e218 100644

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

drivers/usb/gadget/function/f_printer.c +6 -6
index 236ecc968998..c13bb29a160e 100644

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

drivers/usb/host/xhci-mem.c +6 -1
index 024e8911df34..1fba5605a88e 100644

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

drivers/usb/host/xhci-plat.c +16 -2
index dc570ce4e831..972a44b2a7f1 100644

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

drivers/usb/host/xhci.c +2 -1
index 7b16b6b45af7..8918e6ae5c4b 100644

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

drivers/usb/host/xhci.h +1 -0
index 6f16a05b1958..e668740000b2 100644

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

drivers/usb/misc/idmouse.c +4 -4
index e9437a176518..ea39243efee3 100644

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

drivers/usb/musb/musb_gadget.c +3 -0
index fb806b33178a..c273eee35aaa 100644

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

drivers/usb/storage/unusual_devs.h +0 -6
index 4993227ab293..20dcbccb290b 100644

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

drivers/vhost/vsock.c +1 -1
index 5d2d6ce7ff41..b0153617fe0e 100644

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

drivers/video/fbdev/smscufx.c +13 -1
index 28768c272b73..7673db5da26b 100644

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

drivers/video/fbdev/stifb.c +1 -1
index 002f265d8db5..b0470f4f595e 100644

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

fs/btrfs/qgroup.c +15 -0
index a02e38fb696c..36da77534076 100644

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

fs/btrfs/scrub.c +36 -0
index 0392c556af60..88b9a5394561 100644

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

fs/cifs/file.c +9 -0
index fafb69d338c2..a648146e49cf 100644

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

fs/cifs/smb2pdu.c +4 -3
index 7ee8abd1f79b..0c4a2474e75b 100644

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

fs/dlm/ast.c +4 -2
index 283c7b94edda..ca06069e95c8 100644

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

fs/dlm/lock.c +8 -8
index eaa28d654e9f..dde9afb6747b 100644

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

fs/ext4/fast_commit.c +24 -16
index 501e60713010..41dcf21558c4 100644

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

fs/ext4/file.c +6 -0
index 7b28d44b0ddd..0f61e0aa85d6 100644

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

fs/ext4/inode.c +13 -1
index 44b6d061ed71..45f31dc1e66f 100644

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

fs/ext4/namei.c +1 -1
index 58b0f1b12095..646cc1935dff 100644

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

fs/ext4/resize.c +1 -1
index f6409ddfd117..c55ba0390021 100644

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

fs/ext4/super.c +7 -12
index a0af833f7da7..9573d493c374 100644

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

fs/f2fs/checkpoint.c +18 -5
index 1c49b9959b32..cd46a64ace1b 100644

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

fs/f2fs/data.c +2 -2
index b2016fd3a7ca..9270330ec5ce 100644

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

fs/f2fs/extent_cache.c +1 -2
index 3ebf976a682d..bd16c78b5bf2 100644

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

fs/f2fs/f2fs.h +20 -7
index 1066725c3c5d..c03fdda1bddf 100644

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

fs/f2fs/gc.c +9 -1
index 3b53fdebf03d..3baa62ef6e3a 100644

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

fs/f2fs/recovery.c +20 -3
index 72ce13111679..c3c527afdd07 100644

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

fs/f2fs/segment.c +27 -20

47 lines not on this page · raw message

fs/f2fs/super.c +2 -2
index ccfb6c5a8fbc..fba413ced982 100644

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

fs/io_uring.c +6 -2
index 9654b60a06a5..05f360b66b07 100644

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

fs/jbd2/commit.c +1 -1
index 98cfa73cb165..fa24b407a9dc 100644

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

fs/jbd2/journal.c +8 -2
index b748329bb0ba..6689d235de8a 100644

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

fs/jbd2/recovery.c +1 -0
index 1e07dfac4d81..1ae1697fe99b 100644

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

fs/jbd2/transaction.c +3 -3
index 0f1cef90fa7d..86472212cce1 100644

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

fs/nfsd/nfs4recover.c +3 -1
index f9b730c43192..83c4e6883953 100644

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

fs/nfsd/nfs4state.c +5 -0
index f1b503bec222..665d0eaeb8db 100644

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

fs/nfsd/nfs4xdr.c +1 -1
index 46f825cf53f4..cc605ee0b2fa 100644

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

fs/quota/quota_tree.c +38 -0
index 1a188fbdf34e..07948f6ac84e 100644

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

fs/userfaultfd.c +2 -2
index aef0da5d6f63..a3074a9d71a6 100644

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

include/linux/ata.h +21 -18
index 6e67aded28f8..6d2d31b03b4d 100644

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

include/linux/dynamic_debug.h +1 -10
index a57ee75342cf..c0c6ea9ea7e3 100644

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

include/linux/iova.h +1 -1
index a0637abffee8..6c19b09e9663 100644

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

include/linux/once.h +28 -0
index ae6f4eb41cbe..bb58e1c3aa03 100644

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

include/linux/ring_buffer.h +1 -1
index 136ea0997e6d..c9237d30c29b 100644

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

include/linux/serial_8250.h +1 -0
index 2b70f736b091..92f3b778d8c2 100644

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

include/linux/skbuff.h +2 -0
index 61fc053a4a4e..462b0e3ef2b2 100644

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

include/linux/tcp.h +1 -1
index 2f87377e9af7..6e3340379d85 100644

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

include/linux/usb/ch9.h +12 -50

62 lines not on this page · raw message

include/net/ieee802154_netdev.h +9 -3
index a8994f307fc3..03b64bf876a4 100644

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

include/net/sock.h +1 -1
index d53fb6437476..90a8b8b26a20 100644

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

include/net/tcp.h +4 -1
index 8129ce9a0771..bf4af27f5620 100644

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

include/uapi/linux/usb/ch9.h +13 -0
index 0f865ae4ba89..17ce56198c9a 100644

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

kernel/bpf/btf.c +1 -1
index dc497eaf2266..9232938e3f96 100644

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

kernel/bpf/syscall.c +2 -0
index 419dbc3d060e..aaad2dce2be6 100644

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

kernel/cgroup/cpuset.c +11 -7
index b7830f1f1f3a..43270b07b2e0 100644

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

kernel/gcov/gcc_4_7.c +16 -2
index 53c67c87f141..c699feda21ac 100644

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

kernel/livepatch/transition.c +16 -2
index f6310f848f34..b04b87a4e0a7 100644

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

kernel/rcu/tasks.h +1 -1
index 14af29fe1377..8b51e6a5b386 100644

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

kernel/rcu/tree.c +9 -8
index b41009a283ca..b10d6bcea77d 100644

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

kernel/trace/ftrace.c +6 -2
index d868df6f13c8..2165c9ac14bf 100644

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

kernel/trace/kprobe_event_gen_test.c +44 -5

49 lines not on this page · raw message

kernel/trace/ring_buffer.c +84 -3

87 lines not on this page · raw message

kernel/trace/trace.c +23 -0
index 50200898410d..a5245362ce7a 100644

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

lib/dynamic_debug.c +10 -35

45 lines not on this page · raw message

lib/once.c +30 -0
index 59149bf3bfb4..351f66aad310 100644

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

mm/hugetlb.c +15 -14
index c42c76447e10..c57c165bfbbc 100644

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

mm/mmap.c +4 -1
index 31fc116a8ec9..33ebda8385b9 100644

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

net/bluetooth/hci_core.c +23 -11
index 2cb0cf035476..866eb22432de 100644

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

net/bluetooth/hci_sysfs.c +3 -0
index b69d88b88d2e..ccd2c377bf83 100644

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

net/bluetooth/l2cap_core.c +13 -4
index 0c38af2ff209..83dd76e9196f 100644

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

net/can/bcm.c +4 -3
index e918a0f3cda2..afa82adaf6cd 100644

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

net/core/stream.c +2 -1
index a166a32b411f..a61130504827 100644

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

net/ieee802154/socket.c +4 -0
index 7edec210780a..ecc0d5fbde04 100644

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

net/ipv4/af_inet.c +1 -1
index a733ce1a3f8f..87d73a3e92ba 100644

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

net/ipv4/inet_hashtables.c +2 -2
index feb7f072f2b2..c0de655fffd7 100644

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

net/ipv4/netfilter/nft_fib_ipv4.c +3 -0
index 03df986217b7..9e6f0f1275e2 100644

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

net/ipv4/tcp.c +13 -6
index bfeb05f62b94..a7127364253c 100644

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

net/ipv4/tcp_input.c +1 -1
index 4ecd85b1e806..377cba9b124d 100644

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

net/ipv4/tcp_ipv4.c +7 -4
index 0d165ce2d80a..5c1e6b0687e2 100644

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

net/ipv4/tcp_output.c +12 -7
index 48fce999dc61..eefd032bc6db 100644

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

net/ipv4/udp.c +3 -3
index e498c7666ec6..4446aa8237ff 100644

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

net/ipv6/netfilter/nft_fib_ipv6.c +5 -1
index 92f3235fa287..602743f6dcee 100644

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

net/ipv6/tcp_ipv6.c +7 -4
index 8d91f36cb11b..c14eaec64a0b 100644

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

net/ipv6/udp.c +2 -2
index 4e90e5a52945..9b504bf49214 100644

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

net/mac80211/cfg.c +0 -3
index 8010967a6874..c6a7f1c99abc 100644

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

net/openvswitch/datapath.c +13 -5
index 9d6ef6cb9b26..6b5c0abf7f1b 100644

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

net/rds/tcp.c +1 -1
index 5327d130c4b5..b560d06e6d96 100644

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

net/sctp/auth.c +14 -4
index db6b7373d16c..34964145514e 100644

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

net/unix/garbage.c +20 -0
index d45d5366115a..dc2763540393 100644

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

net/vmw_vsock/virtio_transport_common.c +1 -1
index d6d3a05c008a..c9ee9259af48 100644

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

net/xfrm/xfrm_ipcomp.c +1 -0
index 0814320472f1..24ac6805275e 100644

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

scripts/Kbuild.include +22 -1
index 0d6e11820791..25696de8114a 100644

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

scripts/package/mkspec +2 -2
index 7c477ca7dc98..951cc60e5a90 100755

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

scripts/selinux/install_policy.sh +1 -1
index 2dccf141241d..20af56ce245c 100755

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

security/Kconfig.hardening +42 -21

63 lines not on this page · raw message

sound/core/pcm_dmaengine.c +5 -3
index 4d0e8fe535a1..be58505889a3 100644

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

sound/core/rawmidi.c +0 -2
index 257ad5206240..0d91143eb464 100644

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

sound/core/sound_oss.c +9 -4
index 610f317bea9d..99874e80b682 100644

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

sound/pci/hda/hda_beep.c +13 -2
index 53a2b89f8983..e63621bcb214 100644

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

sound/pci/hda/hda_beep.h +1 -0
index a25358a4807a..db76e3ddba65 100644

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

sound/pci/hda/patch_hdmi.c +0 -6
index c3fcf478037f..b1c57c65f6cd 100644

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

sound/pci/hda/patch_realtek.c +7 -4
index 574fe798d512..60e3bc124836 100644

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

sound/pci/hda/patch_sigmatel.c +2 -23
index b848e435b93f..6fc0c4e77cd1 100644

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

sound/soc/codecs/da7219.c +3 -2
index 5f8c96dea094..f9e58d6509a8 100644

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

sound/soc/codecs/mt6660.c +6 -2
index d1797003c83d..e18a58868273 100644

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

sound/soc/codecs/tas2764.c +26 -52

78 lines not on this page · raw message

sound/soc/codecs/wcd9335.c +1 -1
index 8f4ed39c49de..33c29a1f52d0 100644

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

sound/soc/codecs/wcd934x.c +1 -1
index fd704df9b175..104751ac6cd1 100644

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

sound/soc/codecs/wm5102.c +3 -3
index 2ed3fa67027d..b7f5e5391fdb 100644

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

sound/soc/codecs/wm5110.c +3 -3
index d0cef982215d..c158f8b1e8e4 100644

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

sound/soc/codecs/wm8997.c +3 -3
index 229f2986cd96..07378714b013 100644

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

sound/soc/fsl/eukrea-tlv320.c +5 -3
index e13271ea84de..29cf9234984d 100644

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

sound/soc/sh/rcar/ctu.c +5 -1
index 7647b3d4c0ba..25a8cfc27433 100644

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

sound/soc/sh/rcar/dvc.c +5 -1
index 8d91c0eb0880..53b2ad01222b 100644

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

sound/soc/sh/rcar/mix.c +5 -1
index a3e0370f5704..c6fe2595c373 100644

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

sound/soc/sh/rcar/src.c +4 -1
index 585ffba0244b..fd52e26a3808 100644

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

sound/soc/sh/rcar/ssi.c +3 -1
index 042207c11651..2ead44779d46 100644

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

sound/soc/sof/sof-pci-dev.c +1 -1
index 75657a25dbc0..fe9feaab6a0a 100644

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

sound/usb/endpoint.c +3 -3
index 8527267725bb..80dcac5abe0c 100644

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

tools/bpf/bpftool/btf_dumper.c +1 -1
index 0e9310727281..13be48763199 100644

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

tools/bpf/bpftool/main.c +10 -0
index 1854d6b97860..4fd4e3462ebc 100644

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

tools/lib/bpf/xsk.c +3 -3
index e8745f646371..fa1f8faf7dfe 100644

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

tools/objtool/elf.c +6 -1
index 5aa3b4e76479..a2ea3931e01d 100644

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

tools/perf/util/intel-pt.c +7 -2
index 5163d2ffea70..453773ce6f45 100644

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

tools/testing/selftests/arm64/signal/testcases/testcases.c +1 -1
index 61ebcdf63831..a3ac5c2d8aac 100644

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

tools/testing/selftests/tpm2/tpm2.py +4 -0
index f34486cd7342..3e67fdb518ec 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.