Skip to contentSkip to conversation

Linux 5.10.209

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jan 25, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.209 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

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

 Makefile                                                          |    2 
 arch/arc/kernel/signal.c                                          |    6 
 arch/arm/boot/dts/qcom-apq8064.dtsi                               |    2 
 arch/arm/mach-davinci/Kconfig                                     |    1 
 arch/arm/mach-sunxi/mc_smp.c                                      |    4 
 arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts            |    2 
 arch/arm64/boot/dts/qcom/qrb5165-rb5.dts                          |    2 
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts                        |    2 
 arch/arm64/boot/dts/ti/k3-am65-main.dtsi                          |    2 
 arch/arm64/kvm/vgic/vgic-its.c                                    |    5 
 arch/arm64/kvm/vgic/vgic-mmio-v3.c                                |   27 
 arch/mips/alchemy/devboards/db1200.c                              |    2 
 arch/mips/alchemy/devboards/db1550.c                              |    2 
 arch/mips/include/asm/dmi.h                                       |    2 
 arch/mips/kernel/setup.c                                          |    4 
 arch/powerpc/include/asm/sections.h                               |    8 
 arch/powerpc/lib/Makefile                                         |    2 
 arch/powerpc/perf/imc-pmu.c                                       |    6 
 arch/powerpc/platforms/44x/Kconfig                                |    1 
 arch/powerpc/platforms/powernv/opal-irqchip.c                     |    2 
 arch/powerpc/platforms/powernv/opal-powercap.c                    |    6 
 arch/powerpc/platforms/powernv/opal-xscom.c                       |    5 
 arch/powerpc/platforms/pseries/hotplug-memory.c                   |   21 
 arch/s390/include/asm/pci_io.h                                    |   32 
 arch/s390/pci/pci_mmio.c                                          |   12 
 arch/x86/kernel/kvmclock.c                                        |   12 
 arch/x86/lib/misc.c                                               |    2 
 crypto/af_alg.c                                                   |   14 
 crypto/scompress.c                                                |    6 
 drivers/acpi/acpi_extlog.c                                        |    7 
 drivers/acpi/acpi_lpit.c                                          |    2 
 drivers/acpi/acpi_video.c                                         |   12 
 drivers/acpi/property.c                                           |    4 
 drivers/acpi/resource.c                                           |    7 
 drivers/android/binder.c                                          |    2 
 drivers/android/binder_alloc.c                                    |   32 
 drivers/base/swnode.c                                             |    3 
 drivers/bluetooth/btmtkuart.c                                     |   11 
 drivers/clk/clk-fixed-rate.c                                      |   28 
 drivers/clk/clk-si5341.c                                          |    4 
 drivers/clk/qcom/gpucc-sm8150.c                                   |    4 
 drivers/clk/qcom/videocc-sm8150.c                                 |    5 
 drivers/clk/rockchip/clk-rk3128.c                                 |    2 
 drivers/clk/zynqmp/clk-mux-zynqmp.c                               |    2 
 drivers/clk/zynqmp/divider.c                                      |   63 -
 drivers/cpufreq/cpufreq-dt-platdev.c                              |    2 
 drivers/cpufreq/imx-cpufreq-dt.c                                  |    2 
 drivers/cpufreq/imx6q-cpufreq.c                                   |    4 
 drivers/cpufreq/scmi-cpufreq.c                                    |    7 
 drivers/cpufreq/tegra20-cpufreq.c                                 |    2 
 drivers/crypto/ccp/ccp-ops.c                                      |    5 
 drivers/crypto/sa2ul.c                                            |    3 
 drivers/crypto/sahara.c                                           |  248 +---
 drivers/crypto/virtio/Kconfig                                     |    3 
 drivers/crypto/virtio/Makefile                                    |    1 
 drivers/crypto/virtio/virtio_crypto_akcipher_algs.c               |  591 ++++++++++
 drivers/crypto/virtio/virtio_crypto_algs.c                        |  143 +-
 drivers/crypto/virtio/virtio_crypto_common.h                      |   26 
 drivers/crypto/virtio/virtio_crypto_core.c                        |   82 +
 drivers/crypto/virtio/virtio_crypto_mgr.c                         |   11 
 drivers/edac/thunderx_edac.c                                      |   10 
 drivers/firmware/meson/meson_sm.c                                 |    5 
 drivers/firmware/ti_sci.c                                         |   10 
 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c                       |   10 
 drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c                         |    4 
 drivers/gpu/drm/amd/pm/powerplay/si_dpm.c                         |    5 
 drivers/gpu/drm/bridge/tc358767.c                                 |    2 
 drivers/gpu/drm/bridge/ti-tpd12s015.c                             |    4 
 drivers/gpu/drm/drm_crtc.c                                        |    8 
 drivers/gpu/drm/drm_drv.c                                         |   10 
 drivers/gpu/drm/exynos/exynos_drm_dma.c                           |    8 
 drivers/gpu/drm/exynos/exynos_hdmi.c                              |    2 
 drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c                         |    9 
 drivers/gpu/drm/msm/dsi/phy/dsi_phy.c                             |    4 
 drivers/gpu/drm/nouveau/nv04_fence.c                              |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c                |    2 
 drivers/gpu/drm/panel/panel-elida-kd35t133.c                      |    2 
 drivers/gpu/drm/radeon/r100.c                                     |    4 
 drivers/gpu/drm/radeon/r600_cs.c                                  |    4 
 drivers/gpu/drm/radeon/radeon_display.c                           |    7 
 drivers/gpu/drm/radeon/radeon_vm.c                                |    8 
 drivers/gpu/drm/radeon/si.c                                       |    4 
 drivers/gpu/drm/radeon/sumo_dpm.c                                 |    4 
 drivers/gpu/drm/radeon/trinity_dpm.c                              |    4 
 drivers/hid/wacom_wac.c                                           |   32 
 drivers/hwtracing/coresight/coresight-etm4x.h                     |    2 
 drivers/i2c/busses/i2c-rk3x.c                                     |   13 
 drivers/i2c/busses/i2c-s3c2410.c                                  |   40 
 drivers/iio/adc/ad7091r-base.c                                    |    6 
 drivers/iio/adc/ad9467.c                                          |  114 +
 drivers/iio/adc/adi-axi-adc.c                                     |   74 -
 drivers/infiniband/hw/mthca/mthca_cmd.c                           |    4 
 drivers/infiniband/hw/mthca/mthca_main.c                          |    2 
 drivers/infiniband/ulp/iser/iscsi_iser.h                          |    2 
 drivers/infiniband/ulp/iser/iser_initiator.c                      |    5 
 drivers/infiniband/ulp/iser/iser_memory.c                         |    8 
 drivers/infiniband/ulp/iser/iser_verbs.c                          |    1 
 drivers/input/joystick/xpad.c                                     |    1 
 drivers/input/keyboard/atkbd.c                                    |   50 
 drivers/input/serio/i8042-acpipnpio.h                             |    8 
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c                        |    1 
 drivers/leds/Kconfig                                              |    1 
 drivers/media/dvb-core/dvbdev.c                                   |    2 
 drivers/media/dvb-frontends/m88ds3103.c                           |    7 
 drivers/media/usb/cx231xx/cx231xx-core.c                          |    2 
 drivers/media/usb/pvrusb2/pvrusb2-context.c                       |    3 
 drivers/mfd/syscon.c                                              |    4 
 drivers/mmc/host/Kconfig                                          |   10 
 drivers/mtd/mtd_blkdevs.c                                         |    4 
 drivers/mtd/nand/raw/fsl_ifc_nand.c                               |    2 
 drivers/net/dsa/vitesse-vsc73xx-core.c                            |    2 
 drivers/net/ethernet/broadcom/tg3.c                               |   11 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                       |    1 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c          |    8 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c            |    8 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c           |  131 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c                |    9 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c          |   11 
 drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c                |    2 
 drivers/net/ethernet/renesas/ravb_main.c                          |    2 
 drivers/net/ethernet/ti/am65-cpsw-nuss.c                          |    5 
 drivers/net/phy/micrel.c                                          |    1 
 drivers/net/wireless/ath/ath11k/ahb.c                             |    4 
 drivers/net/wireless/marvell/libertas/Kconfig                     |    2 
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                   |    2 
 drivers/net/wireless/marvell/mwifiex/fw.h                         |    1 
 drivers/net/wireless/marvell/mwifiex/ioctl.h                      |    1 
 drivers/net/wireless/marvell/mwifiex/uap_cmd.c                    |    8 
 drivers/net/wireless/realtek/rtlwifi/pci.c                        |   79 -
 drivers/net/wireless/realtek/rtlwifi/pci.h                        |    5 
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c              |   14 
 drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c        |   12 
 drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.h        |    1 
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c              |    6 
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.h              |    1 
 drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c              |    6 
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c              |   61 -
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c              |   16 
 drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c              |   15 
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c              |    5 
 drivers/net/wireless/realtek/rtlwifi/wifi.h                       |    7 
 drivers/net/wireless/realtek/rtw88/mac80211.c                     |    4 
 drivers/net/xen-netback/netback.c                                 |   44 
 drivers/nvme/host/core.c                                          |    5 
 drivers/nvme/host/nvme.h                                          |    5 
 drivers/nvme/target/tcp.c                                         |   20 
 drivers/of/base.c                                                 |    1 
 drivers/of/unittest-data/tests-phandle.dtsi                       |   10 
 drivers/of/unittest.c                                             |   74 -
 drivers/parport/parport_serial.c                                  |   64 +
 drivers/pci/controller/dwc/pci-keystone.c                         |    9 
 drivers/pci/quirks.c                                              |    8 
 drivers/pinctrl/cirrus/Kconfig                                    |    3 
 drivers/power/supply/cw2015_battery.c                             |    2 
 drivers/pwm/pwm-jz4740.c                                          |    7 
 drivers/pwm/pwm-stm32.c                                           |   63 -
 drivers/reset/hisilicon/hi6220_reset.c                            |    2 
 drivers/s390/block/scm_blk.c                                      |    7 
 drivers/scsi/fnic/fnic_debugfs.c                                  |    3 
 drivers/scsi/hisi_sas/hisi_sas_main.c                             |    4 
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c                            |    2 
 drivers/spi/Kconfig                                               |    3 
 drivers/spi/spi-sh-msiof.c                                        |   17 
 drivers/staging/media/rkisp1/rkisp1-dev.c                         |    3 
 drivers/tty/serial/8250/8250_omap.c                               |    2 
 drivers/tty/serial/imx.c                                          |   29 
 drivers/tty/tty.h                                                 |    2 
 drivers/tty/tty_io.c                                              |   35 
 drivers/tty/tty_ioctl.c                                           |    2 
 drivers/uio/uio.c                                                 |    7 
 drivers/usb/chipidea/core.c                                       |    7 
 drivers/usb/class/cdc-acm.c                                       |    3 
 drivers/usb/dwc3/core.c                                           |   39 
 drivers/usb/dwc3/ep0.c                                            |    5 
 drivers/usb/mon/mon_bin.c                                         |    7 
 drivers/usb/phy/phy-mxs-usb.c                                     |    3 
 drivers/usb/typec/class.c                                         |    4 
 drivers/video/fbdev/core/fb_defio.c                               |    6 
 drivers/watchdog/bcm2835_wdt.c                                    |    3 
 drivers/watchdog/hpwdt.c                                          |    2 
 drivers/watchdog/rti_wdt.c                                        |   13 
 drivers/watchdog/watchdog_dev.c                                   |    3 
 fs/debugfs/file.c                                                 |    8 
 fs/debugfs/inode.c                                                |   27 
 fs/debugfs/internal.h                                             |   10 
 fs/efivarfs/super.c                                               |   12 
 fs/f2fs/file.c                                                    |    7 
 fs/f2fs/namei.c                                                   |    2 
 fs/f2fs/xattr.c                                                   |    6 
 fs/gfs2/rgrp.c                                                    |   23 
 fs/jbd2/commit.c                                                  |    1 
 fs/jbd2/journal.c                                                 |    4 
 fs/namespace.c                                                    |   11 
 fs/nfs/blocklayout/blocklayout.c                                  |    2 
 fs/nfs/nfs4proc.c                                                 |    3 
 fs/pstore/ram_core.c                                              |    2 
 include/crypto/if_alg.h                                           |    3 
 include/drm/drm_bridge.h                                          |    2 
 include/dt-bindings/clock/qcom,videocc-sm8150.h                   |    4 
 include/linux/clk-provider.h                                      |   33 
 include/linux/dma-map-ops.h                                       |    3 
 include/linux/iio/adc/adi-axi-adc.h                               |    4 
 include/linux/of.h                                                |  291 ++--
 include/linux/rcupdate.h                                          |   14 
 include/net/bluetooth/hci_core.h                                  |    1 
 include/uapi/linux/bpf.h                                          |    3 
 include/uapi/linux/virtio_crypto.h                                |   82 +
 init/do_mounts.c                                                  |    9 
 io_uring/io_uring.c                                               |    9 
 kernel/bpf/lpm_trie.c                                             |    3 
 kernel/bpf/stackmap.c                                             |   11 
 kernel/bpf/verifier.c                                             |   16 
 kernel/debug/kdb/kdb_main.c                                       |    2 
 kernel/dma/coherent.c                                             |   12 
 kernel/kprobes.c                                                  |   23 
 kernel/time/tick-sched.c                                          |    5 
 kernel/trace/ring_buffer.c                                        |    6 
 kernel/trace/trace.c                                              |    6 
 kernel/trace/trace_output.c                                       |    6 
 lib/idr.c                                                         |    2 
 lib/test_ida.c                                                    |   40 
 net/bluetooth/hci_conn.c                                          |    8 
 net/bluetooth/hci_debugfs.c                                       |   12 
 net/bluetooth/hci_event.c                                         |   11 
 net/core/neighbour.c                                              |    9 
 net/dns_resolver/dns_key.c                                        |    2 
 net/ethtool/features.c                                            |    9 
 net/ipv6/ip6_tunnel.c                                             |   26 
 net/mptcp/options.c                                               |    1 
 net/ncsi/internal.h                                               |    9 
 net/ncsi/ncsi-netlink.c                                           |    4 
 net/ncsi/ncsi-pkt.h                                               |    7 
 net/ncsi/ncsi-rsp.c                                               |   26 
 net/netfilter/ipvs/ip_vs_xmit.c                                   |    4 
 net/netfilter/nf_tables_api.c                                     |   15 
 net/netlabel/netlabel_calipso.c                                   |   52 
 net/netlabel/netlabel_cipso_v4.c                                  |    4 
 net/netlabel/netlabel_mgmt.c                                      |    8 
 net/netlabel/netlabel_unlabeled.c                                 |   10 
 net/netlabel/netlabel_user.h                                      |    4 
 net/qrtr/ns.c                                                     |    4 
 net/vmw_vsock/virtio_transport_common.c                           |   13 
 security/apparmor/policy_unpack.c                                 |    4 
 security/selinux/hooks.c                                          |    7 
 sound/pci/hda/patch_realtek.c                                     |   11 
 sound/pci/oxygen/oxygen_mixer.c                                   |    2 
 sound/soc/atmel/sam9g20_wm8731.c                                  |   61 +
 sound/soc/codecs/cs35l33.c                                        |    4 
 sound/soc/codecs/cs35l34.c                                        |    4 
 sound/soc/codecs/cs43130.c                                        |    6 
 sound/soc/codecs/da7219-aad.c                                     |    2 
 sound/soc/codecs/nau8822.c                                        |    9 
 sound/soc/codecs/rt5645.c                                         |   10 
 sound/soc/codecs/wm8974.c                                         |    6 
 sound/soc/intel/skylake/skl-pcm.c                                 |    9 
 sound/soc/intel/skylake/skl-sst-ipc.c                             |    4 
 tools/include/uapi/linux/bpf.h                                    |    3 
 tools/lib/api/io.h                                                |    1 
 tools/perf/util/bpf-event.c                                       |    8 
 tools/perf/util/bpf-event.h                                       |   12 
 tools/perf/util/env.c                                             |   50 
 tools/perf/util/env.h                                             |    4 
 tools/perf/util/genelf.c                                          |    6 
 tools/perf/util/header.c                                          |    8 
 tools/testing/selftests/drivers/net/mlxsw/qos_pfc.sh              |   40 
 tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower.sh |  106 +
 tools/testing/selftests/net/fib_nexthop_multiprefix.sh            |    4 
 tools/testing/selftests/powerpc/math/fpu_preempt.c                |    9 
 tools/testing/selftests/powerpc/math/vmx_preempt.c                |   10 
 269 files changed, 2886 insertions(+), 1471 deletions(-)

Abhinav Singh (1):
drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer

Alex Deucher (1):
drm/amdgpu/debugfs: fix error code when smc register accessors are NULL

