Skip to contentSkip to conversation

Linux 5.4.198

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 14, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.198 kernel.

All users of the 5.4 kernel series must upgrade.

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

thanks,

greg k-h

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

 Documentation/ABI/testing/sysfs-ata                           |   11 
 Documentation/conf.py                                         |    2 
 Documentation/devicetree/bindings/gpio/gpio-altera.txt        |    5 
 Documentation/hwmon/hwmon-kernel-api.rst                      |    2 
 Makefile                                                      |    2 
 arch/arm/boot/dts/bcm2835-rpi-b.dts                           |   13 
 arch/arm/boot/dts/bcm2835-rpi-zero-w.dts                      |   22 -
 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts                    |    2 
 arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts                     |    4 
 arch/arm/boot/dts/exynos5250-smdk5250.dts                     |    4 
 arch/arm/boot/dts/ox820.dtsi                                  |    2 
 arch/arm/boot/dts/suniv-f1c100s.dtsi                          |    4 
 arch/arm/mach-hisi/platsmp.c                                  |    4 
 arch/arm/mach-mediatek/Kconfig                                |    1 
 arch/arm/mach-omap1/clock.c                                   |    2 
 arch/arm/mach-pxa/cm-x300.c                                   |    8 
 arch/arm/mach-pxa/magician.c                                  |    2 
 arch/arm/mach-pxa/tosa.c                                      |    4 
 arch/arm/mach-vexpress/dcscb.c                                |    1 
 arch/arm64/Kconfig.platforms                                  |    1 
 arch/arm64/boot/dts/qcom/ipq8074.dtsi                         |    2 
 arch/arm64/boot/dts/rockchip/rk3399.dtsi                      |    2 
 arch/arm64/kernel/sys_compat.c                                |    2 
 arch/arm64/net/bpf_jit_comp.c                                 |    1 
 arch/m68k/Kconfig.cpu                                         |    2 
 arch/m68k/Kconfig.machine                                     |    1 
 arch/m68k/include/asm/pgtable_no.h                            |    3 
 arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h       |    1 
 arch/mips/kernel/mips-cpc.c                                   |    1 
 arch/openrisc/include/asm/timex.h                             |    1 
 arch/openrisc/kernel/head.S                                   |    9 
 arch/powerpc/include/asm/page.h                               |    7 
 arch/powerpc/kernel/fadump.c                                  |    8 
 arch/powerpc/kernel/idle.c                                    |    2 
 arch/powerpc/kernel/ptrace.c                                  |   21 +
 arch/powerpc/perf/isa207-common.c                             |    3 
 arch/powerpc/platforms/4xx/cpm.c                              |    2 
 arch/powerpc/platforms/8xx/cpm1.c                             |    1 
 arch/powerpc/platforms/powernv/opal-fadump.c                  |   94 +++---
 arch/powerpc/platforms/powernv/opal-fadump.h                  |   10 
 arch/powerpc/platforms/powernv/ultravisor.c                   |    1 
 arch/powerpc/sysdev/dart_iommu.c                              |    6 
 arch/powerpc/sysdev/fsl_rio.c                                 |    2 
 arch/powerpc/sysdev/xics/icp-opal.c                           |    1 
 arch/s390/crypto/aes_s390.c                                   |    4 
 arch/s390/include/asm/preempt.h                               |   15 -
 arch/s390/mm/gmap.c                                           |   14 
 arch/um/drivers/chan_user.c                                   |    9 
 arch/um/include/asm/thread_info.h                             |    2 
 arch/um/kernel/exec.c                                         |    2 
 arch/um/kernel/process.c                                      |    2 
 arch/um/kernel/ptrace.c                                       |    8 
 arch/um/kernel/signal.c                                       |    4 
 arch/x86/entry/vdso/vma.c                                     |    2 
 arch/x86/events/amd/ibs.c                                     |   18 +
 arch/x86/events/intel/core.c                                  |    2 
 arch/x86/include/asm/acenv.h                                  |   14 
 arch/x86/include/asm/cpufeature.h                             |    2 
 arch/x86/include/asm/suspend_32.h                             |    2 
 arch/x86/include/asm/suspend_64.h                             |   12 
 arch/x86/kernel/apic/apic.c                                   |    2 
 arch/x86/kernel/cpu/intel.c                                   |    2 
 arch/x86/kernel/step.c                                        |    3 
 arch/x86/kernel/sys_x86_64.c                                  |    7 
 arch/x86/kvm/vmx/nested.c                                     |   15 -
 arch/x86/lib/delay.c                                          |    4 
 arch/x86/mm/pat.c                                             |    2 
 arch/x86/um/ldt.c                                             |    6 
 arch/xtensa/kernel/ptrace.c                                   |    4 
 arch/xtensa/kernel/signal.c                                   |    4 
 block/bfq-cgroup.c                                            |  111 ++++---
 block/bfq-iosched.c                                           |   46 +--
 block/bfq-iosched.h                                           |    6 
 block/bio.c                                                   |    2 
 block/blk-iolatency.c                                         |  122 ++++----
 crypto/cryptd.c                                               |   23 -
 drivers/acpi/property.c                                       |   18 -
 drivers/acpi/sleep.c                                          |   12 
 drivers/ata/libata-transport.c                                |    2 
 drivers/ata/pata_octeon_cf.c                                  |    3 
 drivers/base/bus.c                                            |    4 
 drivers/base/dd.c                                             |    5 
 drivers/base/node.c                                           |    1 
 drivers/block/drbd/drbd_main.c                                |   11 
 drivers/block/nbd.c                                           |   50 ++-
 drivers/block/virtio_blk.c                                    |    7 
 drivers/bus/ti-sysc.c                                         |    4 
 drivers/char/ipmi/ipmi_msghandler.c                           |    4 
 drivers/char/ipmi/ipmi_ssif.c                                 |   23 +
 drivers/clocksource/timer-oxnas-rps.c                         |    2 
 drivers/clocksource/timer-riscv.c                             |    2 
 drivers/clocksource/timer-sp804.c                             |   10 
 drivers/crypto/marvell/cipher.c                               |    1 
 drivers/devfreq/rk3399_dmc.c                                  |    2 
 drivers/dma/stm32-mdma.c                                      |   21 -
 drivers/dma/xilinx/zynqmp_dma.c                               |    5 
 drivers/extcon/extcon.c                                       |   29 +
 drivers/firmware/arm_scmi/base.c                              |    2 
 drivers/firmware/dmi-sysfs.c                                  |    2 
 drivers/firmware/stratix10-svc.c                              |   12 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                        |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c                     |    3 
 drivers/gpu/drm/amd/amdgpu/kv_dpm.c                           |   14 
 drivers/gpu/drm/amd/amdgpu/si_dpm.c                           |    8 
 drivers/gpu/drm/arm/display/komeda/komeda_plane.c             |   10 
 drivers/gpu/drm/arm/malidp_crtc.c                             |    5 
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c                  |    1 
 drivers/gpu/drm/bridge/analogix/analogix_dp_core.c            |   31 +-
 drivers/gpu/drm/drm_edid.c                                    |    6 
 drivers/gpu/drm/drm_plane.c                                   |   14 
 drivers/gpu/drm/etnaviv/etnaviv_mmu.c                         |    6 
 drivers/gpu/drm/gma500/psb_intel_display.c                    |    7 
 drivers/gpu/drm/imx/ipuv3-crtc.c                              |    2 
 drivers/gpu/drm/mediatek/mtk_cec.c                            |    2 
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c                         |    1 
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c                       |    4 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c                     |   14 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c                      |    6 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c                    |   15 -
 drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h                    |    4 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c                     |   15 -
 drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h                     |    2 
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c                    |   20 +
 drivers/gpu/drm/msm/dsi/dsi_host.c                            |   21 -
 drivers/gpu/drm/msm/hdmi/hdmi.c                               |   10 
 drivers/gpu/drm/msm/msm_gem_prime.c                           |    2 
 drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c                |    6 
 drivers/gpu/drm/radeon/radeon_connectors.c                    |    4 
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c                   |    2 
 drivers/gpu/drm/tilcdc/tilcdc_external.c                      |    8 
 drivers/gpu/drm/vc4/vc4_txp.c                                 |    8 
 drivers/gpu/drm/virtio/virtgpu_display.c                      |    2 
 drivers/hid/hid-bigbenff.c                                    |    6 
 drivers/hid/hid-elan.c                                        |    2 
 drivers/hid/hid-led.c                                         |    2 
 drivers/hwmon/hwmon.c                                         |   16 -
 drivers/hwtracing/coresight/coresight-cpu-debug.c             |    7 
 drivers/i2c/busses/i2c-at91-master.c                          |   11 
 drivers/i2c/busses/i2c-cadence.c                              |   12 
 drivers/iio/adc/ad7124.c                                      |    1 
 drivers/iio/adc/sc27xx_adc.c                                  |   20 -
 drivers/iio/adc/stmpe-adc.c                                   |    8 
 drivers/iio/common/st_sensors/st_sensors_core.c               |   24 +
 drivers/iio/dummy/iio_simple_dummy.c                          |   20 -
 drivers/infiniband/hw/hfi1/file_ops.c                         |    2 
 drivers/infiniband/hw/hfi1/init.c                             |    2 
 drivers/infiniband/hw/hfi1/sdma.c                             |   12 
 drivers/infiniband/sw/rdmavt/qp.c                             |    6 
 drivers/infiniband/sw/rxe/rxe_req.c                           |    2 
 drivers/input/misc/sparcspkr.c                                |    1 
 drivers/input/mouse/bcm5974.c                                 |    7 
 drivers/input/touchscreen/stmfts.c                            |   16 -
 drivers/iommu/amd_iommu_init.c                                |    2 
 drivers/iommu/msm_iommu.c                                     |   11 
 drivers/iommu/mtk_iommu.c                                     |    3 
 drivers/irqchip/irq-armada-370-xp.c                           |   11 
 drivers/irqchip/irq-aspeed-i2c-ic.c                           |    4 
 drivers/irqchip/irq-sni-exiu.c                                |   25 +
 drivers/irqchip/irq-xtensa-mx.c                               |   18 -
 drivers/macintosh/Kconfig                                     |    6 
 drivers/macintosh/Makefile                                    |    3 
 drivers/macintosh/via-pmu.c                                   |    2 
 drivers/mailbox/mailbox.c                                     |   19 -
 drivers/md/bcache/request.c                                   |    6 
 drivers/md/md-bitmap.c                                        |   44 +-
 drivers/md/md.c                                               |   33 +-
 drivers/md/raid0.c                                            |   31 +-
 drivers/media/cec/cec-adap.c                                  |    6 
 drivers/media/i2c/ov7670.c                                    |    1 
 drivers/media/pci/cx23885/cx23885-core.c                      |    6 
 drivers/media/pci/cx25821/cx25821-core.c                      |    2 
 drivers/media/platform/aspeed-video.c                         |    4 
 drivers/media/platform/coda/coda-common.c                     |   35 +-
 drivers/media/platform/exynos4-is/fimc-is.c                   |    2 
 drivers/media/platform/exynos4-is/fimc-isp-video.h            |    2 
 drivers/media/platform/qcom/venus/hfi.c                       |    3 
 drivers/media/platform/sti/delta/delta-v4l2.c                 |    6 
 drivers/media/platform/vsp1/vsp1_rpf.c                        |    6 
 drivers/media/usb/pvrusb2/pvrusb2-hdw.c                       |    7 
 drivers/media/usb/uvc/uvc_v4l2.c                              |   20 -
 drivers/mfd/davinci_voicecodec.c                              |    6 
 drivers/mfd/ipaq-micro.c                                      |    2 
 drivers/misc/cardreader/rtsx_usb.c                            |    1 
 drivers/misc/lkdtm/usercopy.c                                 |   17 -
 drivers/misc/ocxl/file.c                                      |    2 
 drivers/mmc/core/block.c                                      |    3 
 drivers/mmc/host/jz4740_mmc.c                                 |   20 +
 drivers/mtd/chips/cfi_cmdset_0002.c                           |  103 +++---
 drivers/mtd/ubi/vmt.c                                         |    1 
 drivers/net/can/xilinx_can.c                                  |    4 
 drivers/net/dsa/lantiq_gswip.c                                |    4 
 drivers/net/dsa/mv88e6xxx/chip.c                              |    1 
 drivers/net/ethernet/altera/altera_tse_main.c                 |    6 
 drivers/net/ethernet/broadcom/Makefile                        |    5 
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c                |    8 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                   |    3 
 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c               |    2 
 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c      |    7 
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c             |    5 
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c             |   45 ++-
 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c      |    9 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c            |   13 
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c          |    4 
 drivers/net/phy/mdio_bus.c                                    |    1 
 drivers/net/phy/micrel.c                                      |   11 
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c                |    2 
 drivers/net/wireless/ath/ath9k/ar9003_phy.h                   |    2 
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c                 |    8 
 drivers/net/wireless/ath/carl9170/tx.c                        |    3 
 drivers/net/wireless/broadcom/b43/phy_n.c                     |    2 
 drivers/net/wireless/broadcom/b43legacy/phy.c                 |    2 
 drivers/net/wireless/intel/ipw2x00/libipw_tx.c                |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/power.c                |    3 
 drivers/net/wireless/marvell/mwifiex/11h.c                    |    2 
 drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c            |    8 
 drivers/net/wireless/realtek/rtlwifi/usb.c                    |    2 
 drivers/nfc/st21nfca/se.c                                     |   32 +-
 drivers/nfc/st21nfca/st21nfca.h                               |    1 
 drivers/nvdimm/security.c                                     |    5 
 drivers/nvme/host/pci.c                                       |    1 
 drivers/of/overlay.c                                          |    4 
 drivers/pci/controller/dwc/pci-imx6.c                         |   23 -
 drivers/pci/controller/dwc/pcie-qcom.c                        |    9 
 drivers/pci/controller/pcie-cadence-ep.c                      |    3 
 drivers/pci/controller/pcie-rockchip-ep.c                     |    3 
 drivers/pci/pci.c                                             |   12 
 drivers/pcmcia/Kconfig                                        |    2 
 drivers/phy/qualcomm/phy-qcom-qmp.c                           |   13 
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c                   |    2 
 drivers/pwm/pwm-lp3943.c                                      |    1 
 drivers/regulator/core.c                                      |    7 
 drivers/regulator/pfuze100-regulator.c                        |    2 
 drivers/rpmsg/qcom_smd.c                                      |    4 
 drivers/rtc/rtc-mt6397.c                                      |    2 
 drivers/scsi/dc395x.c                                         |   15 -
 drivers/scsi/fcoe/fcoe_ctlr.c                                 |    2 
 drivers/scsi/megaraid.c                                       |    2 
 drivers/scsi/myrb.c                                           |   11 
 drivers/scsi/ufs/ufs-qcom.c                                   |    7 
 drivers/scsi/ufs/ufshcd.c                                     |    7 
 drivers/soc/qcom/smp2p.c                                      |    1 
 drivers/soc/qcom/smsm.c                                       |    1 
 drivers/soc/rockchip/grf.c                                    |    2 
 drivers/spi/spi-img-spfi.c                                    |    2 
 drivers/spi/spi-rspi.c                                        |   15 -
 drivers/spi/spi-stm32-qspi.c                                  |    3 
 drivers/spi/spi-ti-qspi.c                                     |    5 
 drivers/staging/fieldbus/anybuss/host.c                       |    2 
 drivers/staging/greybus/audio_codec.c                         |    4 
 drivers/staging/rtl8192e/rtllib_softmac.c                     |    2 
 drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c        |    2 
 drivers/staging/rtl8712/usb_intf.c                            |    6 
 drivers/staging/rtl8712/usb_ops.c                             |   27 +
 drivers/thermal/broadcom/sr-thermal.c                         |    3 
 drivers/tty/goldfish.c                                        |    2 
 drivers/tty/serial/8250/8250_fintek.c                         |    8 
 drivers/tty/serial/digicolor-usart.c                          |    2 
 drivers/tty/serial/fsl_lpuart.c                               |   24 -
 drivers/tty/serial/icom.c                                     |    2 
 drivers/tty/serial/meson_uart.c                               |   13 
 drivers/tty/serial/msm_serial.c                               |    5 
 drivers/tty/serial/owl-uart.c                                 |    1 
 drivers/tty/serial/pch_uart.c                                 |   27 -
 drivers/tty/serial/rda-uart.c                                 |    2 
 drivers/tty/serial/sa1100.c                                   |    4 
 drivers/tty/serial/serial_txx9.c                              |    2 
 drivers/tty/serial/sh-sci.c                                   |    6 
 drivers/tty/serial/sifive.c                                   |    8 
 drivers/tty/serial/st-asc.c                                   |    4 
 drivers/tty/serial/stm32-usart.c                              |   15 -
 drivers/tty/synclink_gt.c                                     |    2 
 drivers/tty/tty_buffer.c                                      |    3 
 drivers/usb/core/hcd-pci.c                                    |    4 
 drivers/usb/core/hcd.c                                        |   29 +
 drivers/usb/core/quirks.c                                     |    3 
 drivers/usb/dwc2/gadget.c                                     |    1 
 drivers/usb/dwc3/dwc3-pci.c                                   |    2 
 drivers/usb/host/isp116x-hcd.c                                |    6 
 drivers/usb/host/oxu210hp-hcd.c                               |    2 
 drivers/usb/musb/omap2430.c                                   |    1 
 drivers/usb/serial/option.c                                   |    2 
 drivers/usb/storage/karma.c                                   |   15 -
 drivers/usb/usbip/stub_dev.c                                  |    2 
 drivers/usb/usbip/stub_rx.c                                   |    2 
 drivers/vhost/vringh.c                                        |   10 
 drivers/video/fbdev/amba-clcd.c                               |    5 
 drivers/video/fbdev/core/fbcon.c                              |    5 
 drivers/video/fbdev/pxa3xx-gcu.c                              |   12 
 drivers/watchdog/ts4800_wdt.c                                 |    5 
 drivers/watchdog/wdat_wdt.c                                   |    1 
 drivers/xen/xlate_mmu.c                                       |    1 
 fs/afs/dir.c                                                  |    5 
 fs/binfmt_flat.c                                              |   27 +
 fs/btrfs/disk-io.c                                            |    4 
 fs/btrfs/volumes.c                                            |    8 
 fs/ceph/xattr.c                                               |   10 
 fs/cifs/cifsglob.h                                            |    4 
 fs/cifs/smb2ops.c                                             |    7 
 fs/cifs/smb2pdu.c                                             |    3 
 fs/dax.c                                                      |    3 
 fs/dlm/lock.c                                                 |   11 
 fs/dlm/plock.c                                                |   12 
 fs/ext4/inline.c                                              |   12 
 fs/ext4/inode.c                                               |    4 
 fs/ext4/namei.c                                               |   84 ++++-
 fs/ext4/super.c                                               |    1 
 fs/f2fs/checkpoint.c                                          |    4 
 fs/f2fs/f2fs.h                                                |   14 
 fs/f2fs/file.c                                                |   20 +
 fs/f2fs/inode.c                                               |   16 +
 fs/f2fs/segment.c                                             |    9 
 fs/f2fs/segment.h                                             |   32 +-
 fs/f2fs/super.c                                               |    6 
 fs/fat/fatent.c                                               |    7 
 fs/fs-writeback.c                                             |   13 
 fs/iomap/buffered-io.c                                        |    3 
 fs/jffs2/fs.c                                                 |    1 
 fs/jfs/jfs_dmap.c                                             |    3 
 fs/kernfs/dir.c                                               |   31 +-
 fs/nfs/file.c                                                 |    7 
 fs/nfs/nfs4proc.c                                             |    4 
 fs/nfs/pnfs.c                                                 |    2 
 fs/nfs/write.c                                                |   11 
 fs/notify/fdinfo.c                                            |   11 
 fs/notify/inotify/inotify.h                                   |   12 
 fs/notify/inotify/inotify_user.c                              |    2 
 fs/notify/mark.c                                              |    6 
 fs/ocfs2/dlmfs/userdlm.c                                      |   16 +
 fs/proc/generic.c                                             |    3 
 fs/proc/proc_net.c                                            |    3 
 include/drm/drm_edid.h                                        |    6 
 include/linux/bpf.h                                           |    2 
 include/linux/efi.h                                           |    2 
 include/linux/iio/common/st_sensors.h                         |    3 
 include/linux/mailbox_controller.h                            |    1 
 include/linux/mtd/cfi.h                                       |    1 
 include/linux/nodemask.h                                      |   51 +--
 include/linux/ptrace.h                                        |    7 
 include/linux/usb/hcd.h                                       |    2 
 include/net/if_inet6.h                                        |    8 
 include/net/sch_generic.h                                     |   42 --
 include/scsi/libfcoe.h                                        |    3 
 include/sound/jack.h                                          |    1 
 include/trace/events/rxrpc.h                                  |    2 
 include/trace/events/vmscan.h                                 |    4 
 init/Kconfig                                                  |    9 
 ipc/mqueue.c                                                  |   14 
 kernel/bpf/stackmap.c                                         |    1 
 kernel/dma/debug.c                                            |    2 
 kernel/ptrace.c                                               |    5 
 kernel/sched/fair.c                                           |    8 
 kernel/sched/pelt.h                                           |    4 
 kernel/sched/sched.h                                          |    4 
 kernel/trace/trace.c                                          |   13 
 kernel/trace/trace_events_hist.c                              |    3 
 lib/nodemask.c                                                |    4 
 mm/compaction.c                                               |    2 
 mm/hugetlb.c                                                  |    9 
 net/bluetooth/sco.c                                           |   21 -
 net/ipv4/ip_gre.c                                             |   11 
 net/ipv4/tcp_input.c                                          |   11 
 net/ipv4/tcp_output.c                                         |    4 
 net/ipv4/xfrm4_protocol.c                                     |    1 
 net/ipv6/addrconf.c                                           |   33 +-
 net/ipv6/seg6_hmac.c                                          |    1 
 net/key/af_key.c                                              |   10 
 net/mac80211/chan.c                                           |    7 
 net/mac80211/ieee80211_i.h                                    |    5 
 net/mac80211/scan.c                                           |   20 +
 net/netfilter/nf_tables_api.c                                 |   22 +
 net/netfilter/nft_dynset.c                                    |    3 
 net/netfilter/nft_nat.c                                       |    3 
 net/nfc/core.c                                                |    1 
 net/rxrpc/ar-internal.h                                       |   13 
 net/rxrpc/call_event.c                                        |    3 
 net/rxrpc/input.c                                             |   31 +-
 net/rxrpc/output.c                                            |   20 -
 net/rxrpc/recvmsg.c                                           |    8 
 net/rxrpc/sendmsg.c                                           |    6 
 net/rxrpc/sysctl.c                                            |    4 
 net/sctp/input.c                                              |    4 
 net/smc/af_smc.c                                              |    2 
 net/sunrpc/xdr.c                                              |    6 
 net/sunrpc/xprtrdma/rpc_rdma.c                                |    5 
 net/tipc/bearer.c                                             |    3 
 net/unix/af_unix.c                                            |    2 
 net/wireless/nl80211.c                                        |    1 
 scripts/faddr2line                                            |  150 ++++++----
 scripts/gdb/linux/config.py                                   |    6 
 scripts/mod/modpost.c                                         |    5 
 security/integrity/platform_certs/keyring_handler.h           |    8 
 security/integrity/platform_certs/load_uefi.c                 |   33 ++
 sound/core/jack.c                                             |   34 +-
 sound/pci/hda/patch_conexant.c                                |    7 
 sound/pci/hda/patch_realtek.c                                 |   10 
 sound/soc/codecs/Kconfig                                      |    1 
 sound/soc/codecs/rk3328_codec.c                               |    2 
 sound/soc/codecs/rt5514.c                                     |    2 
 sound/soc/codecs/rt5645.c                                     |    7 
 sound/soc/codecs/tscs454.c                                    |   12 
 sound/soc/codecs/wm2000.c                                     |    6 
 sound/soc/fsl/fsl_sai.h                                       |    4 
 sound/soc/fsl/imx-sgtl5000.c                                  |   14 
 sound/soc/mediatek/mt2701/mt2701-wm8960.c                     |    9 
 sound/soc/mediatek/mt8173/mt8173-max98090.c                   |    5 
 sound/soc/mxs/mxs-saif.c                                      |    1 
 sound/soc/soc-dapm.c                                          |    2 
 tools/perf/builtin-c2c.c                                      |   10 
 tools/perf/pmu-events/jevents.c                               |    2 
 tools/perf/util/data.h                                        |    1 
 tools/power/x86/turbostat/turbostat.c                         |    1 
 tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c |    2 
 tools/testing/selftests/netfilter/nft_nat.sh                  |   43 ++
 413 files changed, 2500 insertions(+), 1316 deletions(-)

