Skip to content
Permalink
Michael-T-Kloo…
Switch branches/tags

Commits on Jan 23, 2022

  1. Fixed: Misaligned memory access. Fixed pointer comparison.

    Rewrote the riscv memmove() assembly implementation.  The
    previous implementation did not check memory alignment and it
    compared 2 pointers with a signed comparison.  The misaligned
    memory access would cause the kernel to crash on systems that
    did not emulate it in firmware and did not support it in hardware.
    Firmware emulation is slow and may not exist.  Additionally,
    hardware support may not exist and would likely still run slower
    than aligned accesses even if it did.  The RISC-V spec does not
    guarantee that support for misaligned memory accesses will exist.
    It should not be depended on.
    
    This patch now checks for the maximum granularity of co-alignment
    between the pointers and copies them with that, using single-byte
    copy for any unaligned data at their terminations.  It also now uses
    unsigned comparison for the pointers.
    
    Added half-word and, if built for 64-bit, double-word copy.
    
    Migrated to the	newer assembler annotations from the now deprecated
    ones.
    
    Commit Message Edited on Jan 22 2022: Fixed some typos.
    
    [v2]
    
    Per kernel test robot, I have fixed the build under clang.  This
    was broken due to a difference between gcc and clang, clang requiring
    explict zero offsets the jalr instruction. gcc allowed them to be
    omitted if zero.
    
    While I was at it, I clarifed the comment for that line of code.
    
    I have fixed some typos in the v1 commit message, but left the 1st
    line as it was to allow the email thread to be followed.
    
    Signed-off-by: Michael T. Kloos <michael@michaelkloos.com>
    echelonxray authored and intel-lab-lkp committed Jan 23, 2022

