commit 9afc0c209685bc239e45b6ca1ea07186b78c7437
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Jul 20 16:10:54 2021 +0200

    Linux 5.4.134
    
    Link: https://lore.kernel.org/r/20210719144901.370365147@linuxfoundation.org
    Link: https://lore.kernel.org/r/20210719184316.974243081@linuxfoundation.org
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c1dafbb26164f43f2bb70bee9e5c4e1cad228ca7
Author: Eric Sandeen <sandeen@redhat.com>
Date:   Tue Jul 13 17:49:23 2021 +0200

    seq_file: disallow extremely large seq buffer allocations
    
    commit 8cae8cd89f05f6de223d63e6d15e31c8ba9cf53b upstream.
    
    There is no reasonable need for a buffer larger than this, and it avoids
    int overflow pitfalls.
    
    Fixes: 058504edd026 ("fs/seq_file: fallback to vmalloc allocation")
    Suggested-by: Al Viro <viro@zeniv.linux.org.uk>
    Reported-by: Qualys Security Advisory <qsa@qualys.com>
    Signed-off-by: Eric Sandeen <sandeen@redhat.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b06ab67bd63b51222645f5bf9f1ea25b2bc73721
Author: Tong Zhang <ztong0001@gmail.com>
Date:   Sat May 22 00:37:25 2021 -0400

    misc: alcor_pci: fix inverted branch condition
    
    commit 281e468446994a7672733af2bf941f4110d4a895 upstream.
    
    This patch fixes a trivial mistake that I made in the previous attempt
    in fixing the null bridge issue. The branch condition is inverted and we
    should call alcor_pci_find_cap_offset() only if bridge is not null.
    
    Reported-by: Colin Ian King <colin.king@canonical.com>
    Fixes: 3ce3e45cc333 ("misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge")
    Signed-off-by: Tong Zhang <ztong0001@gmail.com>
    Link: https://lore.kernel.org/r/20210522043725.602179-1-ztong0001@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f40884382995ff4ef416003ee4fbadac0376d20a
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Jun 3 15:33:20 2021 +0300

    scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
    
    commit 80927822e8b6be46f488524cd7d5fe683de97fc4 upstream.
    
    The "retval" variable needs to be signed for the error handling to work.
    
    Link: https://lore.kernel.org/r/YLjMEAFNxOas1mIp@mwanda
    Fixes: 7e26e3ea0287 ("scsi: scsi_dh_alua: Check for negative result value")
    Reviewed-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e9602efecf1986b27dd965094b545f4aa4c8bb43
Author: Martin Fäcknitz <faecknitz@hotsplots.de>
Date:   Mon Jul 5 02:03:54 2021 +0200

    MIPS: vdso: Invalid GIC access through VDSO
    
    [ Upstream commit 47ce8527fbba145a7723685bc9a27d9855e06491 ]
    
    Accessing raw timers (currently only CLOCK_MONOTONIC_RAW) through VDSO
    doesn't return the correct time when using the GIC as clock source.
    The address of the GIC mapped page is in this case not calculated
    correctly. The GIC mapped page is calculated from the VDSO data by
    subtracting PAGE_SIZE:
    
      void *get_gic(const struct vdso_data *data) {
        return (void __iomem *)data - PAGE_SIZE;
      }
    
    However, the data pointer is not page aligned for raw clock sources.
    This is because the VDSO data for raw clock sources (CS_RAW = 1) is
    stored after the VDSO data for coarse clock sources (CS_HRES_COARSE = 0).
    Therefore, only the VDSO data for CS_HRES_COARSE is page aligned:
    
      +--------------------+
      |                    |
      | vd[CS_RAW]         | ---+
      | vd[CS_HRES_COARSE] |    |
      +--------------------+    | -PAGE_SIZE
      |                    |    |
      |  GIC mapped page   | <--+
      |                    |
      +--------------------+
    
    When __arch_get_hw_counter() is called with &vd[CS_RAW], get_gic returns
    the wrong address (somewhere inside the GIC mapped page). The GIC counter
    values are not returned which results in an invalid time.
    
    Fixes: a7f4df4e21dd ("MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()")
    Signed-off-by: Martin Fäcknitz <faecknitz@hotsplots.de>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 48351df82dbcc7156d81e1286dc73cd9427dfcef
