Skip to content
  1. Aug 04, 2022
    • Nathan Chancellor's avatar
      MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0 · 74de14fe
      Nathan Chancellor authored
      
      
      When CONFIG_XPA is enabled, Clang warns:
      
        arch/mips/mm/tlbex.c:629:24: error: converting the result of '<<' to a boolean; did you mean '(1 << _PAGE_NO_EXEC_SHIFT) != 0'? [-Werror,-Wint-in-bool-context]
                if (cpu_has_rixi && !!_PAGE_NO_EXEC) {
                                    ^
        arch/mips/include/asm/pgtable-bits.h:174:28: note: expanded from macro '_PAGE_NO_EXEC'
        # define _PAGE_NO_EXEC          (1 << _PAGE_NO_EXEC_SHIFT)
                                           ^
        arch/mips/mm/tlbex.c:2568:24: error: converting the result of '<<' to a boolean; did you mean '(1 << _PAGE_NO_EXEC_SHIFT) != 0'? [-Werror,-Wint-in-bool-context]
                if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
                                      ^
        arch/mips/include/asm/pgtable-bits.h:174:28: note: expanded from macro '_PAGE_NO_EXEC'
        # define _PAGE_NO_EXEC          (1 << _PAGE_NO_EXEC_SHIFT)
                                           ^
        2 errors generated.
      
      _PAGE_NO_EXEC can be '0' or '1 << _PAGE_NO_EXEC_SHIFT' depending on the
      build and runtime configuration, which is what the negation operators
      are trying to convey. To silence the warning, explicitly compare against
      0 so the result of the '<<' operator is not implicitly converted to a
      boolean.
      
      According to its documentation, GCC enables -Wint-in-bool-context with
      -Wall but this warning is not visible when building the same
      configuration with GCC. It appears GCC only warns when compiling C++,
      not C, although the documentation makes no note of this:
      https://godbolt.org/z/x39q3brxf
      
      Reported-by: default avatarSudip Mukherjee (Codethink) <sudipm.mukherjee@gmail.com>
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      74de14fe
  2. Jul 30, 2022
  3. Jul 17, 2022
  4. Jul 15, 2022
  5. Jul 14, 2022
    • Thomas Bogendoerfer's avatar
      MIPS: Remove VR41xx support · d3164e2f
      Thomas Bogendoerfer authored
      
      
      No (active) developer owns this hardware, so let's remove Linux support.
      
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      d3164e2f
    • Krzysztof Kozlowski's avatar
      MIPS: dts: align gpio-key node names with dtschema · 62fb295c
      Krzysztof Kozlowski authored
      
      
      The node names should be generic and DT schema expects certain pattern
      (e.g. with key/button/switch).
      
      Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Acked-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      62fb295c
    • Krzysztof Kozlowski's avatar
      MIPS: dts: correct gpio-keys names and properties · 5ee46bfb
      Krzysztof Kozlowski authored
      
      
      gpio-keys children do not use unit addresses.
      
      Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Acked-by: default avatarArınç ÜNAL <arinc.unal@arinc9.com>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      5ee46bfb
    • Huacai Chen's avatar
      MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK · e1a534f5
      Huacai Chen authored
      
      
      When CONFIG_CPUMASK_OFFSTACK and CONFIG_DEBUG_PER_CPU_MAPS is selected,
      cpu_max_bits_warn() generates a runtime warning similar as below while
      we show /proc/cpuinfo. Fix this by using nr_cpu_ids (the runtime limit)
      instead of NR_CPUS to iterate CPUs.
      
      [    3.052463] ------------[ cut here ]------------
      [    3.059679] WARNING: CPU: 3 PID: 1 at include/linux/cpumask.h:108 show_cpuinfo+0x5e8/0x5f0
      [    3.070072] Modules linked in: efivarfs autofs4
      [    3.076257] CPU: 0 PID: 1 Comm: systemd Not tainted 5.19-rc5+ #1052
      [    3.084034] Hardware name: Loongson Loongson-3A4000-7A1000-1w-V0.1-CRB/Loongson-LS3A4000-7A1000-1w-EVB-V1.21, BIOS Loongson-UDK2018-V2.0.04082-beta7 04/27
      [    3.099465] Stack : 9000000100157b08 9000000000f18530 9000000000cf846c 9000000100154000
      [    3.109127]         9000000100157a50 0000000000000000 9000000100157a58 9000000000ef7430
      [    3.118774]         90000001001578e8 0000000000000040 0000000000000020 ffffffffffffffff
      [    3.128412]         0000000000aaaaaa 1ab25f00eec96a37 900000010021de80 900000000101c890
      [    3.138056]         0000000000000000 0000000000000000 0000000000000000 0000000000aaaaaa
      [    3.147711]         ffff8000339dc220 0000000000000001 0000000006ab4000 0000000000000000
      [    3.157364]         900000000101c998 0000000000000004 9000000000ef7430 0000000000000000
      [    3.167012]         0000000000000009 000000000000006c 0000000000000000 0000000000000000
      [    3.176641]         9000000000d3de08 9000000001639390 90000000002086d8 00007ffff0080286
      [    3.186260]         00000000000000b0 0000000000000004 0000000000000000 0000000000071c1c
      [    3.195868]         ...
      [    3.199917] Call Trace:
      [    3.203941] [<98000000002086d8>] show_stack+0x38/0x14c
      [    3.210666] [<9800000000cf846c>] dump_stack_lvl+0x60/0x88
      [    3.217625] [<980000000023d268>] __warn+0xd0/0x100
      [    3.223958] [<9800000000cf3c90>] warn_slowpath_fmt+0x7c/0xcc
      [    3.231150] [<9800000000210220>] show_cpuinfo+0x5e8/0x5f0
      [    3.238080] [<98000000004f578c>] seq_read_iter+0x354/0x4b4
      [    3.245098] [<98000000004c2e90>] new_sync_read+0x17c/0x1c4
      [    3.252114] [<98000000004c5174>] vfs_read+0x138/0x1d0
      [    3.258694] [<98000000004c55f8>] ksys_read+0x70/0x100
      [    3.265265] [<9800000000cfde9c>] do_syscall+0x7c/0x94
      [    3.271820] [<9800000000202fe4>] handle_syscall+0xc4/0x160
      [    3.281824] ---[ end trace 8b484262b4b8c24c ]---
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
      e1a534f5
  6. Jul 11, 2022
  7. Jul 05, 2022
  8. Jul 04, 2022
    • Linus Torvalds's avatar
      Linux 5.19-rc5 · 88084a3d
      Linus Torvalds authored
      v5.19-rc5
      88084a3d
    • Linus Torvalds's avatar
      lockref: remove unused 'lockref_get_or_lock()' function · b8d5109f
      Linus Torvalds authored
      Looking at the conditional lock acquire functions in the kernel due to
      the new sparse support (see commit 4a557a5d "sparse: introduce
      conditional lock acquire function attribute"), it became obvious that
      the lockref code has a couple of them, but they don't match the usual
      naming convention for the other ones, and their return value logic is
      also reversed.
      
      In the other very similar places, the naming pattern is '*_and_lock()'
      (eg 'atomic_put_and_lock()' and 'refcount_dec_and_lock()'), and the
      function returns true when the lock is taken.
      
      The lockref code is superficially very similar to the refcount code,
      only with the special "atomic wrt the embedded lock" semantics.  But
      instead of the '*_and_lock()' naming it uses '*_or_lock()'.
      
      And instead of returning true in case it took the lock, it returns true
      if it *didn't* take the lock.
      
      Now, arguably the reflock code is quite logical: it really is a "either
      decrement _or_ lock" kind of situation - and the return value is about
      whether the operation succeeded without any special care needed.
      
      So despite the similarities, the differences do make some sense, and
      maybe it's not worth trying to unify the different conditional locking
      primitives in this area.
      
      But while looking at this all, it did become obvious that the
      'lockref_get_or_lock()' function hasn't actually had any users for
      almost a decade.
      
      The only user it ever had was the shortlived 'd_rcu_to_refcount()'
      function, and it got removed and replaced with 'lockref_get_not_dead()'
      back in 2013 in commits 0d98439e ("vfs: use lockred 'dead' flag to
      mark unrecoverably dead dentries") and e5c832d5 ("vfs: fix dentry
      RCU to refcounting possibly sleeping dput()")
      
      In fact, that single use was removed less than a week after the whole
      function was introduced in commit b3abd802
      
       ("lockref: add
      'lockref_get_or_lock() helper") so this function has been around for a
      decade, but only had a user for six days.
      
      Let's just put this mis-designed and unused function out of its misery.
      
      We can think about the naming and semantic oddities of the remaining
      'lockref_put_or_lock()' later, but at least that function has users.
      
      And while the naming is different and the return value doesn't match,
      that function matches the whole '{atomic,refcount}_dec_and_test()'
      pattern much better (ie the magic happens when the count goes down to
      zero, not when it is incremented from zero).
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b8d5109f
    • Linus Torvalds's avatar
      sparse: introduce conditional lock acquire function attribute · 4a557a5d
      Linus Torvalds authored
      
      
      The kernel tends to try to avoid conditional locking semantics because
      it makes it harder to think about and statically check locking rules,
      but we do have a few fundamental locking primitives that take locks
      conditionally - most obviously the 'trylock' functions.
      
      That has always been a problem for 'sparse' checking for locking
      imbalance, and we've had a special '__cond_lock()' macro that we've used
      to let sparse know how the locking works:
      
          # define __cond_lock(x,c)        ((c) ? ({ __acquire(x); 1; }) : 0)
      
      so that you can then use this to tell sparse that (for example) the
      spinlock trylock macro ends up acquiring the lock when it succeeds, but
      not when it fails:
      
          #define raw_spin_trylock(lock)  __cond_lock(lock, _raw_spin_trylock(lock))
      
      and then sparse can follow along the locking rules when you have code like
      
              if (!spin_trylock(&dentry->d_lock))
                      return LRU_SKIP;
      	.. sparse sees that the lock is held here..
              spin_unlock(&dentry->d_lock);
      
      and sparse ends up happy about the lock contexts.
      
      However, this '__cond_lock()' use does result in very ugly header files,
      and requires you to basically wrap the real function with that macro
      that uses '__cond_lock'.  Which has made PeterZ NAK things that try to
      fix sparse warnings over the years [1].
      
      To solve this, there is now a very experimental patch to sparse that
      basically does the exact same thing as '__cond_lock()' did, but using a
      function attribute instead.  That seems to make PeterZ happy [2].
      
      Note that this does not replace existing use of '__cond_lock()', but
      only exposes the new proposed attribute and uses it for the previously
      unannotated 'refcount_dec_and_lock()' family of functions.
      
      For existing sparse installations, this will make no difference (a
      negative output context was ignored), but if you have the experimental
      sparse patch it will make sparse now understand code that uses those
      functions, the same way '__cond_lock()' makes sparse understand the very
      similar 'atomic_dec_and_lock()' uses that have the old '__cond_lock()'
      annotations.
      
      Note that in some cases this will silence existing context imbalance
      warnings.  But in other cases it may end up exposing new sparse warnings
      for code that sparse just didn't see the locking for at all before.
      
      This is a trial, in other words.  I'd expect that if it ends up being
      successful, and new sparse releases end up having this new attribute,
      we'll migrate the old-style '__cond_lock()' users to use the new-style
      '__cond_acquires' function attribute.
      
      The actual experimental sparse patch was posted in [3].
      
      Link: https://lore.kernel.org/all/20130930134434.GC12926@twins.programming.kicks-ass.net/ [1]
      Link: https://lore.kernel.org/all/Yr60tWxN4P568x3W@worktop.programming.kicks-ass.net/ [2]
      Link: https://lore.kernel.org/all/CAHk-=wjZfO9hGqJ2_hGQG3U_XzSh9_XaXze=HgPdvJbgrvASfA@mail.gmail.com/ [3]
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: Alexander Aring <aahringo@redhat.com>
      Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4a557a5d
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.19-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 20855e4c
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "This fixes some stalling problems and corrects the last of the
        problems (I hope) observed during testing of the new atomic xattr
        update feature.
      
         - Fix statfs blocking on background inode gc workers
      
         - Fix some broken inode lock assertion code
      
         - Fix xattr leaf buffer leaks when cancelling a deferred xattr update
           operation
      
         - Clean up xattr recovery to make it easier to understand.
      
         - Fix xattr leaf block verifiers tripping over empty blocks.
      
         - Remove complicated and error prone xattr leaf block bholding mess.
      
         - Fix a bug where an rt extent crossing EOF was treated as "posteof"
           blocks and cleaned unnecessarily.
      
         - Fix a UAF when log shutdown races with unmount"
      
      * tag 'xfs-5.19-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: prevent a UAF when log IO errors race with unmount
        xfs: dont treat rt extents beyond EOF as eofblocks to be cleared
        xfs: don't hold xattr leaf buffers across transaction rolls
        xfs: empty xattr leaf header blocks are not corruption
        xfs: clean up the end of xfs_attri_item_recover
        xfs: always free xattri_leaf_bp when cancelling a deferred op
        xfs: use invalidate_lock to check the state of mmap_lock
        xfs: factor out the common lock flags assert
        xfs: introduce xfs_inodegc_push()
        xfs: bound maximum wait time for inodegc work
      20855e4c
  9. Jul 03, 2022
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 69cb6c65
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
       "Notable regression fixes:
      
         - Fix NFSD crash during NFSv4.2 READ_PLUS operation
      
         - Fix incorrect status code returned by COMMIT operation"
      
      * tag 'nfsd-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        SUNRPC: Fix READ_PLUS crasher
        NFSD: restore EINVAL error translation in nfsd_commit()
      69cb6c65
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/parisc-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 34074da5
      Linus Torvalds authored
      Pull parisc architecture fixes from Helge Deller:
       "Two important fixes for bugs in code which was added in 5.18:
      
         - Fix userspace signal failures on 32-bit kernel due to a bug in vDSO
      
         - Fix 32-bit load-word unalignment exception handler which returned
           wrong values"
      
      * tag 'for-5.19/parisc-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix vDSO signal breakage on 32-bit kernel
        parisc/unaligned: Fix emulate_ldw() breakage
      34074da5
    • Helge Deller's avatar
      parisc: Fix vDSO signal breakage on 32-bit kernel · aa78fa90
      Helge Deller authored
      
      
      Addition of vDSO support for parisc in kernel v5.18 suddenly broke glibc
      signal testcases on a 32-bit kernel.
      
      The trampoline code (sigtramp.S) which is mapped into userspace includes
      an offset to the context data on the stack, which is used by gdb and
      glibc to get access to registers.
      
      In a 32-bit kernel we used by mistake the offset into the compat context
      (which is valid on a 64-bit kernel only) instead of the offset into the
      "native" 32-bit context.
      
      Reported-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Tested-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Fixes: 	df24e178
      
       ("parisc: Add vDSO support")
      CC: stable@vger.kernel.org # 5.18
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      aa78fa90
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.19-2022-07-02' of... · bb7c5126
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.19-2022-07-02' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - BPF program info linear (BPIL) data is accessed assuming 64-bit
         alignment resulting in undefined behavior as the data is just byte
         aligned. Fix it, Found using -fsanitize=undefined.
      
       - Fix 'perf offcpu' build on old kernels wrt task_struct's
         state/__state field.
      
       - Fix perf_event_attr.sample_type setting on the 'offcpu-time' event
         synthesized by the 'perf offcpu' tool.
      
       - Don't bail out when synthesizing PERF_RECORD_ events for pre-existing
         threads when one goes away while parsing its procfs entries.
      
       - Don't sort the task scan result from /proc, its not needed and
         introduces bugs when the main thread isn't the first one to be
         processed.
      
       - Fix uninitialized 'offset' variable on aarch64 in the unwind code.
      
       - Sync KVM headers with the kernel sources.
      
      * tag 'perf-tools-fixes-for-v5.19-2022-07-02' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf synthetic-events: Ignore dead threads during event synthesis
        perf synthetic-events: Don't sort the task scan result from /proc
        perf unwind: Fix unitialized 'offset' variable on aarch64
        tools headers UAPI: Sync linux/kvm.h with the kernel sources
        perf bpf: 8 byte align bpil data
        tools kvm headers arm64: Update KVM headers from the kernel sources
        perf offcpu: Accept allowed sample types only
        perf offcpu: Fix build failure on old kernels
      bb7c5126
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 5411de07
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix BPF uapi confusion about the correct type of bpf_user_pt_regs_t.
      
       - Fix virt_addr_valid() when memory is hotplugged above the boot-time
         high_memory value.
      
       - Fix a bug in 64-bit Book3E map_kernel_page() which would incorrectly
         allocate a PMD page at PUD level.
      
       - Fix a couple of minor issues found since we enabled KASAN for 64-bit
         Book3S.
      
      Thanks to Aneesh Kumar K.V, Cédric Le Goater, Christophe Leroy, Kefeng
      Wang, Liam Howlett, Nathan Lynch, and Naveen N. Rao.
      
      * tag 'powerpc-5.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/memhotplug: Add add_pages override for PPC
        powerpc/bpf: Fix use of user_pt_regs in uapi
        powerpc/prom_init: Fix kernel config grep
        powerpc/book3e: Fix PUD allocation size in map_kernel_page()
        powerpc/xive/spapr: correct bitmap allocation size
      5411de07
  10. Jul 02, 2022
    • Namhyung Kim's avatar
      perf synthetic-events: Ignore dead threads during event synthesis · ff898552
      Namhyung Kim authored
      
      
      When it synthesize various task events, it scans the list of task
      first and then accesses later.  There's a window threads can die
      between the two and proc entries may not be available.
      
      Instead of bailing out, we can ignore that thread and move on.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220701205458.985106-2-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ff898552
    • Namhyung Kim's avatar
      perf synthetic-events: Don't sort the task scan result from /proc · 363afa3a
      Namhyung Kim authored
      
      
      It should not sort the result as procfs already returns a proper
      ordering of tasks.  Actually sorting the order caused problems that it
      doesn't guararantee to process the main thread first.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220701205458.985106-1-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      363afa3a
    • Ivan Babrou's avatar
      perf unwind: Fix unitialized 'offset' variable on aarch64 · 5eb502b2
      Ivan Babrou authored
      Commit dc2cf4ca ("perf unwind: Fix segbase for ld.lld linked
      objects") uncovered the following issue on aarch64:
      
          util/unwind-libunwind-local.c: In function 'find_proc_info':
          util/unwind-libunwind-local.c:386:28: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          386 |                         if (ofs > 0) {
              |                            ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          util/unwind-libunwind-local.c:371:20: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          371 |                 if (ofs <= 0) {
              |                    ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          util/unwind-libunwind-local.c:363:20: error: 'offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
          363 |                 if (ofs <= 0) {
              |                    ^
          util/unwind-libunwind-local.c:199:22: note: 'offset' was declared here
          199 |         u64 address, offset;
              |                      ^~~~~~
          In file included from util/libunwind/arm64.c:37:
      
      Fixes: dc2cf4ca
      
       ("perf unwind: Fix segbase for ld.lld linked objects")
      Signed-off-by: default avatarIvan Babrou <ivan@cloudflare.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Fangrui Song <maskray@google.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: kernel-team@cloudflare.com
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220701182046.12589-1-ivan@cloudflare.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5eb502b2
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-fixes-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 08986606
      Linus Torvalds authored
      Pull libnvdimm fix from Vishal Verma:
      
       - Fix a bug in the libnvdimm 'BTT' (Block Translation Table) driver
         where accounting for poison blocks to be cleared was off by one,
         causing a failure to clear the the last badblock in an nvdimm region.
      
      * tag 'libnvdimm-fixes-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nvdimm: Fix badblocks clear off-by-one error
      08986606
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1ce8c443
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Add a new CPU ID to the list of supported processors in the
        intel_tcc_cooling driver (Sumeet Pawnikar)"
      
      * tag 'thermal-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: intel_tcc_cooling: Add TCC cooling support for RaptorLake
      1ce8c443
    • Linus Torvalds's avatar
      Merge tag 'pm-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9ee78276
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix some issues in cpufreq drivers and some issues in devfreq:
      
         - Fix error code path issues related PROBE_DEFER handling in devfreq
           (Christian Marangi)
      
         - Revert an editing accident in SPDX-License line in the devfreq
           passive governor (Lukas Bulwahn)
      
         - Fix refcount leak in of_get_devfreq_events() in the exynos-ppmu
           devfreq driver (Miaoqian Lin)
      
         - Use HZ_PER_KHZ macro in the passive devfreq governor (Yicong Yang)
      
         - Fix missing of_node_put for qoriq and pmac32 driver (Liang He)
      
         - Fix issues around throttle interrupt for qcom driver (Stephen Boyd)
      
         - Add MT8186 to cpufreq-dt-platdev blocklist (AngeloGioacchino Del
           Regno)
      
         - Make amd-pstate enable CPPC on resume from S3 (Jinzhou Su)"
      
      * tag 'pm-5.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / devfreq: passive: revert an editing accident in SPDX-License line
        PM / devfreq: Fix kernel warning with cpufreq passive register fail
        PM / devfreq: Rework freq_table to be local to devfreq struct
        PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events
        PM / devfreq: passive: Use HZ_PER_KHZ macro in units.h
        PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
        PM / devfreq: Mute warning on governor PROBE_DEFER
        PM / devfreq: Fix kernel panic with cpu based scaling to passive gov
        cpufreq: Add MT8186 to cpufreq-dt-platdev blocklist
        cpufreq: pmac32-cpufreq: Fix refcount leak bug
        cpufreq: qcom-hw: Don't do lmh things without a throttle interrupt
        drivers: cpufreq: Add missing of_node_put() in qoriq-cpufreq.c
        cpufreq: amd-pstate: Add resume and suspend callbacks
      9ee78276