commit 9c3bf9cf362ffbe802784ab907bee7a6445df1b9
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Thu Jul 21 20:42:48 2022 +0200

    Linux 4.14.289
    
    Link: https://lore.kernel.org/r/20220719114521.868169025@linuxfoundation.org
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d3892a747ab16b1eb6593a19d29f62c3b3f020ac
Author: Marc Kleine-Budde <mkl@pengutronix.de>
Date:   Thu Mar 17 08:57:35 2022 +0100

    can: m_can: m_can_tx_handler(): fix use after free of skb
    
    commit 2e8e79c416aae1de224c0f1860f2e3350fa171f8 upstream.
    
    can_put_echo_skb() will clone skb then free the skb. Move the
    can_put_echo_skb() for the m_can version 3.0.x directly before the
    start of the xmit in hardware, similar to the 3.1.x branch.
    
    Fixes: 80646733f11c ("can: m_can: update to support CAN FD features")
    Link: https://lore.kernel.org/all/20220317081305.739554-1-mkl@pengutronix.de
    Cc: stable@vger.kernel.org
    Reported-by: Hangyu Hua <hbh25y@gmail.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    [sudip: adjust context]
    Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4efb260aa4487427b87296ed10ef4d0e82265aea
Author: Rik van Riel <riel@surriel.com>
Date:   Tue Mar 22 14:44:09 2022 -0700

    mm: invalidate hwpoison page cache page in fault path
    
    commit e53ac7374e64dede04d745ff0e70ff5048378d1f upstream.
    
    Sometimes the page offlining code can leave behind a hwpoisoned clean
    page cache page.  This can lead to programs being killed over and over
    and over again as they fault in the hwpoisoned page, get killed, and
    then get re-spawned by whatever wanted to run them.
    
    This is particularly embarrassing when the page was offlined due to
    having too many corrected memory errors.  Now we are killing tasks due
    to them trying to access memory that probably isn't even corrupted.
    
    This problem can be avoided by invalidating the page from the page fault
    handler, which already has a branch for dealing with these kinds of
    pages.  With this patch we simply pretend the page fault was successful
    if the page was invalidated, return to userspace, incur another page
    fault, read in the file from disk (to a new memory page), and then
    everything works again.
    
    Link: https://lkml.kernel.org/r/20220212213740.423efcea@imladris.surriel.com
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
    Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
    Reviewed-by: Oscar Salvador <osalvador@suse.de>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    [sudip: use int instead of vm_fault_t]
    Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 48969dfbf02815b8536e188eba09ae82dffab24d
Author: Yi Yang <yiyang13@huawei.com>
Date:   Tue Jun 28 16:35:15 2022 +0800

    serial: 8250: fix return error code in serial8250_request_std_resource()
    
    commit 6e690d54cfa802f939cefbd2fa2c91bd0b8bd1b6 upstream.
    
    If port->mapbase = NULL in serial8250_request_std_resource() , it need
    return a error code instead of 0. If uart_set_info() fail to request new
    regions by serial8250_request_std_resource() but the return value of
    serial8250_request_std_resource() is 0, The system incorrectly considers
    that the resource application is successful and does not attempt to
    restore the old setting. A null pointer reference is triggered when the
    port resource is later invoked.
    
    Signed-off-by: Yi Yang <yiyang13@huawei.com>
    Cc: stable <stable@kernel.org>
    Link: https://lore.kernel.org/r/20220628083515.64138-1-yiyang13@huawei.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b17dbd5ae1a25720b61e4150c55e4073886af726
Author: Chanho Park <chanho61.park@samsung.com>
Date:   Mon Jun 27 15:51:13 2022 +0900

    tty: serial: samsung_tty: set dma burst_size to 1
    
    commit f7e35e4bf1e8dc2c8cbd5e0955dc1bd58558dae0 upstream.
    
    The src_maxburst and dst_maxburst have been changed to 1 but the settings
    of the UCON register aren't changed yet. They should be changed as well
    according to the dmaengine slave config.
    
    Fixes: aa2f80e752c7 ("serial: samsung: fix maxburst parameter for DMA transactions")
    Cc: stable <stable@kernel.org>
    Cc: Marek Szyprowski <m.szyprowski@samsung.com>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: Chanho Park <chanho61.park@samsung.com>
    Link: https://lore.kernel.org/r/20220627065113.139520-1-chanho61.park@samsung.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 11f2be20594ad2edb7e4b0f6bbfa43cb083b3aca
Author: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Date:   Mon Jun 27 18:41:19 2022 -0700

    usb: dwc3: gadget: Fix event pending check
    
    commit 7441b273388b9a59d8387a03ffbbca9d5af6348c upstream.
    
    The DWC3_EVENT_PENDING flag is used to protect against invalid call to
    top-half interrupt handler, which can occur when there's a delay in
    software detection of the interrupt line deassertion.
    
    However, the clearing of this flag was done prior to unmasking the
    interrupt line, creating opportunity where the top-half handler can
    come. This breaks the serialization and creates a race between the
    top-half and bottom-half handler, resulting in losing synchronization
    between the controller and the driver when processing events.
    
    To fix this, make sure the clearing of the DWC3_EVENT_PENDING is done at
    the end of the bottom-half handler.
    
    Fixes: d325a1de49d6 ("usb: dwc3: gadget: Prevent losing events in event cache")
    Cc: stable@vger.kernel.org
    Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
    Link: https://lore.kernel.org/r/8670aaf1cf52e7d1e6df2a827af2d77263b93b75.1656380429.git.Thinh.Nguyen@synopsys.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c735244927a590d4228d09267919abc1e3b850fe
