Skip to contentSkip to conversation

Linux 4.14.303

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jan 18, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.14.303 kernel.

All users of the 4.14 kernel series must upgrade.

The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.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/driver-api/spi.rst                            |    4 
 Documentation/sphinx/load_config.py                         |    6 
 Makefile                                                    |    2 
 arch/alpha/kernel/entry.S                                   |    4 
 arch/arm/boot/dts/armada-370.dtsi                           |    2 
 arch/arm/boot/dts/armada-375.dtsi                           |    2 
 arch/arm/boot/dts/armada-380.dtsi                           |    4 
 arch/arm/boot/dts/armada-385-turris-omnia.dts               |   18 ++
 arch/arm/boot/dts/armada-385.dtsi                           |    6 
 arch/arm/boot/dts/armada-39x.dtsi                           |    6 
 arch/arm/boot/dts/armada-xp-mv78230.dtsi                    |    8 -
 arch/arm/boot/dts/armada-xp-mv78260.dtsi                    |   16 +-
 arch/arm/boot/dts/dove.dtsi                                 |    2 
 arch/arm/boot/dts/qcom-apq8064.dtsi                         |    2 
 arch/arm/boot/dts/spear600.dtsi                             |    2 
 arch/arm/mach-mmp/time.c                                    |   11 +
 arch/arm/nwfpe/Makefile                                     |    6 
 arch/arm64/boot/dts/mediatek/mt6797.dtsi                    |    2 
 arch/mips/bcm63xx/clk.c                                     |    2 
 arch/mips/kernel/vpe-cmp.c                                  |    4 
 arch/mips/kernel/vpe-mt.c                                   |    4 
 arch/parisc/include/uapi/asm/mman.h                         |   17 +-
 arch/parisc/kernel/sys_parisc.c                             |   27 +++
 arch/parisc/kernel/syscall_table.S                          |    2 
 arch/powerpc/kernel/rtas.c                                  |   20 ++
 arch/powerpc/perf/callchain.c                               |    1 
 arch/powerpc/perf/hv-gpci-requests.h                        |    4 
 arch/powerpc/perf/hv-gpci.c                                 |   33 ++++
 arch/powerpc/perf/hv-gpci.h                                 |    1 
 arch/powerpc/perf/req-gen/perf.h                            |   20 ++
 arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c               |    1 
 arch/powerpc/platforms/83xx/mpc832x_rdb.c                   |    2 
 arch/powerpc/sysdev/xive/spapr.c                            |    1 
 arch/s390/include/asm/percpu.h                              |    2 
 arch/x86/boot/bioscall.S                                    |    4 
 arch/x86/kernel/cpu/bugs.c                                  |    2 
 arch/x86/kernel/cpu/microcode/intel.c                       |    8 -
 arch/x86/kernel/uprobes.c                                   |    4 
 arch/x86/xen/spinlock.c                                     |    6 
 block/blk-mq-sysfs.c                                        |   11 +
 block/partition-generic.c                                   |    6 
 drivers/acpi/acpica/dsmethod.c                              |   10 +
 drivers/acpi/acpica/utcopy.c                                |    7 -
 drivers/base/class.c                                        |    5 
 drivers/base/dd.c                                           |    8 -
 drivers/bluetooth/btusb.c                                   |    6 
 drivers/bluetooth/hci_bcsp.c                                |    2 
 drivers/bluetooth/hci_h5.c                                  |    2 
 drivers/bluetooth/hci_qca.c                                 |    2 
 drivers/char/hw_random/amd-rng.c                            |   18 +-
 drivers/char/hw_random/geode-rng.c                          |   36 ++++-
 drivers/char/ipmi/ipmi_msghandler.c                         |    8 -
 drivers/char/tpm/tpm_crb.c                                  |   31 +++-
 drivers/char/tpm/tpm_tis.c                                  |    9 -
 drivers/clk/rockchip/clk-pll.c                              |    1 
 drivers/clk/samsung/clk-pll.c                               |    1 
 drivers/clk/st/clkgen-fsyn.c                                |    5 
 drivers/cpuidle/dt_idle_states.c                            |    2 
 drivers/crypto/img-hash.c                                   |    8 -
 drivers/crypto/n2_core.c                                    |    6 
 drivers/dio/dio.c                                           |    8 +
 drivers/edac/edac_device.c                                  |   17 +-
 drivers/edac/edac_module.h                                  |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c                    |    1 
 drivers/gpu/drm/drm_connector.c                             |    3 
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c                   |    5 
 drivers/gpu/drm/radeon/radeon_bios.c                        |   19 +-
 drivers/gpu/drm/sti/sti_dvo.c                               |    7 -
 drivers/gpu/drm/sti/sti_hda.c                               |    7 -
 drivers/gpu/drm/sti/sti_hdmi.c                              |    7 -
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                         |    3 
 drivers/hid/hid-ids.h                                       |    3 
 drivers/hid/hid-plantronics.c                               |    9 +
 drivers/hid/hid-sensor-custom.c                             |    2 
 drivers/hid/wacom_sys.c                                     |    8 +
 drivers/hid/wacom_wac.c                                     |    4 
 drivers/hid/wacom_wac.h                                     |    1 
 drivers/hsi/controllers/omap_ssi_core.c                     |   14 +-
 drivers/i2c/busses/i2c-ismt.c                               |    3 
 drivers/i2c/busses/i2c-pxa-pci.c                            |   10 -
 drivers/iio/adc/ad_sigma_delta.c                            |    8 -
 drivers/infiniband/hw/hfi1/affinity.c                       |    2 
 drivers/infiniband/hw/hfi1/firmware.c                       |    6 
 drivers/infiniband/sw/rxe/rxe_qp.c                          |    6 
 drivers/infiniband/ulp/ipoib/ipoib_netlink.c                |    7 +
 drivers/input/touchscreen/elants_i2c.c                      |    9 -
 drivers/iommu/amd_iommu_init.c                              |    7 +
 drivers/iommu/amd_iommu_v2.c                                |    1 
 drivers/iommu/fsl_pamu.c                                    |    2 
 drivers/irqchip/irq-gic-pm.c                                |    2 
 drivers/isdn/hardware/mISDN/hfcmulti.c                      |   19 +-
 drivers/isdn/hardware/mISDN/hfcpci.c                        |   13 +
 drivers/isdn/hardware/mISDN/hfcsusb.c                       |   12 +
 drivers/macintosh/macio-adb.c                               |    4 
 drivers/macintosh/macio_asic.c                              |    2 
 drivers/mcb/mcb-core.c                                      |    4 
 drivers/mcb/mcb-parse.c                                     |    2 
 drivers/md/dm-cache-metadata.c                              |   54 ++++++-
 drivers/md/dm-cache-target.c                                |   11 -
 drivers/md/dm-thin-metadata.c                               |    9 +
 drivers/md/dm-thin.c                                        |    2 
 drivers/md/md.c                                             |    9 -
 drivers/md/raid1.c                                          |    1 
 drivers/media/dvb-core/dmxdev.c                             |    8 +
 drivers/media/dvb-core/dvb_ca_en50221.c                     |    2 
 drivers/media/dvb-core/dvb_frontend.c                       |    2 
 drivers/media/dvb-core/dvbdev.c                             |   33 +++-
 drivers/media/dvb-core/dvbdev.h                             |   31 ++--
 drivers/media/dvb-frontends/bcm3510.c                       |    1 
 drivers/media/dvb-frontends/stv0288.c                       |    5 
 drivers/media/i2c/ad5820.c                                  |   10 -
 drivers/media/pci/saa7164/saa7164-core.c                    |    4 
 drivers/media/pci/solo6x10/solo6x10-core.c                  |    1 
 drivers/media/platform/coda/coda-bit.c                      |   14 +-
 drivers/media/platform/exynos4-is/fimc-core.c               |    2 
 drivers/media/platform/exynos4-is/media-dev.c               |    6 
 drivers/media/platform/qcom/camss-8x16/camss-video.c        |    3 
 drivers/media/platform/s5p-mfc/s5p_mfc.c                    |   17 ++
 drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c       |    1 
 drivers/media/platform/vivid/vivid-vid-cap.c                |    1 
 drivers/media/radio/si470x/radio-si470x-usb.c               |    4 
 drivers/media/rc/imon.c                                     |    6 
 drivers/media/usb/dvb-usb/az6027.c                          |    4 
 drivers/media/usb/dvb-usb/dvb-usb-init.c                    |    4 
 drivers/misc/cxl/guest.c                                    |   24 ++-
 drivers/misc/cxl/pci.c                                      |   21 +--
 drivers/misc/sgi-gru/grufault.c                             |   13 +
 drivers/misc/sgi-gru/grumain.c                              |   22 ++-
 drivers/misc/sgi-gru/grutables.h                            |    2 
 drivers/misc/tifm_7xx1.c                                    |    2 
 drivers/mmc/host/mmci.c                                     |    4 
 drivers/mmc/host/moxart-mmc.c                               |    4 
 drivers/mmc/host/mxcmmc.c                                   |    4 
 drivers/mmc/host/rtsx_usb_sdmmc.c                           |   11 +
 drivers/mmc/host/sdhci_f_sdh30.c                            |    3 
 drivers/mmc/host/toshsd.c                                   |    6 
 drivers/mmc/host/via-sdmmc.c                                |    4 
 drivers/mmc/host/vub300.c                                   |   13 +
 drivers/mmc/host/wbsd.c                                     |   12 +
 drivers/mmc/host/wmt-sdmmc.c                                |    6 
 drivers/mtd/lpddr/lpddr2_nvm.c                              |    2 
 drivers/mtd/maps/pxa2xx-flash.c                             |    2 
 drivers/mtd/mtdcore.c                                       |    4 
 drivers/net/bonding/bond_main.c                             |    2 
 drivers/net/can/usb/mcba_usb.c                              |   10 +
 drivers/net/dsa/lan9303-core.c                              |    4 
 drivers/net/ethernet/amd/atarilance.c                       |    2 
 drivers/net/ethernet/amd/lance.c                            |    2 
 drivers/net/ethernet/amd/xgbe/xgbe-drv.c                    |    3 
 drivers/net/ethernet/amd/xgbe/xgbe-i2c.c                    |    4 
 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c                   |    4 
 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c                 |   14 --
 drivers/net/ethernet/apple/bmac.c                           |    2 
 drivers/net/ethernet/apple/mace.c                           |    2 
 drivers/net/ethernet/dnet.c                                 |    4 
 drivers/net/ethernet/intel/igb/igb_main.c                   |   10 +
 drivers/net/ethernet/myricom/myri10ge/myri10ge.c            |    1 
 drivers/net/ethernet/neterion/s2io.c                        |    2 
 drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c    |    3 
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c       |    8 +
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h             |   10 -
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c            |    8 +
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c    |    2 
 drivers/net/ethernet/rdc/r6040.c                            |    5 
 drivers/net/ethernet/renesas/ravb_main.c                    |    2 
 drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c       |    3 
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h            |    2 
 drivers/net/ethernet/ti/netcp_core.c                        |    2 
 drivers/net/ethernet/xilinx/xilinx_emaclite.c               |    2 
 drivers/net/fddi/defxx.c                                    |   22 ++-
 drivers/net/hamradio/baycom_epp.c                           |    2 
 drivers/net/hamradio/scc.c                                  |    6 
 drivers/net/loopback.c                                      |    2 
 drivers/net/ntb_netdev.c                                    |    4 
 drivers/net/phy/xilinx_gmii2rgmii.c                         |    1 
 drivers/net/ppp/ppp_generic.c                               |    2 
 drivers/net/usb/rndis_host.c                                |    3 
 drivers/net/wan/farsync.c                                   |    2 
 drivers/net/wireless/ath/ar5523/ar5523.c                    |    6 
 drivers/net/wireless/ath/ath10k/pci.c                       |   20 +-
 drivers/net/wireless/ath/ath9k/hif_usb.c                    |   46 ++++--
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c |    5 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c     |    2 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c     |    1 
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h            |    2 
 drivers/nfc/pn533/pn533.c                                   |    4 
 drivers/nfc/pn533/usb.c                                     |   44 +++++-
 drivers/parisc/led.c                                        |    3 
 drivers/pci/irq.c                                           |    2 
 drivers/pci/pci-sysfs.c                                     |   13 +
 drivers/pci/pci.c                                           |    2 
 drivers/pinctrl/pinconf-generic.c                           |    4 
 drivers/platform/x86/mxm-wmi.c                              |    8 -
 drivers/platform/x86/sony-laptop.c                          |   21 ++-
 drivers/pnp/core.c                                          |    4 
 drivers/power/avs/smartreflex.c                             |    1 
 drivers/power/supply/power_supply_core.c                    |    2 
 drivers/rapidio/devices/rio_mport_cdev.c                    |   15 +-
 drivers/rapidio/rio-scan.c                                  |    8 -
 drivers/rapidio/rio.c                                       |    9 +
 drivers/regulator/core.c                                    |    2 
 drivers/regulator/da9211-regulator.c                        |   11 -
 drivers/rtc/rtc-snvs.c                                      |   16 ++
 drivers/rtc/rtc-st-lpc.c                                    |    1 
 drivers/s390/net/ctcm_main.c                                |   11 -
 drivers/s390/net/lcs.c                                      |    8 -
 drivers/s390/net/netiucv.c                                  |    9 -
 drivers/scsi/fcoe/fcoe.c                                    |    1 
 drivers/scsi/fcoe/fcoe_sysfs.c                              |   19 +-
 drivers/scsi/hpsa.c                                         |    7 -
 drivers/scsi/ipr.c                                          |   10 +
 drivers/scsi/snic/snic_disc.c                               |    3 
 drivers/soc/ti/knav_qmss_queue.c                            |    2 
 drivers/soc/ux500/ux500-soc-id.c                            |   10 -
 drivers/staging/rtl8192e/rtllib_rx.c                        |    2 
 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c           |    4 
 drivers/tty/hvc/hvc_xen.c                                   |   46 ++++--
 drivers/tty/serial/amba-pl011.c                             |    3 
 drivers/tty/serial/pch_uart.c                               |    4 
 drivers/tty/serial/sunsab.c                                 |    8 +
 drivers/uio/uio_dmem_genirq.c                               |   13 +
 drivers/usb/common/ulpi.c                                   |    2 
 drivers/usb/dwc3/core.c                                     |    7 -
 drivers/usb/gadget/function/f_uvc.c                         |    5 
 drivers/usb/gadget/udc/fotg210-udc.c                        |   12 -
 drivers/usb/musb/musb_gadget.c                              |    2 
 drivers/usb/serial/cp210x.c                                 |    2 
 drivers/usb/serial/option.c                                 |    3 
 drivers/usb/storage/alauda.c                                |    2 
 drivers/vfio/platform/vfio_platform_common.c                |    3 
 drivers/video/fbdev/Kconfig                                 |    1 
 drivers/video/fbdev/pm2fb.c                                 |    9 +
 drivers/video/fbdev/uvesafb.c                               |    1 
 drivers/video/fbdev/vermilion/vermilion.c                   |    4 
 drivers/video/fbdev/via/via-core.c                          |    9 +
 drivers/vme/bridges/vme_fake.c                              |    2 
 drivers/vme/bridges/vme_tsi148.c                            |    1 
 fs/binfmt_misc.c                                            |    8 -
 fs/char_dev.c                                               |    2 
 fs/cifs/connect.c                                           |    4 
 fs/ext4/ext4.h                                              |    2 
 fs/ext4/indirect.c                                          |    9 +
 fs/ext4/inode.c                                             |   18 ++
 fs/ext4/ioctl.c                                             |   10 -
 fs/ext4/namei.c                                             |    3 
 fs/ext4/xattr.c                                             |   15 --
 fs/hfs/inode.c                                              |   13 +
 fs/hfs/trans.c                                              |    2 
 fs/hfsplus/hfsplus_fs.h                                     |    2 
 fs/hfsplus/inode.c                                          |   16 --
 fs/hfsplus/options.c                                        |    4 
 fs/jfs/jfs_dmap.c                                           |   27 +++
 fs/libfs.c                                                  |   22 ++-
 fs/nfs/nfs4proc.c                                           |   19 +-
 fs/nfs/nfs4state.c                                          |    2 
 fs/nfs/nfs4xdr.c                                            |   10 -
 fs/nfsd/nfs4callback.c                                      |    4 
 fs/nfsd/nfs4xdr.c                                           |   11 +
 fs/nilfs2/the_nilfs.c                                       |   31 +++-
 fs/ocfs2/stackglue.c                                        |    8 +
 fs/orangefs/orangefs-debugfs.c                              |    3 
 fs/orangefs/orangefs-mod.c                                  |    8 -
 fs/pnode.c                                                  |    2 
 fs/pstore/Kconfig                                           |    1 
 fs/pstore/pmsg.c                                            |    7 -
 fs/pstore/ram.c                                             |    2 
 fs/pstore/ram_core.c                                        |    6 
 fs/reiserfs/namei.c                                         |    4 
 fs/reiserfs/xattr_security.c                                |    2 
 fs/sysv/itree.c                                             |    2 
 fs/udf/balloc.c                                             |    5 
 fs/udf/inode.c                                              |   84 +++++-------
 fs/udf/namei.c                                              |    8 -
 fs/udf/truncate.c                                           |   48 ++----
 fs/udf/udfdecl.h                                            |    3 
 fs/xattr.c                                                  |    2 
 include/asm-generic/tlb.h                                   |    6 
 include/linux/can/platform/sja1000.h                        |    2 
 include/linux/eventfd.h                                     |    2 
 include/linux/fs.h                                          |   12 +
 include/linux/once.h                                        |   28 ++++
 include/linux/sunrpc/rpc_pipe_fs.h                          |    5 
 include/linux/timerqueue.h                                  |    2 
 include/net/mrp.h                                           |    1 
 include/uapi/linux/swab.h                                   |    2 
 include/uapi/sound/asequencer.h                             |    8 -
 kernel/acct.c                                               |    2 
 kernel/events/core.c                                        |    8 -
 kernel/gcov/gcc_4_7.c                                       |    5 
 kernel/power/snapshot.c                                     |    4 
 kernel/trace/blktrace.c                                     |    3 
 kernel/trace/trace.c                                        |   15 ++
 lib/notifier-error-inject.c                                 |    2 
 lib/once.c                                                  |   30 ++++
 lib/test_firmware.c                                         |    1 
 mm/khugepaged.c                                             |   24 +++
 mm/memory.c                                                 |    5 
 net/802/mrp.c                                               |   18 +-
 net/bluetooth/hci_core.c                                    |    2 
 net/bluetooth/l2cap_core.c                                  |    3 
 net/bluetooth/rfcomm/core.c                                 |    2 
 net/caif/cfctrl.c                                           |    6 
 net/core/filter.c                                           |   11 +
 net/core/skbuff.c                                           |    3 
 net/core/stream.c                                           |    6 
 net/ipv4/inet_connection_sock.c                             |   16 ++
 net/ipv4/inet_hashtables.c                                  |    4 
 net/ipv4/udp_tunnel.c                                       |    1 
 net/ipv6/raw.c                                              |    4 
 net/netfilter/ipset/ip_set_bitmap_ip.c                      |    4 
 net/nfc/netlink.c                                           |   52 +++++--
 net/openvswitch/datapath.c                                  |   25 ++-
 net/sched/ematch.c                                          |    2 
 net/sched/sch_api.c                                         |   10 +
 net/sched/sch_atm.c                                         |    5 
 net/sunrpc/auth_gss/auth_gss.c                              |   19 ++
 net/sunrpc/clnt.c                                           |    2 
 net/vmw_vsock/vmci_transport.c                              |    6 
 security/apparmor/apparmorfs.c                              |    4 
 security/device_cgroup.c                                    |   33 ++++
 security/integrity/ima/ima_template.c                       |    9 -
 sound/core/control_compat.c                                 |    4 
 sound/drivers/mts64.c                                       |    3 
 sound/pci/asihpi/hpioctl.c                                  |    2 
 sound/soc/codecs/pcm512x.c                                  |    8 -
 sound/soc/codecs/rt298.c                                    |    7 +
 sound/soc/codecs/rt5670.c                                   |    2 
 sound/soc/codecs/wm8994.c                                   |    5 
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c            |    7 -
 sound/soc/pxa/mmp-pcm.c                                     |    2 
 sound/soc/rockchip/rockchip_pdm.c                           |    1 
 sound/soc/rockchip/rockchip_spdif.c                         |    1 
 sound/soc/soc-ops.c                                         |    9 +
 sound/usb/line6/driver.c                                    |    3 
 sound/usb/line6/midi.c                                      |    6 
 sound/usb/line6/midibuf.c                                   |   25 ++-
 sound/usb/line6/midibuf.h                                   |    5 
 sound/usb/line6/pod.c                                       |    3 
 tools/arch/parisc/include/uapi/asm/mman.h                   |   12 -
 tools/lib/traceevent/Makefile                               |    2 
 tools/perf/bench/bench.h                                    |   12 -
 tools/perf/tests/attr.py                                    |    1 
 tools/perf/util/auxtrace.c                                  |    2 
 tools/testing/ktest/ktest.pl                                |    3 
 tools/testing/selftests/lib.mk                              |    5 
 tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c      |    5 
 346 files changed, 1912 insertions(+), 795 deletions(-)

Aakarsh Jain (1):
media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC

Aditya Garg (1):
hfsplus: fix bug causing custom uid and gid being unable to be assigned with mount

Adrian Hunter (1):
perf auxtrace: Fix address filter duplicate symbol selection

Akinobu Mita (2):
libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value lib/notifier-error-inject: fix error when writing -errno to debugfs file

Al Viro (1):
alpha: fix syscall entry in !AUDUT_SYSCALL case

Amadeusz Sławiński (1):
ASoC: codecs: rt298: Add quirk for KBL-R RVP platform

Anastasia Belova (1):
MIPS: BCM63xx: Add check for NULL for clk in clk_enable

Andy Shevchenko (1):
fbdev: ssd1307fb: Drop optional dependency

AngeloGioacchino Del Regno (1):
arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name

Arnd Bergmann (1):
hfs/hfsplus: use WARN_ON for sanity check

Artem Chernyshev (1):
net: vmw_vsock: vmci: Check memcpy_from_msg()

Artem Egorkine (2):
ALSA: line6: correct midi status byte when receiving data from podxt
ALSA: line6: fix stack overflow in line6_midi_transmit

Ashok Raj (1):
x86/microcode/intel: Do not retry microcode reloading on the APs

Baisong Zhong (2):
ALSA: seq: fix undefined behavior in bit shift for SNDRV_SEQ_FILTER_USE_EVENT
media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()

Baokun Li (2):
ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop
ext4: fix bug_on in __es_tree_search caused by bad boot loader inode

Barnabás Pőcze (1):
timerqueue: Use rb_entry_safe() in timerqueue_getnext()

Ben Hutchings (1):
libtraceevent: Fix build with binutils 2.35

Biju Das (1):
ravb: Fix "failed to switch device to config mode" message during unbind

Bitterblue Smith (1):
wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h

Bruno Thomsen (1):

      USB: serial: cp210x: add Kamstrup RF sniffer PIDs

Cai Xinchen (1):
rapidio: devices: fix missing put_device in mport_cdev_open

Charles Keepax (1):
ASoC: ops: Correct bounds check for second channel on SX controls

Chen Jiahao (1):
drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static

Chen Zhongjin (4):
perf: Fix possible memleak in pmu_dev_alloc()
fs: sysv: Fix sysv_nblocks() returns wrong value
scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
vme: Fix error not catched in fake_init()

Christian Brauner (1):
pnode: terminate at peers of source

Christophe JAILLET (3):
fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() powerpc/52xx: Fix a resource leak in an error handling path
myri10ge: Fix an error handling path in myri10ge_probe()

Clement Lecigne (1):
ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF

Cong Wang (1):
net_sched: reject TCF_EM_SIMPLE case for complex ematch module

Corentin Labbe (1):
crypto: n2 - add missing hash statesize

Dan Aloni (1):
nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure

Dan Carpenter (2):
bonding: uninitialized variable in bond_miimon_inspect()
staging: rtl8192u: Fix use after free in ieee80211_rx()

Daniil Tatianin (1):

      qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure

Deren Wu (1):
mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING

Dongliang Mu (1):
fs: jfs: fix shift-out-of-bounds in dbAllocAG

Doug Brown (1):
ARM: mmp: fix timer_read delay

Douglas Anderson (1):
Input: elants_i2c - properly handle the reset GPIO when power is off

Dragos Tatulea (1):
IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces

Duke Xin (1):
USB: serial: option: add Quectel EM05-G modem

