Skip to contentSkip to conversation

Linux 4.19.238

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Apr 15, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.19.238 kernel.

All users of the 4.19 kernel series must upgrade.

The updated 4.19.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.19.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/process/stable-kernel-rules.rst                    |   11 
 Makefile                                                         |    2 
 arch/arm/boot/dts/bcm2837.dtsi                                   |   49 ++
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi                        |    2 
 arch/arm/boot/dts/exynos5250-smdk5250.dts                        |    3 
 arch/arm/boot/dts/exynos5420-smdk5420.dts                        |    3 
 arch/arm/boot/dts/qcom-ipq4019.dtsi                              |    3 
 arch/arm/boot/dts/qcom-msm8960.dtsi                              |    8 
 arch/arm/boot/dts/sama5d2.dtsi                                   |    2 
 arch/arm/boot/dts/spear1340.dtsi                                 |    6 
 arch/arm/boot/dts/spear13xx.dtsi                                 |    6 
 arch/arm/boot/dts/tegra20-tamonten.dtsi                          |    6 
 arch/arm/mach-mmp/sram.c                                         |   22 -
 arch/arm/mach-s3c24xx/mach-jive.c                                |    6 
 arch/arm64/boot/dts/broadcom/northstar2/ns2-svk.dts              |    8 
 arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi                 |    2 
 arch/arm64/include/asm/kvm_mmu.h                                 |    3 
 arch/arm64/kernel/insn.c                                         |    4 
 arch/arm64/kernel/module.lds                                     |    6 
 arch/mips/dec/prom/Makefile                                      |    2 
 arch/mips/include/asm/dec/prom.h                                 |   15 
 arch/mips/include/asm/setup.h                                    |    2 
 arch/mips/kernel/traps.c                                         |   22 -
 arch/mips/rb532/devices.c                                        |    6 
 arch/powerpc/Makefile                                            |    2 
 arch/powerpc/boot/dts/fsl/t104xrdb.dtsi                          |    4 
 arch/powerpc/include/asm/io.h                                    |   40 +-
 arch/powerpc/include/asm/uaccess.h                               |    3 
 arch/powerpc/kernel/kvm.c                                        |    2 
 arch/powerpc/kernel/machine_kexec.c                              |   15 
 arch/powerpc/kernel/rtas.c                                       |    6 
 arch/powerpc/kvm/powerpc.c                                       |    4 
 arch/powerpc/lib/sstep.c                                         |    8 
 arch/powerpc/platforms/powernv/rng.c                             |    6 
 arch/powerpc/sysdev/fsl_gtm.c                                    |    4 
 arch/riscv/kernel/module.lds                                     |    6 
 arch/um/drivers/mconsole_kern.c                                  |    3 
 arch/x86/events/intel/pt.c                                       |    2 
 arch/x86/kernel/kvm.c                                            |    2 
 arch/x86/kvm/emulate.c                                           |   14 
 arch/x86/kvm/hyperv.c                                            |   17 -
 arch/x86/kvm/lapic.c                                             |    5 
 arch/x86/kvm/pmu_amd.c                                           |    8 
 arch/x86/power/cpu.c                                             |   21 +
 arch/x86/xen/pmu.c                                               |   10 
 arch/x86/xen/pmu.h                                               |    3 
 arch/x86/xen/smp_hvm.c                                           |    6 
 arch/x86/xen/smp_pv.c                                            |    2 
 arch/x86/xen/time.c                                              |   24 +
 arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi                      |    8 
 arch/xtensa/boot/dts/xtfpga-flash-16m.dtsi                       |    8 
 arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi                        |    4 
 block/bfq-iosched.c                                              |   31 +
 block/blk-merge.c                                                |   12 
 block/blk-sysfs.c                                                |    8 
 crypto/authenc.c                                                 |    2 
 drivers/acpi/acpica/nswalk.c                                     |    3 
 drivers/acpi/apei/bert.c                                         |   10 
 drivers/acpi/apei/erst.c                                         |    2 
 drivers/acpi/apei/hest.c                                         |    2 
 drivers/acpi/cppc_acpi.c                                         |    5 
 drivers/acpi/property.c                                          |    2 
 drivers/ata/sata_dwc_460ex.c                                     |    6 
 drivers/base/power/main.c                                        |    6 
 drivers/block/drbd/drbd_int.h                                    |    8 
 drivers/block/drbd/drbd_nl.c                                     |   41 +-
 drivers/block/drbd/drbd_req.c                                    |    3 
 drivers/block/drbd/drbd_state.c                                  |   18 -
 drivers/block/drbd/drbd_state_change.h                           |    8 
 drivers/block/loop.c                                             |   10 
 drivers/block/virtio_blk.c                                       |   12 
 drivers/bluetooth/hci_serdev.c                                   |    3 
 drivers/char/hw_random/atmel-rng.c                               |    1 
 drivers/char/tpm/tpm-chip.c                                      |   46 --
 drivers/char/tpm/tpm.h                                           |    2 
 drivers/char/tpm/tpm2-space.c                                    |   65 +++
 drivers/char/virtio_console.c                                    |   15 
 drivers/clk/actions/owl-s700.c                                   |    1 
 drivers/clk/actions/owl-s900.c                                   |    2 
 drivers/clk/clk-clps711x.c                                       |    2 
 drivers/clk/clk.c                                                |   24 +
 drivers/clk/loongson1/clk-loongson1c.c                           |    1 
 drivers/clk/qcom/clk-rcg2.c                                      |    1 
 drivers/clk/qcom/gcc-ipq8074.c                                   |    2 
 drivers/clk/qcom/gcc-msm8994.c                                   |    1 
 drivers/clk/tegra/clk-emc.c                                      |    1 
 drivers/clk/uniphier/clk-uniphier-fixed-rate.c                   |    1 
 drivers/clocksource/acpi_pm.c                                    |    6 
 drivers/clocksource/timer-of.c                                   |    6 
 drivers/crypto/ccp/ccp-dmaengine.c                               |   16 
 drivers/crypto/mxs-dcp.c                                         |    2 
 drivers/crypto/vmx/Kconfig                                       |    4 
 drivers/dma/sh/shdma-base.c                                      |    4 
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                              |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c                 |   10 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                           |    1 
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                          |   16 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c                          |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c                        |   10 
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c                            |    2 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c                |    3 
 drivers/gpu/drm/bridge/cdns-dsi.c                                |    1 
 drivers/gpu/drm/bridge/sil-sii8620.c                             |    2 
 drivers/gpu/drm/drm_edid.c                                       |   11 
 drivers/gpu/drm/drm_panel_orientation_quirks.c                   |    6 
 drivers/gpu/drm/imx/parallel-display.c                           |    4 
 drivers/gpu/drm/tegra/dsi.c                                      |    4 
 drivers/hid/i2c-hid/i2c-hid-core.c                               |   32 +
 drivers/hv/hv_balloon.c                                          |    2 
 drivers/hv/vmbus_drv.c                                           |    9 
 drivers/hwmon/pmbus/pmbus.h                                      |    1 
 drivers/hwmon/pmbus/pmbus_core.c                                 |   18 -
 drivers/hwmon/sch56xx-common.c                                   |    2 
 drivers/hwtracing/coresight/coresight-etm4x-sysfs.c              |    8 
 drivers/i2c/busses/i2c-xiic.c                                    |    3 
 drivers/i2c/muxes/i2c-demux-pinctrl.c                            |    5 
 drivers/iio/adc/twl6030-gpadc.c                                  |    2 
 drivers/iio/afe/iio-rescale.c                                    |    8 
 drivers/iio/inkern.c                                             |   40 +-
 drivers/input/input.c                                            |    6 
 drivers/iommu/arm-smmu-v3.c                                      |    1 
 drivers/irqchip/irq-gic-v3.c                                     |    8 
 drivers/irqchip/irq-nvic.c                                       |    2 
 drivers/irqchip/qcom-pdc.c                                       |    5 
 drivers/md/dm-crypt.c                                            |    2 
 drivers/md/dm-ioctl.c                                            |    2 
 drivers/media/pci/cx88/cx88-mpeg.c                               |    3 
 drivers/media/platform/coda/coda-common.c                        |    1 
 drivers/media/platform/davinci/vpif.c                            |    1 
 drivers/media/usb/em28xx/em28xx-cards.c                          |   13 
 drivers/media/usb/go7007/s2250-board.c                           |   10 
 drivers/media/usb/hdpvr/hdpvr-video.c                            |    4 
 drivers/media/usb/stk1160/stk1160-core.c                         |    2 
 drivers/media/usb/stk1160/stk1160-v4l.c                          |   10 
 drivers/media/usb/stk1160/stk1160.h                              |    2 
 drivers/memory/emif.c                                            |    8 
 drivers/mfd/asic3.c                                              |   10 
 drivers/mfd/mc13xxx-core.c                                       |    4 
 drivers/misc/kgdbts.c                                            |    4 
 drivers/mmc/core/host.c                                          |   15 
 drivers/mmc/host/davinci_mmc.c                                   |    6 
 drivers/mmc/host/renesas_sdhi_core.c                             |    4 
 drivers/mmc/host/sdhci-xenon.c                                   |   10 
 drivers/mtd/nand/onenand/generic.c                               |    7 
 drivers/mtd/nand/raw/atmel/nand-controller.c                     |   14 
 drivers/mtd/ubi/build.c                                          |    9 
 drivers/mtd/ubi/fastmap.c                                        |   28 +
 drivers/mtd/ubi/vmt.c                                            |    8 
 drivers/net/can/usb/ems_usb.c                                    |    1 
 drivers/net/can/usb/mcba_usb.c                                   |   27 -
 drivers/net/can/vxcan.c                                          |    2 
 drivers/net/ethernet/8390/mcf8390.c                              |   10 
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c                |    4 
 drivers/net/ethernet/qlogic/qed/qed_sriov.c                      |   29 +
 drivers/net/ethernet/qlogic/qed/qed_sriov.h                      |    1 
 drivers/net/ethernet/qlogic/qede/qede_fp.c                       |    3 
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h                  |   10 
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c            |    3 
 drivers/net/ethernet/sun/sunhme.c                                |    6 
 drivers/net/hamradio/6pack.c                                     |    4 
 drivers/net/macvtap.c                                            |    6 
 drivers/net/phy/broadcom.c                                       |   21 +
 drivers/net/wireless/ath/ath10k/wow.c                            |    7 
 drivers/net/wireless/ath/ath5k/eeprom.c                          |    3 
 drivers/net/wireless/ath/ath9k/htc_hst.c                         |    5 
 drivers/net/wireless/ath/carl9170/main.c                         |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c      |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c          |   48 --
 drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c                |    2 
 drivers/net/wireless/ray_cs.c                                    |    6 
 drivers/parisc/dino.c                                            |   41 +-
 drivers/parisc/gsc.c                                             |   31 +
 drivers/parisc/gsc.h                                             |    1 
 drivers/parisc/lasi.c                                            |    7 
 drivers/parisc/wax.c                                             |    7 
 drivers/pci/access.c                                             |    9 
 drivers/pci/controller/pci-aardvark.c                            |   16 
 drivers/pci/hotplug/pciehp_hpc.c                                 |    4 
 drivers/perf/qcom_l2_pmu.c                                       |    6 
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c                    |    2 
 drivers/pinctrl/nomadik/pinctrl-nomadik.c                        |    4 
 drivers/pinctrl/pinconf-generic.c                                |    6 
 drivers/pinctrl/pinctrl-rockchip.c                               |    2 
 drivers/pinctrl/samsung/pinctrl-samsung.c                        |   30 +
 drivers/power/reset/gemini-poweroff.c                            |    4 
 drivers/power/supply/ab8500_fg.c                                 |    4 
 drivers/power/supply/axp20x_battery.c                            |   13 
 drivers/power/supply/bq24190_charger.c                           |    7 
 drivers/power/supply/wm8350_power.c                              |   97 ++++-
 drivers/ptp/ptp_sysfs.c                                          |    4 
 drivers/pwm/pwm-lpc18xx-sct.c                                    |   20 -
 drivers/regulator/qcom_smd-regulator.c                           |    4 
 drivers/remoteproc/qcom_wcnss.c                                  |    1 
 drivers/rtc/rtc-wm8350.c                                         |   11 
 drivers/scsi/aha152x.c                                           |    6 
 drivers/scsi/bfa/bfad_attr.c                                     |   26 -
 drivers/scsi/libfc/fc_exch.c                                     |    1 
 drivers/scsi/libsas/sas_ata.c                                    |    2 
 drivers/scsi/mvsas/mv_init.c                                     |    4 
 drivers/scsi/pm8001/pm8001_hwi.c                                 |   13 
 drivers/scsi/pm8001/pm80xx_hwi.c                                 |   11 
 drivers/scsi/qla2xxx/qla_def.h                                   |    4 
 drivers/scsi/qla2xxx/qla_gs.c                                    |    5 
 drivers/scsi/qla2xxx/qla_init.c                                  |   40 +-
 drivers/scsi/qla2xxx/qla_isr.c                                   |    1 
 drivers/scsi/qla2xxx/qla_target.c                                |    1 
 drivers/scsi/zorro7xx.c                                          |    2 
 drivers/soc/ti/wkup_m3_ipc.c                                     |    4 
 drivers/spi/spi-bcm-qspi.c                                       |    4 
 drivers/spi/spi-pxa2xx-pci.c                                     |   17 -
 drivers/spi/spi-tegra114.c                                       |    4 
 drivers/spi/spi-tegra20-slink.c                                  |    8 
 drivers/spi/spi.c                                                |    4 
 drivers/staging/iio/adc/ad7280a.c                                |    4 
 drivers/thermal/int340x_thermal/int3400_thermal.c                |    2 
 drivers/tty/hvc/hvc_iucv.c                                       |    4 
 drivers/tty/mxser.c                                              |   15 
 drivers/tty/serial/8250/8250_mid.c                               |   19 -
 drivers/tty/serial/8250/8250_port.c                              |   12 
 drivers/tty/serial/kgdboc.c                                      |    6 
 drivers/tty/serial/samsung.c                                     |    5 
 drivers/usb/dwc3/dwc3-omap.c                                     |    2 
 drivers/usb/host/ehci-pci.c                                      |    9 
 drivers/usb/host/xhci-hub.c                                      |    2 
 drivers/usb/host/xhci-mem.c                                      |    2 
 drivers/usb/host/xhci.c                                          |   20 -
 drivers/usb/host/xhci.h                                          |    7 
 drivers/usb/serial/Kconfig                                       |    1 
 drivers/usb/serial/pl2303.c                                      |    1 
 drivers/usb/serial/pl2303.h                                      |    3 
 drivers/usb/serial/usb-serial-simple.c                           |    7 
 drivers/usb/storage/ene_ub6250.c                                 |  155 ++++-----
 drivers/usb/storage/realtek_cr.c                                 |    2 
 drivers/video/fbdev/atafb.c                                      |   12 
 drivers/video/fbdev/cirrusfb.c                                   |   16 
 drivers/video/fbdev/core/fbcvt.c                                 |   53 +--
 drivers/video/fbdev/nvidia/nv_i2c.c                              |    2 
 drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c        |    1 
 drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c         |    8 
 drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c |    2 
 drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c |    4 
 drivers/video/fbdev/sm712fb.c                                    |   46 --
 drivers/video/fbdev/smscufx.c                                    |    3 
 drivers/video/fbdev/udlfb.c                                      |    8 
 drivers/video/fbdev/w100fb.c                                     |   15 
 drivers/w1/slaves/w1_therm.c                                     |    8 
 fs/btrfs/extent_io.h                                             |    2 
 fs/ext2/super.c                                                  |    6 
 fs/ext4/inode.c                                                  |   25 +
 fs/f2fs/gc.c                                                     |    4 
 fs/fuse/dev.c                                                    |   12 
 fs/fuse/file.c                                                   |    1 
 fs/fuse/fuse_i.h                                                 |    2 
 fs/gfs2/rgrp.c                                                   |    3 
 fs/jffs2/build.c                                                 |    4 
 fs/jffs2/fs.c                                                    |    2 
 fs/jffs2/scan.c                                                  |    6 
 fs/jfs/inode.c                                                   |    3 
 fs/jfs/jfs_dmap.c                                                |    7 
 fs/minix/inode.c                                                 |    3 
 fs/nfs/callback_proc.c                                           |   27 -
 fs/nfs/callback_xdr.c                                            |    4 
 fs/nfs/direct.c                                                  |   48 +-
 fs/nfs/file.c                                                    |    4 
 fs/nfs/nfs4state.c                                               |   12 
 fs/nfs/pnfs.c                                                    |   11 
 fs/nfs/pnfs.h                                                    |    2 
 fs/nfsd/nfsproc.c                                                |    2 
 fs/nfsd/xdr.h                                                    |    2 
 fs/ntfs/inode.c                                                  |    4 
 fs/ubifs/dir.c                                                   |   44 +-
 fs/ubifs/io.c                                                    |   34 +-
 fs/ubifs/ioctl.c                                                 |    2 
 include/linux/blk-cgroup.h                                       |   17 +
 include/linux/blkdev.h                                           |    8 
 include/linux/mmzone.h                                           |   11 
 include/linux/netdevice.h                                        |    6 
 include/linux/nfs_fs.h                                           |    8 
 include/linux/pci.h                                              |    1 
 include/linux/sunrpc/xdr.h                                       |    2 
 include/net/arp.h                                                |    1 
 include/net/sock.h                                               |   25 +
 include/net/xfrm.h                                               |   11 
 include/uapi/linux/bpf.h                                         |    4 
 init/main.c                                                      |    6 
 kernel/cgroup/cgroup-internal.h                                  |   19 +
 kernel/cgroup/cgroup-v1.c                                        |   33 +
 kernel/cgroup/cgroup.c                                           |   81 +++-
 kernel/dma/debug.c                                               |    4 
 kernel/events/core.c                                             |    3 
 kernel/power/hibernate.c                                         |    2 
 kernel/power/suspend_test.c                                      |    8 
 kernel/printk/printk.c                                           |    6 
 kernel/ptrace.c                                                  |   47 +-
 kernel/sched/debug.c                                             |   10 
 lib/raid6/test/Makefile                                          |    4 
 lib/raid6/test/test.c                                            |    1 
 lib/test_kmod.c                                                  |    1 
 mm/memcontrol.c                                                  |    2 
 mm/memory.c                                                      |   42 +-
 mm/mempolicy.c                                                   |    9 
 mm/mmap.c                                                        |    2 
 mm/mremap.c                                                      |    3 
 mm/page_alloc.c                                                  |    9 
 mm/rmap.c                                                        |   25 +
 mm/usercopy.c                                                    |    5 
 net/bluetooth/hci_event.c                                        |    3 
 net/can/raw.c                                                    |    2 
 net/ipv4/arp.c                                                   |    9 
 net/ipv4/fib_frontend.c                                          |    5 
 net/ipv4/raw.c                                                   |    2 
 net/ipv4/tcp_output.c                                            |    5 
 net/ipv6/raw.c                                                   |    2 
 net/ipv6/xfrm6_output.c                                          |   16 
 net/key/af_key.c                                                 |    6 
 net/netfilter/nf_conntrack_proto_tcp.c                           |   17 -
 net/netlink/af_netlink.c                                         |    2 
 net/openvswitch/actions.c                                        |    2 
 net/openvswitch/flow_netlink.c                                   |    8 
 net/packet/af_packet.c                                           |    6 
 net/rxrpc/net_ns.c                                               |    2 
 net/smc/smc_core.c                                               |    2 
 net/sunrpc/sched.c                                               |    4 
 net/sunrpc/xprt.c                                                |    7 
 net/sunrpc/xprtrdma/transport.c                                  |    4 
 net/x25/af_x25.c                                                 |   11 
 net/xfrm/xfrm_interface.c                                        |    5 
 net/xfrm/xfrm_policy.c                                           |   32 -
 net/xfrm/xfrm_user.c                                             |   18 -
 security/selinux/xfrm.c                                          |    2 
 security/smack/smack_lsm.c                                       |    2 
 security/tomoyo/load_policy.c                                    |    4 
 sound/firewire/fcp.c                                             |    4 
 sound/isa/cs423x/cs4236.c                                        |    8 
 sound/pci/hda/patch_realtek.c                                    |    4 
 sound/soc/atmel/atmel_ssc_dai.c                                  |    5 
 sound/soc/atmel/sam9g20_wm8731.c                                 |    1 
 sound/soc/codecs/msm8916-wcd-digital.c                           |    5 
 sound/soc/codecs/rt5663.c                                        |    2 
 sound/soc/codecs/wm8350.c                                        |   28 +
 sound/soc/davinci/davinci-i2s.c                                  |    5 
 sound/soc/fsl/imx-es8328.c                                       |    1 
 sound/soc/mxs/mxs-saif.c                                         |    5 
 sound/soc/mxs/mxs-sgtl5000.c                                     |    3 
 sound/soc/sh/fsi.c                                               |   19 -
 sound/soc/soc-core.c                                             |    2 
 sound/soc/soc-generic-dmaengine-pcm.c                            |    6 
 sound/soc/soc-topology.c                                         |    3 
 sound/spi/at73c213.c                                             |   27 +
 tools/build/feature/Makefile                                     |    9 
 tools/include/uapi/linux/bpf.h                                   |    4 
 tools/perf/Makefile.config                                       |    3 
 tools/testing/selftests/bpf/test_lirc_mode2.sh                   |    5 
 tools/testing/selftests/cgroup/cgroup_util.c                     |    2 
 tools/testing/selftests/cgroup/test_core.c                       |  167 ++++++++++
 tools/testing/selftests/x86/check_cc.sh                          |    2 
 virt/kvm/kvm_main.c                                              |   13 
 357 files changed, 2468 insertions(+), 1115 deletions(-)

Aashish Sharma (1):
dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS

Adrian Hunter (2):
perf/core: Fix address filter parser for multiple filters perf/x86/intel/pt: Fix address filter config for 32-bit kernel

Alan Stern (1):
USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c

Alex Deucher (1):
drm/amdkfd: make CRAT table missing message informational only

Alexander Lobakin (1):
MIPS: fix fortify panic when copying asm exception handlers

Alexey Khoroshilov (1):
NFS: remove unneeded check in decode_devicenotify_args()

Alistair Popple (1):
mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node

Amadeusz Sławiński (1):
ASoC: topology: Allow TLV control to be either read or write

Anders Roxell (3):
powerpc/lib/sstep: Fix 'sthcx' instruction powerpc/lib/sstep: Fix build errors with newer binutils
powerpc: Fix build errors with newer binutils

Andreas Gruenbacher (1):
powerpc/kvm: Fix kvm_use_magic_page

Andrew Price (1):
gfs2: Make sure FITRIM minlen is rounded up to fs block size

Andy Shevchenko (2):
spi: pxa2xx-pci: Balance reference count for PCI DMA device
serial: 8250_mid: Balance reference count for PCI DMA device

Anisse Astier (1):
drm: Add orientation quirk for GPD Win Max

Anssi Hannula (1):
hv_balloon: rate-limit "Unhandled message" warning

Anton Ivanov (1):
um: Fix uml_mconsole stop/go

Armin Wolf (1):
hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING

Arnaldo Carvalho de Melo (2):
tools build: Filter out options and warnings not supported by clang tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts

Bagas Sanjaya (2):
Documentation: add link to stable release candidate tree
Documentation: update stable tree link

Baokun Li (5):
jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
jffs2: fix memory leak in jffs2_do_mount_fs
jffs2: fix memory leak in jffs2_scan_medium
ubifs: rename_whiteout: correct old_dir size computing
ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl

Bas Nieuwenhuizen (1):
drm/amdgpu: Check if fd really is an amdgpu fd.

Bharata B Rao (1):
sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa

Biju Das (2):
spi: Fix invalid sgs value
spi: Fix erroneous sgs value with min_t()

Brandon Wyman (1):
hwmon: (pmbus) Add Vin unit off handling

Casey Schaufler (1):
Fix incorrect type in assignment of ipv6 port for audit

Chaitanya Kulkarni (1):
loop: use sysfs_emit() in the sysfs xxx show()

Chao Yu (1):
f2fs: fix to unlock page correctly in error path of is_alive()