Commits on Jan 22, 2022

  1. Merge branch 'akpm' (patches from Andrew)

    Merge yet more updates from Andrew Morton:
     "This is the post-linux-next queue. Material which was based on or
      dependent upon material which was in -next.
    
      69 patches.
    
      Subsystems affected by this patch series: mm (migration and zsmalloc),
      sysctl, proc, and lib"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (69 commits)
      mm: hide the FRONTSWAP Kconfig symbol
      frontswap: remove support for multiple ops
      mm: mark swap_lock and swap_active_head static
      frontswap: simplify frontswap_register_ops
      frontswap: remove frontswap_test
      mm: simplify try_to_unuse
      frontswap: remove the frontswap exports
      frontswap: simplify frontswap_init
      frontswap: remove frontswap_curr_pages
      frontswap: remove frontswap_shrink
      frontswap: remove frontswap_tmem_exclusive_gets
      frontswap: remove frontswap_writethrough
      mm: remove cleancache
      lib/stackdepot: always do filter_irq_stacks() in stack_depot_save()
      lib/stackdepot: allow optional init and stack_table allocation by kvmalloc()
      proc: remove PDE_DATA() completely
      fs: proc: store PDE()->data into inode->i_private
      zsmalloc: replace get_cpu_var with local_lock
      zsmalloc: replace per zpage lock with pool->migrate_lock
      locking/rwlocks: introduce write_lock_nested
      ...
    torvalds committed Jan 22, 2022
  2. Merge tag '5.17-rc-part2-smb3-fixes' of git://git.samba.org/sfrench/c…

    …ifs-2.6
    
    Pull cifs fixes from Steve French:
    
     - multichannel fixes, addressing additional reconnect and DFS scenarios
    
     - reenabling fscache support (indexing rewrite, metadata caching e.g.)
    
     - send additional version information during NTLMSSP negotiate to
       improve debugging
    
     - fix for a mount race
    
     - DFS fixes
    
     - fix for a memory leak for stable
    
    * tag '5.17-rc-part2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: update internal module number
      smb3: send NTLMSSP version information
      cifs: Support fscache indexing rewrite
      cifs: cifs_ses_mark_for_reconnect should also update reconnect bits
      cifs: update tcpStatus during negotiate and sess setup
      cifs: make status checks in version independent callers
      cifs: remove repeated state change in dfs tree connect
      cifs: fix the cifs_reconnect path for DFS
      cifs: remove unused variable ses_selected
      cifs: protect all accesses to chan_* with chan_lock
      cifs: fix the connection state transitions with multichannel
      cifs: check reconnects for channels of active tcons too
      smb3: add new defines from protocol specification
      cifs: serialize all mount attempts
      cifs: quirk for STATUS_OBJECT_NAME_INVALID returned for non-ASCII dfs refs
      cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty
      cifs: clean up an inconsistent indenting
      cifs: free ntlmsspblob allocated in negotiate
    torvalds committed Jan 22, 2022
  3. Merge tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fixes from Darrick Wong:
     "One of the patches removes some dead code from xfs_ioctl32.h and the
      other fixes broken workqueue flushing in the inode garbage collector.
    
       - Minor cleanup of ioctl32 cruft
    
       - Clean up open coded inodegc workqueue function calls"
    
    * tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      xfs: flush inodegc workqueue tasks before cancel
      xfs: remove unused xfs_ioctl32.h declarations
    torvalds committed Jan 22, 2022
  4. Merge tag 'fscache-fixes-20220121' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/dhowells/linux-fs
    
    Pull more fscache updates from David Howells:
     "A set of fixes and minor updates for the fscache rewrite:
    
       - Fix mishandling of volume collisions (the wait condition is
         inverted and so it was only waiting if the volume collision was
         already resolved).
    
       - Fix miscalculation of whether there's space available in
         cachefiles.
    
       - Make sure a default cache name is set on a cache if the user hasn't
         set one by the time they bind the cache.
    
       - Adjust the way the backing inode is presented in tracepoints, add a
         tracepoint for mkdir and trace directory lookup.
    
       - Add a tracepoint for failure to set the active file mark.
    
       - Add an explanation of the checks made on the backing filesystem.
    
       - Check that the backing filesystem supports tmpfile.
    
       - Document how the page-release cancellation of the read-skip
         optimisation works.
    
      And I've included a change for netfslib:
    
       - Make ops->init_rreq() optional"
    
    * tag 'fscache-fixes-20220121' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
      netfs: Make ops->init_rreq() optional
      fscache: Add a comment explaining how page-release optimisation works
      cachefiles: Check that the backing filesystem supports tmpfiles
      cachefiles: Explain checks in a comment
      cachefiles: Trace active-mark failure
      cachefiles: Make some tracepoint adjustments
      cachefiles: set default tag name if it's unspecified
      cachefiles: Calculate the blockshift in terms of bytes, not pages
      fscache: Fix the volume collision wait condition
    torvalds committed Jan 22, 2022
  5. Merge tag 'folio-5.17a' of git://git.infradead.org/users/willy/pagecache

    Pull more folio updates from Matthew Wilcox:
     "Three small folio patches.
    
      One bug fix, one patch pulled forward from the patches destined for
      5.18 and then a patch to make use of that functionality"
    
    * tag 'folio-5.17a' of git://git.infradead.org/users/willy/pagecache:
      filemap: Use folio_put_refs() in filemap_free_folio()
      mm: Add folio_put_refs()
      pagevec: Initialise folio_batch->percpu_pvec_drained
    torvalds committed Jan 22, 2022
  6. Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/jejb/scsi
    
    Pull more SCSI updates from James Bottomley:
     "This series is all the stragglers that didn't quite make the first
      merge window pull. It's mostly minor updates and bug fixes of merge
      window code"
    
    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: nsp_cs: Check of ioremap return value
      scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl()
      scsi: ufs: Modify Tactive time setting conditions
      scsi: efct: Remove useless DMA-32 fallback configuration
      scsi: message: fusion: mptctl: Use dma_alloc_coherent()
      scsi: message: fusion: mptsas: Use dma_alloc_coherent()
      scsi: message: fusion: Use dma_alloc_coherent() in mptsas_exp_repmanufacture_info()
      scsi: message: fusion: mptbase: Use dma_alloc_coherent()
      scsi: message: fusion: Use dma_alloc_coherent() in mpt_alloc_fw_memory()
      scsi: message: fusion: Remove usage of the deprecated "pci-dma-compat.h" API
      scsi: megaraid: Avoid mismatched storage type sizes
      scsi: hisi_sas: Remove unused variable and check in hisi_sas_send_ata_reset_each_phy()
      scsi: aic79xx: Remove redundant error variable
      scsi: pm80xx: Port reset timeout error handling correction
      scsi: mpi3mr: Fix formatting problems in some kernel-doc comments
      scsi: mpi3mr: Fix some spelling mistakes
      scsi: mpt3sas: Update persistent trigger pages from sysfs interface
      scsi: core: Fix scsi_mode_select() interface
      scsi: aacraid: Fix spelling of "its"
      scsi: qedf: Fix potential dereference of NULL pointer
    torvalds committed Jan 22, 2022
  7. Merge tag 'ata-5.17-rc1-part2' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/dlemoal/libata
    
    Pull ATA fix from Damien Le Moal:
     "A single patch to fix a compilation error in the pata_octeon_cf driver
      (mips architecture), from me"
    
    * tag 'ata-5.17-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
      ata: pata_octeon_cf: fix call to trace_ata_bmdma_stop()
    torvalds committed Jan 22, 2022
  8. Merge tag 'thermal-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/rafael/linux-pm
    
    Pull more thermal control updates from Rafael Wysocki:
     "Add device IDs for Raptor Lake to the int340x thermal control driver
      (Srinivas Pandruvada)"
    
    * tag 'thermal-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      thermal: int340x: Add Raptor Lake PCI device id
      thermal: int340x: Support Raptor Lake
    torvalds committed Jan 22, 2022
  9. Merge tag 'acpi-5.17-rc1-3' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/rafael/linux-pm
    
    Pull extra ACPI updates from Rafael Wysocki:
     "These fix and clean up the ACPI CPPC driver on top of the recent
      changes in it merged previously and add some new device IDs to the
      ACPI DPTF driver.
    
      Specifics:
    
       - Fix a recently introduced endianness-related issue in the ACPI CPPC
         library and clean it up on top of that (Rafael Wysocki)
    
       - Add new device IDs for the Raptor Lake SoC to the ACPI DPTF driver
         (Srinivas Pandruvada)"
    
    * tag 'acpi-5.17-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI: DPTF: Support Raptor Lake
      ACPI: CPPC: Drop redundant local variable from cpc_read()
      ACPI: CPPC: Fix up I/O port access in cpc_read()
    torvalds committed Jan 22, 2022
  10. Merge tag 'devicetree-fixes-for-5.17-1' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes and cleanups from Rob Herring:
    
     - Fix a regression when probing a child device reusing the parent
       device's DT node pointer
    
     - Refactor of_parse_phandle*() variants to static inlines
    
     - Drop Enric Balletbo i Serra as a maintainer
    
     - Fix DT schemas with arrays incorrectly encoded as a matrix
    
     - Drop unneeded pinctrl properties from schemas
    
     - Add SPI peripheral schema to SPI based displays
    
     - Clean-up several schema examples
    
     - Clean-up trivial-devices.yaml comments
    
     - Add missing, in use vendor prefixes: Wingtech, Thundercomm, Huawei,
       F(x)tec, 8devices
    
    * tag 'devicetree-fixes-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      dt-bindings: google,cros-ec: drop Enric Balletbo i Serra from maintainers
      dt-bindings: display: bridge: drop Enric Balletbo i Serra from maintainers
      of: Check 'of_node_reused' flag on of_match_device()
      of: property: define of_property_read_u{8,16,32,64}_array() unconditionally
      of: base: make small of_parse_phandle() variants static inline
      dt-bindings: mfd: cirrus,madera: Fix 'interrupts' in example
      dt-bindings: Fix array schemas encoded as matrices
      dt-bindings: Drop unnecessary pinctrl properties
      dt-bindings: rtc: st,stm32-rtc: Make each example a separate entry
      dt-bindings: mmc: arm,pl18x: Make each example a separate entry
      dt-bindings: display: Add SPI peripheral schema to SPI based displays
      scripts/dtc: dtx_diff: remove broken example from help text
      dt-bindings: trivial-devices: fix double spaces in comments
      dt-bindings: trivial-devices: fix swapped comments
      dt-bindings: vendor-prefixes: add Wingtech
      dt-bindings: vendor-prefixes: add Thundercomm
      dt-bindings: vendor-prefixes: add Huawei
      dt-bindings: vendor-prefixes: add F(x)tec
      dt-bindings: vendor-prefixes: add 8devices
      dt-bindings: power: reset: gpio-restart: Correct default priority
    torvalds committed Jan 22, 2022
  11. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

    Pull more kvm updates from Paolo Bonzini:
     "Generic:
    
       - selftest compilation fix for non-x86
    
       - KVM: avoid warning on s390 in mark_page_dirty
    
     x86:
    
       - fix page write-protection bug and improve comments
    
       - use binary search to lookup the PMU event filter, add test
    
       - enable_pmu module parameter support for Intel CPUs
    
       - switch blocked_vcpu_on_cpu_lock to raw spinlock
    
       - cleanups of blocked vCPU logic
    
       - partially allow KVM_SET_CPUID{,2} after KVM_RUN (5.16 regression)
    
       - various small fixes"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (46 commits)
      docs: kvm: fix WARNINGs from api.rst
      selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c
      selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c
      kvm: selftests: Do not indent with spaces
      kvm: selftests: sync uapi/linux/kvm.h with Linux header
      selftests: kvm: add amx_test to .gitignore
      KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled
      KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops
      KVM: SVM: Drop AVIC's intermediate avic_set_running() helper
      KVM: VMX: Don't do full kick when handling posted interrupt wakeup
      KVM: VMX: Fold fallback path into triggering posted IRQ helper
      KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ
      KVM: VMX: Don't do full kick when triggering posted interrupt "fails"
      KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU
      KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption
      KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path
      KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs
      KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode
      KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks
      KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers
      ...
    torvalds committed Jan 22, 2022
  12. Merge tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/deller/parisc-linux
    
    Pull more parisc architecture updates from Helge Deller:
     "Fixes and enhancements:
    
       - a memory leak fix in an error path in pdc_stable (Miaoqian Lin)
    
       - two compiler warning fixes in the TOC code
    
       - added autodetection for currently used console type (serial or
         graphics) which inserts console=<type> if it's missing"
    
    * tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
      parisc: Fix missing prototype for 'toc_intr' warning in toc.c
      parisc: Autodetect default output device and set console= kernel parameter
      parisc: Use safer strscpy() in setup_cmdline()
      parisc: Add visible flag to toc_stack variable
    torvalds committed Jan 22, 2022
  13. Merge tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull more RISC-V updates from Palmer Dabbelt:
    
     - Support for sv48 paging
    
     - Hart ID mappings are now sparse, which enables more CPUs to come up
       on systems with sparse hart IDs
    
     - A handful of cleanups and fixes
    
    * tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (27 commits)
      RISC-V: nommu_virt: Drop unused SLAB_MERGE_DEFAULT
      RISC-V: Remove redundant err variable
      riscv: dts: sifive unmatched: Add gpio poweroff
      riscv: canaan: remove useless select of non-existing config SYSCON
      RISC-V: Do not use cpumask data structure for hartid bitmap
      RISC-V: Move spinwait booting method to its own config
      RISC-V: Move the entire hart selection via lottery to SMP
      RISC-V: Use __cpu_up_stack/task_pointer only for spinwait method
      RISC-V: Do not print the SBI version during HSM extension boot print
      RISC-V: Avoid using per cpu array for ordered booting
      riscv: default to CONFIG_RISCV_SBI_V01=n
      riscv: fix boolconv.cocci warnings
      riscv: Explicit comment about user virtual address space size
      riscv: Use pgtable_l4_enabled to output mmu_type in cpuinfo
      riscv: Implement sv48 support
      asm-generic: Prepare for riscv use of pud_alloc_one and pud_free
      riscv: Allow to dynamically define VA_BITS
      riscv: Introduce functions to switch pt_ops
      riscv: Split early kasan mapping to prepare sv48 introduction
      riscv: Move KASAN mapping next to the kernel mapping
      ...
    torvalds committed Jan 22, 2022
  14. Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/arm64/linux
    
    Pull arm64 fixes/cleanups from Catalin Marinas:
     "Some fixes that turned up during the merge window:
    
       - Add brackets to the io_stop_wc macro
    
       - Avoid -Warray-bounds warning with the LSE atomics inline asm
    
       - Apply __ro_after_init to memory_limit"
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: mm: apply __ro_after_init to memory_limit
      arm64: atomics: lse: Dereference matching size
      asm-generic: Add missing brackets for io_stop_wc macro
    torvalds committed Jan 22, 2022
  15. Merge tag 'docs-5.17-2' of git://git.lwn.net/linux

    Pull documentation fixes from Jonathan Corbet:
     "Three small documentation fixes"
    
    * tag 'docs-5.17-2' of git://git.lwn.net/linux:
      Documentation: fix firewire.rst ABI file path error
      docs: ftrace: fix ambiguous sentence
      docs: staging/tee.rst: fix two typos found while reading
    torvalds committed Jan 22, 2022
  16. mm: hide the FRONTSWAP Kconfig symbol

    Select FRONTSWAP from ZSWAP instead of prompting for it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-14-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  17. frontswap: remove support for multiple ops

    There is only a single instance of frontswap ops in the kernel, so
    simplify the frontswap code by removing support for multiple operations.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-13-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  18. mm: mark swap_lock and swap_active_head static

    swap_lock and swap_active_head are only used in swapfile.c, so mark them
    static.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-12-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  19. frontswap: simplify frontswap_register_ops

    Given that frontswap_register_ops must be called from built-in code,
    there is no need to handle the case of swapfiles coming online before or
    during it, so delete the code that deals with that case.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-11-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  20. frontswap: remove frontswap_test

    frontswap_test is unused now, remove it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-10-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  21. mm: simplify try_to_unuse

    Remove the unused frontswap and pages_to_unuse arguments, and mark the
    function static now that the caller in frontswap is gone.
    
    [akpm@linux-foundation.org: fix shmem_unuse() stub, per Matthew]
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-9-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  22. frontswap: remove the frontswap exports

    None of the frontswap API is called from modular code.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-8-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  23. frontswap: simplify frontswap_init

    Just use IS_ENABLED() and remove the __frontswap_init indirection.
    
    Also remove the unused export.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-7-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  24. frontswap: remove frontswap_curr_pages

    frontswap_curr_pages is never called, so remove it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-6-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  25. frontswap: remove frontswap_shrink

    frontswap_shrink is never called, so remove it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-5-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  26. frontswap: remove frontswap_tmem_exclusive_gets

    frontswap_tmem_exclusive_gets is never called, so remove it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-4-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  27. frontswap: remove frontswap_writethrough

    frontswap_writethrough is never called, so remove it.
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-3-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  28. mm: remove cleancache

    Patch series "remove Xen tmem leftovers".
    
    Since the removal of the Xen tmem driver in 2019, the cleancache hooks
    are entirely unused, as are large parts of frontswap.  This series
    against linux-next (with the folio changes included) removes
    cleancaches, and cuts down frontswap to the bits actually used by zswap.
    
    This patch (of 13):
    
    The cleancache subsystem is unused since the removal of Xen tmem driver
    in commit 814bbf4 ("xen: remove tmem driver").
    
    [akpm@linux-foundation.org: remove now-unreachable code]
    
    Link: https://lkml.kernel.org/r/20211224062246.1258487-1-hch@lst.de
    Link: https://lkml.kernel.org/r/20211224062246.1258487-2-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Konrad Rzeszutek Wilk <Konrad.wilk@oracle.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Seth Jennings <sjenning@redhat.com>
    Cc: Dan Streetman <ddstreet@ieee.org>
    Cc: Vitaly Wool <vitaly.wool@konsulko.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Christoph Hellwig authored and torvalds committed Jan 22, 2022
  29. lib/stackdepot: always do filter_irq_stacks() in stack_depot_save()

    The non-interrupt portion of interrupt stack traces before interrupt
    entry is usually arbitrary.  Therefore, saving stack traces of
    interrupts (that include entries before interrupt entry) to stack depot
    leads to unbounded stackdepot growth.
    
    As such, use of filter_irq_stacks() is a requirement to ensure
    stackdepot can efficiently deduplicate interrupt stacks.
    
    Looking through all current users of stack_depot_save(), none (except
    KASAN) pass the stack trace through filter_irq_stacks() before passing
    it on to stack_depot_save().
    
    Rather than adding filter_irq_stacks() to all current users of
    stack_depot_save(), it became clear that stack_depot_save() should
    simply do filter_irq_stacks().
    
    Link: https://lkml.kernel.org/r/20211130095727.2378739-1-elver@google.com
    Signed-off-by: Marco Elver <elver@google.com>
    Reviewed-by: Alexander Potapenko <glider@google.com>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Vijayanand Jitta <vjitta@codeaurora.org>
    Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
    Cc: Imran Khan <imran.f.khan@oracle.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    melver authored and torvalds committed Jan 22, 2022
  30. lib/stackdepot: allow optional init and stack_table allocation by kvm…

    …alloc()
    
    Currently, enabling CONFIG_STACKDEPOT means its stack_table will be
    allocated from memblock, even if stack depot ends up not actually used.
    The default size of stack_table is 4MB on 32-bit, 8MB on 64-bit.
    
    This is fine for use-cases such as KASAN which is also a config option
    and has overhead on its own.  But it's an issue for functionality that
    has to be actually enabled on boot (page_owner) or depends on hardware
    (GPU drivers) and thus the memory might be wasted.  This was raised as
    an issue [1] when attempting to add stackdepot support for SLUB's debug
    object tracking functionality.  It's common to build kernels with
    CONFIG_SLUB_DEBUG and enable slub_debug on boot only when needed, or
    create only specific kmem caches with debugging for testing purposes.
    
    It would thus be more efficient if stackdepot's table was allocated only
    when actually going to be used.  This patch thus makes the allocation
    (and whole stack_depot_init() call) optional:
    
     - Add a CONFIG_STACKDEPOT_ALWAYS_INIT flag to keep using the current
       well-defined point of allocation as part of mem_init(). Make
       CONFIG_KASAN select this flag.
    
     - Other users have to call stack_depot_init() as part of their own init
       when it's determined that stack depot will actually be used. This may
       depend on both config and runtime conditions. Convert current users
       which are page_owner and several in the DRM subsystem. Same will be
       done for SLUB later.
    
     - Because the init might now be called after the boot-time memblock
       allocation has given all memory to the buddy allocator, change
       stack_depot_init() to allocate stack_table with kvmalloc() when
       memblock is no longer available. Also handle allocation failure by
       disabling stackdepot (could have theoretically happened even with
       memblock allocation previously), and don't unnecessarily align the
       memblock allocation to its own size anymore.
    
    [1] https://lore.kernel.org/all/CAMuHMdW=eoVzM1Re5FVoEN87nKfiLmM2+Ah7eNu2KXEhCvbZyA@mail.gmail.com/
    
    Link: https://lkml.kernel.org/r/20211013073005.11351-1-vbabka@suse.cz
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Acked-by: Dmitry Vyukov <dvyukov@google.com>
    Reviewed-by: Marco Elver <elver@google.com> # stackdepot
    Cc: Marco Elver <elver@google.com>
    Cc: Vijayanand Jitta <vjitta@codeaurora.org>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Maxime Ripard <mripard@kernel.org>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Oliver Glitta <glittao@gmail.com>
    Cc: Imran Khan <imran.f.khan@oracle.com>
    From: Colin Ian King <colin.king@canonical.com>
    Subject: lib/stackdepot: fix spelling mistake and grammar in pr_err message
    
    There is a spelling mistake of the work allocation so fix this and
    re-phrase the message to make it easier to read.
    
    Link: https://lkml.kernel.org/r/20211015104159.11282-1-colin.king@canonical.com
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    From: Vlastimil Babka <vbabka@suse.cz>
    Subject: lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup
    
    On FLATMEM, we call page_ext_init_flatmem_late() just before
    kmem_cache_init() which means stack_depot_init() (called by page owner
    init) will not recognize properly it should use kvmalloc() and not
    memblock_alloc().  memblock_alloc() will also not issue a warning and
    return a block memory that can be invalid and cause kernel page fault when
    saving stacks, as reported by the kernel test robot [1].
    
    Fix this by moving page_ext_init_flatmem_late() below kmem_cache_init() so
    that slab_is_available() is true during stack_depot_init().  SPARSEMEM
    doesn't have this issue, as it doesn't do page_ext_init_flatmem_late(),
    but a different page_ext_init() even later in the boot process.
    
    Thanks to Mike Rapoport for pointing out the FLATMEM init ordering issue.
    
    While at it, also actually resolve a checkpatch warning in stack_depot_init()
    from DRM CI, which was supposed to be in the original patch already.
    
    [1] https://lore.kernel.org/all/20211014085450.GC18719@xsang-OptiPlex-9020/
    
    Link: https://lkml.kernel.org/r/6abd9213-19a9-6d58-cedc-2414386d2d81@suse.cz
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Reported-by: kernel test robot <oliver.sang@intel.com>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    From: Vlastimil Babka <vbabka@suse.cz>
    Subject: lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup3
    
    Due to cd06ab2 ("drm/locking: add backtrace for locking contended
    locks without backoff") landing recently to -next adding a new stack depot
    user in drivers/gpu/drm/drm_modeset_lock.c we need to add an appropriate
    call to stack_depot_init() there as well.
    
    Link: https://lkml.kernel.org/r/2a692365-cfa1-64f2-34e0-8aa5674dce5e@suse.cz
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
    Cc: Marco Elver <elver@google.com>
    Cc: Vijayanand Jitta <vjitta@codeaurora.org>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Maxime Ripard <mripard@kernel.org>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Oliver Glitta <glittao@gmail.com>
    Cc: Imran Khan <imran.f.khan@oracle.com>
    Cc: Stephen Rothwell <sfr@canb.auug.org.au>
    From: Vlastimil Babka <vbabka@suse.cz>
    Subject: lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() - fixup4
    
    Due to 4e66934 ("lib: add reference counting tracking
    infrastructure") landing recently to net-next adding a new stack depot
    user in lib/ref_tracker.c we need to add an appropriate call to
    stack_depot_init() there as well.
    
    Link: https://lkml.kernel.org/r/45c1b738-1a2f-5b5f-2f6d-86fab206d01c@suse.cz
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Cc: Jiri Slab <jirislaby@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    tehcaster authored and torvalds committed Jan 22, 2022
  31. proc: remove PDE_DATA() completely

    Remove PDE_DATA() completely and replace it with pde_data().
    
    [akpm@linux-foundation.org: fix naming clash in drivers/nubus/proc.c]
    [akpm@linux-foundation.org: now fix it properly]
    
    Link: https://lkml.kernel.org/r/20211124081956.87711-2-songmuchun@bytedance.com
    Signed-off-by: Muchun Song <songmuchun@bytedance.com>
    Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Alexey Gladkov <gladkov.alexey@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Muchun Song authored and torvalds committed Jan 22, 2022
  32. fs: proc: store PDE()->data into inode->i_private

    PDE_DATA(inode) is introduced to get user private data and hide the
    layout of struct proc_dir_entry.  The inode->i_private is used to do the
    same thing as well.  Save a copy of user private data to inode->
    i_private when proc inode is allocated.  This means the user also can
    get their private data by inode->i_private.
    
    Introduce pde_data() to wrap inode->i_private so that we can remove
    PDE_DATA() from fs/proc/generic.c and make PTE_DATE() as a wrapper of
    pde_data().  It will be easier if we decide to remove PDE_DATE() in the
    future.
    
    Link: https://lkml.kernel.org/r/20211124081956.87711-1-songmuchun@bytedance.com
    Signed-off-by: Muchun Song <songmuchun@bytedance.com>
    Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Alexey Gladkov <gladkov.alexey@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Muchun Song authored and torvalds committed Jan 22, 2022
  33. zsmalloc: replace get_cpu_var with local_lock

    The usage of get_cpu_var() in zs_map_object() is problematic because it
    disables preemption and makes it impossible to acquire any sleeping lock
    on PREEMPT_RT such as a spinlock_t.
    
    Replace the get_cpu_var() usage with a local_lock_t which is embedded
    struct mapping_area.  It ensures that the access the struct is
    synchronized against all users on the same CPU.
    
    [minchan: remove the bit_spin_lock part and change the title]
    
    Link: https://lkml.kernel.org/r/20211115185909.3949505-10-minchan@kernel.org
    Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Minchan Kim <minchan@kernel.org>
    Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    umgwanakikbuti authored and torvalds committed Jan 22, 2022
  34. zsmalloc: replace per zpage lock with pool->migrate_lock

    The zsmalloc has used a bit for spin_lock in zpage handle to keep zpage
    object alive during several operations.  However, it causes the problem
    for PREEMPT_RT as well as introducing too complicated.
    
    This patch replaces the bit spin_lock with pool->migrate_lock rwlock.
    It could make the code simple as well as zsmalloc work under PREEMPT_RT.
    
    The drawback is the pool->migrate_lock is bigger granuarity than per
    zpage lock so the contention would be higher than old when both
    IO-related operations(i.e., zsmalloc, zsfree, zs_[map|unmap]) and
    compaction(page/zpage migration) are going in parallel(*, the
    migrate_lock is rwlock and IO related functions are all read side lock
    so there is no contention).  However, the write-side is fast
    enough(dominant overhead is just page copy) so it wouldn't affect much.
    If the lock granurity becomes more problem later, we could introduce
    table locks based on handle as a hash value.
    
    Link: https://lkml.kernel.org/r/20211115185909.3949505-9-minchan@kernel.org
    Signed-off-by: Minchan Kim <minchan@kernel.org>
    Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    minchank authored and torvalds committed Jan 22, 2022
Older