Eelco Chaudron (1):
openvswitch: Fix flow lookup to use unmasked key

Eliav Farber (1):
EDAC/device: Fix period calculation in edac_device_reset_delay_period()

Eric Dumazet (2):
once: add DO_ONCE_SLOW() for sleepable contexts
net: stream: purge sk_error_queue in sk_stream_kill_queues()

Eric Pilmore (1):
ntb_netdev: Use dev_kfree_skb_any() in interrupt context

Fedor Pchelkin (3):
wifi: ath9k: hif_usb: fix memory leak of urbs in ath9k_hif_usb_dealloc_tx_urbs()
wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb()
wifi: ath9k: verify the expected usb_endpoints are present

Ferry Toth (2):
usb: dwc3: core: defer probe on ulpi_read_id timeout Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout"

Frederick Lawler (1):
net: sched: disallow noqueue for qdisc classes

Gaosheng Cui (7):
ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt
apparmor: fix a memleak in multi_transaction_new()
scsi: snic: Fix possible UAF in snic_tgt_create()
crypto: img-hash - Fix variable dereferenced before check 'hdev->req'
staging: vme_user: Fix possible UAF in tsi148_dma_list_add
rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe()
ext4: fix undefined behavior in bit shift for ext4_check_flag_values

Gautam Menghani (1):
media: imon: fix a race condition in send_packet()

Gavrilov Ilia (1):
netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function.

Greg Kroah-Hartman (1):

      Linux 4.14.303

Hangbin Liu (1):
net/tunnel: wait until all sk_user_data reader finish before releasing the sock

Hanjun Guo (3):
drm/radeon: Add the missed acpi_put_table() to fix memory leak
tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak
tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak

Hans de Goede (2):
ASoC: rt5670: Remove unbalanced pm_runtime_put()
platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe

Heiko Carstens (1):
s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple()

Heiko Schocher (1):
can: sja1000: fix size of OCR_MODE_MASK define

Helge Deller (1):
parisc: Align parisc MADV_XXX constants with all other architectures

Herbert Xu (1):
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames

Hoi Pok Wu (1):
fs: jfs: fix shift-out-of-bounds in dbDiscardAG

Huaxin Lu (1):
ima: Fix a potential NULL pointer access in ima_restore_measurement_list

Hui Tang (2):
mtd: lpddr2_nvm: Fix possible null-ptr-deref
i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe

Isaac J. Manjarres (1):
driver core: Fix bus_type.match() error handling in __driver_attach()

Ivaylo Dimitrov (1):
usb: musb: remove extra check in musb_gadget_vbus_draw

Jakub Kicinski (1):
bpf: pull before calling skb_postpull_rcsum()

Jamal Hadi Salim (1):
net: sched: atm: dont intepret cls results when asked to drop

Jan Kara (9):
udf: Discard preallocation before extending file with a hole
udf: Drop unused arguments of udf_delete_aext()
udf: Fix preallocation discarding at indirect extent boundary
udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
udf: Fix extending file within last block
ext4: avoid BUG_ON when creating xattrs
ext4: initialize quota before expanding inode in setproject ioctl
ext4: avoid unaccounted block allocation when expanding inode
udf: Fix extension of the last extent in the file

Jann Horn (2):
mm/khugepaged: fix GUP-fast interaction by sending IPI mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths

Jason A. Donenfeld (2):
media: stv0288: use explicitly signed char
ARM: ux500: do not directly dereference __iomem

Jason Gerecke (1):
HID: wacom: Ensure bootloader PID is usable in hidraw mode

Jeff Layton (1):
nfsd: fix handling of readdir in v4root vs. mount upcall timeout

Jerry Ray (1):
net: lan9303: Fix read error execution path

Jialiang Wang (1):
nfp: fix use-after-free in area_cache_get()

Jiamei Xie (1):
serial: amba-pl011: avoid SBSA UART accessing DMACR register

Jiang Li (1):
md/raid1: stop mdx_raid1 thread when raid1 array run failed

Jiasheng Jiang (3):
media: coda: Add check for dcoda_iram_alloc
media: coda: Add check for kmalloc
usb: storage: Add check for kcalloc

Jiguang Xiao (1):
net: amd-xgbe: add missed tasklet_kill

John Stultz (2):
pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion
pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES

Jonathan Corbet (1):
docs: Fix the docs build with Sphinx 6.0

Jonathan Neuschäfer (1):
spi: Update reference to struct spi_controller

Kajol Jain (1):
powerpc/hv-gpci: Fix hv_gpci event list

Kees Cook (1):
igb: Do not free q_vector unless new one was allocated

Keita Suzuki (1):
media: dvb-core: Fix double free in dvb_register_device()

Kim Phillips (1):
iommu/amd: Fix ivrs_acpihid cmdline parsing code

Kory Maincent (1):
arm: dts: spear600: Fix clcd interrupt

Kunihiko Hayashi (1):
mmc: f-sdh30: Add quirks for broken timeout clock capability

Li Zetao (3):
ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage()
net: farsync: Fix kmemleak when rmmods farsync
r6040: Fix kmemleak in probe and remove

Liang He (1):
media: c8sectpfe: Add of_node_put() when breaking out of loop

Lin Ma (2):
media: dvbdev: adopts refcnt to avoid UAF
media: dvbdev: fix refcnt bug

Linus Torvalds (1):
hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling

Linus Walleij (1):
usb: fotg210-udc: Fix ages old endianness issues

Liu Shixin (4):
media: vivid: fix compose size exceed boundary
ALSA: asihpi: fix missing pci_disable_device()
media: saa7164: fix missing pci_disable_device()
binfmt_misc: fix shift-out-of-bounds in check_special_flags

Luca Weiss (1):
ARM: dts: qcom: apq8064: fix coresight compatible

Luo Meng (2):
dm thin: Fix UAF in run_timer_softirq()
dm cache: Fix UAF in destroy()

Luís Henriques (1):
ext4: fix error code return to user-space in ext4_get_branch()

Marcus Folkesson (1):
HID: hid-sensor-custom: set fixed size for custom attributes

Marek Szyprowski (1):
ASoC: wm8994: Fix potential deadlock

Mark Brown (1):
ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx()

Matt Redfearn (1):
include/uapi/linux/swab: Fix potentially missing __always_inline

Mazin Al Haddad (1):
media: dvb-usb: fix memory leak in dvb_usb_adapter_init()

Miaoqian Lin (4):
cxl: Fix refcount leak in cxl_calc_capp_routing selftests/powerpc: Fix resource leaks
nfc: Fix potential resource leaks
net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe

Michael Kelley (1):
tpm/tpm_crb: Fix error message in __crb_relinquish_locality()

Michael S. Tsirkin (1):
PCI: Fix pci_device_is_present() for VFs by checking PF

Mickaël Salaün (1):
selftests: Use optional USERCFLAGS and USERLDFLAGS

Mike Snitzer (2):
dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort dm cache: set needs_check flag after aborting metadata

Mikulas Patocka (1):
md: fix a crash in mempool_free

Ming Lei (1):
block: unhash blkdev part inode when the part is deleted

Minsuk Kang (3):
nfc: pn533: Clear nfc_target before being used
wifi: brcmfmac: Fix potential shift-out-of-bounds in brcmf_fw_alloc_request()
nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()

Nathan Chancellor (7):
net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()
hamradio: baycom_epp: Fix return type of baycom_send_packet() s390/ctcm: Fix return type of ctc{mp,}m_tx() s390/netiucv: Fix return type of netiucv_tx()
s390/lcs: Fix return type of lcs_start_xmit() drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid()

Nathan Lynch (2):
powerpc/rtas: avoid device tree lookups in rtas_os_term() powerpc/rtas: avoid scheduling in rtas_os_term()

Nicholas Piggin (1):
powerpc/perf: callchain validate kernel stack pointer bounds

Nick Desaulniers (1):
ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod

Nuno Sá (1):
iio: adc: ad_sigma_delta: do not use internal iio_dev lock

Oleg Nesterov (1):

      uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix

Ondrej Mosnacek (1):
fs: don't audit the capability check in simple_xattr_list()

Pali Rohár (8):
ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
ARM: dts: turris-omnia: Add ethernet aliases
ARM: dts: turris-omnia: Add switch port 6 node

Paolo Abeni (1):
net/ulp: prevent ULP without clone op from entering the LISTEN status

Paulo Alcantara (1):
cifs: fix confusing debug message

Peter Zijlstra (1):
x86/boot: Avoid using Intel mnemonics in AT&T syntax asm

Piergiorgio Beruto (1):
stmmac: fix potential division by 0

Rafael J. Wysocki (1):
ACPICA: Fix error code path in acpi_ds_call_control_method()

Rafael Mendonca (3):
vfio: platform: Do not pass return buffer to ACPI _RST method
uio: uio_dmem_genirq: Fix missing unlock in irq configuration
uio: uio_dmem_genirq: Fix deadlock between irq config and handling

Rasmus Villemoes (1):
net: loopback: use NET_NAME_PREDICTABLE for name_assign_type

Ricardo Ribalda (2):
media: i2c: ad5820: Fix error path
regulator: da9211: Use irq handler when ready

Rickard x Andersson (1):
gcov: add support for checksum field

Roberto Sassu (1):
reiserfs: Add missing calls to reiserfs_security_free()

Rodrigo Branco (1):
x86/bugs: Flush IBP in ib_prctl_set()

Roger Pau Monne (1):
hvc/xen: lock console list traversal

Ryusuke Konishi (1):
nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset()

Sascha Hauer (1):
PCI/sysfs: Fix double free in error path

Schspa Shi (1):
mrp: introduce active flags to prevent UAF when applicant uninit

Shang XiaoJing (5):
ocfs2: fix memory leak in ocfs2_stack_glue_init()
irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe()
scsi: ipr: Fix WARNING in ipr_init()
fbdev: via: Fix error in via_core_init()
parisc: led: Fix potential null-ptr-deref in start_task()

Shigeru Yoshida (3):

      udf: Avoid double brelse() in udf_rename()
      wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out
      media: si470x: Fix use-after-free in si470x_int_in_callback()

Simon Ser (1):
drm/connector: send hotplug uevent on connector cleanup

Stanislav Fomichev (2):
bpf: make sure skb->len != 0 when redirecting to a tunneling device
ppp: associate skb with a device at tx

Stefan Eichenberger (1):
rtc: snvs: Allow a time difference on clock register read

Stephen Boyd (1):
pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP

Steven Rostedt (1):
ktest.pl minconfig: Unset configs instead of just removing them

Subash Abhinov Kasiviswanathan (1):
skbuff: Account for tail adjustment during pull operations

Sungwoo Kim (1):
Bluetooth: L2CAP: Fix u8 overflow

Szymon Heidrich (2):
usb: gadget: uvc: Prevent buffer overflow in setup handler
usb: rndis_host: Secure rndis_query check against int overflow

Takashi Iwai (1):
media: dvb-core: Fix UAF due to refcount races at releasing

Terry Junge (1):
HID: plantronics: Additional PIDs for double volume key presses quirk

Tom Lendacky (1):
net: amd-xgbe: Check only the minimum speed for active/passive cables

Tony Jones (1):
perf script python: Remove explicit shebang from tests/attr.c

Tony Nguyen (1):
igb: Initialize mailbox message for VF reset

Trond Myklebust (3):
NFSv4.2: Fix a memory stomp in decode_attr_security_label
NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn NFSv4.x: Fail client initialisation if state manager thread can't run

Ulf Hansson (1):
cpuidle: dt: Return the correct numbers of parsed idle states

Ville Syrjälä (1):
drm/sti: Use drm_mode_copy()

Vladimir Zapolskiy (1):
media: camss: Clean up received buffers on failed start of streaming

Wang Jingjin (2):
ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in rockchip_pdm_runtime_resume()
ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in rk_spdif_runtime_resume()

Wang ShaoBo (1):
SUNRPC: Fix missing release socket in rpc_sockname()

Wang Weiyang (2):
rapidio: fix possible UAF when kfifo_alloc() fails
device_cgroup: Roll back to original exceptions after copy failure

Wang Yufen (4):
pstore/ram: Fix error return code in ramoops_probe()
wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware() RDMA/hfi1: Fix error return code in parse_platform_config()
ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in mt8173_rt5650_rt5514_dev_probe()

Xie Shaowen (1):
macintosh/macio-adb: check the return value of ioremap()

Xiongfeng Wang (7):
drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() RDMA/hfi: Decrease PCI device reference count in error path
hwrng: amd - Fix PCI device refcount leak
hwrng: geode - Fix PCI device refcount leak
serial: pch: Fix PCI device refcount leak in pch_request_dma()
fbdev: vermilion: decrease reference count in error path

Xiu Jianfeng (6):
x86/xen: Fix memory leak in xen_init_lock_cpu()
ima: Fix misuse of dereference of pointer in template_desc_init_fields()
wifi: ath10k: Fix return value in ath10k_pci_init()
clk: rockchip: Fix memory leak in rockchip_clk_register_pll()
clk: samsung: Fix memory leak in _samsung_clk_register_pll()
clk: st: Fix memory leak in st_of_quadfs_setup()

Yan Lei (1):
media: dvb-frontends: fix leak of memory fw

Yang Jihong (2):
blktrace: Fix output non-blktrace event when blk_classic option enabled
tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line

Yang Yingliang (49):
MIPS: vpe-mt: fix possible memory leak while module exiting
MIPS: vpe-cmp: fix possible memory leak while module exiting
PNP: fix name memory leak in pnp_alloc_dev()
rapidio: fix possible name leaks when rio_add_device() fails
rapidio: rio: fix possible name leak in rio_register_mport()
regulator: core: fix unbalanced of node refcount in regulator_dev_lookup()
media: solo6x10: fix possible memory leak in solo_sysfs_init()
regulator: core: fix module refcount leak in set_supply()
mmc: moxart: fix return value check of mmc_add_host()
mmc: mxcmmc: fix return value check of mmc_add_host()
mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host()
mmc: toshsd: fix return value check of mmc_add_host()
mmc: vub300: fix return value check of mmc_add_host()
mmc: wmt-sdmmc: fix return value check of mmc_add_host()
mmc: via-sdmmc: fix return value check of mmc_add_host()
mmc: wbsd: fix return value check of mmc_add_host()
mmc: mmci: fix return value check of mmc_add_host()
ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave()
net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave()
net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave()
net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave()
net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave()
hamradio: don't call dev_kfree_skb() under spin_lock_irqsave()
net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave()
Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave()
Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave()
Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave()
Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave()
Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave()
Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave()
scsi: hpsa: Fix error handling in hpsa_add_sas_host()
scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device()
scsi: fcoe: Fix possible name leak when device_register() fails
drivers: dio: fix possible memory leak in dio_init()
class: fix possible memory leak in __class_register()
cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
mcb: mcb-parse: fix error handing in chameleon_parse_gdd()
chardev: fix error handling in cdev_device_add()
fbdev: pm2fb: fix missing pci_disable_device()
HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
iommu/amd: Fix pci device refcount leak in ppr_notifier()
macintosh: fix possible memory leak in macio_add_one_device() powerpc/xive: add missing iounmap() in error path in xive_spapr_populate_irq_data() powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in of_fsl_spi_probe()
mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()
mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under spin_lock_irqsave()

Yasushi SHOJI (1):
can: mcba_usb: Fix termination command argument

Ye Bin (4):
blk-mq: fix possible memleak when register 'hctx' failed
ext4: init quota for 'old.inode' in 'ext4_rename'
ext4: fix inode leak in ext4_xattr_inode_create() on an error path
ext4: allocate extended attribute value in vmalloc area

Yongqiang Liu (1):
net: defxx: Fix missing err handling in dfx_init()

Yu Liao (1):
platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()

Yuan Can (5):
media: platform: exynos4-is: Fix error handling in fimc_md_init()
drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init()
serial: sunsab: Fix error handling in sunsab_init()
HSI: omap_ssi_core: Fix error handling in ssi_init() iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()

YueHaibing (1):
staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor()

Zack Rusin (1):
drm/vmwgfx: Validate the box size for the snooped cursor

Zeng Heng (3):
ASoC: pxa: fix null-pointer dereference in filter()
PCI: Check for alloc failure in pci_request_irq()
power: supply: fix residue sysfs file in error handle route of __power_supply_register()

Zhang Qilong (3):
soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD
ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe

Zhang Xiaoxu (4):
mtd: Fix device name leak when register device failed in add_mtd_device() RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed
orangefs: Fix sysfs not cleanup when dev init failed
orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()

Zhang Yuchen (1):
ipmi: fix memleak when unload ipmi driver

ZhangPeng (3):
hfs: Fix OOB Write in hfs_asc2mac
pinctrl: pinconf-generic: add missing of_node_put()
hfs: fix OOB Read in __hfs_brec_find

Zheng Wang (1):
misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault and gru_handle_user_call_os

Zheng Yejian (1):
acct: fix potential integer overflow in encode_comp_t()

Zheng Yongjun (1):
mtd: maps: pxa2xx-flash: fix memory leak in probe

Zhengchao Shao (3):
test_firmware: fix memory leak in test_firmware_init()
drivers: mcb: fix resource leak in mcb_probe()
caif: fix memory leak in cfctrl_linkup_request()

Zheyu Ma (1):
i2c: ismt: Fix an out-of-bounds bug in ismt_access()

Zhihao Cheng (1):

      dm thin: Use last transaction's pmd->root when commit failed

minoura makoto (1):
SUNRPC: ensure the matching upcall is in-flight upon downcall

ruanjinjie (1):
misc: tifm: fix possible memory leak in tifm_7xx1_switch_media()

xiongxin (1):
PM: hibernate: Fix mistake in kerneldoc comment

author maintainer
#1 lore raw
Documentation/driver-api/spi.rst +2 -2
index f64cb666498a..f28887045049 100644
@@ -25,8 +25,8 @@ hardware, which may be as simple as a set of GPIO pins or as complex as
 a pair of FIFOs connected to dual DMA engines on the other side of the
 SPI shift register (maximizing throughput). Such drivers bridge between
 whatever bus they sit on (often the platform bus) and SPI, and expose
-the SPI side of their device as a :c:type:`struct spi_master
-<spi_master>`. SPI devices are children of that master,
+the SPI side of their device as a :c:type:`struct spi_controller
+<spi_controller>`. SPI devices are children of that master,
 represented as a :c:type:`struct spi_device <spi_device>` and
 manufactured from :c:type:`struct spi_board_info
 <spi_board_info>` descriptors which are usually provided by
Documentation/sphinx/load_config.py +4 -2
index 301a21aa4f63..4c9cdcb71c2c 100644
@@ -3,7 +3,7 @@
 
 import os
 import sys
-from sphinx.util.pycompat import execfile_
+from sphinx.util.osutil import fs_encoding
 
 # ------------------------------------------------------------------------------
 def loadConfig(namespace):
@@ -25,7 +25,9 @@ def loadConfig(namespace):
             sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
             config = namespace.copy()
             config['__file__'] = config_file
-            execfile_(config_file, config)
+            with open(config_file, 'rb') as f:
+                code = compile(f.read(), fs_encoding, 'exec')
+                exec(code, config)
             del config['__file__']
             namespace.update(config)
         else:
Makefile +1 -1
index 7d9eee2ff0db..5fb1bad2fe74 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 14
-SUBLEVEL = 302
+SUBLEVEL = 303
 EXTRAVERSION =
 NAME = Petit Gorille
 
arch/alpha/kernel/entry.S +3 -1
index d92abb01c249..25eda9c103c4 100644
@@ -469,8 +469,10 @@ entSys:
 #ifdef CONFIG_AUDITSYSCALL
 	lda     $6, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
 	and     $3, $6, $3
-#endif
 	bne     $3, strace
+#else
+	blbs    $3, strace		/* check for SYSCALL_TRACE in disguise */
+#endif
 	beq	$4, 1f
 	ldq	$27, 0($5)
 1:	jsr	$26, ($27), alpha_ni_syscall
arch/arm/boot/dts/armada-370.dtsi +1 -1
index b1cf5a26f3c2..7a4d308a56f4 100644
@@ -111,7 +111,7 @@
 
 			pcie2: pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x80000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-375.dtsi +1 -1
index 2cb1bcd30976..5425a8447551 100644
@@ -621,7 +621,7 @@
 
 			pcie1: pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x44000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-380.dtsi +2 -2
index 132596fd0860..91dbf11ef0f9 100644
@@ -116,7 +116,7 @@
 			/* x1 port */
 			pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -135,7 +135,7 @@
 			/* x1 port */
 			pcie@3,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
 				reg = <0x1800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-385-turris-omnia.dts +17 -1
index 00f70c2fab24..57b544a64d06 100644
@@ -55,6 +55,12 @@
 		stdout-path = &uart0;
 	};
 
+	aliases {
+		ethernet0 = &eth0;
+		ethernet1 = &eth1;
+		ethernet2 = &eth2;
+	};
+
 	memory {
 		device_type = "memory";
 		reg = <0x00000000 0x40000000>; /* 1024 MB */
@@ -324,7 +330,17 @@
 				};
 			};
 
-			/* port 6 is connected to eth0 */
+			ports@6 {
+				reg = <6>;
+				label = "cpu";
+				ethernet = <&eth0>;
+				phy-mode = "rgmii-id";
+
+				fixed-link {
+					speed = <1000>;
+					full-duplex;
+				};
+			};
 		};
 	};
 };
arch/arm/boot/dts/armada-385.dtsi +3 -3
index 74863aff01c6..1f047dc7739e 100644
@@ -121,7 +121,7 @@
 			/* x1 port */
 			pcie2: pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -140,7 +140,7 @@
 			/* x1 port */
 			pcie3: pcie@3,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
 				reg = <0x1800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -162,7 +162,7 @@
 			 */
 			pcie4: pcie@4,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x48000 0 0x2000>;
+				assigned-addresses = <0x82002000 0 0x48000 0 0x2000>;
 				reg = <0x2000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-39x.dtsi +3 -3
index 5218bd2a248d..8c162013c1cb 100644
@@ -493,7 +493,7 @@
 			/* x1 port */
 			pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -512,7 +512,7 @@
 			/* x1 port */
 			pcie@3,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
 				reg = <0x1800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -534,7 +534,7 @@
 			 */
 			pcie@4,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x48000 0 0x2000>;
+				assigned-addresses = <0x82002000 0 0x48000 0 0x2000>;
 				reg = <0x2000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-xp-mv78230.dtsi +4 -4
index 129738f7973d..0511a8204843 100644
@@ -134,7 +134,7 @@
 
 			pcie2: pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x44000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -152,7 +152,7 @@
 
 			pcie3: pcie@3,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x48000 0 0x2000>;
+				assigned-addresses = <0x82001800 0 0x48000 0 0x2000>;
 				reg = <0x1800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -170,7 +170,7 @@
 
 			pcie4: pcie@4,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x4c000 0 0x2000>;
+				assigned-addresses = <0x82002000 0 0x4c000 0 0x2000>;
 				reg = <0x2000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -188,7 +188,7 @@
 
 			pcie5: pcie@5,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
+				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
 				reg = <0x2800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/armada-xp-mv78260.dtsi +8 -8
index e58d597e37b9..78fb45272dba 100644
@@ -149,7 +149,7 @@
 
 			pcie2: pcie@2,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x44000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -167,7 +167,7 @@
 
 			pcie3: pcie@3,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x48000 0 0x2000>;
+				assigned-addresses = <0x82001800 0 0x48000 0 0x2000>;
 				reg = <0x1800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -185,7 +185,7 @@
 
 			pcie4: pcie@4,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x4c000 0 0x2000>;
+				assigned-addresses = <0x82002000 0 0x4c000 0 0x2000>;
 				reg = <0x2000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -203,7 +203,7 @@
 
 			pcie5: pcie@5,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
+				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
 				reg = <0x2800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -221,7 +221,7 @@
 
 			pcie6: pcie@6,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x84000 0 0x2000>;
+				assigned-addresses = <0x82003000 0 0x84000 0 0x2000>;
 				reg = <0x3000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -239,7 +239,7 @@
 
 			pcie7: pcie@7,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x88000 0 0x2000>;
+				assigned-addresses = <0x82003800 0 0x88000 0 0x2000>;
 				reg = <0x3800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -257,7 +257,7 @@
 
 			pcie8: pcie@8,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x8c000 0 0x2000>;
+				assigned-addresses = <0x82004000 0 0x8c000 0 0x2000>;
 				reg = <0x4000 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