Alexandra Diupina (1):
cpufreq: scmi: process the result of devm_of_clk_add_hw_provider()

Amit Cohen (2):
mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes

Amit Kumar Mahapatra (1):
spi: spi-zynqmp-gqspi: fix driver kconfig dependencies

Andreas Gruenbacher (2):
Revert "gfs2: Don't reject a supposedly full bitmap if we have blocks reserved"
gfs2: Also reflect single-block allocations in rgd->rd_extfail_pt

Andrei Matei (1):
bpf: Fix verification of indirect var-off stack access

Andrew Lunn (1):
net: netlabel: Fix kerneldoc warnings

Andrii Nakryiko (1):
bpf: fix check for attempt to corrupt spilled pointer

Arnaldo Carvalho de Melo (1):
libapi: Add missing linux/types.h header to get the __u64 type on io.h

Arnd Bergmann (3):
EDAC/thunderx: Fix possible out-of-bounds string access
wifi: libertas: stop selecting wext
ARM: davinci: always select CONFIG_CPU_ARM926T

Arseniy Krasnov (1):
virtio/vsock: fix logic which reduces credit update messages

Artem Chernyshev (1):
scsi: fnic: Return error if vmalloc() failed

Benjamin Coddington (1):
blocklayoutdriver: Fix reference leak of pnfs_device_node

Bhaskar Chowdhury (1):
ncsi: internal.h: Fix a spello

Cameron Williams (2):
parport: parport_serial: Add Brainboxes BAR details
parport: parport_serial: Add Brainboxes device IDs and geometry

Carlos Llamas (7):
binder: use EPOLLERR from eventpoll.h
binder: fix trivial typo of binder_free_buf_locked()
binder: fix comment on binder_alloc_new_buf() return value
binder: fix async space check for 0-sized buffers
binder: fix unused alloc->free_async_space
binder: fix use-after-free in shinker's callback
binder: fix race between mmput() and do_exit()

Chao Yu (3):
f2fs: fix to avoid dirent corruption
f2fs: fix to check compress file in f2fs_move_file_range()
f2fs: fix to update iostat correctly in f2fs_filemap_fault()

Charles Keepax (2):
pinctrl: lochnagar: Don't build on MIPS
ASoC: wm8974: Correct boost mixer inputs

Chen Ni (1):
crypto: sa2ul - Return crypto_aead_setkey to transfer the error

Chengming Zhou (1):

      crypto: scomp - fix req->dst buffer overflow

Chih-Kang Chang (1):
wifi: rtw88: fix RX filter in FIF_ALLMULTI flag

Chris Morgan (1):
drm/panel-elida-kd35t133: hold panel in reset for unprepare

Christian A. Ehrhardt (1):
of: Fix double free in of_parse_phandle_with_args_map

Christian Brauner (1):
fs: indicate request originates from old mount API

Christoph Niedermaier (2):
serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock
serial: imx: Correct clock error message in function probe()

Christophe JAILLET (6):
firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe()
MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
kdb: Fix a potential buffer overflow in kdb_local()
mlxsw: spectrum: Use 'bitmap_zalloc()' when applicable

Christophe Leroy (1):
powerpc: Remove in_kernel_text()

Chukun Pan (1):
net: ethernet: mtk_eth_soc: remove duplicate if statements

Claudiu Beznea (1):
net: phy: micrel: populate .soft_reset for KSZ9131

Colin Ian King (2):
x86/lib: Fix overflow when counting digits
rtlwifi: rtl8192de: make arrays static const, makes object smaller

Curtis Klein (1):
watchdog: set cdev owner before adding

Dan Carpenter (1):
media: dvbdev: drop refcount on error path in dvb_device_open()

Dang Huynh (1):
leds: aw2013: Select missing dependency REGMAP_I2C

Dario Binacchi (1):
drm/bridge: Fix typo in post_disable() description

Dave Airlie (1):
nouveau/tu102: flush all pdbs on vmm flush

David Howells (1):
keys, dns: Fix size check of V1 server-list header

David Lin (2):
ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16
wifi: mwifiex: configure BSSID consistently when starting AP

David Rau (1):
ASoC: da7219: Support low DC impedance headset

Dinghao Liu (1):
crypto: ccp - fix memleak in ccp_init_dm_workarea

Dmitry Baryshkov (4):
ARM: dts: qcom: apq8064: correct XOADC register address drm/msm/mdp4: flush vblank event on disable drm/drv: propagate errors from drm_modeset_register_all()
clk: fixed-rate: add devm_clk_hw_register_fixed_rate

Dmitry Rokosov (1):
firmware: meson_sm: populate platform devices from sm device tree data

Edward Adam Davis (1):
mptcp: fix uninit-value in mptcp_incoming_options

Eric Biggers (1):
f2fs: explicitly null-terminate the xattr list

Eric Dumazet (1):
ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()

Esther Shimanovich (1):
Input: i8042 - add nomux quirk for Acer P459-G2-M

Fedor Pchelkin (2):
apparmor: avoid crash when parsed profile name is empty
ipvs: avoid stat macros calls from preemptible context

Florian Lehner (1):
bpf, lpm: Fix check prefixlen before walking trie

Florian Westphal (1):
netfilter: nf_tables: mark newset as dead on transaction abort

Francesco Dolcini (1):
Bluetooth: btmtkuart: fix recv_buf() return value

Gavrilov Ilia (1):
calipso: fix memory leak in netlbl_calipso_add_pass()

Geert Uytterhoeven (1):
of: unittest: Fix of_count_phandle_with_args() expected value message

Gonglei (Arei) (1):
crypto: virtio - Handle dataq logic with tasklet

Greg Kroah-Hartman (2):
Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek" Linux 5.10.209

Guanghui Feng (1):
uio: Fix use-after-free in uio_open

Gui-Dong Han (2):
usb: mon: Fix atomicity violation in mon_bin_vma_fault
Bluetooth: Fix atomicity violation in {min,max}_key_size_set

Hangbin Liu (1):
selftests/net: fix grep checking for fib_nexthop_multiprefix

Hans de Goede (3):
Input: atkbd - skip ATKBD_CMD_GETID in translated mode
ACPI: resource: Add another DMI match for the TongFang GMxXGxx
Input: atkbd - use ab83 as id when skipping the getid command

Heikki Krogerus (1):
Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"

Heiko Carstens (1):
tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug

Herbert Xu (1):
crypto: af_alg - Disallow multiple in-flight AIO requests

Ian Rogers (1):

      perf env: Avoid recursively taking env->bpf_progs.lock

Ido Schimmel (4):
mlxsw: spectrum_acl_tcam: Add missing mutex_destroy()
mlxsw: spectrum_acl_tcam: Make fini symmetric to init
mlxsw: spectrum_acl_tcam: Reorder functions to avoid forward declarations
mlxsw: spectrum_acl_tcam: Fix stack corruption

Ilias Apalodimas (1):
efivarfs: force RO when remounting if SetVariable is not supported

Ilpo Järvinen (2):
wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors

Inki Dae (1):
drm/exynos: fix a wrong error checking

James Clark (1):
coresight: etm4x: Fix width of CCITMIN field

Jan Beulich (1):
xen-netback: don't produce zero-size SKB frags

Jan Palus (1):
power: supply: cw2015: correct time_to_empty units in sysfs

Jani Nikula (1):
drm/crtc: fix uninitialized variable use

Jason Gerecke (1):

      HID: wacom: Correct behavior when processing some confidence == false touches

Jay Buddhabhatti (2):
drivers: clk: zynqmp: calculate closest mux rate
drivers: clk: zynqmp: update divider round rate logic

Jens Axboe (1):

      io_uring/rw: ensure io->bytes_done is always initialized

Jensen Huang (1):
i2c: rk3x: fix potential spinlock recursion on poll

Jerry Hoemann (1):
watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO

Jiri Slaby (SUSE) (4):
tty: change tty_write_lock()'s ndelay parameter to bool
tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK
tty: don't check for signal_pending() in send_break()
tty: use 'if' in send_break() instead of 'goto'

Joakim Zhang (1):

      dma-mapping: clear dev->dma_mem to NULL after freeing it

Johannes Berg (1):
debugfs: fix automount d_fsdata usage

Jordan Rome (1):
bpf: Add crosstask check to __bpf_get_stack

Judy Hsiao (1):
neighbour: Don't let neigh_forced_gc() disable preemption for long

Kamil Duljas (2):
ASoC: Intel: Skylake: Fix mem leak in few functions
ASoC: Intel: Skylake: mem leak in skl register function

Keith Busch (2):
nvme-core: check for too small lba shift
nvme: introduce helper function to get ctrl state

Kirill A. Shutemov (1):
x86/kvm: Do not try to disable kvmclock if it was not enabled

Konrad Dybcio (1):
drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks

Krzysztof Kozlowski (3):
reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator
arm64: dts: qcom: sdm845-db845c: correct LED panic indicator

Kunwu Chan (6):
powerpc/powernv: Add a null pointer check to scom_debug_init_one() powerpc/powernv: Add a null pointer check in opal_event_init() powerpc/powernv: Add a null pointer check in opal_powercap_init() powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
mfd: syscon: Fix null pointer dereference in of_syscon_register()
net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe

Laurent Dufour (1):
powerpc/pseries/memhotplug: Quieten some DLPAR operations

Laurent Pinchart (1):
media: rkisp1: Disable runtime PM in probe error path

LeoLiuoc (1):
PCI: Add ACS quirk for more Zhaoxin Root Ports

Leon Romanovsky (1):
RDMA/usnic: Silence uninitialized symbol smatch warnings

Lin Ma (1):
net: qualcomm: rmnet: fix global oob in rmnet_policy

Linus Walleij (2):
ASoC: cs35l33: Fix GPIO name and drop legacy include
ASoC: cs35l34: Fix GPIO name and drop legacy include

Lu Yao (1):
drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer

Luca Weiss (2):
Input: xpad - add Razer Wolverine V2 support
wifi: ath11k: Defer on rproc_get failure

Ludvig Pärsson (1):
ethtool: netlink: Add missing ethnl_ops_begin/complete

Luiz Augusto von Dentz (1):
Bluetooth: Fix bogus check for re-auth no supported with non-ssp

Maciej Strozek (2):
ASoC: cs43130: Fix the position of const qualifier
ASoC: cs43130: Fix incorrect frame delay configuration

Marc Zyngier (1):
KVM: arm64: vgic-v4: Restore pending state on host userspace write

Marcelo Schmitt (1):
iio: adc: ad7091r: Pass iio_dev to event handler

Marek Szyprowski (2):
i2c: s3c24xx: fix read transfers in polling mode
i2c: s3c24xx: fix transferring more than one message in polling mode

Mark-PK Tsai (1):
dma-mapping: Add dma_release_coherent_memory to DMA API

Masahiro Yamada (1):
powerpc: add crtsavres.o to always-y instead of extra-y

Masami Hiramatsu (Google) (1):
kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list

Matthew Wilcox (Oracle) (1):
ida: Fix crash in ida_free when the bitmap is empty

Maurizio Lombardi (3):
nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
nvmet-tcp: fix a crash in nvmet_req_complete()
nvmet-tcp: Fix the H2C expected PDU len calculation

Michael Ellerman (1):
selftests/powerpc: Fix error handling in FPU/VMX preemption tests

Michael Walle (1):

      of: property: define of_property_read_u{8,16,32,64}_array() unconditionally

Mickaël Salaün (1):
selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket

Nam Cao (1):
fbdev: flush deferred work in fb_deferred_io_fsync()

Namhyung Kim (1):
perf genelf: Set ELF program header addresses properly

Nathan Lynch (1):
powerpc/pseries/memhp: Fix access beyond end of drmem array

Nikita Kiryushin (2):
ACPI: video: check for error while searching for backlight device parent
ACPI: LPIT: Avoid u32 multiplication overflow

Nikita Yushchenko (1):
net: ravb: Fix dma_addr_t truncation in error case

Nikita Zhandarovich (3):
drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg() drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check() drm/radeon: check return value of radeon_ring_lock()

Niklas Schnelle (1):
s390/pci: fix max size calculation in zpci_memcpy_toio()

Nuno Sa (3):
iio: adc: ad9467: fix reset gpio handling
iio: adc: ad9467: don't ignore error codes
iio: adc: ad9467: fix scale setting

Oliver Neukum (1):
usb: cdc-acm: return correct error code on unsupported break

Oliver Upton (1):
KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache

Osama Muhammad (1):
gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump

Ovidiu Panait (12):
crypto: sahara - remove FLAGS_NEW_KEY logic
crypto: sahara - fix cbc selftest failure
crypto: sahara - fix ahash selftest failure
crypto: sahara - fix processing requests with cryptlen < sg->length
crypto: sahara - fix error handling in sahara_hw_descriptor_create()
crypto: sahara - avoid skcipher fallback code duplication
crypto: sahara - handle zero-length aes requests
crypto: sahara - fix ahash reqsize
crypto: sahara - fix wait_for_completion_timeout() error handling
crypto: sahara - improve error handling in sahara_sha_process()
crypto: sahara - fix processing hash requests with req->nbytes < sg->length
crypto: sahara - do not resize req->src when doing hash operations

Pablo Neira Ayuso (3):
netfilter: nf_tables: do not allow mismatch field size and set key length
netfilter: nf_tables: skip dead set elements in netlink dump
netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description

Paul E. McKenney (1):
rcu: Create an unrcu_pointer() to remove __rcu from a pointer

Paul Geurts (1):
serial: imx: fix tx statemachine deadlock

Peter Delevoryas (1):
net/ncsi: Fix netlink major/minor version numbers

Peter Robinson (2):
mmc: sdhci_am654: Fix TI SoC dependencies
mmc: sdhci_omap: Fix TI SoC dependencies

Petr Machata (1):
selftests: mlxsw: qos_pfc: Convert to iproute2 dcb

Philipp Zabel (2):
pwm: stm32: Use hweight32 in stm32_pwm_detect_channels
pwm: stm32: Fix enable count for clk in .probe()

RD Babiera (1):
usb: typec: class: fix typec_altmode_put_partner to put plugs

Randy Dunlap (1):
powerpc/44x: select I2C for CURRITUCK

Ren Zhijie (1):
dma-mapping: Fix build error unused-value

Ricardo B. Marliere (1):
media: pvrusb2: fix use after free on context disconnection

Rob Clark (1):
iommu/arm-smmu-qcom: Add missing GMU entry to match table

Rob Herring (2):
of: Add of_property_present() helper
cpufreq: Use of_property_present() for testing DT property presence

Ronald Monthero (1):
mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response

Sakari Ailus (2):
acpi: property: Let args be NULL in __acpi_node_get_property_reference software node: Let args be NULL in software_node_get_reference_args

Sanjuán García, Jorge (1):
net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames

Sarannya S (1):
net: qrtr: ns: Return 0 if server port is not present

Satya Priya Kakitapalli (4):
clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config
dt-bindings: clock: Update the videocc resets for sm8150
clk: qcom: videocc-sm8150: Update the videocc resets
clk: qcom: videocc-sm8150: Add missing PLL config property

Serge Semin (2):
mips: dmi: Fix early remap on MIPS32
mips: Fix incorrect max_low_pfn adjustment

Sergey Gorenko (1):
IB/iser: Prevent invalidating wrong MR

Sergey Shtylyov (1):
pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()

Shubhrajyoti Datta (2):
clk: zynqmp: make bestdiv unsigned
clk: zynqmp: Add a check for NULL pointer

Shuming Fan (1):
ASoC: rt5650: add mutex to avoid the jack detection failure

Siddharth Vadapalli (1):
PCI: keystone: Fix race condition when initializing PHYs

Sjoerd Simons (1):
arm64: dts: armada-3720-turris-mox: set irq type for RTC

Stefan Berger (1):
rootfs: Fix support for rootfstype= when root= is given

Stefan Wahren (2):
ARM: sun9i: smp: fix return code check of of_property_match_string
watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling

Steven Rostedt (Google) (3):
tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
tracing: Add size check when printing trace_marker output
ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI

Su Hui (10):
wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
wifi: rtlwifi: add calculate_bit_shift()
wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
clk: si5341: fix an error code problem in si5341_output_clk_set_rate

Takashi Iwai (1):
ALSA: oxygen: Fix right channel of capture volume mixer

Thinh Nguyen (2):
Revert "usb: dwc3: Soft reset phy on probe for host"
Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"

Thinh Tran (1):
net/tg3: fix race condition in tg3_reset_task()

Théo Lebrun (1):
clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw

Tomi Valkeinen (2):
arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type drm/bridge: tc358767: Fix return value on error case

Tony Luck (1):
ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error

Trond Myklebust (1):
NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT

Uttkarsh Aggarwal (1):
usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart

Uwe Kleine-König (5):
drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function
pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable
pwm: jz4740: Don't use dev_err_probe() in .request()
serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
iio: adc: ad9467: Benefit from devm_clk_get_enabled() to simplify

Vasiliy Kovalev (1):
ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro

Vignesh Raghavendra (1):
watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused

Vineet Gupta (1):
ARC: fix spare error

Vineeth Vijayan (1):
s390/scm: fix virtual vs physical address confusion

Wei Yongjun (1):
virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session()

Weihao Li (1):
clk: rockchip: rk3128: Fix HCLK_OTG gate register

Wolfram Sang (1):
spi: sh-msiof: Enforce fixed DTDL for R-Car H3

Xiang Yang (1):
drm/exynos: fix a potential error pointer dereference

Xu Yang (2):
usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
usb: chipidea: wait controller resume finished for wakeup irq

Yang Yingliang (1):
drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()

Ye Bin (1):
jbd2: fix soft lockup in journal_finish_inode_data_buffers()

Yihang Li (1):
scsi: hisi_sas: Replace with standard error code return value

Zhang Yi (1):
jbd2: correct the printing of write_flags in jbd2_write_superblock()

ZhaoLong Wang (1):
mtd: Fix gluebi NULL pointer dereference caused by ftl notifier

Zheng Yejian (1):
netlabel: remove unused parameter in netlbl_netlink_auditinfo()

Zhipeng Lu (6):
drm/radeon/dpm: fix a memleak in sumo_parse_power_table drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
media: cx231xx: fix a memleak in cx231xx_init_isoc drm/amd/pm: fix a double-free in si_dpm_init drivers/amd/pm: fix a use-after-free in kv_parse_power_table gpu/drm/radeon: fix two memleaks in radeon_vm_init

Ziqi Zhao (1):
drm/crtc: Fix uninit-value bug in drm_mode_setcrtc

lei he (1):
virtio-crypto: fix memory-leak

wangyangxin (1):
crypto: virtio - Wait for tasklet to complete on device remove

zhenwei pi (6):
virtio_crypto: Introduce VIRTIO_CRYPTO_NOSPC
virtio-crypto: introduce akcipher service
virtio-crypto: implement RSA algorithm
virtio-crypto: change code style
virtio-crypto: use private buffer for control request
virtio-crypto: wait ctrl queue instead of busy polling

Çağhan Demir (1):
ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx

author maintainer
#1 lore raw
Makefile +1 -1
index a4b42141ba1b..613b25d330b0 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 208
+SUBLEVEL = 209
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/arc/kernel/signal.c +3 -3
index 4868bdebf586..c43d323bcb59 100644
@@ -61,7 +61,7 @@ struct rt_sigframe {
 	unsigned int sigret_magic;
 };
 
-static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
+static int save_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
 {
 	int err = 0;
 #ifndef CONFIG_ISA_ARCOMPACT
@@ -74,12 +74,12 @@ static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
 #else
 	v2abi.r58 = v2abi.r59 = 0;
 #endif
-	err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi));
+	err = __copy_to_user(&mctx->v2abi, (void const *)&v2abi, sizeof(v2abi));
 #endif
 	return err;
 }
 