Aditya Garg (1):
efi: Do not import certificates from UEFI Secure Boot for T2 Macs

Adrian Hunter (1):
mmc: block: Fix CQE recovery reset success

Aidan MacDonald (1):
mmc: jz4740: Apply DMA engine limits to maximum segment size

Akira Yokosawa (1):
docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0

Alexander Aring (2):
dlm: fix plock invalid read
dlm: fix missing lkb refcount handling

Alexander Lobakin (1):
modpost: fix removing numeric suffixes

Alexander Wetzel (1):
rtl818x: Prevent using not initialized queues

Alexandru Elisei (1):
arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall

Alexandru Tachici (1):
iio: adc: ad7124: Remove shift from scan_type

Alexey Dobriyan (1):

      proc: fix dentry/inode overinstantiating under /proc/${pid}/net

Alice Wong (1):
drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo

Amadeusz Sławiński (1):
ALSA: jack: Access input_dev under mutex

Amelie Delaunay (1):
dmaengine: stm32-mdma: remove GISR1 register

Amir Goldstein (2):
inotify: show inotify mask flags in proc fdinfo
fsnotify: fix wrong lockdep annotations

Ammar Faizi (1):
x86/delay: Fix the wrong asm constraint in delay_loop()

Andre Przywara (2):
ARM: dts: suniv: F1C100: fix watchdog compatible clocksource/drivers/sp804: Avoid error on multiple instances

Andreas Gruenbacher (1):
iomap: iomap_write_failed fix

Arnd Bergmann (2):
drbd: fix duplicate array initializer
ARM: pxa: maybe fix gpio lookup tables

Baokun Li (1):
jffs2: fix memory leak in jffs2_do_fill_super

Biju Das (1):
spi: spi-rspi: Remove setting {src,dst}_{addr,addr_width} based on DMA direction

Bjorn Helgaas (1):

      PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299

Björn Ardö (1):
mailbox: forward the hrtimer if not queued and under a lock

Brian Norris (2):
PM / devfreq: rk3399_dmc: Disable edev on remove() drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX

Carl Yin(殷张成) (1):
USB: serial: option: add Quectel BG95 modem

Chao Yu (5):
f2fs: fix to avoid f2fs_bug_on() in dec_valid_node_count()
f2fs: fix to do sanity check on block address in f2fs_do_zero_range()
f2fs: fix to clear dirty inode in f2fs_evict_inode()
f2fs: fix deadloop in foreground GC
f2fs: fix fallocate to use file_modified to update permissions consistently

Charles Keepax (1):
ASoC: tscs454: Add endianness flag in snd_soc_component_driver

Chengming Zhou (1):
sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq

Christian Borntraeger (1):
s390/gmap: voluntarily schedule during key setting

Christoph Hellwig (1):
virtio_blk: fix the discard_granularity and discard_alignment queue limits

Christophe JAILLET (2):
media: aspeed: Fix an error handling path in aspeed_video_probe()
staging: fieldbus: Fix the error handling path in anybuss_host_common_probe()

Christophe de Dinechin (1):
nodemask.h: fix compilation error with GCC12

Chuanhong Guo (1):
arm: mediatek: select arch timer for mt7629

Chuck Lever (1):

      SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()

Cixi Geng (2):
iio: adc: sc27xx: fix read big scale voltage not right
iio: adc: sc27xx: Fine tune the scale calibration values

Corentin Labbe (1):
crypto: marvell/cesa - ECB does not IV

Corey Minyard (2):
ipmi:ssif: Check for NULL msg when handling events and messages
ipmi: Fix pr_fmt to avoid compilation issues

Cristian Marussi (1):
firmware: arm_scmi: Fix list protocols enumeration in the base protocol

Dan Carpenter (5):
ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
PCI: cadence: Fix find_first_zero_bit() limit
PCI: rockchip: Fix find_first_zero_bit() limit
net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()

Dan Williams (1):
nvdimm: Allow overwrite in the presence of disabled dimms

Daniel Thompson (1):
irqchip/exiu: Fix acknowledgment of edge triggered interrupts

Daniel Vetter (1):
fbcon: Consistently protect deferred_takeover with console_lock()

Dave Airlie (1):
drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.

David Howells (7):
rxrpc: Return an error to sendmsg if call failed
rxrpc: Fix listen() setting the bar too high for the prealloc rings
rxrpc: Don't try to resend the request if we're receiving the reply
rxrpc: Fix overlapping ACK accounting
rxrpc: Don't let ack.previousPacket regress
rxrpc: Fix decision on when to generate an IDLE ACK
afs: Fix infinite loop found by xfstest generic/676

Dennis Dalessandro (1):
RDMA/hfi1: Fix potential integer multiplication overflow errors

Dinh Nguyen (1):
dt-bindings: gpio: altera: correct interrupt-cells

Dmitry Baryshkov (1):
drm/msm/dsi: fix error checks and return values for DSI xmit functions

Dmitry Torokhov (1):
Input: stmfts - do not leave device disabled in stmfts_input_open

Dongliang Mu (4):
HID: bigben: fix slab-out-of-bounds Write in bigben_probe
rtlwifi: Use pr_warn instead of WARN_ONCE
media: ov7670: remove ov7670_power_off from ov7670_remove
f2fs: remove WARN_ON in f2fs_is_valid_blkaddr

Douglas Miller (2):
RDMA/hfi1: Prevent panic when SDMA is disabled RDMA/hfi1: Prevent use of lock before it is initialized

Duoming Zhou (5):
NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
drivers: tty: serial: Fix deadlock in sa1100_set_termios()
drivers: usb: host: Fix deadlock in oxu_bus_suspend()

Emmanuel Grumbach (1):
iwlwifi: mvm: fix assert 1F04 upon reconfig

Eric Biggers (1):
ext4: reject the 'commit' option on ext2 filesystems

Eric Dumazet (4):
sctp: read sk->sk_bound_dev_if once in sctp_rcv()
tcp: tcp_rtx_synack() can be called from process context bpf, arm64: Clear prog->jited_len along prog->jited
tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd

Eric W. Biederman (3):
ptrace/um: Replace PT_DTRACE with TIF_SINGLESTEP ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
ptrace: Reimplement PTRACE_KILL by always sending SIGKILL

Evan Green (1):
USB: hcd-pci: Fully suspend across freeze/thaw cycle

Evan Quan (1):
drm/amd/pm: fix the compile warning

Fabio Estevam (1):
net: phy: micrel: Allow probing without .driver_data

Felix Fietkau (1):
mac80211: upgrade passive scan to active scan on DFS channels after beacon rx

Feras Daoud (1):
net/mlx5: Rearm the FW tracer after each tracer event

Finn Thain (1):
macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled

Florian Westphal (1):
netfilter: nat: really support inet nat without l3 address

Francesco Dolcini (1):
PCI: imx6: Fix PERST# start-up sequence

Gal Pressman (1):
net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure

Geert Uytterhoeven (1):
m68k: math-emu: Fix dependencies of math emulation support

Gong Yuanjun (2):
mips: cpc: Fix refcount leak in mips_cpc_default_phys_base drm/radeon: fix a possible null pointer dereference

Greg Kroah-Hartman (1):

      Linux 5.4.198

Greg Ungerer (2):
m68knommu: set ZERO_PAGE() to the allocated zeroed page
m68knommu: fix undefined reference to `_init_sp'

Guenter Roeck (1):
hwmon: Make chip parameter for with_info API mandatory

Guilherme G. Piccoli (1):
coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier

Guoju Fang (1):
net: sched: add barrier to fix packet stuck problem for lockless qdisc

Guoqing Jiang (1):
md: protect md_unregister_thread from reentrancy

Gustavo A. R. Silva (1):
scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()

Hangyu Hua (3):
drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
misc: ocxl: fix possible double free in ocxl_file_register_afu
usb: usbip: fix a refcount leak in stub_probe()

Hannes Reinecke (1):
scsi: myrb: Fix up null pointer access on myrb_cleanup()

Hans Verkuil (1):
media: cec-adap.c: fix is_configuring state

Hao Luo (1):
kernfs: Separate kernfs_pr_cont_buf and rename_lock.

Haowen Bai (3):
b43legacy: Fix assigning negative value to unsigned variable
b43: Fix assigning negative value to unsigned variable
ipw2x00: Fix potential NULL dereference in libipw_xmit()

Hari Bathini (2):
powerpc/fadump: Fix fadump to work with a different endian capture kernel powerpc/fadump: fix PT_LOAD segment for boot memory area

Heiko Carstens (1):
s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES

Heming Zhao (1):
md/bitmap: don't set sb values if can't pass sanity check

Hoang Le (1):
tipc: check attribute length for bearer name

Huang Guobin (1):
tty: Fix a possible resource leak in icom_probe

Ilpo Järvinen (8):
serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
serial: digicolor-usart: Don't allow CS5-6
serial: rda-uart: Don't allow CS5-6
serial: txx9: Don't allow CS5-6
serial: sh-sci: Don't allow CS5-6
serial: sifive: Sanitize CSIZE and c_iflag
serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
serial: stm32-usart: Correct CSIZE, bits, and parity

Jaegeuk Kim (1):
f2fs: don't need inode lock for system hidden quota

Jakob Koschel (2):
f2fs: fix dereference of stale list iterator after loop body
staging: greybus: codecs: fix type confusion of list iterator variable

Jakub Kicinski (1):
eth: tg3: silence the GCC 12 array-bounds warning

Jan Kara (11):
bfq: Split shared queues on move between cgroups
bfq: Update cgroup information before merging bio
bfq: Track whether bfq_group is still online
ext4: verify dir block before splitting it
ext4: avoid cycles in directory h-tree
bfq: Avoid merging queues with different parents
bfq: Drop pointless unlock-lock pair
bfq: Remove pointless bfq_init_rq() calls
bfq: Get rid of __bio_blkcg() usage
bfq: Make sure bfqg for which we are queueing requests is online
block: fix bio_clone_blkg_association() to associate with proper blkcg_gq

Jan Kiszka (1):
efi: Add missing prototype for efi_capsule_setup_info

Jani Nikula (1):
drm/edid: fix invalid EDID extension block filtering

Jann Horn (1):
s390/crypto: fix scatterwalk_unmap() callers in AES-GCM

Janusz Krzysztofik (1):
ARM: OMAP1: clock: Fix UART rate reporting algorithm

Jason A. Donenfeld (1):
openrisc: start CPU timer early in boot

Jessica Zhang (2):
drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected

Jia-Ju Bai (1):
md: bcache: check the return value of kzalloc() in detached_dev_do_request()

Jiasheng Jiang (1):
drm: mali-dp: potential dereference of null pointer

Jiri Slaby (1):

      serial: pch: don't overwrite xmit->buf[0] by x_char

Joerg Roedel (1):
iommu/amd: Increase timeout waiting for GA log enablement

Johan Hovold (5):
PCI: qcom: Fix runtime PM imbalance on probe errors
PCI: qcom: Fix unbalanced PHY init on probe errors
phy: qcom-qmp: fix struct clk leak on probe errors
phy: qcom-qmp: fix reset-controller leak on probe errors
phy: qcom-qmp: fix pipe-clock imbalance on power-on failure

Johannes Berg (3):
nl80211: show SSID for P2P_GO interfaces
wifi: mac80211: fix use-after-free in chanctx code
um: chan_user: Fix winch_tramp() return value

John Ogness (2):
serial: meson: acquire port->lock in startup()
serial: msm_serial: disable interrupts in __msm_console_write()

Jonathan Teh (1):
HID: hid-led: fix maximum brightness for Dream Cheeky

Josh Poimboeuf (2):
x86/speculation: Add missing prototype for unpriv_ebpf_notify() scripts/faddr2line: Fix overlapping text section failures

Jun Miao (1):
tracing: Fix sleeping function called from invalid context on RT kernel

Junxiao Bi via Ocfs2-devel (1):
ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock

Kajol Jain (1):
powerpc/perf: Fix the threshold compare group constraint for power9

Kan Liang (1):
perf/x86/intel: Fix event constraints for ICL

Kathiravan T (1):
arm64: dts: qcom: ipq8074: fix the sleep clock frequency

Kees Cook (2):
lkdtm/usercopy: Expand size of "out of frame" object
nodemask: Fix return values to be unsigned

Keita Suzuki (2):
drm/amd/pm: fix double free in si_parse_power_table()
tracing: Fix potential double free in create_var_ref()

Kinglong Mee (1):
xprtrdma: treat all calls not a bcall when bc_serv is NULL

Kirill A. Shutemov (1):
ACPICA: Avoid cache flush inside virtual machines

Kishon Vijay Abraham I (1):
usb: core: hcd: Add support for deferring roothub registration

Kiwoong Kim (1):
scsi: ufs: core: Exclude UECxx from SFR dump list

Krzysztof Kozlowski (7):
ARM: dts: ox820: align interrupt controller node name with dtschema
ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
pinctrl: mvebu: Fix irq_of_parse_and_map() return value
rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value

Kuan-Ying Lee (1):
scripts/gdb: change kernel config dumping method

Kuniyuki Iwashima (1):
af_unix: Fix a data-race in unix_dgram_peer_wake_me().

Kwanghoon Son (1):
media: exynos4-is: Fix compile warning

Len Brown (1):
tools/power turbostat: fix ICX DRAM power numbers

Leo Yan (2):
perf c2c: Use stdio interface if slang is not supported perf c2c: Fix sorting in percent_rmt_hitm_cmp()

Leon Romanovsky (1):
net/mlx5: Don't use already freed action pointer

Lin Ma (3):
ASoC: rt5645: Fix errorenous cleanup order
NFC: NULL out the dev->rfkill to prevent UAF
USB: storage: karma: fix rio_karma_init return

Linus Torvalds (2):
drm: fix EDID struct for old ARM OABI format
drm: imx: fix compiler warning with gcc-12

Liu Xinpeng (1):
watchdog: wdat_wdt: Stop watchdog when rebooting the system

Liu Zixian (1):
drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes

Liviu Dudau (1):
drm/komeda: return early if drm_universal_plane_init() fails.

Luca Weiss (1):
media: venus: hfi: avoid null dereference in deinit

Lucas Stach (2):
drm/bridge: adv7511: clean up CEC adapter when probe fails drm/etnaviv: check for reaped mapping in etnaviv_iommu_unmap_gem

Lucas Tanure (1):
i2c: cadence: Increase timeout per message if necessary

Lv Ruyi (6):
scsi: megaraid: Fix error check return value of register_chrdev()
drm: msm: fix error check return value of irq_of_parse_and_map() powerpc/xics: fix refcount leak in icp_opal_init() powerpc/powernv: fix missing of_node_put in uv_init() drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
mfd: ipaq-micro: Fix error check return value of platform_get_irq()

Maciej W. Rozycki (2):
MIPS: IP27: Remove incorrect `cpu_has_fpu' override
serial: sifive: Report actual baud base rather than fixed 115200

Manivannan Sadhasivam (1):
scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled

Marc Kleine-Budde (1):
can: xilinx_can: mark bit timing constants as const

Marek Szyprowski (1):

      usb: dwc2: gadget: don't reset gadget's driver->bus

Mario Limonciello (1):
ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default

Marios Levogiannis (1):
ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS

Mark Bloch (2):
net/mlx5: fs, delete the FTE when there are no rules attached to it net/mlx5: fs, fail conflicting actions

Mark Brown (2):
ASoC: dapm: Don't fold register value changes into notifications
ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control

Mark-PK Tsai (1):
tracing: Avoid adding tracer option before update_tracer_options

Martin Faltesek (2):
nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling

Masahiro Yamada (5):
xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
net: mdio: unexport __init-annotated mdio_bus_init()
net: xfrm: unexport __init-annotated xfrm4_protocol_init()
net: ipv6: unexport __init-annotated seg6_hmac_init()
modpost: fix undefined behavior of is_arm_mapping_symbol()

Mathias Nyman (1):
Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag

Matthieu Baerts (1):
x86/pm: Fix false positive kmemleak report in msr_build_context()

Max Filippov (1):
irqchip: irq-xtensa-mx: fix initial IRQ affinity

Maxim Mikityanskiy (1):
net/mlx5e: Update netdev features after changing XDP state

Maxime Ripard (2):
drm/vc4: txp: Don't set TXP_VSTART_AT_EOF drm/vc4: txp: Force alpha to be 0xff if it's disabled

Miaohe Lin (1):
drivers/base/node.c: fix compaction sysfs file leak

Miaoqian Lin (26):
ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
HID: elan: Fix potential double free in elan_input_configured drm/bridge: Fix error handling in analogix_dp_probe
ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe
ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
media: st-delta: Fix PM disable depth imbalance in delta_probe
media: exynos4-is: Change clk_disable to clk_disable_unprepare drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init
soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
Input: sparcspkr - fix refcount leak in bbc_beep_probe powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
usb: musb: Fix missing of_node_put() in omap2430_probe
iio: adc: stmpe-adc: Fix wait_for_completion_timeout return value check
soc: rockchip: Fix refcount leak in rockchip_grf_init
firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe
net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list
net: altera: Fix refcount leak in altera_tse_mdio_create

Michael Ellerman (2):
powerpc/64: Only WARN if __pa()/__va() called with bad addresses powerpc/32: Fix overread/overwrite of thread_struct via ptrace

Michael Rodin (1):
media: vsp1: Fix offset calculation for plane cropping

Michael Walle (1):
i2c: at91: use dma safe buffers

Michal Kubecek (1):
Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"

Mike Kravetz (1):
hugetlb: fix huge_pmd_unshare address update

Mikulas Patocka (1):
dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC

Miles Chen (1):
drm/mediatek: Fix mtk_cec_mask()

Miquel Raynal (1):
iio: st_sensors: Add a local lock for protecting odr

Monish Kumar R (1):
USB: new quirk for Dell Gen 2 devices

Muchun Song (1):
dax: fix cache flush on PMD-mapped pages

Nathan Chancellor (1):
i2c: at91: Initialize dma_buf in at91_twi_xfer()

Nick Desaulniers (1):
Kconfig: add config option for asm goto w/ outputs

Nicolas Dufresne (2):
media: coda: Fix reported H264 profile
media: coda: Add more H264 levels for CODA960

Nicolas Frattaroli (1):
ASoC: rk3328: fix disabling mclk on pclk probe failure

Niels Dossche (4):
mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
ipv6: fix locking issues with loops over idev->addr_list IB/rdmavt: add missing locks in rvt_ruc_loopback
usb: usbip: add missing device lock on tweak configuration cmd

Niklas Cassel (1):
binfmt_flat: do not stop relocating GOT entries prematurely on riscv

Nuno Sá (1):

      of: overlay: do not break notify on NOTIFY_{OK|STOP}

OGAWA Hirofumi (1):
fat: add ratelimit to fat*_ent_bread()

Olivier Matz (2):
ixgbe: fix bcast packets Rx on VF after promisc removal
ixgbe: fix unexpected VLAN Rx in promisc mode on VF

Pablo Neira Ayuso (2):
netfilter: nf_tables: disallow non-stateful expression in sets earlier
netfilter: nf_tables: memleak flow rule from commit path

Pali Rohár (1):
irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x

Pascal Hambourg (1):
md/raid0: Ignore RAID0 layout if the second zone has only one device

Patrice Chotard (1):
spi: stm32-qspi: Fix wait_cmd timeout in APM mode

Pavel Skripkin (1):
media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init

Peng Wu (3):
ARM: versatile: Add missing of_node_put in dcscb_init
ARM: hisi: Add missing of_node_put after of_find_compatible_node powerpc/iommu: Add missing of_node_put in iommu_init_early_dart

Peter Zijlstra (1):
x86/cpu: Elide KCSAN for cpu_has() and friends

Petr Machata (1):
mlxsw: spectrum_dcb: Do not warn about priority changes

Phil Elwell (3):
ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
ARM: dts: bcm2837-rpi-cm3-io3: Fix GPIO line names for SMPS I2C
ARM: dts: bcm2837-rpi-3-b-plus: Fix GPIO line name of power LED

Philipp Zabel (1):
media: coda: limit frame interval enumeration to supported encoder frame sizes

Pierre-Louis Bossart (1):
ASoC: max98357a: remove dependency on GPIOLIB

Qi Zheng (1):

      tty: fix deadlock caused by calling printk() under tty_port->lock

Qu Wenruo (2):
btrfs: add "0x" prefix for unsupported optional features
btrfs: repair super block num_devices automatically

Radhey Shyam Pandey (1):
dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type

Randy Dunlap (7):
x86: Fix return value of __setup handlers
x86/mm: Cleanup the control_va_addr_alignment() __setup handler powerpc/8xx: export 'cpm_setbrg' for modules powerpc/idle: Fix return value of __setup() handler powerpc/4xx/cpm: Fix return value of __setup() handler
macintosh: via-pmu and via-cuda need RTC_LIB
pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards

Ravi Bangoria (1):
perf/amd/ibs: Use interrupt regs ip for stack unwinding

Rei Yamamoto (1):
mm, compaction: fast_find_migrateblock() should return pfn in the target zone

Sakari Ailus (1):
ACPI: property: Release subnode properties with data nodes

Samuel Holland (1):
clocksource/drivers/riscv: Events are stopped during CPU suspend

Schspa Shi (2):
cpufreq: Fix possible race in cpufreq online error path
driver: base: fix UAF when driver_attach failed

Sean Christopherson (2):
KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry
Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug

Sebastian Andrzej Siewior (1):
crypto: cryptd - Protect per-CPU resource by disabling BH.

Sergey Shtylyov (1):
ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files

Shawn Lin (1):
arm64: dts: rockchip: Move drive-impedance-ohm to emmc phy on rk3399

Shengjiu Wang (1):
ASoC: fsl_sai: Fix FSL_SAI_xDR/xFR definition

Sherry Sun (1):
tty: serial: fsl_lpuart: fix potential bug when using both of_alias_get_id and ida_simple_get

Shuah Khan (1):
misc: rtsx: set NULL intfdata when probe fails

Shyam Prasad N (1):
cifs: return errors during session setup during reconnects

Smith, Kyle Miller (Nimble Kernel) (1):
nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags

Stefan Wahren (1):
ARM: dts: bcm2835-rpi-b: Fix GPIO line names

Steve French (1):
cifs: version operations for smb20 unneeded when legacy support disabled

Steven Price (1):
drm/plane: Move range check for format_count earlier

Tejun Heo (1):
blk-iolatency: Fix inflight count imbalances and IO hangs on offline

Thibaut VARÈNE (1):
ath9k: fix QCA9561 PA bias level

Tokunori Ikegami (2):
mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N

Tony Lindgren (1):
bus: ti-sysc: Fix warnings for unbind for serial

Trond Myklebust (5):
NFS: Do not report EINTR/ERESTARTSYS as mapping errors
NFS: Do not report flush errors in nfs_write_end()
NFS: Don't report errors from nfs_pageio_complete() more than once NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
NFSv4: Don't hold the layoutget locks across multiple RPC calls

Uwe Kleine-König (1):
pwm: lp3943: Fix duty calculation in case period was clamped

Vasily Averin (1):
tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate

Venky Shankar (1):
ceph: allow ceph.dir.rctime xattr to be updatable

Vincent Ray (1):
net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog

Vincent Whitchurch (1):
um: Fix out-of-bounds read in LDT setup

Vinod Polimera (1):
drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume

Viresh Kumar (1):
Revert "cpufreq: Fix possible race in cpufreq online error path"