@@ -275,7 +275,7 @@
 
 			pcie9: pcie@9,0 {
 				device_type = "pci";
-				assigned-addresses = <0x82000800 0 0x42000 0 0x2000>;
+				assigned-addresses = <0x82004800 0 0x42000 0 0x2000>;
 				reg = <0x4800 0 0 0 0>;
 				#address-cells = <3>;
 				#size-cells = <2>;
arch/arm/boot/dts/dove.dtsi +1 -1
index c78471b05ab4..305bceff299c 100644
@@ -129,7 +129,7 @@
 			pcie1: pcie@2 {
 				device_type = "pci";
 				status = "disabled";
-				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
+				assigned-addresses = <0x82001000 0 0x80000 0 0x2000>;
 				reg = <0x1000 0 0 0 0>;
 				clocks = <&gate_clk 5>;
 				marvell,pcie-port = <1>;
arch/arm/boot/dts/qcom-apq8064.dtsi +1 -1
index 459358b54ab4..dac14153c7bf 100644
@@ -1534,7 +1534,7 @@
 		};
 
 		etb@1a01000 {
-			compatible = "coresight-etb10", "arm,primecell";
+			compatible = "arm,coresight-etb10", "arm,primecell";
 			reg = <0x1a01000 0x1000>;
 
 			clocks = <&rpmcc RPM_QDSS_CLK>;
arch/arm/boot/dts/spear600.dtsi +1 -1
index 00166eb9be86..ca07e73e1f27 100644
@@ -53,7 +53,7 @@
 			compatible = "arm,pl110", "arm,primecell";
 			reg = <0xfc200000 0x1000>;
 			interrupt-parent = <&vic1>;
-			interrupts = <12>;
+			interrupts = <13>;
 			status = "disabled";
 		};
 
arch/arm/mach-mmp/time.c +7 -4
index 96ad1db0b04b..edd280e75546 100644
@@ -52,18 +52,21 @@
 static void __iomem *mmp_timer_base = TIMERS_VIRT_BASE;
 
 /*
- * FIXME: the timer needs some delay to stablize the counter capture
+ * Read the timer through the CVWR register. Delay is required after requesting
+ * a read. The CR register cannot be directly read due to metastability issues
+ * documented in the PXA168 software manual.
  */
 static inline uint32_t timer_read(void)
 {
-	int delay = 100;
+	uint32_t val;
+	int delay = 3;
 
 	__raw_writel(1, mmp_timer_base + TMR_CVWR(1));
 
 	while (delay--)
-		cpu_relax();
+		val = __raw_readl(mmp_timer_base + TMR_CVWR(1));
 
-	return __raw_readl(mmp_timer_base + TMR_CVWR(1));
+	return val;
 }
 
 static u64 notrace mmp_read_sched_clock(void)
arch/arm/nwfpe/Makefile +6 -0
index 303400fa2cdf..2aec85ab1e8b 100644
@@ -11,3 +11,9 @@ nwfpe-y				+= fpa11.o fpa11_cpdo.o fpa11_cpdt.o \
 				   entry.o
 
 nwfpe-$(CONFIG_FPE_NWFPE_XP)	+= extended_cpdo.o
+
+# Try really hard to avoid generating calls to __aeabi_uldivmod() from
+# float64_rem() due to loop elision.
+ifdef CONFIG_CC_IS_CLANG
+CFLAGS_softfloat.o	+= -mllvm -replexitval=never
+endif
arch/arm64/boot/dts/mediatek/mt6797.dtsi +1 -1
index 4beaa71107d7..ebe1b5343966 100644
@@ -101,7 +101,7 @@
 		};
 	};
 
-	clk26m: oscillator@0 {
+	clk26m: oscillator-26m {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
 		clock-frequency = <26000000>;
arch/mips/bcm63xx/clk.c +2 -0
index 73f2534b9676..2f4b5978433d 100644
@@ -317,6 +317,8 @@ static struct clk clk_periph = {
  */
 int clk_enable(struct clk *clk)
 {
+	if (!clk)
+		return 0;
 	mutex_lock(&clocks_mutex);
 	clk_enable_unlocked(clk);
 	mutex_unlock(&clocks_mutex);
arch/mips/kernel/vpe-cmp.c +2 -2
index 9268ebc0f61e..903c07bdc92d 100644
@@ -75,7 +75,6 @@ ATTRIBUTE_GROUPS(vpe);
 
 static void vpe_device_release(struct device *cd)
 {
-	kfree(cd);
 }
 
 static struct class vpe_class = {
@@ -157,6 +156,7 @@ int __init vpe_module_init(void)
 	device_del(&vpe_device);
 
 out_class:
+	put_device(&vpe_device);
 	class_unregister(&vpe_class);
 
 out_chrdev:
@@ -169,7 +169,7 @@ void __exit vpe_module_exit(void)
 {
 	struct vpe *v, *n;
 
-	device_del(&vpe_device);
+	device_unregister(&vpe_device);
 	class_unregister(&vpe_class);
 	unregister_chrdev(major, VPE_MODULE_NAME);
 
arch/mips/kernel/vpe-mt.c +2 -2
index 2e003b11a098..9fd7cd48ea1d 100644
@@ -313,7 +313,6 @@ ATTRIBUTE_GROUPS(vpe);
 
 static void vpe_device_release(struct device *cd)
 {
-	kfree(cd);
 }
 
 static struct class vpe_class = {
@@ -497,6 +496,7 @@ int __init vpe_module_init(void)
 	device_del(&vpe_device);
 
 out_class:
+	put_device(&vpe_device);
 	class_unregister(&vpe_class);
 
 out_chrdev:
@@ -509,7 +509,7 @@ void __exit vpe_module_exit(void)
 {
 	struct vpe *v, *n;
 
-	device_del(&vpe_device);
+	device_unregister(&vpe_device);
 	class_unregister(&vpe_class);
 	unregister_chrdev(major, VPE_MODULE_NAME);
 
arch/parisc/include/uapi/asm/mman.h +8 -9
index d1af0d74a188..62f2a34f9438 100644
@@ -48,25 +48,24 @@
 #define MADV_DONTFORK	10		/* don't inherit across fork */
 #define MADV_DOFORK	11		/* do inherit across fork */
 
-#define MADV_MERGEABLE   65		/* KSM may merge identical pages */
-#define MADV_UNMERGEABLE 66		/* KSM may not merge identical pages */
+#define MADV_MERGEABLE   12		/* KSM may merge identical pages */
+#define MADV_UNMERGEABLE 13		/* KSM may not merge identical pages */
 
-#define MADV_HUGEPAGE	67		/* Worth backing with hugepages */
-#define MADV_NOHUGEPAGE	68		/* Not worth backing with hugepages */
+#define MADV_HUGEPAGE	14		/* Worth backing with hugepages */
+#define MADV_NOHUGEPAGE 15		/* Not worth backing with hugepages */
 
-#define MADV_DONTDUMP   69		/* Explicity exclude from the core dump,
+#define MADV_DONTDUMP   16		/* Explicity exclude from the core dump,
 					   overrides the coredump filter bits */
-#define MADV_DODUMP	70		/* Clear the MADV_NODUMP flag */
+#define MADV_DODUMP	17		/* Clear the MADV_NODUMP flag */
 
-#define MADV_WIPEONFORK 71		/* Zero memory on fork, child only */
-#define MADV_KEEPONFORK 72		/* Undo MADV_WIPEONFORK */
+#define MADV_WIPEONFORK 18		/* Zero memory on fork, child only */
+#define MADV_KEEPONFORK 19		/* Undo MADV_WIPEONFORK */
 
 #define MADV_HWPOISON     100		/* poison a page for testing */
 #define MADV_SOFT_OFFLINE 101		/* soft offline page for testing */
 
 /* compatibility flags */
 #define MAP_FILE	0
-#define MAP_VARIABLE	0
 
 #define PKEY_DISABLE_ACCESS	0x1
 #define PKEY_DISABLE_WRITE	0x2
arch/parisc/kernel/sys_parisc.c +27 -0
index 378a754ca186..3b7ffa91c6a0 100644
@@ -385,3 +385,30 @@ long parisc_personality(unsigned long personality)
 
 	return err;
 }
+
+/*
+ * madvise() wrapper
+ *
+ * Up to kernel v6.1 parisc has different values than all other
+ * platforms for the MADV_xxx flags listed below.
+ * To keep binary compatibility with existing userspace programs
+ * translate the former values to the new values.
+ *
+ * XXX: Remove this wrapper in year 2025 (or later)
+ */
+
+asmlinkage notrace long parisc_madvise(unsigned long start, size_t len_in, int behavior)
+{
+	switch (behavior) {
+	case 65: behavior = MADV_MERGEABLE;	break;
+	case 66: behavior = MADV_UNMERGEABLE;	break;
+	case 67: behavior = MADV_HUGEPAGE;	break;
+	case 68: behavior = MADV_NOHUGEPAGE;	break;
+	case 69: behavior = MADV_DONTDUMP;	break;
+	case 70: behavior = MADV_DODUMP;	break;
+	case 71: behavior = MADV_WIPEONFORK;	break;
+	case 72: behavior = MADV_KEEPONFORK;	break;
+	}
+
+	return sys_madvise(start, len_in, behavior);
+}
arch/parisc/kernel/syscall_table.S +1 -1
index 6308749359e4..41d68e70c87f 100644
@@ -195,7 +195,7 @@
 	ENTRY_COMP(sysinfo)
 	ENTRY_SAME(shutdown)
 	ENTRY_SAME(fsync)
-	ENTRY_SAME(madvise)
+	ENTRY_OURS(madvise)
 	ENTRY_SAME(clone_wrapper)	/* 120 */
 	ENTRY_SAME(setdomainname)
 	ENTRY_COMP(sendfile)
arch/powerpc/kernel/rtas.c +16 -4
index dd20e87f18f2..5d84b412b2fd 100644
@@ -716,6 +716,7 @@ void __noreturn rtas_halt(void)
 
 /* Must be in the RMO region, so we place it here */
 static char rtas_os_term_buf[2048];
+static s32 ibm_os_term_token = RTAS_UNKNOWN_SERVICE;
 
 void rtas_os_term(char *str)
 {
@@ -727,16 +728,20 @@ void rtas_os_term(char *str)
 	 * this property may terminate the partition which we want to avoid
 	 * since it interferes with panic_timeout.
 	 */
-	if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term") ||
-	    RTAS_UNKNOWN_SERVICE == rtas_token("ibm,extended-os-term"))
+	if (ibm_os_term_token == RTAS_UNKNOWN_SERVICE)
 		return;
 
 	snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str);
 
+	/*
+	 * Keep calling as long as RTAS returns a "try again" status,
+	 * but don't use rtas_busy_delay(), which potentially
+	 * schedules.
+	 */
 	do {
-		status = rtas_call(rtas_token("ibm,os-term"), 1, 1, NULL,
+		status = rtas_call(ibm_os_term_token, 1, 1, NULL,
 				   __pa(rtas_os_term_buf));
-	} while (rtas_busy_delay(status));
+	} while (rtas_busy_delay_time(status));
 
 	if (status != 0)
 		printk(KERN_EMERG "ibm,os-term call failed %d\n", status);
@@ -1331,6 +1336,13 @@ void __init rtas_initialize(void)
 	no_entry = of_property_read_u32(rtas.dev, "linux,rtas-entry", &entry);
 	rtas.entry = no_entry ? rtas.base : entry;
 
+	/*
+	 * Discover these now to avoid device tree lookups in the
+	 * panic path.
+	 */
+	if (of_property_read_bool(rtas.dev, "ibm,extended-os-term"))
+		ibm_os_term_token = rtas_token("ibm,os-term");
+
 	/* If RTAS was found, allocate the RMO buffer for it and look for
 	 * the stop-self token if any
 	 */
arch/powerpc/perf/callchain.c +1 -0
index 0af051a1974e..26a31a3b661e 100644
@@ -68,6 +68,7 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re
 		next_sp = fp[0];
 
 		if (next_sp == sp + STACK_INT_FRAME_SIZE &&
+		    validate_sp(sp, current, STACK_INT_FRAME_SIZE) &&
 		    fp[STACK_FRAME_MARKER] == STACK_FRAME_REGS_MARKER) {
 			/*
 			 * This looks like an interrupt frame for an
arch/powerpc/perf/hv-gpci-requests.h +4 -0
index 8965b4463d43..5e86371a20c7 100644
@@ -79,6 +79,7 @@ REQUEST(__field(0,	8,	partition_id)
 )
 #include I(REQUEST_END)
 
+#ifdef ENABLE_EVENTS_COUNTERINFO_V6
 /*
  * Not available for counter_info_version >= 0x8, use
  * run_instruction_cycles_by_partition(0x100) instead.
@@ -92,6 +93,7 @@ REQUEST(__field(0,	8,	partition_id)
 	__count(0x10,	8,	cycles)
 )
 #include I(REQUEST_END)
+#endif
 
 #define REQUEST_NAME system_performance_capabilities
 #define REQUEST_NUM 0x40
@@ -103,6 +105,7 @@ REQUEST(__field(0,	1,	perf_collect_privileged)
 )
 #include I(REQUEST_END)
 
+#ifdef ENABLE_EVENTS_COUNTERINFO_V6
 #define REQUEST_NAME processor_bus_utilization_abc_links
 #define REQUEST_NUM 0x50
 #define REQUEST_IDX_KIND "hw_chip_id=?"
@@ -194,6 +197,7 @@ REQUEST(__field(0,	4,	phys_processor_idx)
 	__count(0x28,	8,	instructions_completed)
 )
 #include I(REQUEST_END)
+#endif
 
 /* Processor_core_power_mode (0x95) skipped, no counters */
 /* Affinity_domain_information_by_virtual_processor (0xA0) skipped,
arch/powerpc/perf/hv-gpci.c +32 -1
index 160b86d9d819..126409bb5626 100644
@@ -74,7 +74,7 @@ static struct attribute_group format_group = {
 
 static struct attribute_group event_group = {
 	.name  = "events",
-	.attrs = hv_gpci_event_attrs,
+	/* .attrs is set in init */
 };
 
 #define HV_CAPS_ATTR(_name, _format)				\
@@ -292,6 +292,7 @@ static int hv_gpci_init(void)
 	int r;
 	unsigned long hret;
 	struct hv_perf_caps caps;
+	struct hv_gpci_request_buffer *arg;
 
 	hv_gpci_assert_offsets_correct();
 
@@ -310,6 +311,36 @@ static int hv_gpci_init(void)
 	/* sampling not supported */
 	h_gpci_pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
 
+	arg = (void *)get_cpu_var(hv_gpci_reqb);
+	memset(arg, 0, HGPCI_REQ_BUFFER_SIZE);
+
+	/*
+	 * hcall H_GET_PERF_COUNTER_INFO populates the output
+	 * counter_info_version value based on the system hypervisor.
+	 * Pass the counter request 0x10 corresponds to request type
+	 * 'Dispatch_timebase_by_processor', to get the supported
+	 * counter_info_version.
+	 */
+	arg->params.counter_request = cpu_to_be32(0x10);
+
+	r = plpar_hcall_norets(H_GET_PERF_COUNTER_INFO,
+			virt_to_phys(arg), HGPCI_REQ_BUFFER_SIZE);
+	if (r) {
+		pr_devel("hcall failed, can't get supported counter_info_version: 0x%x\n", r);
+		arg->params.counter_info_version_out = 0x8;
+	}
+
+	/*
+	 * Use counter_info_version_out value to assign
+	 * required hv-gpci event list.
+	 */
+	if (arg->params.counter_info_version_out >= 0x8)
+		event_group.attrs = hv_gpci_event_attrs;
+	else
+		event_group.attrs = hv_gpci_event_attrs_v6;
+
+	put_cpu_var(hv_gpci_reqb);
+
 	r = perf_pmu_register(&h_gpci_pmu, h_gpci_pmu.name, -1);
 	if (r)
 		return r;
arch/powerpc/perf/hv-gpci.h +1 -0
index a3053eda5dcc..060e464d35c6 100644
@@ -53,6 +53,7 @@ enum {
 #define REQUEST_FILE "../hv-gpci-requests.h"
 #define NAME_LOWER hv_gpci
 #define NAME_UPPER HV_GPCI
+#define ENABLE_EVENTS_COUNTERINFO_V6
 #include "req-gen/perf.h"
 #undef REQUEST_FILE
 #undef NAME_LOWER
arch/powerpc/perf/req-gen/perf.h +20 -0
index 871a9a1766c2..5edbcd60c295 100644
@@ -138,6 +138,26 @@ PMU_EVENT_ATTR_STRING(							\
 #define REQUEST_(r_name, r_value, r_idx_1, r_fields)			\
 	r_fields
 
+/* Generate event list for platforms with counter_info_version 0x6 or below */
+static __maybe_unused struct attribute *hv_gpci_event_attrs_v6[] = {
+#include REQUEST_FILE
+	NULL
+};
+
+/*
+ * Based on getPerfCountInfo v1.018 documentation, some of the hv-gpci
+ * events were deprecated for platform firmware that supports
+ * counter_info_version 0x8 or above.
+ * Those deprecated events are still part of platform firmware that
+ * support counter_info_version 0x6 and below. As per the getPerfCountInfo
+ * v1.018 documentation there is no counter_info_version 0x7.
+ * Undefining macro ENABLE_EVENTS_COUNTERINFO_V6, to disable the addition of
+ * deprecated events in "hv_gpci_event_attrs" attribute group, for platforms
+ * that supports counter_info_version 0x8 or above.
+ */
+#undef ENABLE_EVENTS_COUNTERINFO_V6
+
+/* Generate event list for platforms with counter_info_version 0x8 or above*/
 static __maybe_unused struct attribute *hv_gpci_event_attrs[] = {
 #include REQUEST_FILE
 	NULL
arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +1 -0
index 7bb42a0100de..caaaaf2bea52 100644
@@ -531,6 +531,7 @@ static int mpc52xx_lpbfifo_probe(struct platform_device *op)
  err_bcom_rx_irq:
 	bcom_gen_bd_rx_release(lpbfifo.bcom_rx_task);
  err_bcom_rx:
+	free_irq(lpbfifo.irq, &lpbfifo);
  err_irq:
 	iounmap(lpbfifo.regs);
 	lpbfifo.regs = NULL;
arch/powerpc/platforms/83xx/mpc832x_rdb.c +1 -1
index a4539c5accb0..8c31c3275b66 100644
@@ -111,7 +111,7 @@ static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
 
 		goto next;
 unreg:
-		platform_device_del(pdev);
+		platform_device_put(pdev);
 err:
 		pr_err("%pOF: registration failed\n", np);
 next:
arch/powerpc/sysdev/xive/spapr.c +1 -0
index e9b8e06c9dce..be1619c9b726 100644
@@ -323,6 +323,7 @@ static int xive_spapr_populate_irq_data(u32 hw_irq, struct xive_irq_data *data)
 
 	data->trig_mmio = ioremap(data->trig_page, 1u << data->esb_shift);
 	if (!data->trig_mmio) {
+		iounmap(data->eoi_mmio);
 		pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq);
 		return -ENOMEM;
 	}
arch/s390/include/asm/percpu.h +1 -1
index 50f6661ba566..026a94b03a3c 100644
@@ -31,7 +31,7 @@
 	pcp_op_T__ *ptr__;						\
 	preempt_disable_notrace();					\
 	ptr__ = raw_cpu_ptr(&(pcp));					\
-	prev__ = *ptr__;						\
+	prev__ = READ_ONCE(*ptr__);					\
 	do {								\
 		old__ = prev__;						\
 		new__ = old__ op (val);					\
arch/x86/boot/bioscall.S +2 -2
index d401b4a262b0..a860390852ff 100644
@@ -35,7 +35,7 @@ intcall:
 	movw	%dx, %si
 	movw	%sp, %di
 	movw	$11, %cx
-	rep; movsd
+	rep; movsl
 
 	/* Pop full state from the stack */
 	popal
@@ -70,7 +70,7 @@ intcall:
 	jz	4f
 	movw	%sp, %si
 	movw	$11, %cx
-	rep; movsd
+	rep; movsl
 4:	addw	$44, %sp
 
 	/* Restore state and return */
arch/x86/kernel/cpu/bugs.c +2 -0
index 12c687455430..80dfd84c3ca8 100644
@@ -1776,6 +1776,8 @@ static int ib_prctl_set(struct task_struct *task, unsigned long ctrl)
 		if (ctrl == PR_SPEC_FORCE_DISABLE)
 			task_set_spec_ib_force_disable(task);
 		task_update_spec_tif(task);
+		if (task == current)
+			indirect_branch_prediction_barrier();
 		break;
 	default:
 		return -ERANGE;
arch/x86/kernel/cpu/microcode/intel.c +1 -7
index 3aa0e5a45303..31ad79a0c6f3 100644
@@ -662,7 +662,6 @@ void load_ucode_intel_ap(void)
 	else
 		iup = &intel_ucode_patch;
 
-reget:
 	if (!*iup) {
 		patch = __load_ucode_intel(&uci);
 		if (!patch)
@@ -673,12 +672,7 @@ void load_ucode_intel_ap(void)
 
 	uci.mc = *iup;
 
-	if (apply_microcode_early(&uci, true)) {
-		/* Mixed-silicon system? Try to refetch the proper patch: */
-		*iup = NULL;
-
-		goto reget;
-	}
+	apply_microcode_early(&uci, true);
 }
 
 static struct microcode_intel *find_patch(struct ucode_cpu_info *uci)
arch/x86/kernel/uprobes.c +3 -1
index 52bb7413f352..953ed5b5a218 100644
@@ -718,8 +718,9 @@ static int branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)
 	switch (opc1) {
 	case 0xeb:	/* jmp 8 */
 	case 0xe9:	/* jmp 32 */
-	case 0x90:	/* prefix* + nop; same as jmp with .offs = 0 */
 		break;
+	case 0x90:	/* prefix* + nop; same as jmp with .offs = 0 */
+		goto setup;
 
 	case 0xe8:	/* call relative */
 		branch_clear_offset(auprobe, insn);
@@ -748,6 +749,7 @@ static int branch_setup_xol_ops(struct arch_uprobe *auprobe, struct insn *insn)
 			return -ENOTSUPP;
 	}
 
+setup:
 	auprobe->branch.opc1 = opc1;
 	auprobe->branch.ilen = insn->length;
 	auprobe->branch.offs = insn->immediate.value;
arch/x86/xen/spinlock.c +3 -3
index e22ee2439615..957ef40b8772 100644
@@ -81,6 +81,7 @@ void xen_init_lock_cpu(int cpu)
 	     cpu, per_cpu(lock_kicker_irq, cpu));
 
 	name = kasprintf(GFP_KERNEL, "spinlock%d", cpu);
+	per_cpu(irq_name, cpu) = name;
 	irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR,
 				     cpu,
 				     dummy_handler,
@@ -91,7 +92,6 @@ void xen_init_lock_cpu(int cpu)
 	if (irq >= 0) {
 		disable_irq(irq); /* make sure it's never delivered */
 		per_cpu(lock_kicker_irq, cpu) = irq;
-		per_cpu(irq_name, cpu) = name;
 	}
 
 	printk("cpu %d spinlock event irq %d\n", cpu, irq);
@@ -104,6 +104,8 @@ void xen_uninit_lock_cpu(int cpu)
 	if (!xen_pvspin)
 		return;
 
+	kfree(per_cpu(irq_name, cpu));
+	per_cpu(irq_name, cpu) = NULL;
 	/*
 	 * When booting the kernel with 'mitigations=auto,nosmt', the secondary
 	 * CPUs are not activated, and lock_kicker_irq is not initialized.
@@ -114,8 +116,6 @@ void xen_uninit_lock_cpu(int cpu)
 
 	unbind_from_irqhandler(irq, NULL);
 	per_cpu(lock_kicker_irq, cpu) = -1;
-	kfree(per_cpu(irq_name, cpu));
-	per_cpu(irq_name, cpu) = NULL;
 }
 
 PV_CALLEE_SAVE_REGS_THUNK(xen_vcpu_stolen);
block/blk-mq-sysfs.c +9 -2
index c97fafa1b206..dd98410eddae 100644
@@ -235,7 +235,7 @@ static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx)
 {
 	struct request_queue *q = hctx->queue;
 	struct blk_mq_ctx *ctx;
-	int i, ret;
+	int i, j, ret;
 
 	if (!hctx->nr_ctx)
 		return 0;
@@ -247,9 +247,16 @@ static int blk_mq_register_hctx(struct blk_mq_hw_ctx *hctx)
 	hctx_for_each_ctx(hctx, ctx, i) {
 		ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu);
 		if (ret)
-			break;
+			goto out;
 	}
 
+	return 0;
+out:
+	hctx_for_each_ctx(hctx, ctx, j) {
+		if (j < i)
+			kobject_del(&ctx->kobj);
+	}
+	kobject_del(&hctx->kobj);
 	return ret;
 }
 
block/partition-generic.c +6 -0
index db57cced9b98..68bd04d044b9 100644
@@ -270,6 +270,7 @@ void delete_partition(struct gendisk *disk, int partno)
 	struct disk_part_tbl *ptbl =
 		rcu_dereference_protected(disk->part_tbl, 1);
 	struct hd_struct *part;
+	struct block_device *bdev;
 
 	if (partno >= ptbl->len)
 		return;
@@ -283,6 +284,11 @@ void delete_partition(struct gendisk *disk, int partno)
 	kobject_put(part->holder_dir);
 	device_del(part_to_dev(part));
 
+	bdev = bdget(part_devt(part));
+	if (bdev) {
+		remove_inode_hash(bdev->bd_inode);
+		bdput(bdev);
+	}
 	hd_struct_kill(part);
 }
 
drivers/acpi/acpica/dsmethod.c +8 -2
index d7fc36917c67..88e729e24314 100644
@@ -551,7 +551,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,
 	info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info));
 	if (!info) {
 		status = AE_NO_MEMORY;
-		goto cleanup;
+		goto pop_walk_state;
 	}
 
 	info->parameters = &this_walk_state->operands[0];
@@ -563,7 +563,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,
 
 	ACPI_FREE(info);
 	if (ACPI_FAILURE(status)) {
-		goto cleanup;
+		goto pop_walk_state;
 	}
 
 	/*
@@ -595,6 +595,12 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,
 
 	return_ACPI_STATUS(status);
 
+pop_walk_state:
+
+	/* On error, pop the walk state to be deleted from thread */
+
+	acpi_ds_pop_walk_state(thread);
+
 cleanup:
 
 	/* On error, we must terminate the method properly */
drivers/acpi/acpica/utcopy.c +0 -7
index e9382255d6c6..3b88d9c91012 100644
@@ -950,13 +950,6 @@ acpi_ut_copy_ipackage_to_ipackage(union acpi_operand_object *source_obj,
 	status = acpi_ut_walk_package_tree(source_obj, dest_obj,
 					   acpi_ut_copy_ielement_to_ielement,
 					   walk_state);
-	if (ACPI_FAILURE(status)) {
-
-		/* On failure, delete the destination package object */
-
-		acpi_ut_remove_reference(dest_obj);
-	}
-
 	return_ACPI_STATUS(status);
 }
 
drivers/base/class.c +5 -0
index 52eb8e644acd..93f22fba0d5c 100644
@@ -187,6 +187,11 @@ int __class_register(struct class *cls, struct lock_class_key *key)
 	}
 	error = class_add_groups(class_get(cls), cls->class_groups);
 	class_put(cls);
+	if (error) {
+		kobject_del(&cp->subsys.kobj);
+		kfree_const(cp->subsys.kobj.name);
+		kfree(cp);
+	}
 	return error;
 }
 EXPORT_SYMBOL_GPL(__class_register);
drivers/base/dd.c +6 -2
index a7bcbb99e820..0f006cad2be7 100644
@@ -785,8 +785,12 @@ static int __driver_attach(struct device *dev, void *data)
 		 */
 		return 0;
 	} else if (ret < 0) {
-		dev_dbg(dev, "Bus failed to match device: %d", ret);
-		return ret;
+		dev_dbg(dev, "Bus failed to match device: %d\n", ret);
+		/*
+		 * Driver could not match with device, but may match with
+		 * another device on the bus.
+		 */
+		return 0;
 	} /* ret > 0 means positive match */
 
 	if (dev->parent)	/* Needed for USB */
drivers/bluetooth/btusb.c +3 -3
index 40db5c400519..27d26ef70dcc 100644
@@ -490,13 +490,13 @@ static inline void btusb_free_frags(struct btusb_data *data)
 
 	spin_lock_irqsave(&data->rxlock, flags);
 
-	kfree_skb(data->evt_skb);
+	dev_kfree_skb_irq(data->evt_skb);
 	data->evt_skb = NULL;
 
-	kfree_skb(data->acl_skb);
+	dev_kfree_skb_irq(data->acl_skb);
 	data->acl_skb = NULL;
 
-	kfree_skb(data->sco_skb);
+	dev_kfree_skb_irq(data->sco_skb);
 	data->sco_skb = NULL;
 
 	spin_unlock_irqrestore(&data->rxlock, flags);
drivers/bluetooth/hci_bcsp.c +1 -1
index ee6c403de6af..aad29ebad9ed 100644
@@ -392,7 +392,7 @@ static void bcsp_pkt_cull(struct bcsp_struct *bcsp)
 		i++;
 
 		__skb_unlink(skb, &bcsp->unack);
-		kfree_skb(skb);
+		dev_kfree_skb_irq(skb);
 	}
 
 	if (skb_queue_empty(&bcsp->unack))
drivers/bluetooth/hci_h5.c +1 -1
index c0e4e26dc30d..0a111bee975d 100644
@@ -264,7 +264,7 @@ static void h5_pkt_cull(struct h5 *h5)
 			break;
 
 		__skb_unlink(skb, &h5->unack);
-		kfree_skb(skb);
+		dev_kfree_skb_irq(skb);
 	}
 
 	if (skb_queue_empty(&h5->unack))
drivers/bluetooth/hci_qca.c +1 -1
index a6173ddfb5a7..b802c012b495 100644
@@ -715,7 +715,7 @@ static int qca_enqueue(struct hci_uart *hu, struct sk_buff *skb)
 	default:
 		BT_ERR("Illegal tx state: %d (losing packet)",
 		       qca->tx_ibs_state);
-		kfree_skb(skb);
+		dev_kfree_skb_irq(skb);
 		break;
 	}
 
drivers/char/hw_random/amd-rng.c +13 -5
index 9959c762da2f..db3dd467194c 100644
@@ -143,15 +143,19 @@ static int __init mod_init(void)
 found:
 	err = pci_read_config_dword(pdev, 0x58, &pmbase);
 	if (err)
-		return err;
+		goto put_dev;
 
 	pmbase &= 0x0000FF00;
-	if (pmbase == 0)
-		return -EIO;
+	if (pmbase == 0) {
+		err = -EIO;
+		goto put_dev;
+	}
 
 	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
-	if (!priv)
-		return -ENOMEM;
+	if (!priv) {
+		err = -ENOMEM;
+		goto put_dev;
+	}
 
 	if (!request_region(pmbase + PMBASE_OFFSET, PMBASE_SIZE, DRV_NAME)) {
 		dev_err(&pdev->dev, DRV_NAME " region 0x%x already in use!\n",
@@ -185,6 +189,8 @@ static int __init mod_init(void)
 	release_region(pmbase + PMBASE_OFFSET, PMBASE_SIZE);
 out:
 	kfree(priv);
+put_dev:
+	pci_dev_put(pdev);
 	return err;
 }
 
@@ -200,6 +206,8 @@ static void __exit mod_exit(void)
 
 	release_region(priv->pmbase + PMBASE_OFFSET, PMBASE_SIZE);
 
+	pci_dev_put(priv->pcidev);
+
 	kfree(priv);
 }
 
drivers/char/hw_random/geode-rng.c +28 -8
index e1d421a36a13..207272979f23 100644
@@ -51,6 +51,10 @@ static const struct pci_device_id pci_tbl[] = {
 };
 MODULE_DEVICE_TABLE(pci, pci_tbl);
 
+struct amd_geode_priv {
+	struct pci_dev *pcidev;
+	void __iomem *membase;
+};
 
 static int geode_rng_data_read(struct hwrng *rng, u32 *data)
 {
@@ -90,6 +94,7 @@ static int __init mod_init(void)
 	const struct pci_device_id *ent;
 	void __iomem *mem;
 	unsigned long rng_base;
+	struct amd_geode_priv *priv;
 
 	for_each_pci_dev(pdev) {
 		ent = pci_match_id(pci_tbl, pdev);
@@ -97,17 +102,26 @@ static int __init mod_init(void)
 			goto found;
 	}
 	/* Device not found. */
-	goto out;
+	return err;
 
 found:
+	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
+	if (!priv) {
+		err = -ENOMEM;
+		goto put_dev;
+	}
+
 	rng_base = pci_resource_start(pdev, 0);
 	if (rng_base == 0)
-		goto out;
+		goto free_priv;
 	err = -ENOMEM;
 	mem = ioremap(rng_base, 0x58);
 	if (!mem)
-		goto out;
-	geode_rng.priv = (unsigned long)mem;
+		goto free_priv;
+
+	geode_rng.priv = (unsigned long)priv;
+	priv->membase = mem;
+	priv->pcidev = pdev;
 
 	pr_info("AMD Geode RNG detected\n");
 	err = hwrng_register(&geode_rng);
@@ -116,20 +130,26 @@ static int __init mod_init(void)
 		       err);
 		goto err_unmap;
 	}