Chen-Yu Tsai (2):
pinctrl: pinconf-generic: Print arguments for bias-pull-*
net: stmmac: Fix unset max_speed difference between DT and non-DT platforms

Christian Göttsche (1):
selinux: use correct type for context length

Christian Lamparter (1):
ata: sata_dwc_460ex: Fix crash due to OOB write

Christophe JAILLET (1):
scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()

Claudiu Beznea (1):
hwrng: atmel - disable trng on failure path

Codrin Ciubotariu (1):
ASoC: dmaengine: do not use a NULL prepare_slave_config() callback

Colin Ian King (2):
carl9170: fix missing bit-wise or operator for tx_params
iwlwifi: Fix -EIO error code that is never returned

Cooper Chiou (1):
drm/edid: check basic audio support on CEA extension block

Dafna Hirschfeld (1):
media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED

Damien Le Moal (6):
scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
scsi: pm8001: Fix abort all task initialization
scsi: pm8001: Fix pm8001_mpi_task_abort_resp()

Dan Carpenter (7):
NFSD: prevent underflow in nfssvc_decode_writeargs()
NFSD: prevent integer overflow on 32 bit systems
video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
media: usb: go7007: s2250-board: fix leak in probe()
USB: storage: ums-realtek: fix error code in rts51x_read_mem() lib/test: use after free in register_test_dev_kmod() drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()

Daniel González Cabanelas (1):
media: cx88-mpeg: clear interrupt status register before streaming video

Darren Hart (1):
ACPI/APEI: Limit printable size of BERT table data

David Heidelberg (1):
ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960

David Matlack (1):
KVM: Prevent module exit until all VMs are freed

Dirk Buchwalder (1):
clk: qcom: ipq8074: Use floor ops for SDCC1 clock

Dirk Müller (1):
lib/raid6/test: fix multiple definition linking error

Dmitry Baryshkov (1):
PM: core: keep irq flags in device_pm_check_callbacks()

Dmitry Torokhov (1):
HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports

Dongli Zhang (1):
xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32

Dongliang Mu (3):
media: em28xx: initialize refcount before kref_get
ntfs: add sanity check on allocation size
media: hdpvr: initialize dev->worker at hdpvr_register_videodev

Duoming Zhou (2):
drivers: hamradio: 6pack: fix UAF bug caused by mod_timer() net/x25: Fix null-ptr-deref caused by x25_disconnect

Dust Li (1):
net/smc: correct settings of RMB window update limit

Dāvis Mosāns (1):
crypto: ccp - ccp_dmaengine_unregister release dma channels

Eddie James (1):
USB: serial: pl2303: add IBM device IDs

Eric Biggers (1):
block: don't delete queue kobject before its children

Eric Dumazet (1):
rxrpc: fix a race in rxrpc_exit_net()

Ethan Lien (1):
btrfs: fix qgroup reserve overflow the qgroup limit

Evgeny Boger (1):

      power: supply: axp20x_battery: properly report current when discharging

Evgeny Novikov (1):
video: fbdev: w100fb: Reset global state

Fabiano Rosas (1):
KVM: PPC: Fix vmx/vsx mixup in mmio emulation

Fangrui Song (2):
riscv module: remove (NOLOAD)
arm64: module: remove (NOLOAD) from linker script

Felix Kuehling (1):
drm/amdkfd: Use drm_priv to pass VM from KFD to amdgpu

Florian Fainelli (1):
net: phy: broadcom: Fix brcm_fet_config_init()

Frank Wunderlich (1):
arm64: dts: broadcom: Fix sata nodename

George Kennedy (1):
video: fbdev: cirrusfb: check pixclock to avoid divide by zero

Greg Kroah-Hartman (1):

      Linux 4.19.238

Guilherme G. Piccoli (1):
Drivers: hv: vmbus: Fix potential crash on module unload

Guillaume Ranquet (1):
clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()

Guo Ren (1):
arm64: patch_text: Fixup last cpu should be master

H. Nikolaus Schaller (1):
usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm

Haimin Zhang (2):
af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
jfs: prevent NULL deref in diFree

Hangbin Liu (1):
selftests/bpf/test_lirc_mode2.sh: Exit with proper code

Hangyu Hua (2):
can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path

Hans de Goede (1):
power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return

Hector Martin (2):
brcmfmac: firmware: Allocate space for default boardrev in nvram
brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio

Helge Deller (2):
video: fbdev: sm712fb: Fix crash in smtcfb_read()
parisc: Fix CPU affinity for Lasi, WAX and Dino chips

Hengqi Chen (1):
bpf: Fix comment for helper bpf_current_task_under_cgroup()

Herbert Xu (1):
crypto: authenc - Fix sleep in atomic context in decrypt_tail

Hou Wenlong (1):
KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()

Hugh Dickins (1):
mempolicy: mbind_range() set_policy() after vma_merge()

Ido Schimmel (1):
ipv4: Invalidate neighbour for broadcast address upon address addition

Ilya Maximets (1):
net: openvswitch: don't send internal clone attribute to the userspace.

Jakob Koschel (1):
powerpc/sysdev: fix incorrect use to determine if list is empty

Jakub Kicinski (1):
tcp: ensure PMTU updates are processed during fastopen

James Clark (1):
coresight: Fix TRCCONFIGR.QE sysfs interface

James Morse (1):
KVM: arm64: Check arm64_get_bp_hardening_data() didn't return NULL

Jamie Bainbridge (1):
qede: confirm skb is allocated before using

Jann Horn (1):
ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE

Jia-Ju Bai (2):
ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
memory: emif: check the pointer temp in get_device_details()

Jianglei Nie (1):
scsi: libfc: Fix use after free in fc_exch_abts_resp()

Jiasheng Jiang (15):
ASoC: ti: davinci-i2s: Add check for clk_enable()
ALSA: spi: Add check for clk_enable()
ASoC: mxs-saif: Handle errors for clk_enable
ASoC: atmel_ssc_dai: Handle errors for clk_enable
memory: emif: Add check for setup_interrupts
ASoC: wm8350: Handle error for wm8350_register_irq
ASoC: fsi: Add check for clk_enable
mmc: davinci_mmc: Handle error for clk_enable
mtd: onenand: Check for error irq
ray_cs: Check ioremap return value
power: supply: wm8350-power: Handle error for wm8350_register_irq
power: supply: wm8350-power: Add missing free in free_charger_irq
mfd: mc13xxx: Add check for mc13xxx_irq_request
iio: adc: Add check for devm_request_threaded_irq
rtc: wm8350: Handle error for wm8350_register_irq

Jim Mattson (1):
KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs

Jing Yao (3):
video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit

Jiri Slaby (2):

      mxser: fix xmit_buf leak in activate when LSR == 0xff
      serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()

Joe Carnuccio (1):
scsi: qla2xxx: Check for firmware dump already collected

Johan Hovold (2):
USB: serial: simple: add Nokia phone driver
media: davinci: vpif: fix unbalanced runtime PM get

Jonathan Cameron (1):
staging:iio:adc:ad7280a: Fix handing of device address bit reversing.

Jonathan Neuschäfer (3):
clk: actions: Terminate clk_div_table with sentinel element
clk: loongson1: Terminate clk_div_table with sentinel element
clk: clps711x: Terminate clk_div_table with sentinel element

Jordy Zomer (1):
dm ioctl: prevent potential spectre v1 gadget

José Expósito (2):
Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads" drm/imx: Fix memory leak in imx_pd_connector_get_modes

Juergen Gross (1):
xen: fix is_xen_pmu()

Kai-Heng Feng (1):
ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020

Kamal Dasu (1):
spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op()

Konrad Dybcio (1):
clk: qcom: gcc-msm8994: Fix gpll4 width

Krzysztof Kozlowski (4):
pinctrl: samsung: drop pin banks references on error paths
ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
ARM: dts: exynos: add missing HDMI supplies on SMDK5250
ARM: dts: exynos: add missing HDMI supplies on SMDK5420

Kuldeep Singh (3):
arm64: dts: ns2: Fix spi-cpol and spi-cpha property
ARM: dts: spear1340: Update serial node properties
ARM: dts: spear13xx: Update SPI dma properties

Kunihiko Hayashi (1):
clk: uniphier: Fix fixed-rate initialization

Lars Ellenberg (1):
drbd: fix potential silent data corruption

Li RongQing (1):
KVM: x86: fix sending PV IPI

Liam Beguin (4):
iio: afe: rescale: use s64 for temporary scale calculations
iio: inkern: apply consumer scale on IIO_VAL_INT cases
iio: inkern: apply consumer scale when no channel scale is available
iio: inkern: make a best effort on offset calculation

Liguang Zhang (1):
PCI: pciehp: Clear cmd_busy bit in polling mode

Lina Wang (1):
xfrm: fix tunnel model fragmentation behavior

Lino Sanfilippo (1):
tpm: fix reference counting for struct tpm_chip

Lucas Denefle (1):
w1: w1_therm: fixes w1_seq for ds28ea00 sensors

Luiz Augusto von Dentz (1):
Bluetooth: Fix use after free in hci_send_acl

Lv Yunlong (1):
drbd: Fix five use after free bugs in get_initial_state

Maciej W. Rozycki (1):
DEC: Limit PMAX memory probing to R3k systems

Manish Chopra (2):
qed: display VF trust config
qed: validate and restrict untrusted VFs vlan promisc mode

Manish Rangankar (1):
scsi: qla2xxx: Use correct feature type field during RFF_ID processing

Manivannan Sadhasivam (1):
PCI: pciehp: Add Qualcomm quirk for Command Completed erratum

Marc Zyngier (2):
irqchip/qcom-pdc: Fix broken locking
irqchip/gic-v3: Fix GICR_CTLR.RWP polling

Mark Tomlinson (1):
PCI: Reduce warnings on possible RW1C corruption

Martin Varghese (1):
openvswitch: Fixed nd target mask field in the flow dump.

Mathias Nyman (1):
xhci: make xhci_handshake timeout for xhci_reset() adjustable

Mauricio Faria de Oliveira (1):
mm: fix race between MADV_FREE reclaim and blkdev direct IO read

Max Filippov (1):
xtensa: fix DTC warning unit_address_format

Maxim Kiselev (1):
powerpc: dts: t104xrdb: fix phy type for FMAN 4/5

Maxime Ripard (2):
drm/edid: Don't clear formats if using deep color
clk: Enforce that disjoints limits are invalid

Miaohe Lin (1):
mm/mempolicy: fix mpol_new leak in shared_policy_replace

Miaoqian Lin (17):
spi: tegra114: Add missing IRQ check in tegra_spi_probe
media: coda: Fix missing put_device() call in coda_get_vdoa_data
soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe

Michael Chan (1):
bnxt_en: Eliminate unintended link toggle during FW reset

Michael Ellerman (1):
powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit

Michael S. Tsirkin (1):
virtio_console: break out of buf poll on remove

Michael Schmitz (1):
video: fbdev: atari: Atari 2 bpp (STe) palette bugfix

Miklos Szeredi (1):
fuse: fix pipe buffer lifetime for direct_io

Minghao Chi (1):
spi: tegra20: Use of_device_get_match_data()

Minghao Chi (CGEL ZTE) (1):
net:mcf8390: Use platform_get_irq() to get the interrupt

Muhammad Usama Anjum (1):
selftests/x86: Add validity check and allow field splitting

Neal Liu (1):
usb: ehci: add pci device support for Aspeed platforms

NeilBrown (4):
SUNRPC: avoid race between mod_timer() and del_timer_sync() SUNRPC/call_alloc: async tasks mustn't block waiting for memory
NFS: swap IO handling is slightly different for O_DIRECT IO
NFS: swap-out must always use STABLE writes.

Nilesh Javali (1):
scsi: qla2xxx: Fix warning for missing error code

Nishanth Menon (1):
drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt

Oliver Hartkopp (1):
vxcan: enable local echo for sent CAN frames

Pablo Neira Ayuso (1):
netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options

Pali Rohár (2):
PCI: aardvark: Fix support for MSI interrupts Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning"

Paolo Bonzini (1):
mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)

Paolo Valente (1):
Revert "Revert "block, bfq: honor already-setup queue merges""

Patrick Rudolph (1):
hwmon: (pmbus) Add mutex to regulator ops

Paul Menzel (1):

      lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3

Pavel Kubelun (1):
ARM: dts: qcom: ipq4019: fix sleep clock

Pavel Skripkin (5):
Bluetooth: hci_serdev: call init_rwsem() before p->open()
ath9k_htc: fix uninit value bugs
jfs: fix divide error in dbNextAG
media: Revert "media: em28xx: add missing em28xx_close_extension"
can: mcba_usb: properly check endpoint type

Pawan Gupta (2):
x86/pm: Save the MSR validity status at context setup x86/speculation: Restore speculation related MSRs during S3 resume

Peter Rosin (1):
i2c: mux: demux-pinctrl: do not deactivate a master that is not active

Peter Xu (1):
mm: don't skip swap entry even if zap_details specified

Petr Machata (1):
af_netlink: Fix shift out of bounds in group mask calculation

Petr Vorel (1):
crypto: vmx - add missing dependencies

Qinghua Jin (1):
minix: fix bug when opening a file with O_DIRECT

Quinn Tran (4):
scsi: qla2xxx: Fix stuck session in gpdb
scsi: qla2xxx: Fix incorrect reporting of task management failure
scsi: qla2xxx: Fix hang due to session stuck
scsi: qla2xxx: Reduce false trigger to login

Rafael J. Wysocki (2):
ACPICA: Avoid walking the ACPI Namespace if it is not there
ACPI: CPPC: Avoid out of bounds access when parsing _CPC data

Randy Dunlap (18):
PM: hibernate: fix __setup handler error handling
PM: suspend: fix return value of __setup handler
ACPI: APEI: fix return value of __setup handlers
clocksource: acpi_pm: fix return value of __setup handler
printk: fix return value of printk.devkmsg __setup handler
TOMOYO: fix __setup handlers return values
MIPS: RB532: fix return value of __setup handler
dma-debug: fix return value of __setup handlers
tty: hvc: fix return value of __setup handler
kgdboc: fix return value of __setup handler
kgdbts: fix return value of __setup handler
mm/mmap: return 1 from stack_guard_gap __setup() handler mm/memcontrol: return 1 from cgroup.memory __setup() handler mm/usercopy: return 1 from hardened_usercopy __setup() handler
ARM: 9187/1: JIVE: fix return value of __setup handler
scsi: aha152x: Fix aha152x_setup() __setup handler return value init/main.c: return 1 from handled __setup() functions
virtio_console: eliminate anonymous module_init & module_exit

Richard Leitner (1):
ARM: tegra: tamonten: Fix I2C3 pad setting

Richard Schleich (1):
ARM: dts: bcm2837: Add the missing L1/L2 cache information

Rik van Riel (2):
mm: invalidate hwpoison page cache page in fault path mm,hwpoison: unmap poisoned page before invalidation

Robert Hancock (1):
i2c: xiic: Make bus names unique

Sakari Ailus (1):
ACPI: properties: Consistently return -ENOENT if there are no more references

Saurav Kashyap (1):
scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()

Shengjiu Wang (1):
ASoC: soc-core: skip zero num_dai component in searching dai name

Souptick Joarder (HPE) (1):
irqchip/nvic: Release nvic_base upon failure

Sourabh Jain (1):
powerpc: Set crashkernel offset to mid of RMA region

Srinivas Pandruvada (1):

      thermal: int340x: Increase bitmap size

Sven Eckelmann (1):
macvtap: advertise link netns via netlink

Takashi Sakamoto (1):
ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction

Taniya Das (1):
clk: qcom: clk-rcg2: Update the frac table for pixel clock

Tejun Heo (7):
block: don't merge across cgroup boundaries if blkcg is enabled
cgroup: Use open-time credentials for process migraton perm checks
cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv
cgroup: Use open-time cgroup namespace for process migration perm checks
selftests: cgroup: Make cg_create() use 0755 for permission instead of 0644
selftests: cgroup: Test open-time credential usage for migration checks
selftests: cgroup: Test open-time cgroup namespace usage for migration checks

Theodore Ts'o (1):
ext4: don't BUG if someone dirty pages without asking ext4 first

Tim Gardner (1):
video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow

Tom Rix (1):
qlcnic: dcb: default to returning -EOPNOTSUPP

Tomas Paukrt (1):
crypto: mxs-dcp - Fix scatterlist processing

Trond Myklebust (2):
NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
NFSv4: Protect the state recovery thread against direct reclaim

Tudor Ambarus (1):
ARM: dts: at91: sama5d2: Fix PMERRLOC resource size

Ulf Hansson (1):

      mmc: host: Return an error when ->enable_sdio_irq() ops is missing

Uwe Kleine-König (3):
pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
serial: 8250: Fix race condition in RTS-after-send handling
ARM: mmp: Fix failure to remove sram device

Vinod Koul (1):
dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"

Vitaly Kuznetsov (1):
KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated

Waiman Long (1):
mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning

Wang Hai (1):
video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()

Wang Wensheng (1):
ASoC: imx-es8328: Fix error return code in imx_es8328_probe()

Wen Gong (1):
ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern

Willem de Bruijn (1):
net: add missing SOF_TIMESTAMPING_OPT_ID support

Wolfram Sang (1):
mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete

Xiaomeng Tong (2):
ALSA: cs4236: fix an incorrect NULL check on list iterator
perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator

Xie Yongji (2):
block: Add a helper to validate the block size
virtio-blk: Use blk_validate_block_size() to validate block size

Xin Long (1):
xfrm: policy: match with both mark and mask on user interfaces

Xin Xiong (2):
mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj

Yajun Deng (1):
netdevice: add the case if dev is NULL

Yang Guang (4):
video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
ptp: replace snprintf with sysfs_emit
scsi: mvsas: Replace snprintf() with sysfs_emit()
scsi: bfa: Replace snprintf() with sysfs_emit()

Zekun Shen (1):
ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111

Zhang Wensheng (1):
bfq: fix use-after-free in bfq_dispatch_request

Zhang Yi (1):
ext2: correct max file size computing

Zhenzhong Duan (1):
KVM: x86: Fix emulation in writing cr8

Zheyu Ma (2):
ethernet: sun: Free the coherent when failing in probing
video: fbdev: sm712fb: Fix crash in smtcfb_write()

Zhihao Cheng (7):
ubifs: rename_whiteout: Fix double free for whiteout_ui->data
ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
ubi: fastmap: Return error code if memory allocation fails in add_aeb()
ubifs: Rectify space amount budget for mkdir/tmpfile operations

Zhou Guanghui (1):
iommu/arm-smmu-v3: fix event handling soft lockup

Zhou Qingyang (1):
drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()

kernel test robot (1):
regulator: qcom_smd: fix for_each_child.cocci warnings

author maintainer
#1 lore raw
Documentation/process/stable-kernel-rules.rst +10 -1
index 7ba8cd567f84..e5561d78bb63 100644
@@ -174,7 +174,16 @@ Trees
  - The finalized and tagged releases of all stable kernels can be found
    in separate branches per version at:
 
-	https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
+	https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
+
+ - The release candidate of all stable kernel versions can be found at:
+
+        https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
+
+   .. warning::
+      The -stable-rc tree is a snapshot in time of the stable-queue tree and
+      will change frequently, hence will be rebased often. It should only be
+      used for testing purposes (e.g. to be consumed by CI systems).
 
 
 Review committee
Makefile +1 -1
index 834336f971c1..c2a8f7c5d993 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 237
+SUBLEVEL = 238
 EXTRAVERSION =
 NAME = "People's Front"
 
arch/arm/boot/dts/bcm2837.dtsi +49 -0

79 lines not on this page · raw message

arch/arm/boot/dts/exynos5250-pinctrl.dtsi +1 -1
index d31a68672bfa..d7d756614edd 100644
@@ -260,7 +260,7 @@
 	};
 
 	uart3_data: uart3-data {
-		samsung,pins = "gpa1-4", "gpa1-4";
+		samsung,pins = "gpa1-4", "gpa1-5";
 		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
 		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
 		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
arch/arm/boot/dts/exynos5250-smdk5250.dts +3 -0
index 594b246afbed..80479ed69070 100644
@@ -116,6 +116,9 @@
 	status = "okay";
 	ddc = <&i2c_2>;
 	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+	vdd-supply = <&ldo8_reg>;
+	vdd_osc-supply = <&ldo10_reg>;
+	vdd_pll-supply = <&ldo8_reg>;
 };
 
 &i2c_0 {
arch/arm/boot/dts/exynos5420-smdk5420.dts +3 -0
index 831c7336f237..660a9ad05c9b 100644
@@ -131,6 +131,9 @@
 	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&hdmi_hpd_irq>;
+	vdd-supply = <&ldo6_reg>;
+	vdd_osc-supply = <&ldo7_reg>;
+	vdd_pll-supply = <&ldo6_reg>;
 };
 
 &hsi2c_4 {
arch/arm/boot/dts/qcom-ipq4019.dtsi +2 -1
index 8328ad589e2b..59527bb1225a 100644
@@ -135,7 +135,8 @@
 	clocks {
 		sleep_clk: sleep_clk {
 			compatible = "fixed-clock";
-			clock-frequency = <32768>;
+			clock-frequency = <32000>;
+			clock-output-names = "gcc_sleep_clk_src";
 			#clock-cells = <0>;
 		};
 
arch/arm/boot/dts/qcom-msm8960.dtsi +5 -3
index 1733d8f40ab1..b256fda0f5ea 100644
@@ -140,7 +140,9 @@
 			reg		= <0x108000 0x1000>;
 			qcom,ipc	= <&l2cc 0x8 2>;
 
-			interrupts	= <0 19 0>, <0 21 0>, <0 22 0>;
+			interrupts	= <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
 			interrupt-names	= "ack", "err", "wakeup";
 
 			regulators {
@@ -186,7 +188,7 @@
 				compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
 				reg = <0x16440000 0x1000>,
 				      <0x16400000 0x1000>;
-				interrupts = <0 154 0x0>;
+				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
 				clock-names = "core", "iface";
 				status = "disabled";
@@ -312,7 +314,7 @@
 				#address-cells = <1>;
 				#size-cells = <0>;
 				reg = <0x16080000 0x1000>;
-				interrupts = <0 147 0>;
+				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
 				spi-max-frequency = <24000000>;
 				cs-gpios = <&msmgpio 8 0>;
 
arch/arm/boot/dts/sama5d2.dtsi +1 -1
index d856c16d0015..79696d4f4f65 100644
@@ -1125,7 +1125,7 @@
 				pmecc: ecc-engine@f8014070 {
 					compatible = "atmel,sama5d2-pmecc";
 					reg = <0xf8014070 0x490>,
-					      <0xf8014500 0x100>;
+					      <0xf8014500 0x200>;
 				};
 			};
 
arch/arm/boot/dts/spear1340.dtsi +3 -3
index d4dbc4098653..cf1139973bda 100644
@@ -142,9 +142,9 @@
 				reg = <0xb4100000 0x1000>;
 				interrupts = <0 105 0x4>;
 				status = "disabled";
-				dmas = <&dwdma0 12 0 1>,
-					<&dwdma0 13 1 0>;
-				dma-names = "tx", "rx";
+				dmas = <&dwdma0 13 0 1>,
+					<&dwdma0 12 1 0>;
+				dma-names = "rx", "tx";
 			};
 
 			thermal@e07008c4 {
arch/arm/boot/dts/spear13xx.dtsi +3 -3
index 086b4b333249..06eb7245d93e 100644
@@ -290,9 +290,9 @@
 				#size-cells = <0>;
 				interrupts = <0 31 0x4>;
 				status = "disabled";
-				dmas = <&dwdma0 4 0 0>,
-					<&dwdma0 5 0 0>;
-				dma-names = "tx", "rx";
+				dmas = <&dwdma0 5 0 0>,
+					<&dwdma0 4 0 0>;
+				dma-names = "rx", "tx";
 			};
 
 			rtc@e0580000 {
arch/arm/boot/dts/tegra20-tamonten.dtsi +3 -3
index 394a6b4dc69d..69cb65d86c46 100644
@@ -183,8 +183,8 @@
 			};
 			conf_ata {
 				nvidia,pins = "ata", "atb", "atc", "atd", "ate",
-					"cdev1", "cdev2", "dap1", "dtb", "gma",
-					"gmb", "gmc", "gmd", "gme", "gpu7",
+					"cdev1", "cdev2", "dap1", "dtb", "dtf",
+					"gma", "gmb", "gmc", "gmd", "gme", "gpu7",
 					"gpv", "i2cp", "irrx", "irtx", "pta",
 					"rm", "slxa", "slxk", "spia", "spib",
 					"uac";
@@ -203,7 +203,7 @@
 			};
 			conf_crtp {
 				nvidia,pins = "crtp", "dap2", "dap3", "dap4",
-					"dtc", "dte", "dtf", "gpu", "sdio1",
+					"dtc", "dte", "gpu", "sdio1",
 					"slxc", "slxd", "spdi", "spdo", "spig",
 					"uda";
 				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
arch/arm/mach-mmp/sram.c +12 -10
index ba91e4fe444d..3c4e41dabb02 100644
@@ -76,6 +76,8 @@ static int sram_probe(struct platform_device *pdev)
 	if (!info)
 		return -ENOMEM;
 
+	platform_set_drvdata(pdev, info);
+
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (res == NULL) {
 		dev_err(&pdev->dev, "no memory resource defined\n");
@@ -111,8 +113,6 @@ static int sram_probe(struct platform_device *pdev)
 	list_add(&info->node, &sram_bank_list);
 	mutex_unlock(&sram_lock);
 
-	platform_set_drvdata(pdev, info);
-
 	dev_info(&pdev->dev, "initialized\n");
 	return 0;
 
@@ -131,17 +131,19 @@ static int sram_remove(struct platform_device *pdev)
 	struct sram_bank_info *info;
 
 	info = platform_get_drvdata(pdev);
-	if (info == NULL)
-		return -ENODEV;
 
-	mutex_lock(&sram_lock);
-	list_del(&info->node);
-	mutex_unlock(&sram_lock);
+	if (info->sram_size) {
+		mutex_lock(&sram_lock);
+		list_del(&info->node);
+		mutex_unlock(&sram_lock);
+
+		gen_pool_destroy(info->gpool);
+		iounmap(info->sram_virt);
+		kfree(info->pool_name);
+	}
 
-	gen_pool_destroy(info->gpool);
-	iounmap(info->sram_virt);
-	kfree(info->pool_name);
 	kfree(info);
+
 	return 0;
 }
 
arch/arm/mach-s3c24xx/mach-jive.c +3 -3
index 885e8f12e4b9..eedc9f8ed210 100644
@@ -237,11 +237,11 @@ static int __init jive_mtdset(char *options)
 	unsigned long set;
 
 	if (options == NULL || options[0] == '\0')
-		return 0;
+		return 1;
 
 	if (kstrtoul(options, 10, &set)) {
 		printk(KERN_ERR "failed to parse mtdset=%s\n", options);
-		return 0;
+		return 1;
 	}
 
 	switch (set) {
@@ -256,7 +256,7 @@ static int __init jive_mtdset(char *options)
 		       "using default.", set);
 	}
 
-	return 0;
+	return 1;
 }
 
 /* parse the mtdset= option given to the kernel command line */