Author: Lucien Buchmann <lucien.buchmann@gmx.net>
Date:   Sat Jun 25 02:17:44 2022 +0200

    USB: serial: ftdi_sio: add Belimo device ids
    
    commit 7c239a071d1f04b7137789810807b4108d475c72 upstream.
    
    Those two product ids are known.
    
    Signed-off-by: Lucien Buchmann <lucien.buchmann@gmx.net>
    Cc: stable@vger.kernel.org
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 31d3649b685e2c91d144433f384d90c042a032bc
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Jul 6 12:20:59 2022 -0700

    signal handling: don't use BUG_ON() for debugging
    
    [ Upstream commit a382f8fee42ca10c9bfce0d2352d4153f931f5dc ]
    
    These are indeed "should not happen" situations, but it turns out recent
    changes made the 'task_is_stopped_or_trace()' case trigger (fix for that
    exists, is pending more testing), and the BUG_ON() makes it
    unnecessarily hard to actually debug for no good reason.
    
    It's been that way for a long time, but let's make it clear: BUG_ON() is
    not good for debugging, and should never be used in situations where you
    could just say "this shouldn't happen, but we can continue".
    
    Use WARN_ON_ONCE() instead to make sure it gets logged, and then just
    continue running.  Instead of making the system basically unusuable
    because you crashed the machine while potentially holding some very core
    locks (eg this function is commonly called while holding 'tasklist_lock'
    for writing).
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a24eebede57ff42d5123cca948c5077ccddbffcb
Author: Juergen Gross <jgross@suse.com>
Date:   Thu Jun 30 09:14:40 2022 +0200

    x86: Clear .brk area at early boot
    
    [ Upstream commit 38fa5479b41376dc9d7f57e71c83514285a25ca0 ]
    
    The .brk section has the same properties as .bss: it is an alloc-only
    section and should be cleared before being used.
    
    Not doing so is especially a problem for Xen PV guests, as the
    hypervisor will validate page tables (check for writable page tables
    and hypervisor private bits) before accepting them to be used.
    
    Make sure .brk is initially zero by letting clear_bss() clear the brk
    area, too.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Link: https://lore.kernel.org/r/20220630071441.28576-3-jgross@suse.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 08fb5e4f79fca0cd99b673b6c3cf1ec8cb324f1b
Author: Stafford Horne <shorne@gmail.com>
Date:   Wed Jun 15 08:54:26 2022 +0900

    irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
    
    [ Upstream commit 8520501346ed8d1c4a6dfa751cb57328a9c843f1 ]
    
    The mask_ack operation clears the interrupt by writing to the PICSR
    register.  This we don't want for level triggered interrupt because
    it does not actually clear the interrupt on the source hardware.
    
    This was causing issues in qemu with multi core setups where
    interrupts would continue to fire even though they had been cleared in
    PICSR.
    
    Just remove the mask_ack operation.
    
    Acked-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Stafford Horne <shorne@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 37f99b368e5cc7551a8655dddae95852a39d961a
Author: Charles Keepax <ckeepax@opensource.cirrus.com>
Date:   Tue Jun 21 11:20:39 2022 +0100

    ASoC: wm5110: Fix DRE control
    
    [ Upstream commit 0bc0ae9a5938d512fd5d44f11c9c04892dcf4961 ]
    
    The DRE controls on wm5110 should return a value of 1 if the DRE state
    is actually changed, update to fix this.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220621102041.1713504-2-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2a0fcbf8ffb03e97be7ae0e393b09635cd15d823
Author: Mark Brown <broonie@kernel.org>
Date:   Sat Jun 4 11:52:46 2022 +0100

    ASoC: ops: Fix off by one in range control validation
    
    [ Upstream commit 5871321fb4558c55bf9567052b618ff0be6b975e ]
    
    We currently report that range controls accept a range of 0..(max-min) but
    accept writes in the range 0..(max-min+1). Remove that extra +1.
    
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20220604105246.4055214-1-broonie@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9ec5a97f327a89031fce6cfc3e95543c53936638
Author: Jianglei Nie <niejianglei2021@163.com>
Date:   Wed Jun 29 15:55:50 2022 +0800

    net: sfp: fix memory leak in sfp_probe()
    
    [ Upstream commit 0a18d802d65cf662644fd1d369c86d84a5630652 ]
    
    sfp_probe() allocates a memory chunk from sfp with sfp_alloc(). When
    devm_add_action() fails, sfp is not freed, which leads to a memory leak.
    
    We should use devm_add_action_or_reset() instead of devm_add_action().
    
    Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
    Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Link: https://lore.kernel.org/r/20220629075550.2152003-1-niejianglei2021@163.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6bfe44465f9f559cd5856fa2e1d80eb11aa5e291
Author: Michael Walle <michael@walle.cc>
Date:   Mon Jun 27 19:06:43 2022 +0200

    NFC: nxp-nci: don't print header length mismatch on i2c error
    
    [ Upstream commit 9577fc5fdc8b07b891709af6453545db405e24ad ]
    
    Don't print a misleading header length mismatch error if the i2c call
    returns an error. Instead just return the error code without any error
    message.
    
    Signed-off-by: Michael Walle <michael@walle.cc>
    Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7bc9e7f70bc57d8f02ffea2a42094281effb15ef