-out:
 	return err;
 
 err_unmap:
 	iounmap(mem);
-	goto out;
+free_priv:
+	kfree(priv);
+put_dev:
+	pci_dev_put(pdev);
+	return err;
 }
 
 static void __exit mod_exit(void)
 {
-	void __iomem *mem = (void __iomem *)geode_rng.priv;
+	struct amd_geode_priv *priv;
 
+	priv = (struct amd_geode_priv *)geode_rng.priv;
 	hwrng_unregister(&geode_rng);
-	iounmap(mem);
+	iounmap(priv->membase);
+	pci_dev_put(priv->pcidev);
+	kfree(priv);
 }
 
 module_init(mod_init);
drivers/char/ipmi/ipmi_msghandler.c +6 -2
index f72a272eeb9b..de03c5c07896 100644
@@ -2931,12 +2931,16 @@ static void deliver_smi_err_response(ipmi_smi_t intf,
 				     struct ipmi_smi_msg *msg,
 				     unsigned char err)
 {
+	int rv;
 	msg->rsp[0] = msg->data[0] | 4;
 	msg->rsp[1] = msg->data[1];
 	msg->rsp[2] = err;
 	msg->rsp_size = 3;
-	/* It's an error, so it will never requeue, no need to check return. */
-	handle_one_recv_msg(intf, msg);
+
+	/* This will never requeue, but it may ask us to free the message. */
+	rv = handle_one_recv_msg(intf, msg);
+	if (rv == 0)
+		ipmi_free_smi_msg(msg);
 }
 
 static void cleanup_smi_msgs(ipmi_smi_t intf)
drivers/char/tpm/tpm_crb.c +21 -10
index f978738554d5..dc78918562fd 100644
@@ -257,7 +257,7 @@ static int __crb_relinquish_locality(struct device *dev,
 	iowrite32(CRB_LOC_CTRL_RELINQUISH, &priv->regs_h->loc_ctrl);
 	if (!crb_wait_for_reg_32(&priv->regs_h->loc_state, mask, value,
 				 TPM2_TIMEOUT_C)) {
-		dev_warn(dev, "TPM_LOC_STATE_x.requestAccess timed out\n");
+		dev_warn(dev, "TPM_LOC_STATE_x.Relinquish timed out\n");
 		return -ETIME;
 	}
 
@@ -613,12 +613,16 @@ static int crb_acpi_add(struct acpi_device *device)
 
 	/* Should the FIFO driver handle this? */
 	sm = buf->start_method;
-	if (sm == ACPI_TPM2_MEMORY_MAPPED)
-		return -ENODEV;
+	if (sm == ACPI_TPM2_MEMORY_MAPPED) {
+		rc = -ENODEV;
+		goto out;
+	}
 
 	priv = devm_kzalloc(dev, sizeof(struct crb_priv), GFP_KERNEL);
-	if (!priv)
-		return -ENOMEM;
+	if (!priv) {
+		rc = -ENOMEM;
+		goto out;
+	}
 
 	/* The reason for the extra quirk is that the PTT in 4th Gen Core CPUs
 	 * report only ACPI start but in practice seems to require both
@@ -638,7 +642,8 @@ static int crb_acpi_add(struct acpi_device *device)
 				FW_BUG "TPM2 ACPI table has wrong size %u for start method type %d\n",
 				buf->header.length,
 				ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC);
-			return -EINVAL;
+			rc = -EINVAL;
+			goto out;
 		}
 		crb_smc = ACPI_ADD_PTR(struct tpm2_crb_smc, buf, sizeof(*buf));
 		priv->smc_func_id = crb_smc->smc_func_id;
@@ -647,17 +652,23 @@ static int crb_acpi_add(struct acpi_device *device)
 
 	rc = crb_map_io(device, priv, buf);
 	if (rc)
-		return rc;
+		goto out;
 
 	chip = tpmm_chip_alloc(dev, &tpm_crb);
-	if (IS_ERR(chip))
-		return PTR_ERR(chip);
+	if (IS_ERR(chip)) {
+		rc = PTR_ERR(chip);
+		goto out;
+	}
 
 	dev_set_drvdata(&chip->dev, priv);
 	chip->acpi_dev_handle = device->handle;
 	chip->flags = TPM_CHIP_FLAG_TPM2;
 
-	return tpm_chip_register(chip);
+	rc = tpm_chip_register(chip);
+
+out:
+	acpi_put_table((struct acpi_table_header *)buf);
+	return rc;
 }
 
 static int crb_acpi_remove(struct acpi_device *device)
drivers/char/tpm/tpm_tis.c +5 -4
index 50b59a69dc33..d87c7da699a8 100644
@@ -105,6 +105,7 @@ static int check_acpi_tpm2(struct device *dev)
 	const struct acpi_device_id *aid = acpi_match_device(tpm_acpi_tbl, dev);
 	struct acpi_table_tpm2 *tbl;
 	acpi_status st;
+	int ret = 0;
 
 	if (!aid || aid->driver_data != DEVICE_IS_TPM2)
 		return 0;
@@ -112,8 +113,7 @@ static int check_acpi_tpm2(struct device *dev)
 	/* If the ACPI TPM2 signature is matched then a global ACPI_SIG_TPM2
 	 * table is mandatory
 	 */
-	st =
-	    acpi_get_table(ACPI_SIG_TPM2, 1, (struct acpi_table_header **)&tbl);
+	st = acpi_get_table(ACPI_SIG_TPM2, 1, (struct acpi_table_header **)&tbl);
 	if (ACPI_FAILURE(st) || tbl->header.length < sizeof(*tbl)) {
 		dev_err(dev, FW_BUG "failed to get TPM2 ACPI table\n");
 		return -EINVAL;
@@ -121,9 +121,10 @@ static int check_acpi_tpm2(struct device *dev)
 
 	/* The tpm2_crb driver handles this device */
 	if (tbl->start_method != ACPI_TPM2_MEMORY_MAPPED)
-		return -ENODEV;
+		ret = -ENODEV;
 
-	return 0;
+	acpi_put_table((struct acpi_table_header *)tbl);
+	return ret;
 }
 #else
 static int check_acpi_tpm2(struct device *dev)
drivers/clk/rockchip/clk-pll.c +1 -0
index dd0433d4753e..77aff5defac6 100644
@@ -972,6 +972,7 @@ struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
 	return mux_clk;
 
 err_pll:
+	kfree(pll->rate_table);
 	clk_unregister(mux_clk);
 	mux_clk = pll_clk;
 err_mux:
drivers/clk/samsung/clk-pll.c +1 -0
index 037c61484098..8778425e2e87 100644
@@ -1392,6 +1392,7 @@ static void __init _samsung_clk_register_pll(struct samsung_clk_provider *ctx,
 	if (ret) {
 		pr_err("%s: failed to register pll clock %s : %d\n",
 			__func__, pll_clk->name, ret);
+		kfree(pll->rate_table);
 		kfree(pll);
 		return;
 	}
drivers/clk/st/clkgen-fsyn.c +3 -2
index 14819d919df1..715c5d3a5cde 100644
@@ -948,9 +948,10 @@ static void __init st_of_quadfs_setup(struct device_node *np,
 
 	clk = st_clk_register_quadfs_pll(pll_name, clk_parent_name, data,
 			reg, lock);
-	if (IS_ERR(clk))
+	if (IS_ERR(clk)) {
+		kfree(lock);
 		goto err_exit;
-	else
+	} else
 		pr_debug("%s: parent %s rate %u\n",
 			__clk_get_name(clk),
 			__clk_get_name(clk_get_parent(clk)),
drivers/cpuidle/dt_idle_states.c +1 -1
index 53342b7f1010..ea3c59d3fdad 100644
@@ -224,6 +224,6 @@ int dt_init_idle_driver(struct cpuidle_driver *drv,
 	 * also be 0 on platforms with missing DT idle states or legacy DT
 	 * configuration predating the DT idle states bindings.
 	 */
-	return i;
+	return state_idx - start_idx;
 }
 EXPORT_SYMBOL_GPL(dt_init_idle_driver);
drivers/crypto/img-hash.c +6 -2
index b87000a0a01c..f70923643a97 100644
@@ -359,12 +359,16 @@ static int img_hash_dma_init(struct img_hash_dev *hdev)
 static void img_hash_dma_task(unsigned long d)
 {
 	struct img_hash_dev *hdev = (struct img_hash_dev *)d;
-	struct img_hash_request_ctx *ctx = ahash_request_ctx(hdev->req);
+	struct img_hash_request_ctx *ctx;
 	u8 *addr;
 	size_t nbytes, bleft, wsend, len, tbc;
 	struct scatterlist tsg;
 
-	if (!hdev->req || !ctx->sg)
+	if (!hdev->req)
+		return;
+
+	ctx = ahash_request_ctx(hdev->req);
+	if (!ctx->sg)
 		return;
 
 	addr = sg_virt(ctx->sg);
drivers/crypto/n2_core.c +6 -0
index 699ee5a9a8f9..5d7a6135e596 100644
@@ -1276,6 +1276,7 @@ struct n2_hash_tmpl {
 	const u32	*hash_init;
 	u8		hw_op_hashsz;
 	u8		digest_size;
+	u8		statesize;
 	u8		block_size;
 	u8		auth_type;
 	u8		hmac_type;
@@ -1307,6 +1308,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
 	  .hmac_type	= AUTH_TYPE_HMAC_MD5,
 	  .hw_op_hashsz	= MD5_DIGEST_SIZE,
 	  .digest_size	= MD5_DIGEST_SIZE,
+	  .statesize	= sizeof(struct md5_state),
 	  .block_size	= MD5_HMAC_BLOCK_SIZE },
 	{ .name		= "sha1",
 	  .hash_zero	= sha1_zero_message_hash,
@@ -1315,6 +1317,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
 	  .hmac_type	= AUTH_TYPE_HMAC_SHA1,
 	  .hw_op_hashsz	= SHA1_DIGEST_SIZE,
 	  .digest_size	= SHA1_DIGEST_SIZE,
+	  .statesize	= sizeof(struct sha1_state),
 	  .block_size	= SHA1_BLOCK_SIZE },
 	{ .name		= "sha256",
 	  .hash_zero	= sha256_zero_message_hash,
@@ -1323,6 +1326,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
 	  .hmac_type	= AUTH_TYPE_HMAC_SHA256,
 	  .hw_op_hashsz	= SHA256_DIGEST_SIZE,
 	  .digest_size	= SHA256_DIGEST_SIZE,
+	  .statesize	= sizeof(struct sha256_state),
 	  .block_size	= SHA256_BLOCK_SIZE },
 	{ .name		= "sha224",
 	  .hash_zero	= sha224_zero_message_hash,
@@ -1331,6 +1335,7 @@ static const struct n2_hash_tmpl hash_tmpls[] = {
 	  .hmac_type	= AUTH_TYPE_RESERVED,
 	  .hw_op_hashsz	= SHA256_DIGEST_SIZE,
 	  .digest_size	= SHA224_DIGEST_SIZE,
+	  .statesize	= sizeof(struct sha256_state),
 	  .block_size	= SHA224_BLOCK_SIZE },
 };
 #define NUM_HASH_TMPLS ARRAY_SIZE(hash_tmpls)
@@ -1470,6 +1475,7 @@ static int __n2_register_one_ahash(const struct n2_hash_tmpl *tmpl)
 
 	halg = &ahash->halg;
 	halg->digestsize = tmpl->digest_size;
+	halg->statesize = tmpl->statesize;
 
 	base = &halg->base;
 	snprintf(base->cra_name, CRYPTO_MAX_ALG_NAME, "%s", tmpl->name);
drivers/dio/dio.c +8 -0
index 92e78d16b476..fcde602f4902 100644
@@ -110,6 +110,12 @@ static char dio_no_name[] = { 0 };
 
 #endif /* CONFIG_DIO_CONSTANTS */
 
+static void dio_dev_release(struct device *dev)
+{
+	struct dio_dev *ddev = container_of(dev, typeof(struct dio_dev), dev);
+	kfree(ddev);
+}
+
 int __init dio_find(int deviceid)
 {
 	/* Called to find a DIO device before the full bus scan has run.
@@ -222,6 +228,7 @@ static int __init dio_init(void)
 		dev->bus = &dio_bus;
 		dev->dev.parent = &dio_bus.dev;
 		dev->dev.bus = &dio_bus_type;
+		dev->dev.release = dio_dev_release;
 		dev->scode = scode;
 		dev->resource.start = pa;
 		dev->resource.end = pa + DIO_SIZE(scode, va);
@@ -249,6 +256,7 @@ static int __init dio_init(void)
 		if (error) {
 			pr_err("DIO: Error registering device %s\n",
 			       dev->name);
+			put_device(&dev->dev);
 			continue;
 		}
 		error = dio_create_sysfs_dev_files(dev);
drivers/edac/edac_device.c +8 -9
index 65cf2b9355c4..93d6e6319b3c 100644
@@ -424,17 +424,16 @@ static void edac_device_workq_teardown(struct edac_device_ctl_info *edac_dev)
  *	Then restart the workq on the new delay
  */
 void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev,
-					unsigned long value)
+				    unsigned long msec)
 {
-	unsigned long jiffs = msecs_to_jiffies(value);
-
-	if (value == 1000)
-		jiffs = round_jiffies_relative(value);
-
-	edac_dev->poll_msec = value;
-	edac_dev->delay	    = jiffs;
+	edac_dev->poll_msec = msec;
+	edac_dev->delay	    = msecs_to_jiffies(msec);
 
-	edac_mod_work(&edac_dev->work, jiffs);
+	/* See comment in edac_device_workq_setup() above */
+	if (edac_dev->poll_msec == 1000)
+		edac_mod_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay));
+	else
+		edac_mod_work(&edac_dev->work, edac_dev->delay);
 }
 
 int edac_device_alloc_index(void)
drivers/edac/edac_module.h +1 -1
index c9f0e73872a6..a74c441759a8 100644
@@ -57,7 +57,7 @@ bool edac_stop_work(struct delayed_work *work);
 bool edac_mod_work(struct delayed_work *work, unsigned long delay);
 
 extern void edac_device_reset_delay_period(struct edac_device_ctl_info
-					   *edac_dev, unsigned long value);
+					   *edac_dev, unsigned long msec);
 extern void edac_mc_reset_delay_period(unsigned long value);
 
 extern void *edac_align_ptr(void **p, unsigned size, int n_elems);
drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c +1 -0
index 057e1ecd83ce..b90b39a841e9 100644
@@ -307,6 +307,7 @@ static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev)
 
 	if (!found)
 		return false;
+	pci_dev_put(pdev);
 
 	adev->bios = kmalloc(size, GFP_KERNEL);
 	if (!adev->bios) {
drivers/gpu/drm/drm_connector.c +3 -0
index ba9f36cef68c..245ba6972f0c 100644
@@ -352,6 +352,9 @@ void drm_connector_cleanup(struct drm_connector *connector)
 	mutex_destroy(&connector->mutex);
 
 	memset(connector, 0, sizeof(*connector));
+
+	if (dev->registered)
+		drm_sysfs_hotplug_event(dev);
 }
 EXPORT_SYMBOL(drm_connector_cleanup);
 
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +3 -2
index c54806d08dd7..aec9fe01dfe9 100644
@@ -83,8 +83,9 @@ static int fsl_dcu_drm_connector_get_modes(struct drm_connector *connector)
 	return num_modes;
 }
 