arch/arm64/boot/dts/broadcom/northstar2/ns2-svk.dts +4 -4
index ec19fbf928a1..12a4b1c03390 100644
@@ -111,8 +111,8 @@
 		compatible = "silabs,si3226x";
 		reg = <0>;
 		spi-max-frequency = <5000000>;
-		spi-cpha = <1>;
-		spi-cpol = <1>;
+		spi-cpha;
+		spi-cpol;
 		pl022,hierarchy = <0>;
 		pl022,interface = <0>;
 		pl022,slave-tx-disable = <0>;
@@ -135,8 +135,8 @@
 		at25,byte-len = <0x8000>;
 		at25,addr-mode = <2>;
 		at25,page-size = <64>;
-		spi-cpha = <1>;
-		spi-cpol = <1>;
+		spi-cpha;
+		spi-cpol;
 		pl022,hierarchy = <0>;
 		pl022,interface = <0>;
 		pl022,slave-tx-disable = <0>;
arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi +1 -1
index 6bfb7bbd264a..772ecf4ed3e6 100644
@@ -687,7 +687,7 @@
 			};
 		};
 
-		sata: ahci@663f2000 {
+		sata: sata@663f2000 {
 			compatible = "brcm,iproc-ahci", "generic-ahci";
 			reg = <0x663f2000 0x1000>;
 			dma-coherent;
arch/arm64/include/asm/kvm_mmu.h +2 -1
index 44d3fdbcdf62..0243b6d22453 100644
@@ -439,7 +439,8 @@ static inline void *kvm_get_hyp_vector(void)
 	int slot = -1;
 
 	if ((cpus_have_const_cap(ARM64_HARDEN_BRANCH_PREDICTOR) ||
-	     cpus_have_const_cap(ARM64_SPECTRE_BHB)) && data->template_start) {
+	     cpus_have_const_cap(ARM64_SPECTRE_BHB)) &&
+	    data && data->template_start) {
 		vect = kern_hyp_va(kvm_ksym_ref(__bp_harden_hyp_vecs_start));
 		slot = data->hyp_vectors_slot;
 	}
arch/arm64/kernel/insn.c +2 -2
index cd37edbdedcb..bc5112b471a5 100644
@@ -204,8 +204,8 @@ static int __kprobes aarch64_insn_patch_text_cb(void *arg)
 	int i, ret = 0;
 	struct aarch64_insn_patch *pp = arg;
 
-	/* The first CPU becomes master */
-	if (atomic_inc_return(&pp->cpu_count) == 1) {
+	/* The last CPU becomes master */
+	if (atomic_inc_return(&pp->cpu_count) == num_online_cpus()) {
 		for (i = 0; ret == 0 && i < pp->insn_cnt; i++)
 			ret = aarch64_insn_patch_text_nosync(pp->text_addrs[i],
 							     pp->new_insns[i]);
arch/arm64/kernel/module.lds +3 -3
index 09a0eef71d12..9371abe2f4c2 100644
@@ -1,5 +1,5 @@
 SECTIONS {
-	.plt 0 (NOLOAD) : { BYTE(0) }
-	.init.plt 0 (NOLOAD) : { BYTE(0) }
-	.text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) }
+	.plt 0 : { BYTE(0) }
+	.init.plt 0 : { BYTE(0) }
+	.text.ftrace_trampoline 0 : { BYTE(0) }
 }
arch/mips/dec/prom/Makefile +1 -1
index ae73e42ac20b..4c369359cdab 100644
@@ -5,4 +5,4 @@
 
 lib-y			+= init.o memory.o cmdline.o identify.o console.o
 
-lib-$(CONFIG_32BIT)	+= locore.o
+lib-$(CONFIG_CPU_R3000)	+= locore.o
arch/mips/include/asm/dec/prom.h +5 -10
index b59a2103b61a..09538ff5e924 100644
@@ -47,16 +47,11 @@
  */
 #define REX_PROM_MAGIC		0x30464354
 
-#ifdef CONFIG_64BIT
-
-#define prom_is_rex(magic)	1	/* KN04 and KN05 are REX PROMs.  */
-
-#else /* !CONFIG_64BIT */
-
-#define prom_is_rex(magic)	((magic) == REX_PROM_MAGIC)
-
-#endif /* !CONFIG_64BIT */
-
+/* KN04 and KN05 are REX PROMs, so only do the check for R3k systems.  */
+static inline bool prom_is_rex(u32 magic)
+{
+	return !IS_ENABLED(CONFIG_CPU_R3000) || magic == REX_PROM_MAGIC;
+}
 
 /*
  * 3MIN/MAXINE PROM entry points for DS5000/1xx's, DS5000/xx's and
arch/mips/include/asm/setup.h +1 -1
index bb36a400203d..8c56b862fd9c 100644
@@ -16,7 +16,7 @@ static inline void setup_8250_early_printk_port(unsigned long base,
 	unsigned int reg_shift, unsigned int timeout) {}
 #endif
 
-extern void set_handler(unsigned long offset, void *addr, unsigned long len);
+void set_handler(unsigned long offset, const void *addr, unsigned long len);
 extern void set_uncached_handler(unsigned long offset, void *addr, unsigned long len);
 
 typedef void (*vi_handler_t)(void);
arch/mips/kernel/traps.c +11 -11
index b9da2cefb564..0ca4185cc5e3 100644
@@ -1978,19 +1978,19 @@ static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs)
 		 * If no shadow set is selected then use the default handler
 		 * that does normal register saving and standard interrupt exit
 		 */
-		extern char except_vec_vi, except_vec_vi_lui;
-		extern char except_vec_vi_ori, except_vec_vi_end;
-		extern char rollback_except_vec_vi;
-		char *vec_start = using_rollback_handler() ?
-			&rollback_except_vec_vi : &except_vec_vi;
+		extern const u8 except_vec_vi[], except_vec_vi_lui[];
+		extern const u8 except_vec_vi_ori[], except_vec_vi_end[];
+		extern const u8 rollback_except_vec_vi[];
+		const u8 *vec_start = using_rollback_handler() ?
+				      rollback_except_vec_vi : except_vec_vi;
 #if defined(CONFIG_CPU_MICROMIPS) || defined(CONFIG_CPU_BIG_ENDIAN)
-		const int lui_offset = &except_vec_vi_lui - vec_start + 2;
-		const int ori_offset = &except_vec_vi_ori - vec_start + 2;
+		const int lui_offset = except_vec_vi_lui - vec_start + 2;
+		const int ori_offset = except_vec_vi_ori - vec_start + 2;
 #else
-		const int lui_offset = &except_vec_vi_lui - vec_start;
-		const int ori_offset = &except_vec_vi_ori - vec_start;
+		const int lui_offset = except_vec_vi_lui - vec_start;
+		const int ori_offset = except_vec_vi_ori - vec_start;
 #endif
-		const int handler_len = &except_vec_vi_end - vec_start;
+		const int handler_len = except_vec_vi_end - vec_start;
 
 		if (handler_len > VECTORSPACING) {
 			/*
@@ -2210,7 +2210,7 @@ void per_cpu_trap_init(bool is_boot_cpu)
 }
 
 /* Install CPU exception handler */
-void set_handler(unsigned long offset, void *addr, unsigned long size)
+void set_handler(unsigned long offset, const void *addr, unsigned long size)
 {
 #ifdef CONFIG_CPU_MICROMIPS
 	memcpy((void *)(ebase + offset), ((unsigned char *)addr - 1), size);
arch/mips/rb532/devices.c +2 -4
index 354d258396ff..6624fe15839a 100644
@@ -315,11 +315,9 @@ static int __init plat_setup_devices(void)
 static int __init setup_kmac(char *s)
 {
 	printk(KERN_INFO "korina mac = %s\n", s);
-	if (!mac_pton(s, korina_dev0_data.mac)) {
+	if (!mac_pton(s, korina_dev0_data.mac))
 		printk(KERN_ERR "Invalid mac\n");
-		return -EINVAL;
-	}
-	return 0;
+	return 1;
 }
 
 __setup("kmac=", setup_kmac);
arch/powerpc/Makefile +1 -1
index f51e21ea5349..26654d0c2af7 100644
@@ -167,7 +167,7 @@ else
 CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5))
 CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
 endif
-else
+else ifdef CONFIG_PPC_BOOK3E_64
 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
 endif
 
arch/powerpc/boot/dts/fsl/t104xrdb.dtsi +2 -2
index 099a598c74c0..bfe1ed5be337 100644
@@ -139,12 +139,12 @@
 		fman@400000 {
 			ethernet@e6000 {
 				phy-handle = <&phy_rgmii_0>;
-				phy-connection-type = "rgmii";
+				phy-connection-type = "rgmii-id";
 			};
 
 			ethernet@e8000 {
 				phy-handle = <&phy_rgmii_1>;
-				phy-connection-type = "rgmii";
+				phy-connection-type = "rgmii-id";
 			};
 
 			mdio0: mdio@fc000 {
arch/powerpc/include/asm/io.h +32 -8
index b855f56489ac..4681d4c50567 100644
@@ -372,25 +372,37 @@ static inline void __raw_writeq_be(unsigned long v, volatile void __iomem *addr)
  */
 static inline void __raw_rm_writeb(u8 val, volatile void __iomem *paddr)
 {
-	__asm__ __volatile__("stbcix %0,0,%1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      stbcix %0,0,%1;  \
+			      .machine pop;"
 		: : "r" (val), "r" (paddr) : "memory");
 }
 
 static inline void __raw_rm_writew(u16 val, volatile void __iomem *paddr)
 {
-	__asm__ __volatile__("sthcix %0,0,%1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      sthcix %0,0,%1;  \
+			      .machine pop;"
 		: : "r" (val), "r" (paddr) : "memory");
 }
 
 static inline void __raw_rm_writel(u32 val, volatile void __iomem *paddr)
 {
-	__asm__ __volatile__("stwcix %0,0,%1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      stwcix %0,0,%1;  \
+			      .machine pop;"
 		: : "r" (val), "r" (paddr) : "memory");
 }
 
 static inline void __raw_rm_writeq(u64 val, volatile void __iomem *paddr)
 {
-	__asm__ __volatile__("stdcix %0,0,%1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      stdcix %0,0,%1;  \
+			      .machine pop;"
 		: : "r" (val), "r" (paddr) : "memory");
 }
 
@@ -402,7 +414,10 @@ static inline void __raw_rm_writeq_be(u64 val, volatile void __iomem *paddr)
 static inline u8 __raw_rm_readb(volatile void __iomem *paddr)
 {
 	u8 ret;
-	__asm__ __volatile__("lbzcix %0,0, %1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      lbzcix %0,0, %1; \
+			      .machine pop;"
 			     : "=r" (ret) : "r" (paddr) : "memory");
 	return ret;
 }
@@ -410,7 +425,10 @@ static inline u8 __raw_rm_readb(volatile void __iomem *paddr)
 static inline u16 __raw_rm_readw(volatile void __iomem *paddr)
 {
 	u16 ret;
-	__asm__ __volatile__("lhzcix %0,0, %1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      lhzcix %0,0, %1; \
+			      .machine pop;"
 			     : "=r" (ret) : "r" (paddr) : "memory");
 	return ret;
 }
@@ -418,7 +436,10 @@ static inline u16 __raw_rm_readw(volatile void __iomem *paddr)
 static inline u32 __raw_rm_readl(volatile void __iomem *paddr)
 {
 	u32 ret;
-	__asm__ __volatile__("lwzcix %0,0, %1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      lwzcix %0,0, %1; \
+			      .machine pop;"
 			     : "=r" (ret) : "r" (paddr) : "memory");
 	return ret;
 }
@@ -426,7 +447,10 @@ static inline u32 __raw_rm_readl(volatile void __iomem *paddr)
 static inline u64 __raw_rm_readq(volatile void __iomem *paddr)
 {
 	u64 ret;
-	__asm__ __volatile__("ldcix %0,0, %1"
+	__asm__ __volatile__(".machine push;   \
+			      .machine power6; \
+			      ldcix %0,0, %1;  \
+			      .machine pop;"
 			     : "=r" (ret) : "r" (paddr) : "memory");
 	return ret;
 }
arch/powerpc/include/asm/uaccess.h +3 -0
index ab6612e35ace..6ed40fcd8515 100644
@@ -217,8 +217,11 @@ extern long __get_user_bad(void);
  */
 #define __get_user_atomic_128_aligned(kaddr, uaddr, err)		\
 	__asm__ __volatile__(				\
+		".machine push\n"			\
+		".machine altivec\n"			\
 		"1:	lvx  0,0,%1	# get user\n"	\
 		" 	stvx 0,0,%2	# put kernel\n"	\
+		".machine pop\n"			\
 		"2:\n"					\
 		".section .fixup,\"ax\"\n"		\
 		"3:	li %0,%3\n"			\
arch/powerpc/kernel/kvm.c +1 -1
index cd381e2291df..2283b9bfd2d1 100644
@@ -680,7 +680,7 @@ static void kvm_use_magic_page(void)
 	on_each_cpu(kvm_map_magic_page, &features, 1);
 
 	/* Quick self-test to see if the mapping works */
-	if (!fault_in_pages_readable((const char *)KVM_MAGIC_PAGE, sizeof(u32))) {
+	if (fault_in_pages_readable((const char *)KVM_MAGIC_PAGE, sizeof(u32))) {
 		kvm_patching_worked = false;
 		return;
 	}
arch/powerpc/kernel/machine_kexec.c +11 -4
index 094c37fb07a9..437c50bfe4e6 100644
@@ -148,11 +148,18 @@ void __init reserve_crashkernel(void)
 	if (!crashk_res.start) {
 #ifdef CONFIG_PPC64
 		/*
-		 * On 64bit we split the RMO in half but cap it at half of
-		 * a small SLB (128MB) since the crash kernel needs to place
-		 * itself and some stacks to be in the first segment.
+		 * On the LPAR platform place the crash kernel to mid of
+		 * RMA size (512MB or more) to ensure the crash kernel
+		 * gets enough space to place itself and some stack to be
+		 * in the first segment. At the same time normal kernel
+		 * also get enough space to allocate memory for essential
+		 * system resource in the first segment. Keep the crash
+		 * kernel starts at 128MB offset on other platforms.
 		 */
-		crashk_res.start = min(0x8000000ULL, (ppc64_rma_size / 2));
+		if (firmware_has_feature(FW_FEATURE_LPAR))
+			crashk_res.start = ppc64_rma_size / 2;
+		else
+			crashk_res.start = min(0x8000000ULL, (ppc64_rma_size / 2));
 #else
 		crashk_res.start = KDUMP_KERNELBASE;
 #endif
arch/powerpc/kernel/rtas.c +6 -0
index b3aa0cea6283..362c20c8c22f 100644
@@ -1357,6 +1357,12 @@ int __init early_init_dt_scan_rtas(unsigned long node,
 	entryp = of_get_flat_dt_prop(node, "linux,rtas-entry", NULL);
 	sizep  = of_get_flat_dt_prop(node, "rtas-size", NULL);
 
+#ifdef CONFIG_PPC64
+	/* need this feature to decide the crashkernel offset */
+	if (of_get_flat_dt_prop(node, "ibm,hypertas-functions", NULL))
+		powerpc_firmware_features |= FW_FEATURE_LPAR;
+#endif
+
 	if (basep && entryp && sizep) {
 		rtas.base = *basep;
 		rtas.entry = *entryp;
arch/powerpc/kvm/powerpc.c +2 -2
index ad5a871a6cbf..dd352842a1c7 100644
@@ -1479,7 +1479,7 @@ int kvmppc_handle_vmx_load(struct kvm_run *run, struct kvm_vcpu *vcpu,
 {
 	enum emulation_result emulated = EMULATE_DONE;
 
-	if (vcpu->arch.mmio_vsx_copy_nums > 2)
+	if (vcpu->arch.mmio_vmx_copy_nums > 2)
 		return EMULATE_FAIL;
 
 	while (vcpu->arch.mmio_vmx_copy_nums) {
@@ -1576,7 +1576,7 @@ int kvmppc_handle_vmx_store(struct kvm_run *run, struct kvm_vcpu *vcpu,
 	unsigned int index = rs & KVM_MMIO_REG_MASK;
 	enum emulation_result emulated = EMULATE_DONE;
 
-	if (vcpu->arch.mmio_vsx_copy_nums > 2)
+	if (vcpu->arch.mmio_vmx_copy_nums > 2)
 		return EMULATE_FAIL;
 
 	vcpu->arch.io_gpr = rs;
arch/powerpc/lib/sstep.c +7 -1
index e87ae0dabce1..30c434abe861 100644
@@ -910,7 +910,10 @@ NOKPROBE_SYMBOL(emulate_dcbz);
 
 #define __put_user_asmx(x, addr, err, op, cr)		\
 	__asm__ __volatile__(				\
+		".machine push\n"			\
+		".machine power8\n"			\
 		"1:	" op " %2,0,%3\n"		\
+		".machine pop\n"			\
 		"	mfcr	%1\n"			\
 		"2:\n"					\
 		".section .fixup,\"ax\"\n"		\
@@ -923,7 +926,10 @@ NOKPROBE_SYMBOL(emulate_dcbz);
 
 #define __get_user_asmx(x, addr, err, op)		\
 	__asm__ __volatile__(				\
+		".machine push\n"			\
+		".machine power8\n"			\
 		"1:	"op" %1,0,%2\n"			\
+		".machine pop\n"			\
 		"2:\n"					\
 		".section .fixup,\"ax\"\n"		\
 		"3:	li	%0,%3\n"		\
@@ -2806,7 +2812,7 @@ int emulate_loadstore(struct pt_regs *regs, struct instruction_op *op)
 			__put_user_asmx(op->val, ea, err, "stbcx.", cr);
 			break;
 		case 2:
-			__put_user_asmx(op->val, ea, err, "stbcx.", cr);
+			__put_user_asmx(op->val, ea, err, "sthcx.", cr);
 			break;
 #endif
 		case 4:
arch/powerpc/platforms/powernv/rng.c +5 -1
index 718f50ed22f1..e15dd09f71df 100644
@@ -47,7 +47,11 @@ static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val)
 	unsigned long parity;
 
 	/* Calculate the parity of the value */
-	asm ("popcntd %0,%1" : "=r" (parity) : "r" (val));
+	asm (".machine push;   \
+	      .machine power7; \
+	      popcntd %0,%1;   \
+	      .machine pop;"
+	     : "=r" (parity) : "r" (val));
 
 	/* xor our value with the previous mask */
 	val ^= rng->mask;
arch/powerpc/sysdev/fsl_gtm.c +2 -2
index d902306f4718..42fe959f6fc2 100644
@@ -90,7 +90,7 @@ static LIST_HEAD(gtms);
  */
 struct gtm_timer *gtm_get_timer16(void)
 {
-	struct gtm *gtm = NULL;
+	struct gtm *gtm;
 	int i;
 
 	list_for_each_entry(gtm, &gtms, list_node) {
@@ -107,7 +107,7 @@ struct gtm_timer *gtm_get_timer16(void)
 		spin_unlock_irq(&gtm->lock);
 	}
 
-	if (gtm)
+	if (!list_empty(&gtms))
 		return ERR_PTR(-EBUSY);
 	return ERR_PTR(-ENODEV);
 }
arch/riscv/kernel/module.lds +3 -3
index 295ecfb341a2..18ec719899e2 100644
@@ -2,7 +2,7 @@
 /* Copyright (C) 2017 Andes Technology Corporation */
 
 SECTIONS {
-	.plt (NOLOAD) : { BYTE(0) }
-	.got (NOLOAD) : { BYTE(0) }
-	.got.plt (NOLOAD) : { BYTE(0) }
+	.plt : { BYTE(0) }
+	.got : { BYTE(0) }
+	.got.plt : { BYTE(0) }
 }
arch/um/drivers/mconsole_kern.c +2 -1
index d5f9a2d1da1b..ef4b00b9590b 100644
@@ -218,7 +218,7 @@ void mconsole_go(struct mc_request *req)
 
 void mconsole_stop(struct mc_request *req)
 {
-	deactivate_fd(req->originating_fd, MCONSOLE_IRQ);
+	block_signals();
 	os_set_fd_block(req->originating_fd, 1);
 	mconsole_reply(req, "stopped", 0, 0);
 	for (;;) {
@@ -242,6 +242,7 @@ void mconsole_stop(struct mc_request *req)
 	os_set_fd_block(req->originating_fd, 0);
 	reactivate_fd(req->originating_fd, MCONSOLE_IRQ);
 	mconsole_reply(req, "", 0, 0);
+	unblock_signals();
 }
 
 static DEFINE_SPINLOCK(mc_devices_lock);
arch/x86/events/intel/pt.c +1 -1
index 849f0ba53a9b..49b3ea1c1ea1 100644
@@ -460,7 +460,7 @@ static u64 pt_config_filters(struct perf_event *event)
 			pt->filters.filter[range].msr_b = filter->msr_b;
 		}
 
-		rtit_ctl |= filter->config << pt_address_ranges[range].reg_off;
+		rtit_ctl |= (u64)filter->config << pt_address_ranges[range].reg_off;
 	}
 
 	return rtit_ctl;
arch/x86/kernel/kvm.c +1 -1
index cee45d46e67d..bd6ee0bfa1d2 100644
@@ -480,7 +480,7 @@ static void __send_ipi_mask(const struct cpumask *mask, int vector)
 		} else if (apic_id < min && max - apic_id < KVM_IPI_CLUSTER_SIZE) {
 			ipi_bitmap <<= min - apic_id;
 			min = apic_id;
-		} else if (apic_id < min + KVM_IPI_CLUSTER_SIZE) {
+		} else if (apic_id > min && apic_id < min + KVM_IPI_CLUSTER_SIZE) {
 			max = apic_id < max ? max : apic_id;
 		} else {
 			ret = kvm_hypercall4(KVM_HC_SEND_IPI, (unsigned long)ipi_bitmap,
arch/x86/kvm/emulate.c +9 -5
index 3e182c7ae771..63754d248dfb 100644
@@ -1669,11 +1669,6 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
 		goto exception;
 	}
 
-	if (!seg_desc.p) {
-		err_vec = (seg == VCPU_SREG_SS) ? SS_VECTOR : NP_VECTOR;
-		goto exception;
-	}
-
 	dpl = seg_desc.dpl;
 
 	switch (seg) {
@@ -1713,6 +1708,10 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
 	case VCPU_SREG_TR:
 		if (seg_desc.s || (seg_desc.type != 1 && seg_desc.type != 9))
 			goto exception;
+		if (!seg_desc.p) {
+			err_vec = NP_VECTOR;
+			goto exception;
+		}
 		old_desc = seg_desc;
 		seg_desc.type |= 2; /* busy */
 		ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc,
@@ -1737,6 +1736,11 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
 		break;
 	}
 
+	if (!seg_desc.p) {
+		err_vec = (seg == VCPU_SREG_SS) ? SS_VECTOR : NP_VECTOR;
+		goto exception;
+	}
+
 	if (seg_desc.s) {
 		/* mark segment as accessed */
 		if (!(seg_desc.type & 1)) {
arch/x86/kvm/hyperv.c +16 -1
index 3fd6c4b2c2b7..ca5a6c3f8c91 100644
@@ -237,7 +237,7 @@ static int synic_set_msr(struct kvm_vcpu_hv_synic *synic,
 	struct kvm_vcpu *vcpu = synic_to_vcpu(synic);
 	int ret;
 
-	if (!synic->active && !host)
+	if (!synic->active && (!host || data))
 		return 1;
 
 	trace_kvm_hv_synic_set_msr(vcpu->vcpu_id, msr, data, host);
@@ -283,6 +283,9 @@ static int synic_set_msr(struct kvm_vcpu_hv_synic *synic,
 	case HV_X64_MSR_EOM: {
 		int i;
 
+		if (!synic->active)
+			break;
+
 		for (i = 0; i < ARRAY_SIZE(synic->sint); i++)
 			kvm_hv_notify_acked_sint(vcpu, i);
 		break;
@@ -544,6 +547,12 @@ static int stimer_start(struct kvm_vcpu_hv_stimer *stimer)
 static int stimer_set_config(struct kvm_vcpu_hv_stimer *stimer, u64 config,
 			     bool host)
 {
+	struct kvm_vcpu *vcpu = stimer_to_vcpu(stimer);
+	struct kvm_vcpu_hv_synic *synic = vcpu_to_synic(vcpu);
+
+	if (!synic->active && (!host || config))
+		return 1;
+
 	trace_kvm_hv_stimer_set_config(stimer_to_vcpu(stimer)->vcpu_id,
 				       stimer->index, config, host);
 
@@ -558,6 +567,12 @@ static int stimer_set_config(struct kvm_vcpu_hv_stimer *stimer, u64 config,
 static int stimer_set_count(struct kvm_vcpu_hv_stimer *stimer, u64 count,
 			    bool host)
 {
+	struct kvm_vcpu *vcpu = stimer_to_vcpu(stimer);
+	struct kvm_vcpu_hv_synic *synic = vcpu_to_synic(vcpu);
+
+	if (!synic->active && (!host || count))
+		return 1;
+
 	trace_kvm_hv_stimer_set_count(stimer_to_vcpu(stimer)->vcpu_id,
 				      stimer->index, count, host);
 
arch/x86/kvm/lapic.c +1 -4
index 56a4b9762b0c..89d07312e58c 100644
@@ -2045,10 +2045,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data)
 
 void kvm_lapic_set_tpr(struct kvm_vcpu *vcpu, unsigned long cr8)
 {
-	struct kvm_lapic *apic = vcpu->arch.apic;
-
-	apic_set_tpr(apic, ((cr8 & 0x0f) << 4)
-		     | (kvm_lapic_get_reg(apic, APIC_TASKPRI) & 4));
+	apic_set_tpr(vcpu->arch.apic, (cr8 & 0x0f) << 4);
 }
 
 u64 kvm_lapic_get_cr8(struct kvm_vcpu *vcpu)
arch/x86/kvm/pmu_amd.c +3 -5
index 41dff881e0f0..93a135f216b2 100644
@@ -247,12 +247,10 @@ static int amd_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 	/* MSR_EVNTSELn */
 	pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL);
 	if (pmc) {
-		if (data == pmc->eventsel)
-			return 0;
-		if (!(data & pmu->reserved_bits)) {
+		data &= ~pmu->reserved_bits;
+		if (data != pmc->eventsel)
 			reprogram_gp_counter(pmc, data);
-			return 0;
-		}
+		return 0;
 	}
 
 	return 1;
arch/x86/power/cpu.c +19 -2
index 3aa3149df07f..e00b8c36ab72 100644
@@ -41,7 +41,8 @@ static void msr_save_context(struct saved_context *ctxt)
 	struct saved_msr *end = msr + ctxt->saved_msrs.num;
 
 	while (msr < end) {
-		msr->valid = !rdmsrl_safe(msr->info.msr_no, &msr->info.reg.q);
+		if (msr->valid)
+			rdmsrl(msr->info.msr_no, msr->info.reg.q);
 		msr++;
 	}
 }
@@ -426,8 +427,10 @@ static int msr_build_context(const u32 *msr_id, const int num)
 	}
 
 	for (i = saved_msrs->num, j = 0; i < total_num; i++, j++) {
+		u64 dummy;
+
 		msr_array[i].info.msr_no	= msr_id[j];
-		msr_array[i].valid		= false;
+		msr_array[i].valid		= !rdmsrl_safe(msr_id[j], &dummy);
 		msr_array[i].info.reg.q		= 0;
 	}
 	saved_msrs->num   = total_num;
@@ -514,10 +517,24 @@ static int pm_cpu_check(const struct x86_cpu_id *c)
 	return ret;
 }
 
+static void pm_save_spec_msr(void)
+{
+	u32 spec_msr_id[] = {
+		MSR_IA32_SPEC_CTRL,
+		MSR_IA32_TSX_CTRL,
+		MSR_TSX_FORCE_ABORT,
+		MSR_IA32_MCU_OPT_CTRL,
+		MSR_AMD64_LS_CFG,
+	};
+
+	msr_build_context(spec_msr_id, ARRAY_SIZE(spec_msr_id));
+}
+
 static int pm_check_save_msr(void)
 {
 	dmi_check_system(msr_save_dmi_table);
 	pm_cpu_check(msr_save_cpu_table);
+	pm_save_spec_msr();
 
 	return 0;
 }
arch/x86/xen/pmu.c +4 -6
index 95997e6c0696..9813298ba57d 100644
@@ -505,10 +505,7 @@ irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id)
 	return ret;
 }
 
-bool is_xen_pmu(int cpu)
-{
-	return (get_xenpmu_data() != NULL);
-}
+bool is_xen_pmu;
 
 void xen_pmu_init(int cpu)
 {
@@ -519,7 +516,7 @@ void xen_pmu_init(int cpu)
 
 	BUILD_BUG_ON(sizeof(struct xen_pmu_data) > PAGE_SIZE);
 
-	if (xen_hvm_domain())
+	if (xen_hvm_domain() || (cpu != 0 && !is_xen_pmu))
 		return;
 
 	xenpmu_data = (struct xen_pmu_data *)get_zeroed_page(GFP_KERNEL);
@@ -540,7 +537,8 @@ void xen_pmu_init(int cpu)
 	per_cpu(xenpmu_shared, cpu).xenpmu_data = xenpmu_data;
 	per_cpu(xenpmu_shared, cpu).flags = 0;
 
-	if (cpu == 0) {
+	if (!is_xen_pmu) {
+		is_xen_pmu = true;
 		perf_register_guest_info_callbacks(&xen_guest_cbs);
 		xen_pmu_arch_init();
 	}
arch/x86/xen/pmu.h +2 -1
index 0e83a160589b..65c58894fc79 100644
@@ -4,6 +4,8 @@
 
 #include <xen/interface/xenpmu.h>
 
+extern bool is_xen_pmu;
+
 irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id);
 #ifdef CONFIG_XEN_HAVE_VPMU
 void xen_pmu_init(int cpu);
@@ -12,7 +14,6 @@ void xen_pmu_finish(int cpu);
 static inline void xen_pmu_init(int cpu) {}
 static inline void xen_pmu_finish(int cpu) {}
 #endif
-bool is_xen_pmu(int cpu);
 bool pmu_msr_read(unsigned int msr, uint64_t *val, int *err);
 bool pmu_msr_write(unsigned int msr, uint32_t low, uint32_t high, int *err);
 int pmu_apic_update(uint32_t reg);
arch/x86/xen/smp_hvm.c +6 -0
index f8d39440b292..e5bd9eb42191 100644
@@ -18,6 +18,12 @@ static void __init xen_hvm_smp_prepare_boot_cpu(void)
 	 */
 	xen_vcpu_setup(0);
 
+	/*
+	 * Called again in case the kernel boots on vcpu >= MAX_VIRT_CPUS.
+	 * Refer to comments in xen_hvm_init_time_ops().
+	 */
+	xen_hvm_init_time_ops();
+
 	/*
 	 * The alternative logic (which patches the unlock/lock) runs before
 	 * the smp bootup up code is activated. Hence we need to set this up
arch/x86/xen/smp_pv.c +1 -1
index 41fd4c123165..e8248e8a04ca 100644
@@ -126,7 +126,7 @@ int xen_smp_intr_init_pv(unsigned int cpu)
 	per_cpu(xen_irq_work, cpu).irq = rc;
 	per_cpu(xen_irq_work, cpu).name = callfunc_name;
 
-	if (is_xen_pmu(cpu)) {
+	if (is_xen_pmu) {
 		pmu_name = kasprintf(GFP_KERNEL, "pmu%d", cpu);
 		rc = bind_virq_to_irqhandler(VIRQ_XENPMU, cpu,
 					     xen_pmu_irq_handler,
arch/x86/xen/time.c +23 -1
index 01dcccf9185f..9809de9f2310 100644
@@ -547,6 +547,11 @@ static void xen_hvm_setup_cpu_clockevents(void)
 
 void __init xen_hvm_init_time_ops(void)
 {
+	static bool hvm_time_initialized;
+
+	if (hvm_time_initialized)
+		return;
+
 	/*
 	 * vector callback is needed otherwise we cannot receive interrupts
 	 * on cpu > 0 and at this point we don't know how many cpus are
@@ -556,7 +561,22 @@ void __init xen_hvm_init_time_ops(void)
 		return;
 
 	if (!xen_feature(XENFEAT_hvm_safe_pvclock)) {
-		pr_info("Xen doesn't support pvclock on HVM, disable pv timer");
+		pr_info_once("Xen doesn't support pvclock on HVM, disable pv timer");
+		return;
+	}
+
+	/*
+	 * Only MAX_VIRT_CPUS 'vcpu_info' are embedded inside 'shared_info'.
+	 * The __this_cpu_read(xen_vcpu) is still NULL when Xen HVM guest
+	 * boots on vcpu >= MAX_VIRT_CPUS (e.g., kexec), To access
+	 * __this_cpu_read(xen_vcpu) via xen_clocksource_read() will panic.
+	 *
+	 * The xen_hvm_init_time_ops() should be called again later after
+	 * __this_cpu_read(xen_vcpu) is available.
+	 */
+	if (!__this_cpu_read(xen_vcpu)) {
+		pr_info("Delay xen_init_time_common() as kernel is running on vcpu=%d\n",
+			xen_vcpu_nr(0));
 		return;
 	}
 
@@ -568,5 +588,7 @@ void __init xen_hvm_init_time_ops(void)
 	x86_platform.calibrate_tsc = xen_tsc_khz;
 	x86_platform.get_wallclock = xen_get_wallclock;
 	x86_platform.set_wallclock = xen_set_wallclock;
+
+	hvm_time_initialized = true;
 }
 #endif
arch/xtensa/boot/dts/xtfpga-flash-128m.dtsi +4 -4
index 9bf8bad1dd18..c33932568aa7 100644
@@ -8,19 +8,19 @@
 			reg = <0x00000000 0x08000000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "data";
 				reg = <0x00000000 0x06000000>;
 			};
-			partition@0x6000000 {
+			partition@6000000 {
 				label = "boot loader area";
 				reg = <0x06000000 0x00800000>;
 			};
-			partition@0x6800000 {
+			partition@6800000 {
 				label = "kernel image";
 				reg = <0x06800000 0x017e0000>;
 			};
-			partition@0x7fe0000 {
+			partition@7fe0000 {
 				label = "boot environment";
 				reg = <0x07fe0000 0x00020000>;
 			};
arch/xtensa/boot/dts/xtfpga-flash-16m.dtsi +4 -4
index 40c2f81f7cb6..7bde2ab2d6fb 100644
@@ -8,19 +8,19 @@
 			reg = <0x08000000 0x01000000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "boot loader area";
 				reg = <0x00000000 0x00400000>;
 			};
-			partition@0x400000 {
+			partition@400000 {
 				label = "kernel image";
 				reg = <0x00400000 0x00600000>;
 			};
-			partition@0xa00000 {
+			partition@a00000 {
 				label = "data";
 				reg = <0x00a00000 0x005e0000>;
 			};
-			partition@0xfe0000 {
+			partition@fe0000 {
 				label = "boot environment";
 				reg = <0x00fe0000 0x00020000>;
 			};
arch/xtensa/boot/dts/xtfpga-flash-4m.dtsi +2 -2
index fb8d3a9f33c2..0655b868749a 100644
@@ -8,11 +8,11 @@
 			reg = <0x08000000 0x00400000>;
 			bank-width = <2>;
 			device-width = <2>;
-			partition@0x0 {
+			partition@0 {
 				label = "boot loader area";
 				reg = <0x00000000 0x003f0000>;
 			};
-			partition@0x3f0000 {
+			partition@3f0000 {
 				label = "boot environment";
 				reg = <0x003f0000 0x00010000>;
 			};
block/bfq-iosched.c +21 -10
index 11686e768401..a9f42df92ea3 100644
@@ -2155,6 +2155,15 @@ bfq_setup_merge(struct bfq_queue *bfqq, struct bfq_queue *new_bfqq)
 	 * are likely to increase the throughput.
 	 */
 	bfqq->new_bfqq = new_bfqq;
+	/*
+	 * The above assignment schedules the following redirections:
+	 * each time some I/O for bfqq arrives, the process that
+	 * generated that I/O is disassociated from bfqq and
+	 * associated with new_bfqq. Here we increases new_bfqq->ref
+	 * in advance, adding the number of processes that are
+	 * expected to be associated with new_bfqq as they happen to
+	 * issue I/O.
+	 */
 	new_bfqq->ref += process_refs;
 	return new_bfqq;
 }
@@ -2214,6 +2223,10 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 {
 	struct bfq_queue *in_service_bfqq, *new_bfqq;
 
+	/* if a merge has already been setup, then proceed with that first */
+	if (bfqq->new_bfqq)
+		return bfqq->new_bfqq;
+
 	/*
 	 * Prevent bfqq from being merged if it has been created too
 	 * long ago. The idea is that true cooperating processes, and
@@ -2228,9 +2241,6 @@ bfq_setup_cooperator(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 	if (bfq_too_late_for_merging(bfqq))
 		return NULL;
 
-	if (bfqq->new_bfqq)
-		return bfqq->new_bfqq;
-
 	if (!io_struct || unlikely(bfqq == &bfqd->oom_bfqq))
 		return NULL;
 
@@ -4122,7 +4132,7 @@ static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)
 	struct bfq_data *bfqd = hctx->queue->elevator->elevator_data;
 	struct request *rq;
 	struct bfq_queue *in_serv_queue;
-	bool waiting_rq, idle_timer_disabled;
+	bool waiting_rq, idle_timer_disabled = false;
 
 	spin_lock_irq(&bfqd->lock);
 
@@ -4130,14 +4140,15 @@ static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)
 	waiting_rq = in_serv_queue && bfq_bfqq_wait_request(in_serv_queue);
 
 	rq = __bfq_dispatch_request(hctx);
-
-	idle_timer_disabled =
-		waiting_rq && !bfq_bfqq_wait_request(in_serv_queue);
+	if (in_serv_queue == bfqd->in_service_queue) {
+		idle_timer_disabled =
+			waiting_rq && !bfq_bfqq_wait_request(in_serv_queue);
+	}
 
 	spin_unlock_irq(&bfqd->lock);
-
-	bfq_update_dispatch_stats(hctx->queue, rq, in_serv_queue,
-				  idle_timer_disabled);
+	bfq_update_dispatch_stats(hctx->queue, rq,
+			idle_timer_disabled ? in_serv_queue : NULL,
+				idle_timer_disabled);
 
 	return rq;
 }
block/blk-merge.c +12 -0
index 7efa8c3e2b72..8054410536fd 100644
@@ -7,6 +7,8 @@
 #include <linux/bio.h>
 #include <linux/blkdev.h>
 #include <linux/scatterlist.h>
+#include <linux/blkdev.h>
+#include <linux/blk-cgroup.h>
 
 #include <trace/events/block.h>
 
@@ -486,6 +488,9 @@ static inline int ll_new_hw_segment(struct request_queue *q,
 	if (req->nr_phys_segments + nr_phys_segs > queue_max_segments(q))
 		goto no_merge;
 
+	if (!blk_cgroup_mergeable(req, bio))
+		goto no_merge;
+
 	if (blk_integrity_merge_bio(q, req, bio) == false)
 		goto no_merge;
 
@@ -609,6 +614,9 @@ static int ll_merge_requests_fn(struct request_queue *q, struct request *req,
 	if (total_phys_segments > queue_max_segments(q))
 		return 0;
 
+	if (!blk_cgroup_mergeable(req, next->bio))
+		return 0;
+
 	if (blk_integrity_merge_rq(q, req, next) == false)
 		return 0;
 
@@ -843,6 +851,10 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio)
 	if (rq->rq_disk != bio->bi_disk || req_no_special_merge(rq))
 		return false;
 
+	/* don't merge across cgroup boundaries */
+	if (!blk_cgroup_mergeable(rq, bio))
+		return false;
+
 	/* only merge integrity protected bio into ditto rq */
 	if (blk_integrity_merge_bio(rq->q, rq, bio) == false)
 		return false;
block/blk-sysfs.c +5 -3
index 07494deb1a26..67836f212e2d 100644
@@ -1002,9 +1002,6 @@ void blk_unregister_queue(struct gendisk *disk)
 	 */
 	if (q->mq_ops)
 		blk_mq_unregister_dev(disk_to_dev(disk), q);
-
-	kobject_uevent(&q->kobj, KOBJ_REMOVE);
-	kobject_del(&q->kobj);
 	blk_trace_remove_sysfs(disk_to_dev(disk));
 
 	mutex_lock(&q->sysfs_lock);
@@ -1015,6 +1012,11 @@ void blk_unregister_queue(struct gendisk *disk)
 	if (q->request_fn || q->elevator)
 		elv_unregister_queue(q);
 	mutex_unlock(&q->sysfs_lock);
+
+	/* Now that we've deleted all child objects, we can delete the queue. */
+	kobject_uevent(&q->kobj, KOBJ_REMOVE);
+	kobject_del(&q->kobj);
+
 	mutex_unlock(&q->sysfs_dir_lock);
 
 	kobject_put(&disk_to_dev(disk)->kobj);
crypto/authenc.c +1 -1
index 3ee10fc25aff..02d4d8517449 100644
@@ -268,7 +268,7 @@ static int crypto_authenc_decrypt_tail(struct aead_request *req,
 		dst = scatterwalk_ffwd(areq_ctx->dst, req->dst, req->assoclen);
 
 	skcipher_request_set_tfm(skreq, ctx->enc);
-	skcipher_request_set_callback(skreq, aead_request_flags(req),
+	skcipher_request_set_callback(skreq, flags,
 				      req->base.complete, req->base.data);
 	skcipher_request_set_crypt(skreq, src, dst,
 				   req->cryptlen - authsize, req->iv);
drivers/acpi/acpica/nswalk.c +3 -0
index e9a061da9bb2..c325789a62bf 100644
@@ -169,6 +169,9 @@ acpi_ns_walk_namespace(acpi_object_type type,
 
 	if (start_node == ACPI_ROOT_OBJECT) {
 		start_node = acpi_gbl_root_node;
+		if (!start_node) {
+			return_ACPI_STATUS(AE_NO_NAMESPACE);
+		}
 	}
 
 	/* Null child means "get first node" */
drivers/acpi/apei/bert.c +7 -3
index 12771fcf0417..d2212e092c50 100644
@@ -31,6 +31,7 @@
 
 #undef pr_fmt
 #define pr_fmt(fmt) "BERT: " fmt
+#define ACPI_BERT_PRINT_MAX_LEN 1024
 
 static int bert_disable;
 
@@ -59,8 +60,11 @@ static void __init bert_print_all(struct acpi_bert_region *region,
 		}
 
 		pr_info_once("Error records from previous boot:\n");
-
-		cper_estatus_print(KERN_INFO HW_ERR, estatus);
+		if (region_len < ACPI_BERT_PRINT_MAX_LEN)
+			cper_estatus_print(KERN_INFO HW_ERR, estatus);
+		else
+			pr_info_once("Max print length exceeded, table data is available at:\n"
+				     "/sys/firmware/acpi/tables/data/BERT");
 
 		/*
 		 * Because the boot error source is "one-time polled" type,
@@ -82,7 +86,7 @@ static int __init setup_bert_disable(char *str)
 {
 	bert_disable = 1;
 
-	return 0;
+	return 1;
 }
 __setup("bert_disable", setup_bert_disable);
 
drivers/acpi/apei/erst.c +1 -1
index ab8faa6d6616..445e85394db6 100644
@@ -899,7 +899,7 @@ EXPORT_SYMBOL_GPL(erst_clear);
 static int __init setup_erst_disable(char *str)
 {
 	erst_disable = 1;
-	return 0;
+	return 1;
 }
 
 __setup("erst_disable", setup_erst_disable);
drivers/acpi/apei/hest.c +1 -1
index b1e9f81ebeea..d536e4d132eb 100644
@@ -215,7 +215,7 @@ static int __init hest_ghes_dev_register(unsigned int ghes_count)
 static int __init setup_hest_disable(char *str)
 {
 	hest_disable = HEST_DISABLED;
-	return 0;
+	return 1;
 }
 
 __setup("hest_disable", setup_hest_disable);
drivers/acpi/cppc_acpi.c +5 -0
index 1b43f8ebfabe..f68a4ffd3352 100644
@@ -742,6 +742,11 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
 	cpc_obj = &out_obj->package.elements[0];
 	if (cpc_obj->type == ACPI_TYPE_INTEGER)	{
 		num_ent = cpc_obj->integer.value;
+		if (num_ent <= 1) {
+			pr_debug("Unexpected _CPC NumEntries value (%d) for CPU:%d\n",
+				 num_ent, pr->id);
+			goto out_free;
+		}
 	} else {
 		pr_debug("Unexpected entry type(%d) for NumEntries\n",
 				cpc_obj->type);
drivers/acpi/property.c +1 -1
index 27db1a968241..c8018d73d5a7 100644
@@ -618,7 +618,7 @@ int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
 	 */
 	if (obj->type == ACPI_TYPE_LOCAL_REFERENCE) {
 		if (index)
-			return -EINVAL;
+			return -ENOENT;
 
 		ret = acpi_bus_get_device(obj->reference.handle, &device);
 		if (ret)
drivers/ata/sata_dwc_460ex.c +5 -1
index 8487048c5ec9..564f0826e022 100644
@@ -149,7 +149,11 @@ struct sata_dwc_device {
 #endif
 };
 
-#define SATA_DWC_QCMD_MAX	32
+/*
+ * Allow one extra special slot for commands and DMA management
+ * to account for libata internal commands.
+ */
+#define SATA_DWC_QCMD_MAX	(ATA_MAX_QUEUE + 1)
 
 struct sata_dwc_device_port {
 	struct sata_dwc_device	*hsdev;
drivers/base/power/main.c +4 -2
index da413b95afab..c0284c8db19b 100644
@@ -2145,7 +2145,9 @@ static bool pm_ops_is_empty(const struct dev_pm_ops *ops)
 
 void device_pm_check_callbacks(struct device *dev)
 {
-	spin_lock_irq(&dev->power.lock);
+	unsigned long flags;
+
+	spin_lock_irqsave(&dev->power.lock, flags);
 	dev->power.no_pm_callbacks =
 		(!dev->bus || (pm_ops_is_empty(dev->bus->pm) &&
 		 !dev->bus->suspend && !dev->bus->resume)) &&
@@ -2154,7 +2156,7 @@ void device_pm_check_callbacks(struct device *dev)
 		(!dev->pm_domain || pm_ops_is_empty(&dev->pm_domain->ops)) &&
 		(!dev->driver || (pm_ops_is_empty(dev->driver->pm) &&
 		 !dev->driver->suspend && !dev->driver->resume));
-	spin_unlock_irq(&dev->power.lock);
+	spin_unlock_irqrestore(&dev->power.lock, flags);
 }
 
 bool dev_pm_smart_suspend_and_suspended(struct device *dev)
drivers/block/drbd/drbd_int.h +4 -4
index e35a234b0a8f..4f66cf6879fd 100644
@@ -1688,22 +1688,22 @@ struct sib_info {
 };
 void drbd_bcast_event(struct drbd_device *device, const struct sib_info *sib);
 
-extern void notify_resource_state(struct sk_buff *,
+extern int notify_resource_state(struct sk_buff *,
 				  unsigned int,
 				  struct drbd_resource *,
 				  struct resource_info *,
 				  enum drbd_notification_type);
-extern void notify_device_state(struct sk_buff *,
+extern int notify_device_state(struct sk_buff *,
 				unsigned int,
 				struct drbd_device *,
 				struct device_info *,
 				enum drbd_notification_type);
-extern void notify_connection_state(struct sk_buff *,
+extern int notify_connection_state(struct sk_buff *,
 				    unsigned int,
 				    struct drbd_connection *,
 				    struct connection_info *,
 				    enum drbd_notification_type);
-extern void notify_peer_device_state(struct sk_buff *,
+extern int notify_peer_device_state(struct sk_buff *,
 				     unsigned int,
 				     struct drbd_peer_device *,
 				     struct peer_device_info *,
drivers/block/drbd/drbd_nl.c +25 -16

156 lines not on this page · raw message

drivers/block/drbd/drbd_req.c +2 -1
index 19cac36e9737..86c953b7cbc2 100644
@@ -207,7 +207,8 @@ void start_new_tl_epoch(struct drbd_connection *connection)
 void complete_master_bio(struct drbd_device *device,
 		struct bio_and_error *m)
 {
-	m->bio->bi_status = errno_to_blk_status(m->error);
+	if (unlikely(m->error))
+		m->bio->bi_status = errno_to_blk_status(m->error);
 	bio_endio(m->bio);
 	dec_ap_bio(device);
 }
drivers/block/drbd/drbd_state.c +9 -9
index b452359b6aae..1474250f9440 100644
@@ -1549,7 +1549,7 @@ int drbd_bitmap_io_from_worker(struct drbd_device *device,
 	return rv;
 }
 
-void notify_resource_state_change(struct sk_buff *skb,
+int notify_resource_state_change(struct sk_buff *skb,
 				  unsigned int seq,
 				  struct drbd_resource_state_change *resource_state_change,
 				  enum drbd_notification_type type)
@@ -1562,10 +1562,10 @@ void notify_resource_state_change(struct sk_buff *skb,
 		.res_susp_fen = resource_state_change->susp_fen[NEW],
 	};
 
-	notify_resource_state(skb, seq, resource, &resource_info, type);
+	return notify_resource_state(skb, seq, resource, &resource_info, type);
 }
 
-void notify_connection_state_change(struct sk_buff *skb,
+int notify_connection_state_change(struct sk_buff *skb,
 				    unsigned int seq,
 				    struct drbd_connection_state_change *connection_state_change,
 				    enum drbd_notification_type type)
@@ -1576,10 +1576,10 @@ void notify_connection_state_change(struct sk_buff *skb,
 		.conn_role = connection_state_change->peer_role[NEW],
 	};
 
-	notify_connection_state(skb, seq, connection, &connection_info, type);
+	return notify_connection_state(skb, seq, connection, &connection_info, type);
 }
 
-void notify_device_state_change(struct sk_buff *skb,
+int notify_device_state_change(struct sk_buff *skb,
 				unsigned int seq,
 				struct drbd_device_state_change *device_state_change,
 				enum drbd_notification_type type)
@@ -1589,10 +1589,10 @@ void notify_device_state_change(struct sk_buff *skb,
 		.dev_disk_state = device_state_change->disk_state[NEW],
 	};
 
-	notify_device_state(skb, seq, device, &device_info, type);
+	return notify_device_state(skb, seq, device, &device_info, type);
 }
 
-void notify_peer_device_state_change(struct sk_buff *skb,
+int notify_peer_device_state_change(struct sk_buff *skb,
 				     unsigned int seq,
 				     struct drbd_peer_device_state_change *p,
 				     enum drbd_notification_type type)
@@ -1606,7 +1606,7 @@ void notify_peer_device_state_change(struct sk_buff *skb,
 		.peer_resync_susp_dependency = p->resync_susp_dependency[NEW],
 	};
 
-	notify_peer_device_state(skb, seq, peer_device, &peer_device_info, type);
+	return notify_peer_device_state(skb, seq, peer_device, &peer_device_info, type);
 }
 
 static void broadcast_state_change(struct drbd_state_change *state_change)
@@ -1614,7 +1614,7 @@ static void broadcast_state_change(struct drbd_state_change *state_change)
 	struct drbd_resource_state_change *resource_state_change = &state_change->resource[0];
 	bool resource_state_has_changed;
 	unsigned int n_device, n_connection, n_peer_device, n_peer_devices;
-	void (*last_func)(struct sk_buff *, unsigned int, void *,
+	int (*last_func)(struct sk_buff *, unsigned int, void *,
 			  enum drbd_notification_type) = NULL;
 	void *uninitialized_var(last_arg);
 
drivers/block/drbd/drbd_state_change.h +4 -4
index ba80f612d6ab..d5b0479bc9a6 100644
@@ -44,19 +44,19 @@ extern struct drbd_state_change *remember_old_state(struct drbd_resource *, gfp_
 extern void copy_old_to_new_state_change(struct drbd_state_change *);
 extern void forget_state_change(struct drbd_state_change *);
 
-extern void notify_resource_state_change(struct sk_buff *,
+extern int notify_resource_state_change(struct sk_buff *,
 					 unsigned int,
 					 struct drbd_resource_state_change *,
 					 enum drbd_notification_type type);
-extern void notify_connection_state_change(struct sk_buff *,
+extern int notify_connection_state_change(struct sk_buff *,
 					   unsigned int,
 					   struct drbd_connection_state_change *,
 					   enum drbd_notification_type type);
-extern void notify_device_state_change(struct sk_buff *,
+extern int notify_device_state_change(struct sk_buff *,
 				       unsigned int,
 				       struct drbd_device_state_change *,
 				       enum drbd_notification_type type);
-extern void notify_peer_device_state_change(struct sk_buff *,
+extern int notify_peer_device_state_change(struct sk_buff *,
 					    unsigned int,
 					    struct drbd_peer_device_state_change *,
 					    enum drbd_notification_type type);
drivers/block/loop.c +5 -5
index 19042b42a8ba..c31a76485c9c 100644
@@ -795,33 +795,33 @@ static ssize_t loop_attr_backing_file_show(struct loop_device *lo, char *buf)
 
 static ssize_t loop_attr_offset_show(struct loop_device *lo, char *buf)
 {
-	return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_offset);
+	return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_offset);
 }
 
 static ssize_t loop_attr_sizelimit_show(struct loop_device *lo, char *buf)
 {
-	return sprintf(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit);
+	return sysfs_emit(buf, "%llu\n", (unsigned long long)lo->lo_sizelimit);
 }
 
 static ssize_t loop_attr_autoclear_show(struct loop_device *lo, char *buf)
 {
 	int autoclear = (lo->lo_flags & LO_FLAGS_AUTOCLEAR);
 
-	return sprintf(buf, "%s\n", autoclear ? "1" : "0");
+	return sysfs_emit(buf, "%s\n", autoclear ? "1" : "0");
 }
 
 static ssize_t loop_attr_partscan_show(struct loop_device *lo, char *buf)
 {
 	int partscan = (lo->lo_flags & LO_FLAGS_PARTSCAN);
 
-	return sprintf(buf, "%s\n", partscan ? "1" : "0");
+	return sysfs_emit(buf, "%s\n", partscan ? "1" : "0");
 }
 
 static ssize_t loop_attr_dio_show(struct loop_device *lo, char *buf)
 {
 	int dio = (lo->lo_flags & LO_FLAGS_DIRECT_IO);
 
-	return sprintf(buf, "%s\n", dio ? "1" : "0");
+	return sysfs_emit(buf, "%s\n", dio ? "1" : "0");
 }
 
 LOOP_ATTR_RO(backing_file);
drivers/block/virtio_blk.c +10 -2
index dac1769146d7..8b3bf11329ba 100644
@@ -849,9 +849,17 @@ static int virtblk_probe(struct virtio_device *vdev)
 	err = virtio_cread_feature(vdev, VIRTIO_BLK_F_BLK_SIZE,
 				   struct virtio_blk_config, blk_size,
 				   &blk_size);
-	if (!err)
+	if (!err) {
+		err = blk_validate_block_size(blk_size);
+		if (err) {
+			dev_err(&vdev->dev,
+				"virtio_blk: invalid block size: 0x%x\n",
+				blk_size);
+			goto out_free_tags;
+		}
+
 		blk_queue_logical_block_size(q, blk_size);
-	else
+	} else
 		blk_size = queue_logical_block_size(q);
 
 	/* Use topology information if available */
drivers/bluetooth/hci_serdev.c +2 -1
index 7b3aade431e5..9ebcf0d9e395 100644
@@ -288,6 +288,8 @@ int hci_uart_register_device(struct hci_uart *hu,
 	if (err)
 		return err;
 
+	percpu_init_rwsem(&hu->proto_lock);
+
 	err = p->open(hu);
 	if (err)
 		goto err_open;
@@ -310,7 +312,6 @@ int hci_uart_register_device(struct hci_uart *hu,
 
 	INIT_WORK(&hu->init_ready, hci_uart_init_work);
 	INIT_WORK(&hu->write_work, hci_uart_write_work);
-	percpu_init_rwsem(&hu->proto_lock);
 
 	/* Only when vendor specific setup callback is provided, consider
 	 * the manufacturer information valid. This avoids filling in the
drivers/char/hw_random/atmel-rng.c +1 -0
index 433426242b87..40e6951ea078 100644
@@ -96,6 +96,7 @@ static int atmel_trng_probe(struct platform_device *pdev)
 
 err_register:
 	clk_disable_unprepare(trng->clk);
+	atmel_trng_disable(trng);
 	return ret;
 }
 
drivers/char/tpm/tpm-chip.c +8 -38

101 lines not on this page · raw message

drivers/char/tpm/tpm.h +2 -0
index b9a30f0b8825..7b8e279c180b 100644
@@ -605,6 +605,8 @@ int tpm2_prepare_space(struct tpm_chip *chip, struct tpm_space *space, u32 cc,
 		       u8 *cmd);
 int tpm2_commit_space(struct tpm_chip *chip, struct tpm_space *space,
 		      u32 cc, u8 *buf, size_t *bufsiz);
+int tpm_devs_add(struct tpm_chip *chip);
+void tpm_devs_remove(struct tpm_chip *chip);
 
 void tpm_bios_log_setup(struct tpm_chip *chip);
 void tpm_bios_log_teardown(struct tpm_chip *chip);
drivers/char/tpm/tpm2-space.c +65 -0

68 lines not on this page · raw message

drivers/char/virtio_console.c +11 -4
index cdf441942bae..d3937d690400 100644
@@ -1985,6 +1985,13 @@ static void virtcons_remove(struct virtio_device *vdev)
 	list_del(&portdev->list);
 	spin_unlock_irq(&pdrvdata_lock);
 
+	/* Device is going away, exit any polling for buffers */
+	virtio_break_device(vdev);
+	if (use_multiport(portdev))
+		flush_work(&portdev->control_work);
+	else
+		flush_work(&portdev->config_work);
+
 	/* Disable interrupts for vqs */
 	vdev->config->reset(vdev);
 	/* Finish up work that's lined up */
@@ -2258,7 +2265,7 @@ static struct virtio_driver virtio_rproc_serial = {
 	.remove =	virtcons_remove,
 };
 
-static int __init init(void)
+static int __init virtio_console_init(void)
 {
 	int err;
 
@@ -2295,7 +2302,7 @@ static int __init init(void)
 	return err;
 }
 
-static void __exit fini(void)
+static void __exit virtio_console_fini(void)
 {
 	reclaim_dma_bufs();
 
@@ -2305,8 +2312,8 @@ static void __exit fini(void)
 	class_destroy(pdrvdata.class);
 	debugfs_remove_recursive(pdrvdata.debugfs_dir);
 }
-module_init(init);
-module_exit(fini);
+module_init(virtio_console_init);
+module_exit(virtio_console_fini);
 
 MODULE_DESCRIPTION("Virtio console driver");
 MODULE_LICENSE("GPL");
drivers/clk/actions/owl-s700.c +1 -0
index 5e9531392ee5..aa76b0c10373 100644
@@ -160,6 +160,7 @@ static struct clk_div_table hdmia_div_table[] = {
 
 static struct clk_div_table rmii_div_table[] = {
 	{0, 4},   {1, 10},
+	{0, 0}
 };
 
 /* divider clocks */
drivers/clk/actions/owl-s900.c +1 -1
index 7f60ed6afe63..460b33fc6c54 100644
@@ -138,7 +138,7 @@ static struct clk_div_table rmii_ref_div_table[] = {
 
 static struct clk_div_table usb3_mac_div_table[] = {
 	{ 1, 2 }, { 2, 3 }, { 3, 4 },
-	{ 0, 8 },
+	{ 0, 0 }
 };
 
 static struct clk_div_table i2s_div_table[] = {
drivers/clk/clk-clps711x.c +2 -0
index 2c04396402ab..50b42e91a137 100644
@@ -32,11 +32,13 @@ static const struct clk_div_table spi_div_table[] = {
 	{ .val = 1, .div = 8, },
 	{ .val = 2, .div = 2, },
 	{ .val = 3, .div = 1, },
+	{ /* sentinel */ }
 };
 
 static const struct clk_div_table timer_div_table[] = {
 	{ .val = 0, .div = 256, },
 	{ .val = 1, .div = 1, },
+	{ /* sentinel */ }
 };
 
 struct clps711x_clk {
drivers/clk/clk.c +24 -0
index a9490c8e82a7..32606d1094fe 100644
@@ -523,6 +523,24 @@ static void clk_core_get_boundaries(struct clk_core *core,
 		*max_rate = min(*max_rate, clk_user->max_rate);
 }
 
+static bool clk_core_check_boundaries(struct clk_core *core,
+				      unsigned long min_rate,
+				      unsigned long max_rate)
+{
+	struct clk *user;
+
+	lockdep_assert_held(&prepare_lock);
+
+	if (min_rate > core->max_rate || max_rate < core->min_rate)
+		return false;
+
+	hlist_for_each_entry(user, &core->clks, clks_node)
+		if (min_rate > user->max_rate || max_rate < user->min_rate)
+			return false;
+
+	return true;
+}
+
 void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
 			   unsigned long max_rate)
 {
@@ -2066,6 +2084,11 @@ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max)
 	clk->min_rate = min;
 	clk->max_rate = max;
 
+	if (!clk_core_check_boundaries(clk->core, min, max)) {
+		ret = -EINVAL;
+		goto out;
+	}
+
 	rate = clk_core_get_rate_nolock(clk->core);
 	if (rate < min || rate > max) {
 		/*
@@ -2094,6 +2117,7 @@ int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max)
 		}
 	}
 
+out:
 	if (clk->exclusive_count)
 		clk_core_rate_protect(clk->core);
 
drivers/clk/loongson1/clk-loongson1c.c +1 -0
index 3466f7320b40..e3aa502761a3 100644
@@ -40,6 +40,7 @@ static const struct clk_div_table ahb_div_table[] = {
 	[1] = { .val = 1, .div = 4 },
 	[2] = { .val = 2, .div = 3 },
 	[3] = { .val = 3, .div = 3 },
+	[4] = { /* sentinel */ }
 };
 
 void __init ls1x_clk_init(void)
drivers/clk/qcom/clk-rcg2.c +1 -0
index f420f0c96877..04bd29d6aba1 100644
@@ -625,6 +625,7 @@ static const struct frac_entry frac_table_pixel[] = {
 	{ 2, 9 },
 	{ 4, 9 },
 	{ 1, 1 },
+	{ 2, 3 },
 	{ }
 };
 
drivers/clk/qcom/gcc-ipq8074.c +1 -1
index 505c6263141d..708c486a6e96 100644
@@ -1082,7 +1082,7 @@ static struct clk_rcg2 sdcc1_apps_clk_src = {
 		.name = "sdcc1_apps_clk_src",
 		.parent_names = gcc_xo_gpll0_gpll2_gpll0_out_main_div2,
 		.num_parents = 4,
-		.ops = &clk_rcg2_ops,
+		.ops = &clk_rcg2_floor_ops,
 	},
 };
 
drivers/clk/qcom/gcc-msm8994.c +1 -0
index 53f0f369a33e..4ec481efedc8 100644
@@ -115,6 +115,7 @@ static struct clk_alpha_pll gpll4_early = {
 
 static struct clk_alpha_pll_postdiv gpll4 = {
 	.offset = 0x1dc0,
+	.width = 4,
 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
 	.clkr.hw.init = &(struct clk_init_data)
 	{
drivers/clk/tegra/clk-emc.c +1 -0
index 0621a3a82ea6..7aeace88be6e 100644
@@ -190,6 +190,7 @@ static struct tegra_emc *emc_ensure_emc_driver(struct tegra_clk_emc *tegra)
 
 	tegra->emc = platform_get_drvdata(pdev);
 	if (!tegra->emc) {
+		put_device(&pdev->dev);
 		pr_err("%s: cannot find EMC driver\n", __func__);
 		return NULL;
 	}
drivers/clk/uniphier/clk-uniphier-fixed-rate.c +1 -0
index 0ad0d46173c0..225de2302cb7 100644
@@ -33,6 +33,7 @@ struct clk_hw *uniphier_clk_register_fixed_rate(struct device *dev,
 
 	init.name = name;
 	init.ops = &clk_fixed_rate_ops;
+	init.flags = 0;
 	init.parent_names = NULL;
 	init.num_parents = 0;
 
drivers/clocksource/acpi_pm.c +4 -2
index 1961e3539b57..05cc8d4e49ad 100644
@@ -230,8 +230,10 @@ static int __init parse_pmtmr(char *arg)
 	int ret;
 
 	ret = kstrtouint(arg, 16, &base);
-	if (ret)
-		return ret;
+	if (ret) {
+		pr_warn("PMTMR: invalid 'pmtmr=' value: '%s'\n", arg);
+		return 1;
+	}
 
 	pr_info("PMTMR IOPort override: 0x%04x -> 0x%04x\n", pmtmr_ioport,
 		base);
drivers/clocksource/timer-of.c +3 -3
index 6e2cb3693ed8..82bb0d39e8af 100644
@@ -164,9 +164,9 @@ static __init int timer_of_base_init(struct device_node *np,
 	of_base->base = of_base->name ?
 		of_io_request_and_map(np, of_base->index, of_base->name) :
 		of_iomap(np, of_base->index);
-	if (IS_ERR(of_base->base)) {
-		pr_err("Failed to iomap (%s)\n", of_base->name);
-		return PTR_ERR(of_base->base);
+	if (IS_ERR_OR_NULL(of_base->base)) {
+		pr_err("Failed to iomap (%s:%s)\n", np->name, of_base->name);
+		return of_base->base ? PTR_ERR(of_base->base) : -ENOMEM;
 	}
 
 	return 0;
drivers/crypto/ccp/ccp-dmaengine.c +16 -0
index a83588d6ba72..8209273eb85b 100644
@@ -631,6 +631,20 @@ static int ccp_terminate_all(struct dma_chan *dma_chan)
 	return 0;
 }
 
+static void ccp_dma_release(struct ccp_device *ccp)
+{
+	struct ccp_dma_chan *chan;
+	struct dma_chan *dma_chan;
+	unsigned int i;
+
+	for (i = 0; i < ccp->cmd_q_count; i++) {
+		chan = ccp->ccp_dma_chan + i;
+		dma_chan = &chan->dma_chan;
+		tasklet_kill(&chan->cleanup_tasklet);
+		list_del_rcu(&dma_chan->device_node);
+	}
+}
+
 int ccp_dmaengine_register(struct ccp_device *ccp)
 {
 	struct ccp_dma_chan *chan;
@@ -732,6 +746,7 @@ int ccp_dmaengine_register(struct ccp_device *ccp)
 	return 0;
 
 err_reg:
+	ccp_dma_release(ccp);
 	kmem_cache_destroy(ccp->dma_desc_cache);
 
 err_cache:
@@ -745,6 +760,7 @@ void ccp_dmaengine_unregister(struct ccp_device *ccp)
 	struct dma_device *dma_dev = &ccp->dma_dev;
 
 	dma_async_device_unregister(dma_dev);
+	ccp_dma_release(ccp);
 
 	kmem_cache_destroy(ccp->dma_desc_cache);
 	kmem_cache_destroy(ccp->dma_cmd_cache);
drivers/crypto/mxs-dcp.c +1 -1
index da834ae3586b..2da6f38e2bcb 100644
@@ -328,7 +328,7 @@ static int mxs_dcp_aes_block_crypt(struct crypto_async_request *arq)
 		memset(key + AES_KEYSIZE_128, 0, AES_KEYSIZE_128);
 	}
 
-	for_each_sg(req->src, src, sg_nents(src), i) {
+	for_each_sg(req->src, src, sg_nents(req->src), i) {
 		src_buf = sg_virt(src);
 		len = sg_dma_len(src);
 		tlen += len;
drivers/crypto/vmx/Kconfig +4 -0
index c3d524ea6998..f39eeca87932 100644
@@ -1,7 +1,11 @@
 config CRYPTO_DEV_VMX_ENCRYPT
 	tristate "Encryption acceleration support on P8 CPU"
 	depends on CRYPTO_DEV_VMX
+	select CRYPTO_AES
+	select CRYPTO_CBC
+	select CRYPTO_CTR
 	select CRYPTO_GHASH
+	select CRYPTO_XTS
 	default m
 	help
 	  Support for VMX cryptographic acceleration instructions on Power8 CPU.
drivers/dma/sh/shdma-base.c +1 -3
index 419c841aef34..6b5626e299b2 100644
@@ -118,10 +118,8 @@ static dma_cookie_t shdma_tx_submit(struct dma_async_tx_descriptor *tx)
 		ret = pm_runtime_get(schan->dev);
 
 		spin_unlock_irq(&schan->chan_lock);
-		if (ret < 0) {
+		if (ret < 0)
 			dev_err(schan->dev, "%s(): GET = %d\n", __func__, ret);
-			pm_runtime_put(schan->dev);
-		}
 
 		pm_runtime_barrier(schan->dev);
 
drivers/gpu/drm/amd/amdgpu/amdgpu.h +2 -0
index 447c4c7a36d6..acbd33fcb73d 100644
@@ -955,6 +955,8 @@ struct amdgpu_gfx {
 	DECLARE_BITMAP			(pipe_reserve_bitmap, AMDGPU_MAX_COMPUTE_QUEUES);
 };
 
+int amdgpu_file_to_fpriv(struct file *filp, struct amdgpu_fpriv **fpriv);
+
 int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 		  unsigned size, struct amdgpu_ib *ib);
 void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib,
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +7 -3
index f92597c292fe..4488aad64643 100644
@@ -1044,11 +1044,15 @@ int amdgpu_amdkfd_gpuvm_acquire_process_vm(struct kgd_dev *kgd,
 					   struct dma_fence **ef)
 {
 	struct amdgpu_device *adev = get_amdgpu_device(kgd);
-	struct drm_file *drm_priv = filp->private_data;
-	struct amdgpu_fpriv *drv_priv = drm_priv->driver_priv;
-	struct amdgpu_vm *avm = &drv_priv->vm;
+	struct amdgpu_fpriv *drv_priv;
+	struct amdgpu_vm *avm;
 	int ret;
 
+	ret = amdgpu_file_to_fpriv(filp, &drv_priv);
+	if (ret)
+		return ret;
+	avm = &drv_priv->vm;
+
 	/* Already a compute VM? */
 	if (avm->process_info)
 		return -EINVAL;
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -0
index 81001d879322..023309296bfc 100644
@@ -1469,6 +1469,7 @@ int amdgpu_cs_fence_to_handle_ioctl(struct drm_device *dev, void *data,
 		return 0;
 
 	default:
+		dma_fence_put(fence);
 		return -EINVAL;
 	}
 }
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +16 -0
index 63b1e325b45c..b3b22a87b232 100644
@@ -1132,6 +1132,22 @@ static const struct file_operations amdgpu_driver_kms_fops = {
 #endif
 };
 
+int amdgpu_file_to_fpriv(struct file *filp, struct amdgpu_fpriv **fpriv)
+{
+        struct drm_file *file;
+
+	if (!filp)
+		return -EINVAL;
+
+	if (filp->f_op != &amdgpu_driver_kms_fops) {
+		return -EINVAL;
+	}
+
+	file = filp->private_data;
+	*fpriv = file->driver_priv;
+	return 0;
+}
+
 static bool
 amdgpu_get_crtc_scanout_position(struct drm_device *dev, unsigned int pipe,
 				 bool in_vblank_irq, int *vpos, int *hpos,
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +1 -1
index 239bf2a4b3c6..eeaa2e825858 100644
@@ -173,7 +173,7 @@ static int amdgpu_gfx_kiq_acquire(struct amdgpu_device *adev,
 		    * adev->gfx.mec.num_pipe_per_mec
 		    * adev->gfx.mec.num_queue_per_pipe;
 
-	while (queue_bit-- >= 0) {
+	while (--queue_bit >= 0) {
 		if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap))
 			continue;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +7 -3
index 1cafe8d83a4d..0b70410488b6 100644
@@ -54,16 +54,20 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
 						  enum drm_sched_priority priority)
 {
 	struct file *filp = fget(fd);
-	struct drm_file *file;
 	struct amdgpu_fpriv *fpriv;
 	struct amdgpu_ctx *ctx;
 	uint32_t id;
+	int r;
 
 	if (!filp)
 		return -EINVAL;
 
-	file = filp->private_data;
-	fpriv = file->driver_priv;
+	r = amdgpu_file_to_fpriv(filp, &fpriv);
+	if (r) {
+		fput(filp);
+		return r;
+	}
+
 	idr_for_each_entry(&fpriv->ctx_mgr.ctx_handles, ctx, id)
 		amdgpu_ctx_priority_override(ctx, priority);
 
drivers/gpu/drm/amd/amdkfd/kfd_crat.c +1 -1
index ee4996029a86..e2780643f4c3 100644
@@ -733,7 +733,7 @@ int kfd_create_crat_image_acpi(void **crat_image, size_t *size)
 	/* Fetch the CRAT table from ACPI */
 	status = acpi_get_table(CRAT_SIGNATURE, 0, &crat_table);
 	if (status == AE_NOT_FOUND) {
-		pr_warn("CRAT table not found\n");
+		pr_info("CRAT table not found\n");
 		return -ENODATA;
 	} else if (ACPI_FAILURE(status)) {
 		const char *err = acpi_format_exception(status);
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +3 -0
index ed02bb6b2cd0..b2835cd41d3e 100644
@@ -3593,6 +3593,9 @@ static void amdgpu_dm_connector_add_common_modes(struct drm_encoder *encoder,
 		mode = amdgpu_dm_create_common_mode(encoder,
 				common_modes[i].name, common_modes[i].w,
 				common_modes[i].h);
+		if (!mode)
+			continue;
+
 		drm_mode_probed_add(connector, mode);
 		amdgpu_dm_connector->num_modes++;
 	}
drivers/gpu/drm/bridge/cdns-dsi.c +1 -0
index ce9496d13986..0573c5250a41 100644
@@ -1604,6 +1604,7 @@ static const struct of_device_id cdns_dsi_of_match[] = {
 	{ .compatible = "cdns,dsi" },
 	{ },
 };
+MODULE_DEVICE_TABLE(of, cdns_dsi_of_match);
 
 static struct platform_driver cdns_dsi_platform_driver = {
 	.probe  = cdns_dsi_drm_probe,
drivers/gpu/drm/bridge/sil-sii8620.c +1 -1
index 1ea2a1b0fe37..ea433bb189ca 100644
@@ -2122,7 +2122,7 @@ static void sii8620_init_rcp_input_dev(struct sii8620 *ctx)
 	if (ret) {
 		dev_err(ctx->dev, "Failed to register RC device\n");
 		ctx->error = ret;
-		rc_free_device(ctx->rc_dev);
+		rc_free_device(rc_dev);
 		return;
 	}
 	ctx->rc_dev = rc_dev;
drivers/gpu/drm/drm_edid.c +2 -9
index 5c049483de23..ef26095719c5 100644
@@ -4323,7 +4323,8 @@ bool drm_detect_monitor_audio(struct edid *edid)
 	if (!edid_ext)
 		goto end;
 
-	has_audio = ((edid_ext[3] & EDID_BASIC_AUDIO) != 0);
+	has_audio = (edid_ext[0] == CEA_EXT &&
+		    (edid_ext[3] & EDID_BASIC_AUDIO) != 0);
 
 	if (has_audio) {
 		DRM_DEBUG_KMS("Monitor has basic audio support\n");
@@ -4501,16 +4502,8 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
 		  connector->name, dc_bpc);
 	info->bpc = dc_bpc;
 
-	/*
-	 * Deep color support mandates RGB444 support for all video
-	 * modes and forbids YCRCB422 support for all video modes per
-	 * HDMI 1.3 spec.
-	 */
-	info->color_formats = DRM_COLOR_FORMAT_RGB444;
-
 	/* YCRCB444 is optional according to spec. */
 	if (hdmi[6] & DRM_EDID_HDMI_DC_Y444) {
-		info->color_formats |= DRM_COLOR_FORMAT_YCRCB444;
 		DRM_DEBUG("%s: HDMI sink does YCRCB444 in deep color.\n",
 			  connector->name);
 	}
drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
index 3b70a338e5b4..265df1e67eb3 100644
@@ -133,6 +133,12 @@ static const struct dmi_system_id orientation_data[] = {
 		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "MicroPC"),
 		},
 		.driver_data = (void *)&lcd720x1280_rightside_up,
+	}, {	/* GPD Win Max */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_SYS_VENDOR, "GPD"),
+		  DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "G1619-01"),
+		},
+		.driver_data = (void *)&lcd800x1280_rightside_up,
 	}, {	/*
 		 * GPD Pocket, note that the the DMI data is less generic then
 		 * it seems, devices with a board-vendor of "AMI Corporation"
drivers/gpu/drm/imx/parallel-display.c +3 -1
index aefd04e18f93..e9dff31b377c 100644
@@ -77,8 +77,10 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector)
 		ret = of_get_drm_display_mode(np, &imxpd->mode,
 					      &imxpd->bus_flags,
 					      OF_USE_NATIVE_MODE);
-		if (ret)
+		if (ret) {
+			drm_mode_destroy(connector->dev, mode);
 			return ret;
+		}
 
 		drm_mode_copy(mode, &imxpd->mode);
 		mode->type |= DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
drivers/gpu/drm/tegra/dsi.c +3 -1
index ee6ca8fa1c65..e2903bf7821b 100644
@@ -1456,8 +1456,10 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *dsi)
 		dsi->slave = platform_get_drvdata(gangster);
 		of_node_put(np);
 
-		if (!dsi->slave)
+		if (!dsi->slave) {
+			put_device(&gangster->dev);
 			return -EPROBE_DEFER;
+		}
 
 		dsi->slave->master = dsi;
 	}
drivers/hid/i2c-hid/i2c-hid-core.c +24 -8
index 19f4b807a5d1..f5dc3122aff8 100644
@@ -632,6 +632,17 @@ static int i2c_hid_get_raw_report(struct hid_device *hid,
 	if (report_type == HID_OUTPUT_REPORT)
 		return -EINVAL;
 
+	/*
+	 * In case of unnumbered reports the response from the device will
+	 * not have the report ID that the upper layers expect, so we need
+	 * to stash it the buffer ourselves and adjust the data size.
+	 */
+	if (!report_number) {
+		buf[0] = 0;
+		buf++;
+		count--;
+	}
+
 	/* +2 bytes to include the size of the reply in the query buffer */
 	ask_count = min(count + 2, (size_t)ihid->bufsize);
 
@@ -653,6 +664,9 @@ static int i2c_hid_get_raw_report(struct hid_device *hid,
 	count = min(count, ret_count - 2);
 	memcpy(buf, ihid->rawbuf + 2, count);
 
+	if (!report_number)
+		count++;
+
 	return count;
 }
 
@@ -669,17 +683,19 @@ static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf,
 
 	mutex_lock(&ihid->reset_lock);
 
-	if (report_id) {
-		buf++;
-		count--;
-	}
-
+	/*
+	 * Note that both numbered and unnumbered reports passed here
+	 * are supposed to have report ID stored in the 1st byte of the
+	 * buffer, so we strip it off unconditionally before passing payload
+	 * to i2c_hid_set_or_send_report which takes care of encoding
+	 * everything properly.
+	 */
 	ret = i2c_hid_set_or_send_report(client,
 				report_type == HID_FEATURE_REPORT ? 0x03 : 0x02,
-				report_id, buf, count, use_data);
+				report_id, buf + 1, count - 1, use_data);
 
-	if (report_id && ret >= 0)
-		ret++; /* add report_id to the number of transfered bytes */
+	if (ret >= 0)
+		ret++; /* add report_id to the number of transferred bytes */
 
 	mutex_unlock(&ihid->reset_lock);
 
drivers/hv/hv_balloon.c +1 -1
index e5fc719a34e7..d442a8d2332e 100644
@@ -1548,7 +1548,7 @@ static void balloon_onchannelcallback(void *context)
 			break;
 
 		default:
-			pr_warn("Unhandled message: type: %d\n", dm_hdr->type);
+			pr_warn_ratelimited("Unhandled message: type: %d\n", dm_hdr->type);
 
 		}
 	}
drivers/hv/vmbus_drv.c +7 -2
index 51fe219c91fc..0c17743b4a65 100644
@@ -2062,10 +2062,15 @@ static void __exit vmbus_exit(void)
 	if (ms_hyperv.misc_features & HV_FEATURE_GUEST_CRASH_MSR_AVAILABLE) {
 		kmsg_dump_unregister(&hv_kmsg_dumper);
 		unregister_die_notifier(&hyperv_die_block);
-		atomic_notifier_chain_unregister(&panic_notifier_list,
-						 &hyperv_panic_block);
 	}
 
+	/*
+	 * The panic notifier is always registered, hence we should
+	 * also unconditionally unregister it here as well.
+	 */
+	atomic_notifier_chain_unregister(&panic_notifier_list,
+					 &hyperv_panic_block);
+
 	free_page((unsigned long)hv_panic_page);
 	unregister_sysctl_table(hv_ctl_table_hdr);
 	hv_ctl_table_hdr = NULL;
drivers/hwmon/pmbus/pmbus.h +1 -0
index 1d24397d36ec..9d731de852c6 100644
@@ -291,6 +291,7 @@ enum pmbus_fan_mode { percent = 0, rpm };
 /*
  * STATUS_VOUT, STATUS_INPUT
  */
+#define PB_VOLTAGE_VIN_OFF		BIT(3)
 #define PB_VOLTAGE_UV_FAULT		BIT(4)
 #define PB_VOLTAGE_UV_WARNING		BIT(5)
 #define PB_VOLTAGE_OV_WARNING		BIT(6)
drivers/hwmon/pmbus/pmbus_core.c +14 -4
index cd24b375df1e..bef28e955953 100644
@@ -1337,7 +1337,7 @@ static const struct pmbus_limit_attr vin_limit_attrs[] = {
 		.reg = PMBUS_VIN_UV_FAULT_LIMIT,
 		.attr = "lcrit",
 		.alarm = "lcrit_alarm",
-		.sbit = PB_VOLTAGE_UV_FAULT,
+		.sbit = PB_VOLTAGE_UV_FAULT | PB_VOLTAGE_VIN_OFF,
 	}, {
 		.reg = PMBUS_VIN_OV_WARN_LIMIT,
 		.attr = "max",
@@ -2074,10 +2074,14 @@ static int pmbus_regulator_is_enabled(struct regulator_dev *rdev)
 {
 	struct device *dev = rdev_get_dev(rdev);
 	struct i2c_client *client = to_i2c_client(dev->parent);
+	struct pmbus_data *data = i2c_get_clientdata(client);
 	u8 page = rdev_get_id(rdev);
 	int ret;
 
+	mutex_lock(&data->update_lock);
 	ret = pmbus_read_byte_data(client, page, PMBUS_OPERATION);
+	mutex_unlock(&data->update_lock);
+
 	if (ret < 0)
 		return ret;
 
@@ -2088,11 +2092,17 @@ static int _pmbus_regulator_on_off(struct regulator_dev *rdev, bool enable)
 {
 	struct device *dev = rdev_get_dev(rdev);
 	struct i2c_client *client = to_i2c_client(dev->parent);
+	struct pmbus_data *data = i2c_get_clientdata(client);
 	u8 page = rdev_get_id(rdev);
+	int ret;
 
-	return pmbus_update_byte_data(client, page, PMBUS_OPERATION,
-				      PB_OPERATION_CONTROL_ON,
-				      enable ? PB_OPERATION_CONTROL_ON : 0);
+	mutex_lock(&data->update_lock);
+	ret = pmbus_update_byte_data(client, page, PMBUS_OPERATION,
+				     PB_OPERATION_CONTROL_ON,
+				     enable ? PB_OPERATION_CONTROL_ON : 0);
+	mutex_unlock(&data->update_lock);
+
+	return ret;
 }
 
 static int pmbus_regulator_enable(struct regulator_dev *rdev)
drivers/hwmon/sch56xx-common.c +1 -1
index bda3d5285586..e1c4e6937a64 100644
@@ -437,7 +437,7 @@ struct sch56xx_watchdog_data *sch56xx_watchdog_register(struct device *parent,
 	if (nowayout)
 		set_bit(WDOG_NO_WAY_OUT, &data->wddev.status);
 	if (output_enable & SCH56XX_WDOG_OUTPUT_ENABLE)
-		set_bit(WDOG_ACTIVE, &data->wddev.status);
+		set_bit(WDOG_HW_RUNNING, &data->wddev.status);
 
 	/* Since the watchdog uses a downcounter there is no register to read
 	   the BIOS set timeout from (if any was set at all) ->
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c +6 -2
index f5fb1e7a9c17..dc3d30ca1188 100644
@@ -367,8 +367,12 @@ static ssize_t mode_store(struct device *dev,
 	mode = ETM_MODE_QELEM(config->mode);
 	/* start by clearing QE bits */
 	config->cfg &= ~(BIT(13) | BIT(14));
-	/* if supported, Q elements with instruction counts are enabled */
-	if ((mode & BIT(0)) && (drvdata->q_support & BIT(0)))
+	/*
+	 * if supported, Q elements with instruction counts are enabled.
+	 * Always set the low bit for any requested mode. Valid combos are
+	 * 0b00, 0b01 and 0b11.
+	 */
+	if (mode && drvdata->q_support)
 		config->cfg |= BIT(13);
 	/*
 	 * if supported, Q elements with and without instruction
drivers/i2c/busses/i2c-xiic.c +2 -1
index 8d6b6eeef71c..52acb185a29c 100644
@@ -724,7 +724,6 @@ static const struct i2c_adapter_quirks xiic_quirks = {
 
 static const struct i2c_adapter xiic_adapter = {
 	.owner = THIS_MODULE,
-	.name = DRIVER_NAME,
 	.class = I2C_CLASS_DEPRECATED,
 	.algo = &xiic_algorithm,
 	.quirks = &xiic_quirks,
@@ -761,6 +760,8 @@ static int xiic_i2c_probe(struct platform_device *pdev)
 	i2c_set_adapdata(&i2c->adap, i2c);
 	i2c->adap.dev.parent = &pdev->dev;
 	i2c->adap.dev.of_node = pdev->dev.of_node;
+	snprintf(i2c->adap.name, sizeof(i2c->adap.name),
+		 DRIVER_NAME " %s", pdev->name);
 
 	mutex_init(&i2c->lock);
 	init_waitqueue_head(&i2c->wait);
drivers/i2c/muxes/i2c-demux-pinctrl.c +3 -2
index 9ba9ce5696e1..1b99d0b928a0 100644
@@ -262,7 +262,7 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev)
 
 	err = device_create_file(&pdev->dev, &dev_attr_available_masters);
 	if (err)
-		goto err_rollback;
+		goto err_rollback_activation;
 
 	err = device_create_file(&pdev->dev, &dev_attr_current_master);
 	if (err)
@@ -272,8 +272,9 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev)
 
 err_rollback_available:
 	device_remove_file(&pdev->dev, &dev_attr_available_masters);
-err_rollback:
+err_rollback_activation:
 	i2c_demux_deactivate_master(priv);
+err_rollback:
 	for (j = 0; j < i; j++) {
 		of_node_put(priv->chan[j].parent_np);
 		of_changeset_destroy(&priv->chan[j].chgset);
drivers/iio/adc/twl6030-gpadc.c +2 -0
index e470510e76ea..765aaee157e2 100644
@@ -927,6 +927,8 @@ static int twl6030_gpadc_probe(struct platform_device *pdev)
 	ret = devm_request_threaded_irq(dev, irq, NULL,
 				twl6030_gpadc_irq_handler,
 				IRQF_ONESHOT, "twl6030_gpadc", indio_dev);
+	if (ret)
+		return ret;
 
 	ret = twl6030_gpadc_enable_irq(TWL6030_GPADC_RT_SW1_EOC_MASK);
 	if (ret < 0) {
drivers/iio/afe/iio-rescale.c +4 -4
index e9ceee66d1e7..d9c41db8155f 100644
@@ -38,7 +38,7 @@ static int rescale_read_raw(struct iio_dev *indio_dev,
 			    int *val, int *val2, long mask)
 {
 	struct rescale *rescale = iio_priv(indio_dev);
-	unsigned long long tmp;
+	s64 tmp;
 	int ret;
 
 	switch (mask) {
@@ -59,10 +59,10 @@ static int rescale_read_raw(struct iio_dev *indio_dev,
 			*val2 = rescale->denominator;
 			return IIO_VAL_FRACTIONAL;
 		case IIO_VAL_FRACTIONAL_LOG2:
-			tmp = *val * 1000000000LL;
-			do_div(tmp, rescale->denominator);
+			tmp = (s64)*val * 1000000000LL;
+			tmp = div_s64(tmp, rescale->denominator);
 			tmp *= rescale->numerator;
-			do_div(tmp, 1000000000LL);
+			tmp = div_s64(tmp, 1000000000LL);
 			*val = tmp;
 			return ret;
 		default:
drivers/iio/inkern.c +31 -9
index 06ca3f7fcc44..a8ccc6e5a773 100644
@@ -591,28 +591,50 @@ EXPORT_SYMBOL_GPL(iio_read_channel_average_raw);
 static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
 	int raw, int *processed, unsigned int scale)
 {
-	int scale_type, scale_val, scale_val2, offset;
+	int scale_type, scale_val, scale_val2;
+	int offset_type, offset_val, offset_val2;
 	s64 raw64 = raw;
-	int ret;
 
-	ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_OFFSET);
-	if (ret >= 0)
-		raw64 += offset;
+	offset_type = iio_channel_read(chan, &offset_val, &offset_val2,
+				       IIO_CHAN_INFO_OFFSET);
+	if (offset_type >= 0) {
+		switch (offset_type) {
+		case IIO_VAL_INT:
+			break;
+		case IIO_VAL_INT_PLUS_MICRO:
+		case IIO_VAL_INT_PLUS_NANO:
+			/*
+			 * Both IIO_VAL_INT_PLUS_MICRO and IIO_VAL_INT_PLUS_NANO
+			 * implicitely truncate the offset to it's integer form.
+			 */
+			break;
+		case IIO_VAL_FRACTIONAL:
+			offset_val /= offset_val2;
+			break;
+		case IIO_VAL_FRACTIONAL_LOG2:
+			offset_val >>= offset_val2;
+			break;
+		default:
+			return -EINVAL;
+		}
+
+		raw64 += offset_val;
+	}
 
 	scale_type = iio_channel_read(chan, &scale_val, &scale_val2,
 					IIO_CHAN_INFO_SCALE);
 	if (scale_type < 0) {
 		/*
-		 * Just pass raw values as processed if no scaling is
-		 * available.
+		 * If no channel scaling is available apply consumer scale to
+		 * raw value and return.
 		 */
-		*processed = raw;
+		*processed = raw * scale;
 		return 0;
 	}
 
 	switch (scale_type) {
 	case IIO_VAL_INT:
-		*processed = raw64 * scale_val;
+		*processed = raw64 * scale_val * scale;
 		break;
 	case IIO_VAL_INT_PLUS_MICRO:
 		if (scale_val2 < 0)
drivers/input/input.c +0 -6
index b031174c8d7f..a0d90022fcf7 100644
@@ -2118,12 +2118,6 @@ int input_register_device(struct input_dev *dev)
 	/* KEY_RESERVED is not supposed to be transmitted to userspace. */
 	__clear_bit(KEY_RESERVED, dev->keybit);
 
-	/* Buttonpads should not map BTN_RIGHT and/or BTN_MIDDLE. */
-	if (test_bit(INPUT_PROP_BUTTONPAD, dev->propbit)) {
-		__clear_bit(BTN_RIGHT, dev->keybit);
-		__clear_bit(BTN_MIDDLE, dev->keybit);
-	}
-
 	/* Make sure that bitmasks not mentioned in dev->evbit are clean. */
 	input_cleanse_bitmasks(dev);
 
drivers/iommu/arm-smmu-v3.c +1 -0
index 6b7664052b5b..9f16f47e7021 100644
@@ -1250,6 +1250,7 @@ static irqreturn_t arm_smmu_evtq_thread(int irq, void *dev)
 				dev_info(smmu->dev, "\t0x%016llx\n",
 					 (unsigned long long)evt[i]);
 
+			cond_resched();
 		}
 
 		/*
drivers/irqchip/irq-gic-v3.c +4 -4
index ac888d7a0b00..05b9a4cdc8fd 100644
@@ -95,11 +95,11 @@ static inline void __iomem *gic_dist_base(struct irq_data *d)
 	return NULL;
 }
 
-static void gic_do_wait_for_rwp(void __iomem *base)
+static void gic_do_wait_for_rwp(void __iomem *base, u32 bit)
 {
 	u32 count = 1000000;	/* 1s! */
 
-	while (readl_relaxed(base + GICD_CTLR) & GICD_CTLR_RWP) {
+	while (readl_relaxed(base + GICD_CTLR) & bit) {
 		count--;
 		if (!count) {
 			pr_err_ratelimited("RWP timeout, gone fishing\n");
@@ -113,13 +113,13 @@ static void gic_do_wait_for_rwp(void __iomem *base)
 /* Wait for completion of a distributor change */
 static void gic_dist_wait_for_rwp(void)
 {
-	gic_do_wait_for_rwp(gic_data.dist_base);
+	gic_do_wait_for_rwp(gic_data.dist_base, GICD_CTLR_RWP);
 }
 
 /* Wait for completion of a redistributor change */
 static void gic_redist_wait_for_rwp(void)
 {
-	gic_do_wait_for_rwp(gic_data_rdist_rd_base());
+	gic_do_wait_for_rwp(gic_data_rdist_rd_base(), GICR_CTLR_RWP);
 }
 
 #ifdef CONFIG_ARM64
drivers/irqchip/irq-nvic.c +2 -0
index 9694529b709d..330beb62d015 100644
@@ -108,6 +108,7 @@ static int __init nvic_of_init(struct device_node *node,
 
 	if (!nvic_irq_domain) {
 		pr_warn("Failed to allocate irq domain\n");
+		iounmap(nvic_base);
 		return -ENOMEM;
 	}
 
@@ -117,6 +118,7 @@ static int __init nvic_of_init(struct device_node *node,
 	if (ret) {
 		pr_warn("Failed to allocate irq chips\n");
 		irq_domain_remove(nvic_irq_domain);
+		iounmap(nvic_base);
 		return ret;
 	}
 
drivers/irqchip/qcom-pdc.c +3 -2
index faa7d61b9d6c..239a889df608 100644
@@ -50,17 +50,18 @@ static u32 pdc_reg_read(int reg, u32 i)
 static void pdc_enable_intr(struct irq_data *d, bool on)
 {
 	int pin_out = d->hwirq;
+	unsigned long flags;
 	u32 index, mask;
 	u32 enable;
 
 	index = pin_out / 32;
 	mask = pin_out % 32;
 
-	raw_spin_lock(&pdc_lock);
+	raw_spin_lock_irqsave(&pdc_lock, flags);
 	enable = pdc_reg_read(IRQ_ENABLE_BANK, index);
 	enable = on ? ENABLE_INTR(enable, mask) : CLEAR_INTR(enable, mask);
 	pdc_reg_write(IRQ_ENABLE_BANK, index, enable);
-	raw_spin_unlock(&pdc_lock);
+	raw_spin_unlock_irqrestore(&pdc_lock, flags);
 }
 
 static void qcom_pdc_gic_mask(struct irq_data *d)
drivers/md/dm-crypt.c +1 -1
index a6a26f8e4d8e..3441ad140b58 100644
@@ -2107,7 +2107,7 @@ static int crypt_set_keyring_key(struct crypt_config *cc, const char *key_string
 
 static int get_key_size(char **key_string)
 {
-	return (*key_string[0] == ':') ? -EINVAL : strlen(*key_string) >> 1;
+	return (*key_string[0] == ':') ? -EINVAL : (int)(strlen(*key_string) >> 1);
 }
 
 #endif
drivers/md/dm-ioctl.c +2 -0
index 17cbad58834f..0aae4a46db66 100644
@@ -17,6 +17,7 @@
 #include <linux/dm-ioctl.h>
 #include <linux/hdreg.h>
 #include <linux/compat.h>
+#include <linux/nospec.h>
 
 #include <linux/uaccess.h>
 
@@ -1670,6 +1671,7 @@ static ioctl_fn lookup_ioctl(unsigned int cmd, int *ioctl_flags)
 	if (unlikely(cmd >= ARRAY_SIZE(_ioctls)))
 		return NULL;
 
+	cmd = array_index_nospec(cmd, ARRAY_SIZE(_ioctls));
 	*ioctl_flags = _ioctls[cmd].flags;
 	return _ioctls[cmd].fn;
 }
drivers/media/pci/cx88/cx88-mpeg.c +3 -0
index 52ff00ebd4bd..281eca525340 100644
@@ -171,6 +171,9 @@ int cx8802_start_dma(struct cx8802_dev    *dev,
 	cx_write(MO_TS_GPCNTRL, GP_COUNT_CONTROL_RESET);
 	q->count = 0;
 
+	/* clear interrupt status register */
+	cx_write(MO_TS_INTSTAT,  0x1f1111);
+
 	/* enable irqs */
 	dprintk(1, "setting the interrupt mask\n");
 	cx_set(MO_PCI_INTMSK, core->pci_irqmask | PCI_INT_TSINT);
drivers/media/platform/coda/coda-common.c +1 -0
index fccc771d23a5..5f8da544b98d 100644
@@ -376,6 +376,7 @@ static struct vdoa_data *coda_get_vdoa_data(void)
 	if (!vdoa_data)
 		vdoa_data = ERR_PTR(-EPROBE_DEFER);
 
+	put_device(&vdoa_pdev->dev);
 out:
 	if (vdoa_node)
 		of_node_put(vdoa_node);
drivers/media/platform/davinci/vpif.c +1 -0
index 16352e2263d2..00ce9f276bec 100644
@@ -496,6 +496,7 @@ static int vpif_probe(struct platform_device *pdev)
 
 static int vpif_remove(struct platform_device *pdev)
 {
+	pm_runtime_put(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
 	return 0;
 }
drivers/media/usb/em28xx/em28xx-cards.c +5 -8
index 06da08f8efdb..b14bff7b4ec8 100644
@@ -3822,6 +3822,8 @@ static int em28xx_usb_probe(struct usb_interface *intf,
 		goto err_free;
 	}
 
+	kref_init(&dev->ref);
+
 	dev->devno = nr;
 	dev->model = id->driver_info;
 	dev->alt   = -1;
@@ -3922,6 +3924,8 @@ static int em28xx_usb_probe(struct usb_interface *intf,
 	}
 
 	if (dev->board.has_dual_ts && em28xx_duplicate_dev(dev) == 0) {
+		kref_init(&dev->dev_next->ref);
+
 		dev->dev_next->ts = SECONDARY_TS;
 		dev->dev_next->alt   = -1;
 		dev->dev_next->is_audio_only = has_vendor_audio &&
@@ -3976,12 +3980,8 @@ static int em28xx_usb_probe(struct usb_interface *intf,
 			em28xx_write_reg(dev, 0x0b, 0x82);
 			mdelay(100);
 		}
-
-		kref_init(&dev->dev_next->ref);
 	}
 
-	kref_init(&dev->ref);
-
 	request_modules(dev);
 
 	/*
@@ -4036,11 +4036,8 @@ static void em28xx_usb_disconnect(struct usb_interface *intf)
 
 	em28xx_close_extension(dev);
 
-	if (dev->dev_next) {
-		em28xx_close_extension(dev->dev_next);
+	if (dev->dev_next)
 		em28xx_release_resources(dev->dev_next);
-	}
-
 	em28xx_release_resources(dev);
 
 	if (dev->dev_next) {
drivers/media/usb/go7007/s2250-board.c +4 -6
index 1466db150d82..625e77f4dbd2 100644
@@ -512,6 +512,7 @@ static int s2250_probe(struct i2c_client *client,
 	u8 *data;
 	struct go7007 *go = i2c_get_adapdata(adapter);
 	struct go7007_usb *usb = go->hpi_context;
+	int err = -EIO;
 
 	audio = i2c_new_dummy(adapter, TLV320_ADDRESS >> 1);
 	if (audio == NULL)
@@ -540,11 +541,8 @@ static int s2250_probe(struct i2c_client *client,
 		V4L2_CID_HUE, -512, 511, 1, 0);
 	sd->ctrl_handler = &state->hdl;
 	if (state->hdl.error) {
-		int err = state->hdl.error;
-
-		v4l2_ctrl_handler_free(&state->hdl);
-		kfree(state);
-		return err;
+		err = state->hdl.error;
+		goto fail;
 	}
 
 	state->std = V4L2_STD_NTSC;
@@ -608,7 +606,7 @@ static int s2250_probe(struct i2c_client *client,
 	i2c_unregister_device(audio);
 	v4l2_ctrl_handler_free(&state->hdl);
 	kfree(state);
-	return -EIO;
+	return err;
 }
 
 static int s2250_remove(struct i2c_client *client)
drivers/media/usb/hdpvr/hdpvr-video.c +3 -1
index 0615996572e4..ce46f8721470 100644
@@ -312,7 +312,6 @@ static int hdpvr_start_streaming(struct hdpvr_device *dev)
 
 	dev->status = STATUS_STREAMING;
 
-	INIT_WORK(&dev->worker, hdpvr_transmit_buffers);
 	schedule_work(&dev->worker);
 
 	v4l2_dbg(MSG_BUFFER, hdpvr_debug, &dev->v4l2_dev,
@@ -1175,6 +1174,9 @@ int hdpvr_register_videodev(struct hdpvr_device *dev, struct device *parent,
 	bool ac3 = dev->flags & HDPVR_FLAG_AC3_CAP;
 	int res;
 
+	// initialize dev->worker
+	INIT_WORK(&dev->worker, hdpvr_transmit_buffers);
+
 	dev->cur_std = V4L2_STD_525_60;
 	dev->width = 720;
 	dev->height = 480;
drivers/media/usb/stk1160/stk1160-core.c +1 -1
index bb0db4cdc6c7..271994bfe9c5 100644
@@ -413,7 +413,7 @@ static void stk1160_disconnect(struct usb_interface *interface)
 	/* Here is the only place where isoc get released */
 	stk1160_uninit_isoc(dev);
 
-	stk1160_clear_queue(dev);
+	stk1160_clear_queue(dev, VB2_BUF_STATE_ERROR);
 
 	video_unregister_device(&dev->vdev);
 	v4l2_device_disconnect(&dev->v4l2_dev);
drivers/media/usb/stk1160/stk1160-v4l.c +5 -5
index 504e413edcd2..381f9f189bb7 100644
@@ -269,7 +269,7 @@ static int stk1160_start_streaming(struct stk1160 *dev)
 	stk1160_uninit_isoc(dev);
 out_stop_hw:
 	usb_set_interface(dev->udev, 0, 0);
-	stk1160_clear_queue(dev);
+	stk1160_clear_queue(dev, VB2_BUF_STATE_QUEUED);
 
 	mutex_unlock(&dev->v4l_lock);
 
@@ -317,7 +317,7 @@ static int stk1160_stop_streaming(struct stk1160 *dev)
 
 	stk1160_stop_hw(dev);
 
-	stk1160_clear_queue(dev);
+	stk1160_clear_queue(dev, VB2_BUF_STATE_ERROR);
 
 	stk1160_dbg("streaming stopped\n");
 
@@ -762,7 +762,7 @@ static const struct video_device v4l_template = {
 /********************************************************************/
 
 /* Must be called with both v4l_lock and vb_queue_lock hold */
-void stk1160_clear_queue(struct stk1160 *dev)
+void stk1160_clear_queue(struct stk1160 *dev, enum vb2_buffer_state vb2_state)
 {
 	struct stk1160_buffer *buf;
 	unsigned long flags;
@@ -773,7 +773,7 @@ void stk1160_clear_queue(struct stk1160 *dev)
 		buf = list_first_entry(&dev->avail_bufs,
 			struct stk1160_buffer, list);
 		list_del(&buf->list);
-		vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+		vb2_buffer_done(&buf->vb.vb2_buf, vb2_state);
 		stk1160_dbg("buffer [%p/%d] aborted\n",
 			    buf, buf->vb.vb2_buf.index);
 	}
@@ -783,7 +783,7 @@ void stk1160_clear_queue(struct stk1160 *dev)
 		buf = dev->isoc_ctl.buf;
 		dev->isoc_ctl.buf = NULL;
 
-		vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+		vb2_buffer_done(&buf->vb.vb2_buf, vb2_state);
 		stk1160_dbg("buffer [%p/%d] aborted\n",
 			    buf, buf->vb.vb2_buf.index);
 	}
drivers/media/usb/stk1160/stk1160.h +1 -1
index acd1c811db08..54a046aacd33 100644
@@ -177,7 +177,7 @@ struct regval {
 int stk1160_vb2_setup(struct stk1160 *dev);
 int stk1160_video_register(struct stk1160 *dev);
 void stk1160_video_unregister(struct stk1160 *dev);
-void stk1160_clear_queue(struct stk1160 *dev);
+void stk1160_clear_queue(struct stk1160 *dev, enum vb2_buffer_state vb2_state);
 
 /* Provided by stk1160-video.c */
 int stk1160_alloc_isoc(struct stk1160 *dev);
drivers/memory/emif.c +5 -3
index 1c6b2cc6269a..45f78b38b0da 100644
@@ -1425,7 +1425,7 @@ static struct emif_data *__init_or_module get_device_details(
 	temp	= devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
 	dev_info = devm_kzalloc(dev, sizeof(*dev_info), GFP_KERNEL);
 
-	if (!emif || !pd || !dev_info) {
+	if (!emif || !temp || !dev_info) {
 		dev_err(dev, "%s:%d: allocation error\n", __func__, __LINE__);
 		goto error;
 	}
@@ -1517,7 +1517,7 @@ static int __init_or_module emif_probe(struct platform_device *pdev)
 {
 	struct emif_data	*emif;
 	struct resource		*res;
-	int			irq;
+	int			irq, ret;
 
 	if (pdev->dev.of_node)
 		emif = of_get_memory_device_details(pdev->dev.of_node, &pdev->dev);
@@ -1551,7 +1551,9 @@ static int __init_or_module emif_probe(struct platform_device *pdev)
 	emif_onetime_settings(emif);
 	emif_debugfs_init(emif);
 	disable_and_clear_all_interrupts(emif);
-	setup_interrupts(emif, irq);
+	ret = setup_interrupts(emif, irq);
+	if (ret)
+		goto error;
 
 	/* One-time actions taken on probing the first device */
 	if (!emif1) {
drivers/mfd/asic3.c +7 -3
index 1531302a50ec..75584cee0da5 100644
@@ -918,14 +918,14 @@ static int __init asic3_mfd_probe(struct platform_device *pdev,
 		ret = mfd_add_devices(&pdev->dev, pdev->id,
 			&asic3_cell_ds1wm, 1, mem, asic->irq_base, NULL);
 		if (ret < 0)
-			goto out;
+			goto out_unmap;
 	}
 
 	if (mem_sdio && (irq >= 0)) {
 		ret = mfd_add_devices(&pdev->dev, pdev->id,
 			&asic3_cell_mmc, 1, mem_sdio, irq, NULL);
 		if (ret < 0)
-			goto out;
+			goto out_unmap;
 	}
 
 	ret = 0;
@@ -939,8 +939,12 @@ static int __init asic3_mfd_probe(struct platform_device *pdev,
 		ret = mfd_add_devices(&pdev->dev, 0,
 			asic3_cell_leds, ASIC3_NUM_LEDS, NULL, 0, NULL);
 	}
+	return ret;
 
- out:
+out_unmap:
+	if (asic->tmio_cnf)
+		iounmap(asic->tmio_cnf);
+out:
 	return ret;
 }
 
drivers/mfd/mc13xxx-core.c +3 -1
index d0bf50e3568d..dcbb969af5f4 100644
@@ -326,8 +326,10 @@ int mc13xxx_adc_do_conversion(struct mc13xxx *mc13xxx, unsigned int mode,
 		adc1 |= MC13783_ADC1_ATOX;
 
 	dev_dbg(mc13xxx->dev, "%s: request irq\n", __func__);
-	mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_ADCDONE,
+	ret = mc13xxx_irq_request(mc13xxx, MC13XXX_IRQ_ADCDONE,
 			mc13xxx_handler_adcdone, __func__, &adcdone_data);
+	if (ret)
+		goto out;
 
 	mc13xxx_reg_write(mc13xxx, MC13XXX_ADC0, adc0);
 	mc13xxx_reg_write(mc13xxx, MC13XXX_ADC1, adc1);
drivers/misc/kgdbts.c +2 -2
index 49e08b6133f5..bc4dc92af1f6 100644
@@ -1072,10 +1072,10 @@ static int kgdbts_option_setup(char *opt)
 {
 	if (strlen(opt) >= MAX_CONFIG_LEN) {
 		printk(KERN_ERR "kgdbts: config string too long\n");
-		return -ENOSPC;
+		return 1;
 	}
 	strcpy(config, opt);
-	return 0;
+	return 1;
 }
 
 __setup("kgdbts=", kgdbts_option_setup);
drivers/mmc/core/host.c +13 -2
index dd1c14d8f686..9de8a3553d42 100644
@@ -413,6 +413,16 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
 
 EXPORT_SYMBOL(mmc_alloc_host);
 
+static int mmc_validate_host_caps(struct mmc_host *host)
+{
+	if (host->caps & MMC_CAP_SDIO_IRQ && !host->ops->enable_sdio_irq) {
+		dev_warn(host->parent, "missing ->enable_sdio_irq() ops\n");
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
 /**
  *	mmc_add_host - initialise host hardware
  *	@host: mmc host
@@ -425,8 +435,9 @@ int mmc_add_host(struct mmc_host *host)
 {
 	int err;
 
-	WARN_ON((host->caps & MMC_CAP_SDIO_IRQ) &&
-		!host->ops->enable_sdio_irq);
+	err = mmc_validate_host_caps(host);
+	if (err)
+		return err;
 
 	err = device_add(&host->class_dev);
 	if (err)
drivers/mmc/host/davinci_mmc.c +5 -1
index e6f14257a7d0..70d04962f53a 100644
@@ -1389,8 +1389,12 @@ static int davinci_mmcsd_suspend(struct device *dev)
 static int davinci_mmcsd_resume(struct device *dev)
 {
 	struct mmc_davinci_host *host = dev_get_drvdata(dev);
+	int ret;
+
+	ret = clk_enable(host->clk);
+	if (ret)
+		return ret;
 
-	clk_enable(host->clk);
 	mmc_davinci_reset_ctrl(host, 0);
 
 	return 0;
drivers/mmc/host/renesas_sdhi_core.c +2 -2
index e8ab582551f8..eabfcb5bbaff 100644
@@ -302,10 +302,10 @@ static void renesas_sdhi_hs400_complete(struct tmio_mmc_host *host)
 			SH_MOBILE_SDHI_SCC_TMPPORT2_HS400OSEL) |
 			sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_TMPPORT2));
 
-	/* Set the sampling clock selection range of HS400 mode */
 	sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_DTCNTL,
 		       SH_MOBILE_SDHI_SCC_DTCNTL_TAPEN |
-		       0x4 << SH_MOBILE_SDHI_SCC_DTCNTL_TAPNUM_SHIFT);
+		       sd_scc_read32(host, priv,
+				     SH_MOBILE_SDHI_SCC_DTCNTL));
 
 
 	if (host->pdata->flags & TMIO_MMC_HAVE_4TAP_HS400)
drivers/mmc/host/sdhci-xenon.c +0 -10
index ca34fa424634..bd7d15936836 100644
@@ -243,16 +243,6 @@ static void xenon_voltage_switch(struct sdhci_host *host)
 {
 	/* Wait for 5ms after set 1.8V signal enable bit */
 	usleep_range(5000, 5500);
-
-	/*
-	 * For some reason the controller's Host Control2 register reports
-	 * the bit representing 1.8V signaling as 0 when read after it was
-	 * written as 1. Subsequent read reports 1.
-	 *
-	 * Since this may cause some issues, do an empty read of the Host
-	 * Control2 register here to circumvent this.
-	 */
-	sdhci_readw(host, SDHCI_HOST_CONTROL2);
 }
 
 static const struct sdhci_ops sdhci_xenon_ops = {
drivers/mtd/nand/onenand/generic.c +6 -1
index acad17ec6581..bfb5cee1b472 100644
@@ -56,7 +56,12 @@ static int generic_onenand_probe(struct platform_device *pdev)
 	}
 
 	info->onenand.mmcontrol = pdata ? pdata->mmcontrol : NULL;
-	info->onenand.irq = platform_get_irq(pdev, 0);
+
+	err = platform_get_irq(pdev, 0);
+	if (err < 0)
+		goto out_iounmap;
+
+	info->onenand.irq = err;
 
 	info->mtd.dev.parent = &pdev->dev;
 	info->mtd.priv = &info->onenand;
drivers/mtd/nand/raw/atmel/nand-controller.c +11 -3
index 788762930487..b2ffd22fec31 100644
@@ -1984,13 +1984,15 @@ static int atmel_nand_controller_init(struct atmel_nand_controller *nc,
 	nc->mck = of_clk_get(dev->parent->of_node, 0);
 	if (IS_ERR(nc->mck)) {
 		dev_err(dev, "Failed to retrieve MCK clk\n");
-		return PTR_ERR(nc->mck);
+		ret = PTR_ERR(nc->mck);
+		goto out_release_dma;
 	}
 
 	np = of_parse_phandle(dev->parent->of_node, "atmel,smc", 0);
 	if (!np) {
 		dev_err(dev, "Missing or invalid atmel,smc property\n");
-		return -EINVAL;
+		ret = -EINVAL;
+		goto out_release_dma;
 	}
 
 	nc->smc = syscon_node_to_regmap(np);
@@ -1998,10 +2000,16 @@ static int atmel_nand_controller_init(struct atmel_nand_controller *nc,
 	if (IS_ERR(nc->smc)) {
 		ret = PTR_ERR(nc->smc);
 		dev_err(dev, "Could not get SMC regmap (err = %d)\n", ret);
-		return ret;
+		goto out_release_dma;
 	}
 
 	return 0;
+
+out_release_dma:
+	if (nc->dmac)
+		dma_release_channel(nc->dmac);
+
+	return ret;
 }
 
 static int
drivers/mtd/ubi/build.c +1 -8
index c120c8761fcd..1ea3a4977c61 100644
@@ -363,9 +363,6 @@ static ssize_t dev_attribute_show(struct device *dev,
 	 * we still can use 'ubi->ubi_num'.
 	 */
 	ubi = container_of(dev, struct ubi_device, dev);
-	ubi = ubi_get_device(ubi->ubi_num);
-	if (!ubi)
-		return -ENODEV;
 
 	if (attr == &dev_eraseblock_size)
 		ret = sprintf(buf, "%d\n", ubi->leb_size);
@@ -394,7 +391,6 @@ static ssize_t dev_attribute_show(struct device *dev,
 	else
 		ret = -EINVAL;
 
-	ubi_put_device(ubi);
 	return ret;
 }
 
@@ -969,9 +965,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
 			goto out_detach;
 	}
 
-	/* Make device "available" before it becomes accessible via sysfs */
-	ubi_devices[ubi_num] = ubi;
-
 	err = uif_init(ubi);
 	if (err)
 		goto out_detach;
@@ -1016,6 +1009,7 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
 	wake_up_process(ubi->bgt_thread);
 	spin_unlock(&ubi->wl_lock);
 
+	ubi_devices[ubi_num] = ubi;
 	ubi_notify_all(ubi, UBI_VOLUME_ADDED, NULL);
 	return ubi_num;
 
@@ -1024,7 +1018,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
 out_uif:
 	uif_close(ubi);
 out_detach:
-	ubi_devices[ubi_num] = NULL;
 	ubi_wl_close(ubi);
 	ubi_free_internal_volumes(ubi);
 	vfree(ubi->vtbl);
drivers/mtd/ubi/fastmap.c +19 -9
index b88ef875236c..d45c1d6587d1 100644
@@ -477,7 +477,9 @@ static int scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai,
 			if (err == UBI_IO_FF_BITFLIPS)
 				scrub = 1;
 
-			add_aeb(ai, free, pnum, ec, scrub);
+			ret = add_aeb(ai, free, pnum, ec, scrub);
+			if (ret)
+				goto out;
 			continue;
 		} else if (err == 0 || err == UBI_IO_BITFLIPS) {
 			dbg_bld("Found non empty PEB:%i in pool", pnum);
@@ -647,8 +649,10 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
 		if (fm_pos >= fm_size)
 			goto fail_bad;
 
-		add_aeb(ai, &ai->free, be32_to_cpu(fmec->pnum),
-			be32_to_cpu(fmec->ec), 0);
+		ret = add_aeb(ai, &ai->free, be32_to_cpu(fmec->pnum),
+			      be32_to_cpu(fmec->ec), 0);
+		if (ret)
+			goto fail;
 	}
 
 	/* read EC values from used list */
@@ -658,8 +662,10 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
 		if (fm_pos >= fm_size)
 			goto fail_bad;
 
-		add_aeb(ai, &used, be32_to_cpu(fmec->pnum),
-			be32_to_cpu(fmec->ec), 0);
+		ret = add_aeb(ai, &used, be32_to_cpu(fmec->pnum),
+			      be32_to_cpu(fmec->ec), 0);
+		if (ret)
+			goto fail;
 	}
 
 	/* read EC values from scrub list */
@@ -669,8 +675,10 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
 		if (fm_pos >= fm_size)
 			goto fail_bad;
 
-		add_aeb(ai, &used, be32_to_cpu(fmec->pnum),
-			be32_to_cpu(fmec->ec), 1);
+		ret = add_aeb(ai, &used, be32_to_cpu(fmec->pnum),
+			      be32_to_cpu(fmec->ec), 1);
+		if (ret)
+			goto fail;
 	}
 
 	/* read EC values from erase list */
@@ -680,8 +688,10 @@ static int ubi_attach_fastmap(struct ubi_device *ubi,
 		if (fm_pos >= fm_size)
 			goto fail_bad;
 
-		add_aeb(ai, &ai->erase, be32_to_cpu(fmec->pnum),
-			be32_to_cpu(fmec->ec), 1);
+		ret = add_aeb(ai, &ai->erase, be32_to_cpu(fmec->pnum),
+			      be32_to_cpu(fmec->ec), 1);
+		if (ret)
+			goto fail;
 	}
 
 	ai->mean_ec = div_u64(ai->ec_sum, ai->ec_count);
drivers/mtd/ubi/vmt.c +1 -7
index 729588b94e41..d0c6b66b7450 100644
@@ -69,16 +69,11 @@ static ssize_t vol_attribute_show(struct device *dev,
 {
[… more lines in the raw message]

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

drivers/net/can/usb/ems_usb.c +0 -1
index 3957b746107f..31a070226353 100644

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

drivers/net/can/usb/mcba_usb.c +16 -11
index 097d4a673b05..ea1de06009d6 100644

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

drivers/net/can/vxcan.c +1 -1
index ccd758ba3fb0..8197f04aa8b6 100644

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

drivers/net/ethernet/8390/mcf8390.c +5 -5
index 4ad8031ab669..065fdbe66c42 100644

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

drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +1 -3
index e75a47a9f511..deba77670b1c 100644

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

drivers/net/ethernet/qlogic/qed/qed_sriov.c +27 -2
index 285231bc318b..402c1c3d84ce 100644

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

drivers/net/ethernet/qlogic/qed/qed_sriov.h +1 -0
index 9a8fd79611f2..853be06bccdf 100644

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

drivers/net/ethernet/qlogic/qede/qede_fp.c +3 -0
index 9d5c2e31dfe9..6a1a7d37dfd7 100644

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

drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h +5 -5
index f4aa6331b367..0a9d24e86715 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +1 -2
index 05f5084158bf..9762e687fc73 100644

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

drivers/net/ethernet/sun/sunhme.c +5 -1
index 06da2f59fcbf..882908e74cc9 100644

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

drivers/net/hamradio/6pack.c +2 -2
index af776d7be780..29431e3eebee 100644

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

drivers/net/macvtap.c +6 -0
index 9a10029caf83..085f1648a8a6 100644

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

drivers/net/phy/broadcom.c +21 -0
index e86ea105c802..94622d119abc 100644

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

drivers/net/wireless/ath/ath10k/wow.c +4 -3
index a6b179f88d36..1d44227d107d 100644

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

drivers/net/wireless/ath/ath5k/eeprom.c +3 -0
index 94d34ee02265..01163b333945 100644

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

drivers/net/wireless/ath/ath9k/htc_hst.c +5 -0
index 05fca38b38ed..e37de14bc502 100644

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

drivers/net/wireless/ath/carl9170/main.c +1 -1
index 7064e6fc5dbb..ab78707467f4 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +2 -0
index 9927079a9ace..4e5a6c311d1a 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +4 -44

48 lines not on this page · raw message

drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c +1 -1
index 82caae02dd09..f2e0cfa2f4a2 100644

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

drivers/net/wireless/ray_cs.c +6 -0
index 08c607c031bc..8704bae39e1b 100644

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

drivers/parisc/dino.c +33 -8

41 lines not on this page · raw message

drivers/parisc/gsc.c +31 -0
index 1bab5a2cd359..a0cae6194591 100644

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

drivers/parisc/gsc.h +1 -0
index b9d7bfb68e24..9a364a4d09a5 100644

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

drivers/parisc/lasi.c +3 -4
index 4c9225431500..07ac0b8ee4fe 100644

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

drivers/parisc/wax.c +3 -4
index 6a3e40702b3b..5c42bfa83398 100644

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

drivers/pci/access.c +6 -3
index 3c8ffd62dc00..98ee5f05fc0f 100644

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

drivers/pci/controller/pci-aardvark.c +6 -10
index e6d60fa2217d..db778a25bae3 100644

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

drivers/pci/hotplug/pciehp_hpc.c +4 -0
index 53227232243f..2795445233b3 100644

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

drivers/perf/qcom_l2_pmu.c +3 -3
index 842135cf35a3..be6ac55e99af 100644

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

drivers/pinctrl/mediatek/pinctrl-mtk-common.c +2 -0
index 16ff56f93501..64fa544ac850 100644

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

drivers/pinctrl/nomadik/pinctrl-nomadik.c +3 -1
index f0e7a8c114b2..415e91360994 100644

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

drivers/pinctrl/pinconf-generic.c +3 -3
index b4f7f8a458ea..55b56440a5a8 100644

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

drivers/pinctrl/pinctrl-rockchip.c +2 -0
index d0d5b8bdbc10..dc405d7aa1b7 100644

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

drivers/pinctrl/samsung/pinctrl-samsung.c +23 -7
index 82407e4a1642..41f953661dd6 100644

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

drivers/power/reset/gemini-poweroff.c +2 -2
index 90e35c07240a..b7f7a8225f22 100644

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

drivers/power/supply/ab8500_fg.c +3 -1
index b0e77324b016..675f9d0e8471 100644

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

drivers/power/supply/axp20x_battery.c +6 -7
index e84b6e4da14a..9fda98b950ba 100644

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

drivers/power/supply/bq24190_charger.c +6 -1
index 863208928cf0..c830343be61e 100644

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

drivers/power/supply/wm8350_power.c +83 -14

97 lines not on this page · raw message

drivers/ptp/ptp_sysfs.c +2 -2
index 48401dfcd999..f97a5eefa2e2 100644

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

drivers/pwm/pwm-lpc18xx-sct.c +9 -11
index d7f5f7de030d..8b3aad06e236 100644

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

drivers/regulator/qcom_smd-regulator.c +3 -1
index 8d920a3ad40b..3c6d6afd419e 100644

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

drivers/remoteproc/qcom_wcnss.c +1 -0
index b0e07e9f42d5..6cc0f9a5533e 100644

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

drivers/rtc/rtc-wm8350.c +9 -2
index 483c7993516b..ed874e5c5fc8 100644

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

drivers/scsi/aha152x.c +2 -4
index 4d7b0e0adbf7..2690098d4411 100644

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

drivers/scsi/bfa/bfad_attr.c +13 -13
index 3b84290cf0a7..eaab423a5fd0 100644

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

drivers/scsi/libfc/fc_exch.c +1 -0
index 384458d1f73c..9fa0aa235cb4 100644

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

drivers/scsi/libsas/sas_ata.c +1 -1
index e032af654733..685d7a16bcd4 100644

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

drivers/scsi/mvsas/mv_init.c +2 -2
index 98d6608068ab..9c48394ac68a 100644

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

drivers/scsi/pm8001/pm8001_hwi.c +7 -6
index 3e814c0469fb..d532230c62f3 100644

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

drivers/scsi/pm8001/pm80xx_hwi.c +7 -4
index c63b5db435c5..d655f72db51d 100644

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

drivers/scsi/qla2xxx/qla_def.h +4 -0
index 47835d26a973..300ef2e2ae5a 100644

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

drivers/scsi/qla2xxx/qla_gs.c +2 -3
index c3195d4c25e5..ba695d648209 100644

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

drivers/scsi/qla2xxx/qla_init.c +32 -8
index 613e5467b4bc..1e3169e3ccbf 100644

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

drivers/scsi/qla2xxx/qla_isr.c +1 -0
index f9b3151f4b10..9c7af5e1dfb0 100644

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

drivers/scsi/qla2xxx/qla_target.c +1 -0
index 5fbac85d7adf..09c52ef66887 100644

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

drivers/scsi/zorro7xx.c +2 -0
index aff31991aea9..ee6d97473853 100644

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

drivers/soc/ti/wkup_m3_ipc.c +2 -2
index c1fda6acb670..8358b97505db 100644

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

drivers/spi/spi-bcm-qspi.c +2 -2
index 82c24c85f45b..3f291db7b39a 100644

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

drivers/spi/spi-pxa2xx-pci.c +16 -1
index 1736a48bbcce..54e316eb0891 100644

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

drivers/spi/spi-tegra114.c +4 -0
index c510b53e5e3f..a8264f880b76 100644

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

drivers/spi/spi-tegra20-slink.c +1 -7
index bc3097e5cc26..436d559503db 100644

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

drivers/spi/spi.c +2 -2
index 49f592e433a8..3bcd6f178f73 100644

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

drivers/staging/iio/adc/ad7280a.c +2 -2
index 6a48ad067a8b..15422d82f812 100644

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

drivers/thermal/int340x_thermal/int3400_thermal.c +1 -1
index 77967da5d406..68393c3c103a 100644

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

drivers/tty/hvc/hvc_iucv.c +3 -1
index 2af1e5751bd6..796fbff623f6 100644

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

drivers/tty/mxser.c +11 -4
index 8bc15cb67a58..88eb90361a89 100644

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

drivers/tty/serial/8250/8250_mid.c +15 -4
index efa0515139f8..e6c1791609dd 100644

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

drivers/tty/serial/8250/8250_port.c +12 -0
index 39e821d6e537..5ec50ccfbec9 100644

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

drivers/tty/serial/kgdboc.c +3 -3
index b0aa864f84a9..6e81d782d8a0 100644

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

drivers/tty/serial/samsung.c +1 -4
index 1528a7ba2bf4..49661cef5469 100644

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

drivers/usb/dwc3/dwc3-omap.c +1 -1
index 0dfb710f48b5..0b800bc6150d 100644

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

drivers/usb/host/ehci-pci.c +9 -0
index 56e6fd0f0482..42ace9f92ce9 100644

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

drivers/usb/host/xhci-hub.c +1 -1
index cf5af8592f3d..1bb48e53449e 100644

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

drivers/usb/host/xhci-mem.c +1 -1
index fb47caf929de..798823ce2b34 100644

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

drivers/usb/host/xhci.c +9 -11
index 353a57f51522..ab255144e5a7 100644

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

drivers/usb/host/xhci.h +5 -2
index dfc914713704..3e6cb257fde5 100644

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

drivers/usb/serial/Kconfig +1 -0
index 533f127c30ad..22fe96d5d149 100644

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

drivers/usb/serial/pl2303.c +1 -0
index 7df0fbede21b..2e8cb6d8ba41 100644

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

drivers/usb/serial/pl2303.h +3 -0
index 3e5442573fe4..15f746e977a7 100644

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

drivers/usb/serial/usb-serial-simple.c +7 -0
index bd23a7cb1be2..4c6747889a19 100644

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

drivers/usb/storage/ene_ub6250.c +76 -79

155 lines not on this page · raw message

drivers/usb/storage/realtek_cr.c +1 -1
index 1d9ce9cbc831..9c2a1eda3f4f 100644

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

drivers/video/fbdev/atafb.c +6 -6
index fcd2dd670a65..770f77055682 100644

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

drivers/video/fbdev/cirrusfb.c +8 -8
index b3be06dd2908..72358d187023 100644

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

drivers/video/fbdev/core/fbcvt.c +21 -32

53 lines not on this page · raw message

drivers/video/fbdev/nvidia/nv_i2c.c +1 -1
index d7994a173245..0b48965a6420 100644

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

drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c +1 -0
index 06e1db34541e..41b0db0cc047 100644

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

drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c +4 -4
index 87497a00241f..1c57ddaeff1b 100644

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

drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c +1 -1
index f2c2fef3db74..87c4f420a9d9 100644

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

drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c +2 -2
index ea8c79a42b41..3f1389bfba6f 100644

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

drivers/video/fbdev/sm712fb.c +11 -35

46 lines not on this page · raw message

drivers/video/fbdev/smscufx.c +1 -2
index 22b606af0a87..da54a84d2e62 100644

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

drivers/video/fbdev/udlfb.c +4 -4
index f7823aa99340..08a694e9383f 100644

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

drivers/video/fbdev/w100fb.c +12 -3
index 967030176d87..307066113c35 100644

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

drivers/w1/slaves/w1_therm.c +6 -2
index 3c350dfbcd0b..aba727294bc8 100644

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

fs/btrfs/extent_io.h +1 -1
index d5089cadd7c4..35a21a602e3a 100644

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

fs/ext2/super.c +5 -1
index 80a3038e0e46..ad9fd08f66ba 100644

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

fs/ext4/inode.c +25 -0
index 7959aae4857e..96cf0f57ca95 100644

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

fs/f2fs/gc.c +3 -1
index bd377ff0b403..ff447bbb5248 100644

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

fs/fuse/dev.c +11 -1
index d1dc54530252..a5144ecd5bab 100644

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

fs/fuse/file.c +1 -0
index ed9b3ebc0cca..599a6eeed02e 100644

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

fs/fuse/fuse_i.h +2 -0
index 853d37ec81e0..1c754a02fb06 100644

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

fs/gfs2/rgrp.c +2 -1
index 054fdfd4fb8b..29dcf0973b73 100644

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

fs/jffs2/build.c +3 -1
index b288c8ae1236..837cd55fd4c5 100644

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

fs/jffs2/fs.c +1 -1
index eab04eca95a3..81f7a6efe168 100644

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

fs/jffs2/scan.c +4 -2
index 08813789fcf0..664384dac6e5 100644

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

fs/jfs/inode.c +2 -1
index 87b41edc800d..68779cc3609a 100644

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

fs/jfs/jfs_dmap.c +7 -0
index 687b07b9b4f6..f05805a10a50 100644

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

fs/minix/inode.c +2 -1
index 03fe8bac36cf..3ce91ad1ee1b 100644

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

fs/nfs/callback_proc.c +9 -18
index 868d66ed8bcf..f2a854805f0e 100644

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

fs/nfs/callback_xdr.c +0 -4
index 76aa1b456c52..2f84c612838c 100644

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

fs/nfs/direct.c +32 -16

48 lines not on this page · raw message

fs/nfs/file.c +2 -2
index 29553fdba8af..62a86c414391 100644

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

fs/nfs/nfs4state.c +12 -0
index 9c98547fcefc..30576a10a1f4 100644

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

fs/nfs/pnfs.c +11 -0
index c900cb2119ba..0f1c15859418 100644

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

fs/nfs/pnfs.h +2 -0
index 80fafa29e567..d5d818b1ac9d 100644

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

fs/nfsd/nfsproc.c +1 -1
index 01f7ce1ae127..bce1cc686eb5 100644

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

fs/nfsd/xdr.h +1 -1
index ea7cca3a64b7..6251d8754c82 100644

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

fs/ntfs/inode.c +4 -0
index e844b43f2eac..0acd1f02b146 100644

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

fs/ubifs/dir.c +28 -16

44 lines not on this page · raw message

fs/ubifs/io.c +30 -4
index 9542ebf643a5..0ad819c904df 100644

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

fs/ubifs/ioctl.c +1 -1
index e666459f63c7..3fca4f741412 100644

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

include/linux/blk-cgroup.h +17 -0
index 6d766a19f2bb..8f1be8b49391 100644

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

include/linux/blkdev.h +8 -0
index 209ba8e7bd31..56fe682d9beb 100644

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

include/linux/mmzone.h +7 -4
index fa02014eba8e..b4084b6ed541 100644

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

include/linux/netdevice.h +4 -2
index 58ee9d2d6a3c..8d48b352ee74 100644

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

include/linux/nfs_fs.h +4 -4
index 0ff7dd2bf8a4..8ea7ceed8285 100644

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

include/linux/pci.h +1 -0
index a4bbce871e08..3e06e9790c25 100644

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

include/linux/sunrpc/xdr.h +2 -0
index 33580cc72a43..8e3d35189bf8 100644

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

include/net/arp.h +1 -0
index c8f580a0e6b1..dc6e9dd3e1e6 100644

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

include/net/sock.h +21 -4
index 2bf8dcf863f2..7d3a4c2eea95 100644

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

include/net/xfrm.h +7 -4
index a8aa2bb74ad6..6b18cd0e511a 100644

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

include/uapi/linux/bpf.h +2 -2
index 8481fc7676c0..6334aede67fc 100644

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

init/main.c +4 -2
index 7baad67c2e93..272ec131211c 100644

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

kernel/cgroup/cgroup-internal.h +19 -0
index 75568fcf2180..8f7729b0a638 100644

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

kernel/cgroup/cgroup-v1.c +18 -15
index ced2b3f3547c..61644976225a 100644

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

kernel/cgroup/cgroup.c +58 -23

81 lines not on this page · raw message

kernel/dma/debug.c +2 -2
index 1c82b0d25498..9c9a5b12f92f 100644

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

kernel/events/core.c +3 -0
index 2adde229d1af..ec2f9e433208 100644

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

kernel/power/hibernate.c +1 -1
index 6670a44ec5d4..6abdfdf571ee 100644

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

kernel/power/suspend_test.c +4 -4
index 6a897e8b2a88..3f6345d60256 100644

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

kernel/printk/printk.c +4 -2
index 57742e193214..2ba16c426ba5 100644

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

kernel/ptrace.c +32 -15

47 lines not on this page · raw message

kernel/sched/debug.c +0 -10
index 9518606fa1e5..b1ef4f2e7edc 100644

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

lib/raid6/test/Makefile +3 -1
index 79777645cac9..e7b54ec8ca70 100644

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

lib/raid6/test/test.c +0 -1
index b07f4d8e6b03..a7e937248299 100644

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

lib/test_kmod.c +1 -0
index 87a0cc750ea2..6813b183aa34 100644

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

mm/memcontrol.c +1 -1
index 87cd5bf1b487..f3aa6e6214d5 100644

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

mm/memory.c +32 -10

42 lines not on this page · raw message

mm/mempolicy.c +2 -7
index 3cd27c1c729f..5ada8897ef0e 100644

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

mm/mmap.c +1 -1
index f875386e7acd..bb8ba3258945 100644

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

mm/mremap.c +3 -0
index 33d8bbe24ddd..3cf9d77b3334 100644

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

mm/page_alloc.c +8 -1
index afcaa657a022..1a39fd6a73b8 100644

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

mm/rmap.c +24 -1
index 699f445e3e78..e578eb942317 100644

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

mm/usercopy.c +4 -1
index e81d11715d95..a65fbc628215 100644

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

net/bluetooth/hci_event.c +2 -1
index 196d0d832007..dd7bf437d88e 100644

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

net/can/raw.c +1 -1
index d0fb5a57c66d..2a6db8752b61 100644

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

net/ipv4/arp.c +7 -2
index e90c89ef8c08..b18b2a3c54ad 100644

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

net/ipv4/fib_frontend.c +4 -1
index 70e5e9e5d835..1885a2fbad86 100644

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

net/ipv4/raw.c +1 -1
index 8cae691c3c9f..654f586fc0d7 100644

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

net/ipv4/tcp_output.c +4 -1
index c97c027a8d77..97c3b616d594 100644

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

net/ipv6/raw.c +1 -1
index 98c8f98a7660..ad7bd40b6d53 100644

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

net/ipv6/xfrm6_output.c +16 -0
index b5941c9475f3..fbcec4827071 100644

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

net/key/af_key.c +3 -3
index 388910cf0978..a416c0f90056 100644

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

net/netfilter/nf_conntrack_proto_tcp.c +13 -4
index 40f8a1252394..66cda5e2d6b9 100644

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

net/netlink/af_netlink.c +2 -0
index a7497361e4d7..5c6241964637 100644

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

net/openvswitch/actions.c +1 -1
index 100cc09c100d..8b75afe41284 100644

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

net/openvswitch/flow_netlink.c +5 -3
index eab5e8eaddaa..4413ffdc1e03 100644

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

net/packet/af_packet.c +3 -3
index d65051959f85..b951f411dded 100644

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

net/rxrpc/net_ns.c +1 -1
index 417d80867c4f..1b403c2573da 100644

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

net/smc/smc_core.c +1 -1
index 6add3094ea9e..4d421407d6fc 100644

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

net/sunrpc/sched.c +3 -1
index e339f8da1b0a..e36ae4d4b540 100644

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

net/sunrpc/xprt.c +7 -0
index 9c4235ce5789..d05fa7c36d00 100644

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

net/sunrpc/xprtrdma/transport.c +3 -1
index fdd14908eacb..e87a79be7ef0 100644

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

net/x25/af_x25.c +8 -3
index f87002792836..77d8adb27ec7 100644

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

net/xfrm/xfrm_interface.c +4 -1
index 1ae8caca28a0..3c642328a117 100644

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

net/xfrm/xfrm_policy.c +13 -19
index ab6d0c6576a6..bb1c94e20e82 100644

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

net/xfrm/xfrm_user.c +11 -7
index 3db5cd70b16a..94c7ebc26c48 100644

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

security/selinux/xfrm.c +1 -1
index 91dc3783ed94..9e803d2a687a 100644

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

security/smack/smack_lsm.c +1 -1
index 221de4c755c3..4f65d953fe31 100644

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

security/tomoyo/load_policy.c +2 -2
index 81b951652051..f8baef1f3277 100644

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

sound/firewire/fcp.c +1 -3
index 61dda828f767..c8fbb54269cb 100644

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

sound/isa/cs423x/cs4236.c +5 -3
index 7d4e18cb6351..6fff77fe34a8 100644

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

sound/pci/hda/patch_realtek.c +2 -2
index 459f629fa0a8..3f9c2b1e3be6 100644

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

sound/soc/atmel/atmel_ssc_dai.c +4 -1
index d3b69682d9c2..7272f00222fd 100644

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

sound/soc/atmel/sam9g20_wm8731.c +1 -0
index 98f93e79c654..5041f43ee5f7 100644

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

sound/soc/codecs/msm8916-wcd-digital.c +4 -1
index 6de2ab6f9706..e6750bda542a 100644

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

sound/soc/codecs/rt5663.c +2 -0
index dd77f131ce6c..b92e1b6ed383 100644

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

sound/soc/codecs/wm8350.c +24 -4
index e92ebe52d485..707b31ef9346 100644

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

sound/soc/davinci/davinci-i2s.c +4 -1
index a3206e65e5e5..205841e46046 100644

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

sound/soc/fsl/imx-es8328.c +1 -0
index 9953438086e4..735693274f49 100644

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

sound/soc/mxs/mxs-saif.c +4 -1
index 156aa7c00787..93c019670199 100644

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

sound/soc/mxs/mxs-sgtl5000.c +3 -0
index 2b3f2408301a..c40e0ab49657 100644

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

sound/soc/sh/fsi.c +16 -3
index aa7e902f0c02..f486e2b2c540 100644

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

sound/soc/soc-core.c +1 -1
index 273898b358c4..9ca7dff5593d 100644

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

sound/soc/soc-generic-dmaengine-pcm.c +3 -3
index 232df04ca586..45cce7376191 100644

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

sound/soc/soc-topology.c +2 -1
index ccf6dd941197..776250feb300 100644

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

sound/spi/at73c213.c +21 -6
index 1ef52edeb538..3763f06ed784 100644

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

tools/build/feature/Makefile +8 -1
index 6696a4b79614..763ee60ac0db 100644

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

tools/include/uapi/linux/bpf.h +2 -2
index 9e060c6a01ac..0c30ab898e2a 100644

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

tools/perf/Makefile.config +3 -0
index 8e59b4211917..878e49849bfd 100644

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

tools/testing/selftests/bpf/test_lirc_mode2.sh +4 -1
index 677686198df3..795e56e3eaec 100755

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

tools/testing/selftests/cgroup/cgroup_util.c +1 -1
index 90418d79ef67..a516d01f0bfc 100644

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

tools/testing/selftests/cgroup/test_core.c +167 -0

167 lines not on this page · raw message

tools/testing/selftests/x86/check_cc.sh +1 -1
index 172d3293fb7b..356689c56397 100755

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

virt/kvm/kvm_main.c +13 -0
index 86ef740763b5..3d45ce134227 100644

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

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.