commit 545728d9e08593767dd55192b0324dd4f9b71151
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun Nov 21 13:49:09 2021 +0100

    Linux 5.14.21
    
    Link: https://lore.kernel.org/r/20211119171443.724340448@linuxfoundation.org
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Fox Chen <foxhlchen@gmail.com>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 999805aaf925594bd1cf344b2646f19dfc8a1d72
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Wed Nov 17 17:05:41 2021 +0100

    Revert "ACPI: scan: Release PM resources blocked by unused objects"
    
    commit 3b2b49e6dfdcf423506a771bf44cee842596351a upstream.
    
    Revert commit c10383e8ddf4 ("ACPI: scan: Release PM resources blocked
    by unused objects"), because it causes boot issues to appear on some
    platforms.
    
    Reported-by: Kyle D. Pelton <kyle.d.pelton@intel.com>
    Reported-by: Saranya Gopal <saranya.gopal@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0750f769b95841b34a9fe8c418dd792ff526bf86
Author: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Date:   Thu Nov 4 16:57:07 2021 -0700

    thermal: Fix NULL pointer dereferences in of_thermal_ functions
    
    commit 96cfe05051fd8543cdedd6807ec59a0e6c409195 upstream.
    
    of_parse_thermal_zones() parses the thermal-zones node and registers a
    thermal_zone device for each subnode. However, if a thermal zone is
    consuming a thermal sensor and that thermal sensor device hasn't probed
    yet, an attempt to set trip_point_*_temp for that thermal zone device
    can cause a NULL pointer dereference. Fix it.
    
     console:/sys/class/thermal/thermal_zone87 # echo 120000 > trip_point_0_temp
     ...
     Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020
     ...
     Call trace:
      of_thermal_set_trip_temp+0x40/0xc4
      trip_point_temp_store+0xc0/0x1dc
      dev_attr_store+0x38/0x88
      sysfs_kf_write+0x64/0xc0
      kernfs_fop_write_iter+0x108/0x1d0
      vfs_write+0x2f4/0x368
      ksys_write+0x7c/0xec
      __arm64_sys_write+0x20/0x30
      el0_svc_common.llvm.7279915941325364641+0xbc/0x1bc
      do_el0_svc+0x28/0xa0
      el0_svc+0x14/0x24
      el0_sync_handler+0x88/0xec
      el0_sync+0x1c0/0x200
    
    While at it, fix the possible NULL pointer dereference in other
    functions as well: of_thermal_get_temp(), of_thermal_set_emul_temp(),
    of_thermal_get_trend().
    
    Suggested-by: David Collins <quic_collinsd@quicinc.com>
    Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
    Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 50812034d105b810b80f8471e31f17d207497b05
Author: Greg Thelen <gthelen@google.com>
Date:   Wed Nov 10 18:18:14 2021 -0800

    perf/core: Avoid put_page() when GUP fails
    
    commit 4716023a8f6a0f4a28047f14dd7ebdc319606b84 upstream.
    
    PEBS PERF_SAMPLE_PHYS_ADDR events use perf_virt_to_phys() to convert PMU
    sampled virtual addresses to physical using get_user_page_fast_only()
    and page_to_phys().
    
    Some get_user_page_fast_only() error cases return false, indicating no
    page reference, but still initialize the output page pointer with an
    unreferenced page. In these error cases perf_virt_to_phys() calls
    put_page(). This causes page reference count underflow, which can lead
    to unintentional page sharing.
    
    Fix perf_virt_to_phys() to only put_page() if get_user_page_fast_only()
    returns a referenced page.
    
    Fixes: fc7ce9c74c3ad ("perf/core, x86: Add PERF_SAMPLE_PHYS_ADDR")
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20211111021814.757086-1-gthelen@google.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ae2afdf82a00049f3fea5a4d5dc5e9ba2432618d
Author: Marc Zyngier <maz@kernel.org>
Date:   Thu Nov 4 18:01:30 2021 +0000

    PCI: Add MSI masking quirk for Nvidia ION AHCI
    
    commit f21082fb20dbfb3e42b769b59ef21c2a7f2c7c1f upstream.
    
    The ION AHCI device pretends that MSI masking isn't a thing, while it
    actually implements it and needs MSIs to be unmasked to work. Add a quirk
    to that effect.
    
    Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Bjorn Helgaas <helgaas@kernel.org>
    Link: https://lore.kernel.org/r/CALjTZvbzYfBuLB+H=fj2J+9=DxjQ2Uqcy0if_PvmJ-nU-qEgkg@mail.gmail.com
    Link: https://lore.kernel.org/r/20211104180130.3825416-3-maz@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 18c55aed17b2d9b34c8b4946bc7eeb0a51ce8d10
Author: Marc Zyngier <maz@kernel.org>
Date:   Thu Nov 4 18:01:29 2021 +0000

    PCI/MSI: Deal with devices lying about their MSI mask capability
    
    commit 2226667a145db2e1f314d7f57fd644fe69863ab9 upstream.
    
    It appears that some devices are lying about their mask capability,
    pretending that they don't have it, while they actually do.
    The net result is that now that we don't enable MSIs on such
    endpoint.
    
    Add a new per-device flag to deal with this. Further patches will
    make use of it, sadly.
    
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/20211104180130.3825416-2-maz@kernel.org
    Cc: Bjorn Helgaas <helgaas@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f64af173573104dd896a75b1b9116031b35bbb95
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue Nov 9 14:53:57 2021 +0100

    PCI/MSI: Destroy sysfs before freeing entries
    
    commit 3735459037114d31e5acd9894fad9aed104231a0 upstream.
    
    free_msi_irqs() frees the MSI entries before destroying the sysfs entries
    which are exposing them. Nothing prevents a concurrent free while a sysfs
    file is read and accesses the possibly freed entry.
    
    Move the sysfs release ahead of freeing the entries.
    
    Fixes: 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Bjorn Helgaas <helgaas@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/87sfw5305m.ffs@tglx
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f41389affe96f140bb9b81e17f3dc5f002a413a3
Author: Sven Schnelle <svens@stackframe.org>
Date:   Sat Nov 13 20:41:17 2021 +0100

    parisc/entry: fix trace test in syscall exit path
    
    commit 3ec18fc7831e7d79e2d536dd1f3bc0d3ba425e8a upstream.
    
    commit 8779e05ba8aa ("parisc: Fix ptrace check on syscall return")
    fixed testing of TI_FLAGS. This uncovered a bug in the test mask.
    syscall_restore_rfi is only used when the kernel needs to exit to
    usespace with single or block stepping and the recovery counter
    enabled. The test however used _TIF_SYSCALL_TRACE_MASK, which
    includes a lot of bits that shouldn't be tested here.
    
    Fix this by using TIF_SINGLESTEP and TIF_BLOCKSTEP directly.
    
    I encountered this bug by enabling syscall tracepoints. Both in qemu and
    on real hardware. As soon as i enabled the tracepoint (sys_exit_read,
    but i guess it doesn't really matter which one), i got random page
    faults in userspace almost immediately.
    
    Signed-off-by: Sven Schnelle <svens@stackframe.org>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 56249b445477c1a92f0e20a46897b98ba6250a45
Author: Nicholas Flintham <nick@flinny.org>
Date:   Thu Sep 30 09:22:39 2021 +0100

    Bluetooth: btusb: Add support for TP-Link UB500 Adapter
    
    commit 4fd6d490796171bf786090fee782e252186632e4 upstream.
    
    Add support for TP-Link UB500 Adapter (RTL8761B)
    
    * /sys/kernel/debug/usb/devices
    T:  Bus=01 Lev=02 Prnt=05 Port=01 Cnt=01 Dev#= 78 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=2357 ProdID=0604 Rev= 2.00
    S:  Manufacturer=
    S:  Product=TP-Link UB500 Adapter
    S:  SerialNumber=E848B8C82000
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Nicholas Flintham <nick@flinny.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Cc: Szabolcs Sipos <labuwx@balfug.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dbaa485bc5a1273e7c46a897df5ee62a296207c0
Author: Masami Hiramatsu <mhiramat@kernel.org>
Date:   Thu Sep 16 15:23:12 2021 +0900

    bootconfig: init: Fix memblock leak in xbc_make_cmdline()
    
    commit 1ae43851b18afe861120ebd7c426dc44f06bb2bd upstream.
    
    Free unused memblock in a error case to fix memblock leak
    in xbc_make_cmdline().
    
    Link: https://lkml.kernel.org/r/163177339181.682366.8713781325929549256.stgit@devnote2
    
    Fixes: 51887d03aca1 ("bootconfig: init: Allow admin to use bootconfig for kernel command line")
    Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6bb162d35d74ea88e8886086e57d7941ac83c2b8
Author: Xie Yongji <xieyongji@bytedance.com>
Date:   Tue Oct 26 22:40:14 2021 +0800

    loop: Use blk_validate_block_size() to validate block size
    
    commit af3c570fb0df422b4906ebd11c1bf363d89961d5 upstream.
    
    Remove loop_validate_block_size() and use the block layer helper
    to validate block size.
    
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Link: https://lore.kernel.org/r/20211026144015.188-4-xieyongji@bytedance.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Cc: Tadeusz Struk <tadeusz.struk@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e2d865b3109c5dae84347ad67069fa4cb1935a9c
Author: Xie Yongji <xieyongji@bytedance.com>
Date:   Tue Oct 26 22:40:12 2021 +0800

    block: Add a helper to validate the block size
    
    commit 570b1cac477643cbf01a45fa5d018430a1fddbce upstream.
    
    There are some duplicated codes to validate the block
    size in block drivers. This limitation actually comes
    from block layer, so this patch tries to add a new block
    layer helper for that.
    
    Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
    Link: https://lore.kernel.org/r/20211026144015.188-2-xieyongji@bytedance.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5b9f31a3be76f141c2101735c0af08a08aec0bca
Author: Kees Cook <keescook@chromium.org>
Date:   Wed May 12 21:51:10 2021 -0700

    fortify: Explicitly disable Clang support
    
    commit a52f8a59aef46b59753e583bf4b28fccb069ce64 upstream.
    
    Clang has never correctly compiled the FORTIFY_SOURCE defenses due to
    a couple bugs:
    
            Eliding inlines with matching __builtin_* names
            https://bugs.llvm.org/show_bug.cgi?id=50322
    
            Incorrect __builtin_constant_p() of some globals
            https://bugs.llvm.org/show_bug.cgi?id=41459
    
    In the process of making improvements to the FORTIFY_SOURCE defenses, the
    first (silent) bug (coincidentally) becomes worked around, but exposes
    the latter which breaks the build. As such, Clang must not be used with
    CONFIG_FORTIFY_SOURCE until at least latter bug is fixed (in Clang 13),
    and the fortify routines have been rearranged.
    
    Update the Kconfig to reflect the reality of the current situation.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Nick Desaulniers <ndesaulniers@google.com>
    Link: https://lore.kernel.org/lkml/CAKwvOd=A+ueGV2ihdy5GtgR2fQbcXjjAtVxv3=cPjffpebZB7A@mail.gmail.com
    Cc: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87304542f264d992f5922a704849130179224d5a
Author: David Woodhouse <dwmw@amazon.co.uk>
Date:   Sun Nov 14 08:59:02 2021 +0000

    KVM: Fix steal time asm constraints
    
    commit 964b7aa0b040bdc6ec1c543ee620cda3f8b4c68a upstream.
    
    In 64-bit mode, x86 instruction encoding allows us to use the low 8 bits
    of any GPR as an 8-bit operand. In 32-bit mode, however, we can only use
    the [abcd] registers. For which, GCC has the "q" constraint instead of
    the less restrictive "r".
    
    Also fix st->preempted, which is an input/output operand rather than an
    input.
    
    Fixes: 7e2175ebd695 ("KVM: x86: Fix recording of guest steal time / preempted status")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Message-Id: <89bf72db1b859990355f9c40713a34e0d2d86c98.camel@infradead.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 02eafa8f1558417d3c3cb530073f42ecc4962806
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Nov 19 12:30:13 2021 +0100

    Revert "drm: fb_helper: fix CONFIG_FB dependency"
    
    This reverts commit c95380ba527ae0aee29b2a133c5d0c481d472759 which is
    commit 606b102876e3741851dfb09d53f3ee57f650a52c upstream.
    
    It causes some build problems as reported by Jiri.
    
    Link: https://lore.kernel.org/r/9fdb2bf1-de52-1b9d-4783-c61ce39e8f51@kernel.org
    Reported-by: Jiri Slaby <jirislaby@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Sasha Levin <sashal@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bd462930f7e534222e3226260d7f9492f3e3cb02
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Nov 19 12:30:10 2021 +0100

    Revert "drm: fb_helper: improve CONFIG_FB dependency"
    
    This reverts commit 94e18f5a5dd1b5e3b89c665fc5ff780858b1c9f6 which is
    commit 9d6366e743f37d36ef69347924ead7bcc596076e upstream.
    
    It causes some build problems as reported by Jiri.
    
    Link: https://lore.kernel.org/r/9fdb2bf1-de52-1b9d-4783-c61ce39e8f51@kernel.org
    Reported-by: Jiri Slaby <jirislaby@kernel.org>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Javier Martinez Canillas <javierm@redhat.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Sasha Levin <sashal@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>