Author: Randy Dunlap <rdunlap@infradead.org>
Date:   Sun Jul 4 16:02:11 2021 -0700

    mips: disable branch profiling in boot/decompress.o
    
    [ Upstream commit 97e488073cfca0eea84450169ca4cbfcc64e33e3 ]
    
    Use DISABLE_BRANCH_PROFILING for arch/mips/boot/compressed/decompress.o
    to prevent linkage errors.
    
    mips64-linux-ld: arch/mips/boot/compressed/decompress.o: in function `LZ4_decompress_fast_extDict':
    decompress.c:(.text+0x8c): undefined reference to `ftrace_likely_update'
    mips64-linux-ld: decompress.c:(.text+0xf4): undefined reference to `ftrace_likely_update'
    mips64-linux-ld: decompress.c:(.text+0x200): undefined reference to `ftrace_likely_update'
    mips64-linux-ld: decompress.c:(.text+0x230): undefined reference to `ftrace_likely_update'
    mips64-linux-ld: decompress.c:(.text+0x320): undefined reference to `ftrace_likely_update'
    mips64-linux-ld: arch/mips/boot/compressed/decompress.o:decompress.c:(.text+0x3f4): more undefined references to `ftrace_likely_update' follow
    
    Fixes: e76e1fdfa8f8 ("lib: add support for LZ4-compressed kernel")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: linux-mips@vger.kernel.org
    Cc: Kyungsik Lee <kyungsik.lee@lge.com>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d8afab9bc9fe86c570b809e29e1240e8e009da85
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jul 2 16:28:37 2021 +0200

    mips: always link byteswap helpers into decompressor
    
    [ Upstream commit cddc40f5617e53f97ef019d5b29c1bd6cbb031ec ]
    
    My series to clean up the unaligned access implementation
    across architectures caused some mips randconfig builds to
    fail with:
    
       mips64-linux-ld: arch/mips/boot/compressed/decompress.o: in function `decompress_kernel':
       decompress.c:(.text.decompress_kernel+0x54): undefined reference to `__bswapsi2'
    
    It turns out that this problem has already been fixed for the XZ
    decompressor but now it also shows up in (at least) LZO and LZ4.  From my
    analysis I concluded that the compiler could always have emitted those
    calls, but the different implementation allowed it to make otherwise
    better decisions about not inlining the byteswap, which results in the
    link error when the out-of-line code is missing.
    
    While it could be addressed by adding it to the two decompressor
    implementations that are known to be affected, but as this only adds
    112 bytes to the kernel, the safer choice is to always add them.
    
    Fixes: c50ec6787536 ("MIPS: zboot: Fix the build with XZ compression on older GCC versions")
    Fixes: 0652035a5794 ("asm-generic: unaligned: remove byteshift helpers")
    Link: https://lore.kernel.org/linux-mm/202106301304.gz2wVY9w-lkp@intel.com/
    Link: https://lore.kernel.org/linux-mm/202106260659.TyMe8mjr-lkp@intel.com/
    Link: https://lore.kernel.org/linux-mm/202106172016.onWT6Tza-lkp@intel.com/
    Link: https://lore.kernel.org/linux-mm/202105231743.JJcALnhS-lkp@intel.com/
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bb2435840681750474d8488887ae0e61d352da11
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Sat Jun 12 09:18:34 2021 +0200

    scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
    
    [ Upstream commit 030e4138d11fced3b831c2761e4cecf347bae99c ]
    
    If an error occurs after a pci_enable_pcie_error_reporting() call, it must
    be undone by a corresponding pci_disable_pcie_error_reporting() call, as
    already done in the remove function.
    
    Link: https://lore.kernel.org/r/77adb02cfea7f1364e5603ecf3930d8597ae356e.1623482155.git.christophe.jaillet@wanadoo.fr
    Fixes: 3567f36a09d1 ("[SCSI] be2iscsi: Fix AER handling in driver")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2a22a1ca453ab3b7aad4f929506435ca3831d996
Author: Pali Rohár <pali@kernel.org>
Date:   Thu May 20 13:35:19 2021 +0200

    firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng
    
    [ Upstream commit 2eab59cf0d2036a5a9e264f719b71c21ccf679c2 ]
    
    When Marvell's rWTM firmware, which does not support the GET_RANDOM
    command, is used, kernel prints an error message
      hwrng: no data available
    every 10 seconds.
    
    Fail probing of this driver if the rWTM firmware does not support the
    GET_RANDOM command.
    
    Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
    Signed-off-by: Pali Rohár <pali@kernel.org>
    Signed-off-by: Marek Behún <kabel@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b7c1bafe813a18cf748cbf01a7405d14f2a4e58f
Author: Marek Behún <kabel@kernel.org>
Date:   Thu May 20 13:35:18 2021 +0200

    firmware: turris-mox-rwtm: report failures better
    
    [ Upstream commit 72f99888944c44de1c899bbe44db1e53bdc9d994 ]
    
    Report a notice level message if a command is not supported by the rWTM
    firmware.
    
    This should not be an error, merely a notice, because the firmware can
    be used on boards that do not have manufacturing information burned.
    
    Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
    Signed-off-by: Marek Behún <kabel@kernel.org>
    Reviewed-by: Pali Rohár <pali@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7934e060732f9bd162dd5f1621087255b1e31e42
Author: Marek Behún <kabel@kernel.org>
Date:   Thu May 20 13:35:17 2021 +0200

    firmware: turris-mox-rwtm: fix reply status decoding function
    
    [ Upstream commit e34e60253d9272311831daed8a2d967cf80ca3dc ]
    
    The status decoding function mox_get_status() currently contains an
    incorrect check: if the error status is not MBOX_STS_SUCCESS, it always
    returns -EIO, so the comparison to MBOX_STS_FAIL is never executed and
    we don't get the actual error code sent by the firmware.
    
    Fix this.
    
    Signed-off-by: Marek Behún <kabel@kernel.org>
    Reviewed-by: Pali Rohár <pali@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Fixes: 389711b37493 ("firmware: Add Turris Mox rWTM firmware driver")
    Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 65f32d1e05149bf9f37810850bac879cd8875352
Author: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Date:   Sat Jun 5 10:52:11 2021 +0200

    thermal/drivers/rcar_gen3_thermal: Fix coefficient calculations
    
    [ Upstream commit 8946187ab57ffd02088e50256c73dd31f49db06d ]
    
    The fixed value of 157 used in the calculations are only correct for
    M3-W, on other Gen3 SoC it should be 167. The constant can be derived
    correctly from the static TJ_3 constant and the SoC specific TJ_1 value.
    Update the calculation be correct on all Gen3 SoCs.
    
    Fixes: 4eb39f79ef44 ("thermal: rcar_gen3_thermal: Update value of Tj_1")
    Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Link: https://lore.kernel.org/r/20210605085211.564909-1-niklas.soderlund+renesas@ragnatech.se
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a3ea516d8d5b8d7edf3ccf2d7ca52b24e640a8ca
Author: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Date:   Wed May 26 12:54:00 2021 +0200

    ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
    
    [ Upstream commit ddc873cd3c0af4faad6a00bffda21c3f775126dd ]
    
    The i2c bus can freeze at the end of transaction so the bus can no longer work.
    This scenario is improved by adding scl/sda gpios definitions to implement the
    i2c bus recovery mechanism.
    
    Fixes: 52c7a088badd ("ARM: dts: imx6q: Add support for the DHCOM iMX6 SoM and PDK2")
    Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: Marek Vasut <marex@denx.de>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: kernel@dh-electronics.com
    To: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c4e2fa6fb0f3f0d635c7ed427e2ed47810877b2e
Author: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Date:   Wed May 26 12:53:59 2021 +0200

    ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
    
    [ Upstream commit e2bdd3484890441b9cc2560413a86e8f2aa04157 ]
    
    To make the ethernet cable plugin detection reliable the
    power detection of the smsc phy has been disabled.
    
    Fixes: 52c7a088badd ("ARM: dts: imx6q: Add support for the DHCOM iMX6 SoM and PDK2")
    Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: Marek Vasut <marex@denx.de>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: kernel@dh-electronics.com
    To: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9cc2ef1a784cd15146b798e0cd1ad9640b9c24c5
Author: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Date:   Wed May 26 12:53:58 2021 +0200

    ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
    
    [ Upstream commit c016c26c1631f539c652b5d82242a3ca402545c1 ]
    
    Fix ethernet reset time properties as described in
    Documentation/devicetree/bindings/net/ethernet-phy.yaml
    
    Fixes: 52c7a088badd ("ARM: dts: imx6q: Add support for the DHCOM iMX6 SoM and PDK2")
    Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: Marek Vasut <marex@denx.de>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: kernel@dh-electronics.com
    To: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 85434c3a281e8c60a56db51b9cceda93edef218c
Author: Aswath Govindraju <a-govindraju@ti.com>
Date:   Tue Jun 8 10:39:52 2021 +0530

    ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
    
    [ Upstream commit 9b11fec7345f21995f4ea4bafb0e108b9a620238 ]
    
    ti,pindir-d0-out-d1-in property is expected to be of type boolean.
    Therefore, fix the property accordingly.
    
    Fixes: b0b039515445 ("ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1")
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e1314f75b38acfac645c98bd5c763ee7f21892a4
Author: Aswath Govindraju <a-govindraju@ti.com>
Date:   Tue Jun 8 10:39:51 2021 +0530

    ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
    
    [ Upstream commit 414bfe1d26b60ef20b58e36efd5363188a694bab ]
    
    ti,pindir-d0-out-d1-in property is expected to be of type boolean.
    Therefore, fix the property accordingly.
    
    Fixes: 444d66fafab8 ("ARM: dts: add spi wifi support to cm-t335")
    Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 443f6ca6fd186b4fa4e6f377b6e19a91feb1a0d5
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Thu May 27 11:43:22 2021 -0400

    memory: fsl_ifc: fix leak of private memory on probe failure
    
    [ Upstream commit 8e0d09b1232d0538066c40ed4c13086faccbdff6 ]
    
    On probe error the driver should free the memory allocated for private
    structure.  Fix this by using resource-managed allocation.
    
    Fixes: a20cbdeffce2 ("powerpc/fsl: Add support for Integrated Flash Controller")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210527154322.81253-2-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d9213d4f372d30b5bc4d921795d6bed0c0e3eebf
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Thu May 27 11:43:21 2021 -0400

    memory: fsl_ifc: fix leak of IO mapping on probe failure
    
    [ Upstream commit 3b132ab67fc7a358fff35e808fa65d4bea452521 ]
    
    On probe error the driver should unmap the IO memory.  Smatch reports:
    
      drivers/memory/fsl_ifc.c:298 fsl_ifc_ctrl_probe() warn: 'fsl_ifc_ctrl_dev->gregs' not released on lines: 298.
    
    Fixes: a20cbdeffce2 ("powerpc/fsl: Add support for Integrated Flash Controller")
    Reported-by: kernel test robot <lkp@intel.com>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210527154322.81253-1-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8ef43fa4646fc69034340cdcae2b0033cb06b4ea
Author: Philipp Zabel <p.zabel@pengutronix.de>
Date:   Mon Jun 7 10:26:15 2021 +0200

    reset: bail if try_module_get() fails
    
    [ Upstream commit 4fb26fb83f0def3d39c14e268bcd4003aae8fade ]
    
    Abort instead of returning a new reset control for a reset controller
    device that is going to have its module unloaded.
    
    Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Fixes: 61fc41317666 ("reset: Add reset controller API")
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Link: https://lore.kernel.org/r/20210607082615.15160-1-p.zabel@pengutronix.de
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 04bb5b3ea08d2dabd8f454be9650429af490535e
Author: Rafał Miłecki <rafal@milecki.pl>
Date:   Wed May 12 15:07:09 2021 +0200

    ARM: dts: BCM5301X: Fixup SPI binding
    
    [ Upstream commit d5aede3e6dd1b8ca574600a1ecafe1e580c53f2f ]
    
    1. Reorder interrupts
    2. Fix typo: s/spi_lr_overhead/spi_lr_overread/
    3. Rename node: s/spi-nor@0/flash@0/
    
    This fixes:
    arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dt.yaml: spi@18029200: interrupt-names: 'oneOf' conditional failed, one must be fixed:
            ['spi_lr_fullness_reached', 'spi_lr_session_aborted', 'spi_lr_impatient', 'spi_lr_session_done', 'spi_lr_overhead', 'mspi_done', 'mspi_halted'] is too long
            Additional items are not allowed ('spi_lr_session_aborted', 'spi_lr_impatient', 'spi_lr_session_done', 'spi_lr_overhead', 'mspi_done', 'mspi_halted' were unexpected)
            'mspi_done' was expected
            'spi_l1_intr' was expected
            'mspi_halted' was expected
            'spi_lr_fullness_reached' was expected
            'spi_lr_session_aborted' was expected
            'spi_lr_impatient' was expected
            'spi_lr_session_done' was expected
            'spi_lr_overread' was expected
            From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
    arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dt.yaml: spi-nor@0: $nodename:0: 'spi-nor@0' does not match '^flash(@.*)?$'
            From schema: Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml
    
    Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cc10a352e29c1936150b0379db504cf01345cbcd
Author: Cristian Marussi <cristian.marussi@arm.com>
Date:   Tue Jun 1 11:24:17 2021 +0100

    firmware: arm_scmi: Reset Rx buffer to max size during async commands
    
    [ Upstream commit 0cb7af474e0dbb2f500c67aa62b6db9fafa74de2 ]
    
    During an async commands execution the Rx buffer length is at first set
    to max_msg_sz when the synchronous part of the command is first sent.
    However once the synchronous part completes the transport layer waits
    for the delayed response which will be processed using the same xfer
    descriptor initially allocated. Since synchronous response received at
    the end of the xfer will shrink the Rx buffer length to the effective
    payload response length, it needs to be reset again.
    
    Raise the Rx buffer length again to max_msg_sz before fetching the
    delayed response to ensure full response is read correctly from the
    shared memory.
    
    Link: https://lore.kernel.org/r/20210601102421.26581-2-cristian.marussi@arm.com
    Fixes: 58ecdf03dbb9 ("firmware: arm_scmi: Add support for asynchronous commands and delayed response")
    Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
    [sudeep.holla: moved reset to scmi_handle_response as it could race with
                   do_xfer_with_response]
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7dde9387498cd65178404341e70d81eb97b65d9f
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Thu May 13 21:26:46 2021 +0800

    firmware: tegra: Fix error return code in tegra210_bpmp_init()
    
    [ Upstream commit 7fea67710e9f6a111a2c9440576f2396ccd92d57 ]
    
    When call irq_get_irq_data() to get the IRQ's irq_data failed, an
    appropriate error code -ENOENT should be returned. However, we directly
    return 'err', which records the IRQ number instead of the error code.
    
    Fixes: 139251fc2208 ("firmware: tegra: add bpmp driver for Tegra210")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6ca8e516bc65d1cc2c2f2bd32e97b399800c8f3e
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Apr 29 14:41:15 2021 +0200

    ARM: dts: r8a7779, marzen: Fix DU clock names
    
    [ Upstream commit 6ab8c23096a29b69044209a5925758a6f88bd450 ]
    
    "make dtbs_check" complains:
    
        arch/arm/boot/dts/r8a7779-marzen.dt.yaml: display@fff80000: clock-names:0: 'du.0' was expected
    
    Change the first clock name to match the DT bindings.
    This has no effect on actual operation, as the Display Unit driver in
    Linux does not use the first clock name on R-Car H1, but just grabs the
    first clock.
    
    Fixes: 665d79aa47cb3983 ("ARM: shmobile: marzen: Add DU external pixel clock to DT")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://lore.kernel.org/r/9d5e1b371121883b3b3e10a3df43802a29c6a9da.1619699965.git.geert+renesas@glider.be
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 52cc83c0282ce18a2023dc63115d3274ec5a39bd
Author: Valentine Barshak <valentine.barshak@cogentembedded.com>
Date:   Fri Mar 26 13:10:50 2021 +0100

    arm64: dts: renesas: v3msk: Fix memory size
    
    [ Upstream commit a422ec20caef6a50cf3c1efa93538888ebd576a6 ]
    
    The V3MSK board has 2 GiB RAM according to the datasheet and schematics.
    
    Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
    [geert: Verified schematics]
    Fixes: cc3e267e9bb0ce7f ("arm64: dts: renesas: initial V3MSK board device tree")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20210326121050.1578460-1-geert+renesas@glider.be
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 11d6c1992120f6260ff2a1f16b3064263deda39f
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue May 11 10:19:26 2021 +0300

    rtc: fix snprintf() checking in is_rtc_hctosys()
    
    [ Upstream commit 54b909436ede47e0ee07f1765da27ec2efa41e84 ]
    
    The scnprintf() function silently truncates the printf() and returns
    the number bytes that it was able to copy (not counting the NUL
    terminator).  Thus, the highest value it can return here is
    "NAME_SIZE - 1" and the overflow check is dead code.  Fix this by
    using the snprintf() function which returns the number of bytes that
    would have been copied if there was enough space and changing the
    condition from "> NAME_SIZE" to ">= NAME_SIZE".
    
    Fixes: 92589c986b33 ("rtc-proc: permit the /proc/driver/rtc device to use other devices")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Link: https://lore.kernel.org/r/YJov/pcGmhLi2pEl@mwanda
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 226adc0bf9470a30ed282ad458d50bfddef5eebf
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Sat May 15 12:00:04 2021 +0800

    memory: pl353: Fix error return code in pl353_smc_probe()
    
    [ Upstream commit 76e5624f3f9343a621dd3f4006f4e4d9c3f91e33 ]
    
    When no child nodes are matched, an appropriate error code -ENODEV should
    be returned. However, we currently do not explicitly assign this error
    code to 'err'. As a result, 0 was incorrectly returned.
    
    Fixes: fee10bd22678 ("memory: pl353: Add driver for arm pl353 static memory controller")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Link: https://lore.kernel.org/r/20210515040004.6983-1-thunder.leizhen@huawei.com
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b782d54b4dca0b41b87ff25197bd2344565f10e5
Author: Zou Wei <zou_wei@huawei.com>
Date:   Wed May 12 11:14:43 2021 +0800

    reset: brcmstb: Add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit e207457f9045343a24d936fbb67eb4b412f1c6ad ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: 77750bc089e4 ("reset: Add Broadcom STB SW_INIT reset controller driver")
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Link: https://lore.kernel.org/r/1620789283-15048-1-git-send-email-zou_wei@huawei.com
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2a9392c6d2181d8a8080d7edd0e7bb381498b3a7
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Fri Apr 23 12:18:15 2021 +0200

    memory: atmel-ebi: add missing of_node_put for loop iteration
    
    [ Upstream commit 907c5bbb514a4676160e79764522fff56ce3448e ]
    
    Early exits from for_each_available_child_of_node() should decrement the
    node reference counter.  Reported by Coccinelle:
    
      drivers/memory/atmel-ebi.c:593:1-33: WARNING:
        Function "for_each_available_child_of_node" should have of_node_put() before return around line 604.
    
    Fixes: 6a4ec4cd0888 ("memory: add Atmel EBI (External Bus Interface) driver")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210423101815.119341-2-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 05cfac1747961474ab2f0a4d3f080d4a1c75fbbc
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Wed May 5 09:59:41 2021 -0400

    ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
    
    [ Upstream commit fd2f1717966535b7d0b6fe45cf0d79e94330da5f ]
    
    There is no "max_brightness" property as pointed out by dtschema:
    
      arch/arm/boot/dts/exynos5422-odroidxu4.dt.yaml: led-controller: led-1: 'max-brightness' is a required property
    
    Fixes: 6658356014cb ("ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210505135941.59898-5-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 45414bfe5af30bd66871eaaf1d22ae940e04230a
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Wed May 5 09:59:40 2021 -0400

    ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
    
    [ Upstream commit a7e59c84cf2055a1894f45855c8319191f2fa59e ]
    
    There is no "max_brightness" property as pointed out by dtschema:
    
      arch/arm/boot/dts/exynos5422-odroidhc1.dt.yaml: led-controller: led-1: 'max-brightness' is a required property
    
    Fixes: 1ac49427b566 ("ARM: dts: exynos: Add support for Hardkernel's Odroid HC1 board")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210505135941.59898-4-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cc617c9ddb1ff08935e872971c0c57e0b2e931bf
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Wed May 5 09:59:39 2021 -0400

    ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
    
    [ Upstream commit 75121e1dc9fe4def41e63d57f6a53749b88006ed ]
    
    There is no "max_brightness" property.  This brings the intentional
    brightness reduce of green LED and dtschema checks as well:
    
      arch/arm/boot/dts/exynos5410-odroidxu.dt.yaml: led-controller-1: led-1: 'max-brightness' is a required property
    
    Fixes: 719f39fec586 ("ARM: dts: exynos5422-odroidxu3: Hook up PWM and use it for LEDs")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210505135941.59898-3-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13c5fa0a43a0883d6d125847e797c390d4e6d439
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Sun Apr 25 19:49:45 2021 +0200

    ARM: exynos: add missing of_node_put for loop iteration
    
    [ Upstream commit 48d551bf20858240f38a0276be3016ff379918ac ]
    
    Early exits from for_each_compatible_node() should decrement the
    node reference counter.  Reported by Coccinelle:
    
      arch/arm/mach-exynos/exynos.c:52:1-25: WARNING:
        Function "for_each_compatible_node" should have of_node_put() before break around line 58.
    
    Fixes: b3205dea8fbf ("ARM: EXYNOS: Map SYSRAM through generic DT bindings")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Link: https://lore.kernel.org/r/20210425174945.164612-1-krzysztof.kozlowski@canonical.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dc3939d9723801594630075e959e8bf84de67f84
Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Date:   Fri May 7 07:28:03 2021 -0400

    reset: a10sr: add missing of_match_table reference
    
    [ Upstream commit 466ba3c8ff4fae39e455ff8d080b3d5503302765 ]
    
    The driver defined of_device_id table but did not use it with
    of_match_table.  This prevents usual matching via devicetree and causes
    a W=1 warning:
    
      drivers/reset/reset-a10sr.c:111:34: warning:
        ‘a10sr_reset_of_match’ defined but not used [-Wunused-const-variable=]
    
    Reported-by: kernel test robot <lkp@intel.com>
    Fixes: 627006820268 ("reset: Add Altera Arria10 SR Reset Controller")
    Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
    Link: https://lore.kernel.org/r/20210507112803.20012-1-krzysztof.kozlowski@canonical.com
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b57e025bb0d7c213abcd9d40c5e1f992144c4f6c
Author: Corentin Labbe <clabbe@baylibre.com>
Date:   Wed Apr 28 18:54:57 2021 +0000

    ARM: dts: gemini-rut1xx: remove duplicate ethernet node
    
    [ Upstream commit 3d3bb3d27cd371d3edb43eeb1beb8ae4e92a356d ]
    
    Two ethernet node was added by
    commit 95220046a62c ("ARM: dts: Add ethernet to a bunch of platforms")
    and commit d6d0cef55e5b ("ARM: dts: Add the FOTG210 USB host to Gemini boards")
    
    This patch removes the duplicate one.
    
    Fixes: d6d0cef55e5b ("ARM: dts: Add the FOTG210 USB host to Gemini boards")
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3f870d8c2bc126678ba692f6762a90a073679565
Author: Nathan Chancellor <nathan@kernel.org>
Date:   Wed Jul 7 18:07:41 2021 -0700

    hexagon: use common DISCARDS macro
    
    [ Upstream commit 681ba73c72302214686401e707e2087ed11a6556 ]
    
    ld.lld warns that the '.modinfo' section is not currently handled:
    
    ld.lld: warning: kernel/built-in.a(workqueue.o):(.modinfo) is being placed in '.modinfo'
    ld.lld: warning: kernel/built-in.a(printk/printk.o):(.modinfo) is being placed in '.modinfo'
    ld.lld: warning: kernel/built-in.a(irq/spurious.o):(.modinfo) is being placed in '.modinfo'
    ld.lld: warning: kernel/built-in.a(rcu/update.o):(.modinfo) is being placed in '.modinfo'
    
    The '.modinfo' section was added in commit 898490c010b5 ("moduleparam:
    Save information about built-in modules in separate file") to the DISCARDS
    macro but Hexagon has never used that macro.  The unification of DISCARDS
    happened in commit 023bf6f1b8bf ("linker script: unify usage of discard
    definition") in 2009, prior to Hexagon being added in 2011.
    
    Switch Hexagon over to the DISCARDS macro so that anything that is
    expected to be discarded gets discarded.
    
    Link: https://lkml.kernel.org/r/20210521011239.1332345-3-nathan@kernel.org
    Fixes: e95bf452a9e2 ("Hexagon: Add configuration and makefiles for the Hexagon architecture.")
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Acked-by: Brian Cain <bcain@codeaurora.org>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Oliver Glitta <glittao@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3b03882123e456b9eb94805d1f33bca63582b06b
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Sat Jul 3 14:34:20 2021 -0400

    NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
    
    [ Upstream commit f46f84931a0aa344678efe412d4b071d84d8a805 ]
    
    After we grab the lock in nfs4_pnfs_ds_connect(), there is no check for
    whether or not ds->ds_clp has already been initialised, so we can end up
    adding the same transports multiple times.
    
    Fixes: fc821d59209d ("pnfs/NFSv4.1: Add multipath capabilities to pNFS flexfiles servers over NFSv3")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9f02e9dd8ca22321af52d17cb3e6a6bc50cfd55c
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Wed Jul 7 15:40:51 2021 +0800

    ALSA: isa: Fix error return code in snd_cmi8330_probe()
    
    [ Upstream commit 31028cbed26a8afa25533a10425ffa2ab794c76c ]
    
    When 'SB_HW_16' check fails, the error code -ENODEV instead of 0 should be
    returned, which is the same as that returned when 'WSS_HW_CMI8330' check
    fails.
    
    Fixes: 43bcd973d6d0 ("[ALSA] Add snd_card_set_generic_dev() call to ISA drivers")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Link: https://lore.kernel.org/r/20210707074051.2663-1-thunder.leizhen@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aa8866530d6abb9d883dec2f0e8151cdcaf80bc9
Author: Maurizio Lombardi <mlombard@redhat.com>
Date:   Fri Jul 2 10:11:21 2021 +0200

    nvme-tcp: can't set sk_user_data without write_lock
    
    [ Upstream commit 0755d3be2d9bb6ea38598ccd30d6bbaa1a5c3a50 ]
    
    The sk_user_data pointer is supposed to be modified only while
    holding the write_lock "sk_callback_lock", otherwise
    we could race with other threads and crash the kernel.
    
    we can't take the write_lock in nvmet_tcp_state_change()
    because it would cause a deadlock, but the release_work queue
    will set the pointer to NULL later so we can simply remove
    the assignment.
    
    Fixes: b5332a9f3f3d ("nvmet-tcp: fix incorrect locking in state_change sk callback")
    
    Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
    Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 496bcc8d4ff9178f913630958632f7c064df5809
Author: Michael S. Tsirkin <mst@redhat.com>
Date:   Tue Apr 13 01:35:26 2021 -0400

    virtio_net: move tx vq operation under tx queue lock
    
    [ Upstream commit 5a2f966d0f3fa0ef6dada7ab9eda74cacee96b8a ]
    
    It's unsafe to operate a vq from multiple threads.
    Unfortunately this is exactly what we do when invoking
    clean tx poll from rx napi.
    Same happens with napi-tx even without the
    opportunistic cleaning from the receive interrupt: that races
    with processing the vq in start_xmit.
    
    As a fix move everything that deals with the vq to under tx lock.
    
    Fixes: b92f1e6751a6 ("virtio-net: transmit napi")
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aac6a79ee0c01d87b17e1b365ae7580fde4a2df1
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Tue May 25 08:35:27 2021 +0200

    pwm: imx1: Don't disable clocks at device remove time
    
    [ Upstream commit 1bc6ea31cb41d50302a3c9b401964cf0a88d41f9 ]
    
    The .remove() callback disables clocks that were not enabled in
    .probe(). So just probing and then unbinding the driver results in a clk
    enable imbalance.
    
    So just drop the call to disable the clocks. (Which BTW was also in the
    wrong order because the call makes the PWM unfunctional and so should
    have come only after pwmchip_remove()).
    
    Fixes: 9f4c8f9607c3 ("pwm: imx: Add ipg clock operation")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aa51b6bc79078e1b8a168f38926db9d6cb2181b7
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 23 14:01:35 2021 +0200

    x86/fpu: Limit xstate copy size in xstateregs_set()
    
    [ Upstream commit 07d6688b22e09be465652cf2da0da6bf86154df6 ]
    
    If the count argument is larger than the xstate size, this will happily
    copy beyond the end of xstate.
    
    Fixes: 91c3dba7dbc1 ("x86/fpu/xstate: Fix PTRACE frames for XSAVES")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Andy Lutomirski <luto@kernel.org>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20210623121452.120741557@linutronix.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit df749be38c94c1c7db75faf82ee6974af37b2d56
Author: Sandor Bodo-Merle <sbodomerle@gmail.com>
Date:   Tue Jun 22 17:26:30 2021 +0200

    PCI: iproc: Support multi-MSI only on uniprocessor kernel
    
    [ Upstream commit 2dc0a201d0f59e6818ef443609f0850a32910844 ]
    
    The interrupt affinity scheme used by this driver is incompatible with
    multi-MSI as it implies moving the doorbell address to that of another MSI
    group.  This isn't possible for multi-MSI, as all the MSIs must have the
    same doorbell address. As such it is restricted to systems with a single
    CPU.
    
    Link: https://lore.kernel.org/r/20210622152630.40842-2-sbodomerle@gmail.com
    Fixes: fc54bae28818 ("PCI: iproc: Allow allocation of multiple MSIs")
    Reported-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Sandor Bodo-Merle <sbodomerle@gmail.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Marc Zyngier <maz@kernel.org>
    Acked-by: Pali Rohár <pali@kernel.org>
    Acked-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 25bff167719dae3e576163342b3131dff7e25fb1
Author: Sandor Bodo-Merle <sbodomerle@gmail.com>
Date:   Tue Jun 22 17:26:29 2021 +0200

    PCI: iproc: Fix multi-MSI base vector number allocation
    
    [ Upstream commit e673d697b9a234fc3544ac240e173cef8c82b349 ]
    
    Commit fc54bae28818 ("PCI: iproc: Allow allocation of multiple MSIs")
    introduced multi-MSI support with a broken allocation mechanism (it failed
    to reserve the proper number of bits from the inner domain).  Natural
    alignment of the base vector number was also not guaranteed.
    
    Link: https://lore.kernel.org/r/20210622152630.40842-1-sbodomerle@gmail.com
    Fixes: fc54bae28818 ("PCI: iproc: Allow allocation of multiple MSIs")
    Reported-by: Pali Rohár <pali@kernel.org>
    Signed-off-by: Sandor Bodo-Merle <sbodomerle@gmail.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Marc Zyngier <maz@kernel.org>
    Acked-by: Pali Rohár <pali@kernel.org>
    Acked-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1d9d997850d878e266ac9c32597a715c9fc5d6e5
Author: Zhihao Cheng <chengzhihao1@huawei.com>
Date:   Fri Jun 18 16:11:03 2021 +0800

    ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
    
    [ Upstream commit a801fcfeef96702fa3f9b22ad56c5eb1989d9221 ]
    
    xfstests-generic/476 reports a warning message as below:
    
    WARNING: CPU: 2 PID: 30347 at fs/inode.c:361 inc_nlink+0x52/0x70
    Call Trace:
      do_rename+0x502/0xd40 [ubifs]
      ubifs_rename+0x8b/0x180 [ubifs]
      vfs_rename+0x476/0x1080
      do_renameat2+0x67c/0x7b0
      __x64_sys_renameat2+0x6e/0x90
      do_syscall_64+0x66/0xe0
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Following race case can cause this:
             rename_whiteout(Thread 1)             wb_workfn(Thread 2)
    ubifs_rename
      do_rename
                                              __writeback_single_inode
                                                spin_lock(&inode->i_lock)
        whiteout->i_state |= I_LINKABLE
                                                inode->i_state &= ~dirty;
    ---- How race happens on i_state:
        (tmp = whiteout->i_state | I_LINKABLE)
                                               (tmp = inode->i_state & ~dirty)
        (whiteout->i_state = tmp)
                                               (inode->i_state = tmp)
    ----
                                                spin_unlock(&inode->i_lock)
        inc_nlink(whiteout)
        WARN_ON(!(inode->i_state & I_LINKABLE)) !!!
    
    Fix to add i_lock to avoid i_state update race condition.
    
    Fixes: 9e0a1fff8db56ea ("ubifs: Implement RENAME_WHITEOUT")
    Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d0b32dc1409f7e65e4fcc34e236462268e69a357
Author: Gao Xiang <hsiangkao@linux.alibaba.com>
Date:   Fri Jun 18 12:20:55 2021 +0800

    nfs: fix acl memory leak of posix_acl_create()
    
    [ Upstream commit 1fcb6fcd74a222d9ead54d405842fc763bb86262 ]
    
    When looking into another nfs xfstests report, I found acl and
    default_acl in nfs3_proc_create() and nfs3_proc_mknod() error
    paths are possibly leaked. Fix them in advance.
    
    Fixes: 013cdf1088d7 ("nfs: use generic posix ACL infrastructure for v3 Posix ACLs")
    Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
    Cc: Anna Schumaker <anna.schumaker@netapp.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
    Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e7de89b8b28531377b4bbf0968fb8465be9af2a2
Author: Tao Ren <rentao.bupt@gmail.com>
Date:   Fri Apr 16 20:42:49 2021 -0700

    watchdog: aspeed: fix hardware timeout calculation
    
    [ Upstream commit e7dc481c92060f9ce872878b0b7a08c24713a7e5 ]
    
    Fix hardware timeout calculation in aspeed_wdt_set_timeout function to
    ensure the reload value does not exceed the hardware limit.
    
    Fixes: efa859f7d786 ("watchdog: Add Aspeed watchdog driver")
    Reported-by: Amithash Prasad <amithash@fb.com>
    Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20210417034249.5978-1-rentao.bupt@gmail.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0366238f6af4bf76553cb89f5e5663cb873172d9
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Sat May 8 11:22:39 2021 +0800

    um: fix error return code in winch_tramp()
    
    [ Upstream commit ccf1236ecac476d9d2704866d9a476c86e387971 ]
    
    Fix to return a negative error code from the error handling case instead
    of 0, as done elsewhere in this function.
    
    Fixes: 89df6bfc0405 ("uml: DEBUG_SHIRQ fixes")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Acked-By: anton.ivanov@cambridgegreys.com
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c43226ac10792bec1d5825851291b6480ecfa761
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Sat May 8 11:13:54 2021 +0800

    um: fix error return code in slip_open()
    
    [ Upstream commit b77e81fbe5f5fb4ad9a61ec80f6d1e30b6da093a ]
    
    Fix to return a negative error code from the error handling case instead
    of 0, as done elsewhere in this function.
    
    Fixes: a3c77c67a443 ("[PATCH] uml: slirp and slip driver cleanups and fixes")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Acked-By: anton.ivanov@cambridgegreys.com
    Signed-off-by: Richard Weinberger <richard@nod.at>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 81e03fe5bf8f5f66b8a62429fb4832b11ec6b272
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Wed Jun 9 10:04:46 2021 -0400

    NFSv4: Initialise connection to the server in nfs4_alloc_client()
    
    [ Upstream commit dd99e9f98fbf423ff6d365b37a98e8879170f17c ]
    
    Set up the connection to the NFSv4 server in nfs4_alloc_client(), before
    we've added the struct nfs_client to the net-namespace's nfs_client_list
    so that a downed server won't cause other mounts to hang in the trunking
    detection code.
    
    Reported-by: Michael Wakabayashi <mwakabayashi@vmware.com>
    Fixes: 5c6e5b60aae4 ("NFS: Fix an Oops in the pNFS files and flexfiles connection setup to the DS")
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2d2842f5d2cd11fed2d0c1f0574508cfc6b51468
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Mon May 17 12:51:12 2021 +0200

    power: supply: rt5033_battery: Fix device tree enumeration
    
    [ Upstream commit f3076cd8d1d5fa64b5e1fa5affc045c2fc123baa ]
    
    The fuel gauge in the RT5033 PMIC has its own I2C bus and interrupt
    line. Therefore, it is not actually part of the RT5033 MFD and needs
    its own of_match_table to probe properly.
    
    Also, given that it's independent of the MFD, there is actually
    no need to make the Kconfig depend on MFD_RT5033. Although the driver
    uses the shared <linux/mfd/rt5033.h> header, there is no compile
    or runtime dependency on the RT5033 MFD driver.
    
    Cc: Beomho Seo <beomho.seo@samsung.com>
    Cc: Chanwoo Choi <cw00.choi@samsung.com>
    Fixes: b847dd96e659 ("power: rt5033_battery: Add RT5033 Fuel gauge device driver")
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c5b104a27028574dbffeaef3f05afc59d59e81a6
Author: Krzysztof Wilczyński <kw@linux.com>
Date:   Thu Jun 3 00:01:12 2021 +0000

    PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
    
    [ Upstream commit bdcdaa13ad96f1a530711c29e6d4b8311eff767c ]
    
    "utf16s_to_utf8s(..., buf, PAGE_SIZE)" puts up to PAGE_SIZE bytes into
    "buf" and returns the number of bytes it actually put there.  If it wrote
    PAGE_SIZE bytes, the newline added by dsm_label_utf16s_to_utf8s() would
    overrun "buf".
    
    Reduce the size available for utf16s_to_utf8s() to use so there is always
    space for the newline.
    
    [bhelgaas: reorder patch in series, commit log]
    Fixes: 6058989bad05 ("PCI: Export ACPI _DSM provided firmware instance number and string name to sysfs")
    Link: https://lore.kernel.org/r/20210603000112.703037-7-kw@linux.com
    Reported-by: Joe Perches <joe@perches.com>
    Signed-off-by: Krzysztof Wilczyński <kw@linux.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5b6cde3bae6dbf323febbf90f9f456f9f0d2480e
Author: Chao Yu <chao@kernel.org>
Date:   Tue May 18 09:57:54 2021 +0800

    f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
    
    [ Upstream commit 0dd571785d61528d62cdd8aa49d76bc6085152fe ]
    
    As marcosfrm reported in bugzilla:
    
    https://bugzilla.kernel.org/show_bug.cgi?id=213089
    
    Initramfs generators rely on "pre" softdeps (and "depends") to include
    additional required modules.
    
    F2FS does not declare "pre: crc32" softdep. Then every generator (dracut,
    mkinitcpio...) has to maintain a hardcoded list for this purpose.
    
    Hence let's use MODULE_SOFTDEP("pre: crc32") in f2fs code.
    
    Fixes: 43b6573bac95 ("f2fs: use cryptoapi crc32 functions")
    Reported-by: marcosfrm <marcosfrm@gmail.com>
    Signed-off-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 00fcd8f33e9b9f57115c3b1cfc4cb96450c18796
Author: Chang S. Bae <chang.seok.bae@intel.com>
Date:   Tue May 18 13:03:19 2021 -0700

    x86/signal: Detect and prevent an alternate signal stack overflow
    
    [ Upstream commit 2beb4a53fc3f1081cedc1c1a198c7f56cc4fc60c ]
    
    The kernel pushes context on to the userspace stack to prepare for the
    user's signal handler. When the user has supplied an alternate signal
    stack, via sigaltstack(2), it is easy for the kernel to verify that the
    stack size is sufficient for the current hardware context.
    
    Check if writing the hardware context to the alternate stack will exceed
    it's size. If yes, then instead of corrupting user-data and proceeding with
    the original signal handler, an immediate SIGSEGV signal is delivered.
    
    Refactor the stack pointer check code from on_sig_stack() and use the new
    helper.
    
    While the kernel allows new source code to discover and use a sufficient
    alternate signal stack size, this check is still necessary to protect
    binaries with insufficient alternate signal stack size from data
    corruption.
    
    Fixes: c2bc11f10a39 ("x86, AVX-512: Enable AVX-512 States Context Switch")
    Reported-by: Florian Weimer <fweimer@redhat.com>
    Suggested-by: Jann Horn <jannh@google.com>
    Suggested-by: Andy Lutomirski <luto@kernel.org>
    Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Len Brown <len.brown@intel.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/r/20210518200320.17239-6-chang.seok.bae@intel.com
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=153531
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 52bd1bce8624acb861fa96b7c8fc2e75422dc8f7
Author: Xie Yongji <xieyongji@bytedance.com>
Date:   Tue May 25 20:56:22 2021 +0800

    virtio_console: Assure used length from device is limited
    
    [ Upstream commit d00d8da5869a2608e97cfede094dfc5e11462a46 ]
    
    The buf->len might come from an untrusted device. This
    ensures the value would not exceed the size of the buffer
    to avoid data corruption or loss.
    
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Acked-by: Jason Wang <jasowang@redhat.com>
    Link: https://lore.kernel.org/r/20210525125622.1203-1-xieyongji@bytedance.com
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7909782857c2e48684c72c20a0db5a278098e882
Author: Xie Yongji <xieyongji@bytedance.com>
Date:   Mon May 17 16:45:16 2021 +0800

    virtio_net: Fix error handling in virtnet_restore()
    
    [ Upstream commit 3f2869cace829fb4b80fc53b3ddaa7f4ba9acbf1 ]
    
    Do some cleanups in virtnet_restore() when virtnet_cpu_notif_add() failed.
    
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Link: https://lore.kernel.org/r/20210517084516.332-1-xieyongji@bytedance.com
    Acked-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 04c6e60b884cb5e94ff32af46867fb41d5848358
Author: Xie Yongji <xieyongji@bytedance.com>
Date:   Mon May 17 16:43:32 2021 +0800

    virtio-blk: Fix memory leak among suspend/resume procedure
    
    [ Upstream commit b71ba22e7c6c6b279c66f53ee7818709774efa1f ]
    
    The vblk->vqs should be freed before we call init_vqs()
    in virtblk_restore().
    
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Link: https://lore.kernel.org/r/20210517084332.280-1-xieyongji@bytedance.com
    Acked-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8ae24b9bf8f9a6f071dc74d8d9976a343689e693
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Jun 30 17:23:16 2021 +0200

    ACPI: video: Add quirk for the Dell Vostro 3350
    
    [ Upstream commit 9249c32ec9197e8d34fe5179c9e31668a205db04 ]
    
    The Dell Vostro 3350 ACPI video-bus device reports spurious
    ACPI_VIDEO_NOTIFY_CYCLE events resulting in spurious KEY_SWITCHVIDEOMODE
    events being reported to userspace (and causing trouble there).
    
    Add a quirk setting the report_key_events mask to
    REPORT_BRIGHTNESS_KEY_EVENTS so that the ACPI_VIDEO_NOTIFY_CYCLE
    events will be ignored, while still reporting brightness up/down
    hotkey-presses to userspace normally.
    
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1911763
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0bbac736224fc3f6e8f584981bd299a237cf0d45
Author: Liguang Zhang <zhangliguang@linux.alibaba.com>
Date:   Tue Jun 29 19:27:48 2021 +0800

    ACPI: AMBA: Fix resource name in /proc/iomem
    
    [ Upstream commit 7718629432676b5ebd9a32940782fe297a0abf8d ]
    
    In function amba_handler_attach(), dev->res.name is initialized by
    amba_device_alloc. But when address_found is false, dev->res.name is
    assigned to null value, which leads to wrong resource name display in
    /proc/iomem, "<BAD>" is seen for those resources.
    
    Signed-off-by: Liguang Zhang <zhangliguang@linux.alibaba.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7d0667521501815966fc6fb1e5fb1082913adcbb
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Thu Jun 17 11:51:41 2021 +0200

    pwm: tegra: Don't modify HW state in .remove callback
    
    [ Upstream commit 86f7fa71cd830d18d7ebcaf719dffd5ddfe1acdd ]
    
    A consumer is expected to disable a PWM before calling pwm_put(). And if
    they didn't there is hopefully a good reason (or the consumer needs
    fixing). Also if disabling an enabled PWM was the right thing to do,
    this should better be done in the framework instead of in each low level
    driver.
    
    So drop the hardware modification from the .remove() callback.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f8ba40611be3dd2acda9cc4dac011f2a1d67bc7e
Author: Zou Wei <zou_wei@huawei.com>
Date:   Wed May 12 11:57:17 2021 +0800

    pwm: img: Fix PM reference leak in img_pwm_enable()
    
    [ Upstream commit fde25294dfd8e36e4e30b693c27a86232864002a ]
    
    pm_runtime_get_sync will increment pm usage counter even it failed.
    Forgetting to putting operation will result in reference leak here.
    Fix it by replacing it with pm_runtime_resume_and_get to keep usage
    counter balanced.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9eb5142d3f764cf688b0d0718c7ec053331d55d8
Author: Zou Wei <zou_wei@huawei.com>
Date:   Sat Jun 5 09:21:41 2021 +0800

    power: supply: ab8500: add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit dfe52db13ab8d24857a9840ec7ca75eef800c26c ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 658884b22ac88b591b21b66d02f2cabf012dccec
Author: Zou Wei <zou_wei@huawei.com>
Date:   Sat Jun 5 09:21:54 2021 +0800

    power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit 073b5d5b1f9cc94a3eea25279fbafee3f4f5f097 ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ae1a6af2f8f85f44aeb80f0a14bbbfc9bdd2efb6
Author: Trond Myklebust <trond.myklebust@hammerspace.com>
Date:   Tue May 11 23:41:10 2021 -0400

    NFS: nfs_find_open_context() may only select open files
    
    [ Upstream commit e97bc66377bca097e1f3349ca18ca17f202ff659 ]
    
    If a file has already been closed, then it should not be selected to
    support further I/O.
    
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    [Trond: Fix an invalid pointer deref reported by Colin Ian King]
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 04a333cf982ce9c14026edc43239f1fd340bbdfe
Author: Jeff Layton <jlayton@kernel.org>
Date:   Tue May 4 10:08:30 2021 -0400

    ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
    
    [ Upstream commit 22d41cdcd3cfd467a4af074165357fcbea1c37f5 ]
    
    The checks for page->mapping are odd, as set_page_dirty is an
    address_space operation, and I don't see where it would be called on a
    non-pagecache page.
    
    The warning about the page lock also seems bogus.  The comment over
    set_page_dirty() says that it can be called without the page lock in
    some rare cases. I don't think we want to warn if that's the case.
    
    Reported-by: Matthew Wilcox <willy@infradead.org>
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ab720715b8a8902f03a38c9f760b804d60d74ca8
Author: Mike Marshall <hubcap@omnibond.com>
Date:   Tue May 18 08:09:13 2021 -0400

    orangefs: fix orangefs df output.
    
    [ Upstream commit 0fdec1b3c9fbb5e856a40db5993c9eaf91c74a83 ]
    
    Orangefs df output is whacky. Walt Ligon suggested this might fix it.
    It seems way more in line with reality now...
    
    Signed-off-by: Mike Marshall <hubcap@omnibond.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1680c3ece2171bb7a7bd726ef3b58b0d176ba142
Author: Zou Wei <zou_wei@huawei.com>
Date:   Wed May 12 12:07:02 2021 +0800

    PCI: tegra: Add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit 7bf475a4614a9722b9b989e53184a02596cf16d1 ]
    
    Add missing MODULE_DEVICE_TABLE definition so we generate correct modalias
    for automatic loading of this driver when it is built as a module.
    
    Link: https://lore.kernel.org/r/1620792422-16535-1-git-send-email-zou_wei@huawei.com
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 12f8d6e7f2c7b94cf8309b9a7dbd6725b4fa295e
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 23 14:02:30 2021 +0200

    x86/fpu: Return proper error codes from user access functions
    
    [ Upstream commit aee8c67a4faa40a8df4e79316dbfc92d123989c1 ]
    
    When *RSTOR from user memory raises an exception, there is no way to
    differentiate them. That's bad because it forces the slow path even when
    the failure was not a fault. If the operation raised eg. #GP then going
    through the slow path is pointless.
    
    Use _ASM_EXTABLE_FAULT() which stores the trap number and let the exception
    fixup return the negated trap number as error.
    
    This allows to separate the fast path and let it handle faults directly and
    avoid the slow path for all other exceptions.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20210623121457.601480369@linutronix.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f58ab0b02ee7b095e0cae4ba706caa86fff5557b
Author: Jan Kiszka <jan.kiszka@siemens.com>
Date:   Sun May 30 13:24:23 2021 +0200

    watchdog: iTCO_wdt: Account for rebooting on second timeout
    
    [ Upstream commit cb011044e34c293e139570ce5c01aed66a34345c ]
    
    This was already attempted to fix via 1fccb73011ea: If the BIOS did not
    enable TCO SMIs, the timer definitely needs to trigger twice in order to
    cause a reboot. If TCO SMIs are on, as well as SMIs in general, we can
    continue to assume that the BIOS will perform a reboot on the first
    timeout.
    
    QEMU with its ICH9 and related BIOS falls into the former category,
    currently taking twice the configured timeout in order to reboot the
    machine. For iTCO version that fall under turn_SMI_watchdog_clear_off,
    this is also true and was currently only addressed for v1, irrespective
    of the turn_SMI_watchdog_clear_off value.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/0b8bb307-d08b-41b5-696c-305cdac6789c@siemens.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bcafecd304313f4e3592603cb190166a5642909c
Author: Stefan Eichenberger <eichest@gmail.com>
Date:   Tue Apr 6 14:12:47 2021 +0200

    watchdog: imx_sc_wdt: fix pretimeout
    
    [ Upstream commit 854478a381078ee86ae2a7908a934b1ded399130 ]
    
    If the WDIOF_PRETIMEOUT flag is not set when registering the device the
    driver will not show the sysfs entries or register the default governor.
    By moving the registering after the decision whether pretimeout is
    supported this gets fixed.
    
    Signed-off-by: Stefan Eichenberger <eichest@gmail.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
    Link: https://lore.kernel.org/r/20210519080311.142928-1-eichest@gmail.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit db222f1477ad5692cd454709b714949807e5d111
Author: Zou Wei <zou_wei@huawei.com>
Date:   Wed May 12 14:57:56 2021 +0800

    watchdog: Fix possible use-after-free by calling del_timer_sync()
    
    [ Upstream commit d0212f095ab56672f6f36aabc605bda205e1e0bf ]
    
    This driver's remove path calls del_timer(). However, that function
    does not wait until the timer handler finishes. This means that the
    timer handler may still be running after the driver's remove function
    has finished, which would result in a use-after-free.
    
    Fix by calling del_timer_sync(), which makes sure the timer handler
    has finished, and unable to re-schedule itself.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Acked-by: Vladimir Zapolskiy <vz@mleia.com>
    Link: https://lore.kernel.org/r/1620802676-19701-1-git-send-email-zou_wei@huawei.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7c56c5508dc20a6b133bc669fc34327a6711c24c
Author: Zou Wei <zou_wei@huawei.com>
Date:   Tue May 11 15:04:51 2021 +0800

    watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
    
    [ Upstream commit 90b7c141132244e8e49a34a4c1e445cce33e07f4 ]
    
    This module's remove path calls del_timer(). However, that function
    does not wait until the timer handler finishes. This means that the
    timer handler may still be running after the driver's remove function
    has finished, which would result in a use-after-free.
    
    Fix by calling del_timer_sync(), which makes sure the timer handler
    has finished, and unable to re-schedule itself.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/1620716691-108460-1-git-send-email-zou_wei@huawei.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 146cc288fb80c662c9c35e7bc58325d1ac0a7875
Author: Zou Wei <zou_wei@huawei.com>
Date:   Tue May 11 15:01:35 2021 +0800

    watchdog: Fix possible use-after-free in wdt_startup()
    
    [ Upstream commit c08a6b31e4917034f0ed0cb457c3bb209576f542 ]
    
    This module's remove path calls del_timer(). However, that function
    does not wait until the timer handler finishes. This means that the
    timer handler may still be running after the driver's remove function
    has finished, which would result in a use-after-free.
    
    Fix by calling del_timer_sync(), which makes sure the timer handler
    has finished, and unable to re-schedule itself.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/1620716495-108352-1-git-send-email-zou_wei@huawei.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1e6e806dda4c8a0fddacd7bd5385fe864f36245f
Author: Logan Gunthorpe <logang@deltatee.com>
Date:   Thu Jun 10 10:06:09 2021 -0600

    PCI/P2PDMA: Avoid pci_get_slot(), which may sleep
    
    [ Upstream commit 3ec0c3ec2d92c09465534a1ff9c6f9d9506ffef6 ]
    
    In order to use upstream_bridge_distance_warn() from a dma_map function, it
    must not sleep. However, pci_get_slot() takes the pci_bus_sem so it might
    sleep.
    
    In order to avoid this, try to get the host bridge's device from the first
    element in the device list. It should be impossible for the host bridge's
    device to go away while references are held on child devices, so the first
    element should not be able to change and, thus, this should be safe.
    
    Introduce a static function called pci_host_bridge_dev() to obtain the host
    bridge's root device.
    
    Link: https://lore.kernel.org/r/20210610160609.28447-7-logang@deltatee.com
    Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d2bc221be14824660f5d257a05e29b52383a2f7d
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Tue Jun 1 20:29:26 2021 +0100

    ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
    
    [ Upstream commit 8b95a7d90ce8160ac5cffd5bace6e2eba01a871e ]
    
    There's a few instructions that GAS infers operands but Clang doesn't;
    from what I can tell the Arm ARM doesn't say these are optional.
    
    F5.1.257 TBB, TBH T1 Halfword variant
    F5.1.238 STREXD T1 variant
    F5.1.84 LDREXD T1 variant
    
    Link: https://github.com/ClangBuiltLinux/linux/issues/1309
    
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Jian Cai <jiancai@google.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 94cfbe80f0cf731560ed6f65f27982491a858533
Author: Bixuan Cui <cuibixuan@huawei.com>
Date:   Sat May 8 11:14:59 2021 +0800

    power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit ed3443fb4df4e140a22f65144546c8a8e1e27f4e ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Bixuan Cui <cuibixuan@huawei.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6d1d46165f053eef98c97d2f32408dd0d68c6f9
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Wed May 26 13:20:35 2021 -0400

    power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
    
    [ Upstream commit 7fbf6b731bca347700e460d94b130f9d734b33e9 ]
    
    Interrupt line can be configured on different hardware in different way,
    even inverted.  Therefore driver should not enforce specific trigger
    type - edge falling - but instead rely on Devicetree to configure it.
    
    The Maxim 17047/77693 datasheets describe the interrupt line as active
    low with a requirement of acknowledge from the CPU therefore the edge
    falling is not correct.
    
    The interrupt line is shared between PMIC and RTC driver, so using level
    sensitive interrupt is here especially important to avoid races.  With
    an edge configuration in case if first PMIC signals interrupt followed
    shortly after by the RTC, the interrupt might not be yet cleared/acked
    thus the second one would not be noticed.
    
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8794f7bb543cabaf85b857a3dbca3e9dea6c124
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Sun May 23 00:50:41 2021 +0200

    power: supply: ab8500: Avoid NULL pointers
    
    [ Upstream commit 5bcb5087c9dd3dca1ff0ebd8002c5313c9332b56 ]
    
    Sometimes the code will crash because we haven't enabled
    AC or USB charging and thus not created the corresponding
    psy device. Fix it by checking that it is there before
    notifying.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit af619a7455a168dea530d78a8940333fd21c9c70
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Wed Apr 28 11:05:24 2021 +0200

    pwm: spear: Don't modify HW state in .remove callback
    
    [ Upstream commit b601a18f12383001e7a8da238de7ca1559ebc450 ]
    
    A consumer is expected to disable a PWM before calling pwm_put(). And if
    they didn't there is hopefully a good reason (or the consumer needs
    fixing). Also if disabling an enabled PWM was the right thing to do,
    this should better be done in the framework instead of in each low level
    driver.
    
    So drop the hardware modification from the .remove() callback.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f16b1d7dc46f48d45a6502a37da42172ed0a21ca
Author: Zou Wei <zou_wei@huawei.com>
Date:   Tue May 11 14:17:12 2021 +0800

    power: supply: sc2731_charger: Add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit 2aac79d14d76879c8e307820b31876e315b1b242 ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b8495c08b2e81f081ea9112a354c3df0a4cbea4d
Author: Zou Wei <zou_wei@huawei.com>
Date:   Tue May 11 11:37:45 2021 +0800

    power: supply: sc27xx: Add missing MODULE_DEVICE_TABLE
    
    [ Upstream commit 603fcfb9d4ec1cad8d66d3bb37f3613afa8a661a ]
    
    This patch adds missing MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13b51d90f0a687a389adbe3e6db4f4f46b755c61
Author: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Date:   Wed Jun 30 18:56:16 2021 -0700

    lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
    
    [ Upstream commit 2c484419efc09e7234c667aa72698cb79ba8d8ed ]
    
    lz4 compatible decompressor is simple.  The format is underspecified and
    relies on EOF notification to determine when to stop.  Initramfs buffer
    format[1] explicitly states that it can have arbitrary number of zero
    padding.  Thus when operating without a fill function, be extra careful to
    ensure that sizes less than 4, or apperantly empty chunksizes are treated
    as EOF.
    
    To test this I have created two cpio initrds, first a normal one,
    main.cpio.  And second one with just a single /test-file with content
    "second" second.cpio.  Then i compressed both of them with gzip, and with
    lz4 -l.  Then I created a padding of 4 bytes (dd if=/dev/zero of=pad4 bs=1
    count=4).  To create four testcase initrds:
    
     1) main.cpio.gzip + extra.cpio.gzip = pad0.gzip
     2) main.cpio.lz4  + extra.cpio.lz4 = pad0.lz4
     3) main.cpio.gzip + pad4 + extra.cpio.gzip = pad4.gzip
     4) main.cpio.lz4  + pad4 + extra.cpio.lz4 = pad4.lz4
    
    The pad4 test-cases replicate the initrd load by grub, as it pads and
    aligns every initrd it loads.
    
    All of the above boot, however /test-file was not accessible in the initrd
    for the testcase #4, as decoding in lz4 decompressor failed.  Also an
    error message printed which usually is harmless.
    
    Whith a patched kernel, all of the above testcases now pass, and
    /test-file is accessible.
    
    This fixes lz4 initrd decompress warning on every boot with grub.  And
    more importantly this fixes inability to load multiple lz4 compressed
    initrds with grub.  This patch has been shipping in Ubuntu kernels since
    January 2021.
    
    [1] ./Documentation/driver-api/early-userspace/buffer-format.rst
    
    BugLink: https://bugs.launchpad.net/bugs/1835660
    Link: https://lore.kernel.org/lkml/20210114200256.196589-1-xnox@ubuntu.com/ # v0
    Link: https://lkml.kernel.org/r/20210513104831.432975-1-dimitri.ledkov@canonical.com
    Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
    Cc: Kyungsik Lee <kyungsik.lee@lge.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Bongkyu Kim <bongkyu.kim@lge.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Sven Schmidt <4sschmid@informatik.uni-hamburg.de>
    Cc: Rajat Asthana <thisisrast7@gmail.com>
    Cc: Nick Terrell <terrelln@fb.com>
    Cc: Gao Xiang <hsiangkao@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f492dfec0c82e7a0d8c31f517d94f134872cacf4
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Fri Jun 4 16:27:44 2021 -0700

    i2c: core: Disable client irq on reboot/shutdown
    
    [ Upstream commit b64210f2f7c11c757432ba3701d88241b2b98fb1 ]
    
    If an i2c client receives an interrupt during reboot or shutdown it may
    be too late to service it by making an i2c transaction on the bus
    because the i2c controller has already been shutdown. This can lead to
    system hangs if the i2c controller tries to make a transfer that is
    doomed to fail because the access to the i2c pins is already shut down,
    or an iommu translation has been torn down so i2c controller register
    access doesn't work.
    
    Let's simply disable the irq if there isn't a shutdown callback for an
    i2c client when there is an irq associated with the device. This will
    make sure that irqs don't come in later than the time that we can handle
    it. We don't do this if the i2c client device already has a shutdown
    callback because presumably they're doing the right thing and quieting
    the device so irqs don't come in after the shutdown callback returns.
    
    Reported-by: kernel test robot <lkp@intel.com>
    [swboyd@chromium.org: Dropped newline, added commit text, added
    interrupt.h for robot build error]
    Signed-off-by: Stephen Boyd <swboyd@chromium.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ec50ddd8456cf83b11bde183373a13d221c80155
Author: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Date:   Mon Jun 21 18:12:46 2021 +0300

    intel_th: Wait until port is in reset before programming it
    
    [ Upstream commit ab1afed701d2db7eb35c1a2526a29067a38e93d1 ]
    
    Some devices don't drain their pipelines if we don't make sure that
    the corresponding output port is in reset before programming it for
    a new trace capture, resulting in bits of old trace appearing in the
    new trace capture. Fix that by explicitly making sure the reset is
    asserted before programming new trace capture.
    
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Link: https://lore.kernel.org/r/20210621151246.31891-5-alexander.shishkin@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ba547e7431bfbe0dc74ca6d31c11a07e45e26946
Author: Fabio Aiuto <fabioaiuto83@gmail.com>
Date:   Tue Jun 22 15:09:58 2021 +0200

    staging: rtl8723bs: fix macro value for 2.4Ghz only device
    
    [ Upstream commit 6d490a27e23c5fb79b766530016ab8665169498e ]
    
    fix IQK_Matrix_Settings_NUM macro value to 14 which is
    the max channel number value allowed in a 2.4Ghz device.
    
    Acked-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
    Link: https://lore.kernel.org/r/0b4a876929949248aa18cb919da3583c65e4ee4e.1624367072.git.fabioaiuto83@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6bc7ea6584cbf817e2ad1a34c4530f5e10bc39b6
Author: Geoffrey D. Bennett <g@b4.vu>
Date:   Tue Jun 22 03:39:18 2021 +0930

    ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions
    
    [ Upstream commit c712c6c0ff2d60478582e337185bcdd520a7dc2e ]
    
    There are two headphone outputs, and they map to the four analogue
    outputs.
    
    Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
    Link: https://lore.kernel.org/r/205e5e5348f08ded0cc4da5446f604d4b91db5bf.1624294591.git.g@b4.vu
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7929bcf1a278efa940db96a37d1660cbf86a012d
Author: Jiajun Cao <jjcao20@fudan.edu.cn>
Date:   Tue Jun 22 21:19:42 2021 +0800

    ALSA: hda: Add IRQ check for platform_get_irq()
    
    [ Upstream commit 8c13212443230d03ff25014514ec0d53498c0912 ]
    
    The function hda_tegra_first_init() neglects to check the return
    value after executing platform_get_irq().
    
    hda_tegra_first_init() should check the return value (if negative
    error number) for errors so as to not pass a negative value to
    the devm_request_irq().
    
    Fix it by adding a check for the return value irq_id.
    
    Signed-off-by: Jiajun Cao <jjcao20@fudan.edu.cn>
    Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
    Reviewed-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/20210622131947.94346-1-jjcao20@fudan.edu.cn
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0f3821c3281b81d98f53b02f3e59328385f87020
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Mon Jun 21 14:21:47 2021 +0200

    backlight: lm3630a: Fix return code of .update_status() callback
    
    [ Upstream commit b9481a667a90ec739995e85f91f3672ca44d6ffa ]
    
    According to <linux/backlight.h> .update_status() is supposed to
    return 0 on success and a negative error code otherwise. Adapt
    lm3630a_bank_a_update_status() and lm3630a_bank_b_update_status() to
    actually do it.
    
    While touching that also add the error code to the failure message.
    
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 84d84143037fe89eba0f3d938078e6ff16ed7ccd
Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date:   Mon Jun 21 14:40:52 2021 -0500

    ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters
    
    [ Upstream commit 94efd726b947f265bd313605c9f73edec5469d65 ]
    
    Sparse throws the following warnings:
    
    sound/soc/intel/boards/kbl_da7219_max98357a.c:647:25: error: too long
    initializer-string for array of char(no space for nul char)
    
    Fix by using the 'mx' acronym for Maxim.
    
    Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Paul Olaru <paul.olaru@oss.nxp.com>
    Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Link: https://lore.kernel.org/r/20210621194057.21711-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4abe339ce8637e0ee36d9e7a607e8ae5136fe5b4
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date:   Fri Jun 18 13:49:00 2021 +1000

    powerpc/boot: Fixup device-tree on little endian
    
    [ Upstream commit c93f80849bdd9b45d834053ae1336e28f0026c84 ]
    
    This fixes the core devtree.c functions and the ns16550 UART backend.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
    Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
    Acked-by: Nicholas Piggin <npiggin@gmail.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/YMwXrPT8nc4YUdJ9@thinks.paulus.ozlabs.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 60c88c8ee548756d12ef1889df46e7f2a66849f7
Author: Yang Yingliang <yangyingliang@huawei.com>
Date:   Fri Jun 18 12:38:35 2021 +0800

    usb: gadget: hid: fix error return code in hid_bind()
    
    [ Upstream commit 88693f770bb09c196b1eb5f06a484a254ecb9924 ]
    
    Fix to return a negative error code from the error handling
    case instead of 0.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Link: https://lore.kernel.org/r/20210618043835.2641360-1-yangyingliang@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2bfe5a6208949f4283ec8ef086d198af78ed5642
Author: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Date:   Thu Jun 17 19:27:55 2021 +0300

    usb: gadget: f_hid: fix endianness issue with descriptors
    
    [ Upstream commit 33cb46c4676d01956811b68a29157ea969a5df70 ]
    
    Running sparse checker it shows warning message about
    incorrect endianness used for descriptor initialization:
    
    | f_hid.c:91:43: warning: incorrect type in initializer (different base types)
    | f_hid.c:91:43:    expected restricted __le16 [usertype] bcdHID
    | f_hid.c:91:43:    got int
    
    Fixing issue with cpu_to_le16() macro, however this is not a real issue
    as the value is the same both endians.
    
    Cc: Fabien Chouteau <fabien.chouteau@barco.com>
    Cc: Segiy Stetsyuk <serg_stetsuk@ukr.net>
    Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
    Link: https://lore.kernel.org/r/20210617162755.29676-1-ruslan.bilovol@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eb11ade08bc8f20a03b1af3d1ca3ee24a9716214
Author: Geoffrey D. Bennett <g@b4.vu>
Date:   Mon Jun 21 02:16:45 2021 +0930

    ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values
    
    [ Upstream commit c5d8e008032f3cd5f266d552732973a960b0bd4b ]
    
    Mixer control put callbacks should return 1 if the value is changed.
    Fix the sw_hw, level, pad, and button controls accordingly.
    
    Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
    Link: https://lore.kernel.org/r/20210620164645.GA9221@m.b4.vu
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f9e5d0137c14f1efc287e258602c840b93f13304
Author: Geoffrey D. Bennett <g@b4.vu>
Date:   Mon Jun 21 02:16:43 2021 +0930

    ALSA: usb-audio: scarlett2: Fix data_mutex lock
    
    [ Upstream commit 9b5ddea9ce5a68d7d2bedcb69901ac2a86c96c7b ]
    
    The private->vol_updated flag was being checked outside of the
    mutex_lock/unlock() of private->data_mutex leading to the volume data
    being fetched twice from the device unnecessarily or old volume data
    being returned.
    
    Update scarlett2_*_ctl_get() and include the private->vol_updated flag
    check inside the critical region.
    
    Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
    Link: https://lore.kernel.org/r/20210620164643.GA9216@m.b4.vu
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 33251aa28d1cccacf1d0b46a9e9ae18fb33b8dee
Author: Geoffrey D. Bennett <g@b4.vu>
Date:   Mon Jun 21 02:16:25 2021 +0930

    ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count
    
    [ Upstream commit c5210f213456383482b4a77c5310282a89a106b5 ]
    
    The 18i8 Gen 2 has 8 PCM Inputs, not 20. Fix the ports entry in
    s18i8_gen2_info.
    
    Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
    Link: https://lore.kernel.org/r/20210620164625.GA9165@m.b4.vu
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 82343ce5cad22ff4489b5a713568d327e417b067
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Sat Jun 19 17:39:22 2021 +0900

    ALSA: bebob: add support for ToneWeal FW66
    
    [ Upstream commit 50ebe56222bfa0911a932930f9229ee5995508d9 ]
    
    A user of FFADO project reported the issue of ToneWeal FW66. As a result,
    the device is identified as one of applications of BeBoB solution.
    
    I note that in the report the device returns contradictory result in plug
    discovery process for audio subunit. Fortunately ALSA BeBoB driver doesn't
    perform it thus it's likely to handle the device without issues.
    
    I receive no reaction to test request for this patch yet, however it would
    be worth to add support for it.
    
    daniel@gibbonmoon:/sys/bus/firewire/devices/fw1$ grep -r . *
    Binary file config_rom matches
    dev:244:1
    guid:0x0023270002000000
    hardware_version:0x000002
    is_local:0
    model:0x020002
    model_name:FW66
    power/runtime_active_time:0
    power/runtime_active_kids:0
    power/runtime_usage:0
    power/runtime_status:unsupported
    power/async:disabled
    power/runtime_suspended_time:0
    power/runtime_enabled:disabled
    power/control:auto
    subsystem/drivers_autoprobe:1
    uevent:MAJOR=244
    uevent:MINOR=1
    uevent:DEVNAME=fw1
    units:0x00a02d:0x010001
    vendor:0x002327
    vendor_name:ToneWeal
    fw1.0/uevent:MODALIAS=ieee1394:ven00002327mo00020002sp0000A02Dver00010001
    fw1.0/power/runtime_active_time:0
    fw1.0/power/runtime_active_kids:0
    fw1.0/power/runtime_usage:0
    fw1.0/power/runtime_status:unsupported
    fw1.0/power/async:disabled
    fw1.0/power/runtime_suspended_time:0
    fw1.0/power/runtime_enabled:disabled
    fw1.0/power/control:auto
    fw1.0/model:0x020002
    fw1.0/rom_index:15
    fw1.0/specifier_id:0x00a02d
    fw1.0/model_name:FW66
    fw1.0/version:0x010001
    fw1.0/modalias:ieee1394:ven00002327mo00020002sp0000A02Dver00010001
    
    Cc: Daniel Jozsef <daniel.jozsef@gmail.com>
    Reference: https://lore.kernel.org/alsa-devel/20200119164335.GA11974@workstation/
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20210619083922.16060-1-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 86d56d5a59083d1ac481dd9c9912a7b60caeb163
Author: Yizhuo Zhai <yzhai003@ucr.edu>
Date:   Sat Jun 19 22:26:50 2021 -0700

    Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
    
    [ Upstream commit cac7100d4c51c04979dacdfe6c9a5e400d3f0a27 ]
    
    Inside function hideep_nvm_unlock(), variable "unmask_code" could
    be uninitialized if hideep_pgm_r_reg() returns error, however, it
    is used in the later if statement after an "and" operation, which
    is potentially unsafe.
    
    Signed-off-by: Yizhuo <yzhai003@ucr.edu>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5f5c1e683351f72d77ff3f8df7af9ac4d355d767
Author: Heiko Carstens <hca@linux.ibm.com>
Date:   Mon Jun 14 22:09:20 2021 +0200

    s390/mem_detect: fix tprot() program check new psw handling
    
    [ Upstream commit da9057576785aaab52e706e76c0475c85b77ec14 ]
    
    The tprot() inline asm temporarily changes the program check new psw
    to redirect a potential program check on the diag instruction.
    Restoring of the program check new psw is done in C code behind the
    inline asm.
    
    This can be problematic, especially if the function is inlined, since
    the compiler can reorder instructions in such a way that a different
    instruction, which may result in a program check, might be executed
    before the program check new psw has been restored.
    
    To avoid such a scenario move restoring into the inline asm. For
    consistency reasons move also saving of the original program check new
    psw into the inline asm.
    
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8a3adb42928cfbdd9f494ffb528818844dc77576
Author: Heiko Carstens <hca@linux.ibm.com>
Date:   Mon Jun 14 21:40:43 2021 +0200

    s390/mem_detect: fix diag260() program check new psw handling
    
    [ Upstream commit 86807f348f418a84970eebb8f9912a7eea16b497 ]
    
    The __diag260() inline asm temporarily changes the program check new
    psw to redirect a potential program check on the diag instruction.
    Restoring of the program check new psw is done in C code behind the
    inline asm.
    
    This can be problematic, especially if the function is inlined, since
    the compiler can reorder instructions in such a way that a different
    instruction, which may result in a program check, might be executed
    before the program check new psw has been restored.
    
    To avoid such a scenario move restoring into the inline asm. For
    consistency reasons move also saving of the original program check new
    psw into the inline asm.
    
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8df00854840e65d441958af19bb8d7601dac795
Author: Heiko Carstens <hca@linux.ibm.com>
Date:   Mon Jun 14 14:49:31 2021 +0200

    s390/ipl_parm: fix program check new psw handling
    
    [ Upstream commit 88c2510cecb7e2b518e3c4fdf3cf0e13ebe9377c ]
    
    The __diag308() inline asm temporarily changes the program check new
    psw to redirect a potential program check on the diag instruction.
    Restoring of the program check new psw is done in C code behind the
    inline asm.
    
    This can be problematic, especially if the function is inlined, since
    the compiler can reorder instructions in such a way that a different
    instruction, which may result in a program check, might be executed
    before the program check new psw has been restored.
    
    To avoid such a scenario move restoring into the inline asm. For
    consistency reasons move also saving of the original program check new
    psw into the inline asm.
    
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5176a4d1c43c752e49d900b6c31e4ede47e8427e
Author: Heiko Carstens <hca@linux.ibm.com>
Date:   Thu Jun 10 17:50:25 2021 +0200

    s390/processor: always inline stap() and __load_psw_mask()
    
    [ Upstream commit 9c9a915afd90f7534c16a71d1cd44b58596fddf3 ]
    
    s390 is the only architecture which makes use of the __no_kasan_or_inline
    attribute for two functions. Given that both stap() and __load_psw_mask()
    are very small functions they can and should be always inlined anyway.
    
    Therefore get rid of __no_kasan_or_inline and always inline these
    functions.
    
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 542d85dda7babe1767762fc714fcedd322653a9a
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Thu Jun 17 18:37:29 2021 +0800

    ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
    
    [ Upstream commit 7d3865a10b9ff2669c531d5ddd60bf46b3d48f1e ]
    
    When devm_kcalloc() fails, the error code -ENOMEM should be returned
    instead of -EINVAL.
    
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Link: https://lore.kernel.org/r/20210617103729.1918-1-thunder.leizhen@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 41c488eb5dca86ff102ec0ada9750f9a1f374a8f
Author: Peter Robinson <pbrobinson@gmail.com>
Date:   Sun Jun 13 23:03:26 2021 +0100

    gpio: pca953x: Add support for the On Semi pca9655
    
    [ Upstream commit 6d49b3a0f351925b5ea5047166c112b7590b918a ]
    
    The On Semi pca9655 is a 16 bit variant of the On Semi pca9654 GPIO
    expander, with 16 GPIOs and interrupt functionality.
    
    Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
    [Bartosz: fixed indentation as noted by Andy]
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6602185b185bf556656038befb952689768e72bc
Author: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Date:   Tue May 25 09:51:42 2021 -0400

    selftests/powerpc: Fix "no_handler" EBB selftest
    
    [ Upstream commit 45677c9aebe926192e59475b35a1ff35ff2d4217 ]
    
    The "no_handler_test" in ebb selftests attempts to read the PMU
    registers twice via helper function "dump_ebb_state". First dump is
    just before closing of event and the second invocation is done after
    closing of the event. The original intention of second
    dump_ebb_state was to dump the state of registers at the end of
    the test when the counters are frozen. But this will be achieved
    with the first call itself since sample period is set to low value
    and PMU will be frozen by then. Hence patch removes the
    dump which was done before closing of the event.
    
    Reported-by: Shirisha Ganta <shirisha.ganta1@ibm.com>
    Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
    Tested-by: Nageswara R Sastry <rnsastry@linux.ibm.com <mailto:rnsastry@linux.ibm.com>>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/1621950703-1532-2-git-send-email-atrajeev@linux.vnet.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 75dc1942f8b62228179a41c1f5af08256fdef2dc
Author: Yang Yingliang <yangyingliang@huawei.com>
Date:   Wed Jun 16 10:11:21 2021 +0800

    ALSA: ppc: fix error return code in snd_pmac_probe()
    
    [ Upstream commit 80b9c1be567c3c6bbe0d4b290af578e630485b5d ]
    
    If snd_pmac_tumbler_init() or snd_pmac_tumbler_post_init() fails,
    snd_pmac_probe() need return error code.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Link: https://lore.kernel.org/r/20210616021121.1991502-1-yangyingliang@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8e1b6d96e95fb979e0a046f299d41ee3c9ed7f8c
Author: Srinivas Neeli <srinivas.neeli@xilinx.com>
Date:   Fri Apr 9 19:38:05 2021 +0530

    gpio: zynq: Check return value of pm_runtime_get_sync
    
    [ Upstream commit a51b2fb94b04ab71e53a71b9fad03fa826941254 ]
    
    Return value of "pm_runtime_get_sync" API was neither captured nor checked.
    Fixed it by capturing the return value and then checking for any warning.
    
    Addresses-Coverity: "check_return"
    Signed-off-by: Srinivas Neeli <srinivas.neeli@xilinx.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b11220803ad14a2a880cc06d8e01fe2548cc85b0
Author: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Date:   Thu Jun 10 10:49:20 2021 +0800

    iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation
    
    [ Upstream commit 7c8f176d6a3fa18aa0f8875da6f7c672ed2a8554 ]
    
    The reference counting issue happens in several exception handling paths
    of arm_smmu_iova_to_phys_hard(). When those error scenarios occur, the
    function forgets to decrease the refcount of "smmu" increased by
    arm_smmu_rpm_get(), causing a refcount leak.
    
    Fix this issue by jumping to "out" label when those error scenarios
    occur.
    
    Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
    Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
    Reviewed-by: Rob Clark <robdclark@chromium.org>
    Link: https://lore.kernel.org/r/1623293391-17261-1-git-send-email-xiyuyang19@fudan.edu.cn
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3761ae0d0e549f2acdaf11f49df4ed06d256b20f
Author: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Date:   Thu Jun 10 10:54:29 2021 +0800

    iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails
    
    [ Upstream commit 1adf30f198c26539a62d761e45af72cde570413d ]
    
    arm_smmu_rpm_get() invokes pm_runtime_get_sync(), which increases the
    refcount of the "smmu" even though the return value is less than 0.
    
    The reference counting issue happens in some error handling paths of
    arm_smmu_rpm_get() in its caller functions. When arm_smmu_rpm_get()
    fails, the caller functions forget to decrease the refcount of "smmu"
    increased by arm_smmu_rpm_get(), causing a refcount leak.
    
    Fix this issue by calling pm_runtime_resume_and_get() instead of
    pm_runtime_get_sync() in arm_smmu_rpm_get(), which can keep the refcount
    balanced in case of failure.
    
    Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
    Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
    Link: https://lore.kernel.org/r/1623293672-17954-1-git-send-email-xiyuyang19@fudan.edu.cn
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6c50a56d2bce24982694c3796de275a6ac0dcac5
Author: Geoff Levand <geoff@infradead.org>
Date:   Thu Jun 3 19:17:02 2021 +0000

    powerpc/ps3: Add dma_mask to ps3_dma_region
    
    [ Upstream commit 9733862e50fdba55e7f1554e4286fcc5302ff28e ]
    
    Commit f959dcd6ddfd29235030e8026471ac1b022ad2b0 (dma-direct: Fix
    potential NULL pointer dereference) added a null check on the
    dma_mask pointer of the kernel's device structure.
    
    Add a dma_mask variable to the ps3_dma_region structure and set
    the device structure's dma_mask pointer to point to this new variable.
    
    Fixes runtime errors like these:
    # WARNING: Fixes tag on line 10 doesn't match correct format
    # WARNING: Fixes tag on line 10 doesn't match correct format
    
      ps3_system_bus_match:349: dev=8.0(sb_01), drv=8.0(ps3flash): match
      WARNING: CPU: 0 PID: 1 at kernel/dma/mapping.c:151 .dma_map_page_attrs+0x34/0x1e0
      ps3flash sb_01: ps3stor_setup:193: map DMA region failed
    
    Signed-off-by: Geoff Levand <geoff@infradead.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/562d0c9ea0100a30c3b186bcc7adb34b0bbd2cd7.1622746428.git.geoff@infradead.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5169c6b12b190c6dabab6b5954862eecaf9af0b5
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jun 8 16:04:37 2021 +0200

    ALSA: sb: Fix potential double-free of CSP mixer elements
    
    [ Upstream commit c305366a37441c2ac90b08711cb6f032b43672f2 ]
    
    snd_sb_qsound_destroy() contains the calls of removing the previously
    created mixer controls, but it doesn't clear the pointers.  As
    snd_sb_qsound_destroy() itself may be repeatedly called via ioctl,
    this could lead to double-free potentially.
    
    Fix it by clearing the struct fields properly afterwards.
    
    Link: https://lore.kernel.org/r/20210608140540.17885-4-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d481ddb1b6d0edcc7fffecaab421376513302eee
Author: Po-Hsu Lin <po-hsu.lin@canonical.com>
Date:   Tue May 25 10:36:14 2021 +0800

    selftests: timers: rtcpie: skip test if default RTC device does not exist
    
    [ Upstream commit 0d3e5a057992bdc66e4dca2ca50b77fa4a7bd90e ]
    
    This test will require /dev/rtc0, the default RTC device, or one
    specified by user to run. Since this default RTC is not guaranteed to
    exist on all of the devices, so check its existence first, otherwise
    skip this test with the kselftest skip code 4.
    
    Without this patch this test will fail like this on a s390x zVM:
    $ selftests: timers: rtcpie
    $ /dev/rtc0: No such file or directory
    not ok 1 selftests: timers: rtcpie # exit=22
    
    With this patch:
    $ selftests: timers: rtcpie
    $ Default RTC /dev/rtc0 does not exist. Test Skipped!
    not ok 9 selftests: timers: rtcpie # SKIP
    
    Fixed up change log so "With this patch" text doesn't get dropped.
    Shuah Khan <skhan@linuxfoundation.org>
    
    Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f0bca3fbf16b99b42cb0c6a787221e3c345c534f
Author: Valentin Vidic <vvidic@valentin-vidic.from.hr>
Date:   Tue Apr 27 21:40:10 2021 +0200

    s390/sclp_vt220: fix console name to match device
    
    [ Upstream commit b7d91d230a119fdcc334d10c9889ce9c5e15118b ]
    
    Console name reported in /proc/consoles:
    
      ttyS1                -W- (EC p  )    4:65
    
    does not match the char device name:
    
      crw--w----    1 root     root        4,  65 May 17 12:18 /dev/ttysclp0
    
    so debian-installer inside a QEMU s390x instance gets confused and fails
    to start with the following error:
    
      steal-ctty: No such file or directory
    
    Signed-off-by: Valentin Vidic <vvidic@valentin-vidic.from.hr>
    Link: https://lore.kernel.org/r/20210427194010.9330-1-vvidic@valentin-vidic.from.hr
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1028b769600cbe9987e946bf4501d4ddd3e00228
Author: Daniel Mack <daniel@zonque.org>
Date:   Fri May 28 15:33:20 2021 +0200

    serial: tty: uartlite: fix console setup
    
    [ Upstream commit d157fca711ad42e75efef3444c83d2e1a17be27a ]
    
    Remove the hack to assign the global console_port variable at probe time.
    This assumption that cons->index is -1 is wrong for systems that specify
    'console=' in the cmdline (or 'stdout-path' in dts). Hence, on such system
    the actual console assignment is ignored, and the first UART that happens
    to be probed is used as console instead.
    
    Move the logic to console_setup() and map the console to the correct port
    through the array of available ports instead.
    
    Signed-off-by: Daniel Mack <daniel@zonque.org>
    Link: https://lore.kernel.org/r/20210528133321.1859346-1-daniel@zonque.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ba89ba738a820d487cca2e4e0c268dcb0d113eb9
Author: Yufen Yu <yuyufen@huawei.com>
Date:   Mon May 24 05:35:21 2021 -0400

    ASoC: img: Fix PM reference leak in img_i2s_in_probe()
    
    [ Upstream commit 81aad47278539f02de808bcc8251fed0ad3d6f55 ]
    
    pm_runtime_get_sync will increment pm usage counter even it failed.
    Forgetting to putting operation will result in reference leak here.
    Fix it by replacing it with pm_runtime_resume_and_get to keep usage
    counter balanced.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yufen Yu <yuyufen@huawei.com>
    Link: https://lore.kernel.org/r/20210524093521.612176-1-yuyufen@huawei.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b5af7cec0f7edc4e9d729d8a0da5a172cc1aa41b
Author: Tony Lindgren <tony@atomide.com>
Date:   Sat May 22 08:10:01 2021 +0300

    mfd: cpcap: Fix cpcap dmamask not set warnings
    
    [ Upstream commit 0b7cbe811ca524295ea43d9a4d73d3427e419c54 ]
    
    We have started to get a bunch of pointless dmamask not set warnings
    that makes the output of dmesg -l err,warn hard to read with many
    extra warnings:
    
    cpcap-regulator cpcap-regulator.0: DMA mask not set
    cpcap_adc cpcap_adc.0: DMA mask not set
    cpcap_battery cpcap_battery.0: DMA mask not set
    cpcap-charger cpcap-charger.0: DMA mask not set
    cpcap-pwrbutton cpcap-pwrbutton.0: DMA mask not set
    cpcap-led cpcap-led.0: DMA mask not set
    cpcap-led cpcap-led.1: DMA mask not set
    cpcap-led cpcap-led.2: DMA mask not set
    cpcap-led cpcap-led.3: DMA mask not set
    cpcap-led cpcap-led.4: DMA mask not set
    cpcap-rtc cpcap-rtc.0: DMA mask not set
    cpcap-usb-phy cpcap-usb-phy.0: DMA mask not set
    
    This seems to have started with commit 4d8bde883bfb ("OF: Don't set
    default coherent DMA mask"). We have the parent SPI controller use
    DMA, while CPCAP driver and it's children do not. For audio, the
    DMA is handled over I2S bus with the McBSP driver.
    
    Cc: Carl Philipp Klemm <philipp@uvos.xyz>
    Cc: Ivan Jelincic <parazyd@dyne.org>
    Cc: Merlijn Wajer <merlijn@wizzup.org>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Sebastian Reichel <sre@kernel.org>
    Cc: Sicelo A. Mhlongo <absicsz@gmail.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c19a95cffe33212f4da04ec2e6e56104ee16db4e
Author: Zou Wei <zou_wei@huawei.com>
Date:   Wed May 12 14:33:46 2021 +0800

    mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
    
    [ Upstream commit 4700ef326556ed74aba188f12396740a8c1c21dd ]
    
    This patch adds/modifies MODULE_DEVICE_TABLE definition which generates
    correct modalias for automatic loading of this driver when it is built
    as an external module.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Zou Wei <zou_wei@huawei.com>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d05da38c4110a500f4d80c50d214ee7fda821445
Author: Mike Christie <michael.christie@oracle.com>
Date:   Tue May 25 13:18:12 2021 -0500

    scsi: qedi: Fix null ref during abort handling
    
    [ Upstream commit 5777b7f0f03ce49372203b6521631f62f2810c8f ]
    
    If qedi_process_cmd_cleanup_resp finds the cmd it frees the work and sets
    list_tmf_work to NULL, so qedi_tmf_work should check if list_tmf_work is
    non-NULL when it wants to force cleanup.
    
    Link: https://lore.kernel.org/r/20210525181821.7617-20-michael.christie@oracle.com
    Reviewed-by: Manish Rangankar <mrangankar@marvell.com>
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a686ea60c17a99452785d74dfbf54153099e1025
Author: Mike Christie <michael.christie@oracle.com>
Date:   Tue May 25 13:18:07 2021 -0500

    scsi: iscsi: Fix shost->max_id use
    
    [ Upstream commit bdd4aad7ff92ae39c2e93c415bb6761cb8b584da ]
    
    The iscsi offload drivers are setting the shost->max_id to the max number
    of sessions they support. The problem is that max_id is not the max number
    of targets but the highest identifier the targets can have. To use it to
    limit the number of targets we need to set it to max sessions - 1, or we
    can end up with a session we might not have preallocated resources for.
    
    Link: https://lore.kernel.org/r/20210525181821.7617-15-michael.christie@oracle.com
    Reviewed-by: Lee Duncan <lduncan@suse.com>
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d04958a348e560938410e04a12fb99da9c7e6a00
Author: Mike Christie <michael.christie@oracle.com>
Date:   Tue May 25 13:18:06 2021 -0500

    scsi: iscsi: Fix conn use after free during resets
    
    [ Upstream commit ec29d0ac29be366450a7faffbcf8cba3a6a3b506 ]
    
    If we haven't done a unbind target call we can race where
    iscsi_conn_teardown wakes up the EH thread and then frees the conn while
    those threads are still accessing the conn ehwait.
    
    We can only do one TMF per session so this just moves the TMF fields from
    the conn to the session. We can then rely on the
    iscsi_session_teardown->iscsi_remove_session->__iscsi_unbind_session call
    to remove the target and it's devices, and know after that point there is
    no device or scsi-ml callout trying to access the session.
    
    Link: https://lore.kernel.org/r/20210525181821.7617-14-michael.christie@oracle.com
    Reviewed-by: Lee Duncan <lduncan@suse.com>
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 173fdf1497d964940facca507a876bc2d3834893
Author: Mike Christie <michael.christie@oracle.com>
Date:   Tue May 25 13:18:03 2021 -0500

    scsi: iscsi: Add iscsi_cls_conn refcount helpers
    
    [ Upstream commit b1d19e8c92cfb0ded180ef3376c20e130414e067 ]
    
    There are a couple places where we could free the iscsi_cls_conn while it's
    still in use. This adds some helpers to get/put a refcount on the struct
    and converts an exiting user. Subsequent commits will then use the helpers
    to fix 2 bugs in the eh code.
    
    Link: https://lore.kernel.org/r/20210525181821.7617-11-michael.christie@oracle.com
    Reviewed-by: Lee Duncan <lduncan@suse.com>
    Signed-off-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9896b67e1b5632d8125088d3a18de55cef579368
Author: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
Date:   Fri May 28 18:43:06 2021 +0530

    scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs
    
    [ Upstream commit 9bedd36e9146b34dda4d6994e3aa1d72bc6442c1 ]
    
    While reenabling the IRQ after IRQ poll there may be a small window for the
    firmware to post the replies with interrupts raised. In that case the
    driver will not see the interrupts which leads to I/O timeout.
    
    This issue only happens when there are many I/O completions on a single
    reply queue. This forces the driver to switch between the interrupt and IRQ
    context.
    
    Make the driver process the reply queue one more time after enabling the
    IRQ.
    
    Link: https://lore.kernel.org/linux-scsi/20201102072746.27410-1-sreekanth.reddy@broadcom.com/
    Link: https://lore.kernel.org/r/20210528131307.25683-5-chandrakanth.patil@broadcom.com
    Cc: Tomas Henzl <thenzl@redhat.com>
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
    Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8c75b5d88f255ac5dcc4a90ae0c300f0b171fe7
Author: Kashyap Desai <kashyap.desai@broadcom.com>
Date:   Fri May 28 18:43:05 2021 +0530

    scsi: megaraid_sas: Early detection of VD deletion through RaidMap update
    
    [ Upstream commit ae6874ba4b43c5a00065f48599811a09d33b873d ]
    
    Consider the case where a VD is deleted and the targetID of that VD is
    assigned to a newly created VD. If the sequence of deletion/addition of VD
    happens very quickly there is a possibility that second event (VD add)
    occurs even before the driver processes the first event (VD delete).  As
    event processing is done in deferred context the device list remains the
    same (but targetID is re-used) so driver will not learn the VD
    deletion/additon. I/Os meant for the older VD will be directed to new VD
    which may lead to data corruption.
    
    Make driver detect the deleted VD as soon as possible based on the RaidMap
    update and block further I/O to that device.
    
    Link: https://lore.kernel.org/r/20210528131307.25683-4-chandrakanth.patil@broadcom.com
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
    Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0c6226601c3e191a44a57d8f9f814b7e5c308959
Author: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
Date:   Fri May 28 18:43:04 2021 +0530

    scsi: megaraid_sas: Fix resource leak in case of probe failure
    
    [ Upstream commit b5438f48fdd8e1c3f130d32637511efd32038152 ]
    
    The driver doesn't clean up all the allocated resources properly when
    scsi_add_host(), megasas_start_aen() function fails during the PCI device
    probe.
    
    Clean up all those resources.
    
    Link: https://lore.kernel.org/r/20210528131307.25683-3-chandrakanth.patil@broadcom.com
    Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
    Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e54625f3f0f0a09188ef21f6d8d92ede9d08b5a7
Author: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Date:   Tue Jun 1 19:07:10 2021 +0800

    fs/jfs: Fix missing error code in lmLogInit()
    
    [ Upstream commit 492109333c29e1bb16d8732e1d597b02e8e0bf2e ]
    
    The error code is missing in this code scenario, add the error code
    '-EINVAL' to the return value 'rc.
    
    Eliminate the follow smatch warning:
    
    fs/jfs/jfs_logmgr.c:1327 lmLogInit() warn: missing error code 'rc'.
    
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
    Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 077b59810cb6b7c94198ac8191156cc1d97292ef
Author: Hannes Reinecke <hare@suse.de>
Date:   Tue Apr 27 10:30:11 2021 +0200

    scsi: scsi_dh_alua: Check for negative result value
    
    [ Upstream commit 7e26e3ea028740f934477ec01ba586ab033c35aa ]
    
    scsi_execute() will now return a negative error if there was an error prior
    to command submission; evaluate that instead if checking for DRIVER_ERROR.
    
    [mkp: build fix]
    
    Link: https://lore.kernel.org/r/20210427083046.31620-6-hare@suse.de
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ee16bed959862a6de2913f71a04cb563d7237b67
Author: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Date:   Tue May 25 21:44:04 2021 +0200

    tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
    
    [ Upstream commit fad92b11047a748c996ebd6cfb164a63814eeb2e ]
    
    In the probe function, if the final 'serial_config()' fails, 'info' is
    leaking.
    
    Add a resource handling path to free this memory.
    
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Link: https://lore.kernel.org/r/dc25f96b7faebf42e60fe8d02963c941cf4d8124.1621971720.git.christophe.jaillet@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9c543a9197c732c9aba85c6fc4022dd8af9e03e7
Author: Yufen Yu <yuyufen@huawei.com>
Date:   Mon May 24 05:38:11 2021 -0400

    ALSA: ac97: fix PM reference leak in ac97_bus_remove()
    
    [ Upstream commit a38e93302ee25b2ca6f4ee76c6c974cf3637985e ]
    
    pm_runtime_get_sync will increment pm usage counter even it failed.
    Forgetting to putting operation will result in reference leak here.
    Fix it by replacing it with pm_runtime_resume_and_get to keep usage
    counter balanced.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yufen Yu <yuyufen@huawei.com>
    Link: https://lore.kernel.org/r/20210524093811.612302-1-yuyufen@huawei.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 086918e61c3729ba01d7172c9708e8d4b9b663f8
Author: John Garry <john.garry@huawei.com>
Date:   Wed May 19 22:31:02 2021 +0800

    scsi: core: Cap scsi_host cmd_per_lun at can_queue
    
    [ Upstream commit ea2f0f77538c50739b9fb4de4700cee5535e1f77 ]
    
    The sysfs handling function sdev_store_queue_depth() enforces that the sdev
    queue depth cannot exceed shost can_queue. The initial sdev queue depth
    comes from shost cmd_per_lun. However, the LLDD may manually set
    cmd_per_lun to be larger than can_queue, which leads to an initial sdev
    queue depth greater than can_queue.
    
    Such an issue was reported in [0], which caused a hang. That has since been
    fixed in commit fc09acb7de31 ("scsi: scsi_debug: Fix cmd_per_lun, set to
    max_queue").
    
    Stop this possibly happening for other drivers by capping shost cmd_per_lun
    at shost can_queue.
    
    [0] https://lore.kernel.org/linux-scsi/YHaez6iN2HHYxYOh@T590/
    
    Link: https://lore.kernel.org/r/1621434662-173079-1-git-send-email-john.garry@huawei.com
    Reviewed-by: Ming Lei <ming.lei@redhat.com>
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 600a91ab5981d17908fb572a1cda8b9e5dc78877
Author: James Smart <jsmart2021@gmail.com>
Date:   Fri May 14 12:55:56 2021 -0700

    scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
    
    [ Upstream commit 5aa615d195f1e142c662cb2253f057c9baec7531 ]
    
    The driver is encountering a crash in lpfc_free_iocb_list() while
    performing initial attachment.
    
    Code review found this to be an errant failure path that was taken, jumping
    to a tag that then referenced structures that were uninitialized.
    
    Fix the failure path.
    
    Link: https://lore.kernel.org/r/20210514195559.119853-9-jsmart2021@gmail.com
    Co-developed-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07aa0d14fc9ef3f0303ac869d006636114d045b6
Author: James Smart <jsmart2021@gmail.com>
Date:   Fri May 14 12:55:51 2021 -0700

    scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
    
    [ Upstream commit e30d55137edef47434c40d7570276a0846fe922c ]
    
    An 'unexpected timeout' message may be seen in a point-2-point topology.
    The message occurs when a PLOGI is received before the driver is notified
    of FLOGI completion. The FLOGI completion failure causes discovery to be
    triggered for a second time. The discovery timer is restarted but no new
    discovery activity is initiated, thus the timeout message eventually
    appears.
    
    In point-2-point, when discovery has progressed before the FLOGI completion
    is processed, it is not a failure. Add code to FLOGI completion to detect
    that discovery has progressed and exit the FLOGI handling (noop'ing it).
    
    Link: https://lore.kernel.org/r/20210514195559.119853-4-jsmart2021@gmail.com
    Co-developed-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f1f72dac9219e375b352839fa115e87e9ca6baee
Author: Sergey Shtylyov <s.shtylyov@omp.ru>
Date:   Wed May 19 22:20:15 2021 +0300

    scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw()
    
    [ Upstream commit ab17122e758ef68fb21033e25c041144067975f5 ]
    
    After commit 6c11dc060427 ("scsi: hisi_sas: Fix IRQ checks") we have the
    error codes returned by platform_get_irq() ready for the propagation
    upsream in interrupt_init_v1_hw() -- that will fix still broken deferred
    probing. Let's propagate the error codes from devm_request_irq() as well
    since I don't see the reason to override them with -ENOENT...
    
    Link: https://lore.kernel.org/r/49ba93a3-d427-7542-d85a-b74fe1a33a73@omp.ru
    Acked-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 68ce66ba20cf1e4812fcae66100af44b3bb3f09b
Author: Luiz Sampaio <sampaio.ime@gmail.com>
Date:   Wed May 19 19:30:44 2021 -0300

    w1: ds2438: fixing bug that would always get page0
    
    [ Upstream commit 1f5e7518f063728aee0679c5086b92d8ea429e11 ]
    
    The purpose of the w1_ds2438_get_page function is to get the register
    values at the page passed as the pageno parameter. However, the page0 was
    hardcoded, such that the function always returned the page0 contents. Fixed
    so that the function can retrieve any page.
    
    Signed-off-by: Luiz Sampaio <sampaio.ime@gmail.com>
    Link: https://lore.kernel.org/r/20210519223046.13798-5-sampaio.ime@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1c774366428ef53bd79779847546ed891f4d7e1e
Author: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date:   Tue May 18 17:45:47 2021 +0900

    Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
    
    [ Upstream commit 5d6fb80a142b5994355ce675c517baba6089d199 ]
    
    This reverts commit 0edabdfe89581669609eaac5f6a8d0ae6fe95e7f.
    
    I've explained that optional FireWire card for d.2 is also built-in to
    d.2 Pro, however it's wrong. The optional card uses DM1000 ASIC and has
    'Mackie DJ Mixer' in its model name of configuration ROM. On the other
    hand, built-in FireWire card for d.2 Pro and d.4 Pro uses OXFW971 ASIC
    and has 'd.Pro' in its model name according to manuals and user
    experiences. The former card is not the card for d.2 Pro. They are similar
    in appearance but different internally.
    
    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20210518084557.102681-2-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 88262229b778f4f7a896da828d966f94dcb35d19
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon May 17 15:15:43 2021 +0200

    ALSA: usx2y: Don't call free_pages_exact() with NULL address
    
    [ Upstream commit cae0cf651adccee2c3f376e78f30fbd788d0829f ]
    
    Unlike some other functions, we can't pass NULL pointer to
    free_pages_exact().  Add a proper NULL check for avoiding possible
    Oops.
    
    Link: https://lore.kernel.org/r/20210517131545.27252-10-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7dff52b311b1a9643389f7e930df90a8946faa0e
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date:   Sun May 9 12:33:37 2021 +0100

    iio: magn: bmc150: Balance runtime pm + use pm_runtime_resume_and_get()
    
    [ Upstream commit 264da512431495e542fcaf56ffe75e7df0e7db74 ]
    
    probe() error paths after runtime pm is enabled, should disable it.
    remove() should not call pm_runtime_put_noidle() as there is no
    matching get() to have raised the reference count.  This case
    has no affect a the runtime pm core protects against going negative.
    
    Whilst here use pm_runtime_resume_and_get() to tidy things up a little.
    coccicheck script didn't get this one due to complex code structure so
    found by inspection.
    
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Link: https://lore.kernel.org/r/20210509113354.660190-12-jic23@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 921b361ce3ee6c90255a58241dbf108f59759161
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date:   Sun May 9 12:33:27 2021 +0100

    iio: gyro: fxa21002c: Balance runtime pm + use pm_runtime_resume_and_get().
    
    [ Upstream commit 41120ebbb1eb5e9dec93320e259d5b2c93226073 ]
    
    In both the probe() error path and remove() pm_runtime_put_noidle()
    is called which will decrement the runtime pm reference count.
    However, there is no matching function to have raised the reference count.
    Not this isn't a fix as the runtime pm core will stop the reference count
    going negative anyway.
    
    An alternative would have been to raise the count in these paths, but
    it is not clear why that would be necessary.
    
    Whilst we are here replace some boilerplate with pm_runtime_resume_and_get()
    Found using coccicheck script under review at:
    https://lore.kernel.org/lkml/20210427141946.2478411-1-Julia.Lawall@inria.fr/
    
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
    Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Link: https://lore.kernel.org/r/20210509113354.660190-2-jic23@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d2639ffdcad463b358b6bef8645ff81715daffcb
Author: Tong Zhang <ztong0001@gmail.com>
Date:   Thu May 13 00:07:33 2021 -0400

    misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge
    
    [ Upstream commit 3ce3e45cc333da707d4d6eb433574b990bcc26f5 ]
    
    There is an issue with the ASPM(optional) capability checking function.
    A device might be attached to root complex directly, in this case,
    bus->self(bridge) will be NULL, thus priv->parent_pdev is NULL.
    Since alcor_pci_init_check_aspm(priv->parent_pdev) checks the PCI link's
    ASPM capability and populate parent_cap_off, which will be used later by
    alcor_pci_aspm_ctrl() to dynamically turn on/off device, what we can do
    here is to avoid checking the capability if we are on the root complex.
    This will make pdev_cap_off 0 and alcor_pci_aspm_ctrl() will simply
    return when bring called, effectively disable ASPM for the device.
    
    [    1.246492] BUG: kernel NULL pointer dereference, address: 00000000000000c0
    [    1.248731] RIP: 0010:pci_read_config_byte+0x5/0x40
    [    1.253998] Call Trace:
    [    1.254131]  ? alcor_pci_find_cap_offset.isra.0+0x3a/0x100 [alcor_pci]
    [    1.254476]  alcor_pci_probe+0x169/0x2d5 [alcor_pci]
    
    Co-developed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Tong Zhang <ztong0001@gmail.com>
    Link: https://lore.kernel.org/r/20210513040732.1310159-1-ztong0001@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 38660031e80eaa6cc9370b031c180612f414b00d
Author: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Date:   Mon Apr 26 10:06:20 2021 -0700

    misc/libmasm/module: Fix two use after free in ibmasm_init_one
    
    [ Upstream commit 7272b591c4cb9327c43443f67b8fbae7657dd9ae ]
    
    In ibmasm_init_one, it calls ibmasm_init_remote_input_dev().
    Inside ibmasm_init_remote_input_dev, mouse_dev and keybd_dev are
    allocated by input_allocate_device(), and assigned to
    sp->remote.mouse_dev and sp->remote.keybd_dev respectively.
    
    In the err_free_devices error branch of ibmasm_init_one,
    mouse_dev and keybd_dev are freed by input_free_device(), and return
    error. Then the execution runs into error_send_message error branch
    of ibmasm_init_one, where ibmasm_free_remote_input_dev(sp) is called
    to unregister the freed sp->remote.mouse_dev and sp->remote.keybd_dev.
    
    My patch add a "error_init_remote" label to handle the error of
    ibmasm_init_remote_input_dev(), to avoid the uaf bugs.
    
    Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
    Link: https://lore.kernel.org/r/20210426170620.10546-1-lyl2019@mail.ustc.edu.cn
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dc195d77dd6c45bf4c47ecbbc54b9254c0cfffd1
Author: Sherry Sun <sherry.sun@nxp.com>
Date:   Tue Apr 27 10:12:26 2021 +0800

    tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
    
    [ Upstream commit fcb10ee27fb91b25b68d7745db9817ecea9f1038 ]
    
    We should be very careful about the register values that will be used
    for division or modulo operations, althrough the possibility that the
    UARTBAUD register value is zero is very low, but we had better to deal
    with the "bad data" of hardware in advance to avoid division or modulo
    by zero leading to undefined kernel behavior.
    
    Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
    Link: https://lore.kernel.org/r/20210427021226.27468-1-sherry.sun@nxp.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fd005f53cb491475fff74b55621eb9f11a7e6dc1
Author: Frederic Weisbecker <frederic@kernel.org>
Date:   Sat Apr 17 15:16:49 2021 +0200

    srcu: Fix broken node geometry after early ssp init
    
    [ Upstream commit b5befe842e6612cf894cf4a199924ee872d8b7d8 ]
    
    An srcu_struct structure that is initialized before rcu_init_geometry()
    will have its srcu_node hierarchy based on CONFIG_NR_CPUS.  Once
    rcu_init_geometry() is called, this hierarchy is compressed as needed
    for the actual maximum number of CPUs for this system.
    
    Later on, that srcu_struct structure is confused, sometimes referring
    to its initial CONFIG_NR_CPUS-based hierarchy, and sometimes instead
    to the new num_possible_cpus() hierarchy.  For example, each of its
    ->mynode fields continues to reference the original leaf rcu_node
    structures, some of which might no longer exist.  On the other hand,
    srcu_for_each_node_breadth_first() traverses to the new node hierarchy.
    
    There are at least two bad possible outcomes to this:
    
    1) a) A callback enqueued early on an srcu_data structure (call it
          *sdp) is recorded pending on sdp->mynode->srcu_data_have_cbs in
          srcu_funnel_gp_start() with sdp->mynode pointing to a deep leaf
          (say 3 levels).
    
       b) The grace period ends after rcu_init_geometry() shrinks the
          nodes level to a single one.  srcu_gp_end() walks through the new
          srcu_node hierarchy without ever reaching the old leaves so the
          callback is never executed.
    
       This is easily reproduced on an 8 CPUs machine with CONFIG_NR_CPUS >= 32
       and "rcupdate.rcu_self_test=1". The srcu_barrier() after early tests
       verification never completes and the boot hangs:
    
            [ 5413.141029] INFO: task swapper/0:1 blocked for more than 4915 seconds.
            [ 5413.147564]       Not tainted 5.12.0-rc4+ #28
            [ 5413.151927] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
            [ 5413.159753] task:swapper/0       state:D stack:    0 pid:    1 ppid:     0 flags:0x00004000
            [ 5413.168099] Call Trace:
            [ 5413.170555]  __schedule+0x36c/0x930
            [ 5413.174057]  ? wait_for_completion+0x88/0x110
            [ 5413.178423]  schedule+0x46/0xf0
            [ 5413.181575]  schedule_timeout+0x284/0x380
            [ 5413.185591]  ? wait_for_completion+0x88/0x110
            [ 5413.189957]  ? mark_held_locks+0x61/0x80
            [ 5413.193882]  ? mark_held_locks+0x61/0x80
            [ 5413.197809]  ? _raw_spin_unlock_irq+0x24/0x50
            [ 5413.202173]  ? wait_for_completion+0x88/0x110
            [ 5413.206535]  wait_for_completion+0xb4/0x110
            [ 5413.210724]  ? srcu_torture_stats_print+0x110/0x110
            [ 5413.215610]  srcu_barrier+0x187/0x200
            [ 5413.219277]  ? rcu_tasks_verify_self_tests+0x50/0x50
            [ 5413.224244]  ? rdinit_setup+0x2b/0x2b
            [ 5413.227907]  rcu_verify_early_boot_tests+0x2d/0x40
            [ 5413.232700]  do_one_initcall+0x63/0x310
            [ 5413.236541]  ? rdinit_setup+0x2b/0x2b
            [ 5413.240207]  ? rcu_read_lock_sched_held+0x52/0x80
            [ 5413.244912]  kernel_init_freeable+0x253/0x28f
            [ 5413.249273]  ? rest_init+0x250/0x250
            [ 5413.252846]  kernel_init+0xa/0x110
            [ 5413.256257]  ret_from_fork+0x22/0x30
    
    2) An srcu_struct structure that is initialized before rcu_init_geometry()
       and used afterward will always have stale rdp->mynode references,
       resulting in callbacks to be missed in srcu_gp_end(), just like in
       the previous scenario.
    
    This commit therefore causes init_srcu_struct_nodes to initialize the
    geometry, if needed.  This ensures that the srcu_node hierarchy is
    properly built and distributed from the get-go.
    
    Suggested-by: Paul E. McKenney <paulmck@kernel.org>
    Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Lai Jiangshan <jiangshanlai@gmail.com>
    Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
    Cc: Josh Triplett <josh@joshtriplett.org>
    Cc: Joel Fernandes <joel@joelfernandes.org>
    Cc: Uladzislau Rezki <urezki@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 35072f336ae80aa5d2a2199befec0d9724ce2220
Author: Robin Gong <yibin.gong@nxp.com>
Date:   Mon Apr 26 16:59:09 2021 +0800

    dmaengine: fsl-qdma: check dma_set_mask return value
    
    [ Upstream commit f0c07993af0acf5545d5c1445798846565f4f147 ]
    
    For fix below warning reported by static code analysis tool like Coverity
    from Synopsys:
    
    Signed-off-by: Robin Gong <yibin.gong@nxp.com>
    Addresses-Coverity-ID: 12285639 ("Unchecked return value")
    Link: https://lore.kernel.org/r/1619427549-20498-1-git-send-email-yibin.gong@nxp.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 249e0ab80c47345aea98449ea5671c0d2a3e95ce
Author: Yang Yingliang <yangyingliang@huawei.com>
Date:   Mon Jun 7 23:02:59 2021 +0800

    net: moxa: Use devm_platform_get_and_ioremap_resource()
    
    commit 35cba15a504bf4f585bb9d78f47b22b28a1a06b2 upstream.
    
    Use devm_platform_get_and_ioremap_resource() to simplify
    code and avoid a null-ptr-deref by checking 'res' in it.
    
    [yyl: since devm_platform_get_and_ioremap_resource() is introduced
          in linux-5.7, so just check the return value after calling
          platform_get_resource()]
    
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 359311b85ebec7c07c3a08ae2f3def946cad33fa
Author: Zhen Lei <thunder.leizhen@huawei.com>
Date:   Mon Jul 12 16:55:44 2021 +0800

    fbmem: Do not delete the mode that is still in use
    
    commit 0af778269a522c988ef0b4188556aba97fb420cc upstream.
    
    The execution of fb_delete_videomode() is not based on the result of the
    previous fbcon_mode_deleted(). As a result, the mode is directly deleted,
    regardless of whether it is still in use, which may cause UAF.
    
    ==================================================================
    BUG: KASAN: use-after-free in fb_mode_is_equal+0x36e/0x5e0 \
    drivers/video/fbdev/core/modedb.c:924
    Read of size 4 at addr ffff88807e0ddb1c by task syz-executor.0/18962
    
    CPU: 2 PID: 18962 Comm: syz-executor.0 Not tainted 5.10.45-rc1+ #3
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ...
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x137/0x1be lib/dump_stack.c:118
     print_address_description+0x6c/0x640 mm/kasan/report.c:385
     __kasan_report mm/kasan/report.c:545 [inline]
     kasan_report+0x13d/0x1e0 mm/kasan/report.c:562
     fb_mode_is_equal+0x36e/0x5e0 drivers/video/fbdev/core/modedb.c:924
     fbcon_mode_deleted+0x16a/0x220 drivers/video/fbdev/core/fbcon.c:2746
     fb_set_var+0x1e1/0xdb0 drivers/video/fbdev/core/fbmem.c:975
     do_fb_ioctl+0x4d9/0x6e0 drivers/video/fbdev/core/fbmem.c:1108
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:739
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Freed by task 18960:
     kasan_save_stack mm/kasan/common.c:48 [inline]
     kasan_set_track+0x3d/0x70 mm/kasan/common.c:56
     kasan_set_free_info+0x17/0x30 mm/kasan/generic.c:355
     __kasan_slab_free+0x108/0x140 mm/kasan/common.c:422
     slab_free_hook mm/slub.c:1541 [inline]
     slab_free_freelist_hook+0xd6/0x1a0 mm/slub.c:1574
     slab_free mm/slub.c:3139 [inline]
     kfree+0xca/0x3d0 mm/slub.c:4121
     fb_delete_videomode+0x56a/0x820 drivers/video/fbdev/core/modedb.c:1104
     fb_set_var+0x1f3/0xdb0 drivers/video/fbdev/core/fbmem.c:978
     do_fb_ioctl+0x4d9/0x6e0 drivers/video/fbdev/core/fbmem.c:1108
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:739
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fixes: 13ff178ccd6d ("fbcon: Call fbcon_mode_deleted/new_modelist directly")
    Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
    Cc: <stable@vger.kernel.org> # v5.3+
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210712085544.2828-1-thunder.leizhen@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c17363ccd620c1a57ede00d5c777f0b8624debe6
Author: Christian Brauner <christian.brauner@ubuntu.com>
Date:   Wed Jul 14 15:47:49 2021 +0200

    cgroup: verify that source is a string
    
    commit 3b0462726e7ef281c35a7a4ae33e93ee2bc9975b upstream.
    
    The following sequence can be used to trigger a UAF:
    
        int fscontext_fd = fsopen("cgroup");
        int fd_null = open("/dev/null, O_RDONLY);
        int fsconfig(fscontext_fd, FSCONFIG_SET_FD, "source", fd_null);
        close_range(3, ~0U, 0);
    
    The cgroup v1 specific fs parser expects a string for the "source"
    parameter.  However, it is perfectly legitimate to e.g.  specify a file
    descriptor for the "source" parameter.  The fs parser doesn't know what
    a filesystem allows there.  So it's a bug to assume that "source" is
    always of type fs_value_is_string when it can reasonably also be
    fs_value_is_file.
    
    This assumption in the cgroup code causes a UAF because struct
    fs_parameter uses a union for the actual value.  Access to that union is
    guarded by the param->type member.  Since the cgroup paramter parser
    didn't check param->type but unconditionally moved param->string into
    fc->source a close on the fscontext_fd would trigger a UAF during
    put_fs_context() which frees fc->source thereby freeing the file stashed
    in param->file causing a UAF during a close of the fd_null.
    
    Fix this by verifying that param->type is actually a string and report
    an error if not.
    
    In follow up patches I'll add a new generic helper that can be used here
    and by other filesystems instead of this error-prone copy-pasta fix.
    But fixing it in here first makes backporting a it to stable a lot
    easier.
    
    Fixes: 8d2451f4994f ("cgroup1: switch to option-by-option parsing")
    Reported-by: syzbot+283ce5a46486d6acdbaf@syzkaller.appspotmail.com
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: <stable@kernel.org>
    Cc: syzkaller-bugs <syzkaller-bugs@googlegroups.com>
    Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d4238c7539c83b69d1c419a2be2f1cfaf00e7e2b
Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
Date:   Thu Jul 15 00:02:06 2021 -0400

    tracing: Do not reference char * as a string in histograms
    
    commit 704adfb5a9978462cd861f170201ae2b5e3d3a80 upstream.
    
    The histogram logic was allowing events with char * pointers to be used as
    normal strings. But it was easy to crash the kernel with:
    
     # echo 'hist:keys=filename' > events/syscalls/sys_enter_openat/trigger
    
    And open some files, and boom!
    
     BUG: unable to handle page fault for address: 00007f2ced0c3280
     #PF: supervisor read access in kernel mode
     #PF: error_code(0x0000) - not-present page
     PGD 1173fa067 P4D 1173fa067 PUD 1171b6067 PMD 1171dd067 PTE 0
     Oops: 0000 [#1] PREEMPT SMP
     CPU: 6 PID: 1810 Comm: cat Not tainted 5.13.0-rc5-test+ #61
     Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01
    v03.03 07/14/2016
     RIP: 0010:strlen+0x0/0x20
     Code: f6 82 80 2a 0b a9 20 74 11 0f b6 50 01 48 83 c0 01 f6 82 80 2a 0b
    a9 20 75 ef c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 <80> 3f 00 74
    10 48 89 f8 48 83 c0 01 80 38 00 75 f7 48 29 f8 c3
    
     RSP: 0018:ffffbdbf81567b50 EFLAGS: 00010246
     RAX: 0000000000000003 RBX: ffff93815cdb3800 RCX: ffff9382401a22d0
     RDX: 0000000000000100 RSI: 0000000000000000 RDI: 00007f2ced0c3280
     RBP: 0000000000000100 R08: ffff9382409ff074 R09: ffffbdbf81567c98
     R10: ffff9382409ff074 R11: 0000000000000000 R12: ffff9382409ff074
     R13: 0000000000000001 R14: ffff93815a744f00 R15: 00007f2ced0c3280
     FS:  00007f2ced0f8580(0000) GS:ffff93825a800000(0000)
    knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 00007f2ced0c3280 CR3: 0000000107069005 CR4: 00000000001706e0
     Call Trace:
      event_hist_trigger+0x463/0x5f0
      ? find_held_lock+0x32/0x90
      ? sched_clock_cpu+0xe/0xd0
      ? lock_release+0x155/0x440
      ? kernel_init_free_pages+0x6d/0x90
      ? preempt_count_sub+0x9b/0xd0
      ? kernel_init_free_pages+0x6d/0x90
      ? get_page_from_freelist+0x12c4/0x1680
      ? __rb_reserve_next+0xe5/0x460
      ? ring_buffer_lock_reserve+0x12a/0x3f0
      event_triggers_call+0x52/0xe0
      ftrace_syscall_enter+0x264/0x2c0
      syscall_trace_enter.constprop.0+0x1ee/0x210
      do_syscall_64+0x1c/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Where it triggered a fault on strlen(key) where key was the filename.
    
    The reason is that filename is a char * to user space, and the histogram
    code just blindly dereferenced it, with obvious bad results.
    
    I originally tried to use strncpy_from_user/kernel_nofault() but found
    that there's other places that its dereferenced and not worth the effort.
    
    Just do not allow "char *" to act like strings.
    
    Link: https://lkml.kernel.org/r/20210715000206.025df9d2@rorschach.local.home
    
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: stable@vger.kernel.org
    Acked-by: Namhyung Kim <namhyung@kernel.org>
    Acked-by: Tom Zanussi <zanussi@kernel.org>
    Fixes: 79e577cbce4c4 ("tracing: Support string type key properly")
    Fixes: 5967bd5c4239 ("tracing: Let filter_assign_type() detect FILTER_PTR_STRING")
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 887bfae2732b5b02a86a859fd239d34f7ff93c05
Author: Tyrel Datwyler <tyreld@linux.ibm.com>
Date:   Thu Jul 1 13:56:59 2021 -0600

    scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
    
    commit 93aa71ad7379900e61c8adff6a710a4c18c7c99b upstream.
    
    Commit 66a834d09293 ("scsi: core: Fix error handling of scsi_host_alloc()")
    changed the allocation logic to call put_device() to perform host cleanup
    with the assumption that IDA removal and stopping the kthread would
    properly be performed in scsi_host_dev_release(). However, in the unlikely
    case that the error handler thread fails to spawn, shost->ehandler is set
    to ERR_PTR(-ENOMEM).
    
    The error handler cleanup code in scsi_host_dev_release() will call
    kthread_stop() if shost->ehandler != NULL which will always be the case
    whether the kthread was successfully spawned or not. In the case that it
    failed to spawn this has the nasty side effect of trying to dereference an
    invalid pointer when kthread_stop() is called. The following splat provides
    an example of this behavior in the wild:
    
    scsi host11: error handler thread failed to spawn, error = -4
    Kernel attempted to read user page (10c) - exploit attempt? (uid: 0)
    BUG: Kernel NULL pointer dereference on read at 0x0000010c
    Faulting instruction address: 0xc00000000818e9a8
    Oops: Kernel access of bad area, sig: 11 [#1]
    LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
    Modules linked in: ibmvscsi(+) scsi_transport_srp dm_multipath dm_mirror dm_region
     hash dm_log dm_mod fuse overlay squashfs loop
    CPU: 12 PID: 274 Comm: systemd-udevd Not tainted 5.13.0-rc7 #1
    NIP:  c00000000818e9a8 LR: c0000000089846e8 CTR: 0000000000007ee8
    REGS: c000000037d12ea0 TRAP: 0300   Not tainted  (5.13.0-rc7)
    MSR:  800000000280b033 &lt;SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE&gt;  CR: 28228228
    XER: 20040001
    CFAR: c0000000089846e4 DAR: 000000000000010c DSISR: 40000000 IRQMASK: 0
    GPR00: c0000000089846e8 c000000037d13140 c000000009cc1100 fffffffffffffffc
    GPR04: 0000000000000001 0000000000000000 0000000000000000 c000000037dc0000
    GPR08: 0000000000000000 c000000037dc0000 0000000000000001 00000000fffff7ff
    GPR12: 0000000000008000 c00000000a049000 c000000037d13d00 000000011134d5a0
    GPR16: 0000000000001740 c0080000190d0000 c0080000190d1740 c000000009129288
    GPR20: c000000037d13bc0 0000000000000001 c000000037d13bc0 c0080000190b7898
    GPR24: c0080000190b7708 0000000000000000 c000000033bb2c48 0000000000000000
    GPR28: c000000046b28280 0000000000000000 000000000000010c fffffffffffffffc
    NIP [c00000000818e9a8] kthread_stop+0x38/0x230
    LR [c0000000089846e8] scsi_host_dev_release+0x98/0x160
    Call Trace:
    [c000000033bb2c48] 0xc000000033bb2c48 (unreliable)
    [c0000000089846e8] scsi_host_dev_release+0x98/0x160
    [c00000000891e960] device_release+0x60/0x100
    [c0000000087e55c4] kobject_release+0x84/0x210
    [c00000000891ec78] put_device+0x28/0x40
    [c000000008984ea4] scsi_host_alloc+0x314/0x430
    [c0080000190b38bc] ibmvscsi_probe+0x54/0xad0 [ibmvscsi]
    [c000000008110104] vio_bus_probe+0xa4/0x4b0
    [c00000000892a860] really_probe+0x140/0x680
    [c00000000892aefc] driver_probe_device+0x15c/0x200
    [c00000000892b63c] device_driver_attach+0xcc/0xe0
    [c00000000892b740] __driver_attach+0xf0/0x200
    [c000000008926f28] bus_for_each_dev+0xa8/0x130
    [c000000008929ce4] driver_attach+0x34/0x50
    [c000000008928fc0] bus_add_driver+0x1b0/0x300
    [c00000000892c798] driver_register+0x98/0x1a0
    [c00000000810eb60] __vio_register_driver+0x80/0xe0
    [c0080000190b4a30] ibmvscsi_module_init+0x9c/0xdc [ibmvscsi]
    [c0000000080121d0] do_one_initcall+0x60/0x2d0
    [c000000008261abc] do_init_module+0x7c/0x320
    [c000000008265700] load_module+0x2350/0x25b0
    [c000000008265cb4] __do_sys_finit_module+0xd4/0x160
    [c000000008031110] system_call_exception+0x150/0x2d0
    [c00000000800d35c] system_call_common+0xec/0x278
    
    Fix this be nulling shost->ehandler when the kthread fails to spawn.
    
    Link: https://lore.kernel.org/r/20210701195659.3185475-1-tyreld@linux.ibm.com
    Fixes: 66a834d09293 ("scsi: core: Fix error handling of scsi_host_alloc()")
    Cc: stable@vger.kernel.org
    Reviewed-by: Ming Lei <ming.lei@redhat.com>
    Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 22257d3c684096aa6d2c06a8d9642c3217f767d6
Author: Lai Jiangshan <laijs@linux.alibaba.com>
Date:   Tue Jun 29 01:26:32 2021 +0800

    KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
    
    commit f85d40160691881a17a397c448d799dfc90987ba upstream.
    
    When the host is using debug registers but the guest is not using them
    nor is the guest in guest-debug state, the kvm code does not reset
    the host debug registers before kvm_x86->run().  Rather, it relies on
    the hardware vmentry instruction to automatically reset the dr7 registers
    which ensures that the host breakpoints do not affect the guest.
    
    This however violates the non-instrumentable nature around VM entry
    and exit; for example, when a host breakpoint is set on vcpu->arch.cr2,
    
    Another issue is consistency.  When the guest debug registers are active,
    the host breakpoints are reset before kvm_x86->run(). But when the
    guest debug registers are inactive, the host breakpoints are delayed to
    be disabled.  The host tracing tools may see different results depending
    on what the guest is doing.
    
    To fix the problems, we clear %db7 unconditionally before kvm_x86->run()
    if the host has set any breakpoints, no matter if the guest is using
    them or not.
    
    Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
    Message-Id: <20210628172632.81029-1-jiangshanlai@gmail.com>
    Cc: stable@vger.kernel.org
    [Only clear %db7 instead of reloading all debug registers. - Paolo]
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc91a480ace2080ec8ac2addb595277728bb5d6f
Author: Sean Christopherson <seanjc@google.com>
Date:   Wed Jun 23 16:05:46 2021 -0700

    KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
    
    commit 4bf48e3c0aafd32b960d341c4925b48f416f14a5 upstream.
    
    Ignore the guest MAXPHYADDR reported by CPUID.0x8000_0008 if TDP, i.e.
    NPT, is disabled, and instead use the host's MAXPHYADDR.  Per AMD'S APM:
    
      Maximum guest physical address size in bits. This number applies only
      to guests using nested paging. When this field is zero, refer to the
      PhysAddrSize field for the maximum guest physical address size.
    
    Fixes: 24c82e576b78 ("KVM: Sanitize cpuid")
    Cc: stable@vger.kernel.org
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    Message-Id: <20210623230552.4027702-2-seanjc@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f2ff9d03432fcb160e9f7d4be26174d89de2779a
Author: Kefeng Wang <wangkefeng.wang@huawei.com>
Date:   Sat Jun 26 15:03:04 2021 +0800

    KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio
    
    commit 23fa2e46a5556f787ce2ea1a315d3ab93cced204 upstream.
    
    BUG: KASAN: use-after-free in kvm_vm_ioctl_unregister_coalesced_mmio+0x7c/0x1ec arch/arm64/kvm/../../../virt/kvm/coalesced_mmio.c:183
    Read of size 8 at addr ffff0000c03a2500 by task syz-executor083/4269
    
    CPU: 5 PID: 4269 Comm: syz-executor083 Not tainted 5.10.0 #7
    Hardware name: linux,dummy-virt (DT)
    Call trace:
     dump_backtrace+0x0/0x2d0 arch/arm64/kernel/stacktrace.c:132
     show_stack+0x28/0x34 arch/arm64/kernel/stacktrace.c:196
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x110/0x164 lib/dump_stack.c:118
     print_address_description+0x78/0x5c8 mm/kasan/report.c:385
     __kasan_report mm/kasan/report.c:545 [inline]
     kasan_report+0x148/0x1e4 mm/kasan/report.c:562
     check_memory_region_inline mm/kasan/generic.c:183 [inline]
     __asan_load8+0xb4/0xbc mm/kasan/generic.c:252
     kvm_vm_ioctl_unregister_coalesced_mmio+0x7c/0x1ec arch/arm64/kvm/../../../virt/kvm/coalesced_mmio.c:183
     kvm_vm_ioctl+0xe30/0x14c4 arch/arm64/kvm/../../../virt/kvm/kvm_main.c:3755
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl fs/ioctl.c:739 [inline]
     __arm64_sys_ioctl+0xf88/0x131c fs/ioctl.c:739
     __invoke_syscall arch/arm64/kernel/syscall.c:36 [inline]
     invoke_syscall arch/arm64/kernel/syscall.c:48 [inline]
     el0_svc_common arch/arm64/kernel/syscall.c:158 [inline]
     do_el0_svc+0x120/0x290 arch/arm64/kernel/syscall.c:220
     el0_svc+0x1c/0x28 arch/arm64/kernel/entry-common.c:367
     el0_sync_handler+0x98/0x170 arch/arm64/kernel/entry-common.c:383
     el0_sync+0x140/0x180 arch/arm64/kernel/entry.S:670
    
    Allocated by task 4269:
     stack_trace_save+0x80/0xb8 kernel/stacktrace.c:121
     kasan_save_stack mm/kasan/common.c:48 [inline]
     kasan_set_track mm/kasan/common.c:56 [inline]
     __kasan_kmalloc+0xdc/0x120 mm/kasan/common.c:461
     kasan_kmalloc+0xc/0x14 mm/kasan/common.c:475
     kmem_cache_alloc_trace include/linux/slab.h:450 [inline]
     kmalloc include/linux/slab.h:552 [inline]
     kzalloc include/linux/slab.h:664 [inline]
     kvm_vm_ioctl_register_coalesced_mmio+0x78/0x1cc arch/arm64/kvm/../../../virt/kvm/coalesced_mmio.c:146
     kvm_vm_ioctl+0x7e8/0x14c4 arch/arm64/kvm/../../../virt/kvm/kvm_main.c:3746
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl fs/ioctl.c:739 [inline]
     __arm64_sys_ioctl+0xf88/0x131c fs/ioctl.c:739
     __invoke_syscall arch/arm64/kernel/syscall.c:36 [inline]
     invoke_syscall arch/arm64/kernel/syscall.c:48 [inline]
     el0_svc_common arch/arm64/kernel/syscall.c:158 [inline]
     do_el0_svc+0x120/0x290 arch/arm64/kernel/syscall.c:220
     el0_svc+0x1c/0x28 arch/arm64/kernel/entry-common.c:367
     el0_sync_handler+0x98/0x170 arch/arm64/kernel/entry-common.c:383
     el0_sync+0x140/0x180 arch/arm64/kernel/entry.S:670
    
    Freed by task 4269:
     stack_trace_save+0x80/0xb8 kernel/stacktrace.c:121
     kasan_save_stack mm/kasan/common.c:48 [inline]
     kasan_set_track+0x38/0x6c mm/kasan/common.c:56
     kasan_set_free_info+0x20/0x40 mm/kasan/generic.c:355
     __kasan_slab_free+0x124/0x150 mm/kasan/common.c:422
     kasan_slab_free+0x10/0x1c mm/kasan/common.c:431
     slab_free_hook mm/slub.c:1544 [inline]
     slab_free_freelist_hook mm/slub.c:1577 [inline]
     slab_free mm/slub.c:3142 [inline]
     kfree+0x104/0x38c mm/slub.c:4124
     coalesced_mmio_destructor+0x94/0xa4 arch/arm64/kvm/../../../virt/kvm/coalesced_mmio.c:102
     kvm_iodevice_destructor include/kvm/iodev.h:61 [inline]
     kvm_io_bus_unregister_dev+0x248/0x280 arch/arm64/kvm/../../../virt/kvm/kvm_main.c:4374
     kvm_vm_ioctl_unregister_coalesced_mmio+0x158/0x1ec arch/arm64/kvm/../../../virt/kvm/coalesced_mmio.c:186
     kvm_vm_ioctl+0xe30/0x14c4 arch/arm64/kvm/../../../virt/kvm/kvm_main.c:3755
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl fs/ioctl.c:739 [inline]
     __arm64_sys_ioctl+0xf88/0x131c fs/ioctl.c:739
     __invoke_syscall arch/arm64/kernel/syscall.c:36 [inline]
     invoke_syscall arch/arm64/kernel/syscall.c:48 [inline]
     el0_svc_common arch/arm64/kernel/syscall.c:158 [inline]
     do_el0_svc+0x120/0x290 arch/arm64/kernel/syscall.c:220
     el0_svc+0x1c/0x28 arch/arm64/kernel/entry-common.c:367
     el0_sync_handler+0x98/0x170 arch/arm64/kernel/entry-common.c:383
     el0_sync+0x140/0x180 arch/arm64/kernel/entry.S:670
    
    If kvm_io_bus_unregister_dev() return -ENOMEM, we already call kvm_iodevice_destructor()
    inside this function to delete 'struct kvm_coalesced_mmio_dev *dev' from list
    and free the dev, but kvm_iodevice_destructor() is called again, it will lead
    the above issue.
    
    Let's check the the return value of kvm_io_bus_unregister_dev(), only call
    kvm_iodevice_destructor() if the return value is 0.
    
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: kvm@vger.kernel.org
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Message-Id: <20210626070304.143456-1-wangkefeng.wang@huawei.com>
    Cc: stable@vger.kernel.org
    Fixes: 5d3c4c79384a ("KVM: Stop looking for coalesced MMIO zones if the bus is destroyed", 2021-04-20)
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>