-static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
+static int restore_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
 {
 	int err = 0;
 #ifndef CONFIG_ISA_ARCOMPACT
arch/arm/boot/dts/qcom-apq8064.dtsi +1 -1
index fb25ede1ce9f..3f1002c34446 100644
@@ -760,7 +760,7 @@ pwrkey@1c {
 
 				xoadc: xoadc@197 {
 					compatible = "qcom,pm8921-adc";
-					reg = <197>;
+					reg = <0x197>;
 					interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>;
 					#address-cells = <2>;
 					#size-cells = <0>;
arch/arm/mach-davinci/Kconfig +1 -0
index de11030748d0..b30221f7dfa4 100644
@@ -3,6 +3,7 @@
 menuconfig ARCH_DAVINCI
 	bool "TI DaVinci"
 	depends on ARCH_MULTI_V5
+	select CPU_ARM926T
 	select DAVINCI_TIMER
 	select ZONE_DMA
 	select PM_GENERIC_DOMAINS if PM
arch/arm/mach-sunxi/mc_smp.c +2 -2
index b2f5f4f28705..f779e386b6e7 100644
@@ -804,12 +804,12 @@ static int __init sunxi_mc_smp_init(void)
 	for (i = 0; i < ARRAY_SIZE(sunxi_mc_smp_data); i++) {
 		ret = of_property_match_string(node, "enable-method",
 					       sunxi_mc_smp_data[i].enable_method);
-		if (!ret)
+		if (ret >= 0)
 			break;
 	}
 
 	of_node_put(node);
-	if (ret)
+	if (ret < 0)
 		return -ENODEV;
 
 	is_a83t = sunxi_mc_smp_data[i].is_a83t;
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +1 -1
index eea8d23683dc..39e9b3875761 100644
@@ -129,7 +129,7 @@ rtc@6f {
 		compatible = "microchip,mcp7940x";
 		reg = <0x6f>;
 		interrupt-parent = <&gpiosb>;
-		interrupts = <5 0>; /* GPIO2_5 */
+		interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO2_5 */
 	};
 };
 
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +1 -1
index 949fee6949e6..5516d2067c82 100644
@@ -38,8 +38,8 @@ leds {
 		user4 {
 			label = "green:user4";
 			gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "panic-indicator";
 			default-state = "off";
+			panic-indicator;
 		};
 
 		wlan {
arch/arm64/boot/dts/qcom/sdm845-db845c.dts +1 -1
index 1e889ca932e4..31f4f0575094 100644
@@ -55,8 +55,8 @@ leds {
 		user4 {
 			label = "green:user4";
 			gpios = <&pm8998_gpio 13 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "panic-indicator";
 			default-state = "off";
+			panic-indicator;
 		};
 
 		wlan {
arch/arm64/boot/dts/ti/k3-am65-main.dtsi +1 -1
index 4265f627ca16..a3538279d710 100644
@@ -865,7 +865,7 @@ dss: dss@4a00000 {
 		assigned-clocks = <&k3_clks 67 2>;
 		assigned-clock-parents = <&k3_clks 67 5>;
 
-		interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
+		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
 
 		status = "disabled";
 
arch/arm64/kvm/vgic/vgic-its.c +5 -0
index 23710bf5a86b..62f261b8eb62 100644
@@ -584,7 +584,11 @@ static struct vgic_irq *vgic_its_check_cache(struct kvm *kvm, phys_addr_t db,
 	unsigned long flags;
 
 	raw_spin_lock_irqsave(&dist->lpi_list_lock, flags);
+
 	irq = __vgic_its_check_cache(dist, db, devid, eventid);
+	if (irq)
+		vgic_get_irq_kref(irq);
+
 	raw_spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
 
 	return irq;
@@ -763,6 +767,7 @@ int vgic_its_inject_cached_translation(struct kvm *kvm, struct kvm_msi *msi)
 	raw_spin_lock_irqsave(&irq->irq_lock, flags);
 	irq->pending_latch = true;
 	vgic_queue_irq_unlock(kvm, irq, flags);
+	vgic_put_irq(kvm, irq);
 
 	return 0;
 }
arch/arm64/kvm/vgic/vgic-mmio-v3.c +17 -10
index 15a6c98ee92f..7a6360eba321 100644
@@ -356,19 +356,26 @@ static int vgic_v3_uaccess_write_pending(struct kvm_vcpu *vcpu,
 		struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i);
 
 		raw_spin_lock_irqsave(&irq->irq_lock, flags);
-		if (test_bit(i, &val)) {
-			/*
-			 * pending_latch is set irrespective of irq type
-			 * (level or edge) to avoid dependency that VM should
-			 * restore irq config before pending info.
-			 */
-			irq->pending_latch = true;
-			vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
-		} else {
+
+		/*
+		 * pending_latch is set irrespective of irq type
+		 * (level or edge) to avoid dependency that VM should
+		 * restore irq config before pending info.
+		 */
+		irq->pending_latch = test_bit(i, &val);
+
+		if (irq->hw && vgic_irq_is_sgi(irq->intid)) {
+			irq_set_irqchip_state(irq->host_irq,
+					      IRQCHIP_STATE_PENDING,
+					      irq->pending_latch);
 			irq->pending_latch = false;
-			raw_spin_unlock_irqrestore(&irq->irq_lock, flags);
 		}
 
+		if (irq->pending_latch)
+			vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
+		else
+			raw_spin_unlock_irqrestore(&irq->irq_lock, flags);
+
 		vgic_put_irq(vcpu->kvm, irq);
 	}
 
arch/mips/alchemy/devboards/db1200.c +1 -1
index 414f92eacb5e..9ad26215b004 100644
@@ -847,7 +847,7 @@ int __init db1200_dev_setup(void)
 	i2c_register_board_info(0, db1200_i2c_devs,
 				ARRAY_SIZE(db1200_i2c_devs));
 	spi_register_board_info(db1200_spi_devs,
-				ARRAY_SIZE(db1200_i2c_devs));
+				ARRAY_SIZE(db1200_spi_devs));
 
 	/* SWITCHES:	S6.8 I2C/SPI selector  (OFF=I2C	 ON=SPI)
 	 *		S6.7 AC97/I2S selector (OFF=AC97 ON=I2S)
arch/mips/alchemy/devboards/db1550.c +1 -1
index 752b93d91ac9..06811a5db71d 100644
@@ -588,7 +588,7 @@ int __init db1550_dev_setup(void)
 	i2c_register_board_info(0, db1550_i2c_devs,
 				ARRAY_SIZE(db1550_i2c_devs));
 	spi_register_board_info(db1550_spi_devs,
-				ARRAY_SIZE(db1550_i2c_devs));
+				ARRAY_SIZE(db1550_spi_devs));
 
 	c = clk_get(NULL, "psc0_intclk");
 	if (!IS_ERR(c)) {
arch/mips/include/asm/dmi.h +1 -1
index 27415a288adf..dc397f630c66 100644
@@ -5,7 +5,7 @@
 #include <linux/io.h>
 #include <linux/memblock.h>
 
-#define dmi_early_remap(x, l)		ioremap_cache(x, l)
+#define dmi_early_remap(x, l)		ioremap(x, l)
 #define dmi_early_unmap(x, l)		iounmap(x)
 #define dmi_remap(x, l)			ioremap_cache(x, l)
 #define dmi_unmap(x)			iounmap(x)
arch/mips/kernel/setup.c +2 -2
index b7eb7dd96e17..66643cb65963 100644
@@ -322,11 +322,11 @@ static void __init bootmem_init(void)
 		panic("Incorrect memory mapping !!!");
 
 	if (max_pfn > PFN_DOWN(HIGHMEM_START)) {
+		max_low_pfn = PFN_DOWN(HIGHMEM_START);
 #ifdef CONFIG_HIGHMEM
-		highstart_pfn = PFN_DOWN(HIGHMEM_START);
+		highstart_pfn = max_low_pfn;
 		highend_pfn = max_pfn;
 #else
-		max_low_pfn = PFN_DOWN(HIGHMEM_START);
 		max_pfn = max_low_pfn;
 #endif
 	}
arch/powerpc/include/asm/sections.h +0 -8
index 324d7b298ec3..6e4af4492a14 100644
@@ -38,14 +38,6 @@ extern char start_virt_trampolines[];
 extern char end_virt_trampolines[];
 #endif
 
-static inline int in_kernel_text(unsigned long addr)
-{
-	if (addr >= (unsigned long)_stext && addr < (unsigned long)__init_end)
-		return 1;
-
-	return 0;
-}
-
 static inline unsigned long kernel_toc_addr(void)
 {
 	/* Defined by the linker, see vmlinux.lds.S */
arch/powerpc/lib/Makefile +1 -1
index 0697a0e014ae..321cab5c3ea0 100644
@@ -38,7 +38,7 @@ obj-$(CONFIG_FUNCTION_ERROR_INJECTION)	+= error-inject.o
 # so it is only needed for modules, and only for older linkers which
 # do not support --save-restore-funcs
 ifeq ($(call ld-ifversion, -lt, 225000000, y),y)
-extra-$(CONFIG_PPC64)	+= crtsavres.o
+always-$(CONFIG_PPC64)	+= crtsavres.o
 endif
 
 obj-$(CONFIG_PPC_BOOK3S_64) += copyuser_power7.o copypage_power7.o \
arch/powerpc/perf/imc-pmu.c +6 -0
index 3e15d0d054b2..5464c87511fa 100644
@@ -292,6 +292,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
 	attr_group->attrs = attrs;
 	do {
 		ev_val_str = kasprintf(GFP_KERNEL, "event=0x%x", pmu->events[i].value);
+		if (!ev_val_str)
+			continue;
 		dev_str = device_str_attr_create(pmu->events[i].name, ev_val_str);
 		if (!dev_str)
 			continue;
@@ -299,6 +301,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
 		attrs[j++] = dev_str;
 		if (pmu->events[i].scale) {
 			ev_scale_str = kasprintf(GFP_KERNEL, "%s.scale", pmu->events[i].name);
+			if (!ev_scale_str)
+				continue;
 			dev_str = device_str_attr_create(ev_scale_str, pmu->events[i].scale);
 			if (!dev_str)
 				continue;
@@ -308,6 +312,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
 
 		if (pmu->events[i].unit) {
 			ev_unit_str = kasprintf(GFP_KERNEL, "%s.unit", pmu->events[i].name);
+			if (!ev_unit_str)
+				continue;
 			dev_str = device_str_attr_create(ev_unit_str, pmu->events[i].unit);
 			if (!dev_str)
 				continue;
arch/powerpc/platforms/44x/Kconfig +1 -0
index 78ac6d67a935..9bc852c7e92f 100644
@@ -177,6 +177,7 @@ config ISS4xx
 config CURRITUCK
 	bool "IBM Currituck (476fpe) Support"
 	depends on PPC_47x
+	select I2C
 	select SWIOTLB
 	select 476FPE
 	select FORCE_PCI
arch/powerpc/platforms/powernv/opal-irqchip.c +2 -0
index c164419e254d..dcec0f760c8f 100644
@@ -278,6 +278,8 @@ int __init opal_event_init(void)
 		else
 			name = kasprintf(GFP_KERNEL, "opal");
 
+		if (!name)
+			continue;
 		/* Install interrupt handler */
 		rc = request_irq(r->start, opal_interrupt, r->flags & IRQD_TRIGGER_MASK,
 				 name, NULL);
arch/powerpc/platforms/powernv/opal-powercap.c +6 -0
index c16d44f6f1d1..ce9ec3962cef 100644
@@ -196,6 +196,12 @@ void __init opal_powercap_init(void)
 
 		j = 0;
 		pcaps[i].pg.name = kasprintf(GFP_KERNEL, "%pOFn", node);
+		if (!pcaps[i].pg.name) {
+			kfree(pcaps[i].pattrs);
+			kfree(pcaps[i].pg.attrs);
+			goto out_pcaps_pattrs;
+		}
+
 		if (has_min) {
 			powercap_add_attr(min, "powercap-min",
 					  &pcaps[i].pattrs[j]);
arch/powerpc/platforms/powernv/opal-xscom.c +5 -0
index fd510d961b8c..d5814c5046ba 100644
@@ -165,6 +165,11 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
 	ent->chip = chip;
 	snprintf(ent->name, 16, "%08x", chip);
 	ent->path.data = (void *)kasprintf(GFP_KERNEL, "%pOF", dn);
+	if (!ent->path.data) {
+		kfree(ent);
+		return -ENOMEM;
+	}
+
 	ent->path.size = strlen((char *)ent->path.data);
 
 	dir = debugfs_create_dir(ent->name, root);
arch/powerpc/platforms/pseries/hotplug-memory.c +11 -10
index a5f968b5fa3a..96dd82d63e98 100644
@@ -481,7 +481,7 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
 	int lmb_found;
 	int rc;
 
-	pr_info("Attempting to hot-remove LMB, drc index %x\n", drc_index);
+	pr_debug("Attempting to hot-remove LMB, drc index %x\n", drc_index);
 
 	lmb_found = 0;
 	for_each_drmem_lmb(lmb) {
@@ -495,14 +495,15 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
 		}
 	}
 
-	if (!lmb_found)
+	if (!lmb_found) {
+		pr_debug("Failed to look up LMB for drc index %x\n", drc_index);
 		rc = -EINVAL;
-
-	if (rc)
-		pr_info("Failed to hot-remove memory at %llx\n",
-			lmb->base_addr);
-	else
-		pr_info("Memory at %llx was hot-removed\n", lmb->base_addr);
+	} else if (rc) {
+		pr_debug("Failed to hot-remove memory at %llx\n",
+			 lmb->base_addr);
+	} else {
+		pr_debug("Memory at %llx was hot-removed\n", lmb->base_addr);
+	}
 
 	return rc;
 }
@@ -719,8 +720,8 @@ static int dlpar_memory_add_by_count(u32 lmbs_to_add)
 			if (!drmem_lmb_reserved(lmb))
 				continue;
 
-			pr_info("Memory at %llx (drc index %x) was hot-added\n",
-				lmb->base_addr, lmb->drc_index);
+			pr_debug("Memory at %llx (drc index %x) was hot-added\n",
+				 lmb->base_addr, lmb->drc_index);
 			drmem_remove_lmb_reservation(lmb);
 		}
 		rc = 0;
arch/s390/include/asm/pci_io.h +18 -14
index 287bb88f7698..2686bee800e3 100644
@@ -11,6 +11,8 @@
 /* I/O size constraints */
 #define ZPCI_MAX_READ_SIZE	8
 #define ZPCI_MAX_WRITE_SIZE	128
+#define ZPCI_BOUNDARY_SIZE	(1 << 12)
+#define ZPCI_BOUNDARY_MASK	(ZPCI_BOUNDARY_SIZE - 1)
 
 /* I/O Map */
 #define ZPCI_IOMAP_SHIFT		48
@@ -125,16 +127,18 @@ static inline int zpci_read_single(void *dst, const volatile void __iomem *src,
 int zpci_write_block(volatile void __iomem *dst, const void *src,
 		     unsigned long len);
 
-static inline u8 zpci_get_max_write_size(u64 src, u64 dst, int len, int max)
+static inline int zpci_get_max_io_size(u64 src, u64 dst, int len, int max)
 {
-	int count = len > max ? max : len, size = 1;
+	int offset = dst & ZPCI_BOUNDARY_MASK;
+	int size;
 
-	while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
-		dst = dst >> 1;
-		src = src >> 1;
-		size = size << 1;
-	}
-	return size;
+	size = min3(len, ZPCI_BOUNDARY_SIZE - offset, max);
+	if (IS_ALIGNED(src, 8) && IS_ALIGNED(dst, 8) && IS_ALIGNED(size, 8))
+		return size;
+
+	if (size >= 8)
+		return 8;
+	return rounddown_pow_of_two(size);
 }
 
 static inline int zpci_memcpy_fromio(void *dst,
@@ -144,9 +148,9 @@ static inline int zpci_memcpy_fromio(void *dst,
 	int size, rc = 0;
 
 	while (n > 0) {
-		size = zpci_get_max_write_size((u64 __force) src,
-					       (u64) dst, n,
-					       ZPCI_MAX_READ_SIZE);
+		size = zpci_get_max_io_size((u64 __force) src,
+					    (u64) dst, n,
+					    ZPCI_MAX_READ_SIZE);
 		rc = zpci_read_single(dst, src, size);
 		if (rc)
 			break;
@@ -166,9 +170,9 @@ static inline int zpci_memcpy_toio(volatile void __iomem *dst,
 		return -EINVAL;
 
 	while (n > 0) {
-		size = zpci_get_max_write_size((u64 __force) dst,
-					       (u64) src, n,
-					       ZPCI_MAX_WRITE_SIZE);
+		size = zpci_get_max_io_size((u64 __force) dst,
+					    (u64) src, n,
+					    ZPCI_MAX_WRITE_SIZE);
 		if (size > 8) /* main path */
 			rc = zpci_write_block(dst, src, size);
 		else
arch/s390/pci/pci_mmio.c +6 -6
index 1ec8076209ca..6e7c4762bd23 100644
@@ -100,9 +100,9 @@ static inline int __memcpy_toio_inuser(void __iomem *dst,
 
 	old_fs = enable_sacf_uaccess();
 	while (n > 0) {
-		size = zpci_get_max_write_size((u64 __force) dst,
-					       (u64 __force) src, n,
-					       ZPCI_MAX_WRITE_SIZE);
+		size = zpci_get_max_io_size((u64 __force) dst,
+					    (u64 __force) src, n,
+					    ZPCI_MAX_WRITE_SIZE);
 		if (size > 8) /* main path */
 			rc = __pcistb_mio_inuser(dst, src, size, &status);
 		else
@@ -252,9 +252,9 @@ static inline int __memcpy_fromio_inuser(void __user *dst,
 
 	old_fs = enable_sacf_uaccess();
 	while (n > 0) {
-		size = zpci_get_max_write_size((u64 __force) src,
-					       (u64 __force) dst, n,
-					       ZPCI_MAX_READ_SIZE);
+		size = zpci_get_max_io_size((u64 __force) src,
+					    (u64 __force) dst, n,
+					    ZPCI_MAX_READ_SIZE);
 		rc = __pcilg_mio_inuser(dst, src, size, &status);
 		if (rc)
 			break;
arch/x86/kernel/kvmclock.c +8 -4
index bb657e2e6c68..b79b4ee49fbd 100644
@@ -24,8 +24,8 @@
 
 static int kvmclock __initdata = 1;
 static int kvmclock_vsyscall __initdata = 1;
-static int msr_kvm_system_time __ro_after_init = MSR_KVM_SYSTEM_TIME;
-static int msr_kvm_wall_clock __ro_after_init = MSR_KVM_WALL_CLOCK;
+static int msr_kvm_system_time __ro_after_init;
+static int msr_kvm_wall_clock __ro_after_init;
 static u64 kvm_sched_clock_offset __ro_after_init;
 
 static int __init parse_no_kvmclock(char *arg)
@@ -196,7 +196,8 @@ static void kvm_setup_secondary_clock(void)
 
 void kvmclock_disable(void)
 {
-	native_write_msr(msr_kvm_system_time, 0, 0);
+	if (msr_kvm_system_time)
+		native_write_msr(msr_kvm_system_time, 0, 0);
 }
 
 static void __init kvmclock_init_mem(void)
@@ -292,7 +293,10 @@ void __init kvmclock_init(void)
 	if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE2)) {
 		msr_kvm_system_time = MSR_KVM_SYSTEM_TIME_NEW;
 		msr_kvm_wall_clock = MSR_KVM_WALL_CLOCK_NEW;
-	} else if (!kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE)) {
+	} else if (kvm_para_has_feature(KVM_FEATURE_CLOCKSOURCE)) {
+		msr_kvm_system_time = MSR_KVM_SYSTEM_TIME;
+		msr_kvm_wall_clock = MSR_KVM_WALL_CLOCK;
+	} else {
 		return;
 	}
 
arch/x86/lib/misc.c +1 -1
index a018ec4fba53..c97be9a1430a 100644
@@ -6,7 +6,7 @@
  */
 int num_digits(int val)
 {
-	int m = 10;
+	long long m = 10;
 	int d = 1;
 
 	if (val < 0) {
crypto/af_alg.c +13 -1
index 9acb9d2c4bcf..755e6caf18d2 100644
@@ -1039,9 +1039,13 @@ EXPORT_SYMBOL_GPL(af_alg_sendpage);
 void af_alg_free_resources(struct af_alg_async_req *areq)
 {
 	struct sock *sk = areq->sk;
+	struct af_alg_ctx *ctx;
 
 	af_alg_free_areq_sgls(areq);
 	sock_kfree_s(sk, areq, areq->areqlen);
+
+	ctx = alg_sk(sk)->private;
+	ctx->inflight = false;
 }
 EXPORT_SYMBOL_GPL(af_alg_free_resources);
 
@@ -1105,11 +1109,19 @@ EXPORT_SYMBOL_GPL(af_alg_poll);
 struct af_alg_async_req *af_alg_alloc_areq(struct sock *sk,
 					   unsigned int areqlen)
 {
-	struct af_alg_async_req *areq = sock_kmalloc(sk, areqlen, GFP_KERNEL);
+	struct af_alg_ctx *ctx = alg_sk(sk)->private;
+	struct af_alg_async_req *areq;
+
+	/* Only one AIO request can be in flight. */
+	if (ctx->inflight)
+		return ERR_PTR(-EBUSY);
 
+	areq = sock_kmalloc(sk, areqlen, GFP_KERNEL);
 	if (unlikely(!areq))
 		return ERR_PTR(-ENOMEM);
 
+	ctx->inflight = true;
+
 	areq->areqlen = areqlen;
 	areq->sk = sk;
 	areq->last_rsgl = NULL;
crypto/scompress.c +6 -0
index 738f4f8f0f41..4d6366a44400 100644
@@ -124,6 +124,7 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir)
 	struct crypto_scomp *scomp = *tfm_ctx;
 	void **ctx = acomp_request_ctx(req);
 	struct scomp_scratch *scratch;
+	unsigned int dlen;
 	int ret;
 
 	if (!req->src || !req->slen || req->slen > SCOMP_SCRATCH_SIZE)
@@ -135,6 +136,8 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir)
 	if (!req->dlen || req->dlen > SCOMP_SCRATCH_SIZE)
 		req->dlen = SCOMP_SCRATCH_SIZE;
 
+	dlen = req->dlen;
+
 	scratch = raw_cpu_ptr(&scomp_scratch);
 	spin_lock(&scratch->lock);
 
@@ -152,6 +155,9 @@ static int scomp_acomp_comp_decomp(struct acomp_req *req, int dir)
 				ret = -ENOMEM;
 				goto out;
 			}
+		} else if (req->dlen > dlen) {
+			ret = -ENOSPC;
+			goto out;
 		}
 		scatterwalk_map_and_copy(scratch->dst, req->dst, 0, req->dlen,
 					 1);
drivers/acpi/acpi_extlog.c +6 -1
index e648158368a7..088db2356998 100644
@@ -145,9 +145,14 @@ static int extlog_print(struct notifier_block *nb, unsigned long val,
 	static u32 err_seq;
 
 	estatus = extlog_elog_entry_check(cpu, bank);
-	if (estatus == NULL || (mce->kflags & MCE_HANDLED_CEC))
+	if (!estatus)
 		return NOTIFY_DONE;
 
+	if (mce->kflags & MCE_HANDLED_CEC) {
+		estatus->block_status = 0;
+		return NOTIFY_DONE;
+	}
+
 	memcpy(elog_buf, (void *)estatus, ELOG_ENTRY_LEN);
 	/* clear record status to enable BIOS to update it again */
 	estatus->block_status = 0;
drivers/acpi/acpi_lpit.c +1 -1
index 48e5059d67ca..7de59730030c 100644
@@ -98,7 +98,7 @@ static void lpit_update_residency(struct lpit_residency_info *info,
 				 struct acpi_lpit_native *lpit_native)
 {
 	info->frequency = lpit_native->counter_frequency ?
-				lpit_native->counter_frequency : tsc_khz * 1000;
+				lpit_native->counter_frequency : mul_u32_u32(tsc_khz, 1000U);
 	if (!info->frequency)
 		info->frequency = 1;
 
drivers/acpi/acpi_video.c +6 -6
index cf6c9ffe04a2..9d384656323a 100644
@@ -1788,12 +1788,12 @@ static void acpi_video_dev_register_backlight(struct acpi_video_device *device)
 		return;
 	count++;
 
-	acpi_get_parent(device->dev->handle, &acpi_parent);
-
-	pdev = acpi_get_pci_dev(acpi_parent);
-	if (pdev) {
-		parent = &pdev->dev;
-		pci_dev_put(pdev);
+	if (ACPI_SUCCESS(acpi_get_parent(device->dev->handle, &acpi_parent))) {
+		pdev = acpi_get_pci_dev(acpi_parent);
+		if (pdev) {
+			parent = &pdev->dev;
+			pci_dev_put(pdev);
+		}
 	}
 
 	memset(&props, 0, sizeof(struct backlight_properties));
drivers/acpi/property.c +4 -0
index 80e92c298055..cf872dc5b07a 100644
@@ -639,6 +639,7 @@ acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
  * @index: Index of the reference to return
  * @num_args: Maximum number of arguments after each reference
  * @args: Location to store the returned reference with optional arguments
+ *	  (may be NULL)
  *
  * Find property with @name, verifify that it is a package containing at least
  * one object reference and if so, store the ACPI device object pointer to the
@@ -697,6 +698,9 @@ int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
 		if (ret)
 			return ret == -ENODEV ? -EINVAL : ret;
 
+		if (!args)
+			return 0;
+
 		args->fwnode = acpi_fwnode_handle(device);
 		args->nargs = 0;
 		return 0;
drivers/acpi/resource.c +7 -0
index 508d22728ce8..42b1b06efda6 100644
@@ -455,6 +455,13 @@ static const struct dmi_system_id asus_laptop[] = {
 			DMI_MATCH(DMI_BOARD_NAME, "B1402CVA"),
 		},
 	},
+	{
+		/* TongFang GMxXGxx sold as Eluktronics Inc. RP-15 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Eluktronics Inc."),
+			DMI_MATCH(DMI_BOARD_NAME, "RP-15"),
+		},
+	},
 	{
 		/* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */
 		.matches = {
drivers/android/binder.c +1 -1
index 2aaccb78235b..7db748cfcbc6 100644
@@ -5173,7 +5173,7 @@ static __poll_t binder_poll(struct file *filp,
 
 	thread = binder_get_thread(proc);
 	if (!thread)
-		return POLLERR;
+		return EPOLLERR;
 
 	binder_inner_proc_lock(thread->proc);
 	thread->looper |= BINDER_LOOPER_STATE_POLL;
drivers/android/binder_alloc.c +17 -15
index b6bf9caaf1d1..b655bc3956c7 100644
@@ -271,7 +271,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate,
 	}
 	if (mm) {
 		mmap_write_unlock(mm);
-		mmput(mm);
+		mmput_async(mm);
 	}
 	return 0;
 
@@ -304,7 +304,7 @@ static int binder_update_page_range(struct binder_alloc *alloc, int allocate,
 err_no_vma:
 	if (mm) {
 		mmap_write_unlock(mm);
-		mmput(mm);
+		mmput_async(mm);
 	}
 	return vma ? -ENOMEM : -ESRCH;
 }
@@ -359,8 +359,7 @@ static void debug_low_async_space_locked(struct binder_alloc *alloc, int pid)
 			continue;
 		if (!buffer->async_transaction)
 			continue;
-		total_alloc_size += binder_alloc_buffer_size(alloc, buffer)
-			+ sizeof(struct binder_buffer);
+		total_alloc_size += binder_alloc_buffer_size(alloc, buffer);
 		num_buffers++;
 	}
 
@@ -415,17 +414,17 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
 				alloc->pid, extra_buffers_size);
 		return ERR_PTR(-EINVAL);
 	}
-	if (is_async &&
-	    alloc->free_async_space < size + sizeof(struct binder_buffer)) {
+
+	/* Pad 0-size buffers so they get assigned unique addresses */
+	size = max(size, sizeof(void *));
+
+	if (is_async && alloc->free_async_space < size) {
 		binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC,
 			     "%d: binder_alloc_buf size %zd failed, no async space left\n",
 			      alloc->pid, size);
 		return ERR_PTR(-ENOSPC);
 	}
 
-	/* Pad 0-size buffers so they get assigned unique addresses */
-	size = max(size, sizeof(void *));
-
 	while (n) {
 		buffer = rb_entry(n, struct binder_buffer, rb_node);
 		BUG_ON(!buffer->free);
@@ -526,7 +525,7 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
 	buffer->extra_buffers_size = extra_buffers_size;
 	buffer->pid = pid;
 	if (is_async) {
-		alloc->free_async_space -= size + sizeof(struct binder_buffer);
+		alloc->free_async_space -= size;
 		binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC_ASYNC,
 			     "%d: binder_alloc_buf size %zd async free %zd\n",
 			      alloc->pid, size, alloc->free_async_space);
@@ -562,7 +561,7 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
  * is the sum of the three given sizes (each rounded up to
  * pointer-sized boundary)
  *
- * Return:	The allocated buffer or %NULL if error
+ * Return:	The allocated buffer or %ERR_PTR(-errno) if error
  */
 struct binder_buffer *binder_alloc_new_buf(struct binder_alloc *alloc,
 					   size_t data_size,
@@ -662,8 +661,7 @@ static void binder_free_buf_locked(struct binder_alloc *alloc,
 	BUG_ON(buffer->user_data > alloc->buffer + alloc->buffer_size);
 
 	if (buffer->async_transaction) {
-		alloc->free_async_space += buffer_size + sizeof(struct binder_buffer);
-
+		alloc->free_async_space += buffer_size;
 		binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC_ASYNC,
 			     "%d: binder_free_buf size %zd async free %zd\n",
 			      alloc->pid, size, alloc->free_async_space);
@@ -711,7 +709,7 @@ void binder_alloc_free_buf(struct binder_alloc *alloc,
 	/*
 	 * We could eliminate the call to binder_alloc_clear_buf()
 	 * from binder_alloc_deferred_release() by moving this to
-	 * binder_alloc_free_buf_locked(). However, that could
+	 * binder_free_buf_locked(). However, that could
 	 * increase contention for the alloc mutex if clear_on_free
 	 * is used frequently for large buffers. The mutex is not
 	 * needed for correctness here.
@@ -1002,7 +1000,9 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
 		goto err_mmget;
 	if (!mmap_read_trylock(mm))
 		goto err_mmap_read_lock_failed;
-	vma = binder_alloc_get_vma(alloc);
+	vma = find_vma(mm, page_addr);
+	if (vma && vma != binder_alloc_get_vma(alloc))
+		goto err_invalid_vma;
 
 	list_lru_isolate(lru, item);
 	spin_unlock(lock);
@@ -1028,6 +1028,8 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
 	mutex_unlock(&alloc->mutex);
 	return LRU_REMOVED_RETRY;
 
+err_invalid_vma:
+	mmap_read_unlock(mm);
 err_mmap_read_lock_failed:
 	mmput_async(mm);
 err_mmget:
drivers/base/swnode.c +3 -0
index d2fb3eb5816c..b664c36388e2 100644
@@ -531,6 +531,9 @@ software_node_get_reference_args(const struct fwnode_handle *fwnode,
 	if (nargs > NR_FWNODE_REFERENCE_ARGS)
 		return -EINVAL;
 
+	if (!args)
+		return 0;
+
 	args->fwnode = software_node_get(refnode);
 	args->nargs = nargs;
 
drivers/bluetooth/btmtkuart.c +3 -8
index 719d4685a2dd..1a908827b1f2 100644
@@ -471,7 +471,7 @@ mtk_stp_split(struct btmtkuart_dev *bdev, const unsigned char *data, int count,
 	return data;
 }
 
-static int btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
+static void btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
 {
 	struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
 	const unsigned char *p_left = data, *p_h4;
@@ -510,25 +510,20 @@ static int btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
 			bt_dev_err(bdev->hdev,
 				   "Frame reassembly failed (%d)", err);
 			bdev->rx_skb = NULL;
-			return err;
+			return;
 		}
 
 		sz_left -= sz_h4;
 		p_left += sz_h4;
 	}
-
-	return 0;
 }
 
 static int btmtkuart_receive_buf(struct serdev_device *serdev, const u8 *data,
 				 size_t count)
 {
 	struct btmtkuart_dev *bdev = serdev_device_get_drvdata(serdev);
-	int err;
 
-	err = btmtkuart_recv(bdev->hdev, data, count);
-	if (err < 0)
-		return err;
+	btmtkuart_recv(bdev->hdev, data, count);
 
 	bdev->hdev->stat.byte_rx += count;
 
drivers/clk/clk-fixed-rate.c +24 -4
index 45501637705c..62e994d18fe2 100644
@@ -49,12 +49,24 @@ const struct clk_ops clk_fixed_rate_ops = {
 };
 EXPORT_SYMBOL_GPL(clk_fixed_rate_ops);
 
+static void devm_clk_hw_register_fixed_rate_release(struct device *dev, void *res)
+{
+	struct clk_fixed_rate *fix = res;
+
+	/*
+	 * We can not use clk_hw_unregister_fixed_rate, since it will kfree()
+	 * the hw, resulting in double free. Just unregister the hw and let
+	 * devres code kfree() it.
+	 */
+	clk_hw_unregister(&fix->hw);
+}
+
 struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
 		struct device_node *np, const char *name,
 		const char *parent_name, const struct clk_hw *parent_hw,
 		const struct clk_parent_data *parent_data, unsigned long flags,
 		unsigned long fixed_rate, unsigned long fixed_accuracy,
-		unsigned long clk_fixed_flags)
+		unsigned long clk_fixed_flags, bool devm)
 {
 	struct clk_fixed_rate *fixed;
 	struct clk_hw *hw;
@@ -62,7 +74,11 @@ struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
 	int ret = -EINVAL;
 
 	/* allocate fixed-rate clock */
-	fixed = kzalloc(sizeof(*fixed), GFP_KERNEL);
+	if (devm)
+		fixed = devres_alloc(devm_clk_hw_register_fixed_rate_release,
+				     sizeof(*fixed), GFP_KERNEL);
+	else
+		fixed = kzalloc(sizeof(*fixed), GFP_KERNEL);
 	if (!fixed)
 		return ERR_PTR(-ENOMEM);
 
@@ -90,9 +106,13 @@ struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
 	else if (np)
 		ret = of_clk_hw_register(np, hw);
 	if (ret) {
-		kfree(fixed);
+		if (devm)
+			devres_free(fixed);
+		else
+			kfree(fixed);
 		hw = ERR_PTR(ret);
-	}
+	} else if (devm)
+		devres_add(dev, fixed);
 
 	return hw;
 }
drivers/clk/clk-si5341.c +1 -3
index 4dea29fa901d..d6515661580c 100644
@@ -888,10 +888,8 @@ static int si5341_output_clk_set_rate(struct clk_hw *hw, unsigned long rate,
 	r[0] = r_div ? (r_div & 0xff) : 1;
 	r[1] = (r_div >> 8) & 0xff;
 	r[2] = (r_div >> 16) & 0xff;
-	err = regmap_bulk_write(output->data->regmap,
+	return regmap_bulk_write(output->data->regmap,
 			SI5341_OUT_R_REG(output), r, 3);
-
-	return 0;
 }
 
 static int si5341_output_reparent(struct clk_si5341_output *output, u8 index)
drivers/clk/qcom/gpucc-sm8150.c +2 -2
index 27c40754b2c7..3d9b296a6e4a 100644
@@ -38,8 +38,8 @@ static struct alpha_pll_config gpu_cc_pll1_config = {
 	.config_ctl_hi_val = 0x00002267,
 	.config_ctl_hi1_val = 0x00000024,
 	.test_ctl_val = 0x00000000,
-	.test_ctl_hi_val = 0x00000002,
-	.test_ctl_hi1_val = 0x00000000,
+	.test_ctl_hi_val = 0x00000000,
+	.test_ctl_hi1_val = 0x00000020,
 	.user_ctl_val = 0x00000000,
 	.user_ctl_hi_val = 0x00000805,
 	.user_ctl_hi1_val = 0x000000d0,
drivers/clk/qcom/videocc-sm8150.c +5 -0
index 3087e2ec8fd4..61089cde4222 100644
@@ -37,6 +37,7 @@ static struct alpha_pll_config video_pll0_config = {
 	.config_ctl_val = 0x20485699,
 	.config_ctl_hi_val = 0x00002267,
 	.config_ctl_hi1_val = 0x00000024,
+	.test_ctl_hi1_val = 0x00000020,
 	.user_ctl_val = 0x00000000,
 	.user_ctl_hi_val = 0x00000805,
 	.user_ctl_hi1_val = 0x000000D0,
@@ -218,6 +219,10 @@ static const struct regmap_config video_cc_sm8150_regmap_config = {
 
 static const struct qcom_reset_map video_cc_sm8150_resets[] = {
 	[VIDEO_CC_MVSC_CORE_CLK_BCR] = { 0x850, 2 },
+	[VIDEO_CC_INTERFACE_BCR] = { 0x8f0 },
+	[VIDEO_CC_MVS0_BCR] = { 0x870 },
+	[VIDEO_CC_MVS1_BCR] = { 0x8b0 },
+	[VIDEO_CC_MVSC_BCR] = { 0x810 },
 };
 
 static const struct qcom_cc_desc video_cc_sm8150_desc = {
drivers/clk/rockchip/clk-rk3128.c +1 -1
index 4b1122e98e16..ddfe1c402e80 100644
@@ -489,7 +489,7 @@ static struct rockchip_clk_branch common_clk_branches[] __initdata = {
 	GATE(HCLK_I2S_2CH, "hclk_i2s_2ch", "hclk_peri", 0, RK2928_CLKGATE_CON(7), 2, GFLAGS),
 	GATE(0, "hclk_usb_peri", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(9), 13, GFLAGS),
 	GATE(HCLK_HOST2, "hclk_host2", "hclk_peri", 0, RK2928_CLKGATE_CON(7), 3, GFLAGS),
-	GATE(HCLK_OTG, "hclk_otg", "hclk_peri", 0, RK2928_CLKGATE_CON(3), 13, GFLAGS),
+	GATE(HCLK_OTG, "hclk_otg", "hclk_peri", 0, RK2928_CLKGATE_CON(5), 13, GFLAGS),
 	GATE(0, "hclk_peri_ahb", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(9), 14, GFLAGS),
 	GATE(HCLK_SPDIF, "hclk_spdif", "hclk_peri", 0, RK2928_CLKGATE_CON(10), 9, GFLAGS),
 	GATE(HCLK_TSP, "hclk_tsp", "hclk_peri", 0, RK2928_CLKGATE_CON(10), 12, GFLAGS),
drivers/clk/zynqmp/clk-mux-zynqmp.c +1 -1
index 06194149be83..46ff5cb733ee 100644
@@ -83,7 +83,7 @@ static int zynqmp_clk_mux_set_parent(struct clk_hw *hw, u8 index)
 static const struct clk_ops zynqmp_clk_mux_ops = {
 	.get_parent = zynqmp_clk_mux_get_parent,
 	.set_parent = zynqmp_clk_mux_set_parent,
-	.determine_rate = __clk_mux_determine_rate,
+	.determine_rate = __clk_mux_determine_rate_closest,
 };
 
 static const struct clk_ops zynqmp_clk_mux_ro_ops = {
drivers/clk/zynqmp/divider.c +5 -58

83 lines not on this page · raw message

drivers/cpufreq/cpufreq-dt-platdev.c +1 -1
index aea285651fba..e1dcdb0ea1c4 100644
@@ -163,7 +163,7 @@ static bool __init cpu0_node_has_opp_v2_prop(void)
 	struct device_node *np = of_cpu_device_node_get(0);
 	bool ret = false;
 
-	if (of_get_property(np, "operating-points-v2", NULL))
+	if (of_property_present(np, "operating-points-v2"))
 		ret = true;
 
 	of_node_put(np);
drivers/cpufreq/imx-cpufreq-dt.c +1 -1
index 3fe9125156b4..0942498b348c 100644
@@ -89,7 +89,7 @@ static int imx_cpufreq_dt_probe(struct platform_device *pdev)
 
 	cpu_dev = get_cpu_device(0);
 
-	if (!of_find_property(cpu_dev->of_node, "cpu-supply", NULL))
+	if (!of_property_present(cpu_dev->of_node, "cpu-supply"))
 		return -ENODEV;
 
 	if (of_machine_is_compatible("fsl,imx7ulp")) {
drivers/cpufreq/imx6q-cpufreq.c +2 -2
index 00f7ad746668..49cbc43f1fa9 100644
@@ -230,7 +230,7 @@ static int imx6q_opp_check_speed_grading(struct device *dev)
 	u32 val;
 	int ret;
 
-	if (of_find_property(dev->of_node, "nvmem-cells", NULL)) {
+	if (of_property_present(dev->of_node, "nvmem-cells")) {
 		ret = nvmem_cell_read_u32(dev, "speed_grade", &val);
 		if (ret)
 			return ret;
@@ -285,7 +285,7 @@ static int imx6ul_opp_check_speed_grading(struct device *dev)
 	u32 val;
 	int ret = 0;
 
-	if (of_find_property(dev->of_node, "nvmem-cells", NULL)) {
+	if (of_property_present(dev->of_node, "nvmem-cells")) {
 		ret = nvmem_cell_read_u32(dev, "speed_grade", &val);
 		if (ret)
 			return ret;
drivers/cpufreq/scmi-cpufreq.c +5 -2
index 8286205c7165..bb1389f276d7 100644
@@ -238,8 +238,11 @@ static int scmi_cpufreq_probe(struct scmi_device *sdev)
 
 #ifdef CONFIG_COMMON_CLK
 	/* dummy clock provider as needed by OPP if clocks property is used */
-	if (of_find_property(dev->of_node, "#clock-cells", NULL))
-		devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, NULL);
+	if (of_property_present(dev->of_node, "#clock-cells")) {
+		ret = devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, NULL);
+		if (ret)
+			return dev_err_probe(dev, ret, "%s: registering clock provider failed\n", __func__);
+	}
 #endif
 
 	ret = cpufreq_register_driver(&scmi_cpufreq_driver);
drivers/cpufreq/tegra20-cpufreq.c +1 -1
index 8c893043953e..111d4ff6fe86 100644
@@ -25,7 +25,7 @@ static bool cpu0_node_has_opp_v2_prop(void)
 	struct device_node *np = of_cpu_device_node_get(0);
 	bool ret = false;
 
-	if (of_get_property(np, "operating-points-v2", NULL))
+	if (of_property_present(np, "operating-points-v2"))
 		ret = true;
 
 	of_node_put(np);
drivers/crypto/ccp/ccp-ops.c +4 -1
index c15625e8ff66..7e2fbba945cd 100644
@@ -179,8 +179,11 @@ static int ccp_init_dm_workarea(struct ccp_dm_workarea *wa,
 
 		wa->dma.address = dma_map_single(wa->dev, wa->address, len,
 						 dir);
-		if (dma_mapping_error(wa->dev, wa->dma.address))
+		if (dma_mapping_error(wa->dev, wa->dma.address)) {
+			kfree(wa->address);
+			wa->address = NULL;
 			return -ENOMEM;
+		}
 
 		wa->dma.length = len;
 	}
drivers/crypto/sa2ul.c +1 -2
index f15fc1fb3707..0888f4489a76 100644
@@ -1848,9 +1848,8 @@ static int sa_aead_setkey(struct crypto_aead *authenc,
 	crypto_aead_set_flags(ctx->fallback.aead,
 			      crypto_aead_get_flags(authenc) &
 			      CRYPTO_TFM_REQ_MASK);
-	crypto_aead_setkey(ctx->fallback.aead, key, keylen);
 
-	return 0;
+	return crypto_aead_setkey(ctx->fallback.aead, key, keylen);
 }
 
 static int sa_aead_setauthsize(struct crypto_aead *tfm, unsigned int authsize)
drivers/crypto/sahara.c +108 -140

451 lines not on this page · raw message

drivers/crypto/virtio/Kconfig +3 -0
index b894e3a8be4f..5f8915f4a9ff 100644
@@ -3,8 +3,11 @@ config CRYPTO_DEV_VIRTIO
 	tristate "VirtIO crypto driver"
 	depends on VIRTIO
 	select CRYPTO_AEAD
+	select CRYPTO_AKCIPHER2
 	select CRYPTO_SKCIPHER
 	select CRYPTO_ENGINE
+	select CRYPTO_RSA
+	select MPILIB
 	help
 	  This driver provides support for virtio crypto device. If you
 	  choose 'M' here, this module will be called virtio_crypto.
drivers/crypto/virtio/Makefile +1 -0
index cbfccccfa135..f2b839473d61 100644
@@ -2,5 +2,6 @@
 obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio_crypto.o
 virtio_crypto-objs := \
 	virtio_crypto_algs.o \
+	virtio_crypto_akcipher_algs.o \
 	virtio_crypto_mgr.o \
 	virtio_crypto_core.o
drivers/crypto/virtio/virtio_crypto_akcipher_algs.c new file +591 -0

591 lines not on this page · raw message

drivers/crypto/virtio/virtio_crypto_algs.c +65 -78

207 lines not on this page · raw message

drivers/crypto/virtio/virtio_crypto_common.h +21 -5
index a24f85c589e7..d61c991d7773 100644
@@ -10,9 +10,11 @@
 #include <linux/virtio.h>
 #include <linux/crypto.h>
 #include <linux/spinlock.h>
+#include <linux/interrupt.h>
 #include <crypto/aead.h>
 #include <crypto/aes.h>
 #include <crypto/engine.h>
+#include <uapi/linux/virtio_crypto.h>
 
 
 /* Internal representation of a data virtqueue */
@@ -27,6 +29,7 @@ struct data_queue {
 	char name[32];
 
 	struct crypto_engine *engine;
+	struct tasklet_struct done_task;
 };
 
 struct virtio_crypto {
@@ -56,6 +59,7 @@ struct virtio_crypto {
 	u32 mac_algo_l;
 	u32 mac_algo_h;
 	u32 aead_algo;
+	u32 akcipher_algo;
 
 	/* Maximum length of cipher key */
 	u32 max_cipher_key_len;
@@ -64,11 +68,6 @@ struct virtio_crypto {
 	/* Maximum size of per request */
 	u64 max_size;
 
-	/* Control VQ buffers: protected by the ctrl_lock */
-	struct virtio_crypto_op_ctrl_req ctrl;
-	struct virtio_crypto_session_input input;
-	struct virtio_crypto_inhdr ctrl_status;
-
 	unsigned long status;
 	atomic_t ref_count;
 	struct list_head list;
@@ -84,6 +83,18 @@ struct virtio_crypto_sym_session_info {
 	__u64 session_id;
 };
 
+/*
+ * Note: there are padding fields in request, clear them to zero before
+ *       sending to host to avoid to divulge any information.
+ * Ex, virtio_crypto_ctrl_request::ctrl::u::destroy_session::padding[48]
+ */
+struct virtio_crypto_ctrl_request {
+	struct virtio_crypto_op_ctrl_req ctrl;
+	struct virtio_crypto_session_input input;
+	struct virtio_crypto_inhdr ctrl_status;
+	struct completion compl;
+};
+
 struct virtio_crypto_request;
 typedef void (*virtio_crypto_data_callback)
 		(struct virtio_crypto_request *vc_req, int len);
@@ -131,5 +142,10 @@ static inline int virtio_crypto_get_current_node(void)
 
 int virtio_crypto_algs_register(struct virtio_crypto *vcrypto);
 void virtio_crypto_algs_unregister(struct virtio_crypto *vcrypto);
+int virtio_crypto_akcipher_algs_register(struct virtio_crypto *vcrypto);
+void virtio_crypto_akcipher_algs_unregister(struct virtio_crypto *vcrypto);
+int virtio_crypto_ctrl_vq_request(struct virtio_crypto *vcrypto, struct scatterlist *sgs[],
+				  unsigned int out_sgs, unsigned int in_sgs,
+				  struct virtio_crypto_ctrl_request *vc_ctrl_req);
 
 #endif /* _VIRTIO_CRYPTO_COMMON_H */
drivers/crypto/virtio/virtio_crypto_core.c +71 -11

141 lines not on this page · raw message

drivers/crypto/virtio/virtio_crypto_mgr.c +11 -0
index 6860f8180c7c..1cb92418b321 100644
@@ -242,6 +242,12 @@ int virtcrypto_dev_start(struct virtio_crypto *vcrypto)
 		return -EFAULT;
 	}
 
+	if (virtio_crypto_akcipher_algs_register(vcrypto)) {
+		pr_err("virtio_crypto: Failed to register crypto akcipher algs\n");
+		virtio_crypto_algs_unregister(vcrypto);
+		return -EFAULT;
+	}
+
 	return 0;
 }
 
@@ -258,6 +264,7 @@ int virtcrypto_dev_start(struct virtio_crypto *vcrypto)
 void virtcrypto_dev_stop(struct virtio_crypto *vcrypto)
 {
 	virtio_crypto_algs_unregister(vcrypto);
+	virtio_crypto_akcipher_algs_unregister(vcrypto);
 }
 
 /*
@@ -312,6 +319,10 @@ bool virtcrypto_algo_is_supported(struct virtio_crypto *vcrypto,
 	case VIRTIO_CRYPTO_SERVICE_AEAD:
 		algo_mask = vcrypto->aead_algo;
 		break;
+
+	case VIRTIO_CRYPTO_SERVICE_AKCIPHER:
+		algo_mask = vcrypto->akcipher_algo;
+		break;
 	}
 
 	if (!(algo_mask & (1u << algo)))
drivers/edac/thunderx_edac.c +5 -5
index 0eb5eb97fd74..3b0e1fe27d93 100644
@@ -1133,7 +1133,7 @@ static irqreturn_t thunderx_ocx_com_threaded_isr(int irq, void *irq_id)
 		decode_register(other, OCX_OTHER_SIZE,
 				ocx_com_errors, ctx->reg_com_int);
 
-		strncat(msg, other, OCX_MESSAGE_SIZE);
+		strlcat(msg, other, OCX_MESSAGE_SIZE);
 
 		for (lane = 0; lane < OCX_RX_LANES; lane++)
 			if (ctx->reg_com_int & BIT(lane)) {
@@ -1142,12 +1142,12 @@ static irqreturn_t thunderx_ocx_com_threaded_isr(int irq, void *irq_id)
 					 lane, ctx->reg_lane_int[lane],
 					 lane, ctx->reg_lane_stat11[lane]);
 
-				strncat(msg, other, OCX_MESSAGE_SIZE);
+				strlcat(msg, other, OCX_MESSAGE_SIZE);
 
 				decode_register(other, OCX_OTHER_SIZE,
 						ocx_lane_errors,
 						ctx->reg_lane_int[lane]);
-				strncat(msg, other, OCX_MESSAGE_SIZE);
+				strlcat(msg, other, OCX_MESSAGE_SIZE);
 			}
 
 		if (ctx->reg_com_int & OCX_COM_INT_CE)
@@ -1217,7 +1217,7 @@ static irqreturn_t thunderx_ocx_lnk_threaded_isr(int irq, void *irq_id)
 		decode_register(other, OCX_OTHER_SIZE,
 				ocx_com_link_errors, ctx->reg_com_link_int);
 
-		strncat(msg, other, OCX_MESSAGE_SIZE);
+		strlcat(msg, other, OCX_MESSAGE_SIZE);
 
 		if (ctx->reg_com_link_int & OCX_COM_LINK_INT_UE)
 			edac_device_handle_ue(ocx->edac_dev, 0, 0, msg);
@@ -1896,7 +1896,7 @@ static irqreturn_t thunderx_l2c_threaded_isr(int irq, void *irq_id)
 
 		decode_register(other, L2C_OTHER_SIZE, l2_errors, ctx->reg_int);
 
-		strncat(msg, other, L2C_MESSAGE_SIZE);
+		strlcat(msg, other, L2C_MESSAGE_SIZE);
 
 		if (ctx->reg_int & mask_ue)
 			edac_device_handle_ue(l2c->edac_dev, 0, 0, msg);
drivers/firmware/meson/meson_sm.c +4 -1
index ed27ff2e503e..7dff8833132d 100644
@@ -313,11 +313,14 @@ static int __init meson_sm_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, fw);
 
-	pr_info("secure-monitor enabled\n");
+	if (devm_of_platform_populate(dev))
+		goto out_in_base;
 
 	if (sysfs_create_group(&pdev->dev.kobj, &meson_sm_sysfs_attr_group))
 		goto out_in_base;
 
+	pr_info("secure-monitor enabled\n");
+
 	return 0;
 
 out_in_base:
drivers/firmware/ti_sci.c +5 -5
index fe6be0771a07..b0576cec263b 100644
@@ -161,7 +161,7 @@ static int ti_sci_debugfs_create(struct platform_device *pdev,
 {
 	struct device *dev = &pdev->dev;
 	struct resource *res;
-	char debug_name[50] = "ti_sci_debug@";
+	char debug_name[50];
 
 	/* Debug region is optional */
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
@@ -178,10 +178,10 @@ static int ti_sci_debugfs_create(struct platform_device *pdev,
 	/* Setup NULL termination */
 	info->debug_buffer[info->debug_region_size] = 0;
 
-	info->d = debugfs_create_file(strncat(debug_name, dev_name(dev),
-					      sizeof(debug_name) -
-					      sizeof("ti_sci_debug@")),
-				      0444, NULL, info, &ti_sci_debug_fops);
+	snprintf(debug_name, sizeof(debug_name), "ti_sci_debug@%s",
+		 dev_name(dev));
+	info->d = debugfs_create_file(debug_name, 0444, NULL, info,
+				      &ti_sci_debug_fops);
 	if (IS_ERR(info->d))
 		return PTR_ERR(info->d);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +8 -2
index 48df32dd352e..8a1cb1de2b13 100644
@@ -459,6 +459,9 @@ static ssize_t amdgpu_debugfs_regs_didt_read(struct file *f, char __user *buf,
 	if (size & 0x3 || *pos & 0x3)
 		return -EINVAL;
 
+	if (!adev->didt_rreg)
+		return -EOPNOTSUPP;
+
 	r = pm_runtime_get_sync(adev_to_drm(adev)->dev);
 	if (r < 0) {
 		pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
@@ -518,6 +521,9 @@ static ssize_t amdgpu_debugfs_regs_didt_write(struct file *f, const char __user
 	if (size & 0x3 || *pos & 0x3)
 		return -EINVAL;
 
+	if (!adev->didt_wreg)
+		return -EOPNOTSUPP;
+
 	r = pm_runtime_get_sync(adev_to_drm(adev)->dev);
 	if (r < 0) {
 		pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
@@ -576,7 +582,7 @@ static ssize_t amdgpu_debugfs_regs_smc_read(struct file *f, char __user *buf,
 	int r;
 
 	if (!adev->smc_rreg)
-		return -EPERM;
+		return -EOPNOTSUPP;
 
 	if (size & 0x3 || *pos & 0x3)
 		return -EINVAL;
@@ -638,7 +644,7 @@ static ssize_t amdgpu_debugfs_regs_smc_write(struct file *f, const char __user *
 	int r;
 
 	if (!adev->smc_wreg)
-		return -EPERM;
+		return -EOPNOTSUPP;
 
 	if (size & 0x3 || *pos & 0x3)
 		return -EINVAL;
drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c +1 -3
index c8a5a5698edd..6eb6f05c1136 100644
@@ -2733,10 +2733,8 @@ static int kv_parse_power_table(struct amdgpu_device *adev)
 		non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *)
 			&non_clock_info_array->nonClockInfo[non_clock_array_index];
 		ps = kzalloc(sizeof(struct kv_ps), GFP_KERNEL);
-		if (ps == NULL) {
-			kfree(adev->pm.dpm.ps);
+		if (ps == NULL)
 			return -ENOMEM;
-		}
 		adev->pm.dpm.ps[i].ps_priv = ps;
 		k = 0;
 		idx = (u8 *)&power_state->v2.clockInfoIndex[0];
drivers/gpu/drm/amd/pm/powerplay/si_dpm.c +2 -3
index d6544a6dabc7..6f0653c81f8f 100644
@@ -7349,10 +7349,9 @@ static int si_dpm_init(struct amdgpu_device *adev)
 		kcalloc(4,
 			sizeof(struct amdgpu_clock_voltage_dependency_entry),
 			GFP_KERNEL);
-	if (!adev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries) {
-		amdgpu_free_extended_power_table(adev);
+	if (!adev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries)
 		return -ENOMEM;
-	}
+
 	adev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.count = 4;
 	adev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries[0].clk = 0;
 	adev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries[0].v = 0;
drivers/gpu/drm/bridge/tc358767.c +1 -1
index b4f7e7a7f7c5..9c905634fec7 100644
@@ -1637,7 +1637,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	} else {
 		if (tc->hpd_pin < 0 || tc->hpd_pin > 1) {
 			dev_err(dev, "failed to parse HPD number\n");
-			return ret;
+			return -EINVAL;
 		}
 	}
 
drivers/gpu/drm/bridge/ti-tpd12s015.c +2 -2
index e0e015243a60..b588fea12502 100644
@@ -179,7 +179,7 @@ static int tpd12s015_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int __exit tpd12s015_remove(struct platform_device *pdev)
+static int tpd12s015_remove(struct platform_device *pdev)
 {
 	struct tpd12s015_device *tpd = platform_get_drvdata(pdev);
 
@@ -197,7 +197,7 @@ MODULE_DEVICE_TABLE(of, tpd12s015_of_match);
 
 static struct platform_driver tpd12s015_driver = {
 	.probe	= tpd12s015_probe,
-	.remove	= __exit_p(tpd12s015_remove),
+	.remove = tpd12s015_remove,
 	.driver	= {
 		.name	= "tpd12s015",
 		.of_match_table = tpd12s015_of_match,
drivers/gpu/drm/drm_crtc.c +4 -4
index aecdd7ea26dc..4ed3fc28d4da 100644
@@ -562,8 +562,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
 	struct drm_mode_set set;
 	uint32_t __user *set_connectors_ptr;
 	struct drm_modeset_acquire_ctx ctx;
-	int ret;
-	int i;
+	int ret, i, num_connectors = 0;
 
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EOPNOTSUPP;
@@ -721,6 +720,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
 					connector->name);
 
 			connector_set[i] = connector;
+			num_connectors++;
 		}
 	}
 
@@ -729,7 +729,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
 	set.y = crtc_req->y;
 	set.mode = mode;
 	set.connectors = connector_set;
-	set.num_connectors = crtc_req->count_connectors;
+	set.num_connectors = num_connectors;
 	set.fb = fb;
 
 	if (drm_drv_uses_atomic_modeset(dev))
@@ -742,7 +742,7 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
 		drm_framebuffer_put(fb);
 
 	if (connector_set) {
-		for (i = 0; i < crtc_req->count_connectors; i++) {
+		for (i = 0; i < num_connectors; i++) {
 			if (connector_set[i])
 				drm_connector_put(connector_set[i]);
 		}
drivers/gpu/drm/drm_drv.c +8 -2
index 4ca995ce19af..10831d8d7148 100644
@@ -892,8 +892,11 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
 			goto err_minors;
 	}
 
-	if (drm_core_check_feature(dev, DRIVER_MODESET))
-		drm_modeset_register_all(dev);
+	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
+		ret = drm_modeset_register_all(dev);
+		if (ret)
+			goto err_unload;
+	}
 
 	ret = 0;
 
@@ -905,6 +908,9 @@ int drm_dev_register(struct drm_device *dev, unsigned long flags)
 
 	goto out_unlock;
 
+err_unload:
+	if (dev->driver->unload)
+		dev->driver->unload(dev);
 err_minors:
 	remove_compat_control_link(dev);
 	drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
drivers/gpu/drm/exynos/exynos_drm_dma.c +3 -5
index bf33c3084cb4..6b4d6da3b1f4 100644
@@ -108,18 +108,16 @@ int exynos_drm_register_dma(struct drm_device *drm, struct device *dev,
 		return 0;
 
 	if (!priv->mapping) {
-		void *mapping;
+		void *mapping = NULL;
 
 		if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
 			mapping = arm_iommu_create_mapping(&platform_bus_type,
 				EXYNOS_DEV_ADDR_START, EXYNOS_DEV_ADDR_SIZE);
 		else if (IS_ENABLED(CONFIG_IOMMU_DMA))
 			mapping = iommu_get_domain_for_dev(priv->dma_dev);
-		else
-			mapping = ERR_PTR(-ENODEV);
 
-		if (IS_ERR(mapping))
-			return PTR_ERR(mapping);
+		if (!mapping)
+			return -ENODEV;
 		priv->mapping = mapping;
 	}
 
drivers/gpu/drm/exynos/exynos_hdmi.c +2 -0
index dc01c188c0e0..981bffacda24 100644
@@ -1849,6 +1849,8 @@ static int hdmi_bind(struct device *dev, struct device *master, void *data)
 		return ret;
 
 	crtc = exynos_drm_crtc_get_by_type(drm_dev, EXYNOS_DISPLAY_TYPE_HDMI);
+	if (IS_ERR(crtc))
+		return PTR_ERR(crtc);
 	crtc->pipe_clk = &hdata->phy_clk;
 
 	ret = hdmi_create_connector(encoder);
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c +9 -0
index a0253297bc76..bf54b9e4fd61 100644
@@ -268,6 +268,7 @@ static void mdp4_crtc_atomic_disable(struct drm_crtc *crtc,
 {
 	struct mdp4_crtc *mdp4_crtc = to_mdp4_crtc(crtc);
 	struct mdp4_kms *mdp4_kms = get_kms(crtc);
+	unsigned long flags;
 
 	DBG("%s", mdp4_crtc->name);
 
@@ -280,6 +281,14 @@ static void mdp4_crtc_atomic_disable(struct drm_crtc *crtc,
 	mdp_irq_unregister(&mdp4_kms->base, &mdp4_crtc->err);
 	mdp4_disable(mdp4_kms);
 
+	if (crtc->state->event && !crtc->state->active) {
+		WARN_ON(mdp4_crtc->event);
+		spin_lock_irqsave(&mdp4_kms->dev->event_lock, flags);
+		drm_crtc_send_vblank_event(crtc, crtc->state->event);
+		crtc->state->event = NULL;
+		spin_unlock_irqrestore(&mdp4_kms->dev->event_lock, flags);
+	}
+
 	mdp4_crtc->enabled = false;
 }
 
drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +3 -1
index 2e0be85ec394..10eacfd95fb1 100644
@@ -558,7 +558,9 @@ static int dsi_phy_enable_resource(struct msm_dsi_phy *phy)
 	struct device *dev = &phy->pdev->dev;
 	int ret;
 
-	pm_runtime_get_sync(dev);
+	ret = pm_runtime_resume_and_get(dev);
+	if (ret)
+		return ret;
 
 	ret = clk_prepare_enable(phy->ahb_clk);
 	if (ret) {
drivers/gpu/drm/nouveau/nv04_fence.c +1 -1
index 5b71a5a5cd85..cdbc75e3d1f6 100644
@@ -39,7 +39,7 @@ struct nv04_fence_priv {
 static int
 nv04_fence_emit(struct nouveau_fence *fence)
 {
-	struct nvif_push *push = fence->channel->chan.push;
+	struct nvif_push *push = unrcu_pointer(fence->channel)->chan.push;
 	int ret = PUSH_WAIT(push, 2);
 	if (ret == 0) {
 		PUSH_NVSQ(push, NV_SW, 0x0150, fence->base.seqno);
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmtu102.c +1 -1
index b1294d0076c0..72449bf613bf 100644
@@ -32,7 +32,7 @@ tu102_vmm_flush(struct nvkm_vmm *vmm, int depth)
 
 	type |= 0x00000001; /* PAGE_ALL */
 	if (atomic_read(&vmm->engref[NVKM_SUBDEV_BAR]))
-		type |= 0x00000004; /* HUB_ONLY */
+		type |= 0x00000006; /* HUB_ONLY | ALL PDB (hack) */
 
 	mutex_lock(&subdev->mutex);
 
drivers/gpu/drm/panel/panel-elida-kd35t133.c +2 -0
index fe5ac3ef9018..9c1591f2920c 100644
@@ -111,6 +111,8 @@ static int kd35t133_unprepare(struct drm_panel *panel)
 		return ret;
 	}
 
+	gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+
 	regulator_disable(ctx->iovcc);
 	regulator_disable(ctx->vdd);
 
drivers/gpu/drm/radeon/r100.c +2 -2
index 24c8db673931..6e4600c21697 100644
@@ -2313,7 +2313,7 @@ int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track)
 	switch (prim_walk) {
 	case 1:
 		for (i = 0; i < track->num_arrays; i++) {
-			size = track->arrays[i].esize * track->max_indx * 4;
+			size = track->arrays[i].esize * track->max_indx * 4UL;
 			if (track->arrays[i].robj == NULL) {
 				DRM_ERROR("(PW %u) Vertex array %u no buffer "
 					  "bound\n", prim_walk, i);
@@ -2332,7 +2332,7 @@ int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track)
 		break;
 	case 2:
 		for (i = 0; i < track->num_arrays; i++) {
-			size = track->arrays[i].esize * (nverts - 1) * 4;
+			size = track->arrays[i].esize * (nverts - 1) * 4UL;
 			if (track->arrays[i].robj == NULL) {
 				DRM_ERROR("(PW %u) Vertex array %u no buffer "
 					  "bound\n", prim_walk, i);
drivers/gpu/drm/radeon/r600_cs.c +2 -2
index 390a9621604a..1e6ad9daff53 100644
@@ -1276,7 +1276,7 @@ static int r600_cs_check_reg(struct radeon_cs_parser *p, u32 reg, u32 idx)
 			return -EINVAL;
 		}
 		tmp = (reg - CB_COLOR0_BASE) / 4;
-		track->cb_color_bo_offset[tmp] = radeon_get_ib_value(p, idx) << 8;
+		track->cb_color_bo_offset[tmp] = (u64)radeon_get_ib_value(p, idx) << 8;
 		ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff);
 		track->cb_color_base_last[tmp] = ib[idx];
 		track->cb_color_bo[tmp] = reloc->robj;
@@ -1303,7 +1303,7 @@ static int r600_cs_check_reg(struct radeon_cs_parser *p, u32 reg, u32 idx)
 					"0x%04X\n", reg);
 			return -EINVAL;
 		}
-		track->htile_offset = radeon_get_ib_value(p, idx) << 8;
+		track->htile_offset = (u64)radeon_get_ib_value(p, idx) << 8;
 		ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff);
 		track->htile_bo = reloc->robj;
 		track->db_dirty = true;
drivers/gpu/drm/radeon/radeon_display.c +6 -1
index 71bdafac9210..07d23a1e62a0 100644
@@ -689,11 +689,16 @@ static void radeon_crtc_init(struct drm_device *dev, int index)
 	if (radeon_crtc == NULL)
 		return;
 
+	radeon_crtc->flip_queue = alloc_workqueue("radeon-crtc", WQ_HIGHPRI, 0);
+	if (!radeon_crtc->flip_queue) {
+		kfree(radeon_crtc);
+		return;
+	}
+
 	drm_crtc_init(dev, &radeon_crtc->base, &radeon_crtc_funcs);
 
 	drm_mode_crtc_set_gamma_size(&radeon_crtc->base, 256);
 	radeon_crtc->crtc_id = index;
-	radeon_crtc->flip_queue = alloc_workqueue("radeon-crtc", WQ_HIGHPRI, 0);
 	rdev->mode_info.crtcs[index] = radeon_crtc;
 
 	if (rdev->family >= CHIP_BONAIRE) {
drivers/gpu/drm/radeon/radeon_vm.c +6 -2
index 27b14eff532c..cb75ff1f6f2c 100644
@@ -1206,13 +1206,17 @@ int radeon_vm_init(struct radeon_device *rdev, struct radeon_vm *vm)
 	r = radeon_bo_create(rdev, pd_size, align, true,
 			     RADEON_GEM_DOMAIN_VRAM, 0, NULL,
 			     NULL, &vm->page_directory);
-	if (r)
+	if (r) {
+		kfree(vm->page_tables);
+		vm->page_tables = NULL;
 		return r;
-
+	}
 	r = radeon_vm_clear_bo(rdev, vm->page_directory);
 	if (r) {
 		radeon_bo_unref(&vm->page_directory);
 		vm->page_directory = NULL;
+		kfree(vm->page_tables);
+		vm->page_tables = NULL;
 		return r;
 	}
 
drivers/gpu/drm/radeon/si.c +4 -0
index 31e2c1083b08..e2eac766666e 100644
@@ -3616,6 +3616,10 @@ static int si_cp_start(struct radeon_device *rdev)
 	for (i = RADEON_RING_TYPE_GFX_INDEX; i <= CAYMAN_RING_TYPE_CP2_INDEX; ++i) {
 		ring = &rdev->ring[i];
 		r = radeon_ring_lock(rdev, ring, 2);
+		if (r) {
+			DRM_ERROR("radeon: cp failed to lock ring (%d).\n", r);
+			return r;
+		}
 
 		/* clear the compute context state */
 		radeon_ring_write(ring, PACKET3_COMPUTE(PACKET3_CLEAR_STATE, 0));
drivers/gpu/drm/radeon/sumo_dpm.c +3 -1
index b95d5d390caf..45d04996adf5 100644
@@ -1493,8 +1493,10 @@ static int sumo_parse_power_table(struct radeon_device *rdev)
 		non_clock_array_index = power_state->v2.nonClockInfoIndex;
 		non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *)
 			&non_clock_info_array->nonClockInfo[non_clock_array_index];
-		if (!rdev->pm.power_state[i].clock_info)
+		if (!rdev->pm.power_state[i].clock_info) {
+			kfree(rdev->pm.dpm.ps);
 			return -EINVAL;
+		}
 		ps = kzalloc(sizeof(struct sumo_ps), GFP_KERNEL);
 		if (ps == NULL) {
 			kfree(rdev->pm.dpm.ps);
drivers/gpu/drm/radeon/trinity_dpm.c +3 -1
index 4d93b84aa739..49c28fbe366e 100644
@@ -1770,8 +1770,10 @@ static int trinity_parse_power_table(struct radeon_device *rdev)
 		non_clock_array_index = power_state->v2.nonClockInfoIndex;
 		non_clock_info = (struct _ATOM_PPLIB_NONCLOCK_INFO *)
 			&non_clock_info_array->nonClockInfo[non_clock_array_index];
-		if (!rdev->pm.power_state[i].clock_info)
+		if (!rdev->pm.power_state[i].clock_info) {
+			kfree(rdev->pm.dpm.ps);
 			return -EINVAL;
+		}
 		ps = kzalloc(sizeof(struct sumo_ps), GFP_KERNEL);
 		if (ps == NULL) {
 			kfree(rdev->pm.dpm.ps);
drivers/hid/wacom_wac.c +4 -28
index 1b5e5e9f577d..726a5d76615d 100644
@@ -2612,8 +2612,8 @@ static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac,
 {
 	struct hid_data *hid_data = &wacom_wac->hid_data;
 	bool mt = wacom_wac->features.touch_max > 1;
-	bool prox = hid_data->tipswitch &&
-		    report_touch_events(wacom_wac);
+	bool touch_down = hid_data->tipswitch && hid_data->confidence;
+	bool prox = touch_down && report_touch_events(wacom_wac);
 
 	if (wacom_wac->shared->has_mute_touch_switch &&
 	    !wacom_wac->shared->is_touch_on) {
@@ -2652,24 +2652,6 @@ static void wacom_wac_finger_slot(struct wacom_wac *wacom_wac,
 	}
 }
 
-static bool wacom_wac_slot_is_active(struct input_dev *dev, int key)
-{
-	struct input_mt *mt = dev->mt;
-	struct input_mt_slot *s;
-
-	if (!mt)
-		return false;
-
-	for (s = mt->slots; s != mt->slots + mt->num_slots; s++) {
-		if (s->key == key &&
-			input_mt_get_value(s, ABS_MT_TRACKING_ID) >= 0) {
-			return true;
-		}
-	}
-
-	return false;
-}
-
 static void wacom_wac_finger_event(struct hid_device *hdev,
 		struct hid_field *field, struct hid_usage *usage, __s32 value)
 {
@@ -2717,14 +2699,8 @@ static void wacom_wac_finger_event(struct hid_device *hdev,
 	}
 
 	if (usage->usage_index + 1 == field->report_count) {
-		if (equivalent_usage == wacom_wac->hid_data.last_slot_field) {
-			bool touch_removed = wacom_wac_slot_is_active(wacom_wac->touch_input,
-				wacom_wac->hid_data.id) && !wacom_wac->hid_data.tipswitch;
-
-			if (wacom_wac->hid_data.confidence || touch_removed) {
-				wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input);
-			}
-		}
+		if (equivalent_usage == wacom_wac->hid_data.last_slot_field)
+			wacom_wac_finger_slot(wacom_wac, wacom_wac->touch_input);
 	}
 }
 
drivers/hwtracing/coresight/coresight-etm4x.h +1 -1
index eefc7371c6c4..2c994a8c4a76 100644
@@ -440,7 +440,7 @@ struct etmv4_drvdata {
 	u8				ctxid_size;
 	u8				vmid_size;
 	u8				ccsize;
-	u8				ccitmin;
+	u16				ccitmin;
 	u8				s_ex_level;
 	u8				ns_ex_level;
 	u8				q_support;
drivers/i2c/busses/i2c-rk3x.c +11 -2
index 13c14eb175e9..6abcf975a2db 100644
@@ -178,6 +178,7 @@ struct rk3x_i2c_soc_data {
  * @clk: function clk for rk3399 or function & Bus clks for others
  * @pclk: Bus clk for rk3399
  * @clk_rate_nb: i2c clk rate change notify
+ * @irq: irq number
  * @t: I2C known timing information
  * @lock: spinlock for the i2c bus
  * @wait: the waitqueue to wait for i2c transfer
@@ -200,6 +201,7 @@ struct rk3x_i2c {
 	struct clk *clk;
 	struct clk *pclk;
 	struct notifier_block clk_rate_nb;
+	int irq;
 
 	/* Settings */
 	struct i2c_timings t;
@@ -1087,13 +1089,18 @@ static int rk3x_i2c_xfer_common(struct i2c_adapter *adap,
 
 		spin_unlock_irqrestore(&i2c->lock, flags);
 
-		rk3x_i2c_start(i2c);
-
 		if (!polling) {
+			rk3x_i2c_start(i2c);
+
 			timeout = wait_event_timeout(i2c->wait, !i2c->busy,
 						     msecs_to_jiffies(WAIT_TIMEOUT));
 		} else {
+			disable_irq(i2c->irq);
+			rk3x_i2c_start(i2c);
+
 			timeout = rk3x_i2c_wait_xfer_poll(i2c);
+
+			enable_irq(i2c->irq);
 		}
 
 		spin_lock_irqsave(&i2c->lock, flags);
@@ -1301,6 +1308,8 @@ static int rk3x_i2c_probe(struct platform_device *pdev)
 		return ret;
 	}
 
+	i2c->irq = irq;
+
 	platform_set_drvdata(pdev, i2c);
 
 	if (i2c->soc_data->calc_timings == rk3x_i2c_v0_calc_timings) {
drivers/i2c/busses/i2c-s3c2410.c +21 -19
index 05831848b7bf..fd0969cd7dc6 100644
@@ -223,8 +223,17 @@ static bool is_ack(struct s3c24xx_i2c *i2c)
 	int tries;
 
 	for (tries = 50; tries; --tries) {
-		if (readl(i2c->regs + S3C2410_IICCON)
-			& S3C2410_IICCON_IRQPEND) {
+		unsigned long tmp = readl(i2c->regs + S3C2410_IICCON);
+
+		if (!(tmp & S3C2410_IICCON_ACKEN)) {
+			/*
+			 * Wait a bit for the bus to stabilize,
+			 * delay estimated experimentally.
+			 */
+			usleep_range(100, 200);
+			return true;
+		}
+		if (tmp & S3C2410_IICCON_IRQPEND) {
 			if (!(readl(i2c->regs + S3C2410_IICSTAT)
 				& S3C2410_IICSTAT_LASTBIT))
 				return true;
@@ -277,16 +286,6 @@ static void s3c24xx_i2c_message_start(struct s3c24xx_i2c *i2c,
 
 	stat |= S3C2410_IICSTAT_START;
 	writel(stat, i2c->regs + S3C2410_IICSTAT);
-
-	if (i2c->quirks & QUIRK_POLL) {
-		while ((i2c->msg_num != 0) && is_ack(i2c)) {
-			i2c_s3c_irq_nextbyte(i2c, stat);
-			stat = readl(i2c->regs + S3C2410_IICSTAT);
-
-			if (stat & S3C2410_IICSTAT_ARBITR)
-				dev_err(i2c->dev, "deal with arbitration loss\n");
-		}
-	}
 }
 
 static inline void s3c24xx_i2c_stop(struct s3c24xx_i2c *i2c, int ret)
@@ -693,7 +692,7 @@ static void s3c24xx_i2c_wait_idle(struct s3c24xx_i2c *i2c)
 static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c,
 			      struct i2c_msg *msgs, int num)
[… more lines in the raw message]

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

drivers/iio/adc/ad7091r-base.c +3 -3
index 63b4d6ea4566..811f04448d8d 100644

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

drivers/iio/adc/ad9467.c +79 -35

114 lines not on this page · raw message

drivers/iio/adc/adi-axi-adc.c +15 -59

74 lines not on this page · raw message

drivers/infiniband/hw/mthca/mthca_cmd.c +2 -2
index bdf5ed38de22..0307c45aa6d3 100644

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

drivers/infiniband/hw/mthca/mthca_main.c +1 -1
index fe9654a7af71..3acd1372c814 100644

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

drivers/infiniband/ulp/iser/iscsi_iser.h +0 -2
index 78ee9445f801..45a2d2b82b09 100644

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

drivers/infiniband/ulp/iser/iser_initiator.c +4 -1
index 27a6f75a9912..9ea88dd6a414 100644

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

drivers/infiniband/ulp/iser/iser_memory.c +4 -4
index d4e057fac219..519fea5ec3a1 100644

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

drivers/infiniband/ulp/iser/iser_verbs.c +0 -1
index 2bd18b006893..b5127479860d 100644

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

drivers/input/joystick/xpad.c +1 -0
index beedad0fe09a..239471cf7e4c 100644

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

drivers/input/keyboard/atkbd.c +45 -5

50 lines not on this page · raw message

drivers/input/serio/i8042-acpipnpio.h +8 -0
index 09528c0a8a34..124ab98ea43a 100644

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

drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c +1 -0
index 1598a1ddbf69..a5164d5cb6a3 100644

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

drivers/leds/Kconfig +1 -0
index ad84be4f6817..03c4c5e4d35c 100644

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

drivers/media/dvb-core/dvbdev.c +2 -0
index 2ff8a1b776fb..3a83e8e09256 100644

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

drivers/media/dvb-frontends/m88ds3103.c +5 -2
index ff106d6ece68..94c6cc59372c 100644

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

drivers/media/usb/cx231xx/cx231xx-core.c +2 -0
index 05d91caaed0c..46e34225b45c 100644

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

drivers/media/usb/pvrusb2/pvrusb2-context.c +2 -1
index 14170a5d72b3..1764674de98b 100644

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

drivers/mfd/syscon.c +4 -0
index df5cebb372a5..60f74144a4f8 100644

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

drivers/mmc/host/Kconfig +6 -4
index a5b2bf0e40cc..8fe4a0fd6ef1 100644

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

drivers/mtd/mtd_blkdevs.c +2 -2
index 0c05f77f9b21..dd0d0bf5f57f 100644

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

drivers/mtd/nand/raw/fsl_ifc_nand.c +1 -1
index e345f9d9f8e8..fcda744e8a40 100644

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

drivers/net/dsa/vitesse-vsc73xx-core.c +2 -0
index 80eadf509c0a..018988b95035 100644

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

drivers/net/ethernet/broadcom/tg3.c +10 -1
index b010f28b0abf..fe2c9b110e60 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +0 -1
index aa9e616cc1d5..011210e6842d 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c +3 -5
index ded4cf658680..4b713832fdd5 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c +5 -3
index 4c98950380d5..d231f4d2888b 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +67 -64

131 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c +3 -6
index b65b93a2b9bc..fc2257753b9b 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +4 -7
index 368fa0e5ad31..ea37f5000caa 100644

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

drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c +1 -1
index 8d51b0cb545c..93fa10ad08a0 100644

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

drivers/net/ethernet/renesas/ravb_main.c +1 -1
index f092f468016b..8a4dff0566f7 100644

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

drivers/net/ethernet/ti/am65-cpsw-nuss.c +3 -2
index d10324431354..94e36deefe88 100644

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

drivers/net/phy/micrel.c +1 -0
index bbbe198f83e8..2b7616f161d6 100644

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

drivers/net/wireless/ath/ath11k/ahb.c +2 -2
index 190bc5712e96..24006ddfba89 100644

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

drivers/net/wireless/marvell/libertas/Kconfig +0 -2
index 6d62ab49aa8d..c7d02adb3eea 100644

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

drivers/net/wireless/marvell/mwifiex/cfg80211.c +2 -0
index 3d1b5d3d295a..2f5f1ff22a60 100644

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

drivers/net/wireless/marvell/mwifiex/fw.h +1 -0
index 470d669c7f14..96c42b979e9b 100644

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

drivers/net/wireless/marvell/mwifiex/ioctl.h +1 -0
index 3db449efa167..cdb5b3881782 100644

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

drivers/net/wireless/marvell/mwifiex/uap_cmd.c +8 -0
index b48a85d791f6..2d444e660ac5 100644

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

drivers/net/wireless/realtek/rtlwifi/pci.c +16 -63

79 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/pci.h +0 -5
index 866861626a0a..d6307197dfea 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c +4 -10
index 9be032e8ec95..3395601eaa59 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c +2 -10
index 3d29c8dbb255..144ee780e1b6 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.h +0 -1
index 75afa6253ad0..e64d377dfe9e 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c +3 -3
index 04735da11168..6b98e77768e9 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.h +0 -1
index 7582a162bd11..c7a0d4c776f0 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c +3 -3
index a8d9fe269f31..0b8cb7e61fd8 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c +23 -38

61 lines not on this page · raw message

drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c +4 -12
index cc0bcaf13e96..73ef602bfb01 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c +4 -11
index 63283d9e7485..cd735d61f630 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c +3 -2
index c0c06ab6d3e7..fb143a5f9cc3 100644

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

drivers/net/wireless/realtek/rtlwifi/wifi.h +7 -0
index fdccfd29fd61..a89e232d6963 100644

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

drivers/net/wireless/realtek/rtw88/mac80211.c +2 -2
index c92fba2fa480..0a3766781347 100644

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

drivers/net/xen-netback/netback.c +38 -6

44 lines not on this page · raw message

drivers/nvme/host/core.c +3 -2
index 07c41a149328..30a642c8f537 100644

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

drivers/nvme/host/nvme.h +5 -0
index c3e4d9b6f9c0..1e56fe8e8157 100644

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

drivers/nvme/target/tcp.c +17 -3
index 7ce22d173fc7..116ae6fd35e2 100644

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

drivers/of/base.c +1 -0
index eb02974f36bd..0e428880d88b 100644

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

drivers/of/unittest-data/tests-phandle.dtsi +9 -1
index 6b33be4c4416..aa0d7027ffa6 100644

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

drivers/of/unittest.c +43 -31

74 lines not on this page · raw message

drivers/parport/parport_serial.c +64 -0

64 lines not on this page · raw message

drivers/pci/controller/dwc/pci-keystone.c +9 -0
index afaea201a5af..d3c3ca3ef4ba 100644

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

drivers/pci/quirks.c +6 -2
index 500905dad643..21661feeeeb6 100644

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

drivers/pinctrl/cirrus/Kconfig +2 -1
index 530426a74f75..b3cea8d56c4f 100644

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

drivers/power/supply/cw2015_battery.c +1 -1
index de1fa71be1e8..d1071dbb904e 100644

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

drivers/pwm/pwm-jz4740.c +4 -3
index 00c642fa2eed..db951a37c048 100644

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

drivers/pwm/pwm-stm32.c +29 -34

63 lines not on this page · raw message

drivers/reset/hisilicon/hi6220_reset.c +1 -1
index 19926506d033..2a7688fa9b9b 100644

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

drivers/s390/block/scm_blk.c +4 -3
index a4f6f2e62b1d..b5b36217b15e 100644

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

drivers/scsi/fnic/fnic_debugfs.c +2 -1
index 6c049360f136..56d52efc7314 100644

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

drivers/scsi/hisi_sas/hisi_sas_main.c +2 -2
index e5b9229310a0..8e5d23c6b8de 100644

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

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +1 -1
index 0d21c64efa81..f03a09c9e865 100644

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

drivers/spi/Kconfig +2 -1
index 5fd9b515f6f1..74ea6b6b5f74 100644

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

drivers/spi/spi-sh-msiof.c +17 -0
index b2579af0e3eb..35d30378256f 100644

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

drivers/staging/media/rkisp1/rkisp1-dev.c +2 -1
index 06de5540c8af..663b2efec9b0 100644

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

drivers/tty/serial/8250/8250_omap.c +1 -1
index bd4118f1b694..25765ebb756a 100644

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

drivers/tty/serial/imx.c +15 -14
index 164597e2e004..6e49928bb864 100644

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

drivers/tty/tty.h +1 -1
index 1908f27a795a..3d2d82ff6a03 100644

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

drivers/tty/tty_io.c +19 -16
index 094e82a12d29..984e3098e631 100644

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

drivers/tty/tty_ioctl.c +1 -1
index 68b07250dcb6..12a30329abdb 100644

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

drivers/uio/uio.c +3 -4
index be06f1a961c2..f453b3c7ee42 100644

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

drivers/usb/chipidea/core.c +7 -0
index 3d18599c5b9e..b8bb4cdadff8 100644

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

drivers/usb/class/cdc-acm.c +3 -0
index 070b838c7da9..4e4a71307d63 100644

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

drivers/usb/dwc3/core.c +1 -38
index 214a8ff2d69c..26f9928b972c 100644

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

drivers/usb/dwc3/ep0.c +4 -1
index 3cd294264372..14bdef97090b 100644

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

drivers/usb/mon/mon_bin.c +6 -1
index 094e812e9e69..35483217b1f6 100644

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

drivers/usb/phy/phy-mxs-usb.c +1 -2
index 70e23334b27f..e3cddcac3252 100644

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

drivers/usb/typec/class.c +3 -1
index 18b35e817361..7fa95e701244 100644

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

drivers/video/fbdev/core/fb_defio.c +1 -5
index a591d291b231..0708e214c5a3 100644

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

drivers/watchdog/bcm2835_wdt.c +2 -1
index dec6ca019bea..3a8dec05b591 100644

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

drivers/watchdog/hpwdt.c +1 -1
index 7d34bcf1c45b..53573c3ddd1a 100644

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

drivers/watchdog/rti_wdt.c +12 -1
index 46c2a4bd9ebe..daa00f3c5a6a 100644

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

drivers/watchdog/watchdog_dev.c +1 -2
index f37255cd75fd..24d0470af81c 100644

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

fs/debugfs/file.c +8 -0
index 42bab9270e7d..9c0aadedfbff 100644

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

fs/debugfs/inode.c +20 -7
index f47f0a7d2c3b..d04930c199cb 100644

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

fs/debugfs/internal.h +8 -2
index 92af8ae31313..f7c489b5a368 100644

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

fs/efivarfs/super.c +12 -0
index 15880a68faad..3626816b174a 100644

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

fs/f2fs/file.c +6 -1
index 4e6b93f16758..55818bd510fb 100644

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

fs/f2fs/namei.c +1 -1
index 72b109685db4..99e4ec48d2a4 100644

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

fs/f2fs/xattr.c +6 -0
index f44c60114379..dd50b747b671 100644

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

fs/gfs2/rgrp.c +12 -11
index c5bde789a16d..1ffdc4ad6246 100644

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

fs/jbd2/commit.c +1 -0
index fa24b407a9dc..db137671a41f 100644

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

fs/jbd2/journal.c +3 -1
index fee325d62bfd..effd837b8c1f 100644

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

fs/namespace.c +11 -0
index 046b084136c5..b020a12c53a2 100644

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

fs/nfs/blocklayout/blocklayout.c +2 -0
index 08108b6d2fa1..73000aa2d220 100644

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

fs/nfs/nfs4proc.c +3 -0
index f3f41027f697..7c3c96ed6085 100644

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

fs/pstore/ram_core.c +1 -1
index a0fa3820ef2a..5ac9b1f155a8 100644

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

include/crypto/if_alg.h +3 -0
index a5db86670bdf..a406e281ae57 100644

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

include/drm/drm_bridge.h +1 -1
index 055486e35e68..3826cf9553c0 100644

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

include/dt-bindings/clock/qcom,videocc-sm8150.h +4 -0
index e24ee840cfdb..c557b78dc572 100644

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

include/linux/clk-provider.h +23 -10
index aa8cbf882914..6fa85be64b89 100644

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

include/linux/dma-map-ops.h +3 -0
index a5f89fc4d6df..ba1d93c662c6 100644

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

include/linux/iio/adc/adi-axi-adc.h +4 -0
index c5d48e1c2d36..77b7f66e6fa8 100644

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

include/linux/of.h +140 -151

291 lines not on this page · raw message

include/linux/rcupdate.h +14 -0
index ef8d56b18da6..8716a1706351 100644

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

include/net/bluetooth/hci_core.h +0 -1
index a168a64696b6..33873266b2bc 100644

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

include/uapi/linux/bpf.h +3 -0
index 36ddfb98b70e..29cc0eb2e488 100644

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

include/uapi/linux/virtio_crypto.h +81 -1

82 lines not on this page · raw message

init/do_mounts.c +6 -3
index b5f9604d0c98..8ef154fb418c 100644

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

io_uring/io_uring.c +6 -3
index aa15e8d878a9..936abc6ee450 100644

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

kernel/bpf/lpm_trie.c +3 -0
index 00e32f2ec3e6..3c2d8722d45b 100644

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

kernel/bpf/stackmap.c +10 -1
index 0c5bf98d5576..b8afea2ceeeb 100644

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

kernel/bpf/verifier.c +5 -11
index 45c50ee9b037..fce2345f600f 100644

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

kernel/debug/kdb/kdb_main.c +0 -2
index 4e09fab52faf..c27b3dfa1921 100644

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

kernel/dma/coherent.c +10 -2
index 5b5b6c7ec7f2..49aaad3936f1 100644

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

kernel/kprobes.c +10 -13
index f1ea3123f383..05d3e156a7d6 100644

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

kernel/time/tick-sched.c +5 -0
index fc79b04b5947..bc00ab0118e6 100644

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

kernel/trace/ring_buffer.c +6 -0
index 5abe88091803..041b91c2ba10 100644

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

kernel/trace/trace.c +5 -1
index 0cbf833bebcc..548f694fc857 100644

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

kernel/trace/trace_output.c +4 -2
index 94b0991717b6..753b84c50848 100644

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

lib/idr.c +1 -1
index 13f2758c2377..da36054c3ca0 100644

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

lib/test_ida.c +40 -0
index b06880625961..55105baa19da 100644

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

net/bluetooth/hci_conn.c +3 -5
index 74721c3e49b3..52e512f41da3 100644

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

net/bluetooth/hci_debugfs.c +8 -4
index 338833f12365..d4efc4aa55af 100644

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

net/bluetooth/hci_event.c +2 -9
index ee2c1a17366a..4027c79786fd 100644

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

net/core/neighbour.c +8 -1
index 4c43183a8d93..432e3a64dc4a 100644

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

net/dns_resolver/dns_key.c +1 -1
index 8324e9f97066..26a9d8434c23 100644

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

net/ethtool/features.c +7 -2
index 1c9f4df273bd..faccab84d865 100644

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

net/ipv6/ip6_tunnel.c +13 -13
index a03a322e0cc1..edf4a842506f 100644

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

net/mptcp/options.c +1 -0
index 64afe71e2129..c389d7e47135 100644

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

net/ncsi/internal.h +6 -3
index e37102546be6..ec765f2a7569 100644

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

net/ncsi/ncsi-netlink.c +2 -2
index c189b4c8a182..db350b8f5d88 100644

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

net/ncsi/ncsi-pkt.h +5 -2
index 80938b338fee..3fbea7e74fb1 100644

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

net/ncsi/ncsi-rsp.c +24 -2
index 888ccc2d4e34..6a4638811660 100644

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

net/netfilter/ipvs/ip_vs_xmit.c +2 -2
index cd2130e98836..c87dbc897002 100644

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

net/netfilter/nf_tables_api.c +12 -3
index 4d1a009dab45..fca8f9a36063 100644

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

net/netlabel/netlabel_calipso.c +28 -24

52 lines not on this page · raw message

net/netlabel/netlabel_cipso_v4.c +2 -2
index f3f1df1b0f8e..894e6b8f1a86 100644

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

net/netlabel/netlabel_mgmt.c +4 -4
index 02a97bca1a1a..750a7a842ab9 100644

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

net/netlabel/netlabel_unlabeled.c +5 -5
index ccb491642811..3049fff0b7f8 100644

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

net/netlabel/netlabel_user.h +1 -3
index 3c67afce64f1..32d8f92c9a20 100644

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

net/qrtr/ns.c +3 -1
index 713e9940d88b..c92dd960bfef 100644

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

net/vmw_vsock/virtio_transport_common.c +10 -3
index 080e8f2bf985..4102689b3348 100644

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

security/apparmor/policy_unpack.c +4 -0
index 10896d69c442..6c2a536173b5 100644

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

security/selinux/hooks.c +7 -0
index ee37ce2e2619..f545321d96dc 100644

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

sound/pci/hda/patch_realtek.c +11 -0
index 99ba89723cd3..412fbe098e0c 100644

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

sound/pci/oxygen/oxygen_mixer.c +1 -1
index 46705ec77b48..eb3aca16359c 100644

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

sound/soc/atmel/sam9g20_wm8731.c +61 -0

61 lines not on this page · raw message

sound/soc/codecs/cs35l33.c +1 -3
index 8894369e329a..87b299d24bd8 100644

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

sound/soc/codecs/cs35l34.c +1 -3
index b792c006e530..d9f975b52b21 100644

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

sound/soc/codecs/cs43130.c +3 -3
index 8f70dee95878..02fb9317b697 100644

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

sound/soc/codecs/da7219-aad.c +1 -1
index b316d613a709..b6030709b6b6 100644

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

sound/soc/codecs/nau8822.c +6 -3
index d831959d8ff7..4ce15cd9ed02 100644

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

sound/soc/codecs/rt5645.c +9 -1
index 99d91bfb8812..7dc80183921e 100644

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

sound/soc/codecs/wm8974.c +3 -3
index c86231dfcf4f..600e93d61a90 100644

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

sound/soc/intel/skylake/skl-pcm.c +7 -2
index b531d9dfc2d6..935c871abdaa 100644

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

sound/soc/intel/skylake/skl-sst-ipc.c +3 -1
index 7a425271b08b..fd9624ad5f72 100644

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

tools/include/uapi/linux/bpf.h +3 -0
index fd1a4d843e6f..63ea5bc6f1c4 100644

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

tools/lib/api/io.h +1 -0
index 777c20f6b604..458acd294237 100644

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

tools/perf/util/bpf-event.c +4 -4
index 4eb02762104b..c50d2c7a264f 100644

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

tools/perf/util/bpf-event.h +6 -6
index 68f315c3df5b..50f7412464df 100644

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

tools/perf/util/env.c +32 -18

50 lines not on this page · raw message

tools/perf/util/env.h +4 -0
index 01378a955dd5..ef0fd544cd67 100644

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

tools/perf/util/genelf.c +3 -3
index 02cd9f75e3d2..89a85601485d 100644

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

tools/perf/util/header.c +4 -4
index dd06770b43f1..d2812d98968d 100644

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

tools/testing/selftests/drivers/net/mlxsw/qos_pfc.sh +28 -12
index 5c7700212f75..56761de1ca3b 100755

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

tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower.sh +105 -1

106 lines not on this page · raw message

tools/testing/selftests/net/fib_nexthop_multiprefix.sh +2 -2
index 51df5e305855..b52d59547fc5 100755

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

tools/testing/selftests/powerpc/math/fpu_preempt.c +5 -4
index 5235bdc8c0b1..3e5b5663d244 100644

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

tools/testing/selftests/powerpc/math/vmx_preempt.c +6 -4
index 6761d6ce30ec..6f7cf400c687 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.