Author: Hangyu Hua <hbh25y@gmail.com>
Date:   Wed Jun 29 14:34:18 2022 +0800

    net: tipc: fix possible refcount leak in tipc_sk_create()
    
    [ Upstream commit 00aff3590fc0a73bddd3b743863c14e76fd35c0c ]
    
    Free sk in case tipc_sk_insert() fails.
    
    Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
    Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 781852564ed8d322940879d12dbb5ea2d60ea7df
Author: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date:   Tue Jun 28 20:37:26 2022 +0800

    platform/x86: hp-wmi: Ignore Sanitization Mode event
    
    [ Upstream commit 9ab762a84b8094540c18a170e5ddd6488632c456 ]
    
    After system resume the hp-wmi driver may complain:
    [ 702.620180] hp_wmi: Unknown event_id - 23 - 0x0
    
    According to HP it means 'Sanitization Mode' and it's harmless to just
    ignore the event.
    
    Cc: Jorge Lopez <jorge.lopez2@hp.com>
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Link: https://lore.kernel.org/r/20220628123726.250062-1-kai.heng.feng@canonical.com
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 37c16fc2cb13a13f3c0193bfc6f2edef7d7df7d7
Author: Liang He <windhl@126.com>
Date:   Sat Jun 18 10:25:45 2022 +0800

    cpufreq: pmac32-cpufreq: Fix refcount leak bug
    
    [ Upstream commit ccd7567d4b6cf187fdfa55f003a9e461ee629e36 ]
    
    In pmac_cpufreq_init_MacRISC3(), we need to add corresponding
    of_node_put() for the three node pointers whose refcount have
    been incremented by of_find_node_by_name().
    
    Signed-off-by: Liang He <windhl@126.com>
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 85b9029d0d067df5ff8d4fe5c09ce12797f2f19b
Author: Florian Westphal <fw@strlen.de>
Date:   Tue Jun 21 18:26:03 2022 +0200

    netfilter: br_netfilter: do not skip all hooks with 0 priority
    
    [ Upstream commit c2577862eeb0be94f151f2f1fff662b028061b00 ]
    
    When br_netfilter module is loaded, skbs may be diverted to the
    ipv4/ipv6 hooks, just like as if we were routing.
    
    Unfortunately, bridge filter hooks with priority 0 may be skipped
    in this case.
    
    Example:
    1. an nftables bridge ruleset is loaded, with a prerouting
       hook that has priority 0.
    2. interface is added to the bridge.
    3. no tcp packet is ever seen by the bridge prerouting hook.
    4. flush the ruleset
    5. load the bridge ruleset again.
    6. tcp packets are processed as expected.
    
    After 1) the only registered hook is the bridge prerouting hook, but its
    not called yet because the bridge hasn't been brought up yet.
    
    After 2), hook order is:
       0 br_nf_pre_routing // br_netfilter internal hook
       0 chain bridge f prerouting // nftables bridge ruleset
    
    The packet is diverted to br_nf_pre_routing.
    If call-iptables is off, the nftables bridge ruleset is called as expected.
    
    But if its enabled, br_nf_hook_thresh() will skip it because it assumes
    that all 0-priority hooks had been called previously in bridge context.
    
    To avoid this, check for the br_nf_pre_routing hook itself, we need to
    resume directly after it, even if this hook has a priority of 0.
    
    Unfortunately, this still results in different packet flow.
    With this fix, the eval order after in 3) is:
    1. br_nf_pre_routing
    2. ip(6)tables (if enabled)
    3. nftables bridge
    
    but after 5 its the much saner:
    1. nftables bridge
    2. br_nf_pre_routing
    3. ip(6)tables (if enabled)
    
    Unfortunately I don't see a solution here:
    It would be possible to move br_nf_pre_routing to a higher priority
    so that it will be called later in the pipeline, but this also impacts
    ebtables evaluation order, and would still result in this very ordering
    problem for all nftables-bridge hooks with the same priority as the
    br_nf_pre_routing one.
    
    Searching back through the git history I don't think this has
    ever behaved in any other way, hence, no fixes-tag.
    
    Reported-by: Radim Hrazdil <rhrazdil@redhat.com>
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0de3313bc984b2cf399f673c61edf49afafa9592
Author: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Date:   Tue Jun 21 13:06:21 2022 +0200

    virtio_mmio: Restore guest page size on resume
    
    [ Upstream commit e0c2ce8217955537dd5434baeba061f209797119 ]
    
    Virtio devices might lose their state when the VMM is restarted
    after a suspend to disk (hibernation) cycle. This means that the
    guest page size register must be restored for the virtio_mmio legacy
    interface, since otherwise the virtio queues are not functional.
    
    This is particularly problematic for QEMU that currently still defaults
    to using the legacy interface for virtio_mmio. Write the guest page
    size register again in virtio_mmio_restore() to make legacy virtio_mmio
    devices work correctly after hibernation.
    
    Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
    Message-Id: <20220621110621.3638025-3-stephan.gerhold@kernkonzept.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f69d10db9940ddd012b167f639ef17f81ab3140d
Author: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Date:   Tue Jun 21 13:06:20 2022 +0200

    virtio_mmio: Add missing PM calls to freeze/restore
    
    [ Upstream commit ed7ac37fde33ccd84e4bd2b9363c191f925364c7 ]
    
    Most virtio drivers provide freeze/restore callbacks to finish up
    device usage before suspend and to reinitialize the virtio device after
    resume. However, these callbacks are currently only called when using
    virtio_pci. virtio_mmio does not have any PM ops defined.
    
    This causes problems for example after suspend to disk (hibernation),
    since the virtio devices might lose their state after the VMM is
    restarted. Calling virtio_device_freeze()/restore() ensures that
    the virtio devices are re-initialized correctly.
    
    Fix this by implementing the dev_pm_ops for virtio_mmio,
    similar to virtio_pci_common.
    
    Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
    Message-Id: <20220621110621.3638025-2-stephan.gerhold@kernkonzept.com>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b9072305270579a9d6afc9b926166231e5b1a7c8