-static int fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector,
-					    struct drm_display_mode *mode)
+static enum drm_mode_status
+fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector,
+				 struct drm_display_mode *mode)
 {
 	if (mode->hdisplay & 0xf)
 		return MODE_ERROR;
drivers/gpu/drm/radeon/radeon_bios.c +12 -7
index 04c0ed41374f..92f50b26e4c9 100644
@@ -215,6 +215,7 @@ static bool radeon_atrm_get_bios(struct radeon_device *rdev)
 
 	if (!found)
 		return false;
+	pci_dev_put(pdev);
 
 	rdev->bios = kmalloc(size, GFP_KERNEL);
 	if (!rdev->bios) {
@@ -600,13 +601,14 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
 	acpi_size tbl_size;
 	UEFI_ACPI_VFCT *vfct;
 	unsigned offset;
+	bool r = false;
 
 	if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr)))
 		return false;
 	tbl_size = hdr->length;
 	if (tbl_size < sizeof(UEFI_ACPI_VFCT)) {
 		DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n");
-		return false;
+		goto out;
 	}
 
 	vfct = (UEFI_ACPI_VFCT *)hdr;
@@ -619,13 +621,13 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
 		offset += sizeof(VFCT_IMAGE_HEADER);
 		if (offset > tbl_size) {
 			DRM_ERROR("ACPI VFCT image header truncated\n");
-			return false;
+			goto out;
 		}
 
 		offset += vhdr->ImageLength;
 		if (offset > tbl_size) {
 			DRM_ERROR("ACPI VFCT image truncated\n");
-			return false;
+			goto out;
 		}
 
 		if (vhdr->ImageLength &&
@@ -637,15 +639,18 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
 			rdev->bios = kmemdup(&vbios->VbiosContent,
 					     vhdr->ImageLength,
 					     GFP_KERNEL);
+			if (rdev->bios)
+				r = true;
 
-			if (!rdev->bios)
-				return false;
-			return true;
+			goto out;
 		}
 	}
 
 	DRM_ERROR("ACPI VFCT table present but broken (too short #2)\n");
-	return false;
+
+out:
+	acpi_put_table(hdr);
+	return r;
 }
 #else
 static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
drivers/gpu/drm/sti/sti_dvo.c +4 -3
index 852bf2293b05..ed6ee8815af6 100644
@@ -288,7 +288,7 @@ static void sti_dvo_set_mode(struct drm_bridge *bridge,
 
 	DRM_DEBUG_DRIVER("\n");
 
-	memcpy(&dvo->mode, mode, sizeof(struct drm_display_mode));
+	drm_mode_copy(&dvo->mode, mode);
 
 	/* According to the path used (main or aux), the dvo clocks should
 	 * have a different parent clock. */
@@ -346,8 +346,9 @@ static int sti_dvo_connector_get_modes(struct drm_connector *connector)
 
 #define CLK_TOLERANCE_HZ 50
 
-static int sti_dvo_connector_mode_valid(struct drm_connector *connector,
-					struct drm_display_mode *mode)
+static enum drm_mode_status
+sti_dvo_connector_mode_valid(struct drm_connector *connector,
+			     struct drm_display_mode *mode)
 {
 	int target = mode->clock * 1000;
 	int target_min = target - CLK_TOLERANCE_HZ;
drivers/gpu/drm/sti/sti_hda.c +4 -3
index 0399bb18d387..e13fa348e8c8 100644
@@ -518,7 +518,7 @@ static void sti_hda_set_mode(struct drm_bridge *bridge,
 
 	DRM_DEBUG_DRIVER("\n");
 
-	memcpy(&hda->mode, mode, sizeof(struct drm_display_mode));
+	drm_mode_copy(&hda->mode, mode);
 
 	if (!hda_get_mode_idx(hda->mode, &mode_idx)) {
 		DRM_ERROR("Undefined mode\n");
@@ -596,8 +596,9 @@ static int sti_hda_connector_get_modes(struct drm_connector *connector)
 
 #define CLK_TOLERANCE_HZ 50
 
-static int sti_hda_connector_mode_valid(struct drm_connector *connector,
-					struct drm_display_mode *mode)
+static enum drm_mode_status
+sti_hda_connector_mode_valid(struct drm_connector *connector,
+			     struct drm_display_mode *mode)
 {
 	int target = mode->clock * 1000;
 	int target_min = target - CLK_TOLERANCE_HZ;
drivers/gpu/drm/sti/sti_hdmi.c +4 -3
index bbb195a92e93..acc80b1849d3 100644
@@ -924,7 +924,7 @@ static void sti_hdmi_set_mode(struct drm_bridge *bridge,
 	DRM_DEBUG_DRIVER("\n");
 
 	/* Copy the drm display mode in the connector local structure */
-	memcpy(&hdmi->mode, mode, sizeof(struct drm_display_mode));
+	drm_mode_copy(&hdmi->mode, mode);
 
 	/* Update clock framerate according to the selected mode */
 	ret = clk_set_rate(hdmi->clk_pix, mode->clock * 1000);
@@ -988,8 +988,9 @@ static int sti_hdmi_connector_get_modes(struct drm_connector *connector)
 
 #define CLK_TOLERANCE_HZ 50
 
-static int sti_hdmi_connector_mode_valid(struct drm_connector *connector,
-					struct drm_display_mode *mode)
+static enum drm_mode_status
+sti_hdmi_connector_mode_valid(struct drm_connector *connector,
+			      struct drm_display_mode *mode)
 {
 	int target = mode->clock * 1000;
 	int target_min = target - CLK_TOLERANCE_HZ;
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +2 -1
index fbba55edbfd0..47affc455966 100644
@@ -179,7 +179,8 @@ void vmw_kms_cursor_snoop(struct vmw_surface *srf,
 	if (cmd->dma.guest.ptr.offset % PAGE_SIZE ||
 	    box->x != 0    || box->y != 0    || box->z != 0    ||
 	    box->srcx != 0 || box->srcy != 0 || box->srcz != 0 ||
-	    box->d != 1    || box_count != 1) {
+	    box->d != 1    || box_count != 1 ||
+	    box->w > 64 || box->h > 64) {
 		/* TODO handle none page aligned offsets */
 		/* TODO handle more dst & src != 0 */
 		/* TODO handle more then one copy */
drivers/hid/hid-ids.h +3 -0
index e5f2958bc18c..26db838be5a2 100644
@@ -859,7 +859,10 @@
 #define USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S	0x8003
 
 #define USB_VENDOR_ID_PLANTRONICS	0x047f
+#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3210_SERIES	0xc055
 #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES	0xc056
+#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES	0xc057
+#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES	0xc058
 
 #define USB_VENDOR_ID_PANASONIC		0x04da
 #define USB_DEVICE_ID_PANABOARD_UBT780	0x1044
drivers/hid/hid-plantronics.c +9 -0
index 460711c1124a..3b75cadd543f 100644
@@ -201,9 +201,18 @@ static int plantronics_probe(struct hid_device *hdev,
 }
 
 static const struct hid_device_id plantronics_devices[] = {
+	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
+					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3210_SERIES),
+		.driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
 					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES),
 		.driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
+					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES),
+		.driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
+					 USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES),
+		.driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
 	{ }
 };
drivers/hid/hid-sensor-custom.c +1 -1
index 574126b649e9..4aa8ae62155b 100644
@@ -67,7 +67,7 @@ struct hid_sensor_sample {
 	u32 raw_len;
 } __packed;
 
-static struct attribute hid_custom_attrs[] = {
+static struct attribute hid_custom_attrs[HID_CUSTOM_TOTAL_ATTRS] = {
 	{.name = "name", .mode = S_IRUGO},
 	{.name = "units", .mode = S_IRUGO},
 	{.name = "unit-expo", .mode = S_IRUGO},
drivers/hid/wacom_sys.c +8 -0
index 1486272a33a5..3d521f289984 100644
@@ -61,6 +61,9 @@ static int wacom_raw_event(struct hid_device *hdev, struct hid_report *report,
 {
 	struct wacom *wacom = hid_get_drvdata(hdev);
 
+	if (wacom->wacom_wac.features.type == BOOTLOADER)
+		return 0;
+
 	if (size > WACOM_PKGLEN_MAX)
 		return 1;
 
@@ -2616,6 +2619,11 @@ static int wacom_probe(struct hid_device *hdev,
 		goto fail;
 	}
 
+	if (features->type == BOOTLOADER) {
+		hid_warn(hdev, "Using device in hidraw-only mode");
+		return hid_hw_start(hdev, HID_CONNECT_HIDRAW);
+	}
+
 	error = wacom_parse_and_register(wacom, false);
 	if (error)
 		goto fail;
drivers/hid/wacom_wac.c +4 -0
index 496f69aed837..417e1083556b 100644
@@ -4477,6 +4477,9 @@ static const struct wacom_features wacom_features_0x361 =
 static const struct wacom_features wacom_features_HID_ANY_ID =
 	{ "Wacom HID", .type = HID_GENERIC, .oVid = HID_ANY_ID, .oPid = HID_ANY_ID };
 
+static const struct wacom_features wacom_features_0x94 =
+	{ "Wacom Bootloader", .type = BOOTLOADER };
+
 #define USB_DEVICE_WACOM(prod)						\
 	HID_DEVICE(BUS_USB, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\
 	.driver_data = (kernel_ulong_t)&wacom_features_##prod
@@ -4550,6 +4553,7 @@ const struct hid_device_id wacom_ids[] = {
 	{ USB_DEVICE_WACOM(0x84) },
 	{ USB_DEVICE_WACOM(0x90) },
 	{ USB_DEVICE_WACOM(0x93) },
+	{ USB_DEVICE_WACOM(0x94) },
 	{ USB_DEVICE_WACOM(0x97) },
 	{ USB_DEVICE_WACOM(0x9A) },
 	{ USB_DEVICE_WACOM(0x9F) },
drivers/hid/wacom_wac.h +1 -0
index a61d3543b8e6..a5c61096fa45 100644
@@ -237,6 +237,7 @@ enum {
 	MTTPC,
 	MTTPC_B,
 	HID_GENERIC,
+	BOOTLOADER,
 	MAX_TYPE
 };
 
drivers/hsi/controllers/omap_ssi_core.c +11 -3
index 6e9d88d9d471..09653b064d93 100644
@@ -538,8 +538,10 @@ static int ssi_probe(struct platform_device *pd)
 	platform_set_drvdata(pd, ssi);
 
 	err = ssi_add_controller(ssi, pd);
-	if (err < 0)
+	if (err < 0) {
+		hsi_put_controller(ssi);
 		goto out1;
+	}
 
 	pm_runtime_enable(&pd->dev);
 
@@ -572,9 +574,9 @@ static int ssi_probe(struct platform_device *pd)
 	device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
 out2:
 	ssi_remove_controller(ssi);
+	pm_runtime_disable(&pd->dev);
 out1:
 	platform_set_drvdata(pd, NULL);
-	pm_runtime_disable(&pd->dev);
 
 	return err;
 }
@@ -665,7 +667,13 @@ static int __init ssi_init(void) {
 	if (ret)
 		return ret;
 
-	return platform_driver_register(&ssi_port_pdriver);
+	ret = platform_driver_register(&ssi_port_pdriver);
+	if (ret) {
+		platform_driver_unregister(&ssi_pdriver);
+		return ret;
+	}
+
+	return 0;
 }
 module_init(ssi_init);
 
drivers/i2c/busses/i2c-ismt.c +3 -0
index b51adffa4841..e689c7acea62 100644
@@ -495,6 +495,9 @@ static int ismt_access(struct i2c_adapter *adap, u16 addr,
 		if (read_write == I2C_SMBUS_WRITE) {
 			/* Block Write */
 			dev_dbg(dev, "I2C_SMBUS_BLOCK_DATA:  WRITE\n");
+			if (data->block[0] < 1 || data->block[0] > I2C_SMBUS_BLOCK_MAX)
+				return -EINVAL;
+
 			dma_size = data->block[0] + 1;
 			dma_direction = DMA_TO_DEVICE;
 			desc->wr_len_cmd = dma_size;
drivers/i2c/busses/i2c-pxa-pci.c +3 -7
index 004deb96afe3..4e81fbdaf90f 100644
@@ -105,7 +105,7 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
 	int i;
 	struct ce4100_devices *sds;
 
-	ret = pci_enable_device_mem(dev);
+	ret = pcim_enable_device(dev);
 	if (ret)
 		return ret;
 
@@ -114,10 +114,8 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
 		return -EINVAL;
 	}
 	sds = kzalloc(sizeof(*sds), GFP_KERNEL);
-	if (!sds) {
-		ret = -ENOMEM;
-		goto err_mem;
-	}
+	if (!sds)
+		return -ENOMEM;
 
 	for (i = 0; i < ARRAY_SIZE(sds->pdev); i++) {
 		sds->pdev[i] = add_i2c_device(dev, i);
@@ -133,8 +131,6 @@ static int ce4100_i2c_probe(struct pci_dev *dev,
 
 err_dev_add:
 	kfree(sds);
-err_mem:
-	pci_disable_device(dev);
 	return ret;
 }
 
drivers/iio/adc/ad_sigma_delta.c +4 -4
index 30f200ad6b97..0832402c964f 100644
@@ -282,10 +282,10 @@ int ad_sigma_delta_single_conversion(struct iio_dev *indio_dev,
 	unsigned int sample, raw_sample;
 	int ret = 0;
 
-	if (iio_buffer_enabled(indio_dev))
-		return -EBUSY;
+	ret = iio_device_claim_direct_mode(indio_dev);
+	if (ret)
+		return ret;
 
-	mutex_lock(&indio_dev->mlock);
 	ad_sigma_delta_set_channel(sigma_delta, chan->address);
 
 	spi_bus_lock(sigma_delta->spi->master);
@@ -319,7 +319,7 @@ int ad_sigma_delta_single_conversion(struct iio_dev *indio_dev,
 	ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE);
 	sigma_delta->bus_locked = false;
 	spi_bus_unlock(sigma_delta->spi->master);
-	mutex_unlock(&indio_dev->mlock);
+	iio_device_release_direct_mode(indio_dev);
 
 	if (ret)
 		return ret;
drivers/infiniband/hw/hfi1/affinity.c +2 -0
index b197e925fe36..4cc7f67ea54c 100644
@@ -165,6 +165,8 @@ int node_affinity_init(void)
 	for (node = 0; node < node_affinity.num_possible_nodes; node++)
 		hfi1_per_node_cntr[node] = 1;
 
+	pci_dev_put(dev);
+
 	return 0;
 }
 
drivers/infiniband/hw/hfi1/firmware.c +6 -0
index c54359376cda..8499f27ca3c0 100644
@@ -1761,6 +1761,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 
 	if (!dd->platform_config.data) {
 		dd_dev_err(dd, "%s: Missing config file\n", __func__);
+		ret = -EINVAL;
 		goto bail;
 	}
 	ptr = (u32 *)dd->platform_config.data;
@@ -1769,6 +1770,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 	ptr++;
 	if (magic_num != PLATFORM_CONFIG_MAGIC_NUM) {
 		dd_dev_err(dd, "%s: Bad config file\n", __func__);
+		ret = -EINVAL;
 		goto bail;
 	}
 
@@ -1779,6 +1781,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 	if (file_length > dd->platform_config.size) {
 		dd_dev_info(dd, "%s:File claims to be larger than read size\n",
 			    __func__);
+		ret = -EINVAL;
 		goto bail;
 	} else if (file_length < dd->platform_config.size) {
 		dd_dev_info(dd,
@@ -1798,6 +1801,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 			dd_dev_err(dd, "%s: Failed validation at offset %ld\n",
 				   __func__, (ptr - (u32 *)
 					      dd->platform_config.data));
+			ret = -EINVAL;
 			goto bail;
 		}
 
@@ -1844,6 +1848,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 					   __func__, table_type,
 					   (ptr - (u32 *)
 					    dd->platform_config.data));
+				ret = -EINVAL;
 				goto bail; /* We don't trust this file now */
 			}
 			pcfgcache->config_tables[table_type].table = ptr;
@@ -1868,6 +1873,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 					   __func__, table_type,
 					   (ptr -
 					    (u32 *)dd->platform_config.data));
+				ret = -EINVAL;
 				goto bail; /* We don't trust this file now */
 			}
 			pcfgcache->config_tables[table_type].table_metadata =
drivers/infiniband/sw/rxe/rxe_qp.c +3 -3
index 2391b0e698a9..9bd99bd693fd 100644
@@ -866,12 +866,12 @@ static void rxe_qp_do_cleanup(struct work_struct *work)
 		qp->resp.mr = NULL;
 	}
 
-	if (qp_type(qp) == IB_QPT_RC)
-		sk_dst_reset(qp->sk->sk);
-
 	free_rd_atomic_resources(qp);
 
 	if (qp->sk) {
+		if (qp_type(qp) == IB_QPT_RC)
+			sk_dst_reset(qp->sk->sk);
+
 		kernel_sock_shutdown(qp->sk, SHUT_RDWR);
 		sock_release(qp->sk);
 	}
drivers/infiniband/ulp/ipoib/ipoib_netlink.c +7 -0
index 3e44087935ae..5119bb52b469 100644
@@ -42,6 +42,11 @@ static const struct nla_policy ipoib_policy[IFLA_IPOIB_MAX + 1] = {
 	[IFLA_IPOIB_UMCAST]	= { .type = NLA_U16 },
 };
 
+static unsigned int ipoib_get_max_num_queues(void)
+{
+	return min_t(unsigned int, num_possible_cpus(), 128);
+}
+
 static int ipoib_fill_info(struct sk_buff *skb, const struct net_device *dev)
 {
 	struct ipoib_dev_priv *priv = ipoib_priv(dev);
@@ -170,6 +175,8 @@ static struct rtnl_link_ops ipoib_link_ops __read_mostly = {
 	.dellink	= ipoib_unregister_child_dev,
 	.get_size	= ipoib_get_size,
 	.fill_info	= ipoib_fill_info,
+	.get_num_rx_queues = ipoib_get_max_num_queues,
+	.get_num_tx_queues = ipoib_get_max_num_queues,
 };
 
 int __init ipoib_netlink_init(void)
drivers/input/touchscreen/elants_i2c.c +3 -6
index fd48fb6ef210..dc8eddefe7b0 100644
@@ -1089,14 +1089,12 @@ static int elants_i2c_power_on(struct elants_data *ts)
 	if (IS_ERR_OR_NULL(ts->reset_gpio))
 		return 0;
 
-	gpiod_set_value_cansleep(ts->reset_gpio, 1);
-
 	error = regulator_enable(ts->vcc33);
 	if (error) {
 		dev_err(&ts->client->dev,
 			"failed to enable vcc33 regulator: %d\n",
 			error);
-		goto release_reset_gpio;
+		return error;
 	}
 
 	error = regulator_enable(ts->vccio);
@@ -1105,7 +1103,7 @@ static int elants_i2c_power_on(struct elants_data *ts)
 			"failed to enable vccio regulator: %d\n",
 			error);
 		regulator_disable(ts->vcc33);
-		goto release_reset_gpio;
+		return error;
 	}
 
 	/*
@@ -1114,7 +1112,6 @@ static int elants_i2c_power_on(struct elants_data *ts)
 	 */
 	udelay(ELAN_POWERON_DELAY_USEC);
 
-release_reset_gpio:
 	gpiod_set_value_cansleep(ts->reset_gpio, 0);
 	if (error)
 		return error;
@@ -1222,7 +1219,7 @@ static int elants_i2c_probe(struct i2c_client *client,
 		return error;
 	}
 
-	ts->reset_gpio = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_LOW);
+	ts->reset_gpio = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_HIGH);
 	if (IS_ERR(ts->reset_gpio)) {
 		error = PTR_ERR(ts->reset_gpio);
 
drivers/iommu/amd_iommu_init.c +7 -0
index 2a6a108f0e8c..8b7702553fa4 100644
@@ -2919,6 +2919,13 @@ static int __init parse_ivrs_acpihid(char *str)
 		return 1;
 	}
 
+	/*
+	 * Ignore leading zeroes after ':', so e.g., AMDI0095:00
+	 * will match AMDI0095:0 in the second strcmp in acpi_dev_hid_uid_match
+	 */
+	while (*uid == '0' && *(uid + 1))
+		uid++;
+
 	i = early_acpihid_map_size++;
 	memcpy(early_acpihid_map[i].hid, hid, strlen(hid));
 	memcpy(early_acpihid_map[i].uid, uid, strlen(uid));
drivers/iommu/amd_iommu_v2.c +1 -0
index 7d94e1d39e5e..4449fa56f065 100644
@@ -624,6 +624,7 @@ static int ppr_notifier(struct notifier_block *nb, unsigned long e, void *data)
 	put_device_state(dev_state);
 
 out:
+	pci_dev_put(pdev);
 	return ret;
 }
 
drivers/iommu/fsl_pamu.c +1 -1
index 8540625796a1..b6a0c6d3b204 100644
@@ -1134,7 +1134,7 @@ static int fsl_pamu_probe(struct platform_device *pdev)
 		ret = create_csd(ppaact_phys, mem_size, csd_port_id);
 		if (ret) {
 			dev_err(dev, "could not create coherence subdomain\n");
-			return ret;
+			goto error;
 		}
 	}
 
drivers/irqchip/irq-gic-pm.c +1 -1
index ecafd295c31c..21c5decfc55b 100644
@@ -112,7 +112,7 @@ static int gic_probe(struct platform_device *pdev)
 
 	pm_runtime_enable(dev);
 
-	ret = pm_runtime_get_sync(dev);
+	ret = pm_runtime_resume_and_get(dev);
 	if (ret < 0)
 		goto rpm_disable;
 
drivers/isdn/hardware/mISDN/hfcmulti.c +13 -6
index df01018acff1..cb86b9bd5c7c 100644
@@ -3233,6 +3233,7 @@ static int
 hfcm_l1callback(struct dchannel *dch, u_int cmd)
 {
 	struct hfc_multi	*hc = dch->hw;
+	struct sk_buff_head	free_queue;
 	u_long	flags;
 
 	switch (cmd) {
@@ -3261,6 +3262,7 @@ hfcm_l1callback(struct dchannel *dch, u_int cmd)
 		l1_event(dch->l1, HW_POWERUP_IND);
 		break;
 	case HW_DEACT_REQ:
+		__skb_queue_head_init(&free_queue);
 		/* start deactivation */
 		spin_lock_irqsave(&hc->lock, flags);
 		if (hc->ctype == HFC_TYPE_E1) {
@@ -3280,20 +3282,21 @@ hfcm_l1callback(struct dchannel *dch, u_int cmd)
 				plxsd_checksync(hc, 0);
 			}
 		}
-		skb_queue_purge(&dch->squeue);
+		skb_queue_splice_init(&dch->squeue, &free_queue);
 		if (dch->tx_skb) {
-			dev_kfree_skb(dch->tx_skb);
+			__skb_queue_tail(&free_queue, dch->tx_skb);
 			dch->tx_skb = NULL;
 		}
 		dch->tx_idx = 0;
 		if (dch->rx_skb) {
-			dev_kfree_skb(dch->rx_skb);
+			__skb_queue_tail(&free_queue, dch->rx_skb);
 			dch->rx_skb = NULL;
 		}
 		test_and_clear_bit(FLG_TX_BUSY, &dch->Flags);
 		if (test_and_clear_bit(FLG_BUSY_TIMER, &dch->Flags))
 			del_timer(&dch->timer);
 		spin_unlock_irqrestore(&hc->lock, flags);
+		__skb_queue_purge(&free_queue);
 		break;
 	case HW_POWERUP_REQ:
 		spin_lock_irqsave(&hc->lock, flags);
@@ -3400,6 +3403,9 @@ handle_dmsg(struct mISDNchannel *ch, struct sk_buff *skb)
 	case PH_DEACTIVATE_REQ:
 		test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags);
 		if (dch->dev.D.protocol != ISDN_P_TE_S0) {
+			struct sk_buff_head free_queue;
+
+			__skb_queue_head_init(&free_queue);
 			spin_lock_irqsave(&hc->lock, flags);
 			if (debug & DEBUG_HFCMULTI_MSG)
 				printk(KERN_DEBUG
@@ -3421,14 +3427,14 @@ handle_dmsg(struct mISDNchannel *ch, struct sk_buff *skb)
 				/* deactivate */
 				dch->state = 1;
 			}
-			skb_queue_purge(&dch->squeue);
+			skb_queue_splice_init(&dch->squeue, &free_queue);
 			if (dch->tx_skb) {
-				dev_kfree_skb(dch->tx_skb);
+				__skb_queue_tail(&free_queue, dch->tx_skb);
 				dch->tx_skb = NULL;
 			}
 			dch->tx_idx = 0;
 			if (dch->rx_skb) {
-				dev_kfree_skb(dch->rx_skb);
+				__skb_queue_tail(&free_queue, dch->rx_skb);
 				dch->rx_skb = NULL;
 			}
 			test_and_clear_bit(FLG_TX_BUSY, &dch->Flags);
@@ -3440,6 +3446,7 @@ handle_dmsg(struct mISDNchannel *ch, struct sk_buff *skb)
 #endif
 			ret = 0;
 			spin_unlock_irqrestore(&hc->lock, flags);
+			__skb_queue_purge(&free_queue);
 		} else
 			ret = l1_event(dch->l1, hh->prim);
 		break;
drivers/isdn/hardware/mISDN/hfcpci.c +9 -4
index 3e73cb5b8304..e7ebc50788d0 100644
@@ -1631,16 +1631,19 @@ hfcpci_l2l1D(struct mISDNchannel *ch, struct sk_buff *skb)
 		test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags);
 		spin_lock_irqsave(&hc->lock, flags);
 		if (hc->hw.protocol == ISDN_P_NT_S0) {
+			struct sk_buff_head free_queue;
+
+			__skb_queue_head_init(&free_queue);
 			/* prepare deactivation */
 			Write_hfc(hc, HFCPCI_STATES, 0x40);
-			skb_queue_purge(&dch->squeue);
+			skb_queue_splice_init(&dch->squeue, &free_queue);
 			if (dch->tx_skb) {
-				dev_kfree_skb(dch->tx_skb);
+				__skb_queue_tail(&free_queue, dch->tx_skb);
 				dch->tx_skb = NULL;
 			}
 			dch->tx_idx = 0;
 			if (dch->rx_skb) {
-				dev_kfree_skb(dch->rx_skb);
+				__skb_queue_tail(&free_queue, dch->rx_skb);
 				dch->rx_skb = NULL;
 			}
 			test_and_clear_bit(FLG_TX_BUSY, &dch->Flags);
@@ -1653,10 +1656,12 @@ hfcpci_l2l1D(struct mISDNchannel *ch, struct sk_buff *skb)
 			hc->hw.mst_m &= ~HFCPCI_MASTER;
 			Write_hfc(hc, HFCPCI_MST_MODE, hc->hw.mst_m);
 			ret = 0;
+			spin_unlock_irqrestore(&hc->lock, flags);
+			__skb_queue_purge(&free_queue);
 		} else {
 			ret = l1_event(dch->l1, hh->prim);
+			spin_unlock_irqrestore(&hc->lock, flags);
 		}
-		spin_unlock_irqrestore(&hc->lock, flags);
 		break;
 	}
 	if (!ret)
drivers/isdn/hardware/mISDN/hfcsusb.c +8 -4
index 87588198d68f..3be213750303 100644
@@ -337,20 +337,24 @@ hfcusb_l2l1D(struct mISDNchannel *ch, struct sk_buff *skb)
 		test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags);
 
 		if (hw->protocol == ISDN_P_NT_S0) {
+			struct sk_buff_head free_queue;
+
+			__skb_queue_head_init(&free_queue);
 			hfcsusb_ph_command(hw, HFC_L1_DEACTIVATE_NT);
 			spin_lock_irqsave(&hw->lock, flags);
-			skb_queue_purge(&dch->squeue);
+			skb_queue_splice_init(&dch->squeue, &free_queue);
 			if (dch->tx_skb) {
-				dev_kfree_skb(dch->tx_skb);
+				__skb_queue_tail(&free_queue, dch->tx_skb);
 				dch->tx_skb = NULL;
 			}
 			dch->tx_idx = 0;
 			if (dch->rx_skb) {
-				dev_kfree_skb(dch->rx_skb);
+				__skb_queue_tail(&free_queue, dch->rx_skb);
 				dch->rx_skb = NULL;
 			}
 			test_and_clear_bit(FLG_TX_BUSY, &dch->Flags);
 			spin_unlock_irqrestore(&hw->lock, flags);
+			__skb_queue_purge(&free_queue);
 #ifdef FIXME
 			if (test_and_clear_bit(FLG_L1_BUSY, &dch->Flags))
 				dchannel_sched_event(&hc->dch, D_CLEARBUSY);
@@ -1340,7 +1344,7 @@ tx_iso_complete(struct urb *urb)
 					printk("\n");
 				}
 
