commit 42c4d61793d56abc629911c78aaa9ed24293151a
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Aug 8 19:48:26 2023 +0200

    Linux 4.14.321
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5747eabac8be37c04a498b12be06d1aff52ba08a
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Tue Aug 8 19:20:48 2023 +0200

    x86: fix backwards merge of GDS/SRSO bit
    
    Stable-tree-only change.
    
    Due to the way the GDS and SRSO patches flowed into the stable tree, it
    was a 50% chance that the merge of the which value GDS and SRSO should
    be.  Of course, I lost that bet, and chose the opposite of what Linus
    chose in commit 64094e7e3118 ("Merge tag 'gds-for-linus-2023-08-01' of
    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip")
    
    Fix this up by switching the values to match what is now in Linus's tree
    as that is the correct value to mirror.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e1142d87c185c7d7bbf05d175754638b5b9dbf16
Author: Ross Lagerwall <ross.lagerwall@citrix.com>
Date:   Thu Aug 3 08:41:22 2023 +0200

    xen/netback: Fix buffer overrun triggered by unusual packet
    
    commit 534fc31d09b706a16d83533e16b5dc855caf7576 upstream.
    
    It is possible that a guest can send a packet that contains a head + 18
    slots and yet has a len <= XEN_NETBACK_TX_COPY_LEN. This causes nr_slots
    to underflow in xenvif_get_requests() which then causes the subsequent
    loop's termination condition to be wrong, causing a buffer overrun of
    queue->tx_map_ops.
    
    Rework the code to account for the extra frag_overflow slots.
    
    This is CVE-2023-34319 / XSA-432.
    
    Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
    Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    Reviewed-by: Wei Liu <wei.liu@kernel.org>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3c385319a284829b9c669e46908c474845002581
Author: Dave Hansen <dave.hansen@linux.intel.com>
Date:   Tue Aug 1 07:31:07 2023 -0700

    Documentation/x86: Fix backwards on/off logic about YMM support
    
    commit 1b0fc0345f2852ffe54fb9ae0e12e2ee69ad6a20 upstream
    
    These options clearly turn *off* XSAVE YMM support.  Correct the
    typo.
    
    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Fixes: 553a5c03e90a ("x86/speculation: Add force option to GDS mitigation")
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5b2bf72c12189bffa4f0266774cf369e8c7359ba
Author: Juergen Gross <jgross@suse.com>
Date:   Mon Jul 3 15:00:32 2023 +0200

    x86/xen: Fix secondary processors' FPU initialization
    
    commit fe3e0a13e597c1c8617814bf9b42ab732db5c26e upstream.
    
    Moving the call of fpu__init_cpu() from cpu_init() to start_secondary()
    broke Xen PV guests, as those don't call start_secondary() for APs.
    
    Call fpu__init_cpu() in Xen's cpu_bringup(), which is the Xen PV
    replacement of start_secondary().
    
    Fixes: b81fac906a8f ("x86/fpu: Move FPU initialization into arch_cpu_finalize_init()")
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
    Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Acked-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230703130032.22916-1-jgross@suse.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2f17bdaa6f1c15d1a17bdc3fa26bc3598b22ae95
Author: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Date:   Wed Jul 12 19:43:14 2023 -0700

    KVM: Add GDS_NO support to KVM
    
    commit 81ac7e5d741742d650b4ed6186c4826c1a0631a7 upstream
    
    Gather Data Sampling (GDS) is a transient execution attack using
    gather instructions from the AVX2 and AVX512 extensions. This attack
    allows malicious code to infer data that was previously stored in
    vector registers. Systems that are not vulnerable to GDS will set the
    GDS_NO bit of the IA32_ARCH_CAPABILITIES MSR. This is useful for VM
    guests that may think they are on vulnerable systems that are, in
    fact, not affected. Guests that are running on affected hosts where
    the mitigation is enabled are protected as if they were running
    on an unaffected system.
    
    On all hosts that are not affected or that are mitigated, set the
    GDS_NO bit.
    
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c9a54e5b917ea4c365e47ccb183d903df940eb94
Author: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Date:   Wed Jul 12 19:43:13 2023 -0700

    x86/speculation: Add Kconfig option for GDS
    
    commit 53cf5797f114ba2bd86d23a862302119848eff19 upstream
    
    Gather Data Sampling (GDS) is mitigated in microcode. However, on
    systems that haven't received the updated microcode, disabling AVX
    can act as a mitigation. Add a Kconfig option that uses the microcode
    mitigation if available and disables AVX otherwise. Setting this
    option has no effect on systems not affected by GDS. This is the
    equivalent of setting gather_data_sampling=force.
    
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74a10924f5b5b7b997745be50595129a418b8b4d
Author: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Date:   Wed Jul 12 19:43:12 2023 -0700

    x86/speculation: Add force option to GDS mitigation
    
    commit 553a5c03e90a6087e88f8ff878335ef0621536fb upstream
    
    The Gather Data Sampling (GDS) vulnerability allows malicious software
    to infer stale data previously stored in vector registers. This may
    include sensitive data such as cryptographic keys. GDS is mitigated in
    microcode, and systems with up-to-date microcode are protected by
    default. However, any affected system that is running with older
    microcode will still be vulnerable to GDS attacks.
    
    Since the gather instructions used by the attacker are part of the
    AVX2 and AVX512 extensions, disabling these extensions prevents gather
    instructions from being executed, thereby mitigating the system from
    GDS. Disabling AVX2 is sufficient, but we don't have the granularity
    to do this. The XCR0[2] disables AVX, with no option to just disable
    AVX2.
    
    Add a kernel parameter gather_data_sampling=force that will enable the
    microcode mitigation if available, otherwise it will disable AVX on
    affected systems.
    
    This option will be ignored if cmdline mitigations=off.
    
    This is a *big* hammer.  It is known to break buggy userspace that
    uses incomplete, buggy AVX enumeration.  Unfortunately, such userspace
    does exist in the wild:
    
            https://www.mail-archive.com/bug-coreutils@gnu.org/msg33046.html
    
    [ dhansen: add some more ominous warnings about disabling AVX ]
    
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cdc2724c9d060a8fa9652a9aa6347d8324f6cd82
Author: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Date:   Wed Jul 12 19:43:11 2023 -0700

    x86/speculation: Add Gather Data Sampling mitigation
    
    commit 8974eb588283b7d44a7c91fa09fcbaf380339f3a upstream
    
    Gather Data Sampling (GDS) is a hardware vulnerability which allows
    unprivileged speculative access to data which was previously stored in
    vector registers.
    
    Intel processors that support AVX2 and AVX512 have gather instructions
    that fetch non-contiguous data elements from memory. On vulnerable
    hardware, when a gather instruction is transiently executed and
    encounters a fault, stale data from architectural or internal vector
    registers may get transiently stored to the destination vector
    register allowing an attacker to infer the stale data using typical
    side channel techniques like cache timing attacks.
    
    This mitigation is different from many earlier ones for two reasons.
    First, it is enabled by default and a bit must be set to *DISABLE* it.
    This is the opposite of normal mitigation polarity. This means GDS can
    be mitigated simply by updating microcode and leaving the new control
    bit alone.
    
    Second, GDS has a "lock" bit. This lock bit is there because the
    mitigation affects the hardware security features KeyLocker and SGX.
    It needs to be enabled and *STAY* enabled for these features to be
    mitigated against GDS.
    
    The mitigation is enabled in the microcode by default. Disable it by
    setting gather_data_sampling=off or by disabling all mitigations with
    mitigations=off. The mitigation status can be checked by reading:
    
        /sys/devices/system/cpu/vulnerabilities/gather_data_sampling
    
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c50a308075be2f70d9c8283f32ecea3a18367322
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:46 2023 +0200

    x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
    
    commit b81fac906a8f9e682e513ddd95697ec7a20878d4 upstream
    
    Initializing the FPU during the early boot process is a pointless
    exercise. Early boot is convoluted and fragile enough.
    
    Nothing requires that the FPU is set up early. It has to be initialized
    before fork_init() because the task_struct size depends on the FPU register
    buffer size.
    
    Move the initialization to arch_cpu_finalize_init() which is the perfect
    place to do so.
    
    No functional change.
    
    This allows to remove quite some of the custom early command line parsing,
    but that's subject to the next installment.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.902376621@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 262875e0e057a5719f5cb527adb437bd6ddd0150
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:45 2023 +0200

    x86/fpu: Mark init functions __init
    
    commit 1703db2b90c91b2eb2d699519fc505fe431dde0e upstream
    
    No point in keeping them around.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.841685728@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f7c844db93c8b3c94c9fdc30c2545a00c0477d28
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:43 2023 +0200

    x86/fpu: Remove cpuinfo argument from init functions
    
    commit 1f34bb2a24643e0087652d81078e4f616562738d upstream
    
    Nothing in the call chain requires it
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.783704297@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef54e26b2e985d37314736dba9e2b05c88394969
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:41 2023 +0200

    init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
    
    commit 439e17576eb47f26b78c5bbc72e344d4206d2327 upstream
    
    Invoke the X86ism mem_encrypt_init() from X86 arch_cpu_finalize_init() and
    remove the weak fallback from the core code.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.670360645@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b90a399294b54c75a4c0318a98a0d4b263ba97d8
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:39 2023 +0200

    init: Invoke arch_cpu_finalize_init() earlier
    
    commit 9df9d2f0471b4c4702670380b8d8a45b40b23a7d upstream
    
    X86 is reworking the boot process so that initializations which are not
    required during early boot can be moved into the late boot process and out
    of the fragile and restricted initial boot phase.
    
    arch_cpu_finalize_init() is the obvious place to do such initializations,
    but arch_cpu_finalize_init() is invoked too late in start_kernel() e.g. for
    initializing the FPU completely. fork_init() requires that the FPU is
    initialized as the size of task_struct on X86 depends on the size of the
    required FPU register buffer.
    
    Fortunately none of the init calls between calibrate_delay() and
    arch_cpu_finalize_init() is relevant for the functionality of
    arch_cpu_finalize_init().
    
    Invoke it right after calibrate_delay() where everything which is relevant
    for arch_cpu_finalize_init() has been set up already.
    
    No functional change intended.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Link: https://lore.kernel.org/r/20230613224545.612182854@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f81147af7b1b73a0641e6d2feebb1c352e95d177
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:38 2023 +0200

    init: Remove check_bugs() leftovers
    
    commit 61235b24b9cb37c13fcad5b9596d59a1afdcec30 upstream
    
    Everything is converted over to arch_cpu_finalize_init(). Remove the
    check_bugs() leftovers including the empty stubs in asm-generic, alpha,
    parisc, powerpc and xtensa.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Link: https://lore.kernel.org/r/20230613224545.553215951@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b844addfdcdd36decab71119fe93ce857b62d51
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:36 2023 +0200

    um/cpu: Switch to arch_cpu_finalize_init()
    
    commit 9349b5cd0908f8afe95529fc7a8cbb1417df9b0c upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Richard Weinberger <richard@nod.at>
    Link: https://lore.kernel.org/r/20230613224545.493148694@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 39f0e159b8e833fd5ed596ae02dbaea0653cc2d3
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:35 2023 +0200

    sparc/cpu: Switch to arch_cpu_finalize_init()
    
    commit 44ade508e3bfac45ae97864587de29eb1a881ec0 upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
    Link: https://lore.kernel.org/r/20230613224545.431995857@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dbbb8d0733cbb86195a657789291c162fc2f6143
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:33 2023 +0200

    sh/cpu: Switch to arch_cpu_finalize_init()
    
    commit 01eb454e9bfe593f320ecbc9aaec60bf87cd453d upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.371697797@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 38e9580abc8b7080553148f816ca304e27fe0d81
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:32 2023 +0200

    mips/cpu: Switch to arch_cpu_finalize_init()
    
    commit 7f066a22fe353a827a402ee2835e81f045b1574d upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.312438573@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 433002684d809273303a872b19b61a870172c9ef
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:30 2023 +0200

    m68k/cpu: Switch to arch_cpu_finalize_init()
    
    commit 9ceecc2589b9d7cef6b321339ed8de484eac4b20 upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230613224545.254342916@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc428b59bdb49fa87a6f893f957c23b56dfa1bf2
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:27 2023 +0200

    ia64/cpu: Switch to arch_cpu_finalize_init()
    
    commit 6c38e3005621800263f117fb00d6787a76e16de7 upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.137045745@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b29c5d8e13afb80c85c9f085ad9d4c6d440f598a
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:25 2023 +0200

    ARM: cpu: Switch to arch_cpu_finalize_init()
    
    commit ee31bb0524a2e7c99b03f50249a411cc1eaa411f upstream
    
    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224545.078124882@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e74430fb9bd9ababfaeef0f453befd4083388598
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:24 2023 +0200

    x86/cpu: Switch to arch_cpu_finalize_init()
    
    commit 7c7077a72674402654f3291354720cd73cdf649e upstream
    
    check_bugs() is a dumping ground for finalizing the CPU bringup. Only parts of
    it has to do with actual CPU bugs.
    
    Split it apart into arch_cpu_finalize_init() and cpu_select_mitigations().
    
    Fixup the bogus 32bit comments while at it.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Borislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/20230613224545.019583869@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 01d36b819b57906bb163f59f2526330a0b53d198
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Wed Jun 14 01:39:22 2023 +0200

    init: Provide arch_cpu_finalize_init()
    
    commit 7725acaa4f0c04fbefb0e0d342635b967bb7d414 upstream
    
    check_bugs() has become a dumping ground for all sorts of activities to
    finalize the CPU initialization before running the rest of the init code.
    
    Most are empty, a few do actual bug checks, some do alternative patching
    and some cobble a CPU advertisement string together....
    
    Aside of that the current implementation requires duplicated function
    declaration and mostly empty header files for them.
    
    Provide a new function arch_cpu_finalize_init(). Provide a generic
    declaration if CONFIG_ARCH_HAS_CPU_FINALIZE_INIT is selected and a stub
    inline otherwise.
    
    This requires a temporary #ifdef in start_kernel() which will be removed
    along with check_bugs() once the architectures are converted over.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20230613224544.957805717@linutronix.de
    Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>