Author: Íñigo Huguet <ihuguet@redhat.com>
Date:   Wed Jul 13 11:21:16 2022 +0200

    sfc: fix kernel panic when creating VF
    
    [ Upstream commit ada74c5539eba06cf8b47d068f92e0b3963a9a6e ]
    
    When creating VFs a kernel panic can happen when calling to
    efx_ef10_try_update_nic_stats_vf.
    
    When releasing a DMA coherent buffer, sometimes, I don't know in what
    specific circumstances, it has to unmap memory with vunmap. It is
    disallowed to do that in IRQ context or with BH disabled. Otherwise, we
    hit this line in vunmap, causing the crash:
      BUG_ON(in_interrupt());
    
    This patch reenables BH to release the buffer.
    
    Log messages when the bug is hit:
     kernel BUG at mm/vmalloc.c:2727!
     invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
     CPU: 6 PID: 1462 Comm: NetworkManager Kdump: loaded Tainted: G          I      --------- ---  5.14.0-119.el9.x86_64 #1
     Hardware name: Dell Inc. PowerEdge R740/06WXJT, BIOS 2.8.2 08/27/2020
     RIP: 0010:vunmap+0x2e/0x30
     ...skip...
     Call Trace:
      __iommu_dma_free+0x96/0x100
      efx_nic_free_buffer+0x2b/0x40 [sfc]
      efx_ef10_try_update_nic_stats_vf+0x14a/0x1c0 [sfc]
      efx_ef10_update_stats_vf+0x18/0x40 [sfc]
      efx_start_all+0x15e/0x1d0 [sfc]
      efx_net_open+0x5a/0xe0 [sfc]
      __dev_open+0xe7/0x1a0
      __dev_change_flags+0x1d7/0x240
      dev_change_flags+0x21/0x60
      ...skip...
    
    Fixes: d778819609a2 ("sfc: DMA the VF stats only when requested")
    Reported-by: Ma Yuying <yuma@redhat.com>
    Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
    Acked-by: Edward Cree <ecree.xilinx@gmail.com>
    Link: https://lore.kernel.org/r/20220713092116.21238-1-ihuguet@redhat.com
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7dcb50a86e1f3d0b74dba4564e45a9620e6691c6
Author: Andrea Mayer <andrea.mayer@uniroma2.it>
Date:   Tue Jul 12 19:58:36 2022 +0200

    seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors
    
    [ Upstream commit f048880fc77058d864aff5c674af7918b30f312a ]
    
    The SRv6 End.B6 and End.B6.Encaps behaviors rely on functions
    seg6_do_srh_{encap,inline}() to, respectively: i) encapsulate the
    packet within an outer IPv6 header with the specified Segment Routing
    Header (SRH); ii) insert the specified SRH directly after the IPv6
    header of the packet.
    
    This patch removes the initialization of the IPv6 header payload length
    from the input_action_end_b6{_encap}() functions, as it is now handled
    properly by seg6_do_srh_{encap,inline}() to avoid corruption of the skb
    checksum.
    
    Fixes: 140f04c33bbc ("ipv6: sr: implement several seg6local actions")
    Signed-off-by: Andrea Mayer <andrea.mayer@uniroma2.it>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f461f1add838c94489be642d3092ed2444b46960