-				dev_kfree_skb(tx_skb);
+				dev_consume_skb_irq(tx_skb);
 				tx_skb = NULL;
 				if (fifo->dch && get_next_dframe(fifo->dch))
 					tx_skb = fifo->dch->tx_skb;
drivers/macintosh/macio-adb.c +4 -0
index 9a6223add30e..42f7e9f579d7 100644
@@ -107,6 +107,10 @@ int macio_init(void)
 		return -ENXIO;
 	}
 	adb = ioremap(r.start, sizeof(struct adb_regs));
+	if (!adb) {
+		of_node_put(adbs);
+		return -ENOMEM;
+	}
 
 	out_8(&adb->ctrl.r, 0);
 	out_8(&adb->intr.r, 0);
drivers/macintosh/macio_asic.c +1 -1
index 62f541f968f6..2d35237b59c3 100644
@@ -426,7 +426,7 @@ static struct macio_dev * macio_add_one_device(struct macio_chip *chip,
 	if (of_device_register(&dev->ofdev) != 0) {
 		printk(KERN_DEBUG"macio: device registration error for %s!\n",
 		       dev_name(&dev->ofdev.dev));
-		kfree(dev);
+		put_device(&dev->ofdev.dev);
 		return NULL;
 	}
 
drivers/mcb/mcb-core.c +3 -1
index 118d27ee31c2..7fd32b0183dc 100644
@@ -74,8 +74,10 @@ static int mcb_probe(struct device *dev)
 
 	get_device(dev);
 	ret = mdrv->probe(mdev, found_id);
-	if (ret)
+	if (ret) {
 		module_put(carrier_mod);
+		put_device(dev);
+	}
 
 	return ret;
 }
drivers/mcb/mcb-parse.c +1 -1
index 7369bda3442f..3636349648b4 100644
@@ -107,7 +107,7 @@ static int chameleon_parse_gdd(struct mcb_bus *bus,
 	return 0;
 
 err:
-	mcb_free_dev(mdev);
+	put_device(&mdev->dev);
 
 	return ret;
 }
drivers/md/dm-cache-metadata.c +47 -7

86 lines not on this page · raw message

drivers/md/dm-cache-target.c +6 -5
index 280873b13e74..5458a0697167 100644
@@ -1019,16 +1019,16 @@ static void abort_transaction(struct cache *cache)
 	if (get_cache_mode(cache) >= CM_READ_ONLY)
 		return;
 
-	if (dm_cache_metadata_set_needs_check(cache->cmd)) {
-		DMERR("%s: failed to set 'needs_check' flag in metadata", dev_name);
-		set_cache_mode(cache, CM_FAIL);
-	}
-
 	DMERR_LIMIT("%s: aborting current metadata transaction", dev_name);
 	if (dm_cache_metadata_abort(cache->cmd)) {
 		DMERR("%s: failed to abort metadata transaction", dev_name);
 		set_cache_mode(cache, CM_FAIL);
 	}
+
+	if (dm_cache_metadata_set_needs_check(cache->cmd)) {
+		DMERR("%s: failed to set 'needs_check' flag in metadata", dev_name);
+		set_cache_mode(cache, CM_FAIL);
+	}
 }
 
 static void metadata_operation_failed(struct cache *cache, const char *op, int r)
@@ -2034,6 +2034,7 @@ static void destroy(struct cache *cache)
 	if (cache->prison)
 		dm_bio_prison_destroy_v2(cache->prison);
 
+	cancel_delayed_work_sync(&cache->waker);
 	if (cache->wq)
 		destroy_workqueue(cache->wq);
 
drivers/md/dm-thin-metadata.c +9 -0
index 29f8a632b42b..25618a8d12a2 100644
@@ -660,6 +660,15 @@ static int __open_metadata(struct dm_pool_metadata *pmd)
 		goto bad_cleanup_data_sm;
 	}
 
+	/*
+	 * For pool metadata opening process, root setting is redundant
+	 * because it will be set again in __begin_transaction(). But dm
+	 * pool aborting process really needs to get last transaction's
+	 * root to avoid accessing broken btree.
+	 */
+	pmd->root = le64_to_cpu(disk_super->data_mapping_root);
+	pmd->details_root = le64_to_cpu(disk_super->device_details_root);
+
 	__setup_btree_details(pmd);
 	dm_bm_unlock(sblock);
 
drivers/md/dm-thin.c +2 -0
index 0ee5eae71690..6c7fa790c8ae 100644
@@ -2932,6 +2932,8 @@ static void __pool_destroy(struct pool *pool)
 	dm_bio_prison_destroy(pool->prison);
 	dm_kcopyd_client_destroy(pool->copier);
 
+	cancel_delayed_work_sync(&pool->waker);
+	cancel_delayed_work_sync(&pool->no_space_timeout);
 	if (pool->wq)
 		destroy_workqueue(pool->wq);
 
drivers/md/md.c +6 -3
index 72f64ec88602..880a0ebca866 100644
@@ -418,13 +418,14 @@ static void md_end_flush(struct bio *bio)
 	struct md_rdev *rdev = bio->bi_private;
 	struct mddev *mddev = rdev->mddev;
 
+	bio_put(bio);
+
 	rdev_dec_pending(rdev, mddev);
 
 	if (atomic_dec_and_test(&mddev->flush_pending)) {
 		/* The pre-request flush has finished */
 		queue_work(md_wq, &mddev->flush_work);
 	}
-	bio_put(bio);
 }
 
 static void md_submit_flush_data(struct work_struct *ws);
@@ -805,10 +806,12 @@ static void super_written(struct bio *bio)
 	} else
 		clear_bit(LastDev, &rdev->flags);
 
+	bio_put(bio);
+
+	rdev_dec_pending(rdev, mddev);
+
 	if (atomic_dec_and_test(&mddev->pending_writes))
 		wake_up(&mddev->sb_wait);
-	rdev_dec_pending(rdev, mddev);
-	bio_put(bio);
 }
 
 void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
drivers/md/raid1.c +1 -0
index daa478e0b856..28f78199de3b 100644
@@ -3105,6 +3105,7 @@ static int raid1_run(struct mddev *mddev)
 	 * RAID1 needs at least one disk in active
 	 */
 	if (conf->raid_disks - mddev->degraded < 1) {
+		md_unregister_thread(&conf->thread);
 		ret = -EINVAL;
 		goto abort;
 	}
drivers/media/dvb-core/dmxdev.c +8 -0
index ab9c4dba2a69..165e55502ebe 100644
@@ -738,6 +738,11 @@ static int dvb_demux_open(struct inode *inode, struct file *file)
 	if (mutex_lock_interruptible(&dmxdev->mutex))
 		return -ERESTARTSYS;
 
+	if (dmxdev->exit) {
+		mutex_unlock(&dmxdev->mutex);
+		return -ENODEV;
+	}
+
 	for (i = 0; i < dmxdev->filternum; i++)
 		if (dmxdev->filter[i].state == DMXDEV_STATE_FREE)
 			break;
@@ -1253,7 +1258,10 @@ EXPORT_SYMBOL(dvb_dmxdev_init);
 
 void dvb_dmxdev_release(struct dmxdev *dmxdev)
 {
+	mutex_lock(&dmxdev->mutex);
 	dmxdev->exit = 1;
+	mutex_unlock(&dmxdev->mutex);
+
 	if (dmxdev->dvbdev->users > 1) {
 		wait_event(dmxdev->dvbdev->wait_queue,
 				dmxdev->dvbdev->users == 1);
drivers/media/dvb-core/dvb_ca_en50221.c +1 -1
index 95b3723282f4..56114d85510f 100644
@@ -167,7 +167,7 @@ static void dvb_ca_private_free(struct dvb_ca_private *ca)
 {
 	unsigned int i;
 
-	dvb_free_device(ca->dvbdev);
+	dvb_device_put(ca->dvbdev);
 	for (i = 0; i < ca->slot_count; i++)
 		vfree(ca->slot_info[i].rx_buffer.data);
 
drivers/media/dvb-core/dvb_frontend.c +1 -1
index f7d4ec37fdbc..e3a4a4688c2e 100644
@@ -146,7 +146,7 @@ static void __dvb_frontend_free(struct dvb_frontend *fe)
 	struct dvb_frontend_private *fepriv = fe->frontend_priv;
 
 	if (fepriv)
-		dvb_free_device(fepriv->dvbdev);
+		dvb_device_put(fepriv->dvbdev);
 
 	dvb_frontend_invoke_release(fe, fe->ops.release);
 
drivers/media/dvb-core/dvbdev.c +26 -7
index 1628cbdd20d7..1b3a54520d68 100644
@@ -84,7 +84,7 @@ static int dvb_device_open(struct inode *inode, struct file *file)
 		new_fops = fops_get(dvbdev->fops);
 		if (!new_fops)
 			goto fail;
-		file->private_data = dvbdev;
+		file->private_data = dvb_device_get(dvbdev);
 		replace_fops(file, new_fops);
 		if (file->f_op->open)
 			err = file->f_op->open(inode, file);
@@ -148,6 +148,9 @@ int dvb_generic_release(struct inode *inode, struct file *file)
 	}
 
 	dvbdev->users++;
+
+	dvb_device_put(dvbdev);
+
 	return 0;
 }
 EXPORT_SYMBOL(dvb_generic_release);
@@ -319,6 +322,7 @@ static int dvb_create_media_entity(struct dvb_device *dvbdev,
 				       GFP_KERNEL);
 		if (!dvbdev->pads) {
 			kfree(dvbdev->entity);
+			dvbdev->entity = NULL;
 			return -ENOMEM;
 		}
 	}
@@ -463,6 +467,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 	}
 
 	memcpy(dvbdev, template, sizeof(struct dvb_device));
+	kref_init(&dvbdev->ref);
 	dvbdev->type = type;
 	dvbdev->id = id;
 	dvbdev->adapter = adap;
@@ -493,7 +498,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev,
 #endif
 
 	dvbdev->minor = minor;
-	dvb_minors[minor] = dvbdev;
+	dvb_minors[minor] = dvb_device_get(dvbdev);
 	up_write(&minor_rwsem);
 
 	ret = dvb_register_media_device(dvbdev, type, minor, demux_sink_pads);
@@ -534,6 +539,7 @@ void dvb_remove_device(struct dvb_device *dvbdev)
 
 	down_write(&minor_rwsem);
 	dvb_minors[dvbdev->minor] = NULL;
+	dvb_device_put(dvbdev);
 	up_write(&minor_rwsem);
 
 	dvb_media_device_free(dvbdev);
@@ -545,21 +551,34 @@ void dvb_remove_device(struct dvb_device *dvbdev)
 EXPORT_SYMBOL(dvb_remove_device);
 
 
-void dvb_free_device(struct dvb_device *dvbdev)
+static void dvb_free_device(struct kref *ref)
 {
-	if (!dvbdev)
-		return;
+	struct dvb_device *dvbdev = container_of(ref, struct dvb_device, ref);
 
 	kfree (dvbdev->fops);
 	kfree (dvbdev);
 }
-EXPORT_SYMBOL(dvb_free_device);
+
+
+struct dvb_device *dvb_device_get(struct dvb_device *dvbdev)
+{
+	kref_get(&dvbdev->ref);
+	return dvbdev;
+}
+EXPORT_SYMBOL(dvb_device_get);
+
+
+void dvb_device_put(struct dvb_device *dvbdev)
+{
+	if (dvbdev)
+		kref_put(&dvbdev->ref, dvb_free_device);
+}
 
 
 void dvb_unregister_device(struct dvb_device *dvbdev)
 {
 	dvb_remove_device(dvbdev);
-	dvb_free_device(dvbdev);
+	dvb_device_put(dvbdev);
 }
 EXPORT_SYMBOL(dvb_unregister_device);
 
drivers/media/dvb-core/dvbdev.h +17 -14
index 49189392cf3b..5f6a6e7cda61 100644
@@ -133,6 +133,7 @@ struct dvb_adapter {
  */
 struct dvb_device {
 	struct list_head list_head;
+	struct kref ref;
 	const struct file_operations *fops;
 	struct dvb_adapter *adapter;
 	int type;
@@ -164,6 +165,20 @@ struct dvb_device {
 	void *priv;
 };
 
+/**
+ * dvb_device_get - Increase dvb_device reference
+ *
+ * @dvbdev:	pointer to struct dvb_device
+ */
+struct dvb_device *dvb_device_get(struct dvb_device *dvbdev);
+
+/**
+ * dvb_device_get - Decrease dvb_device reference
+ *
+ * @dvbdev:	pointer to struct dvb_device
+ */
+void dvb_device_put(struct dvb_device *dvbdev);
+
 /**
  * dvb_register_adapter - Registers a new DVB adapter
  *
@@ -210,29 +225,17 @@ int dvb_register_device(struct dvb_adapter *adap,
 /**
  * dvb_remove_device - Remove a registered DVB device
  *
- * This does not free memory.  To do that, call dvb_free_device().
+ * This does not free memory. dvb_free_device() will do that when
+ * reference counter is empty
  *
  * @dvbdev:	pointer to struct dvb_device
  */
 void dvb_remove_device(struct dvb_device *dvbdev);
 
-/**
- * dvb_free_device - Free memory occupied by a DVB device.
- *
- * Call dvb_unregister_device() before calling this function.
- *
- * @dvbdev:	pointer to struct dvb_device
- */
-void dvb_free_device(struct dvb_device *dvbdev);
 
 /**
  * dvb_unregister_device - Unregisters a DVB device
  *
- * This is a combination of dvb_remove_device() and dvb_free_device().
- * Using this function is usually a mistake, and is often an indicator
- * for a use-after-free bug (when a userspace process keeps a file
- * handle to a detached device).
- *
  * @dvbdev:	pointer to struct dvb_device
  */
 void dvb_unregister_device(struct dvb_device *dvbdev);
drivers/media/dvb-frontends/bcm3510.c +1 -0
index ba63ad170d3c..87684610f59e 100644
@@ -649,6 +649,7 @@ static int bcm3510_download_firmware(struct dvb_frontend* fe)
 		deb_info("firmware chunk, addr: 0x%04x, len: 0x%04x, total length: 0x%04zx\n",addr,len,fw->size);
 		if ((ret = bcm3510_write_ram(st,addr,&b[i+4],len)) < 0) {
 			err("firmware download failed: %d\n",ret);
+			release_firmware(fw);
 			return ret;
 		}
 		i += 4 + len;
drivers/media/dvb-frontends/stv0288.c +2 -3
index 45cbc898ad25..65f92e51c31e 100644
@@ -458,9 +458,8 @@ static int stv0288_set_frontend(struct dvb_frontend *fe)
 	struct stv0288_state *state = fe->demodulator_priv;
 	struct dtv_frontend_properties *c = &fe->dtv_property_cache;
 
-	char tm;
-	unsigned char tda[3];
-	u8 reg, time_out = 0;
+	u8 tda[3], reg, time_out = 0;
+	s8 tm;
 
 	dprintk("%s : FE_SET_FRONTEND\n", __func__);
 
drivers/media/i2c/ad5820.c +5 -5
index 034ebf754007..c2a6d1d5217a 100644
@@ -321,18 +321,18 @@ static int ad5820_probe(struct i2c_client *client,
 
 	ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL);
 	if (ret < 0)
-		goto cleanup2;
+		goto clean_mutex;
 
 	ret = v4l2_async_register_subdev(&coil->subdev);
 	if (ret < 0)
-		goto cleanup;
+		goto clean_entity;
 
 	return ret;
 
-cleanup2:
-	mutex_destroy(&coil->power_lock);
-cleanup:
+clean_entity:
 	media_entity_cleanup(&coil->subdev.entity);
+clean_mutex:
+	mutex_destroy(&coil->power_lock);
 	return ret;
 }
 
drivers/media/pci/saa7164/saa7164-core.c +3 -1
index fca36a4910c2..f922c8b3cf99 100644
@@ -1240,7 +1240,7 @@ static int saa7164_initdev(struct pci_dev *pci_dev,
 
 	if (saa7164_dev_setup(dev) < 0) {
 		err = -EINVAL;
-		goto fail_free;
+		goto fail_dev;
 	}
 
 	/* print pci info */
@@ -1408,6 +1408,8 @@ static int saa7164_initdev(struct pci_dev *pci_dev,
 
 fail_irq:
 	saa7164_dev_unregister(dev);
+fail_dev:
+	pci_disable_device(pci_dev);
 fail_free:
 	v4l2_device_unregister(&dev->v4l2_dev);
 	kfree(dev);
drivers/media/pci/solo6x10/solo6x10-core.c +1 -0
index ca0873e47bea..a654cc5ddecd 100644
@@ -428,6 +428,7 @@ static int solo_sysfs_init(struct solo_dev *solo_dev)
 		     solo_dev->nr_chans);
 
 	if (device_register(dev)) {
+		put_device(dev);
 		dev->parent = NULL;
 		return -ENOMEM;
 	}
drivers/media/platform/coda/coda-bit.c +10 -4
index d538cd49a3ba..e21cf732a86e 100644
@@ -637,7 +637,7 @@ static void coda_setup_iram(struct coda_ctx *ctx)
 		/* Only H.264BP and H.263P3 are considered */
 		iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w64);
 		iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w64);
-		if (!iram_info->buf_dbk_c_use)
+		if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use)
 			goto out;
 		iram_info->axi_sram_use |= dbk_bits;
 
@@ -661,7 +661,7 @@ static void coda_setup_iram(struct coda_ctx *ctx)
 
 		iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w128);
 		iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w128);
-		if (!iram_info->buf_dbk_c_use)
+		if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use)
 			goto out;
 		iram_info->axi_sram_use |= dbk_bits;
 
@@ -865,10 +865,16 @@ static int coda_start_encoding(struct coda_ctx *ctx)
 	}
 
 	if (dst_fourcc == V4L2_PIX_FMT_JPEG) {
-		if (!ctx->params.jpeg_qmat_tab[0])
+		if (!ctx->params.jpeg_qmat_tab[0]) {
 			ctx->params.jpeg_qmat_tab[0] = kmalloc(64, GFP_KERNEL);
-		if (!ctx->params.jpeg_qmat_tab[1])
+			if (!ctx->params.jpeg_qmat_tab[0])
+				return -ENOMEM;
+		}
+		if (!ctx->params.jpeg_qmat_tab[1]) {
 			ctx->params.jpeg_qmat_tab[1] = kmalloc(64, GFP_KERNEL);
+			if (!ctx->params.jpeg_qmat_tab[1])
+				return -ENOMEM;
+		}
 		coda_set_jpeg_compression_quality(ctx, ctx->params.jpeg_quality);
 	}
 
drivers/media/platform/exynos4-is/fimc-core.c +1 -1
index 099c735a39b7..5099cc1481e3 100644
@@ -1255,7 +1255,7 @@ int __init fimc_register_driver(void)
 	return platform_driver_register(&fimc_driver);
 }
 
-void __exit fimc_unregister_driver(void)
+void fimc_unregister_driver(void)
 {
 	platform_driver_unregister(&fimc_driver);
 }
drivers/media/platform/exynos4-is/media-dev.c +5 -1
index 24fb0f4b95e1..785b8f0a39ca 100644
@@ -1561,7 +1561,11 @@ static int __init fimc_md_init(void)
 	if (ret)
 		return ret;
 
-	return platform_driver_register(&fimc_md_driver);
+	ret = platform_driver_register(&fimc_md_driver);
+	if (ret)
+		fimc_unregister_driver();
+
+	return ret;
 }
 
 static void __exit fimc_md_exit(void)
drivers/media/platform/qcom/camss-8x16/camss-video.c +2 -1
index cf4219e871bd..53a0df638324 100644
@@ -353,7 +353,7 @@ static int video_start_streaming(struct vb2_queue *q, unsigned int count)
 
 	ret = media_pipeline_start(&vdev->entity, &video->pipe);
 	if (ret < 0)
-		return ret;
+		goto flush_buffers;
 
 	ret = video_check_format(video);
 	if (ret < 0)
@@ -382,6 +382,7 @@ static int video_start_streaming(struct vb2_queue *q, unsigned int count)
 error:
 	media_pipeline_stop(&vdev->entity);
 
+flush_buffers:
 	video->ops->flush_buffers(video, VB2_BUF_STATE_QUEUED);
 
 	return ret;