Waiman Long (1):
ipc/mqueue: use get_tree_nodev() in mqueue_get_tree()

Wang Cheng (2):
staging: rtl8712: fix uninit-value in usb_read8() and friends
staging: rtl8712: fix uninit-value in r871xu_drv_init()

Wang Weiyang (1):
tty: goldfish: Use tty_port_destroy() to destroy port

Wenli Looi (1):

      ath9k: fix ar9003_get_eepmisc

Willem de Bruijn (1):
ip_gre: test csum_start instead of transport header

Xiao Yang (1):
RDMA/rxe: Generate a completion for unsupported/invalid opcode

Xiaoke Wang (1):
iio: dummy: iio_simple_dummy: check the return value of kstrdup()

Xiaomeng Tong (10):
media: uvcvideo: Fix missing check to determine if element is found in list
scsi: dc395x: Fix a missing check on list iterator drm/nouveau/clk: Fix an incorrect NULL check on list iterator
md: fix an incorrect NULL check in does_sb_need_changing
md: fix an incorrect NULL check in md_reload_sb
iommu/msm: Fix an incorrect NULL check on list iterator
carl9170: tx: fix an incorrect use of list iterator
tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
gma500: fix an incorrect NULL check on list iterator
firmware: stratix10-svc: fix a missing check on list iterator

Xie Yongji (2):
nbd: Fix hung on disconnect request if socket is closed before
vringh: Fix loop descriptors check in the indirect cases

Yang Jihong (1):
perf tools: Add missing headers needed by util/data.h

Yang Yingliang (6):
drm/msm/hdmi: check return value after calling platform_get_resource_byname() drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
rtc: mt6397: check return value after calling platform_get_resource()
video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()

Ye Bin (3):
ext4: fix use-after-free in ext4_rename_dir_prepare
ext4: fix warning in ext4_handle_inode_extension
ext4: fix bug_on in ext4_writepages

Yicong Yang (1):
PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()

Ying Hsu (1):
Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout

Yong Wu (1):
iommu/mediatek: Add list_del in mtk_iommu_remove

Yonghong Song (1):
selftests/bpf: fix btf_dump/btf_dump due to recent clang change

Yu Kuai (3):
nbd: call genl_unregister_family() first in nbd_cleanup()
nbd: fix race between nbd_alloc_config() and module removal
nbd: fix io hung while disconnecting device

Yu Xiao (1):
nfp: only report pause frame configuration for physical device

Yuntao Wang (1):
bpf: Fix excessive memory allocation in stack_map_alloc()

Zev Weiss (1):
regulator: core: Fix enable_count imbalance with EXCLUSIVE_GET

Zhang Wensheng (1):
driver core: fix deadlock in __device_attach

Zhen Ni (1):
USB: host: isp116x: check return value after calling platform_get_resource()

Zheng Yongjun (3):
spi: img-spfi: Fix pm_runtime_get_sync() error checking thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe
usb: dwc3: pci: Fix pm_runtime_get_sync() error checking

Zhengjun Xing (1):
perf jevents: Fix event syntax error caused by ExtSel

Zheyu Ma (3):
media: pci: cx23885: Fix the error handling in cx23885_initdev()
media: cx25821: Fix the warning when removing the module
tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()

Zhihao Cheng (2):
fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
ubi: ubi_create_volume: Fix use-after-free when volume creation failed

Zhou Qingyang (1):
drm/komeda: Fix an undefined behavior bug in komeda_plane_add()

Zixuan Fu (1):
fs: jfs: fix possible NULL pointer dereference in dbFree()

bumwoo lee (1):
extcon: Modify extcon device to be created after driver data is set

huangwenhui (1):
ALSA: hda/conexant - Fix loopback issue with CX20632

jianghaoran (1):
ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL

liuyacan (1):
net/smc: postpone sk_refcnt increment in connect()

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-ata +6 -5
index 9ab0ef1dd1c7..299e0d1dc161 100644
@@ -107,13 +107,14 @@ Description:
 				described in ATA8 7.16 and 7.17. Only valid if
 				the device is not a PM.
 
-		pio_mode:	(RO) Transfer modes supported by the device when
-				in PIO mode. Mostly used by PATA device.
+		pio_mode:	(RO) PIO transfer mode used by the device.
+				Mostly used by PATA devices.
 
-		xfer_mode:	(RO) Current transfer mode
+		xfer_mode:	(RO) Current transfer mode. Mostly used by
+				PATA devices.
 
-		dma_mode:	(RO) Transfer modes supported by the device when
-				in DMA mode. Mostly used by PATA device.
+		dma_mode:	(RO) DMA transfer mode used by the device.
+				Mostly used by PATA devices.
 
 		class:		(RO) Device class. Can be "ata" for disk,
 				"atapi" for packet device, "pmp" for PM, or
Documentation/conf.py +1 -1
index a8fe845832bc..38c1f7618b5e 100644
@@ -98,7 +98,7 @@ finally:
 #
 # This is also used if you do content translation via gettext catalogs.
 # Usually you set "language" from the command line for these cases.
-language = None
+language = 'en'
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
Documentation/devicetree/bindings/gpio/gpio-altera.txt +3 -2
index 146e554b3c67..2a80e272cd66 100644
@@ -9,8 +9,9 @@ Required properties:
   - The second cell is reserved and is currently unused.
 - gpio-controller : Marks the device node as a GPIO controller.
 - interrupt-controller: Mark the device node as an interrupt controller
-- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware.
+- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware.
   - The first cell is the GPIO offset number within the GPIO controller.
+  - The second cell is the interrupt trigger type and level flags.
 - interrupts: Specify the interrupt.
 - altr,interrupt-type: Specifies the interrupt trigger type the GPIO
   hardware is synthesized. This field is required if the Altera GPIO controller
@@ -38,6 +39,6 @@ gpio_altr: gpio@ff200000 {
 	altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
 	#gpio-cells = <2>;
 	gpio-controller;
-	#interrupt-cells = <1>;
+	#interrupt-cells = <2>;
 	interrupt-controller;
 };
Documentation/hwmon/hwmon-kernel-api.rst +1 -1
index c41eb6108103..23f27fe78e37 100644
@@ -72,7 +72,7 @@ hwmon_device_register_with_info is the most comprehensive and preferred means
 to register a hardware monitoring device. It creates the standard sysfs
 attributes in the hardware monitoring core, letting the driver focus on reading
 from and writing to the chip instead of having to bother with sysfs attributes.
-The parent device parameter cannot be NULL with non-NULL chip info. Its
+The parent device parameter as well as the chip parameter must not be NULL. Its
 parameters are described in more detail below.
 
 devm_hwmon_device_register_with_info is similar to
Makefile +1 -1
index 57e27af9fc0c..1c99e688da21 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 197
+SUBLEVEL = 198
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/arm/boot/dts/bcm2835-rpi-b.dts +6 -7
index 2b69957e0113..1838e0fa0ff5 100644
@@ -53,18 +53,17 @@
 			  "GPIO18",
 			  "NC", /* GPIO19 */
 			  "NC", /* GPIO20 */
-			  "GPIO21",
+			  "CAM_GPIO0",
 			  "GPIO22",
 			  "GPIO23",
 			  "GPIO24",
 			  "GPIO25",
 			  "NC", /* GPIO26 */
-			  "CAM_GPIO0",
-			  /* Binary number representing build/revision */
-			  "CONFIG0",
-			  "CONFIG1",
-			  "CONFIG2",
-			  "CONFIG3",
+			  "GPIO27",
+			  "GPIO28",
+			  "GPIO29",
+			  "GPIO30",
+			  "GPIO31",
 			  "NC", /* GPIO32 */
 			  "NC", /* GPIO33 */
 			  "NC", /* GPIO34 */
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +12 -10
index f65448c01e31..34a85ad9f03c 100644
@@ -74,16 +74,18 @@
 			  "GPIO27",
 			  "SDA0",
 			  "SCL0",
-			  "NC", /* GPIO30 */
-			  "NC", /* GPIO31 */
-			  "NC", /* GPIO32 */
-			  "NC", /* GPIO33 */
-			  "NC", /* GPIO34 */
-			  "NC", /* GPIO35 */
-			  "NC", /* GPIO36 */
-			  "NC", /* GPIO37 */
-			  "NC", /* GPIO38 */
-			  "NC", /* GPIO39 */
+			  /* Used by BT module */
+			  "CTS0",
+			  "RTS0",
+			  "TXD0",
+			  "RXD0",
+			  /* Used by Wifi */
+			  "SD1_CLK",
+			  "SD1_CMD",
+			  "SD1_DATA0",
+			  "SD1_DATA1",
+			  "SD1_DATA2",
+			  "SD1_DATA3",
 			  "CAM_GPIO1", /* GPIO40 */
 			  "WL_ON", /* GPIO41 */
 			  "NC", /* GPIO42 */
arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts +1 -1
index 74ed6d047807..d9f63fc59f16 100644
@@ -43,7 +43,7 @@
 		#gpio-cells = <2>;
 		gpio-line-names = "BT_ON",
 				  "WL_ON",
-				  "STATUS_LED_R",
+				  "PWR_LED_R",
 				  "LAN_RUN",
 				  "",
 				  "CAM_GPIO0",
arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts +2 -2
index 588d9411ceb6..3dfce4312dfc 100644
@@ -63,8 +63,8 @@
 			  "GPIO43",
 			  "GPIO44",
 			  "GPIO45",
-			  "GPIO46",
-			  "GPIO47",
+			  "SMPS_SCL",
+			  "SMPS_SDA",
 			  /* Used by eMMC */
 			  "SD_CLK_R",
 			  "SD_CMD_R",
arch/arm/boot/dts/exynos5250-smdk5250.dts +2 -2
index fa5dd992e327..c7e350ea03fe 100644
@@ -128,7 +128,7 @@
 	samsung,i2c-max-bus-freq = <20000>;
 
 	eeprom@50 {
-		compatible = "samsung,s524ad0xd1";
+		compatible = "samsung,s524ad0xd1", "atmel,24c128";
 		reg = <0x50>;
 	};
 
@@ -287,7 +287,7 @@
 	samsung,i2c-max-bus-freq = <20000>;
 
 	eeprom@51 {
-		compatible = "samsung,s524ad0xd1";
+		compatible = "samsung,s524ad0xd1", "atmel,24c128";
 		reg = <0x51>;
 	};
 
arch/arm/boot/dts/ox820.dtsi +1 -1
index 90846a7655b4..dde4364892bf 100644
@@ -287,7 +287,7 @@
 				clocks = <&armclk>;
 			};
 
-			gic: gic@1000 {
+			gic: interrupt-controller@1000 {
 				compatible = "arm,arm11mp-gic";
 				interrupt-controller;
 				#interrupt-cells = <3>;
arch/arm/boot/dts/suniv-f1c100s.dtsi +3 -1
index 6100d3b75f61..def830101448 100644
@@ -104,8 +104,10 @@
 
 		wdt: watchdog@1c20ca0 {
 			compatible = "allwinner,suniv-f1c100s-wdt",
-				     "allwinner,sun4i-a10-wdt";
+				     "allwinner,sun6i-a31-wdt";
 			reg = <0x01c20ca0 0x20>;
+			interrupts = <16>;
+			clocks = <&osc32k>;
 		};
 
 		uart0: serial@1c25000 {
arch/arm/mach-hisi/platsmp.c +4 -0
index da7a09c1dae5..1cd1d9b0aabf 100644
@@ -67,14 +67,17 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus)
 		}
 		ctrl_base = of_iomap(np, 0);
 		if (!ctrl_base) {
+			of_node_put(np);
 			pr_err("failed to map address\n");
 			return;
 		}
 		if (of_property_read_u32(np, "smp-offset", &offset) < 0) {
+			of_node_put(np);
 			pr_err("failed to find smp-offset property\n");
 			return;
 		}
 		ctrl_base += offset;
+		of_node_put(np);
 	}
 }
 
@@ -160,6 +163,7 @@ static int hip01_boot_secondary(unsigned int cpu, struct task_struct *idle)
 	if (WARN_ON(!node))
 		return -1;
 	ctrl_base = of_iomap(node, 0);
+	of_node_put(node);
 
 	/* set the secondary core boot from DDR */
 	remap_reg_value = readl_relaxed(ctrl_base + REG_SC_CTRL);
arch/arm/mach-mediatek/Kconfig +1 -0
index 9e0f592d87d8..35a3430c7942 100644
@@ -30,6 +30,7 @@ config MACH_MT7623
 config MACH_MT7629
 	bool "MediaTek MT7629 SoCs support"
 	default ARCH_MEDIATEK
+	select HAVE_ARM_ARCH_TIMER
 
 config MACH_MT8127
 	bool "MediaTek MT8127 SoCs support"
arch/arm/mach-omap1/clock.c +1 -1
index bd5be82101f3..d89bda12bf3c 100644
@@ -41,7 +41,7 @@ static DEFINE_SPINLOCK(clockfw_lock);
 unsigned long omap1_uart_recalc(struct clk *clk)
 {
 	unsigned int val = __raw_readl(clk->enable_reg);
-	return val & clk->enable_bit ? 48000000 : 12000000;
+	return val & 1 << clk->enable_bit ? 48000000 : 12000000;
 }
 
 unsigned long omap1_sossi_recalc(struct clk *clk)
arch/arm/mach-pxa/cm-x300.c +4 -4
index 425855f456f2..719e6395797c 100644
@@ -355,13 +355,13 @@ static struct platform_device cm_x300_spi_gpio = {
 static struct gpiod_lookup_table cm_x300_spi_gpiod_table = {
 	.dev_id         = "spi_gpio",
 	.table          = {
-		GPIO_LOOKUP("gpio-pxa", GPIO_LCD_SCL,
+		GPIO_LOOKUP("pca9555.1", GPIO_LCD_SCL - GPIO_LCD_BASE,
 			    "sck", GPIO_ACTIVE_HIGH),
-		GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DIN,
+		GPIO_LOOKUP("pca9555.1", GPIO_LCD_DIN - GPIO_LCD_BASE,
 			    "mosi", GPIO_ACTIVE_HIGH),
-		GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DOUT,
+		GPIO_LOOKUP("pca9555.1", GPIO_LCD_DOUT - GPIO_LCD_BASE,
 			    "miso", GPIO_ACTIVE_HIGH),
-		GPIO_LOOKUP("gpio-pxa", GPIO_LCD_CS,
+		GPIO_LOOKUP("pca9555.1", GPIO_LCD_CS - GPIO_LCD_BASE,
 			    "cs", GPIO_ACTIVE_HIGH),
 		{ },
 	},
arch/arm/mach-pxa/magician.c +1 -1
index e1a394ac3eea..8f2d4faa2612 100644
@@ -675,7 +675,7 @@ static struct platform_device bq24022 = {
 static struct gpiod_lookup_table bq24022_gpiod_table = {
 	.dev_id = "gpio-regulator",
 	.table = {
-		GPIO_LOOKUP("gpio-pxa", EGPIO_MAGICIAN_BQ24022_ISET2,
+		GPIO_LOOKUP("htc-egpio-0", EGPIO_MAGICIAN_BQ24022_ISET2 - MAGICIAN_EGPIO_BASE,
 			    NULL, GPIO_ACTIVE_HIGH),
 		GPIO_LOOKUP("gpio-pxa", GPIO30_MAGICIAN_BQ24022_nCHARGE_EN,
 			    "enable", GPIO_ACTIVE_LOW),
arch/arm/mach-pxa/tosa.c +2 -2
index f537ff1c3ba7..3fbcaa3b4e18 100644
@@ -295,9 +295,9 @@ static struct gpiod_lookup_table tosa_mci_gpio_table = {
 	.table = {
 		GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_nSD_DETECT,
 			    "cd", GPIO_ACTIVE_LOW),
-		GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_SD_WP,
+		GPIO_LOOKUP("sharp-scoop.0", TOSA_GPIO_SD_WP - TOSA_SCOOP_GPIO_BASE,
 			    "wp", GPIO_ACTIVE_LOW),
-		GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_PWR_ON,
+		GPIO_LOOKUP("sharp-scoop.0", TOSA_GPIO_PWR_ON - TOSA_SCOOP_GPIO_BASE,
 			    "power", GPIO_ACTIVE_HIGH),
 		{ },
 	},
arch/arm/mach-vexpress/dcscb.c +1 -0
index 46a903c88c6a..f553cde614f9 100644
@@ -143,6 +143,7 @@ static int __init dcscb_init(void)
 	if (!node)
 		return -ENODEV;
 	dcscb_base = of_iomap(node, 0);
+	of_node_put(node);
 	if (!dcscb_base)
 		return -EADDRNOTAVAIL;
 	cfg = readl_relaxed(dcscb_base + DCS_CFG_R);
arch/arm64/Kconfig.platforms +1 -0
index 9dccf4db319b..90202e5608d1 100644
@@ -225,6 +225,7 @@ config ARCH_STRATIX10
 
 config ARCH_SYNQUACER
 	bool "Socionext SynQuacer SoC Family"
+	select IRQ_FASTEOI_HIERARCHY_HANDLERS
 
 config ARCH_TEGRA
 	bool "NVIDIA Tegra SoC Family"
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
index 67ee5f560104..7822592664ff 100644
@@ -482,7 +482,7 @@
 	clocks {
 		sleep_clk: sleep_clk {
 			compatible = "fixed-clock";
-			clock-frequency = <32000>;
+			clock-frequency = <32768>;
 			#clock-cells = <0>;
 		};
 
arch/arm64/boot/dts/rockchip/rk3399.dtsi +1 -1
index 95942d917de5..4496f7e1c68f 100644
@@ -1447,6 +1447,7 @@
 			reg = <0xf780 0x24>;
 			clocks = <&sdhci>;
 			clock-names = "emmcclk";
+			drive-impedance-ohm = <50>;
 			#phy-cells = <0>;
 			status = "disabled";
 		};
@@ -1457,7 +1458,6 @@
 			clock-names = "refclk";
 			#phy-cells = <1>;
 			resets = <&cru SRST_PCIEPHY>;
-			drive-impedance-ohm = <50>;
 			reset-names = "phy";
 			status = "disabled";
 		};
arch/arm64/kernel/sys_compat.c +1 -1
index 3c18c2454089..51274bab2565 100644
@@ -115,6 +115,6 @@ long compat_arm_syscall(struct pt_regs *regs, int scno)
 		(compat_thumb_mode(regs) ? 2 : 4);
 
 	arm64_notify_die("Oops - bad compat syscall(2)", regs,
-			 SIGILL, ILL_ILLTRP, addr, scno);
+			 SIGILL, ILL_ILLTRP, addr, 0);
 	return 0;
 }
arch/arm64/net/bpf_jit_comp.c +1 -0
index 17a8d1484f9b..9f71ca441482 100644
@@ -973,6 +973,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
 			bpf_jit_binary_free(header);
 			prog->bpf_func = NULL;
 			prog->jited = 0;
+			prog->jited_len = 0;
 			goto out_off;
 		}
 		bpf_jit_binary_lock_ro(header);
arch/m68k/Kconfig.cpu +1 -1
index 60ac1cd8b96f..6bc7fc14163f 100644
@@ -309,7 +309,7 @@ comment "Processor Specific Options"
 
 config M68KFPU_EMU
 	bool "Math emulation support"
-	depends on MMU
+	depends on M68KCLASSIC && FPU
 	help
 	  At some point in the future, this will cause floating-point math
 	  instructions to be emulated by the kernel on machines that lack a
arch/m68k/Kconfig.machine +1 -0
index b88a980f56f8..f0527b155c05 100644
@@ -320,6 +320,7 @@ comment "Machine Options"
 
 config UBOOT
 	bool "Support for U-Boot command line parameters"
+	depends on COLDFIRE
 	help
 	  If you say Y here kernel will try to collect command
 	  line parameters from the initial u-boot stack.
arch/m68k/include/asm/pgtable_no.h +2 -1
index c18165b0d904..6b0248466569 100644
@@ -42,7 +42,8 @@ extern void paging_init(void);
  * ZERO_PAGE is a global shared page that is always zero: used
  * for zero-mapped memory areas etc..
  */
-#define ZERO_PAGE(vaddr)	(virt_to_page(0))
+extern void *empty_zero_page;
+#define ZERO_PAGE(vaddr)	(virt_to_page(empty_zero_page))
 
 /*
  * All 32bit addresses are effectively valid for vmalloc...
arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h +0 -1
index 136d6d464e32..93c69fc7bbd8 100644
@@ -28,7 +28,6 @@
 #define cpu_has_6k_cache		0
 #define cpu_has_8k_cache		0
 #define cpu_has_tx39_cache		0
-#define cpu_has_fpu			1
 #define cpu_has_nofpuex			0
 #define cpu_has_32fpr			1
 #define cpu_has_counter			1
arch/mips/kernel/mips-cpc.c +1 -0
index 69e3e0b556bf..1b0d4bb617a9 100644
@@ -27,6 +27,7 @@ phys_addr_t __weak mips_cpc_default_phys_base(void)
 	cpc_node = of_find_compatible_node(of_root, NULL, "mti,mips-cpc");
 	if (cpc_node) {
 		err = of_address_to_resource(cpc_node, 0, &res);
+		of_node_put(cpc_node);
 		if (!err)
 			return res.start;
 	}
arch/openrisc/include/asm/timex.h +1 -0
index d52b4e536e3f..5487fa93dd9b 100644
@@ -23,6 +23,7 @@ static inline cycles_t get_cycles(void)
 {
 	return mfspr(SPR_TTCR);
 }
+#define get_cycles get_cycles
 
 /* This isn't really used any more */
 #define CLOCK_TICK_RATE 1000
arch/openrisc/kernel/head.S +9 -0
index b0dc974f9a74..ffbbf639b7f9 100644
@@ -521,6 +521,15 @@ _start:
 	l.ori	r3,r0,0x1
 	l.mtspr	r0,r3,SPR_SR
 
+	/*
+	 * Start the TTCR as early as possible, so that the RNG can make use of
+	 * measurements of boot time from the earliest opportunity. Especially
+	 * important is that the TTCR does not return zero by the time we reach
+	 * rand_initialize().
+	 */
+	l.movhi r3,hi(SPR_TTMR_CR)
+	l.mtspr r0,r3,SPR_TTMR
+
 	CLEAR_GPR(r1)
 	CLEAR_GPR(r2)
 	CLEAR_GPR(r3)
arch/powerpc/include/asm/page.h +5 -2
index 0d8f9246ce15..d92353a96f81 100644
@@ -216,6 +216,9 @@ static inline bool pfn_valid(unsigned long pfn)
 #define __pa(x) ((unsigned long)(x) - VIRT_PHYS_OFFSET)
 #else
 #ifdef CONFIG_PPC64
+
+#define VIRTUAL_WARN_ON(x)	WARN_ON(IS_ENABLED(CONFIG_DEBUG_VIRTUAL) && (x))
+
 /*
  * gcc miscompiles (unsigned long)(&static_var) - PAGE_OFFSET
  * with -mcmodel=medium, so we use & and | instead of - and + on 64-bit.
@@ -223,13 +226,13 @@ static inline bool pfn_valid(unsigned long pfn)
  */
 #define __va(x)								\
 ({									\
-	VIRTUAL_BUG_ON((unsigned long)(x) >= PAGE_OFFSET);		\
+	VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);		\
 	(void *)(unsigned long)((phys_addr_t)(x) | PAGE_OFFSET);	\
 })
 
 #define __pa(x)								\
 ({									\
-	VIRTUAL_BUG_ON((unsigned long)(x) < PAGE_OFFSET);		\
+	VIRTUAL_WARN_ON((unsigned long)(x) < PAGE_OFFSET);		\
 	(unsigned long)(x) & 0x0fffffffffffffffUL;			\
 })
 
arch/powerpc/kernel/fadump.c +6 -2
index 0455dc1b2797..69d64f406204 100644
@@ -835,7 +835,6 @@ static int fadump_alloc_mem_ranges(struct fadump_mrange_info *mrange_info)
 				       sizeof(struct fadump_memory_range));
 	return 0;
 }
-
 static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info,
 				       u64 base, u64 end)
 {
@@ -854,7 +853,12 @@ static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info,
 		start = mem_ranges[mrange_info->mem_range_cnt - 1].base;
 		size  = mem_ranges[mrange_info->mem_range_cnt - 1].size;
 
-		if ((start + size) == base)
+		/*
+		 * Boot memory area needs separate PT_LOAD segment(s) as it
+		 * is moved to a different location at the time of crash.
+		 * So, fold only if the region is not boot memory area.
+		 */
+		if ((start + size) == base && start >= fw_dump.boot_mem_top)
 			is_adjacent = true;
 	}
 	if (!is_adjacent) {
arch/powerpc/kernel/idle.c +1 -1
index a36fd053c3db..0615ba86baef 100644
@@ -37,7 +37,7 @@ static int __init powersave_off(char *arg)
 {
 	ppc_md.power_save = NULL;
 	cpuidle_disable = IDLE_POWERSAVE_OFF;
-	return 0;
+	return 1;
 }
 __setup("powersave=off", powersave_off);
 
arch/powerpc/kernel/ptrace.c +17 -4
index 8c92febf5f44..63bfc5250b67 100644
@@ -3014,8 +3014,13 @@ long arch_ptrace(struct task_struct *child, long request,
 
 			flush_fp_to_thread(child);
 			if (fpidx < (PT_FPSCR - PT_FPR0))
-				memcpy(&tmp, &child->thread.TS_FPR(fpidx),
-				       sizeof(long));
+				if (IS_ENABLED(CONFIG_PPC32)) {
+					// On 32-bit the index we are passed refers to 32-bit words
+					tmp = ((u32 *)child->thread.fp_state.fpr)[fpidx];
+				} else {
+					memcpy(&tmp, &child->thread.TS_FPR(fpidx),
+					       sizeof(long));
+				}
 			else
 				tmp = child->thread.fp_state.fpscr;
 		}
@@ -3047,8 +3052,13 @@ long arch_ptrace(struct task_struct *child, long request,
 
 			flush_fp_to_thread(child);
 			if (fpidx < (PT_FPSCR - PT_FPR0))
-				memcpy(&child->thread.TS_FPR(fpidx), &data,
-				       sizeof(long));
+				if (IS_ENABLED(CONFIG_PPC32)) {
+					// On 32-bit the index we are passed refers to 32-bit words
+					((u32 *)child->thread.fp_state.fpr)[fpidx] = data;
+				} else {
+					memcpy(&child->thread.TS_FPR(fpidx), &data,
+					       sizeof(long));
+				}
 			else
 				child->thread.fp_state.fpscr = data;
 			ret = 0;
@@ -3398,4 +3408,7 @@ void __init pt_regs_check(void)
 		     offsetof(struct user_pt_regs, result));
 
 	BUILD_BUG_ON(sizeof(struct user_pt_regs) > sizeof(struct pt_regs));
+
+	// ptrace_get/put_fpr() rely on PPC32 and VSX being incompatible
+	BUILD_BUG_ON(IS_ENABLED(CONFIG_PPC32) && IS_ENABLED(CONFIG_VSX));
 }