Author: Andrea Mayer <andrea.mayer@uniroma2.it>
Date:   Tue Jul 12 19:58:35 2022 +0200

    seg6: fix skb checksum evaluation in SRH encapsulation/insertion
    
    [ Upstream commit df8386d13ea280d55beee1b95f61a59234a3798b ]
    
    Support for SRH encapsulation and insertion was introduced with
    commit 6c8702c60b88 ("ipv6: sr: add support for SRH encapsulation and
    injection with lwtunnels"), through the seg6_do_srh_encap() and
    seg6_do_srh_inline() functions, respectively.
    The former encapsulates the packet in an outer IPv6 header along with
    the SRH, while the latter inserts the SRH between the IPv6 header and
    the payload. Then, the headers are initialized/updated according to the
    operating mode (i.e., encap/inline).
    Finally, the skb checksum is calculated to reflect the changes applied
    to the headers.
    
    The IPv6 payload length ('payload_len') is not initialized
    within seg6_do_srh_{inline,encap}() but is deferred in seg6_do_srh(), i.e.
    the caller of seg6_do_srh_{inline,encap}().
    However, this operation invalidates the skb checksum, since the
    'payload_len' is updated only after the checksum is evaluated.
    
    To solve this issue, the initialization of the IPv6 payload length is
    moved from seg6_do_srh() directly into the seg6_do_srh_{inline,encap}()
    functions and before the skb checksum update takes place.
    
    Fixes: 6c8702c60b88 ("ipv6: sr: add support for SRH encapsulation and injection with lwtunnels")
    Reported-by: Paolo Abeni <pabeni@redhat.com>
    Link: https://lore.kernel.org/all/20220705190727.69d532417be7438b15404ee1@uniroma2.it
    Signed-off-by: Andrea Mayer <andrea.mayer@uniroma2.it>
    Signed-off-by: Paolo Abeni <pabeni@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c9e75bb22a26e391f189f5a5133dd63dcb57fdaa
Author: Íñigo Huguet <ihuguet@redhat.com>
Date:   Tue Jul 12 08:26:42 2022 +0200

    sfc: fix use after free when disabling sriov
    
    [ Upstream commit ebe41da5d47ac0fff877e57bd14c54dccf168827 ]
    
    Use after free is detected by kfence when disabling sriov. What was read
    after being freed was vf->pci_dev: it was freed from pci_disable_sriov
    and later read in efx_ef10_sriov_free_vf_vports, called from
    efx_ef10_sriov_free_vf_vswitching.
    
    Set the pointer to NULL at release time to not trying to read it later.
    
    Reproducer and dmesg log (note that kfence doesn't detect it every time):
    $ echo 1 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs
    $ echo 0 > /sys/class/net/enp65s0f0np0/device/sriov_numvfs
    
     BUG: KFENCE: use-after-free read in efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc]
    
     Use-after-free read at 0x00000000ff3c1ba5 (in kfence-#224):
      efx_ef10_sriov_free_vf_vswitching+0x82/0x170 [sfc]
      efx_ef10_pci_sriov_disable+0x38/0x70 [sfc]
      efx_pci_sriov_configure+0x24/0x40 [sfc]
      sriov_numvfs_store+0xfe/0x140
      kernfs_fop_write_iter+0x11c/0x1b0
      new_sync_write+0x11f/0x1b0
      vfs_write+0x1eb/0x280
      ksys_write+0x5f/0xe0
      do_syscall_64+0x5c/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
     kfence-#224: 0x00000000edb8ef95-0x00000000671f5ce1, size=2792, cache=kmalloc-4k
    
     allocated by task 6771 on cpu 10 at 3137.860196s:
      pci_alloc_dev+0x21/0x60
      pci_iov_add_virtfn+0x2a2/0x320
      sriov_enable+0x212/0x3e0
      efx_ef10_sriov_configure+0x67/0x80 [sfc]
      efx_pci_sriov_configure+0x24/0x40 [sfc]
      sriov_numvfs_store+0xba/0x140
      kernfs_fop_write_iter+0x11c/0x1b0
      new_sync_write+0x11f/0x1b0
      vfs_write+0x1eb/0x280
      ksys_write+0x5f/0xe0
      do_syscall_64+0x5c/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
     freed by task 6771 on cpu 12 at 3170.991309s:
      device_release+0x34/0x90
      kobject_cleanup+0x3a/0x130
      pci_iov_remove_virtfn+0xd9/0x120
      sriov_disable+0x30/0xe0
      efx_ef10_pci_sriov_disable+0x57/0x70 [sfc]
      efx_pci_sriov_configure+0x24/0x40 [sfc]
      sriov_numvfs_store+0xfe/0x140
      kernfs_fop_write_iter+0x11c/0x1b0
      new_sync_write+0x11f/0x1b0
      vfs_write+0x1eb/0x280
      ksys_write+0x5f/0xe0
      do_syscall_64+0x5c/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Fixes: 3c5eb87605e85 ("sfc: create vports for VFs and assign random MAC addresses")
    Reported-by: Yanghang Liu <yanghliu@redhat.com>
    Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
    Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
    Link: https://lore.kernel.org/r/20220712062642.6915-1-ihuguet@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fa4bb704b0dcf42965658c28ab9140b8e7806166
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Mon Jul 11 17:15:32 2022 -0700

    ipv4: Fix data-races around sysctl_ip_dynaddr.
    
    [ Upstream commit e49e4aff7ec19b2d0d0957ee30e93dade57dab9e ]
    
    While reading sysctl_ip_dynaddr, it can be changed concurrently.
    Thus, we need to add READ_ONCE() to its readers.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aa40aa4ccb0ffd2b30ffd2253ac8085dc6f10479
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Mon Jul 11 17:15:28 2022 -0700

    icmp: Fix a data-race around sysctl_icmp_ratemask.
    
    [ Upstream commit 1ebcb25ad6fc3d50fca87350acf451b9a66dd31e ]
    
    While reading sysctl_icmp_ratemask, it can be changed concurrently.
    Thus, we need to add READ_ONCE() to its reader.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e68a87c27019771fc2b1cd31930c81aaf89b2541
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Mon Jul 11 17:15:27 2022 -0700

    icmp: Fix a data-race around sysctl_icmp_ratelimit.
    
    [ Upstream commit 2a4eb714841f288cf51c7d942d98af6a8c6e4b01 ]
    
    While reading sysctl_icmp_ratelimit, it can be changed concurrently.
    Thus, we need to add READ_ONCE() to its reader.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ad9734ebb30a419d17e10818f63dc374721dc679
Author: Michal Suchanek <msuchanek@suse.de>
Date:   Fri Jul 8 19:45:29 2022 +0200

    ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero
    
    [ Upstream commit 884b66976a7279ee889ba885fe364244d50b79e7 ]
    
    The device tree should include generic "jedec,spi-nor" compatible, and a
    manufacturer-specific one.
    The macronix part is what is shipped on the boards that come with a
    flash chip.
    
    Fixes: 45857ae95478 ("ARM: dts: orange-pi-zero: add node for SPI NOR")
    Signed-off-by: Michal Suchanek <msuchanek@suse.de>
    Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
    Link: https://lore.kernel.org/r/20220708174529.3360-1-msuchanek@suse.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 53ecd09ef2fb35fa69667ae8e414ef6b00fd3bf6
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Wed Jul 6 16:40:02 2022 -0700

    icmp: Fix data-races around sysctl.
    
    [ Upstream commit 48d7ee321ea5182c6a70782aa186422a70e67e22 ]
    
    While reading icmp sysctl variables, they can be changed concurrently.
    So, we need to add READ_ONCE() to avoid data-races.
    
    Fixes: 4cdf507d5452 ("icmp: add a global rate limitation")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c321e99d2725d11f7e6a4ebd9ce752259f0bae81
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Wed Jul 6 16:40:01 2022 -0700

    cipso: Fix data-races around sysctl.
    
    [ Upstream commit dd44f04b9214adb68ef5684ae87a81ba03632250 ]
    
    While reading cipso sysctl variables, they can be changed concurrently.
    So, we need to add READ_ONCE() to avoid data-races.
    
    Fixes: 446fda4f2682 ("[NetLabel]: CIPSOv4 engine")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Acked-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f9324197f45924e2219b46311b79145e10a15612
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Wed Jul 6 16:40:00 2022 -0700

    net: Fix data-races around sysctl_mem.
    
    [ Upstream commit 310731e2f1611d1d13aae237abcf8e66d33345d5 ]
    
    While reading .sysctl_mem, it can be changed concurrently.
    So, we need to add READ_ONCE() to avoid data-races.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 20243034dcd83cee02807c7a301df6b335ddbc01
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Wed Jul 6 16:39:59 2022 -0700

    inetpeer: Fix data-races around sysctl.
    
    [ Upstream commit 3d32edf1f3c38d3301f6434e56316f293466d7fb ]
    
    While reading inetpeer sysctl variables, they can be changed
    concurrently.  So, we need to add READ_ONCE() to avoid data-races.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a3d742c6b5f214e45fa7b514fa7a90706515cf9c
Author: Ard Biesheuvel <ardb@kernel.org>
Date:   Tue May 31 09:53:42 2022 +0100

    ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle
    
    [ Upstream commit 0609e200246bfd3b7516091c491bec4308349055 ]
    
    Jon reports that the Spectre-BHB init code is filling up the kernel log
    with spurious notifications about which mitigation has been enabled,
    every time any CPU comes out of a low power state.
    
    Given that Spectre-BHB mitigations are system wide, only a single
    mitigation can be enabled, and we already print an error if two types of
    CPUs coexist in a single system that require different Spectre-BHB
    mitigations.
    
    This means that the pr_info() that describes the selected mitigation
    does not need to be emitted for each CPU anyway, and so we can simply
    emit it only once.
    
    In order to clarify the above in the log message, update it to describe
    that the selected mitigation will be enabled on all CPUs, including ones
    that are unaffected. If another CPU comes up later that is affected and
    requires a different mitigation, we report an error as before.
    
    Fixes: b9baf5c8c5c3 ("ARM: Spectre-BHB workaround")
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f4a5311dfd1cbf9440f006974c1ceec8175f7652
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Thu Mar 3 13:08:55 2022 +0200

    xhci: make xhci_handshake timeout for xhci_reset() adjustable
    
    commit 14073ce951b5919da450022c050772902f24f054 upstream.
    
    xhci_reset() timeout was increased from 250ms to 10 seconds in order to
    give Renesas 720201 xHC enough time to get ready in probe.
    
    xhci_reset() is called with interrupts disabled in other places, and
    waiting for 10 seconds there is not acceptable.
    
    Add a timeout parameter to xhci_reset(), and adjust it back to 250ms
    when called from xhci_stop() or xhci_shutdown() where interrupts are
    disabled, and successful reset isn't that critical.
    This solves issues when deactivating host mode on platforms like SM8450.
    
    For now don't change the timeout if xHC is reset in xhci_resume().
    No issues are reported for it, and we need the reset to succeed.
    Locking around that reset needs to be revisited later.
    
    Additionally change the signed integer timeout parameter in
    xhci_handshake() to a u64 to match the timeout value we pass to
    readl_poll_timeout_atomic()
    
    Fixes: 22ceac191211 ("xhci: Increase reset timeout for Renesas 720201 host.")
    Cc: stable@vger.kernel.org
    Reported-by: Sergey Shtylyov <s.shtylyov@omp.ru>
    Reported-by: Pavan Kondeti <quic_pkondeti@quicinc.com>
    Tested-by: Pavan Kondeti <quic_pkondeti@quicinc.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20220303110903.1662404-2-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [sudip: adjust context]
    Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e97d0b01017e3812925287629c8bea8331223d11
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Thu Mar 12 16:45:09 2020 +0200

    xhci: bail out early if driver can't accress host in resume
    
    commit 72ae194704da212e2ec312ab182a96799d070755 upstream.
    
    Bail out early if the xHC host needs to be reset at resume
    but driver can't access xHC PCI registers.
    
    If xhci driver already fails to reset the controller then there
    is no point in attempting to free, re-initialize, re-allocate and
    re-start the host. If failure to access the host is detected later,
    failing the resume, xhci interrupts will be double freed
    when remove is called.
    
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20200312144517.1593-2-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [sudip: adjust context]
    Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 775489365c9d84c056788913b9ab149e04bae358
Author: Doug Berger <opendmb@gmail.com>
Date:   Wed Jun 22 20:02:04 2022 -0700

    net: dsa: bcm_sf2: force pause link settings
    
    commit 7c97bc0128b2eecc703106112679a69d446d1a12 upstream.
    
    The pause settings reported by the PHY should also be applied to the GMII port
    status override otherwise the switch will not generate pause frames towards the
    link partner despite the advertisement saying otherwise.
    
    Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver")
    Signed-off-by: Doug Berger <opendmb@gmail.com>
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Link: https://lore.kernel.org/r/20220623030204.1966851-1-f.fainelli@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e1692c9f82fd3ee96caa70b3851e3b97ae87f878
Author: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Date:   Thu Jun 23 17:54:01 2022 +0900

    nilfs2: fix incorrect masking of permission flags for symlinks
    
    commit 5924e6ec1585445f251ea92713eb15beb732622a upstream.
    
    The permission flags of newly created symlinks are wrongly dropped on
    nilfs2 with the current umask value even though symlinks should have 777
    (rwxrwxrwx) permissions:
    
     $ umask
     0022
     $ touch file && ln -s file symlink; ls -l file symlink
     -rw-r--r--. 1 root root 0 Jun 23 16:29 file
     lrwxr-xr-x. 1 root root 4 Jun 23 16:29 symlink -> file
    
    This fixes the bug by inserting a missing check that excludes
    symlinks.
    
    Link: https://lkml.kernel.org/r/1655974441-5612-1-git-send-email-konishi.ryusuke@gmail.com
    Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Reported-by: Tommy Pettersson <ptp@lysator.liu.se>
    Reported-by: Ciprian Craciun <ciprian.craciun@gmail.com>
    Tested-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 05f7658210d1d331e8dd4cb6e7bbbe3df5f5ac27
Author: Tejun Heo <tj@kernel.org>
Date:   Mon Jun 13 12:19:50 2022 -1000

    cgroup: Use separate src/dst nodes when preloading css_sets for migration
    
    commit 07fd5b6cdf3cc30bfde8fe0f644771688be04447 upstream.
    
    Each cset (css_set) is pinned by its tasks. When we're moving tasks around
    across csets for a migration, we need to hold the source and destination
    csets to ensure that they don't go away while we're moving tasks about. This
    is done by linking cset->mg_preload_node on either the
    mgctx->preloaded_src_csets or mgctx->preloaded_dst_csets list. Using the
    same cset->mg_preload_node for both the src and dst lists was deemed okay as
    a cset can't be both the source and destination at the same time.
    
    Unfortunately, this overloading becomes problematic when multiple tasks are
    involved in a migration and some of them are identity noop migrations while
    others are actually moving across cgroups. For example, this can happen with
    the following sequence on cgroup1:
    
     #1> mkdir -p /sys/fs/cgroup/misc/a/b
     #2> echo $$ > /sys/fs/cgroup/misc/a/cgroup.procs
     #3> RUN_A_COMMAND_WHICH_CREATES_MULTIPLE_THREADS &
     #4> PID=$!
     #5> echo $PID > /sys/fs/cgroup/misc/a/b/tasks
     #6> echo $PID > /sys/fs/cgroup/misc/a/cgroup.procs
    
    the process including the group leader back into a. In this final migration,
    non-leader threads would be doing identity migration while the group leader
    is doing an actual one.
    
    After #3, let's say the whole process was in cset A, and that after #4, the
    leader moves to cset B. Then, during #6, the following happens:
    
     1. cgroup_migrate_add_src() is called on B for the leader.
    
     2. cgroup_migrate_add_src() is called on A for the other threads.
    
     3. cgroup_migrate_prepare_dst() is called. It scans the src list.
    
     4. It notices that B wants to migrate to A, so it tries to A to the dst
        list but realizes that its ->mg_preload_node is already busy.
    
     5. and then it notices A wants to migrate to A as it's an identity
        migration, it culls it by list_del_init()'ing its ->mg_preload_node and
        putting references accordingly.
    
     6. The rest of migration takes place with B on the src list but nothing on
        the dst list.
    
    This means that A isn't held while migration is in progress. If all tasks
    leave A before the migration finishes and the incoming task pins it, the
    cset will be destroyed leading to use-after-free.
    
    This is caused by overloading cset->mg_preload_node for both src and dst
    preload lists. We wanted to exclude the cset from the src list but ended up
    inadvertently excluding it from the dst list too.
    
    This patch fixes the issue by separating out cset->mg_preload_node into
    ->mg_src_preload_node and ->mg_dst_preload_node, so that the src and dst
    preloadings don't interfere with each other.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Mukesh Ojha <quic_mojha@quicinc.com>
    Reported-by: shisiyuan <shisiyuan19870131@gmail.com>
    Link: http://lkml.kernel.org/r/1654187688-27411-1-git-send-email-shisiyuan@xiaomi.com
    Link: https://www.spinics.net/lists/cgroups/msg33313.html
    Fixes: f817de98513d ("cgroup: prepare migration path for unified hierarchy")
    Cc: stable@vger.kernel.org # v3.16+
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9b2e1842793ced23973f2ee395c0c195ca4cf58b
Author: Ard Biesheuvel <ardb@kernel.org>
Date:   Thu Jun 30 16:46:54 2022 +0100

    ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction
    
    commit e5c46fde75e43c15a29b40e5fc5641727f97ae47 upstream.
    
    After emulating a misaligned load or store issued in Thumb mode, we have
    to advance the IT state by hand, or it will get out of sync with the
    actual instruction stream, which means we'll end up applying the wrong
    condition code to subsequent instructions. This might corrupt the
    program state rather catastrophically.
    
    So borrow the it_advance() helper from the probing code, and use it on
    CPSR if the emulated instruction is Thumb.
    
    Cc: <stable@vger.kernel.org>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9198ee7cdd2c9eb312356a3912497a8bc2f61086
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date:   Tue Jun 28 08:55:45 2022 +0100

    ARM: 9213/1: Print message about disabled Spectre workarounds only once
    
    commit e4ced82deb5fb17222fb82e092c3f8311955b585 upstream.
    
    Print the message about disabled Spectre workarounds only once. The
    message is printed each time CPU goes out from idling state on NVIDIA
    Tegra boards, causing storm in KMSG that makes system unusable.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 98d0dcf81a992722703d6c97930d3d61cb35f6f3
Author: Steven Rostedt (Google) <rostedt@goodmis.org>
Date:   Wed Jul 6 10:50:40 2022 -0400

    net: sock: tracing: Fix sock_exceed_buf_limit not to dereference stale pointer
    
    commit 820b8963adaea34a87abbecb906d1f54c0aabfb7 upstream.
    
    The trace event sock_exceed_buf_limit saves the prot->sysctl_mem pointer
    and then dereferences it in the TP_printk() portion. This is unsafe as the
    TP_printk() portion is executed at the time the buffer is read. That is,
    it can be seconds, minutes, days, months, even years later. If the proto
    is freed, then this dereference will can also lead to a kernel crash.
    
    Instead, save the sysctl_mem array into the ring buffer and have the
    TP_printk() reference that instead. This is the proper and safe way to
    read pointers in trace events.
    
    Link: https://lore.kernel.org/all/20220706052130.16368-12-kuniyu@amazon.com/
    
    Cc: stable@vger.kernel.org
    Fixes: 3847ce32aea9f ("core: add tracepoints for queueing skb to rcvbuf")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Acked-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d5320c6a27aa975aff740f9cb481dcbde48f4348
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Jul 13 15:53:22 2022 +0200

    xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue
    
    commit 94e8100678889ab428e68acadf042de723f094b9 upstream.
    
    xenvif_rx_next_skb() is expecting the rx queue not being empty, but
    in case the loop in xenvif_rx_action() is doing multiple iterations,
    the availability of another skb in the rx queue is not being checked.
    
    This can lead to crashes:
    
    [40072.537261] BUG: unable to handle kernel NULL pointer dereference at 0000000000000080
    [40072.537407] IP: xenvif_rx_skb+0x23/0x590 [xen_netback]
    [40072.537534] PGD 0 P4D 0
    [40072.537644] Oops: 0000 [#1] SMP NOPTI
    [40072.537749] CPU: 0 PID: 12505 Comm: v1-c40247-q2-gu Not tainted 4.12.14-122.121-default #1 SLE12-SP5
    [40072.537867] Hardware name: HP ProLiant DL580 Gen9/ProLiant DL580 Gen9, BIOS U17 11/23/2021
    [40072.537999] task: ffff880433b38100 task.stack: ffffc90043d40000
    [40072.538112] RIP: e030:xenvif_rx_skb+0x23/0x590 [xen_netback]
    [40072.538217] RSP: e02b:ffffc90043d43de0 EFLAGS: 00010246
    [40072.538319] RAX: 0000000000000000 RBX: ffffc90043cd7cd0 RCX: 00000000000000f7
    [40072.538430] RDX: 0000000000000000 RSI: 0000000000000006 RDI: ffffc90043d43df8
    [40072.538531] RBP: 000000000000003f R08: 000077ff80000000 R09: 0000000000000008
    [40072.538644] R10: 0000000000007ff0 R11: 00000000000008f6 R12: ffffc90043ce2708
    [40072.538745] R13: 0000000000000000 R14: ffffc90043d43ed0 R15: ffff88043ea748c0
    [40072.538861] FS: 0000000000000000(0000) GS:ffff880484600000(0000) knlGS:0000000000000000
    [40072.538988] CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033
    [40072.539088] CR2: 0000000000000080 CR3: 0000000407ac8000 CR4: 0000000000040660
    [40072.539211] Call Trace:
    [40072.539319] xenvif_rx_action+0x71/0x90 [xen_netback]
    [40072.539429] xenvif_kthread_guest_rx+0x14a/0x29c [xen_netback]
    
    Fix that by stopping the loop in case the rx queue becomes empty.
    
    Cc: stable@vger.kernel.org
    Fixes: 98f6d57ced73 ("xen-netback: process guest rx packets in batches")
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Link: https://lore.kernel.org/r/20220713135322.19616-1-jgross@suse.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72d7df5ffa3fc8ac11f16072bc30b38689340b0a
Author: Meng Tang <tangmeng@uniontech.com>
Date:   Mon Jul 11 18:17:44 2022 +0800

    ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model
    
    commit d16d69bf5a25d91c6d8f3e29711be12551bf56cd upstream.
    
    There is another HP ProDesk 600 G3 model with the PCI SSID 103c:82b4
    that requires the quirk HP_MIC_NO_PRESENCE. Add the corresponding
    entry to the quirk table.
    
    Signed-off-by: Meng Tang <tangmeng@uniontech.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20220711101744.25189-1-tangmeng@uniontech.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1696b3df57e765079e318454f8ad3f61ecd0d530
Author: Meng Tang <tangmeng@uniontech.com>
Date:   Tue Jul 12 14:00:05 2022 +0800

    ALSA: hda - Add fixup for Dell Latitidue E5430
    
    commit 841bdf85c226803a78a9319af9b2caa9bf3e2eda upstream.
    
    Another Dell model, another fixup entry: Latitude E5430 needs the same
    fixup as other Latitude E series as workaround for noise problems.
    
    Signed-off-by: Meng Tang <tangmeng@uniontech.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20220712060005.20176-1-tangmeng@uniontech.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>