drivers/media/platform/s5p-mfc/s5p_mfc.c +15 -2
index 75be40608bae..5cbb3151004f 100644
@@ -1582,8 +1582,18 @@ static struct s5p_mfc_variant mfc_drvdata_v7 = {
 	.port_num	= MFC_NUM_PORTS_V7,
 	.buf_size	= &buf_size_v7,
 	.fw_name[0]     = "s5p-mfc-v7.fw",
-	.clk_names	= {"mfc", "sclk_mfc"},
-	.num_clocks	= 2,
+	.clk_names	= {"mfc"},
+	.num_clocks	= 1,
+};
+
+static struct s5p_mfc_variant mfc_drvdata_v7_3250 = {
+	.version        = MFC_VERSION_V7,
+	.version_bit    = MFC_V7_BIT,
+	.port_num       = MFC_NUM_PORTS_V7,
+	.buf_size       = &buf_size_v7,
+	.fw_name[0]     = "s5p-mfc-v7.fw",
+	.clk_names      = {"mfc", "sclk_mfc"},
+	.num_clocks     = 2,
 };
 
 static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = {
@@ -1630,6 +1640,9 @@ static const struct of_device_id exynos_mfc_match[] = {
 	}, {
 		.compatible = "samsung,mfc-v7",
 		.data = &mfc_drvdata_v7,
+	}, {
+		.compatible = "samsung,exynos3250-mfc",
+		.data = &mfc_drvdata_v7_3250,
 	}, {
 		.compatible = "samsung,mfc-v8",
 		.data = &mfc_drvdata_v8,
drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c +1 -0
index 23d0cedf4d9d..f42289f9e8c5 100644
@@ -947,6 +947,7 @@ static int configure_channels(struct c8sectpfei *fei)
 		if (ret) {
 			dev_err(fei->dev,
 				"configure_memdma_and_inputblock failed\n");
+			of_node_put(child);
 			goto err_unmap;
 		}
 		index++;
drivers/media/platform/vivid/vivid-vid-cap.c +1 -0
index 459cff1626a6..bcc2170f2dff 100644
@@ -938,6 +938,7 @@ int vivid_vid_cap_s_selection(struct file *file, void *fh, struct v4l2_selection
 			if (dev->has_compose_cap) {
 				v4l2_rect_set_min_size(compose, &min_rect);
 				v4l2_rect_set_max_size(compose, &max_rect);
+				v4l2_rect_map_inside(compose, &fmt);
 			}
 			dev->fmt_cap_rect = fmt;
 			tpg_s_buf_height(&dev->tpg, fmt.height);
drivers/media/radio/si470x/radio-si470x-usb.c +3 -1
index 95581a847619..5710f362a26d 100644
@@ -736,8 +736,10 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
 
 	/* start radio */
 	retval = si470x_start_usb(radio);
-	if (retval < 0)
+	if (retval < 0 && !radio->int_in_running)
 		goto err_buf;
+	else if (retval < 0)	/* in case of radio->int_in_running == 1 */
+		goto err_all;
 
 	/* set initial frequency */
 	si470x_set_freq(radio, 87.5 * FREQ_MUL); /* available in all regions */
drivers/media/rc/imon.c +3 -3
index edf8a7a76e86..50951c31ff5b 100644
@@ -637,15 +637,14 @@ static int send_packet(struct imon_context *ictx)
 		pr_err_ratelimited("error submitting urb(%d)\n", retval);
 	} else {
 		/* Wait for transmission to complete (or abort) */
-		mutex_unlock(&ictx->lock);
 		retval = wait_for_completion_interruptible(
 				&ictx->tx.finished);
 		if (retval) {
 			usb_kill_urb(ictx->tx_urb);
 			pr_err_ratelimited("task interrupted\n");
 		}
-		mutex_lock(&ictx->lock);
 
+		ictx->tx.busy = false;
 		retval = ictx->tx.status;
 		if (retval)
 			pr_err_ratelimited("packet tx failed (%d)\n", retval);
@@ -952,7 +951,8 @@ static ssize_t vfd_write(struct file *file, const char __user *buf,
 		return -ENODEV;
 	}
 
-	mutex_lock(&ictx->lock);
+	if (mutex_lock_interruptible(&ictx->lock))
+		return -ERESTARTSYS;
 
 	if (!ictx->dev_present_intf0) {
 		pr_err_ratelimited("no iMON device present\n");
drivers/media/usb/dvb-usb/az6027.c +4 -0
index 382c8075ef52..f2b5ba1d2809 100644
@@ -978,6 +978,10 @@ static int az6027_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msg[], int n
 		if (msg[i].addr == 0x99) {
 			req = 0xBE;
 			index = 0;
+			if (msg[i].len < 1) {
+				i = -EOPNOTSUPP;
+				break;
+			}
 			value = msg[i].buf[0] & 0x00ff;
 			length = 1;
 			az6027_usb_out_op(d, req, value, index, data, length);
drivers/media/usb/dvb-usb/dvb-usb-init.c +3 -1
index 690c1e06fbfa..28077f3c9edf 100644
@@ -84,7 +84,7 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d, short *adapter_nrs)
 
 		ret = dvb_usb_adapter_stream_init(adap);
 		if (ret)
-			return ret;
+			goto stream_init_err;
 
 		ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs);
 		if (ret)
@@ -117,6 +117,8 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d, short *adapter_nrs)
 	dvb_usb_adapter_dvb_exit(adap);
 dvb_init_err:
 	dvb_usb_adapter_stream_exit(adap);
+stream_init_err:
+	kfree(adap->priv);
 	return ret;
 }
 
drivers/misc/cxl/guest.c +14 -10
index de2ce5539545..47a52e73e9de 100644
@@ -971,10 +971,10 @@ int cxl_guest_init_afu(struct cxl *adapter, int slice, struct device_node *afu_n
 	 * if it returns an error!
 	 */
 	if ((rc = cxl_register_afu(afu)))
-		goto err_put1;
+		goto err_put_dev;
 
 	if ((rc = cxl_sysfs_afu_add(afu)))
-		goto err_put1;
+		goto err_del_dev;
 
 	/*
 	 * pHyp doesn't expose the programming models supported by the
@@ -990,7 +990,7 @@ int cxl_guest_init_afu(struct cxl *adapter, int slice, struct device_node *afu_n
 		afu->modes_supported = CXL_MODE_DIRECTED;
 
 	if ((rc = cxl_afu_select_best_mode(afu)))
-		goto err_put2;
+		goto err_remove_sysfs;
 
 	adapter->afu[afu->slice] = afu;
 
@@ -1010,10 +1010,12 @@ int cxl_guest_init_afu(struct cxl *adapter, int slice, struct device_node *afu_n
 
 	return 0;
 
-err_put2:
+err_remove_sysfs:
 	cxl_sysfs_afu_remove(afu);
-err_put1:
-	device_unregister(&afu->dev);
+err_del_dev:
+	device_del(&afu->dev);
+err_put_dev:
+	put_device(&afu->dev);
 	free = false;
 	guest_release_serr_irq(afu);
 err2:
@@ -1147,18 +1149,20 @@ struct cxl *cxl_guest_init_adapter(struct device_node *np, struct platform_devic
 	 * even if it returns an error!
 	 */
 	if ((rc = cxl_register_adapter(adapter)))
-		goto err_put1;
+		goto err_put_dev;
 
 	if ((rc = cxl_sysfs_adapter_add(adapter)))
-		goto err_put1;
+		goto err_del_dev;
 
 	/* release the context lock as the adapter is configured */
 	cxl_adapter_context_unlock(adapter);
 
 	return adapter;
 
-err_put1:
-	device_unregister(&adapter->dev);
+err_del_dev:
+	device_del(&adapter->dev);
+err_put_dev:
+	put_device(&adapter->dev);
 	free = false;
 	cxl_guest_remove_chardev(adapter);
 err1:
drivers/misc/cxl/pci.c +13 -8
index cf069e11d2d2..e1e57307903e 100644
@@ -395,6 +395,7 @@ int cxl_calc_capp_routing(struct pci_dev *dev, u64 *chipid,
 	rc = get_phb_index(np, phb_index);
 	if (rc) {
 		pr_err("cxl: invalid phb index\n");
+		of_node_put(np);
 		return rc;
 	}
 
@@ -1398,10 +1399,10 @@ static int pci_init_afu(struct cxl *adapter, int slice, struct pci_dev *dev)
 	 * if it returns an error!
 	 */
 	if ((rc = cxl_register_afu(afu)))
-		goto err_put1;
+		goto err_put_dev;
 
 	if ((rc = cxl_sysfs_afu_add(afu)))
-		goto err_put1;
+		goto err_del_dev;
 
 	adapter->afu[afu->slice] = afu;
 
@@ -1410,10 +1411,12 @@ static int pci_init_afu(struct cxl *adapter, int slice, struct pci_dev *dev)
 
 	return 0;
 
-err_put1:
+err_del_dev:
+	device_del(&afu->dev);
+err_put_dev:
 	pci_deconfigure_afu(afu);
 	cxl_debugfs_afu_remove(afu);
-	device_unregister(&afu->dev);
+	put_device(&afu->dev);
 	return rc;
 
 err_free_native:
@@ -1874,23 +1877,25 @@ static struct cxl *cxl_pci_init_adapter(struct pci_dev *dev)
 	 * even if it returns an error!
 	 */
 	if ((rc = cxl_register_adapter(adapter)))
-		goto err_put1;
+		goto err_put_dev;
 
 	if ((rc = cxl_sysfs_adapter_add(adapter)))
-		goto err_put1;
+		goto err_del_dev;
 
 	/* Release the context lock as adapter is configured */
 	cxl_adapter_context_unlock(adapter);
 
 	return adapter;
 
-err_put1:
+err_del_dev:
+	device_del(&adapter->dev);
+err_put_dev:
 	/* This should mirror cxl_remove_adapter, except without the
 	 * sysfs parts
 	 */
 	cxl_debugfs_adapter_remove(adapter);
 	cxl_deconfigure_adapter(adapter);
-	device_unregister(&adapter->dev);
+	put_device(&adapter->dev);
 	return ERR_PTR(rc);
 
 err_release:
drivers/misc/sgi-gru/grufault.c +11 -2
index 93be82fc338a..16df731e63c5 100644
@@ -661,6 +661,7 @@ int gru_handle_user_call_os(unsigned long cb)
 	if ((cb & (GRU_HANDLE_STRIDE - 1)) || ucbnum >= GRU_NUM_CB)
 		return -EINVAL;
 
+again:
 	gts = gru_find_lock_gts(cb);
 	if (!gts)
 		return -EINVAL;
@@ -669,7 +670,11 @@ int gru_handle_user_call_os(unsigned long cb)
 	if (ucbnum >= gts->ts_cbr_au_count * GRU_CBR_AU_SIZE)
 		goto exit;
 
-	gru_check_context_placement(gts);
+	if (gru_check_context_placement(gts)) {
+		gru_unlock_gts(gts);
+		gru_unload_context(gts, 1);
+		goto again;
+	}
 
 	/*
 	 * CCH may contain stale data if ts_force_cch_reload is set.
@@ -887,7 +892,11 @@ int gru_set_context_option(unsigned long arg)
 		} else {
 			gts->ts_user_blade_id = req.val1;
 			gts->ts_user_chiplet_id = req.val0;
-			gru_check_context_placement(gts);
+			if (gru_check_context_placement(gts)) {
+				gru_unlock_gts(gts);
+				gru_unload_context(gts, 1);
+				return ret;
+			}
 		}
 		break;
 	case sco_gseg_owner:
drivers/misc/sgi-gru/grumain.c +18 -4
index 3641f1334cf0..7b0ad008def5 100644
@@ -729,9 +729,10 @@ static int gru_check_chiplet_assignment(struct gru_state *gru,
  * chiplet. Misassignment can occur if the process migrates to a different
  * blade or if the user changes the selected blade/chiplet.
  */
-void gru_check_context_placement(struct gru_thread_state *gts)
+int gru_check_context_placement(struct gru_thread_state *gts)
 {
 	struct gru_state *gru;
+	int ret = 0;
 
 	/*
 	 * If the current task is the context owner, verify that the
@@ -739,15 +740,23 @@ void gru_check_context_placement(struct gru_thread_state *gts)
 	 * references. Pthread apps use non-owner references to the CBRs.
 	 */
 	gru = gts->ts_gru;
+	/*
+	 * If gru or gts->ts_tgid_owner isn't initialized properly, return
+	 * success to indicate that the caller does not need to unload the
+	 * gru context.The caller is responsible for their inspection and
+	 * reinitialization if needed.
+	 */
 	if (!gru || gts->ts_tgid_owner != current->tgid)
-		return;
+		return ret;
 
 	if (!gru_check_chiplet_assignment(gru, gts)) {
 		STAT(check_context_unload);
-		gru_unload_context(gts, 1);
+		ret = -EINVAL;
 	} else if (gru_retarget_intr(gts)) {
 		STAT(check_context_retarget_intr);
 	}
+
+	return ret;
 }
 
 
@@ -947,7 +956,12 @@ int gru_fault(struct vm_fault *vmf)
 	mutex_lock(&gts->ts_ctxlock);
 	preempt_disable();
 
-	gru_check_context_placement(gts);
+	if (gru_check_context_placement(gts)) {
+		preempt_enable();
+		mutex_unlock(&gts->ts_ctxlock);
+		gru_unload_context(gts, 1);
+		return VM_FAULT_NOPAGE;
+	}
 
 	if (!gts->ts_gru) {
 		STAT(load_user_context);
drivers/misc/sgi-gru/grutables.h +1 -1
index b5e308b50ed1..01ece3cc2dd7 100644
@@ -651,7 +651,7 @@ extern int gru_user_flush_tlb(unsigned long arg);
 extern int gru_user_unload_context(unsigned long arg);
 extern int gru_get_exception_detail(unsigned long arg);
 extern int gru_set_context_option(unsigned long address);
-extern void gru_check_context_placement(struct gru_thread_state *gts);
+extern int gru_check_context_placement(struct gru_thread_state *gts);
 extern int gru_cpu_fault_map_id(void);
 extern struct vm_area_struct *gru_find_vma(unsigned long vaddr);
 extern void gru_flush_all_tlb(struct gru_state *gru);
drivers/misc/tifm_7xx1.c +1 -1
index e5f108713dd8..2afb96598f61 100644
@@ -194,7 +194,7 @@ static void tifm_7xx1_switch_media(struct work_struct *work)
 				spin_unlock_irqrestore(&fm->lock, flags);
 			}
 			if (sock)
-				tifm_free_device(&sock->dev);
+				put_device(&sock->dev);
 		}
 		spin_lock_irqsave(&fm->lock, flags);
 	}
drivers/mmc/host/mmci.c +3 -1
index 77f18729ee96..0a9ba34c5603 100644
@@ -1792,7 +1792,9 @@ static int mmci_probe(struct amba_device *dev,
 	pm_runtime_set_autosuspend_delay(&dev->dev, 50);
 	pm_runtime_use_autosuspend(&dev->dev);
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto clk_disable;
 
 	pm_runtime_put(&dev->dev);
 	return 0;
drivers/mmc/host/moxart-mmc.c +3 -1
index 1552d1f09c5c..52307dce08ba 100644
@@ -660,7 +660,9 @@ static int moxart_probe(struct platform_device *pdev)
 		goto out;
 
 	dev_set_drvdata(dev, mmc);
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto out;
 
 	dev_dbg(dev, "IRQ=%d, FIFO is %d bytes\n", irq, host->fifo_width);
 
drivers/mmc/host/mxcmmc.c +3 -1
index 1d5418e4efae..05aca0372ab2 100644
@@ -1169,7 +1169,9 @@ static int mxcmci_probe(struct platform_device *pdev)
 	host->watchdog.function = &mxcmci_watchdog;
 	host->watchdog.data = (unsigned long)mmc;
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto out_free_dma;
 
 	return 0;
 
drivers/mmc/host/rtsx_usb_sdmmc.c +10 -1
index 76da1687ab37..38fb61313bec 100644
@@ -1355,6 +1355,7 @@ static int rtsx_usb_sdmmc_drv_probe(struct platform_device *pdev)
 #ifdef RTSX_USB_USE_LEDS_CLASS
 	int err;
 #endif
+	int ret;
 
 	ucr = usb_get_intfdata(to_usb_interface(pdev->dev.parent));
 	if (!ucr)
@@ -1393,7 +1394,15 @@ static int rtsx_usb_sdmmc_drv_probe(struct platform_device *pdev)
 	INIT_WORK(&host->led_work, rtsx_usb_update_led);
 
 #endif
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret) {
+#ifdef RTSX_USB_USE_LEDS_CLASS
+		led_classdev_unregister(&host->led);
+#endif
+		mmc_free_host(mmc);
+		pm_runtime_disable(&pdev->dev);
+		return ret;
+	}
 
 	return 0;
 }
drivers/mmc/host/sdhci_f_sdh30.c +3 -0
index 111b66f5439b..43e787954293 100644
@@ -180,6 +180,9 @@ static int sdhci_f_sdh30_probe(struct platform_device *pdev)
 	if (reg & SDHCI_CAN_DO_8BIT)
 		priv->vendor_hs200 = F_SDH30_EMMC_HS200;
 
+	if (!(reg & SDHCI_TIMEOUT_CLK_MASK))
+		host->quirks |= SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK;
+
 	ret = sdhci_add_host(host);
 	if (ret)
 		goto err_add_host;
drivers/mmc/host/toshsd.c +5 -1
index dd961c54a6a9..9236965b00fd 100644
@@ -655,7 +655,9 @@ static int toshsd_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (ret)
 		goto unmap;
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto free_irq;
 
 	base = pci_resource_start(pdev, 0);
 	dev_dbg(&pdev->dev, "MMIO %pa, IRQ %d\n", &base, pdev->irq);
@@ -664,6 +666,8 @@ static int toshsd_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	return 0;
 
+free_irq:
+	free_irq(pdev->irq, host);
 unmap:
 	pci_iounmap(pdev, host->ioaddr);
 release:
drivers/mmc/host/via-sdmmc.c +3 -1
index 4e5043657ee2..70905d9beb38 100644
@@ -1168,7 +1168,9 @@ static int via_sd_probe(struct pci_dev *pcidev,
 	    pcidev->subsystem_device == 0x3891)
 		sdhost->quirks = VIA_CRDR_QUIRK_300MS_PWRDELAY;
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto unmap;
 
 	return 0;
 
drivers/mmc/host/vub300.c +10 -3
index 71e4392de25a..8ab330dc7208 100644
@@ -2052,6 +2052,7 @@ static void vub300_enable_sdio_irq(struct mmc_host *mmc, int enable)
 		return;
 	kref_get(&vub300->kref);
 	if (enable) {
+		set_current_state(TASK_RUNNING);
 		mutex_lock(&vub300->irq_mutex);
 		if (vub300->irqs_queued) {
 			vub300->irqs_queued -= 1;
@@ -2067,6 +2068,7 @@ static void vub300_enable_sdio_irq(struct mmc_host *mmc, int enable)
 			vub300_queue_poll_work(vub300, 0);
 		}
 		mutex_unlock(&vub300->irq_mutex);
+		set_current_state(TASK_INTERRUPTIBLE);
 	} else {
 		vub300->irq_enabled = 0;
 	}
@@ -2309,14 +2311,14 @@ static int vub300_probe(struct usb_interface *interface,
 				0x0000, 0x0000, &vub300->system_port_status,
 				sizeof(vub300->system_port_status), 1000);
 	if (retval < 0) {
-		goto error4;
+		goto error5;
 	} else if (sizeof(vub300->system_port_status) == retval) {
 		vub300->card_present =
 			(0x0001 & vub300->system_port_status.port_flags) ? 1 : 0;
 		vub300->read_only =
 			(0x0010 & vub300->system_port_status.port_flags) ? 1 : 0;
 	} else {
-		goto error4;
+		goto error5;
 	}
 	usb_set_intfdata(interface, vub300);
 	INIT_DELAYED_WORK(&vub300->pollwork, vub300_pollwork_thread);
@@ -2342,8 +2344,13 @@ static int vub300_probe(struct usb_interface *interface,
 			 "USB vub300 remote SDIO host controller[%d]"
 			 "connected with no SD/SDIO card inserted\n",
 			 interface_to_InterfaceNumber(interface));
-	mmc_add_host(mmc);
+	retval = mmc_add_host(mmc);
+	if (retval)
+		goto error6;
+
 	return 0;
+error6:
+	del_timer_sync(&vub300->inactivity_timer);
 error5:
 	mmc_free_host(mmc);
 	/*
drivers/mmc/host/wbsd.c +11 -1
index 546aaf8d1507..6e0f37f373e0 100644
@@ -1716,7 +1716,17 @@ static int wbsd_init(struct device *dev, int base, int irq, int dma,
 	 */
 	wbsd_init_device(host);
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret) {
+		if (!pnp)
+			wbsd_chip_poweroff(host);
+
+		wbsd_release_resources(host);
+		wbsd_free_mmc(dev);
+
+		mmc_free_host(mmc);
+		return ret;
+	}
 
 	pr_info("%s: W83L51xD", mmc_hostname(mmc));
 	if (host->chip_id != 0)
drivers/mmc/host/wmt-sdmmc.c +5 -1
index 85cad20b2ae8..627b7d487461 100644
@@ -863,11 +863,15 @@ static int wmt_mci_probe(struct platform_device *pdev)
 	/* configure the controller to a known 'ready' state */
 	wmt_reset_hardware(mmc);
 
-	mmc_add_host(mmc);
+	ret = mmc_add_host(mmc);
+	if (ret)
+		goto fail7;
 
 	dev_info(&pdev->dev, "WMT SDHC Controller initialized\n");
 
 	return 0;
+fail7:
+	clk_disable_unprepare(priv->clk_sdmmc);
 fail6:
 	clk_put(priv->clk_sdmmc);
 fail5_and_a_half:
drivers/mtd/lpddr/lpddr2_nvm.c +2 -0
index 5e36366d9b36..19b00225c7ef 100644
@@ -448,6 +448,8 @@ static int lpddr2_nvm_probe(struct platform_device *pdev)
 
 	/* lpddr2_nvm address range */
 	add_range = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!add_range)
+		return -ENODEV;
 
 	/* Populate map_info data structure */
 	*map = (struct map_info) {
drivers/mtd/maps/pxa2xx-flash.c +2 -0
index 2cde28ed95c9..59d2fe1f46e1 100644
@@ -69,6 +69,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
 	if (!info->map.virt) {
 		printk(KERN_WARNING "Failed to ioremap %s\n",
 		       info->map.name);
+		kfree(info);
 		return -ENOMEM;
 	}
 	info->map.cached =
@@ -91,6 +92,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
 		iounmap((void *)info->map.virt);
 		if (info->map.cached)
 			iounmap(info->map.cached);
+		kfree(info);
 		return -EIO;
 	}
 	info->mtd->dev.parent = &pdev->dev;
drivers/mtd/mtdcore.c +3 -1
index e7ea842ba3db..912b09f5d066 100644
@@ -552,8 +552,10 @@ int add_mtd_device(struct mtd_info *mtd)
 	dev_set_drvdata(&mtd->dev, mtd);
 	of_node_get(mtd_get_of_node(mtd));
 	error = device_register(&mtd->dev);