arch/powerpc/perf/isa207-common.c +2 -1
index 944180f55a3c..25eda98f3b1b 100644
@@ -326,7 +326,8 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
 		if (event_is_threshold(event) && is_thresh_cmp_valid(event)) {
 			mask  |= CNST_THRESH_MASK;
 			value |= CNST_THRESH_VAL(event >> EVENT_THRESH_SHIFT);
-		}
+		} else if (event_is_threshold(event))
+			return -1;
 	} else {
 		/*
 		 * Special case for PM_MRK_FAB_RSP_MATCH and PM_MRK_FAB_RSP_MATCH_CYC,
arch/powerpc/platforms/4xx/cpm.c +1 -1
index ae8b812c9202..2481e78c0423 100644
@@ -327,6 +327,6 @@ late_initcall(cpm_init);
 static int __init cpm_powersave_off(char *arg)
 {
 	cpm.powersave_off = 1;
-	return 0;
+	return 1;
 }
 __setup("powersave=off", cpm_powersave_off);
arch/powerpc/platforms/8xx/cpm1.c +1 -0
index 0f65c51271db..ec6dc2d7a9db 100644
@@ -292,6 +292,7 @@ cpm_setbrg(uint brg, uint rate)
 		out_be32(bp, (((BRG_UART_CLK_DIV16 / rate) - 1) << 1) |
 			      CPM_BRG_EN | CPM_BRG_DIV16);
 }
+EXPORT_SYMBOL(cpm_setbrg);
 
 struct cpm_ioport16 {
 	__be16 dir, par, odr_sor, dat, intr;
arch/powerpc/platforms/powernv/opal-fadump.c +52 -42

238 lines not on this page · raw message

arch/powerpc/platforms/powernv/opal-fadump.h +5 -5
index f1e9ecf548c5..3f715efb0aa6 100644
@@ -31,14 +31,14 @@
  * OPAL FADump kernel metadata
  *
  * The address of this structure will be registered with f/w for retrieving
- * and processing during crash dump.
+ * in the capture kernel to process the crash dump.
  */
 struct opal_fadump_mem_struct {
 	u8	version;
 	u8	reserved[3];
-	u16	region_cnt;		/* number of regions */
-	u16	registered_regions;	/* Regions registered for MPIPL */
-	u64	fadumphdr_addr;
+	__be16	region_cnt;		/* number of regions */
+	__be16	registered_regions;	/* Regions registered for MPIPL */
+	__be64	fadumphdr_addr;
 	struct opal_mpipl_region	rgn[FADUMP_MAX_MEM_REGS];
 } __packed;
 
@@ -135,7 +135,7 @@ static inline void opal_fadump_read_regs(char *bufp, unsigned int regs_cnt,
 	for (i = 0; i < regs_cnt; i++, bufp += reg_entry_size) {
 		reg_entry = (struct hdat_fadump_reg_entry *)bufp;
 		val = (cpu_endian ? be64_to_cpu(reg_entry->reg_val) :
-		       reg_entry->reg_val);
+		       (u64)(reg_entry->reg_val));
 		opal_fadump_set_regval_regnum(regs,
 					      be32_to_cpu(reg_entry->reg_type),
 					      be32_to_cpu(reg_entry->reg_num),
arch/powerpc/platforms/powernv/ultravisor.c +1 -0
index e4a00ad06f9d..67c8c4b2d8b1 100644
@@ -55,6 +55,7 @@ static int __init uv_init(void)
 		return -ENODEV;
 
 	uv_memcons = memcons_init(node, "memcons");
+	of_node_put(node);
 	if (!uv_memcons)
 		return -ENOENT;
 
arch/powerpc/sysdev/dart_iommu.c +4 -2
index 6b4a34b36d98..8ff9bcfe4b8d 100644
@@ -403,9 +403,10 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)
 	}
 
 	/* Initialize the DART HW */
-	if (dart_init(dn) != 0)
+	if (dart_init(dn) != 0) {
+		of_node_put(dn);
 		return;
-
+	}
 	/*
 	 * U4 supports a DART bypass, we use it for 64-bit capable devices to
 	 * improve performance.  However, that only works for devices connected
@@ -418,6 +419,7 @@ void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)
 
 	/* Setup pci_dma ops */
 	set_pci_dma_ops(&dma_iommu_ops);
+	of_node_put(dn);
 }
 
 #ifdef CONFIG_PM
arch/powerpc/sysdev/fsl_rio.c +2 -0
index 07c164f7f8cf..3f9f78621cf3 100644
@@ -505,8 +505,10 @@ int fsl_rio_setup(struct platform_device *dev)
 	if (rc) {
 		dev_err(&dev->dev, "Can't get %pOF property 'reg'\n",
 				rmu_node);
+		of_node_put(rmu_node);
 		goto err_rmu;
 	}
+	of_node_put(rmu_node);
 	rmu_regs_win = ioremap(rmu_regs.start, resource_size(&rmu_regs));
 	if (!rmu_regs_win) {
 		dev_err(&dev->dev, "Unable to map rmu register window\n");
arch/powerpc/sysdev/xics/icp-opal.c +1 -0
index 68fd2540b093..7fa520efcefa 100644
@@ -195,6 +195,7 @@ int icp_opal_init(void)
 
 	printk("XICS: Using OPAL ICP fallbacks\n");
 
+	of_node_put(np);
 	return 0;
 }
 
arch/s390/crypto/aes_s390.c +2 -2
index 9803e96d2924..558cfe570ccf 100644
@@ -861,7 +861,7 @@ static inline void _gcm_sg_unmap_and_advance(struct gcm_sg_walk *gw,
 					     unsigned int nbytes)
 {
 	gw->walk_bytes_remain -= nbytes;
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	scatterwalk_advance(&gw->walk, nbytes);
 	scatterwalk_done(&gw->walk, 0, gw->walk_bytes_remain);
 	gw->walk_ptr = NULL;
@@ -936,7 +936,7 @@ static int gcm_out_walk_go(struct gcm_sg_walk *gw, unsigned int minbytesneeded)
 		goto out;
 	}
 
-	scatterwalk_unmap(&gw->walk);
+	scatterwalk_unmap(gw->walk_ptr);
 	gw->walk_ptr = NULL;
 
 	gw->ptr = gw->buf;
arch/s390/include/asm/preempt.h +11 -4
index b5ea9e14c017..3dcd8ab3db73 100644
@@ -52,10 +52,17 @@ static inline bool test_preempt_need_resched(void)
 
 static inline void __preempt_count_add(int val)
 {
-	if (__builtin_constant_p(val) && (val >= -128) && (val <= 127))
-		__atomic_add_const(val, &S390_lowcore.preempt_count);
-	else
-		__atomic_add(val, &S390_lowcore.preempt_count);
+	/*
+	 * With some obscure config options and CONFIG_PROFILE_ALL_BRANCHES
+	 * enabled, gcc 12 fails to handle __builtin_constant_p().
+	 */
+	if (!IS_ENABLED(CONFIG_PROFILE_ALL_BRANCHES)) {
+		if (__builtin_constant_p(val) && (val >= -128) && (val <= 127)) {
+			__atomic_add_const(val, &S390_lowcore.preempt_count);
+			return;
+		}
+	}
+	__atomic_add(val, &S390_lowcore.preempt_count);
 }
 
 static inline void __preempt_count_sub(int val)
arch/s390/mm/gmap.c +14 -0
index 5e5a4e1f0e6c..19ee8355b2a7 100644
@@ -2579,6 +2579,18 @@ static int __s390_enable_skey_pte(pte_t *pte, unsigned long addr,
 	return 0;
 }
 
+/*
+ * Give a chance to schedule after setting a key to 256 pages.
+ * We only hold the mm lock, which is a rwsem and the kvm srcu.
+ * Both can sleep.
+ */
+static int __s390_enable_skey_pmd(pmd_t *pmd, unsigned long addr,
+				  unsigned long next, struct mm_walk *walk)
+{
+	cond_resched();
+	return 0;
+}
+
 static int __s390_enable_skey_hugetlb(pte_t *pte, unsigned long addr,
 				      unsigned long hmask, unsigned long next,
 				      struct mm_walk *walk)
@@ -2601,12 +2613,14 @@ static int __s390_enable_skey_hugetlb(pte_t *pte, unsigned long addr,
 	end = start + HPAGE_SIZE - 1;
 	__storage_key_init_range(start, end);
 	set_bit(PG_arch_1, &page->flags);
+	cond_resched();
 	return 0;
 }
 
 static const struct mm_walk_ops enable_skey_walk_ops = {
 	.hugetlb_entry		= __s390_enable_skey_hugetlb,
 	.pte_entry		= __s390_enable_skey_pte,
+	.pmd_entry		= __s390_enable_skey_pmd,
 };
 
 int s390_enable_skey(void)
arch/um/drivers/chan_user.c +5 -4
index 6040817c036f..25727ed648b7 100644
@@ -220,7 +220,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 		       unsigned long *stack_out)
 {
 	struct winch_data data;
-	int fds[2], n, err;
+	int fds[2], n, err, pid;
 	char c;
 
 	err = os_pipe(fds, 1, 1);
@@ -238,8 +238,9 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 	 * problem with /dev/net/tun, which if held open by this
 	 * thread, prevents the TUN/TAP device from being reused.
 	 */
-	err = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out);
-	if (err < 0) {
+	pid = run_helper_thread(winch_thread, &data, CLONE_FILES, stack_out);
+	if (pid < 0) {
+		err = pid;
 		printk(UM_KERN_ERR "fork of winch_thread failed - errno = %d\n",
 		       -err);
 		goto out_close;
@@ -263,7 +264,7 @@ static int winch_tramp(int fd, struct tty_port *port, int *fd_out,
 		goto out_close;
 	}
 
-	return err;
+	return pid;
 
  out_close:
 	close(fds[1]);
arch/um/include/asm/thread_info.h +2 -0
index 4c19ce4c49f1..66ab6a07330b 100644
@@ -63,6 +63,7 @@ static inline struct thread_info *current_thread_info(void)
 #define TIF_RESTORE_SIGMASK	7
 #define TIF_NOTIFY_RESUME	8
 #define TIF_SECCOMP		9	/* secure computing */
+#define TIF_SINGLESTEP		10	/* single stepping userspace */
 
 #define _TIF_SYSCALL_TRACE	(1 << TIF_SYSCALL_TRACE)
 #define _TIF_SIGPENDING		(1 << TIF_SIGPENDING)
@@ -70,5 +71,6 @@ static inline struct thread_info *current_thread_info(void)
 #define _TIF_MEMDIE		(1 << TIF_MEMDIE)
 #define _TIF_SYSCALL_AUDIT	(1 << TIF_SYSCALL_AUDIT)
 #define _TIF_SECCOMP		(1 << TIF_SECCOMP)
+#define _TIF_SINGLESTEP		(1 << TIF_SINGLESTEP)
 
 #endif
arch/um/kernel/exec.c +1 -1
index e8fd5d540b05..7f7a74c82abb 100644
@@ -44,7 +44,7 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp)
 {
 	PT_REGS_IP(regs) = eip;
 	PT_REGS_SP(regs) = esp;
-	current->ptrace &= ~PT_DTRACE;
+	clear_thread_flag(TIF_SINGLESTEP);
 #ifdef SUBARCH_EXECVE1
 	SUBARCH_EXECVE1(regs->regs);
 #endif
arch/um/kernel/process.c +1 -1
index 17045e7211bf..d71dd7725bef 100644
@@ -380,7 +380,7 @@ int singlestepping(void * t)
 {
 	struct task_struct *task = t ? t : current;
 
-	if (!(task->ptrace & PT_DTRACE))
+	if (!test_thread_flag(TIF_SINGLESTEP))
 		return 0;
 
 	if (task->thread.singlestep_syscall)
arch/um/kernel/ptrace.c +4 -4
index b425f47bddbb..d37802ced563 100644
@@ -12,7 +12,7 @@
 
 void user_enable_single_step(struct task_struct *child)
 {
-	child->ptrace |= PT_DTRACE;
+	set_tsk_thread_flag(child, TIF_SINGLESTEP);
 	child->thread.singlestep_syscall = 0;
 
 #ifdef SUBARCH_SET_SINGLESTEPPING
@@ -22,7 +22,7 @@ void user_enable_single_step(struct task_struct *child)
 
 void user_disable_single_step(struct task_struct *child)
 {
-	child->ptrace &= ~PT_DTRACE;
+	clear_tsk_thread_flag(child, TIF_SINGLESTEP);
 	child->thread.singlestep_syscall = 0;
 
 #ifdef SUBARCH_SET_SINGLESTEPPING
@@ -121,7 +121,7 @@ static void send_sigtrap(struct uml_pt_regs *regs, int error_code)
 }
 
 /*
- * XXX Check PT_DTRACE vs TIF_SINGLESTEP for singlestepping check and
+ * XXX Check TIF_SINGLESTEP for singlestepping check and
  * PT_PTRACED vs TIF_SYSCALL_TRACE for syscall tracing check
  */
 int syscall_trace_enter(struct pt_regs *regs)
@@ -145,7 +145,7 @@ void syscall_trace_leave(struct pt_regs *regs)
 	audit_syscall_exit(regs);
 
 	/* Fake a debug trap */
-	if (ptraced & PT_DTRACE)
+	if (test_thread_flag(TIF_SINGLESTEP))
 		send_sigtrap(&regs->regs, 0);
 
 	if (!test_thread_flag(TIF_SYSCALL_TRACE))
arch/um/kernel/signal.c +2 -2
index 3d57c71c532e..01628195ae52 100644
@@ -53,7 +53,7 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
 	unsigned long sp;
 	int err;
 
-	if ((current->ptrace & PT_DTRACE) && (current->ptrace & PT_PTRACED))
+	if (test_thread_flag(TIF_SINGLESTEP) && (current->ptrace & PT_PTRACED))
 		singlestep = 1;
 
 	/* Did we come from a system call? */
@@ -128,7 +128,7 @@ void do_signal(struct pt_regs *regs)
 	 * on the host.  The tracing thread will check this flag and
 	 * PTRACE_SYSCALL if necessary.
 	 */
-	if (current->ptrace & PT_DTRACE)
+	if (test_thread_flag(TIF_SINGLESTEP))
 		current->thread.singlestep_syscall =
 			is_syscall(PT_REGS_IP(&current->thread.regs));
 
arch/x86/entry/vdso/vma.c +1 -1
index f5937742b290..3613cfb83c6d 100644
@@ -323,7 +323,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
 static __init int vdso_setup(char *s)
 {
 	vdso64_enabled = simple_strtoul(s, NULL, 0);
-	return 0;
+	return 1;
 }
 __setup("vdso=", vdso_setup);
 
arch/x86/events/amd/ibs.c +18 -0
index b7baaa973317..2e930d8c04d9 100644
@@ -312,6 +312,16 @@ static int perf_ibs_init(struct perf_event *event)
 	hwc->config_base = perf_ibs->msr;
 	hwc->config = config;
 
+	/*
+	 * rip recorded by IbsOpRip will not be consistent with rsp and rbp
+	 * recorded as part of interrupt regs. Thus we need to use rip from
+	 * interrupt regs while unwinding call stack. Setting _EARLY flag
+	 * makes sure we unwind call-stack before perf sample rip is set to
+	 * IbsOpRip.
+	 */
+	if (event->attr.sample_type & PERF_SAMPLE_CALLCHAIN)
+		event->attr.sample_type |= __PERF_SAMPLE_CALLCHAIN_EARLY;
+
 	return 0;
 }
 
@@ -683,6 +693,14 @@ static int perf_ibs_handle_irq(struct perf_ibs *perf_ibs, struct pt_regs *iregs)
 		data.raw = &raw;
 	}
 
+	/*
+	 * rip recorded by IbsOpRip will not be consistent with rsp and rbp
+	 * recorded as part of interrupt regs. Thus we need to use rip from
+	 * interrupt regs while unwinding call stack.
+	 */
+	if (event->attr.sample_type & PERF_SAMPLE_CALLCHAIN)
+		data.callchain = perf_callchain(event, iregs);
+
 	throttle = perf_event_overflow(event, &data, &regs);
 out:
 	if (throttle) {
arch/x86/events/intel/core.c +1 -1
index b33540e1efa8..f2976204e8b5 100644
@@ -250,7 +250,7 @@ static struct event_constraint intel_icl_event_constraints[] = {
 	INTEL_EVENT_CONSTRAINT_RANGE(0x03, 0x0a, 0xf),
 	INTEL_EVENT_CONSTRAINT_RANGE(0x1f, 0x28, 0xf),
 	INTEL_EVENT_CONSTRAINT(0x32, 0xf),	/* SW_PREFETCH_ACCESS.* */
-	INTEL_EVENT_CONSTRAINT_RANGE(0x48, 0x54, 0xf),
+	INTEL_EVENT_CONSTRAINT_RANGE(0x48, 0x56, 0xf),
 	INTEL_EVENT_CONSTRAINT_RANGE(0x60, 0x8b, 0xf),
 	INTEL_UEVENT_CONSTRAINT(0x04a3, 0xff),  /* CYCLE_ACTIVITY.STALLS_TOTAL */
 	INTEL_UEVENT_CONSTRAINT(0x10a3, 0xff),  /* CYCLE_ACTIVITY.CYCLES_MEM_ANY */
arch/x86/include/asm/acenv.h +13 -1
index 9aff97f0de7f..d937c55e717e 100644
@@ -13,7 +13,19 @@
 
 /* Asm macros */
 
-#define ACPI_FLUSH_CPU_CACHE()	wbinvd()
+/*
+ * ACPI_FLUSH_CPU_CACHE() flushes caches on entering sleep states.
+ * It is required to prevent data loss.
+ *
+ * While running inside virtual machine, the kernel can bypass cache flushing.
+ * Changing sleep state in a virtual machine doesn't affect the host system
+ * sleep state and cannot lead to data loss.
+ */
+#define ACPI_FLUSH_CPU_CACHE()					\
+do {								\
+	if (!cpu_feature_enabled(X86_FEATURE_HYPERVISOR))	\
+		wbinvd();					\
+} while (0)
 
 int __acpi_acquire_global_lock(unsigned int *lock);
 int __acpi_release_global_lock(unsigned int *lock);
arch/x86/include/asm/cpufeature.h +1 -1
index 59bf91c57aa8..619c1f80a2ab 100644
@@ -49,7 +49,7 @@ extern const char * const x86_power_flags[32];
 extern const char * const x86_bug_flags[NBUGINTS*32];
 
 #define test_cpu_cap(c, bit)						\
-	 test_bit(bit, (unsigned long *)((c)->x86_capability))
+	 arch_test_bit(bit, (unsigned long *)((c)->x86_capability))
 
 /*
  * There are 32 bits/features in each mask word.  The high bits
arch/x86/include/asm/suspend_32.h +1 -1
index fdbd9d7b7bca..3b97aa921543 100644
@@ -21,7 +21,6 @@ struct saved_context {
 #endif
 	unsigned long cr0, cr2, cr3, cr4;
 	u64 misc_enable;
-	bool misc_enable_saved;
 	struct saved_msrs saved_msrs;
 	struct desc_ptr gdt_desc;
 	struct desc_ptr idt;
@@ -30,6 +29,7 @@ struct saved_context {
 	unsigned long tr;
 	unsigned long safety;
 	unsigned long return_address;
+	bool misc_enable_saved;
 } __attribute__((packed));
 
 /* routines for saving/restoring kernel state */
arch/x86/include/asm/suspend_64.h +8 -4
index 35bb35d28733..54df06687d83 100644
@@ -14,9 +14,13 @@
  * Image of the saved processor state, used by the low level ACPI suspend to
  * RAM code and by the low level hibernation code.
  *
- * If you modify it, fix arch/x86/kernel/acpi/wakeup_64.S and make sure that
- * __save/__restore_processor_state(), defined in arch/x86/kernel/suspend_64.c,
- * still work as required.
+ * If you modify it, check how it is used in arch/x86/kernel/acpi/wakeup_64.S
+ * and make sure that __save/__restore_processor_state(), defined in
+ * arch/x86/power/cpu.c, still work as required.
+ *
+ * Because the structure is packed, make sure to avoid unaligned members. For
+ * optimisation purposes but also because tools like kmemleak only search for
+ * pointers that are aligned.
  */
 struct saved_context {
 	struct pt_regs regs;
@@ -36,7 +40,6 @@ struct saved_context {
 
 	unsigned long cr0, cr2, cr3, cr4;
 	u64 misc_enable;
-	bool misc_enable_saved;
 	struct saved_msrs saved_msrs;
 	unsigned long efer;
 	u16 gdt_pad; /* Unused */
@@ -48,6 +51,7 @@ struct saved_context {
 	unsigned long tr;
 	unsigned long safety;
 	unsigned long return_address;
+	bool misc_enable_saved;
 } __attribute__((packed));
 
 #define loaddebug(thread,register) \
arch/x86/kernel/apic/apic.c +1 -1
index 4e4476b832be..68c734032523 100644
@@ -168,7 +168,7 @@ static __init int setup_apicpmtimer(char *s)
 {
 	apic_calibrate_pmtmr = 1;
 	notsc_setup(NULL);
-	return 0;
+	return 1;
 }
 __setup("apicpmtimer", setup_apicpmtimer);
 #endif
arch/x86/kernel/cpu/intel.c +1 -1
index 11d5c5950e2d..44688917d51f 100644
@@ -97,7 +97,7 @@ static bool ring3mwait_disabled __read_mostly;
 static int __init ring3mwait_disable(char *__unused)
 {
 	ring3mwait_disabled = true;
-	return 0;
+	return 1;
 }
 __setup("ring3mwait=disable", ring3mwait_disable);
 
arch/x86/kernel/step.c +1 -2
index 60d2c3798ba2..2f97d1a1032f 100644
@@ -175,8 +175,7 @@ void set_task_blockstep(struct task_struct *task, bool on)
 	 *
 	 * NOTE: this means that set/clear TIF_BLOCKSTEP is only safe if
 	 * task is current or it can't be running, otherwise we can race
-	 * with __switch_to_xtra(). We rely on ptrace_freeze_traced() but
-	 * PTRACE_KILL is not safe.
+	 * with __switch_to_xtra(). We rely on ptrace_freeze_traced().
 	 */
 	local_irq_disable();
 	debugctl = get_debugctlmsr();
arch/x86/kernel/sys_x86_64.c +2 -5
index f7476ce23b6e..42e31358a9d3 100644
@@ -70,9 +70,6 @@ static int __init control_va_addr_alignment(char *str)
 	if (*str == 0)
 		return 1;
 
-	if (*str == '=')
-		str++;
-
 	if (!strcmp(str, "32"))
 		va_align.flags = ALIGN_VA_32;
 	else if (!strcmp(str, "64"))
@@ -82,11 +79,11 @@ static int __init control_va_addr_alignment(char *str)
 	else if (!strcmp(str, "on"))
 		va_align.flags = ALIGN_VA_32 | ALIGN_VA_64;
 	else
-		return 0;
+		pr_warn("invalid option value: 'align_va_addr=%s'\n", str);
 
 	return 1;
 }
-__setup("align_va_addr", control_va_addr_alignment);
+__setup("align_va_addr=", control_va_addr_alignment);
 
 SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
 		unsigned long, prot, unsigned long, flags,
arch/x86/kvm/vmx/nested.c +10 -5
index 3041015b05f7..9f61ae64b727 100644
@@ -3746,12 +3746,12 @@ static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
 	/* update exit information fields: */
 	vmcs12->vm_exit_reason = exit_reason;
 	vmcs12->exit_qualification = exit_qualification;
-	vmcs12->vm_exit_intr_info = exit_intr_info;
-
-	vmcs12->idt_vectoring_info_field = 0;
-	vmcs12->vm_exit_instruction_len = vmcs_read32(VM_EXIT_INSTRUCTION_LEN);
-	vmcs12->vmx_instruction_info = vmcs_read32(VMX_INSTRUCTION_INFO);
 
+	/*
+	 * On VM-Exit due to a failed VM-Entry, the VMCS isn't marked launched
+	 * and only EXIT_REASON and EXIT_QUALIFICATION are updated, all other
+	 * exit info fields are unmodified.
+	 */
 	if (!(vmcs12->vm_exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY)) {
 		vmcs12->launch_state = 1;
 
@@ -3763,8 +3763,13 @@ static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12,
 		 * Transfer the event that L0 or L1 may wanted to inject into
 		 * L2 to IDT_VECTORING_INFO_FIELD.
 		 */
+		vmcs12->idt_vectoring_info_field = 0;
 		vmcs12_save_pending_event(vcpu, vmcs12);
 
+		vmcs12->vm_exit_intr_info = exit_intr_info;
+		vmcs12->vm_exit_instruction_len = vmcs_read32(VM_EXIT_INSTRUCTION_LEN);
+		vmcs12->vmx_instruction_info = vmcs_read32(VMX_INSTRUCTION_INFO);
+
 		/*
 		 * According to spec, there's no need to store the guest's
 		 * MSRs if the exit is due to a VM-entry failure that occurs
arch/x86/lib/delay.c +2 -2
index c126571e5e2e..3d1cfad36ba2 100644
@@ -43,8 +43,8 @@ static void delay_loop(unsigned long loops)
 		"	jnz 2b		\n"
 		"3:	dec %0		\n"
 
-		: /* we don't need output */
-		:"a" (loops)
+		: "+a" (loops)
+		:
 	);
 }
 
arch/x86/mm/pat.c +1 -1
index 35b2e35c2203..c7c4e2f8c6a5 100644
@@ -75,7 +75,7 @@ int pat_debug_enable;
 static int __init pat_debug_setup(char *str)
 {
 	pat_debug_enable = 1;
-	return 0;
+	return 1;
 }
 __setup("debugpat", pat_debug_setup);
 
arch/x86/um/ldt.c +4 -2
index 3ee234b6234d..255a44dd415a 100644
@@ -23,9 +23,11 @@ static long write_ldt_entry(struct mm_id *mm_idp, int func,
 {
 	long res;
 	void *stub_addr;
+
+	BUILD_BUG_ON(sizeof(*desc) % sizeof(long));
+
 	res = syscall_stub_data(mm_idp, (unsigned long *)desc,
-				(sizeof(*desc) + sizeof(long) - 1) &
-				    ~(sizeof(long) - 1),
+				sizeof(*desc) / sizeof(long),
 				addr, &stub_addr);
 	if (!res) {
 		unsigned long args[] = { func,
arch/xtensa/kernel/ptrace.c +2 -2
index 145742d70a9f..998b4249065a 100644
@@ -225,12 +225,12 @@ const struct user_regset_view *task_user_regset_view(struct task_struct *task)
 
 void user_enable_single_step(struct task_struct *child)
 {
-	child->ptrace |= PT_SINGLESTEP;
+	set_tsk_thread_flag(child, TIF_SINGLESTEP);
 }
 
 void user_disable_single_step(struct task_struct *child)
 {
-	child->ptrace &= ~PT_SINGLESTEP;
+	clear_tsk_thread_flag(child, TIF_SINGLESTEP);
 }
 
 /*
arch/xtensa/kernel/signal.c +2 -2
index dae83cddd6ca..cf2bd960b30d 100644
@@ -465,7 +465,7 @@ static void do_signal(struct pt_regs *regs)
 		/* Set up the stack frame */
 		ret = setup_frame(&ksig, sigmask_to_save(), regs);
 		signal_setup_done(ret, &ksig, 0);
-		if (current->ptrace & PT_SINGLESTEP)
+		if (test_thread_flag(TIF_SINGLESTEP))
 			task_pt_regs(current)->icountlevel = 1;
 
 		return;
@@ -491,7 +491,7 @@ static void do_signal(struct pt_regs *regs)
 	/* If there's no signal to deliver, we just restore the saved mask.  */
 	restore_saved_sigmask();
 
-	if (current->ptrace & PT_SINGLESTEP)
+	if (test_thread_flag(TIF_SINGLESTEP))
 		task_pt_regs(current)->icountlevel = 1;
 	return;
 }
block/bfq-cgroup.c +67 -44

184 lines not on this page · raw message

block/bfq-iosched.c +25 -21

115 lines not on this page · raw message

block/bfq-iosched.h +4 -2
index de98fdfe9ea1..f6cc2b418008 100644
@@ -896,6 +896,8 @@ struct bfq_group {
 
 	/* reference counter (see comments in bfq_bic_update_cgroup) */
 	int ref;
+	/* Is bfq_group still online? */
+	bool online;
 
 	struct bfq_entity entity;
 	struct bfq_sched_data sched_data;
@@ -949,6 +951,7 @@ void bfq_weights_tree_remove(struct bfq_data *bfqd,
 void bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 		     bool compensate, enum bfqq_expiration reason);
 void bfq_put_queue(struct bfq_queue *bfqq);
+void bfq_put_cooperator(struct bfq_queue *bfqq);
 void bfq_end_wr_async_queues(struct bfq_data *bfqd, struct bfq_group *bfqg);
 void bfq_release_process_ref(struct bfq_data *bfqd, struct bfq_queue *bfqq);
 void bfq_schedule_dispatch(struct bfq_data *bfqd);
@@ -975,8 +978,7 @@ void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 void bfq_init_entity(struct bfq_entity *entity, struct bfq_group *bfqg);
 void bfq_bic_update_cgroup(struct bfq_io_cq *bic, struct bio *bio);
 void bfq_end_wr_async(struct bfq_data *bfqd);
-struct bfq_group *bfq_find_set_group(struct bfq_data *bfqd,
-				     struct blkcg *blkcg);
+struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio);
 struct blkcg_gq *bfqg_to_blkg(struct bfq_group *bfqg);
 struct bfq_group *bfqq_group(struct bfq_queue *bfqq);
 struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node);
block/bio.c +1 -1
index 40004a3631a8..08dbdc32ceaa 100644
@@ -2179,7 +2179,7 @@ void bio_clone_blkg_association(struct bio *dst, struct bio *src)
 	rcu_read_lock();
 
 	if (src->bi_blkg)
-		__bio_associate_blkg(dst, src->bi_blkg);
+		bio_associate_blkg_from_css(dst, &bio_blkcg(src)->css);
 
 	rcu_read_unlock();
 }
block/blk-iolatency.c +64 -58

208 lines not on this page · raw message

crypto/cryptd.c +11 -12
index 927760b316a4..43a1a855886b 100644
@@ -39,6 +39,10 @@ struct cryptd_cpu_queue {
 };
 
 struct cryptd_queue {
+	/*
+	 * Protected by disabling BH to allow enqueueing from softinterrupt and
+	 * dequeuing from kworker (cryptd_queue_worker()).
+	 */
 	struct cryptd_cpu_queue __percpu *cpu_queue;
 };
 
@@ -125,28 +129,28 @@ static void cryptd_fini_queue(struct cryptd_queue *queue)
 static int cryptd_enqueue_request(struct cryptd_queue *queue,
 				  struct crypto_async_request *request)
 {
-	int cpu, err;
+	int err;
 	struct cryptd_cpu_queue *cpu_queue;
 	refcount_t *refcnt;
 
-	cpu = get_cpu();
+	local_bh_disable();
 	cpu_queue = this_cpu_ptr(queue->cpu_queue);
 	err = crypto_enqueue_request(&cpu_queue->queue, request);
 
 	refcnt = crypto_tfm_ctx(request->tfm);
 
 	if (err == -ENOSPC)
-		goto out_put_cpu;
+		goto out;
 
-	queue_work_on(cpu, cryptd_wq, &cpu_queue->work);
+	queue_work_on(smp_processor_id(), cryptd_wq, &cpu_queue->work);
 
 	if (!refcount_read(refcnt))
-		goto out_put_cpu;
+		goto out;
 
 	refcount_inc(refcnt);
 
-out_put_cpu:
-	put_cpu();
+out:
+	local_bh_enable();
 
 	return err;
 }
@@ -162,15 +166,10 @@ static void cryptd_queue_worker(struct work_struct *work)
 	cpu_queue = container_of(work, struct cryptd_cpu_queue, work);
 	/*
 	 * Only handle one request at a time to avoid hogging crypto workqueue.
-	 * preempt_disable/enable is used to prevent being preempted by
-	 * cryptd_enqueue_request(). local_bh_disable/enable is used to prevent
-	 * cryptd_enqueue_request() being accessed from software interrupts.
 	 */
 	local_bh_disable();
-	preempt_disable();
 	backlog = crypto_get_backlog(&cpu_queue->queue);
 	req = crypto_dequeue_request(&cpu_queue->queue);
-	preempt_enable();
 	local_bh_enable();
 
 	if (!req)
drivers/acpi/property.c +12 -6
index a4b7cdd0c844..1b0aeb832044 100644
@@ -430,6 +430,16 @@ void acpi_init_properties(struct acpi_device *adev)
 		acpi_extract_apple_properties(adev);
 }
 
+static void acpi_free_device_properties(struct list_head *list)
+{
+	struct acpi_device_properties *props, *tmp;
+
+	list_for_each_entry_safe(props, tmp, list, list) {
+		list_del(&props->list);
+		kfree(props);
+	}
+}
+
 static void acpi_destroy_nondev_subnodes(struct list_head *list)
 {
 	struct acpi_data_node *dn, *next;
@@ -442,22 +452,18 @@ static void acpi_destroy_nondev_subnodes(struct list_head *list)
 		wait_for_completion(&dn->kobj_done);
 		list_del(&dn->sibling);
 		ACPI_FREE((void *)dn->data.pointer);
+		acpi_free_device_properties(&dn->data.properties);
 		kfree(dn);
 	}
 }
 
 void acpi_free_properties(struct acpi_device *adev)
 {
-	struct acpi_device_properties *props, *tmp;
-
 	acpi_destroy_nondev_subnodes(&adev->data.subnodes);
 	ACPI_FREE((void *)adev->data.pointer);
 	adev->data.of_compatible = NULL;
 	adev->data.pointer = NULL;
-	list_for_each_entry_safe(props, tmp, &adev->data.properties, list) {
-		list_del(&props->list);
-		kfree(props);
-	}
+	acpi_free_device_properties(&adev->data.properties);
 }
 
 /**
drivers/acpi/sleep.c +12 -0
index b0e23e3fe0d5..34966128293b 100644
@@ -374,6 +374,18 @@ static const struct dmi_system_id acpisleep_dmi_table[] __initconst = {
 		DMI_MATCH(DMI_PRODUCT_NAME, "20GGA00L00"),
 		},
 	},
+	/*
+	 * ASUS B1400CEAE hangs on resume from suspend (see
+	 * https://bugzilla.kernel.org/show_bug.cgi?id=215742).
+	 */
+	{
+	.callback = init_default_s3,
+	.ident = "ASUS B1400CEAE",
+	.matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+		DMI_MATCH(DMI_PRODUCT_NAME, "ASUS EXPERTBOOK B1400CEAE"),
+		},
+	},
 	{},
 };
 
drivers/ata/libata-transport.c +1 -1
index 12a505bb9c5b..c4f36312b8a4 100644
@@ -196,7 +196,7 @@ static struct {
 	{ XFER_PIO_0,			"XFER_PIO_0" },
 	{ XFER_PIO_SLOW,		"XFER_PIO_SLOW" }
 };
-ata_bitfield_name_match(xfer,ata_xfer_names)
+ata_bitfield_name_search(xfer, ata_xfer_names)
 
 /*
  * ATA Port attributes
drivers/ata/pata_octeon_cf.c +3 -0
index ac3b1fda820f..c240d8cbfd41 100644
@@ -888,12 +888,14 @@ static int octeon_cf_probe(struct platform_device *pdev)
 				int i;
 				res_dma = platform_get_resource(dma_dev, IORESOURCE_MEM, 0);
 				if (!res_dma) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
 				cf_port->dma_base = (u64)devm_ioremap_nocache(&pdev->dev, res_dma->start,
 									 resource_size(res_dma));
 				if (!cf_port->dma_base) {
+					put_device(&dma_dev->dev);
 					of_node_put(dma_node);
 					return -EINVAL;
 				}
@@ -903,6 +905,7 @@ static int octeon_cf_probe(struct platform_device *pdev)
 					irq = i;
 					irq_handler = octeon_cf_interrupt;
 				}
+				put_device(&dma_dev->dev);
 			}
 			of_node_put(dma_node);
 		}
drivers/base/bus.c +3 -1
index a1d1e8256324..7d7d28f498ed 100644
@@ -620,7 +620,7 @@ int bus_add_driver(struct device_driver *drv)
 	if (drv->bus->p->drivers_autoprobe) {
 		error = driver_attach(drv);
 		if (error)
-			goto out_unregister;
+			goto out_del_list;
 	}
 	module_add_driver(drv->owner, drv);
 
@@ -647,6 +647,8 @@ int bus_add_driver(struct device_driver *drv)
 
 	return 0;
 
+out_del_list:
+	klist_del(&priv->knode_bus);
 out_unregister:
 	kobject_put(&priv->kobj);
 	/* drv->p is freed in driver_release()  */
drivers/base/dd.c +4 -1
index 26cd4ce3ac75..6f85280fef8d 100644
@@ -873,6 +873,7 @@ static void __device_attach_async_helper(void *_dev, async_cookie_t cookie)
 static int __device_attach(struct device *dev, bool allow_async)
 {
 	int ret = 0;
+	bool async = false;
 
 	device_lock(dev);
 	if (dev->p->dead) {
@@ -911,7 +912,7 @@ static int __device_attach(struct device *dev, bool allow_async)
 			 */
 			dev_dbg(dev, "scheduling asynchronous probe\n");
 			get_device(dev);
-			async_schedule_dev(__device_attach_async_helper, dev);
+			async = true;
 		} else {
 			pm_request_idle(dev);
 		}
@@ -921,6 +922,8 @@ static int __device_attach(struct device *dev, bool allow_async)
 	}
 out_unlock:
 	device_unlock(dev);
+	if (async)
+		async_schedule_dev(__device_attach_async_helper, dev);
 	return ret;
 }
 