-	if (error)
+	if (error) {
+		put_device(&mtd->dev);
 		goto fail_added;
+	}
 
 	if (!IS_ERR_OR_NULL(dfs_dir_mtd)) {
 		mtd->dbg.dfs_dir = debugfs_create_dir(dev_name(&mtd->dev), dfs_dir_mtd);
drivers/net/bonding/bond_main.c +1 -1
index 98e64f63d9ba..0ffca2890e9a 100644
@@ -2076,10 +2076,10 @@ static int bond_slave_info_query(struct net_device *bond_dev, struct ifslave *in
 /* called with rcu_read_lock() */
 static int bond_miimon_inspect(struct bonding *bond)
 {
+	bool ignore_updelay = false;
 	int link_state, commit = 0;
 	struct list_head *iter;
 	struct slave *slave;
-	bool ignore_updelay;
 
 	ignore_updelay = !rcu_dereference(bond->curr_active_slave);
 
drivers/net/can/usb/mcba_usb.c +7 -3
index f7c3fc3dabfe..01ef5cabdc11 100644
@@ -58,6 +58,10 @@
 #define MCBA_VER_REQ_USB 1
 #define MCBA_VER_REQ_CAN 2
 
+/* Drive the CAN_RES signal LOW "0" to activate R24 and R25 */
+#define MCBA_VER_TERMINATION_ON 0
+#define MCBA_VER_TERMINATION_OFF 1
+
 #define MCBA_SIDL_EXID_MASK 0x8
 #define MCBA_DLC_MASK 0xf
 #define MCBA_DLC_RTR_MASK 0x40
@@ -480,7 +484,7 @@ static void mcba_usb_process_ka_usb(struct mcba_priv *priv,
 		priv->usb_ka_first_pass = false;
 	}
 
-	if (msg->termination_state)
+	if (msg->termination_state == MCBA_VER_TERMINATION_ON)
 		priv->can.termination = MCBA_TERMINATION_ENABLED;
 	else
 		priv->can.termination = MCBA_TERMINATION_DISABLED;
@@ -800,9 +804,9 @@ static int mcba_set_termination(struct net_device *netdev, u16 term)
 	};
 
 	if (term == MCBA_TERMINATION_ENABLED)
-		usb_msg.termination = 1;
+		usb_msg.termination = MCBA_VER_TERMINATION_ON;
 	else
-		usb_msg.termination = 0;
+		usb_msg.termination = MCBA_VER_TERMINATION_OFF;
 
 	mcba_usb_xmit_cmd(priv, (struct mcba_usb_msg *)&usb_msg);
 
drivers/net/dsa/lan9303-core.c +3 -1
index 10d1c08ffeea..989a0cd39f7a 100644
@@ -721,9 +721,11 @@ static void lan9303_get_ethtool_stats(struct dsa_switch *ds, int port,
 		ret = lan9303_read_switch_port(
 			chip, port, lan9303_mib[u].offset, &reg);
 
-		if (ret)
+		if (ret) {
 			dev_warn(chip->dev, "Reading status port %d reg %u failed\n",
 				 port, lan9303_mib[u].offset);
+			reg = 0;
+		}
 		data[u] = reg;
 	}
 }
drivers/net/ethernet/amd/atarilance.c +1 -1
index d3d44e07afbc..414b990827e8 100644
@@ -825,7 +825,7 @@ lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	lp->memcpy_f( PKTBUF_ADDR(head), (void *)skb->data, skb->len );
 	head->flag = TMD1_OWN_CHIP | TMD1_ENP | TMD1_STP;
 	dev->stats.tx_bytes += skb->len;
-	dev_kfree_skb( skb );
+	dev_consume_skb_irq(skb);
 	lp->cur_tx++;
 	while( lp->cur_tx >= TX_RING_SIZE && lp->dirty_tx >= TX_RING_SIZE ) {
 		lp->cur_tx -= TX_RING_SIZE;
drivers/net/ethernet/amd/lance.c +1 -1
index 12a6a93d221b..45c15c6ffc1b 100644
@@ -997,7 +997,7 @@ static netdev_tx_t lance_start_xmit(struct sk_buff *skb,
 		skb_copy_from_linear_data(skb, &lp->tx_bounce_buffs[entry], skb->len);
 		lp->tx_ring[entry].base =
 			((u32)isa_virt_to_bus((lp->tx_bounce_buffs + entry)) & 0xffffff) | 0x83000000;
-		dev_kfree_skb(skb);
+		dev_consume_skb_irq(skb);
 	} else {
 		lp->tx_skbuff[entry] = skb;
 		lp->tx_ring[entry].base = ((u32)isa_virt_to_bus(skb->data) & 0xffffff) | 0x83000000;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c +3 -0
index 78412d6024aa..ad6f193fac95 100644
@@ -1142,6 +1142,9 @@ static void xgbe_free_irqs(struct xgbe_prv_data *pdata)
 
 	devm_free_irq(pdata->dev, pdata->dev_irq, pdata);
 
+	tasklet_kill(&pdata->tasklet_dev);
+	tasklet_kill(&pdata->tasklet_ecc);
+
 	if (pdata->vdata->ecc_support && (pdata->dev_irq != pdata->ecc_irq))
 		devm_free_irq(pdata->dev, pdata->ecc_irq, pdata);
 
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c +3 -1
index 4d9062d35930..530043742a07 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +3 -1
index 20ac6db6437b..bbb93c2637f3 100644

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

drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +2 -12
index 3ccdac464cf5..1a4ee90a1b8a 100644

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

drivers/net/ethernet/apple/bmac.c +1 -1
index a8b462e1beba..7e4567c7bcae 100644

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

drivers/net/ethernet/apple/mace.c +1 -1
index e58b157b7d7c..11e6285b0c8e 100644

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

drivers/net/ethernet/dnet.c +2 -2
index 5a847941c46b..f7d126a2617e 100644

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

drivers/net/ethernet/intel/igb/igb_main.c +7 -3
index 82f1960c6c19..e6799913ca0b 100644

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

drivers/net/ethernet/myricom/myri10ge/myri10ge.c +1 -0
index 1ac2bc75edb1..1aadfc16a453 100644

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

drivers/net/ethernet/neterion/s2io.c +1 -1
index 94aabf280768..cb8094de89d1 100644

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

drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c +2 -1
index 62ee0bcf2413..58002431b078 100644

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

drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +7 -1
index 10286215092f..85419b8258b5 100644

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

drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h +2 -8
index 0a9d24e86715..eb8000d9b6d0 100644

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

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +7 -1
index 45361310eea0..fe879e212b7a 100644

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

drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c +2 -0
index 44caa7c2077e..d89d9247b7b9 100644

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

drivers/net/ethernet/rdc/r6040.c +4 -1
index 2199bd08f4d6..e377c1f68777 100644

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

drivers/net/ethernet/renesas/ravb_main.c +1 -1
index 5513475e2a82..4c8a4e6efb9f 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c +2 -1
index ccf7381c8bae..8f2bbc1e92d8 100644

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

drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h +1 -1
index f4b31d69f60e..36b58c4866e6 100644

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

drivers/net/ethernet/ti/netcp_core.c +1 -1
index 452cf6cfd179..90770a2755b6 100644

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

drivers/net/ethernet/xilinx/xilinx_emaclite.c +1 -1
index 9359ca9f3aef..9a78e98a7c66 100644

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

drivers/net/fddi/defxx.c +18 -4
index 3b48c890540a..7f14aad1c240 100644

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

drivers/net/hamradio/baycom_epp.c +1 -1
index 1503f10122f7..a80948d700fe 100644

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

drivers/net/hamradio/scc.c +3 -3
index 295f267b73ea..dd7b6caee4a7 100644

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

drivers/net/loopback.c +1 -1
index 30612497643c..daef41ce2349 100644

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

drivers/net/ntb_netdev.c +2 -2
index 5f941e20f199..beab00c273b2 100644

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

drivers/net/phy/xilinx_gmii2rgmii.c +1 -0
index aef525467af0..55157c3197bd 100644

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

drivers/net/ppp/ppp_generic.c +2 -0
index 81a4fe9706be..5bcbf0e0616d 100644

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

drivers/net/usb/rndis_host.c +2 -1
index ab41a63aa4aa..497d6bcdc276 100644

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

drivers/net/wan/farsync.c +2 -0
index bd46b2552980..6284e8906e36 100644

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

drivers/net/wireless/ath/ar5523/ar5523.c +6 -0
index bf43244f051c..74f23e4ded1c 100644

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

drivers/net/wireless/ath/ath10k/pci.c +12 -8
index f9e409caca68..07457eb9d455 100644

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

drivers/net/wireless/ath/ath9k/hif_usb.c +29 -17

46 lines not on this page · raw message

drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +5 -0
index 13c25798f39a..6d868b8b441a 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +1 -1
index fbaec4ea5988..4aa199be0df3 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +1 -0
index 8fa4ffff7c32..aa21bdb3f371 100644

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

drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +1 -1
index a895b6fd6f85..c1163f2a0925 100644

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

drivers/nfc/pn533/pn533.c +4 -0
index 52a1a2cae6c7..1d14f5a28266 100644

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

drivers/nfc/pn533/usb.c +41 -3

44 lines not on this page · raw message

drivers/parisc/led.c +3 -0
index 665e5de909b0..6c25796fcfa9 100644

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

drivers/pci/irq.c +2 -0
index 10929cd43d5d..a40e65ee4839 100644

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

drivers/pci/pci-sysfs.c +9 -4
index ee7dccab771d..6896673c77be 100644

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

drivers/pci/pci.c +2 -0
index efcd06064953..60588312ed20 100644

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

drivers/pinctrl/pinconf-generic.c +3 -1
index 6f6fd5e6b68c..07e29fc7443d 100644

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

drivers/platform/x86/mxm-wmi.c +2 -6
index 35d8b9a939f9..9c1893a703e6 100644

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

drivers/platform/x86/sony-laptop.c +14 -7
index 8fcbe2a62273..50e2ab48803d 100644

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

drivers/pnp/core.c +2 -2
index 3bf18d718975..131b925b820d 100644

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

drivers/power/avs/smartreflex.c +1 -0
index 4b6fddc18394..401dbeccd0c7 100644

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

drivers/power/supply/power_supply_core.c +1 -1
index 0f1a0efd5926..409ecff1a51a 100644

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

drivers/rapidio/devices/rio_mport_cdev.c +9 -6
index a87c024d5670..f5c062822de9 100644

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

drivers/rapidio/rio-scan.c +6 -2
index 23429bdaca84..26ab8c463dae 100644

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

drivers/rapidio/rio.c +7 -2
index 38d949405618..94843c8a687e 100644

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

drivers/regulator/core.c +2 -0
index ce5162ef9216..871d657a161f 100644

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

drivers/regulator/da9211-regulator.c +6 -5
index aa47280efd32..8879e315211e 100644

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

drivers/rtc/rtc-snvs.c +14 -2
index 7aa2c5ea0de4..86d1af7b6e75 100644

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

drivers/rtc/rtc-st-lpc.c +1 -0
index 82b0af159a28..6f33e705928f 100644

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

drivers/s390/net/ctcm_main.c +2 -9
index fbe35c2ac898..dcaee3fccfab 100644

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

drivers/s390/net/lcs.c +3 -5
index da4d7284db67..924681e70a2b 100644

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

drivers/s390/net/netiucv.c +1 -8
index b9c7c1e61da2..b6d123c60742 100644

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

drivers/scsi/fcoe/fcoe.c +1 -0
index 99b46dc87a37..f94936384b06 100644

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

drivers/scsi/fcoe/fcoe_sysfs.c +10 -9
index 5c8310bade61..dab025e3ed27 100644

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

drivers/scsi/hpsa.c +5 -2
index 9ad9910cc085..6b25c5ce13ed 100644

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

drivers/scsi/ipr.c +9 -1
index 99b37e19feca..86e2d3033a2d 100644

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

drivers/scsi/snic/snic_disc.c +3 -0
index b106596cc0cf..69c5e26a9d5b 100644

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

drivers/soc/ti/knav_qmss_queue.c +1 -1
index 25baf13d6dfd..c2307872ed9e 100644

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

drivers/soc/ux500/ux500-soc-id.c +4 -6
index 6c1be74e5fcc..86a1a3c408df 100644

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

drivers/staging/rtl8192e/rtllib_rx.c +1 -1
index 171009e82137..85a71b09fcba 100644

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

drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +3 -1
index cbf8eb4a049d..6c529f349379 100644

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

drivers/tty/hvc/hvc_xen.c +29 -17

46 lines not on this page · raw message

drivers/tty/serial/amba-pl011.c +3 -0
index a9aa8cd7f29c..10c7a0bc1698 100644

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

drivers/tty/serial/pch_uart.c +4 -0
index 15ddcbd1f9d2..472cbd851188 100644

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

drivers/tty/serial/sunsab.c +7 -1
index 653a076d89d3..96ba6854a508 100644

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

drivers/uio/uio_dmem_genirq.c +7 -6
index a00b4aee6c79..b4b7fa05b29b 100644

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

drivers/usb/common/ulpi.c +1 -1
index 21b012813376..2ca2e4ee1c56 100644

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

drivers/usb/dwc3/core.c +6 -1
index 2e93f633a0b6..5a4bd093c311 100644

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

drivers/usb/gadget/function/f_uvc.c +3 -2
index 89da34ef7b3f..83d2db09ae7c 100644

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

drivers/usb/gadget/udc/fotg210-udc.c +6 -6
index 9440973cdb44..08ffbf394fe9 100644

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

drivers/usb/musb/musb_gadget.c +0 -2
index 8fd68f45a8df..820df5c3e707 100644

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

drivers/usb/serial/cp210x.c +2 -0
index 39779ecd7810..29584dc00c6c 100644

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

drivers/usb/serial/option.c +3 -0
index 6f5ff4945650..023b9ddabb9b 100644

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

drivers/usb/storage/alauda.c +2 -0
index 878b4b8761f5..3dbd60540372 100644

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

drivers/vfio/platform/vfio_platform_common.c +1 -2
index f42acc830c24..66931f6b14e6 100644

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

drivers/video/fbdev/Kconfig +0 -1
index d00588d9b025..a7e8db955ef6 100644

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

drivers/video/fbdev/pm2fb.c +7 -2
index a5375b09415a..ea6e980bd946 100644

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

drivers/video/fbdev/uvesafb.c +1 -0
index c592ca513115..ee86c62e3672 100644

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

drivers/video/fbdev/vermilion/vermilion.c +3 -1
index 6f8d444eb0e3..b732ea6d0be6 100644

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

drivers/video/fbdev/via/via-core.c +8 -1
index 77774d8abf94..e327ed308504 100644

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

drivers/vme/bridges/vme_fake.c +2 -0
index e81ec763b555..150ee8b3507f 100644

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

drivers/vme/bridges/vme_tsi148.c +1 -0
index fc1b634b969a..2058403f8806 100644

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

fs/binfmt_misc.c +4 -4
index 566296ce7ea8..c19bf5c2fbec 100644

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

fs/char_dev.c +1 -1
index 715d76b00108..c7f79f048086 100644

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

fs/cifs/connect.c +3 -1
index bc49cd04b725..264d70d4aadb 100644

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

fs/ext4/ext4.h +1 -1
index 5e9ff118977e..624b34b04837 100644

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

fs/ext4/indirect.c +8 -1
index a5442528a60d..0cc0d22c0856 100644

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

fs/ext4/inode.c +17 -1
index 175af0591d3d..f1eea54eb83c 100644

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

fs/ext4/ioctl.c +5 -5
index 3bd79fc4e948..fb49413e7734 100644

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

fs/ext4/namei.c +3 -0
index e1cade9dbd30..461c080181d6 100644

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

fs/ext4/xattr.c +5 -10
index 0bbe162ea99b..8a3f0e20c51e 100644

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

fs/hfs/inode.c +9 -4
index 350afd67bd69..9718e7409c2b 100644

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

fs/hfs/trans.c +1 -1
index 39f5e343bf4d..fdb0edb8a607 100644

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

fs/hfsplus/hfsplus_fs.h +2 -0
index dbb55d823385..8d148d53f8ec 100644

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

fs/hfsplus/inode.c +6 -10
index 5b31f4730ee9..ccb2a94c2032 100644

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

fs/hfsplus/options.c +4 -0
index 047e05c57560..c94a58762ad6 100644

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

fs/jfs/jfs_dmap.c +21 -6
index a07fbb60ac3c..0ca1ad2610df 100644

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

fs/libfs.c +19 -3
index 83618c21c216..251bf5004919 100644

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

fs/nfs/nfs4proc.c +12 -7
index 11d36763f256..ff41d726f758 100644

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

fs/nfs/nfs4state.c +2 -0
index 0c124465d4e5..9616f7eacd4c 100644

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

fs/nfs/nfs4xdr.c +4 -6
index ccdc0ca699c3..e604c0e02f4d 100644

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

fs/nfsd/nfs4callback.c +3 -1
index 22b784e7ef50..e347abf3dfa0 100644

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

fs/nfsd/nfs4xdr.c +11 -0
index c5c10b7dc63e..a82b7d2c8880 100644

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

fs/nilfs2/the_nilfs.c +27 -4
index 9bbdd152c296..3e143c2da06d 100644

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

fs/ocfs2/stackglue.c +7 -1
index e7eb08ac4215..10d691530d83 100644

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

fs/orangefs/orangefs-debugfs.c +3 -0
index 34d1cc98260d..bbe6bfb1a8a1 100644

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

fs/orangefs/orangefs-mod.c +4 -4
index 85ef87245a87..c8818163e392 100644

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

fs/pnode.c +1 -1
index 7910ae91f17e..d27b7b97c4c1 100644

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

fs/pstore/Kconfig +1 -0
index b42e5bd6d8ff..144e5027fe84 100644

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

fs/pstore/pmsg.c +4 -3
index 24db02de1787..ffc13ea196d2 100644

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

fs/pstore/ram.c +2 -0
index 11c7a171c0a1..dc5a40058c2f 100644

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

fs/pstore/ram_core.c +5 -1
index 11e558efd61e..b56cf56ae926 100644

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

fs/reiserfs/namei.c +4 -0
index 14ba7a12b89d..ad4892837c45 100644

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

fs/reiserfs/xattr_security.c +1 -1
index 20be9a0e5870..59d87f9f72fb 100644

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

fs/sysv/itree.c +1 -1
index bcb67b0cabe7..31f66053e239 100644

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

fs/udf/balloc.c +2 -3
index e0fd65fe73e8..6f2bfbf248c9 100644

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

fs/udf/inode.c +38 -46

84 lines not on this page · raw message

fs/udf/namei.c +4 -4
index da6bd03d51fe..72957b1acb1a 100644

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

fs/udf/truncate.c +15 -33

48 lines not on this page · raw message

fs/udf/udfdecl.h +1 -2
index fa206558128d..76ac3f8bc405 100644

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

fs/xattr.c +1 -1
index 94f9559ba0f8..b0c322599e4c 100644

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

include/asm-generic/tlb.h +6 -0
index 5e7e4aaf36c5..43409a047480 100644

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

include/linux/can/platform/sja1000.h +1 -1
index 5755ae5a4712..6a869682c120 100644

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

include/linux/eventfd.h +1 -1
index 60b2985e8a18..e05629a35bba 100644

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

include/linux/fs.h +10 -2
index 1084f1335c9f..ff0a992846a3 100644

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

include/linux/once.h +28 -0
index 6790884d3c57..bb091119b754 100644

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

include/linux/sunrpc/rpc_pipe_fs.h +5 -0
index a5704daf5df9..a444ddc946fa 100644

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

include/linux/timerqueue.h +1 -1
index aff122f1062a..e1a843cb16d4 100644

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

include/net/mrp.h +1 -0
index ef58b4a07190..c6c53370e390 100644

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

include/uapi/linux/swab.h +1 -1
index 7272f85d6d6a..3736f2fe1541 100644

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

include/uapi/sound/asequencer.h +4 -4
index a75e14edc957..dbd60f48b4b0 100644

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

kernel/acct.c +2 -0
index 354578d253d5..bec90c267ac6 100644

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

kernel/events/core.c +5 -3
index 7ad142a5327e..eb67ef450615 100644

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

kernel/gcov/gcc_4_7.c +5 -0
index bb6ccf456e2d..1c2bd1f23536 100644

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

kernel/power/snapshot.c +2 -2
index ff2aabb70de9..3df9d57c18fe 100644

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

kernel/trace/blktrace.c +2 -1
index 0b22bf622397..30e3af538039 100644

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

kernel/trace/trace.c +14 -1
index 60a1733abbb7..02075886f530 100644

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

lib/notifier-error-inject.c +1 -1
index eb4a04afea80..125ea8ce23a4 100644

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

lib/once.c +30 -0
index bfb7420d0de3..76c7bbc0aa40 100644

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

lib/test_firmware.c +1 -0
index 2e5e18bbfd28..1c5e5246bf10 100644

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

mm/khugepaged.c +23 -1
index f426d42d629d..644f0a9c8a55 100644

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

mm/memory.c +5 -0
index 615cb3fe763d..0136af15ba18 100644

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

net/802/mrp.c +13 -5
index 7a893a03e795..fb4d1e9c0bb2 100644

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

net/bluetooth/hci_core.c +1 -1
index a6f186a04fe7..81a151ca4a24 100644

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

net/bluetooth/l2cap_core.c +2 -1
index 494f3a7b9cf8..a5a19be51aff 100644

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

net/bluetooth/rfcomm/core.c +1 -1
index 3f7d042a09b4..3d1287d02fdd 100644

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

net/caif/cfctrl.c +5 -1
index 4dc82e9a855d..7af9439a08c3 100644

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

net/core/filter.c +9 -2
index afe27343051f..29d85a20f4fc 100644

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

net/core/skbuff.c +3 -0
index 0b672d71447f..9dae8009b407 100644

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

net/core/stream.c +6 -0
index e5c6c9e5e0aa..448100f51bf4 100644

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

net/ipv4/inet_connection_sock.c +15 -1
index 44b1d630c40b..6a1774b4609b 100644

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

net/ipv4/inet_hashtables.c +2 -2
index 48c7a3a51fc1..590801a7487f 100644

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

net/ipv4/udp_tunnel.c +1 -0
index 6539ff15e9a3..d03d74388870 100644

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

net/ipv6/raw.c +4 -0
index e8926ebfe74c..b0eaec92d887 100644

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

net/netfilter/ipset/ip_set_bitmap_ip.c +2 -2
index a4c104a4977f..45cff8b855c8 100644

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

net/nfc/netlink.c +38 -14

52 lines not on this page · raw message

net/openvswitch/datapath.c +16 -9
index a57a3755611d..8598bc101244 100644

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

net/sched/ematch.c +2 -0
index a48dca26f178..e6078a3da76a 100644

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

net/sched/sch_api.c +7 -3
index 96469d8a11fe..f305eb44bf36 100644

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

net/sched/sch_atm.c +4 -1
index 9198c9983b83..184ce9050457 100644

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

net/sunrpc/auth_gss/auth_gss.c +17 -2
index dc1eae4c206b..bb669f7f550e 100644

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

net/sunrpc/clnt.c +1 -1
index 9259529e0412..411925b043cc 100644

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

net/vmw_vsock/vmci_transport.c +5 -1
index c1da1ce3d36e..da17b4c153b1 100644

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

security/apparmor/apparmorfs.c +3 -1
index afd3e06e8fdd..91f636c353e5 100644

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

security/device_cgroup.c +29 -4
index ea014df89428..9afd18730939 100644

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

security/integrity/ima/ima_template.c +6 -3
index 8687882277a1..9d0d1c1bccd0 100644

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

sound/core/control_compat.c +4 -0
index 3fc216644e0e..00d826b048c4 100644

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

sound/drivers/mts64.c +3 -0
index f32e81342247..ca56cfcc383a 100644

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

sound/pci/asihpi/hpioctl.c +1 -1
index b4ccd9f92400..81f240472943 100644

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

sound/soc/codecs/pcm512x.c +4 -4
index 940bdc30753d..166ac1f5f2c1 100644

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

sound/soc/codecs/rt298.c +7 -0
index ce963768449f..041955eb7922 100644

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

sound/soc/codecs/rt5670.c +0 -2
index 9545764ef3eb..08367a813f5b 100644

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

sound/soc/codecs/wm8994.c +5 -0
index f289762cd676..1feeeed4bfb2 100644

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

sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c +5 -2
index aa52e2f81760..c58aa649d676 100644

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

sound/soc/pxa/mmp-pcm.c +1 -1
index 624d9bd5dadd..609843f607a3 100644

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

sound/soc/rockchip/rockchip_pdm.c +1 -0
index ad16c8310dd3..7dfd1e6b2c25 100644

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

sound/soc/rockchip/rockchip_spdif.c +1 -0
index a89fe9b6463b..5ac726da6015 100644

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

sound/soc/soc-ops.c +8 -1
index b734bf911470..f8d49074aa49 100644

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

sound/usb/line6/driver.c +2 -1
index c629a2bf6d2c..b175da772241 100644

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

sound/usb/line6/midi.c +4 -2
index b5d62b5f59ba..c52f0990a701 100644

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

sound/usb/line6/midibuf.c +17 -8
index c931d48801eb..4622234723a6 100644

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

sound/usb/line6/midibuf.h +4 -1
index 6ea21ffb6627..187f49c975c2 100644

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

sound/usb/line6/pod.c +2 -1
index 73e6dc7d6314..90ef623758e7 100644

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

tools/arch/parisc/include/uapi/asm/mman.h +6 -6
index 1bd78758bde9..5d789369aeef 100644

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

tools/lib/traceevent/Makefile +1 -1
index a0ac01c647f5..2d6989f8a87c 100644

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

tools/perf/bench/bench.h +0 -12
index 6c9fcd757f31..80208ac07771 100644

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

tools/perf/tests/attr.py +0 -1
index 6c68435585c7..3e07eee33b10 100644

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

tools/perf/util/auxtrace.c +1 -1
index 0224fc3aacc1..e2cc45e5e4a1 100644

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

tools/testing/ktest/ktest.pl +2 -1
index 3bdd6a463819..6197d5049ffb 100755

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

tools/testing/selftests/lib.mk +5 -0
index cd3034602ea5..7d0b6830ee48 100644

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

tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c +4 -1
index 17fb1b43c320..d6fb6f1125f9 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.