drivers/base/node.c +1 -0
index 62a052990bb9..666eb55c0774 100644
@@ -641,6 +641,7 @@ static int register_node(struct node *node, int num)
  */
 void unregister_node(struct node *node)
 {
+	compaction_unregister_node(node);
 	hugetlb_unregister_node(node);		/* no-op, if memoryless node */
 	node_remove_accesses(node);
 	node_remove_caches(node);
drivers/block/drbd/drbd_main.c +6 -5
index ba10fa24fa1f..5ece2fd70d9c 100644
@@ -3709,9 +3709,8 @@ const char *cmdname(enum drbd_packet cmd)
 	 * when we want to support more than
 	 * one PRO_VERSION */
 	static const char *cmdnames[] = {
+
 		[P_DATA]	        = "Data",
-		[P_WSAME]	        = "WriteSame",
-		[P_TRIM]	        = "Trim",
 		[P_DATA_REPLY]	        = "DataReply",
 		[P_RS_DATA_REPLY]	= "RSDataReply",
 		[P_BARRIER]	        = "Barrier",
@@ -3722,7 +3721,6 @@ const char *cmdname(enum drbd_packet cmd)
 		[P_DATA_REQUEST]	= "DataRequest",
 		[P_RS_DATA_REQUEST]     = "RSDataRequest",
 		[P_SYNC_PARAM]	        = "SyncParam",
-		[P_SYNC_PARAM89]	= "SyncParam89",
 		[P_PROTOCOL]            = "ReportProtocol",
 		[P_UUIDS]	        = "ReportUUIDs",
 		[P_SIZES]	        = "ReportSizes",
@@ -3730,6 +3728,7 @@ const char *cmdname(enum drbd_packet cmd)
 		[P_SYNC_UUID]           = "ReportSyncUUID",
 		[P_AUTH_CHALLENGE]      = "AuthChallenge",
 		[P_AUTH_RESPONSE]	= "AuthResponse",
+		[P_STATE_CHG_REQ]       = "StateChgRequest",
 		[P_PING]		= "Ping",
 		[P_PING_ACK]	        = "PingAck",
 		[P_RECV_ACK]	        = "RecvAck",
@@ -3740,24 +3739,26 @@ const char *cmdname(enum drbd_packet cmd)
 		[P_NEG_DREPLY]	        = "NegDReply",
 		[P_NEG_RS_DREPLY]	= "NegRSDReply",
 		[P_BARRIER_ACK]	        = "BarrierAck",
-		[P_STATE_CHG_REQ]       = "StateChgRequest",
 		[P_STATE_CHG_REPLY]     = "StateChgReply",
 		[P_OV_REQUEST]          = "OVRequest",
 		[P_OV_REPLY]            = "OVReply",
 		[P_OV_RESULT]           = "OVResult",
 		[P_CSUM_RS_REQUEST]     = "CsumRSRequest",
 		[P_RS_IS_IN_SYNC]	= "CsumRSIsInSync",
+		[P_SYNC_PARAM89]	= "SyncParam89",
 		[P_COMPRESSED_BITMAP]   = "CBitmap",
 		[P_DELAY_PROBE]         = "DelayProbe",
 		[P_OUT_OF_SYNC]		= "OutOfSync",
-		[P_RETRY_WRITE]		= "RetryWrite",
 		[P_RS_CANCEL]		= "RSCancel",
 		[P_CONN_ST_CHG_REQ]	= "conn_st_chg_req",
 		[P_CONN_ST_CHG_REPLY]	= "conn_st_chg_reply",
 		[P_RETRY_WRITE]		= "retry_write",
 		[P_PROTOCOL_UPDATE]	= "protocol_update",
+		[P_TRIM]	        = "Trim",
 		[P_RS_THIN_REQ]         = "rs_thin_req",
 		[P_RS_DEALLOCATED]      = "rs_deallocated",
+		[P_WSAME]	        = "WriteSame",
+		[P_ZEROES]		= "Zeroes",
 
 		/* enum drbd_packet, but not commands - obsoleted flags:
 		 *	P_MAY_IGNORE
drivers/block/nbd.c +35 -15

118 lines not on this page · raw message

drivers/block/virtio_blk.c +4 -3
index 2a5cd502feae..9b3ea86c20e5 100644
@@ -976,11 +976,12 @@ static int virtblk_probe(struct virtio_device *vdev)
 		blk_queue_io_opt(q, blk_size * opt_io_size);
 
 	if (virtio_has_feature(vdev, VIRTIO_BLK_F_DISCARD)) {
-		q->limits.discard_granularity = blk_size;
-
 		virtio_cread(vdev, struct virtio_blk_config,
 			     discard_sector_alignment, &v);
-		q->limits.discard_alignment = v ? v << SECTOR_SHIFT : 0;
+		if (v)
+			q->limits.discard_granularity = v << SECTOR_SHIFT;
+		else
+			q->limits.discard_granularity = blk_size;
 
 		virtio_cread(vdev, struct virtio_blk_config,
 			     max_discard_sectors, &v);
drivers/bus/ti-sysc.c +3 -1
index 469ca73de4ce..44aeceaccfa4 100644
@@ -2724,7 +2724,9 @@ static int sysc_remove(struct platform_device *pdev)
 	struct sysc *ddata = platform_get_drvdata(pdev);
 	int error;
 
-	cancel_delayed_work_sync(&ddata->idle_work);
+	/* Device can still be enabled, see deferred idle quirk in probe */
+	if (cancel_delayed_work_sync(&ddata->idle_work))
+		ti_sysc_idle(&ddata->idle_work.work);
 
 	error = pm_runtime_get_sync(ddata->dev);
 	if (error < 0) {
drivers/char/ipmi/ipmi_msghandler.c +2 -2
index ad2e6d55d4a5..736970312bbc 100644
@@ -11,8 +11,8 @@
  * Copyright 2002 MontaVista Software Inc.
  */
 
-#define pr_fmt(fmt) "%s" fmt, "IPMI message handler: "
-#define dev_fmt pr_fmt
+#define pr_fmt(fmt) "IPMI message handler: " fmt
+#define dev_fmt(fmt) pr_fmt(fmt)
 
 #include <linux/module.h>
 #include <linux/errno.h>
drivers/char/ipmi/ipmi_ssif.c +23 -0
index bb42a1c92cae..60fb6c62f224 100644
@@ -845,6 +845,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 		break;
 
 	case SSIF_GETTING_EVENTS:
+		if (!msg) {
+			/* Should never happen, but just in case. */
+			dev_warn(&ssif_info->client->dev,
+				 "No message set while getting events\n");
+			ipmi_ssif_unlock_cond(ssif_info, flags);
+			break;
+		}
+
 		if ((result < 0) || (len < 3) || (msg->rsp[2] != 0)) {
 			/* Error getting event, probably done. */
 			msg->done(msg);
@@ -869,6 +877,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 		break;
 
 	case SSIF_GETTING_MESSAGES:
+		if (!msg) {
+			/* Should never happen, but just in case. */
+			dev_warn(&ssif_info->client->dev,
+				 "No message set while getting messages\n");
+			ipmi_ssif_unlock_cond(ssif_info, flags);
+			break;
+		}
+
 		if ((result < 0) || (len < 3) || (msg->rsp[2] != 0)) {
 			/* Error getting event, probably done. */
 			msg->done(msg);
@@ -892,6 +908,13 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
 			deliver_recv_msg(ssif_info, msg);
 		}
 		break;
+
+	default:
+		/* Should never happen, but just in case. */
+		dev_warn(&ssif_info->client->dev,
+			 "Invalid state in message done handling: %d\n",
+			 ssif_info->ssif_state);
+		ipmi_ssif_unlock_cond(ssif_info, flags);
 	}
 
 	flags = ipmi_ssif_lock_cond(ssif_info, &oflags);
drivers/clocksource/timer-oxnas-rps.c +1 -1
index 56c0cc32d0ac..d514b44e67dd 100644
@@ -236,7 +236,7 @@ static int __init oxnas_rps_timer_init(struct device_node *np)
 	}
 
 	rps->irq = irq_of_parse_and_map(np, 0);
-	if (rps->irq < 0) {
+	if (!rps->irq) {
 		ret = -EINVAL;
 		goto err_iomap;
 	}
drivers/clocksource/timer-riscv.c +1 -1
index 4b04ffbe5e7e..e3be5c2f57b8 100644
@@ -26,7 +26,7 @@ static int riscv_clock_next_event(unsigned long delta,
 
 static DEFINE_PER_CPU(struct clock_event_device, riscv_clock_event) = {
 	.name			= "riscv_timer_clockevent",
-	.features		= CLOCK_EVT_FEAT_ONESHOT,
+	.features		= CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP,
 	.rating			= 100,
 	.set_next_event		= riscv_clock_next_event,
 };
drivers/clocksource/timer-sp804.c +5 -5
index 9c841980eed1..c9aa0498fb84 100644
@@ -215,6 +215,11 @@ static int __init sp804_of_init(struct device_node *np)
 	struct clk *clk1, *clk2;
 	const char *name = of_get_property(np, "compatible", NULL);
 
+	if (initialized) {
+		pr_debug("%pOF: skipping further SP804 timer device\n", np);
+		return 0;
+	}
+
 	base = of_iomap(np, 0);
 	if (!base)
 		return -ENXIO;
@@ -223,11 +228,6 @@ static int __init sp804_of_init(struct device_node *np)
 	writel(0, base + TIMER_CTRL);
 	writel(0, base + TIMER_2_BASE + TIMER_CTRL);
 
-	if (initialized || !of_device_is_available(np)) {
-		ret = -EINVAL;
-		goto err;
-	}
-
 	clk1 = of_clk_get(np, 0);
 	if (IS_ERR(clk1))
 		clk1 = NULL;
drivers/crypto/marvell/cipher.c +0 -1
index 84ceddfee76b..708dc63b2f09 100644
@@ -610,7 +610,6 @@ struct skcipher_alg mv_cesa_ecb_des3_ede_alg = {
 	.decrypt = mv_cesa_ecb_des3_ede_decrypt,
 	.min_keysize = DES3_EDE_KEY_SIZE,
 	.max_keysize = DES3_EDE_KEY_SIZE,
-	.ivsize = DES3_EDE_BLOCK_SIZE,
 	.base = {
 		.cra_name = "ecb(des3_ede)",
 		.cra_driver_name = "mv-ecb-des3-ede",
drivers/devfreq/rk3399_dmc.c +2 -0
index 027769e39f9b..a491dcfa1dd0 100644
@@ -485,6 +485,8 @@ static int rk3399_dmcfreq_remove(struct platform_device *pdev)
 {
 	struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(&pdev->dev);
 
+	devfreq_event_disable_edev(dmcfreq->edev);
+
 	/*
 	 * Before remove the opp table we need to unregister the opp notifier.
 	 */
drivers/dma/stm32-mdma.c +5 -16
index a05355d1292e..c902c2480640 100644
@@ -40,7 +40,6 @@
 					 STM32_MDMA_SHIFT(mask))
 
 #define STM32_MDMA_GISR0		0x0000 /* MDMA Int Status Reg 1 */
-#define STM32_MDMA_GISR1		0x0004 /* MDMA Int Status Reg 2 */
 
 /* MDMA Channel x interrupt/status register */
 #define STM32_MDMA_CISR(x)		(0x40 + 0x40 * (x)) /* x = 0..62 */
@@ -196,7 +195,7 @@
 
 #define STM32_MDMA_MAX_BUF_LEN		128
 #define STM32_MDMA_MAX_BLOCK_LEN	65536
-#define STM32_MDMA_MAX_CHANNELS		63
+#define STM32_MDMA_MAX_CHANNELS		32
 #define STM32_MDMA_MAX_REQUESTS		256
 #define STM32_MDMA_MAX_BURST		128
 #define STM32_MDMA_VERY_HIGH_PRIORITY	0x11
@@ -1351,21 +1350,11 @@ static irqreturn_t stm32_mdma_irq_handler(int irq, void *devid)
 
 	/* Find out which channel generates the interrupt */
 	status = readl_relaxed(dmadev->base + STM32_MDMA_GISR0);
-	if (status) {
-		id = __ffs(status);
-	} else {
-		status = readl_relaxed(dmadev->base + STM32_MDMA_GISR1);
-		if (!status) {
-			dev_dbg(mdma2dev(dmadev), "spurious it\n");
-			return IRQ_NONE;
-		}
-		id = __ffs(status);
-		/*
-		 * As GISR0 provides status for channel id from 0 to 31,
-		 * so GISR1 provides status for channel id from 32 to 62
-		 */
-		id += 32;
+	if (!status) {
+		dev_dbg(mdma2dev(dmadev), "spurious it\n");
+		return IRQ_NONE;
 	}
+	id = __ffs(status);
 
 	chan = &dmadev->chan[id];
 	if (!chan) {
drivers/dma/xilinx/zynqmp_dma.c +3 -2
index 84009c5e0f33..b61d0c79dffb 100644
@@ -232,7 +232,7 @@ struct zynqmp_dma_chan {
 	bool is_dmacoherent;
 	struct tasklet_struct tasklet;
 	bool idle;
-	u32 desc_size;
+	size_t desc_size;
 	bool err;
 	u32 bus_width;
 	u32 src_burst_len;
@@ -489,7 +489,8 @@ static int zynqmp_dma_alloc_chan_resources(struct dma_chan *dchan)
 	}
 
 	chan->desc_pool_v = dma_alloc_coherent(chan->dev,
-					       (2 * chan->desc_size * ZYNQMP_DMA_NUM_DESCS),
+					       (2 * ZYNQMP_DMA_DESC_SIZE(chan) *
+					       ZYNQMP_DMA_NUM_DESCS),
 					       &chan->desc_pool_p, GFP_KERNEL);
 	if (!chan->desc_pool_v)
 		return -ENOMEM;
drivers/extcon/extcon.c +17 -12
index 5c9e156cd086..6b905c3d30f4 100644
@@ -1230,19 +1230,14 @@ int extcon_dev_register(struct extcon_dev *edev)
 		edev->dev.type = &edev->extcon_dev_type;
 	}
 
-	ret = device_register(&edev->dev);
-	if (ret) {
-		put_device(&edev->dev);
-		goto err_dev;
-	}
-
 	spin_lock_init(&edev->lock);
-	edev->nh = devm_kcalloc(&edev->dev, edev->max_supported,
-				sizeof(*edev->nh), GFP_KERNEL);
-	if (!edev->nh) {
-		ret = -ENOMEM;
-		device_unregister(&edev->dev);
-		goto err_dev;
+	if (edev->max_supported) {
+		edev->nh = kcalloc(edev->max_supported, sizeof(*edev->nh),
+				GFP_KERNEL);
+		if (!edev->nh) {
+			ret = -ENOMEM;
+			goto err_alloc_nh;
+		}
 	}
 
 	for (index = 0; index < edev->max_supported; index++)
@@ -1253,6 +1248,12 @@ int extcon_dev_register(struct extcon_dev *edev)
 	dev_set_drvdata(&edev->dev, edev);
 	edev->state = 0;
 
+	ret = device_register(&edev->dev);
+	if (ret) {
+		put_device(&edev->dev);
+		goto err_dev;
+	}
+
 	mutex_lock(&extcon_dev_list_lock);
 	list_add(&edev->entry, &extcon_dev_list);
 	mutex_unlock(&extcon_dev_list_lock);
@@ -1260,6 +1261,9 @@ int extcon_dev_register(struct extcon_dev *edev)
 	return 0;
 
 err_dev:
+	if (edev->max_supported)
+		kfree(edev->nh);
+err_alloc_nh:
 	if (edev->max_supported)
 		kfree(edev->extcon_dev_type.groups);
 err_alloc_groups:
@@ -1320,6 +1324,7 @@ void extcon_dev_unregister(struct extcon_dev *edev)
 	if (edev->max_supported) {
 		kfree(edev->extcon_dev_type.groups);
 		kfree(edev->cables);
+		kfree(edev->nh);
 	}
 
 	put_device(&edev->dev);
drivers/firmware/arm_scmi/base.c +1 -1
index f986ee8919f0..2be32e86445f 100644
@@ -164,7 +164,7 @@ static int scmi_base_implementation_list_get(const struct scmi_handle *handle,
 			break;
 
 		loop_num_ret = le32_to_cpu(*num_ret);
-		if (tot_num_ret + loop_num_ret > MAX_PROTOCOLS_IMP) {
+		if (loop_num_ret > MAX_PROTOCOLS_IMP - tot_num_ret) {
 			dev_err(dev, "No. of Protocol > MAX_PROTOCOLS_IMP");
 			break;
 		}
drivers/firmware/dmi-sysfs.c +1 -1
index b6180023eba7..2858e05636e9 100644
@@ -603,7 +603,7 @@ static void __init dmi_sysfs_register_handle(const struct dmi_header *dh,
 				    "%d-%d", dh->type, entry->instance);
 
 	if (*ret) {
-		kfree(entry);
+		kobject_put(&entry->kobj);
 		return;
 	}
 
drivers/firmware/stratix10-svc.c +6 -6
index b2b4ba240fb1..08c422380a00 100644
@@ -934,17 +934,17 @@ EXPORT_SYMBOL_GPL(stratix10_svc_allocate_memory);
 void stratix10_svc_free_memory(struct stratix10_svc_chan *chan, void *kaddr)
 {
 	struct stratix10_svc_data_mem *pmem;
-	size_t size = 0;
 
 	list_for_each_entry(pmem, &svc_data_mem, node)
 		if (pmem->vaddr == kaddr) {
-			size = pmem->size;
-			break;
+			gen_pool_free(chan->ctrl->genpool,
+				       (unsigned long)kaddr, pmem->size);
+			pmem->vaddr = NULL;
+			list_del(&pmem->node);
+			return;
 		}
 
-	gen_pool_free(chan->ctrl->genpool, (unsigned long)kaddr, size);
-	pmem->vaddr = NULL;
-	list_del(&pmem->node);
+	list_del(&svc_data_mem);
 }
 EXPORT_SYMBOL_GPL(stratix10_svc_free_memory);
 
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -1
index fddeea2b17e5..7eeb98fe50ed 100644
@@ -114,7 +114,7 @@ static int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, union drm_amdgpu_cs
 	int ret;
 
 	if (cs->in.num_chunks == 0)
-		return 0;
+		return -EINVAL;
 
 	chunk_array = kmalloc_array(cs->in.num_chunks, sizeof(uint64_t), GFP_KERNEL);
 	if (!chunk_array)
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +1 -2
index 3a6115ad0196..f3250db7f9c2 100644
@@ -568,8 +568,7 @@ int amdgpu_ucode_create_bo(struct amdgpu_device *adev)
 
 void amdgpu_ucode_free_bo(struct amdgpu_device *adev)
 {
-	if (adev->firmware.load_type != AMDGPU_FW_LOAD_DIRECT)
-		amdgpu_bo_free_kernel(&adev->firmware.fw_buf,
+	amdgpu_bo_free_kernel(&adev->firmware.fw_buf,
 		&adev->firmware.fw_buf_mc,
 		&adev->firmware.fw_buf_ptr);
 }
drivers/gpu/drm/amd/amdgpu/kv_dpm.c +1 -13
index 4b3faaccecb9..c8a5a5698edd 100644
@@ -1609,19 +1609,7 @@ static int kv_update_samu_dpm(struct amdgpu_device *adev, bool gate)
 
 static u8 kv_get_acp_boot_level(struct amdgpu_device *adev)
 {
-	u8 i;
-	struct amdgpu_clock_voltage_dependency_table *table =
-		&adev->pm.dpm.dyn_state.acp_clock_voltage_dependency_table;
-
-	for (i = 0; i < table->count; i++) {
-		if (table->entries[i].clk >= 0) /* XXX */
-			break;
-	}
-
-	if (i >= table->count)
-		i = table->count - 1;
-
-	return i;
+	return 0;
 }
 
 static void kv_update_acp_boot_level(struct amdgpu_device *adev)
drivers/gpu/drm/amd/amdgpu/si_dpm.c +3 -5
index 4cb4c891120b..9931d5c17cfb 100644
@@ -7250,17 +7250,15 @@ static int si_parse_power_table(struct amdgpu_device *adev)
 	if (!adev->pm.dpm.ps)
 		return -ENOMEM;
 	power_state_offset = (u8 *)state_array->states;
-	for (i = 0; i < state_array->ucNumEntries; i++) {
+	for (adev->pm.dpm.num_ps = 0, i = 0; i < state_array->ucNumEntries; i++) {
 		u8 *idx;
 		power_state = (union pplib_power_state *)power_state_offset;
 		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];
 		ps = kzalloc(sizeof(struct  si_ps), GFP_KERNEL);
-		if (ps == NULL) {
-			kfree(adev->pm.dpm.ps);
+		if (ps == NULL)
 			return -ENOMEM;
-		}
 		adev->pm.dpm.ps[i].ps_priv = ps;
 		si_parse_pplib_non_clock_info(adev, &adev->pm.dpm.ps[i],
 					      non_clock_info,
@@ -7282,8 +7280,8 @@ static int si_parse_power_table(struct amdgpu_device *adev)
 			k++;
 		}
 		power_state_offset += 2 + power_state->v2.ucNumDPMLevels;
+		adev->pm.dpm.num_ps++;
 	}
-	adev->pm.dpm.num_ps = state_array->ucNumEntries;
 
 	/* fill in the vce power states */
 	for (i = 0; i < adev->pm.dpm.num_of_vce_states; i++) {
drivers/gpu/drm/arm/display/komeda/komeda_plane.c +8 -2
index 98e915e325dd..bc3f42e915e9 100644
@@ -264,6 +264,10 @@ static int komeda_plane_add(struct komeda_kms_dev *kms,
 
 	formats = komeda_get_layer_fourcc_list(&mdev->fmt_tbl,
 					       layer->layer_type, &n_formats);
+	if (!formats) {
+		kfree(kplane);
+		return -ENOMEM;
+	}
 
 	err = drm_universal_plane_init(&kms->base, plane,
 			get_possible_crtcs(kms, c->pipeline),
@@ -274,8 +278,10 @@ static int komeda_plane_add(struct komeda_kms_dev *kms,
 
 	komeda_put_fourcc_list(formats);
 
-	if (err)
-		goto cleanup;
+	if (err) {
+		kfree(kplane);
+		return err;
+	}
 
 	drm_plane_helper_add(plane, &komeda_plane_helper_funcs);
 
drivers/gpu/drm/arm/malidp_crtc.c +4 -1
index 587d94798f5c..af729094260c 100644
@@ -483,7 +483,10 @@ static void malidp_crtc_reset(struct drm_crtc *crtc)
 	if (crtc->state)
 		malidp_crtc_destroy_state(crtc, crtc->state);
 
-	__drm_atomic_helper_crtc_reset(crtc, &state->base);
+	if (state)
+		__drm_atomic_helper_crtc_reset(crtc, &state->base);
+	else
+		__drm_atomic_helper_crtc_reset(crtc, NULL);
 }
 
 static int malidp_crtc_enable_vblank(struct drm_crtc *crtc)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +1 -0
index 9e13e466e72c..e7bf32f234d7 100644
@@ -1225,6 +1225,7 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
 	return 0;
 
 err_unregister_cec:
+	cec_unregister_adapter(adv7511->cec_adap);
 	i2c_unregister_device(adv7511->i2c_cec);
 	if (adv7511->cec_clk)
 		clk_disable_unprepare(adv7511->cec_clk);
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +25 -6
index 1f26890a8da6..c6a51d1c7ec9 100644
@@ -1630,8 +1630,19 @@ static ssize_t analogix_dpaux_transfer(struct drm_dp_aux *aux,
 				       struct drm_dp_aux_msg *msg)
 {
 	struct analogix_dp_device *dp = to_dp(aux);
+	int ret;
+
+	pm_runtime_get_sync(dp->dev);
+
+	ret = analogix_dp_detect_hpd(dp);
+	if (ret)
+		goto out;
 
-	return analogix_dp_transfer(dp, msg);
+	ret = analogix_dp_transfer(dp, msg);
+out:
+	pm_runtime_put(dp->dev);
+
+	return ret;
 }
 
 struct analogix_dp_device *
@@ -1696,8 +1707,10 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 
 	dp->reg_base = devm_ioremap_resource(&pdev->dev, res);
-	if (IS_ERR(dp->reg_base))
-		return ERR_CAST(dp->reg_base);
+	if (IS_ERR(dp->reg_base)) {
+		ret = PTR_ERR(dp->reg_base);
+		goto err_disable_clk;
+	}
 
 	dp->force_hpd = of_property_read_bool(dev->of_node, "force-hpd");
 
@@ -1709,7 +1722,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 	if (IS_ERR(dp->hpd_gpiod)) {
 		dev_err(dev, "error getting HDP GPIO: %ld\n",
 			PTR_ERR(dp->hpd_gpiod));
-		return ERR_CAST(dp->hpd_gpiod);
+		ret = PTR_ERR(dp->hpd_gpiod);
+		goto err_disable_clk;
 	}
 
 	if (dp->hpd_gpiod) {
@@ -1729,7 +1743,8 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 
 	if (dp->irq == -ENXIO) {
 		dev_err(&pdev->dev, "failed to get irq\n");
-		return ERR_PTR(-ENODEV);
+		ret = -ENODEV;
+		goto err_disable_clk;
 	}
 
 	ret = devm_request_threaded_irq(&pdev->dev, dp->irq,
@@ -1738,11 +1753,15 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
 					irq_flags, "analogix-dp", dp);
 	if (ret) {
 		dev_err(&pdev->dev, "failed to request irq\n");
-		return ERR_PTR(ret);
+		goto err_disable_clk;
 	}
 	disable_irq(dp->irq);
 
 	return dp;
+
+err_disable_clk:
+	clk_disable_unprepare(dp->clock);
+	return ERR_PTR(ret);
 }
 EXPORT_SYMBOL_GPL(analogix_dp_probe);
 
drivers/gpu/drm/drm_edid.c +3 -3
index aeeab1b57aad..2dc6dd6230d7 100644
@@ -1702,9 +1702,6 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
 
 		connector_bad_edid(connector, edid, edid[0x7e] + 1);
 
-		edid[EDID_LENGTH-1] += edid[0x7e] - valid_extensions;
-		edid[0x7e] = valid_extensions;
-
 		new = kmalloc_array(valid_extensions + 1, EDID_LENGTH,
 				    GFP_KERNEL);
 		if (!new)
@@ -1721,6 +1718,9 @@ struct edid *drm_do_get_edid(struct drm_connector *connector,
 			base += EDID_LENGTH;
 		}
 
+		new[EDID_LENGTH - 1] += new[0x7e] - valid_extensions;
+		new[0x7e] = valid_extensions;
+
 		kfree(edid);
 		edid = new;
 	}
drivers/gpu/drm/drm_plane.c +7 -7
index d6ad60ab0d38..6bdebcca5690 100644
@@ -186,6 +186,13 @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane,
 	if (WARN_ON(config->num_total_plane >= 32))
 		return -EINVAL;
 
+	/*
+	 * First driver to need more than 64 formats needs to fix this. Each
+	 * format is encoded as a bit and the current code only supports a u64.
+	 */
+	if (WARN_ON(format_count > 64))
+		return -EINVAL;
+
 	WARN_ON(drm_drv_uses_atomic_modeset(dev) &&
 		(!funcs->atomic_destroy_state ||
 		 !funcs->atomic_duplicate_state));
@@ -207,13 +214,6 @@ int drm_universal_plane_init(struct drm_device *dev, struct drm_plane *plane,
 		return -ENOMEM;
 	}
 
-	/*
-	 * First driver to need more than 64 formats needs to fix this. Each
-	 * format is encoded as a bit and the current code only supports a u64.
-	 */
-	if (WARN_ON(format_count > 64))
-		return -EINVAL;
-
 	if (format_modifiers) {
 		const uint64_t *temp_modifiers = format_modifiers;
 		while (*temp_modifiers++ != DRM_FORMAT_MOD_INVALID)
drivers/gpu/drm/etnaviv/etnaviv_mmu.c +6 -0
index 707f5c1a5874..790cbb20aaeb 100644
@@ -289,6 +289,12 @@ void etnaviv_iommu_unmap_gem(struct etnaviv_iommu_context *context,
 
 	mutex_lock(&context->lock);
 
+	/* Bail if the mapping has been reaped by another thread */
+	if (!mapping->context) {
+		mutex_unlock(&context->lock);
+		return;
+	}
+
 	/* If the vram node is on the mm, unmap and remove the node */
 	if (mapping->vram_node.mm == &context->mm)
 		etnaviv_iommu_remove_mapping(context, mapping);
drivers/gpu/drm/gma500/psb_intel_display.c +4 -3
index 4256410535f0..65e67e12a0a1 100644
@@ -532,14 +532,15 @@ void psb_intel_crtc_init(struct drm_device *dev, int pipe,
 
 struct drm_crtc *psb_intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)
 {
-	struct drm_crtc *crtc = NULL;
+	struct drm_crtc *crtc;
 
 	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
 		struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
+
 		if (gma_crtc->pipe == pipe)
-			break;
+			return crtc;
 	}
-	return crtc;
+	return NULL;
 }
 
 int gma_connector_clones(struct drm_device *dev, int type_mask)
drivers/gpu/drm/imx/ipuv3-crtc.c +1 -1
index 2256c9789fc2..f19264e91d4d 100644
@@ -68,7 +68,7 @@ static void ipu_crtc_disable_planes(struct ipu_crtc *ipu_crtc,
 	drm_atomic_crtc_state_for_each_plane(plane, old_crtc_state) {
 		if (plane == &ipu_crtc->plane[0]->base)
 			disable_full = true;
-		if (&ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
+		if (ipu_crtc->plane[1] && plane == &ipu_crtc->plane[1]->base)
 			disable_partial = true;
 	}
 
drivers/gpu/drm/mediatek/mtk_cec.c +1 -1
index cb29b649fcdb..12bf93769497 100644
@@ -84,7 +84,7 @@ static void mtk_cec_mask(struct mtk_cec *cec, unsigned int offset,
 	u32 tmp = readl(cec->regs + offset) & ~mask;
 
 	tmp |= val & mask;
-	writel(val, cec->regs + offset);
+	writel(tmp, cec->regs + offset);
 }
 
 void mtk_cec_set_hpd_event(struct device *dev,
drivers/gpu/drm/msm/adreno/a6xx_gpu.c +1 -0
index df2656e57991..a3ae6c1d341b 100644
@@ -891,6 +891,7 @@ struct msm_gpu *a6xx_gpu_init(struct drm_device *dev)
 	BUG_ON(!node);
 
 	ret = a6xx_gmu_init(a6xx_gpu, node);
+	of_node_put(node);
 	if (ret) {
 		a6xx_destroy(&(a6xx_gpu->base.base));
 		return ERR_PTR(ret);
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +3 -1
index 72f487692adb..c08c67338d73 100644
@@ -599,8 +599,10 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms)
 		for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
 			u32 vbif_idx = dpu_kms->catalog->vbif[i].id;
 
-			if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx])
+			if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) {
 				dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]);
+				dpu_kms->hw_vbif[vbif_idx] = NULL;
+			}
 		}
 	}
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +11 -3
index 395146884a22..03d60eb09257 100644
@@ -534,9 +534,15 @@ int mdp5_crtc_setup_pipeline(struct drm_crtc *crtc,
 		if (ret)
 			return ret;
 
-		mdp5_mixer_release(new_crtc_state->state, old_mixer);
+		ret = mdp5_mixer_release(new_crtc_state->state, old_mixer);
+		if (ret)
+			return ret;
+
 		if (old_r_mixer) {
-			mdp5_mixer_release(new_crtc_state->state, old_r_mixer);
+			ret = mdp5_mixer_release(new_crtc_state->state, old_r_mixer);
+			if (ret)
+				return ret;
+
 			if (!need_right_mixer)
 				pipeline->r_mixer = NULL;
 		}
@@ -903,8 +909,10 @@ static int mdp5_crtc_cursor_set(struct drm_crtc *crtc,
 
 	ret = msm_gem_get_and_pin_iova(cursor_bo, kms->aspace,
 			&mdp5_crtc->cursor.iova);
-	if (ret)
+	if (ret) {
+		drm_gem_object_put(cursor_bo);
 		return -EINVAL;
+	}
 
 	pm_runtime_get_sync(&pdev->dev);
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +3 -3
index 77823ccdd0f8..39d0082eedcc 100644
@@ -698,9 +698,9 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev)
 	pdev = mdp5_kms->pdev;
 
 	irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
-	if (irq < 0) {
-		ret = irq;
-		DRM_DEV_ERROR(&pdev->dev, "failed to get irq: %d\n", ret);
+	if (!irq) {
+		ret = -EINVAL;
+		DRM_DEV_ERROR(&pdev->dev, "failed to get irq\n");
 		goto fail;
 	}
 
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c +11 -4
index 954db683ae44..2536def2a000 100644
@@ -116,21 +116,28 @@ int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,
 	return 0;
 }
 
-void mdp5_mixer_release(struct drm_atomic_state *s, struct mdp5_hw_mixer *mixer)
+int mdp5_mixer_release(struct drm_atomic_state *s, struct mdp5_hw_mixer *mixer)
 {
 	struct mdp5_global_state *global_state = mdp5_get_global_state(s);
-	struct mdp5_hw_mixer_state *new_state = &global_state->hwmixer;
+	struct mdp5_hw_mixer_state *new_state;
 
 	if (!mixer)
-		return;
+		return 0;
+
+	if (IS_ERR(global_state))
+		return PTR_ERR(global_state);
+
+	new_state = &global_state->hwmixer;
 
 	if (WARN_ON(!new_state->hwmixer_to_crtc[mixer->idx]))
-		return;
+		return -EINVAL;
 
 	DBG("%s: release from crtc %s", mixer->name,
 	    new_state->hwmixer_to_crtc[mixer->idx]->name);
 
 	new_state->hwmixer_to_crtc[mixer->idx] = NULL;
+
+	return 0;
 }
 
 void mdp5_mixer_destroy(struct mdp5_hw_mixer *mixer)
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.h +2 -2
index 43c9ba43ce18..545ee223b9d7 100644
@@ -30,7 +30,7 @@ void mdp5_mixer_destroy(struct mdp5_hw_mixer *lm);
 int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,
 		      uint32_t caps, struct mdp5_hw_mixer **mixer,
 		      struct mdp5_hw_mixer **r_mixer);
-void mdp5_mixer_release(struct drm_atomic_state *s,
-			struct mdp5_hw_mixer *mixer);
+int mdp5_mixer_release(struct drm_atomic_state *s,
+		       struct mdp5_hw_mixer *mixer);
 
 #endif /* __MDP5_LM_H__ */
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c +11 -4
index ba6695963aa6..a4f5cb90f3e8 100644
@@ -119,18 +119,23 @@ int mdp5_pipe_assign(struct drm_atomic_state *s, struct drm_plane *plane,
 	return 0;
 }
 
-void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
+int mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
 {
 	struct msm_drm_private *priv = s->dev->dev_private;
 	struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms));
 	struct mdp5_global_state *state = mdp5_get_global_state(s);
-	struct mdp5_hw_pipe_state *new_state = &state->hwpipe;
+	struct mdp5_hw_pipe_state *new_state;
 
 	if (!hwpipe)
-		return;
+		return 0;
+
+	if (IS_ERR(state))
+		return PTR_ERR(state);
+
+	new_state = &state->hwpipe;
 
 	if (WARN_ON(!new_state->hwpipe_to_plane[hwpipe->idx]))
-		return;
+		return -EINVAL;
 
 	DBG("%s: release from plane %s", hwpipe->name,
 		new_state->hwpipe_to_plane[hwpipe->idx]->name);
@@ -141,6 +146,8 @@ void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe)
 	}
 
 	new_state->hwpipe_to_plane[hwpipe->idx] = NULL;
+
+	return 0;
 }
 
 void mdp5_pipe_destroy(struct mdp5_hw_pipe *hwpipe)
drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.h +1 -1
index 9b26d0761bd4..cca67938cab2 100644
@@ -37,7 +37,7 @@ int mdp5_pipe_assign(struct drm_atomic_state *s, struct drm_plane *plane,
 		     uint32_t caps, uint32_t blkcfg,
 		     struct mdp5_hw_pipe **hwpipe,
 		     struct mdp5_hw_pipe **r_hwpipe);
-void mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe);
+int mdp5_pipe_release(struct drm_atomic_state *s, struct mdp5_hw_pipe *hwpipe);
 
 struct mdp5_hw_pipe *mdp5_pipe_init(enum mdp5_pipe pipe,
 		uint32_t reg_offset, uint32_t caps);
drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c +16 -4
index da0799333970..0dc23c86747e 100644
@@ -393,12 +393,24 @@ static int mdp5_plane_atomic_check_with_state(struct drm_crtc_state *crtc_state,
 				mdp5_state->r_hwpipe = NULL;
 
 
-			mdp5_pipe_release(state->state, old_hwpipe);
-			mdp5_pipe_release(state->state, old_right_hwpipe);
+			ret = mdp5_pipe_release(state->state, old_hwpipe);
+			if (ret)
+				return ret;
+
+			ret = mdp5_pipe_release(state->state, old_right_hwpipe);
+			if (ret)
+				return ret;
+
 		}
 	} else {
-		mdp5_pipe_release(state->state, mdp5_state->hwpipe);
-		mdp5_pipe_release(state->state, mdp5_state->r_hwpipe);
+		ret = mdp5_pipe_release(state->state, mdp5_state->hwpipe);
+		if (ret)
+			return ret;
+
+		ret = mdp5_pipe_release(state->state, mdp5_state->r_hwpipe);
+		if (ret)
+			return ret;
+
 		mdp5_state->hwpipe = mdp5_state->r_hwpipe = NULL;
 	}
 
drivers/gpu/drm/msm/dsi/dsi_host.c +14 -7
index 423c4ae2be10..743142e15b4c 100644
@@ -1348,10 +1348,10 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
 			dsi_get_bpp(msm_host->format) / 8;
 
 	len = dsi_cmd_dma_add(msm_host, msg);
-	if (!len) {
+	if (len < 0) {
 		pr_err("%s: failed to add cmd type = 0x%x\n",
 			__func__,  msg->type);
-		return -EINVAL;
+		return len;
 	}
 
 	/* for video mode, do not send cmds more than
@@ -1370,10 +1370,14 @@ static int dsi_cmds2buf_tx(struct msm_dsi_host *msm_host,
 	}
 
 	ret = dsi_cmd_dma_tx(msm_host, len);
-	if (ret < len) {
-		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, len=%d\n",
-			__func__, msg->type, (*(u8 *)(msg->tx_buf)), len);
-		return -ECOMM;
+	if (ret < 0) {
+		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, len=%d, ret=%d\n",
+			__func__, msg->type, (*(u8 *)(msg->tx_buf)), len, ret);
+		return ret;
+	} else if (ret < len) {
+		pr_err("%s: cmd dma tx failed, type=0x%x, data0=0x%x, ret=%d len=%d\n",
+			__func__, msg->type, (*(u8 *)(msg->tx_buf)), ret, len);
+		return -EIO;
 	}
 
 	return len;
@@ -2099,9 +2103,12 @@ int msm_dsi_host_cmd_rx(struct mipi_dsi_host *host,
 		}
 
 		ret = dsi_cmds2buf_tx(msm_host, msg);
-		if (ret < msg->tx_len) {
+		if (ret < 0) {
 			pr_err("%s: Read cmd Tx failed, %d\n", __func__, ret);
 			return ret;
+		} else if (ret < msg->tx_len) {
+			pr_err("%s: Read cmd Tx failed, too short: %d\n", __func__, ret);
+			return -ECOMM;
 		}
 
 		/*
drivers/gpu/drm/msm/hdmi/hdmi.c +7 -3
index 1a7e77373407..e4c9ff934e5b 100644
@@ -142,6 +142,10 @@ static struct hdmi *msm_hdmi_init(struct platform_device *pdev)
 	/* HDCP needs physical address of hdmi register */
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
 		config->mmio_name);
+	if (!res) {
+		ret = -EINVAL;
+		goto fail;
+	}
 	hdmi->mmio_phy_addr = res->start;
 
 	hdmi->qfprom_mmio = msm_ioremap(pdev,
@@ -311,9 +315,9 @@ int msm_hdmi_modeset_init(struct hdmi *hdmi,
 	}
 
 	hdmi->irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
-	if (hdmi->irq < 0) {
-		ret = hdmi->irq;
-		DRM_DEV_ERROR(dev->dev, "failed to get irq: %d\n", ret);
+	if (!hdmi->irq) {
+		ret = -EINVAL;
+		DRM_DEV_ERROR(dev->dev, "failed to get irq\n");
 		goto fail;
 	}
 
drivers/gpu/drm/msm/msm_gem_prime.c +1 -1
index d7c8948427fe..705a834ba1e6 100644
@@ -17,7 +17,7 @@ struct sg_table *msm_gem_prime_get_sg_table(struct drm_gem_object *obj)
 	int npages = obj->size >> PAGE_SHIFT;
 
 	if (WARN_ON(!msm_obj->pages))  /* should have already pinned! */
-		return NULL;
+		return ERR_PTR(-ENOMEM);
 
 	return drm_prime_pages_to_sg(msm_obj->pages, npages);
 }
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c +4 -2
index 40e564524b7a..93a49cbfb81d 100644
@@ -135,10 +135,10 @@ nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
 
 	list_for_each_entry_from_reverse(cstate, &pstate->list, head) {
 		if (nvkm_cstate_valid(clk, cstate, max_volt, clk->temp))
-			break;
+			return cstate;
 	}
 
-	return cstate;
+	return NULL;
 }
 
 static struct nvkm_cstate *
@@ -169,6 +169,8 @@ nvkm_cstate_prog(struct nvkm_clk *clk, struct nvkm_pstate *pstate, int cstatei)
 	if (!list_empty(&pstate->list)) {
 		cstate = nvkm_cstate_get(clk, pstate, cstatei);
 		cstate = nvkm_cstate_find_best(clk, pstate, cstate);
+		if (!cstate)
+			return -EINVAL;
 	} else {
 		cstate = &pstate->base;
 	}
drivers/gpu/drm/radeon/radeon_connectors.c +4 -0
index bc63f4cecf5d..ca6ccd69424e 100644
@@ -477,6 +477,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 	    native_mode->vdisplay != 0 &&
 	    native_mode->clock != 0) {
 		mode = drm_mode_duplicate(dev, native_mode);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		drm_mode_set_name(mode);
 
@@ -491,6 +493,8 @@ static struct drm_display_mode *radeon_fp_native_mode(struct drm_encoder *encode
 		 * simpler.
 		 */
 		mode = drm_cvt_mode(dev, native_mode->hdisplay, native_mode->vdisplay, 60, true, false, false);
+		if (!mode)
+			return NULL;
 		mode->type = DRM_MODE_TYPE_PREFERRED | DRM_MODE_TYPE_DRIVER;
 		DRM_DEBUG_KMS("Adding cvt approximation of native panel mode %s\n", mode->name);
 	}
drivers/gpu/drm/rockchip/rockchip_drm_vop.c +1 -1
index 84e3decb17b1..2e4e1933a43c 100644
@@ -1848,10 +1848,10 @@ static int vop_bind(struct device *dev, struct device *master, void *data)
 	vop_win_init(vop);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	vop->len = resource_size(res);
 	vop->regs = devm_ioremap_resource(dev, res);
 	if (IS_ERR(vop->regs))
 		return PTR_ERR(vop->regs);
+	vop->len = resource_size(res);
 
 	vop->regsbak = devm_kzalloc(dev, vop->len, GFP_KERNEL);
 	if (!vop->regsbak)
drivers/gpu/drm/tilcdc/tilcdc_external.c +5 -3
index 43d756b7810e..67e23317c7de 100644
@@ -58,11 +58,13 @@ struct drm_connector *tilcdc_encoder_find_connector(struct drm_device *ddev,
 int tilcdc_add_component_encoder(struct drm_device *ddev)
 {
 	struct tilcdc_drm_private *priv = ddev->dev_private;
-	struct drm_encoder *encoder;
+	struct drm_encoder *encoder = NULL, *iter;
 
-	list_for_each_entry(encoder, &ddev->mode_config.encoder_list, head)
-		if (encoder->possible_crtcs & (1 << priv->crtc->index))
+	list_for_each_entry(iter, &ddev->mode_config.encoder_list, head)
+		if (iter->possible_crtcs & (1 << priv->crtc->index)) {
+			encoder = iter;
 			break;
+		}
 
 	if (!encoder) {
 		dev_err(ddev->dev, "%s: No suitable encoder found\n", __func__);
drivers/gpu/drm/vc4/vc4_txp.c +7 -1
index bf720206727f..0d9263f65d95 100644
@@ -285,12 +285,18 @@ static void vc4_txp_connector_atomic_commit(struct drm_connector *conn,
 	if (WARN_ON(i == ARRAY_SIZE(drm_fmts)))
 		return;
 
-	ctrl = TXP_GO | TXP_VSTART_AT_EOF | TXP_EI |
+	ctrl = TXP_GO | TXP_EI |
 	       VC4_SET_FIELD(0xf, TXP_BYTE_ENABLE) |
 	       VC4_SET_FIELD(txp_fmts[i], TXP_FORMAT);
 
 	if (fb->format->has_alpha)
 		ctrl |= TXP_ALPHA_ENABLE;
+	else
+		/*
+		 * If TXP_ALPHA_ENABLE isn't set and TXP_ALPHA_INVERT is, the
+		 * hardware will force the output padding to be 0xff.
+		 */
+		ctrl |= TXP_ALPHA_INVERT;
 
 	gem = drm_fb_cma_get_gem_obj(fb, 0);
 	TXP_WRITE(TXP_DST_PTR, gem->paddr + fb->offsets[0]);
drivers/gpu/drm/virtio/virtgpu_display.c +2 -0
index e622485ae826..7e34307eb075 100644
@@ -174,6 +174,8 @@ static int virtio_gpu_conn_get_modes(struct drm_connector *connector)
 		DRM_DEBUG("add mode: %dx%d\n", width, height);
 		mode = drm_cvt_mode(connector->dev, width, height, 60,
 				    false, false, false);
+		if (!mode)
+			return count;
 		mode->type |= DRM_MODE_TYPE_PREFERRED;
 		drm_mode_probed_add(connector, mode);
 		count++;
drivers/hid/hid-bigbenff.c +6 -0
index 74ad8bf98bfd..e8c5e3ac9fff 100644
@@ -347,6 +347,12 @@ static int bigben_probe(struct hid_device *hid,
 	bigben->report = list_entry(report_list->next,
 		struct hid_report, list);
 
+	if (list_empty(&hid->inputs)) {
+		hid_err(hid, "no inputs found\n");
+		error = -ENODEV;
+		goto error_hw_stop;
+	}
+
 	hidinput = list_first_entry(&hid->inputs, struct hid_input, list);
 	set_bit(FF_RUMBLE, hidinput->input->ffbit);
 
drivers/hid/hid-elan.c +0 -2
index 0e8f424025fe..838673303f77 100644
@@ -188,7 +188,6 @@ static int elan_input_configured(struct hid_device *hdev, struct hid_input *hi)
 	ret = input_mt_init_slots(input, ELAN_MAX_FINGERS, INPUT_MT_POINTER);
 	if (ret) {
 		hid_err(hdev, "Failed to init elan MT slots: %d\n", ret);
-		input_free_device(input);
 		return ret;
 	}
 
@@ -200,7 +199,6 @@ static int elan_input_configured(struct hid_device *hdev, struct hid_input *hi)
 		hid_err(hdev, "Failed to register elan input device: %d\n",
 			ret);
 		input_mt_destroy_slots(input);
-		input_free_device(input);
 		return ret;
 	}
 
drivers/hid/hid-led.c +1 -1
index c2c66ceca132..7d82f8d426bb 100644
@@ -366,7 +366,7 @@ static const struct hidled_config hidled_configs[] = {
 		.type = DREAM_CHEEKY,
[… more lines in the raw message]

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

drivers/hwmon/hwmon.c +7 -9
index a2175394cd25..c73b93b9bb87 100644

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

drivers/hwtracing/coresight/coresight-cpu-debug.c +4 -3
index 96544b348c27..ebe34fd6adb0 100644

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

drivers/i2c/busses/i2c-at91-master.c +11 -0
index a3fcc35ffd3b..f74d5ad2f1fa 100644

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

drivers/i2c/busses/i2c-cadence.c +10 -2
index 17f0dd1f891e..8a3a0991bc1c 100644

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

drivers/iio/adc/ad7124.c +0 -1
index 635cc1e7b123..793a803919c5 100644

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

drivers/iio/adc/sc27xx_adc.c +10 -10
index a6c046575ec3..5b79c8b9ccde 100644

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

drivers/iio/adc/stmpe-adc.c +4 -4
index bd72727fc417..35ae801c4d35 100644

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

drivers/iio/common/st_sensors/st_sensors_core.c +18 -6
index 364683783ae5..c25b0bc89b0c 100644

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

drivers/iio/dummy/iio_simple_dummy.c +12 -8
index 6cb02299a215..18cfe1cb7a40 100644

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

drivers/infiniband/hw/hfi1/file_ops.c +2 -0
index 89e1dfd07a1b..8c7ba7bad42b 100644

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

drivers/infiniband/hw/hfi1/init.c +1 -1
index 85583f51124e..d698c26282ea 100644

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

drivers/infiniband/hw/hfi1/sdma.c +7 -5
index 248be21acdbe..2a684fc6056e 100644

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

drivers/infiniband/sw/rdmavt/qp.c +5 -1
index 48e8612c1bc8..e97c13967174 100644

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

drivers/infiniband/sw/rxe/rxe_req.c +1 -1
index a4d6e0b7901e..87702478eb99 100644

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

drivers/input/misc/sparcspkr.c +1 -0
index fe43e5557ed7..cdcb7737c46a 100644

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

drivers/input/mouse/bcm5974.c +6 -1
index 59a14505b9cd..ca150618d32f 100644

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

drivers/input/touchscreen/stmfts.c +8 -8
index be1dd504d5b1..20bc2279a2f2 100644

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

drivers/iommu/amd_iommu_init.c +1 -1
index 7502fa84e253..82d008310418 100644

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

drivers/iommu/msm_iommu.c +7 -4
index be99d408cf35..cba0097eba39 100644

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

drivers/iommu/mtk_iommu.c +1 -2
index c2f6c78fee44..18d7c818a174 100644

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

drivers/irqchip/irq-armada-370-xp.c +10 -1
index 5849ac5a2ad3..0fd428db3aa4 100644

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

drivers/irqchip/irq-aspeed-i2c-ic.c +2 -2
index 8d591c179f81..3d3210828e9b 100644

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

drivers/irqchip/irq-sni-exiu.c +22 -3
index abd011fcecf4..c7db617e1a2f 100644

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

drivers/irqchip/irq-xtensa-mx.c +14 -4
index 27933338f7b3..8c581c985aa7 100644

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

drivers/macintosh/Kconfig +6 -0
index 574e122ae105..b5a534206edd 100644

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

drivers/macintosh/Makefile +2 -1
index 49819b1b6f20..712edcb3e0b0 100644

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

drivers/macintosh/via-pmu.c +1 -1
index 21d532a78fa4..d8b6ac2ec313 100644

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

drivers/mailbox/mailbox.c +13 -6
index 3e7d4b20ab34..4229b9b5da98 100644

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

drivers/md/bcache/request.c +6 -0
index 4045ae748f17..f5d24620d818 100644

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

drivers/md/md-bitmap.c +23 -21

44 lines not on this page · raw message

drivers/md/md.c +21 -12
index c178b2f406de..11fd3b32b562 100644

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

drivers/md/raid0.c +16 -15
index 322386ff5d22..0ead5a7887f1 100644

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

drivers/media/cec/cec-adap.c +3 -3
index 56857ac0a0be..c665f7d20c44 100644

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

drivers/media/i2c/ov7670.c +0 -1
index b42b289faaef..154776d0069e 100644

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

drivers/media/pci/cx23885/cx23885-core.c +3 -3
index ead0acb7807c..6747ecb4911b 100644

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

drivers/media/pci/cx25821/cx25821-core.c +1 -1
index 44839a6461e8..534829e352d1 100644

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

drivers/media/platform/aspeed-video.c +2 -2
index c87eddb1c93f..c3f0b143330a 100644

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

drivers/media/platform/coda/coda-common.c +23 -12
index 0adc54832657..ebe5e44b6fd3 100644

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

drivers/media/platform/exynos4-is/fimc-is.c +1 -1
index 64148b7e0d98..9bb14bb2e498 100644

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

drivers/media/platform/exynos4-is/fimc-isp-video.h +1 -1
index edcb3a5e3cb9..2dd4ddbc748a 100644

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

drivers/media/platform/qcom/venus/hfi.c +3 -0
index 3d8b1284d1f3..68964a80fe61 100644

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

drivers/media/platform/sti/delta/delta-v4l2.c +4 -2
index 2791107e641b..29732b49a2cd 100644

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

drivers/media/platform/vsp1/vsp1_rpf.c +3 -3
index 85587c1b6a37..75083cb234fe 100644

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

drivers/media/usb/pvrusb2/pvrusb2-hdw.c +5 -2
index 2f00679f65a0..11e7fcfc3f19 100644

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

drivers/media/usb/uvc/uvc_v4l2.c +11 -9
index 3126ee9e965c..96ef64b6a232 100644

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

drivers/mfd/davinci_voicecodec.c +2 -4
index e5c8bc998eb4..965820481f1e 100644

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

drivers/mfd/ipaq-micro.c +1 -1
index a1d9be82734d..88387c7e7443 100644

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

drivers/misc/cardreader/rtsx_usb.c +1 -0
index a328cab11014..4aef33d07cc3 100644

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

drivers/misc/lkdtm/usercopy.c +14 -3
index e172719dd86d..4617c63b1026 100644

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

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

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

drivers/mmc/core/block.c +1 -2
index 709f117fd577..482e01ece0b7 100644

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

drivers/mmc/host/jz4740_mmc.c +20 -0
index f816c06ef916..a316c912a118 100644

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

drivers/mtd/chips/cfi_cmdset_0002.c +49 -54

103 lines not on this page · raw message

drivers/mtd/ubi/vmt.c +0 -1
index 1bc7b3a05604..6ea95ade4ca6 100644

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

drivers/net/can/xilinx_can.c +2 -2
index 008d3d492bd1..be3811311db2 100644

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

drivers/net/dsa/lantiq_gswip.c +3 -1
index 0c191d395f8f..b546002e5fd4 100644

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

drivers/net/dsa/mv88e6xxx/chip.c +1 -0
index 87d28ef82559..b336ed071fa8 100644

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

drivers/net/ethernet/altera/altera_tse_main.c +5 -1
index 1f8c3b669dc1..f36536114790 100644

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

drivers/net/ethernet/broadcom/Makefile +5 -0
index 7046ad6d3d0e..ac50da49ca77 100644

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

drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +4 -4
index 47a920128760..cf5c2b9465eb 100644

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

drivers/net/ethernet/mediatek/mtk_eth_soc.c +3 -0
index 3351d4f9363a..5dce4cd60f58 100644

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

drivers/net/ethernet/mellanox/mlx4/en_ethtool.c +1 -1
index dd029d91bbc2..b711148a9d50 100644

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

drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +5 -2
index 97359417c6e7..f8144ce7e476 100644

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

drivers/net/ethernet/mellanox/mlx5/core/en_main.c +5 -0
index 73291051808f..35630b538c82 100644

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

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +37 -8

45 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c +4 -5
index 348f02e336f6..d64368506754 100644

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

drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c +0 -13
index 21296fa7f7fb..bf51ed94952c 100644

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

drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +2 -2
index 89e578e25ff8..10857914c552 100644

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

drivers/net/phy/mdio_bus.c +0 -1
index b0a439248ff6..05c24db507a2 100644

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

drivers/net/phy/micrel.c +6 -5
index 18cc5e4280e8..721153dcfd15 100644

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

drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +1 -1
index b0a4ca3559fd..abed1effd95c 100644

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

drivers/net/wireless/ath/ath9k/ar9003_phy.h +1 -1
index a171dbb29fbb..ad949eb02f3d 100644

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

drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +8 -0
index 628f45c8c06f..eeaf63de71bf 100644

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

drivers/net/wireless/ath/carl9170/tx.c +3 -0
index 2407931440ed..dfab6be1080c 100644

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

drivers/net/wireless/broadcom/b43/phy_n.c +1 -1
index 32ce1b42ce08..0ef62ef77af6 100644

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

drivers/net/wireless/broadcom/b43legacy/phy.c +1 -1
index a659259bc51a..6e76055e136d 100644

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

drivers/net/wireless/intel/ipw2x00/libipw_tx.c +1 -1
index d9baa2fa603b..e4c60caa6543 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/power.c +3 -0
index 22136e4832ea..b2a6e9b7d0a1 100644

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

drivers/net/wireless/marvell/mwifiex/11h.c +2 -0
index 238accfe4f41..c4176e357b22 100644

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

drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c +6 -2
index d5f65372356b..0b305badae98 100644

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

drivers/net/wireless/realtek/rtlwifi/usb.c +1 -1
index bad06939a247..9bcb187d37dc 100644

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

drivers/nfc/st21nfca/se.c +25 -7
index a7ab6dab0f32..ccaace2a5b0e 100644

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

drivers/nfc/st21nfca/st21nfca.h +1 -0
index 5e0de0fef1d4..0e4a93d11efb 100644

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

drivers/nvdimm/security.c +0 -5
index 35d265014e1e..0e23d8c27792 100644

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

drivers/nvme/host/pci.c +1 -0
index af516c35afe6..10fe7a7a2163 100644

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

drivers/of/overlay.c +1 -3
index 1688f576ee8a..8420ef42d89e 100644

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

drivers/pci/controller/dwc/pci-imx6.c +14 -9
index acfbd34032a8..b34b52b364d5 100644

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

drivers/pci/controller/dwc/pcie-qcom.c +4 -5
index a8eab4e67af1..17f411772f0c 100644

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

drivers/pci/controller/pcie-cadence-ep.c +1 -2
index def7820cb824..5e23d575e200 100644

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

drivers/pci/controller/pcie-rockchip-ep.c +1 -2
index d743b0a48988..b82edefffd15 100644

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

drivers/pci/pci.c +7 -5
index d539eb379743..ec741f92246d 100644

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

drivers/pcmcia/Kconfig +1 -1
index e004d8da03dc..73df71a14253 100644

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

drivers/phy/qualcomm/phy-qcom-qmp.c +11 -2
index 5ddbf9a1f328..21d40c665854 100644

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

drivers/pinctrl/mvebu/pinctrl-armada-37xx.c +1 -1
index f56add78d58c..359b2ecfcbdb 100644

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

drivers/pwm/pwm-lp3943.c +1 -0
index bf3f14fb5f24..05e4120fd702 100644

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

drivers/regulator/core.c +5 -2
index 7fd793d8536c..ae2addadb36f 100644

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

drivers/regulator/pfuze100-regulator.c +2 -0
index 44b1da7cc374..f873d97100e2 100644

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

drivers/rpmsg/qcom_smd.c +2 -2
index 19903de6268d..a4db9f6100d2 100644

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

drivers/rtc/rtc-mt6397.c +2 -0
index b216bdcba0da..dd3901b0a4ed 100644

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

drivers/scsi/dc395x.c +12 -3
index 5fb06930912a..c4a6609d8fae 100644

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

drivers/scsi/fcoe/fcoe_ctlr.c +1 -1
index 07a0dadc75bf..7ce2a0434e1e 100644

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

drivers/scsi/megaraid.c +1 -1
index ff6d4aa92421..8b1ba690039b 100644

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

drivers/scsi/myrb.c +8 -3
index 539ac8ce4fcd..35b32920a94a 100644

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

drivers/scsi/ufs/ufs-qcom.c +5 -2
index 4f066e3b19af..7c9664c0c4c4 100644

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

drivers/scsi/ufs/ufshcd.c +6 -1
index ebf7ae1ef70d..670f4c7934f8 100644

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

drivers/soc/qcom/smp2p.c +1 -0
index 42e0b8f647ae..d42bcca3b98e 100644

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

drivers/soc/qcom/smsm.c +1 -0
index c428d0f78816..6564f15c5319 100644

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

drivers/soc/rockchip/grf.c +2 -0
index 494cf2b5bf7b..343ff61ccccb 100644

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

drivers/spi/spi-img-spfi.c +1 -1
index e9ef80983b79..5a6b02843f2b 100644

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

drivers/spi/spi-rspi.c +6 -9
index 7222c7689c3c..0524741d73b9 100644

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

drivers/spi/spi-stm32-qspi.c +2 -1
index ea77d915216a..8070b7420217 100644

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

drivers/spi/spi-ti-qspi.c +3 -2
index 6b6ef8944283..4bbad00244ab 100644

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

drivers/staging/fieldbus/anybuss/host.c +1 -1
index f69dc4930457..b7a91bdef6f4 100644

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

drivers/staging/greybus/audio_codec.c +2 -2
index 3259bf02ba25..2418fbf1d2ab 100644

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

drivers/staging/rtl8192e/rtllib_softmac.c +1 -1
index 4ff8fd694c60..0154f5791b12 100644

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

drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c +1 -1
index 33a6af7aad22..a869694337f7 100644

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

drivers/staging/rtl8712/usb_intf.c +3 -3
index 49188ab04612..f7c1258eaa39 100644

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

drivers/staging/rtl8712/usb_ops.c +18 -9
index e64845e6adf3..af9966d03979 100644

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

drivers/thermal/broadcom/sr-thermal.c +3 -0
index 475ce2900771..85ab9edd580c 100644

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

drivers/tty/goldfish.c +2 -0
index c8c5cdfc5e19..abc84d84f638 100644

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

drivers/tty/serial/8250/8250_fintek.c +4 -4
index e24161004ddc..9b1cddbfc75c 100644

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

drivers/tty/serial/digicolor-usart.c +2 -0
index 4446c13629b1..e06967ca62fa 100644

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

drivers/tty/serial/fsl_lpuart.c +4 -20
index 13e705b53217..4bdc12908146 100644

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

drivers/tty/serial/icom.c +1 -1
index 624f3d541c68..d047380259b5 100644

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

drivers/tty/serial/meson_uart.c +13 -0
index fbc5bc022a39..849ce8c1ef39 100644

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

drivers/tty/serial/msm_serial.c +5 -0
index 5129c2dfbe07..aac96659694d 100644

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

drivers/tty/serial/owl-uart.c +1 -0
index c55c8507713c..e87953f8a768 100644

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

drivers/tty/serial/pch_uart.c +7 -20
index c16234bca78f..77f18445bb98 100644

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

drivers/tty/serial/rda-uart.c +2 -0
index ff9a27d48bca..877d86ff6819 100644

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

drivers/tty/serial/sa1100.c +2 -2
index 8e618129e65c..ff4b44bdf6b6 100644

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

drivers/tty/serial/serial_txx9.c +2 -0
index 8507f18900d0..2783baa5dfe5 100644

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

drivers/tty/serial/sh-sci.c +5 -1
index ecff9b208808..c066bb7f07b0 100644

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

drivers/tty/serial/sifive.c +6 -2
index 6a2dc823ea82..7015632c4990 100644

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

drivers/tty/serial/st-asc.c +4 -0
index 7971997cdead..ce35e3a131b1 100644

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

drivers/tty/serial/stm32-usart.c +12 -3
index d517b911cd04..d5a084ffde89 100644

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

drivers/tty/synclink_gt.c +2 -0
index ff345a8e0fcc..b72471373c71 100644

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

drivers/tty/tty_buffer.c +2 -1
index bb148dbfbb88..47f2370ad85c 100644

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

drivers/usb/core/hcd-pci.c +2 -2
index 9e26b0143a59..db16efe293e0 100644

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

drivers/usb/core/hcd.c +23 -6
index 39203f2ce6a1..fde211519a97 100644

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

drivers/usb/core/quirks.c +3 -0
index d5f233fa6f3b..f8f2de7899a9 100644

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

drivers/usb/dwc2/gadget.c +0 -1
index 379bbf27c7ce..8fd6eefc671c 100644

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

drivers/usb/dwc3/dwc3-pci.c +1 -1
index 99964f96ff74..955bf820f410 100644

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

drivers/usb/host/isp116x-hcd.c +4 -2
index a87c0b26279e..00a4e12a1f15 100644

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

drivers/usb/host/oxu210hp-hcd.c +2 -0
index 65985247fc00..f05b6f2b0865 100644

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

drivers/usb/musb/omap2430.c +1 -0
index 5c93226e0e20..8def19fc5025 100644

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

drivers/usb/serial/option.c +2 -0
index 1ba4a72047dc..62f79fd5257b 100644

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

drivers/usb/storage/karma.c +8 -7
index 05cec81dcd3f..38ddfedef629 100644

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

drivers/usb/usbip/stub_dev.c +1 -1
index d8d3892e5a69..3c6d452e3bf4 100644

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

drivers/usb/usbip/stub_rx.c +2 -0
index e2b019532234..d3d360ff0d24 100644

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

drivers/vhost/vringh.c +8 -2
index 4653de001e26..264cbe385a63 100644

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

drivers/video/fbdev/amba-clcd.c +4 -1
index 7de43be6ef2c..3b7a7c74bf0a 100644

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

drivers/video/fbdev/core/fbcon.c +3 -2
index 75b770514067..1decded4845f 100644

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

drivers/video/fbdev/pxa3xx-gcu.c +7 -5
index 74ffb446e00c..7c4694d70dac 100644

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

drivers/watchdog/ts4800_wdt.c +4 -1
index c137ad2bd5c3..0ea554c7cda5 100644

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

drivers/watchdog/wdat_wdt.c +1 -0
index 88c5e6361aa0..fddbb39433be 100644

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

drivers/xen/xlate_mmu.c +0 -1
index 7b1077f0abcb..c8aa4f5f85db 100644

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

fs/afs/dir.c +4 -1
index 8c39533d122a..3a355a209919 100644

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

fs/binfmt_flat.c +26 -1
index 196f9f64d075..c999bc0c0691 100644

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

fs/btrfs/disk-io.c +2 -2
index f18c6d97932e..a4b3e6f6bf02 100644

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

fs/btrfs/volumes.c +4 -4
index 8898682c9103..c7706a769de1 100644

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

fs/ceph/xattr.c +9 -1
index cb18ee637cb7..4bcf0226818d 100644

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

fs/cifs/cifsglob.h +3 -1
index 9c0e348cb00f..414936989255 100644

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

fs/cifs/smb2ops.c +6 -1
index 7985fe25850b..57164563eec6 100644

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

fs/cifs/smb2pdu.c +3 -0
index e068f82ffedd..0857eb7a95e2 100644

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

fs/dax.c +2 -1
index 12953e892bb2..bcb7c6b43fb2 100644

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

fs/dlm/lock.c +9 -2
index 53500b555bfa..4ae8becdb51d 100644

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

fs/dlm/plock.c +5 -7
index c38b2b8ffd1d..a10d2bcfe75a 100644

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

fs/ext4/inline.c +12 -0
index 8f665aa1d706..62384ae77a78 100644

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

fs/ext4/inode.c +4 -0
index 00686fbe3c27..1cac574911a7 100644

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

fs/ext4/namei.c +67 -17

84 lines not on this page · raw message

fs/ext4/super.c +1 -0
index c13879bd2168..eba2506f4399 100644

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

fs/f2fs/checkpoint.c +2 -2
index 54f0d2c4c7d8..44c5110e18f0 100644

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

fs/f2fs/f2fs.h +10 -4
index 5645502c156d..c73a1638c18b 100644

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

fs/f2fs/file.c +16 -4
index 516007bb1ced..ef08ef017030 100644

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

fs/f2fs/inode.c +15 -1
index 264c19e17779..b5536570707c 100644

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

fs/f2fs/segment.c +6 -3
index 78c54bb7898d..7759323bd775 100644

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

fs/f2fs/segment.h +20 -12
index 15b343f65609..f39620f47542 100644

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

fs/f2fs/super.c +4 -2
index 6bd8a944902e..232c99e4a1ee 100644

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

fs/fat/fatent.c +4 -3
index 3647c65a0f48..0191eb1dc7f6 100644

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

fs/fs-writeback.c +8 -5
index 22e9c88f3960..5b3a288e0f14 100644

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

fs/iomap/buffered-io.c +2 -1
index 5c73751adb2d..53cd7b2bb580 100644

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

fs/jffs2/fs.c +1 -0
index ad1eba809e7e..ee2282b8c7a7 100644

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

fs/jfs/jfs_dmap.c +2 -1
index 79f3440e204b..d3cb27487c70 100644

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

fs/kernfs/dir.c +19 -12
index 7d4af6cea2a6..99ee657596b5 100644

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

fs/nfs/file.c +2 -5
index 73415970af38..3233da79d49a 100644

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

fs/nfs/nfs4proc.c +4 -0
index cf3b00751ff6..ba4a03a69fbf 100644

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

fs/nfs/pnfs.c +2 -0
index 0471b6e0da16..2fe48982fbb4 100644

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

fs/nfs/write.c +2 -9
index 30d8e7bc1cef..10ce264a6456 100644

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

fs/notify/fdinfo.c +2 -9
index 1e2bfd26b352..7df9ad4d8433 100644

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

fs/notify/inotify/inotify.h +12 -0
index 3f246f7b8a92..8b8bf52dd08b 100644

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

fs/notify/inotify/inotify_user.c +1 -1
index 81ffc8629fc4..b949b2c02f4b 100644

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

fs/notify/mark.c +3 -3
index 1d96216dffd1..fdf8e03bf3df 100644

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

fs/ocfs2/dlmfs/userdlm.c +15 -1
index 3df5be25bfb1..d23bc720753e 100644

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

fs/proc/generic.c +3 -0
index 8c3dbe13e647..372b4dad4863 100644

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

fs/proc/proc_net.c +3 -0
index 313b7c751867..9cd5b47199cb 100644

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

include/drm/drm_edid.h +3 -3
index b9719418c3d2..f40a97417b68 100644

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

include/linux/bpf.h +2 -0
index a73ca7c9c7d0..5705cda3c4c4 100644

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

include/linux/efi.h +2 -0
index c82ef0eba4f8..f9b9f9a2fd4a 100644

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

include/linux/iio/common/st_sensors.h +3 -0
index 686be532f4cb..7816bf070f83 100644

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

include/linux/mailbox_controller.h +1 -0
index 36d6ce673503..6fee33cb52f5 100644

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

include/linux/mtd/cfi.h +1 -0
index c98a21108688..f3c149073c21 100644

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

include/linux/nodemask.h +25 -26

51 lines not on this page · raw message

include/linux/ptrace.h +0 -7
index 2a9df80ea887..ae7dbdfa3d83 100644

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

include/linux/usb/hcd.h +2 -0
index 712b2a603645..c0eb85b2981e 100644

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

include/net/if_inet6.h +8 -0
index a01981d7108f..f6d614926e9e 100644

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

include/net/sch_generic.h +14 -28

42 lines not on this page · raw message

include/scsi/libfcoe.h +2 -1
index fac8e89aed81..310e0dbffda9 100644

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

include/sound/jack.h +1 -0
index 9eb2b5ec1ec4..78f3619f3de9 100644

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

include/trace/events/rxrpc.h +1 -1
index 059b6e45a028..839bb07b93a7 100644

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

include/trace/events/vmscan.h +2 -2
index a5ab2973e8dc..57184c02e3b9 100644

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

init/Kconfig +9 -0
index e6216dc2a1d1..74f44b753d61 100644

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

ipc/mqueue.c +14 -0
index 2ea0c08188e6..12519bf5f330 100644

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

kernel/bpf/stackmap.c +0 -1
index 49c7a09d688d..768ffd603787 100644

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

kernel/dma/debug.c +1 -1
index 4dc3bbfd3e3f..1c133f610f59 100644

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

kernel/ptrace.c +2 -3
index d99f73f83bf5..aab480e24bd6 100644

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

kernel/sched/fair.c +4 -4
index 87d9fad9d01d..d2a68ae7596e 100644

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

kernel/sched/pelt.h +2 -2
index afff644da065..43e2a47489fa 100644

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

kernel/sched/sched.h +2 -2
index fe755c1a0af9..b8a3db59e326 100644

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

kernel/trace/trace.c +10 -3
index 56619766e910..55da88f18342 100644

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

kernel/trace/trace_events_hist.c +3 -0
index 413da11260f8..83e181055685 100644

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

lib/nodemask.c +2 -2
index 3aa454c54c0d..e22647f5181b 100644

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

mm/compaction.c +2 -0
index d686887856fe..0758afd6325d 100644

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

mm/hugetlb.c +8 -1
index 20da6ede7704..b6f029a1059f 100644

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

net/bluetooth/sco.c +13 -8
index 2c616c1c6295..fbfb12e43010 100644

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

net/ipv4/ip_gre.c +5 -6
index 5b38d03f6d79..614410a6db44 100644

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

net/ipv4/tcp_input.c +7 -4
index b0e6fc2c5e10..0808110451a0 100644

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

net/ipv4/tcp_output.c +2 -2
index 67493ec6318a..739fc69cdcc6 100644

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

net/ipv4/xfrm4_protocol.c +0 -1
index 8a4285712808..9031b7732fec 100644

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

net/ipv6/addrconf.c +26 -7
index 92b32d131e1c..e29553e4f4ee 100644

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

net/ipv6/seg6_hmac.c +0 -1
index ffcfcd2b128f..a4cad71c4204 100644

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

net/key/af_key.c +6 -4
index dd064d5eff6e..32fe99cd01fc 100644

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

net/mac80211/chan.c +2 -5
index 9c94baaf693c..15f47918cbac 100644

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

net/mac80211/ieee80211_i.h +5 -0
index e574fbf6745a..7747a6f46d29 100644

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

net/mac80211/scan.c +20 -0
index 4d31d9688dc2..344b2c22e75b 100644

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

net/netfilter/nf_tables_api.c +16 -6
index 545da270e802..58a7d89719b1 100644

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

net/netfilter/nft_dynset.c +0 -3
index 6fdea0e57db8..6bcc18124e5b 100644

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

net/netfilter/nft_nat.c +2 -1
index 17c0f75dfcdb..0c5bc3c37ecf 100644

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

net/nfc/core.c +1 -0
index 63701a980ee1..2d4729d1f0eb 100644

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

net/rxrpc/ar-internal.h +7 -6
index 9fe264bec70c..cb174f699665 100644

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

net/rxrpc/call_event.c +2 -1
index 80e15310f1b2..8574e7066d94 100644

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

net/rxrpc/input.c +20 -11
index 916d1f455b21..5cf64cf8debf 100644

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

net/rxrpc/output.c +12 -8
index a4a6f8ee0720..6202d2e32914 100644

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

net/rxrpc/recvmsg.c +3 -5
index 4f48e3bdd4b4..c75789ebc514 100644

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

net/rxrpc/sendmsg.c +6 -0
index 1a340eb0abf7..22f020099214 100644

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

net/rxrpc/sysctl.c +2 -2
index 18dade4e6f9a..8fc419072505 100644

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

net/sctp/input.c +3 -1
index 9616b600a876..c306cb25f524 100644

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

net/smc/af_smc.c +1 -1
index a5a8cca46bd5..394491692a07 100644

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

net/sunrpc/xdr.c +5 -1
index 7ef37054071f..cb8740d15633 100644

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

net/sunrpc/xprtrdma/rpc_rdma.c +5 -0
index c091417bd799..60aaed9457e4 100644

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

net/tipc/bearer.c +1 -2
index 8bd2454cc89d..577f71dd63fb 100644

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

net/unix/af_unix.c +1 -1
index 05470ca91bd9..f33e90bd0683 100644

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

net/wireless/nl80211.c +1 -0
index d3e2b97d5d05..8459f5b6002e 100644

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

scripts/faddr2line +97 -53

150 lines not on this page · raw message

scripts/gdb/linux/config.py +3 -3
index 90e1565b1967..8843ab3cbadd 100644

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

scripts/mod/modpost.c +3 -2
index 13cda6aa2688..59011ddf8bb8 100644

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

security/integrity/platform_certs/keyring_handler.h +8 -0
index 2462bfa08fe3..cd06bd6072be 100644

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

security/integrity/platform_certs/load_uefi.c +33 -0
index f0c908241966..452011428d11 100644

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

sound/core/jack.c +27 -7
index b00ae6f39f05..e7ac82d46821 100644

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

sound/pci/hda/patch_conexant.c +7 -0
index 5e2fadb264e4..c0b6881b0672 100644

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

sound/pci/hda/patch_realtek.c +10 -0
index 78b5a0f22a41..8a221866ab01 100644

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

sound/soc/codecs/Kconfig +0 -1
index 466dc67799f4..dfc536cd9d2f 100644

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

sound/soc/codecs/rk3328_codec.c +1 -1
index 514ebe16bbfa..4e71ecf54af7 100644

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

sound/soc/codecs/rt5514.c +1 -1
index 7081142a355e..c444a56df95b 100644

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

sound/soc/codecs/rt5645.c +6 -1
index c83f7f5da96b..a66e93a3af74 100644

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

sound/soc/codecs/tscs454.c +6 -6
index c3587af9985c..3d981441b8d1 100644

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

sound/soc/codecs/wm2000.c +3 -3
index 72e165cc6443..97ece3114b3d 100644

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

sound/soc/fsl/fsl_sai.h +2 -2
index 677ecfc1ec68..afaef2027234 100644

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

sound/soc/fsl/imx-sgtl5000.c +8 -6
index 15e8b9343c35..7106d56a3346 100644

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

sound/soc/mediatek/mt2701/mt2701-wm8960.c +7 -2
index 8c4c89e4c616..b9ad42112ea1 100644

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

sound/soc/mediatek/mt8173/mt8173-max98090.c +4 -1
index de1410c2c446..32df18180114 100644

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

sound/soc/mxs/mxs-saif.c +1 -0
index cb1b525cbe9d..c899a05e896f 100644

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

sound/soc/soc-dapm.c +0 -2
index 1c09dfb0c0f0..56c9c4189f26 100644

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

tools/perf/builtin-c2c.c +6 -4
index f2e9d2b1b913..29d460c30176 100644

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

tools/perf/pmu-events/jevents.c +1 -1
index 47f57f5829d3..a4244bf242e6 100644

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

tools/perf/util/data.h +1 -0
index 259868a39019..252d99071249 100644

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

tools/power/x86/turbostat/turbostat.c +1 -0
index 988326b67a91..8bf6b01b3560 100644

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

tools/testing/selftests/bpf/progs/btf_dump_test_case_syntax.c +1 -1
index d4a02fe44a12..0620580a5c16 100644

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

tools/testing/selftests/netfilter/nft_nat.sh +43 -0

43 lines not on this page · 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.