Skip to content
Permalink
Hannes-Reineck…
Switch branches/tags

Commits on Sep 10, 2021

  1. nvmet-auth: expire authentication sessions

    Each authentication step is required to be completed within the
    KATO interval (or two minutes if not set). So add a workqueue function
    to reset the transaction ID and the expected next protocol step;
    this will automatically the next authentication command referring
    to the terminated authentication.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  2. nvmet-auth: Diffie-Hellman key exchange support

    Implement Diffie-Hellman key exchange using FFDHE groups for NVMe
    In-Band Authentication.
    This patch adds a new host configfs attribute 'dhchap_dhgroup' to
    select the FFDHE group to use.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  3. nvmet: Implement basic In-Band Authentication

    Implement NVMe-oF In-Band authentication according to NVMe TPAR 8006.
    This patch adds two additional configfs entries 'dhchap_key' and 'dhchap_hash'
    to the 'host' configfs directory. The 'dhchap_key' needs to be
    in the ASCII format as specified in NVMe 2.0 section 8.13.5.8 'Secret
    representation'.
    'dhchap_hash' is taken from the hash specified in the ASCII
    representation of the key, or defaults to 'hmac(sha256)' if no
    key transformation has been specified.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  4. nvmet: Parse fabrics commands on all queues

    Fabrics commands might be sent to all queues, not just the admin one.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  5. nvme-auth: Diffie-Hellman key exchange support

    Implement Diffie-Hellman key exchange using FFDHE groups
    for NVMe In-Band Authentication.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  6. nvme: Implement In-Band authentication

    Implement NVMe-oF In-Band authentication according to NVMe TPAR 8006.
    This patch adds two new fabric options 'dhchap_secret' to specify the
    pre-shared key (in ASCII respresentation according to NVMe 2.0 section
    8.13.5.8 'Secret representation') and 'dhchap_bidi' to request bi-directional
    authentication of both the host and the controller.
    Re-authentication can be triggered by writing the PSK into the new
    controller sysfs attribute 'dhchap_secret'.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  7. nvme-fabrics: decode 'authentication required' connect error

    The 'connect' command might fail with NVME_SC_AUTH_REQUIRED, so we
    should be decoding this error, too.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  8. nvme: add definitions for NVMe In-Band authentication

    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  9. lib/base64: RFC4648-compliant base64 encoding

    Add RFC4648-compliant base64 encoding and decoding routines, based on
    the base64url encoding in fs/crypto/fname.c.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  10. crypto/ffdhe: Finite Field DH Ephemeral Parameters

    Add helper functions to generaten Finite Field DH Ephemeral Parameters as
    specified in RFC 7919.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  11. crypto: add crypto_has_kpp()

    Add helper function to determine if a given key-agreement protocol primitive is supported.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021
  12. crypto: add crypto_has_shash()

    Add helper function to determine if a given synchronous hash is supported.
    
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    hreinecke authored and intel-lab-lkp committed Sep 10, 2021

Commits on Sep 9, 2021

  1. Merge tag '5.15-rc-ksmbd-part2' of git://git.samba.org/ksmbd

    Pull ksmbd fixes from Steve French:
    
     - various fixes pointed out by coverity, and a minor cleanup patch
    
     - id mapping and ownership fixes
    
     - an smbdirect fix
    
    * tag '5.15-rc-ksmbd-part2' of git://git.samba.org/ksmbd:
      ksmbd: fix control flow issues in sid_to_id()
      ksmbd: fix read of uninitialized variable ret in set_file_basic_info
      ksmbd: add missing assignments to ret on ndr_read_int64 read calls
      ksmbd: add validation for ndr read/write functions
      ksmbd: remove unused ksmbd_file_table_flush function
      ksmbd: smbd: fix dma mapping error in smb_direct_post_send_data
      ksmbd: Reduce error log 'speed is unknown' to debug
      ksmbd: defer notify_change() call
      ksmbd: remove setattr preparations in set_file_basic_info()
      ksmbd: ensure error is surfaced in set_file_basic_info()
      ndr: fix translation in ndr_encode_posix_acl()
      ksmbd: fix translation in sid_to_id()
      ksmbd: fix subauth 0 handling in sid_to_id()
      ksmbd: fix translation in acl entries
      ksmbd: fix translation in ksmbd_acls_fattr()
      ksmbd: fix translation in create_posix_rsp_buf()
      ksmbd: fix translation in smb2_populate_readdir_entry()
      ksmbd: fix lookup on idmapped mounts
    torvalds committed Sep 9, 2021
  2. Merge tag 'for-5.15-tag' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
    
     - fix max_inline mount option limit on 64k page system
    
     - lockdep fixes:
         - update bdev time in a safer way
         - move bdev put outside of sb write section when removing device
         - fix possible deadlock when mounting seed/sprout filesystem
    
     - zoned mode: fix split extent accounting
    
     - minor include fixup
    
    * tag 'for-5.15-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: zoned: fix double counting of split ordered extent
      btrfs: fix lockdep warning while mounting sprout fs
      btrfs: delay blkdev_put until after the device remove
      btrfs: update the bdev time directly when closing
      btrfs: use correct header for div_u64 in misc.h
      btrfs: fix upper limit for max_inline for page size 64K
    torvalds committed Sep 9, 2021
  3. Merge tag 'sound-fix-5.15-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "A collection of small fixes that have been gathered before rc1,
      including a few regression fixes for the problem in the previous pull
      request"
    
    * tag 'sound-fix-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: gus: Fix repeated probe for ISA interwave card
      ALSA: gus: Fix repeated probes of snd_gus_create()
      ALSA: vx222: fix null-ptr-deref
      ASoC: rockchip: i2s: Fix concurrency between tx/rx
      ASoC: mt8195: correct the dts parsing logic about DPTX and HDMITX
      ASoC: Intel: boards: Fix CONFIG_SND_SOC_SDW_MOCKUP select
      ASoC: dt-bindings: fsl_rpmsg: Add compatible string for i.MX8ULP
      ALSA: usb-audio: Add registration quirk for JBL Quantum 800
      ASoC: rt5682: fix headset background noise when S3 state
      ASoC: dt-bindings: mt8195: remove dependent headers in the example
      ASoC: mediatek: SND_SOC_MT8195 should depend on ARCH_MEDIATEK
      ASoC: samsung: s3c24xx_simtec: fix spelling mistake "devicec" -> "device"
      ASoC: audio-graph: respawn Platform Support
      ASoC: mediatek: mt8195: add MTK_PMIC_WRAP dependency
    torvalds committed Sep 9, 2021
  4. Merge tag 'for-linus-5.15-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/rw/uml
    
    Pull UML updates from Richard Weinberger:
    
     - Support for VMAP_STACK
    
     - Support for splice_write in hostfs
    
     - Fixes for virt-pci
    
     - Fixes for virtio_uml
    
     - Various fixes
    
    * tag 'for-linus-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
      um: fix stub location calculation
      um: virt-pci: fix uapi documentation
      um: enable VMAP_STACK
      um: virt-pci: don't do DMA from stack
      hostfs: support splice_write
      um: virtio_uml: fix memory leak on init failures
      um: virtio_uml: include linux/virtio-uml.h
      lib/logic_iomem: fix sparse warnings
      um: make PCI emulation driver init/exit static
    torvalds committed Sep 9, 2021
  5. Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm

    Pull ARM development updates from Russell King:
    
     - Rename "mod_init" and "mod_exit" so that initcall debug output is
       actually useful (Randy Dunlap)
    
     - Update maintainers entries for linux-arm-kernel to indicate it is
       moderated for non-subscribers (Randy Dunlap)
    
     - Move install rules to arch/arm/Makefile (Masahiro Yamada)
    
     - Drop unnecessary ARCH_NR_GPIOS definition (Linus Walleij)
    
     - Don't warn about atags_to_fdt() stack size (David Heidelberg)
    
     - Speed up unaligned copy_{from,to}_kernel_nofault (Arnd Bergmann)
    
     - Get rid of set_fs() usage (Arnd Bergmann)
    
     - Remove checks for GCC prior to v4.6 (Geert Uytterhoeven)
    
    * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
      ARM: 9118/1: div64: Remove always-true __div64_const32_is_OK() duplicate
      ARM: 9117/1: asm-generic: div64: Remove always-true __div64_const32_is_OK()
      ARM: 9116/1: unified: Remove check for gcc < 4
      ARM: 9110/1: oabi-compat: fix oabi epoll sparse warning
      ARM: 9113/1: uaccess: remove set_fs() implementation
      ARM: 9112/1: uaccess: add __{get,put}_kernel_nofault
      ARM: 9111/1: oabi-compat: rework fcntl64() emulation
      ARM: 9114/1: oabi-compat: rework sys_semtimedop emulation
      ARM: 9108/1: oabi-compat: rework epoll_wait/epoll_pwait emulation
      ARM: 9107/1: syscall: always store thread_info->abi_syscall
      ARM: 9109/1: oabi-compat: add epoll_pwait handler
      ARM: 9106/1: traps: use get_kernel_nofault instead of set_fs()
      ARM: 9115/1: mm/maccess: fix unaligned copy_{from,to}_kernel_nofault
      ARM: 9105/1: atags_to_fdt: don't warn about stack size
      ARM: 9103/1: Drop ARCH_NR_GPIOS definition
      ARM: 9102/1: move theinstall rules to arch/arm/Makefile
      ARM: 9100/1: MAINTAINERS: mark all linux-arm-kernel@infradead list as moderated
      ARM: 9099/1: crypto: rename 'mod_init' & 'mod_exit' functions to be module-specific
    torvalds committed Sep 9, 2021
  6. Merge tag 'trace-v5.15-2' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/rostedt/linux-trace
    
    Pull more tracing updates from Steven Rostedt:
    
     - Add migrate-disable counter to tracing header
    
     - Fix error handling in event probes
    
     - Fix missed unlock in osnoise in error path
    
     - Fix merge issue with tools/bootconfig
    
     - Clean up bootconfig data when init memory is removed
    
     - Fix bootconfig to loop only on subkeys
    
     - Have kernel command lines override bootconfig options
    
     - Increase field counts for synthetic events
    
     - Have histograms dynamic allocate event elements to save space
    
     - Fixes in testing and documentation
    
    * tag 'trace-v5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing/boot: Fix to loop on only subkeys
      selftests/ftrace: Exclude "(fault)" in testing add/remove eprobe events
      tracing: Dynamically allocate the per-elt hist_elt_data array
      tracing: synth events: increase max fields count
      tools/bootconfig: Show whole test command for each test case
      bootconfig: Fix missing return check of xbc_node_compose_key function
      tools/bootconfig: Fix tracing_on option checking in ftrace2bconf.sh
      docs: bootconfig: Add how to use bootconfig for kernel parameters
      init/bootconfig: Reorder init parameter from bootconfig and cmdline
      init: bootconfig: Remove all bootconfig data when the init memory is removed
      tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads()
      tracing: Fix some alloc_event_probe() error handling bugs
      tracing: Add migrate-disabled counter to tracing output.
    torvalds committed Sep 9, 2021
  7. Merge tag 's390-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/s390/linux
    
    Pull more s390 updates from Heiko Carstens:
     "Except for the xpram device driver removal it is all about fixes and
      cleanups.
    
       - Fix topology update on cpu hotplug, so notifiers see expected
         masks. This bug was uncovered with SCHED_CORE support.
    
       - Fix stack unwinding so that the correct number of entries are
         omitted like expected by common code. This fixes KCSAN selftests.
    
       - Add kmemleak annotation to stack_alloc to avoid false positive
         kmemleak warnings.
    
       - Avoid layering violation in common I/O code and don't unregister
         subchannel from child-drivers.
    
       - Remove xpram device driver for which no real use case exists since
         the kernel is 64 bit only. Also all hypervisors got required
         support removed in the meantime, which means the xpram device
         driver is dead code.
    
       - Fix -ENODEV handling of clp_get_state in our PCI code.
    
       - Enable KFENCE in debug defconfig.
    
       - Cleanup hugetlbfs s390 specific Kconfig dependency.
    
       - Quite a lot of trivial fixes to get rid of "W=1" warnings, and and
         other simple cleanups"
    
    * tag 's390-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      hugetlbfs: s390 is always 64bit
      s390/ftrace: remove incorrect __va usage
      s390/zcrypt: remove incorrect kernel doc indicators
      scsi: zfcp: fix kernel doc comments
      s390/sclp: add __nonstring annotation
      s390/hmcdrv_ftp: fix kernel doc comment
      s390: remove xpram device driver
      s390/pci: read clp_list_pci_req only once
      s390/pci: fix clp_get_state() handling of -ENODEV
      s390/cio: fix kernel doc comment
      s390/ctrlchar: fix kernel doc comment
      s390/con3270: use proper type for tasklet function
      s390/cpum_cf: move array from header to C file
      s390/mm: fix kernel doc comments
      s390/topology: fix topology information when calling cpu hotplug notifiers
      s390/unwind: use current_frame_address() to unwind current task
      s390/configs: enable CONFIG_KFENCE in debug_defconfig
      s390/entry: make oklabel within CHKSTG macro local
      s390: add kmemleak annotation in stack_alloc()
      s390/cio: dont unregister subchannel from child-drivers
    torvalds committed Sep 9, 2021
  8. Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull gfs2 setattr updates from Al Viro:
     "Make it possible for filesystems to use a generic 'may_setattr()' and
      switch gfs2 to using it"
    
    * 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      gfs2: Switch to may_setattr in gfs2_setattr
      fs: Move notify_change permission checks into may_setattr
    torvalds committed Sep 9, 2021
  9. Merge branch 'work.init' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Pull root filesystem type handling updates from Al Viro:
     "Teach init/do_mounts.c to handle non-block filesystems, hopefully
      preventing even more special-cased kludges (such as root=/dev/nfs,
      etc)"
    
    * 'work.init' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      fs: simplify get_filesystem_list / get_all_fs_names
      init: allow mounting arbitrary non-blockdevice filesystems as root
      init: split get_fs_names
    torvalds committed Sep 9, 2021
  10. Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/viro/vfs
    
    Pull iov_iter fixes from Al Viro:
     "Fixes for io-uring handling of iov_iter reexpands"
    
    * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      io_uring: reexpand under-reexpanded iters
      iov_iter: track truncated size
    torvalds committed Sep 9, 2021
  11. Merge tag 'cxl-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/cxl/cxl
    
    Pull CXL (Compute Express Link) updates from Dan Williams:
    
     - Fix detection of CXL host bridges to filter out disabled ACPI0016
       devices in the ACPI DSDT.
    
     - Fix kernel lockdown integration to disable raw commands when raw PCI
       access is disabled.
    
     - Fix a broken debug message.
    
     - Add support for "Get Partition Info". I.e. enumerate the split
       between volatile and persistent capacity on bi-modal CXL memory
       expanders.
    
     - Re-factor the core by subject area. This is a work in progress.
    
     - Prepare libnvdimm to understand CXL labels in addition to EFI labels.
       This is a work in progress.
    
    * tag 'cxl-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl: (25 commits)
      cxl/registers: Fix Documentation warning
      cxl/pmem: Fix Documentation warning
      cxl/uapi: Fix defined but not used warnings
      cxl/pci: Fix debug message in cxl_probe_regs()
      cxl/pci: Fix lockdown level
      cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports
      libnvdimm/labels: Add claim class helpers
      libnvdimm/labels: Add type-guid helpers
      libnvdimm/labels: Add blk special cases for nlabel and position helpers
      libnvdimm/labels: Add blk isetcookie set / validation helpers
      libnvdimm/labels: Add a checksum calculation helper
      libnvdimm/labels: Introduce label setter helpers
      libnvdimm/labels: Add isetcookie validation helper
      libnvdimm/labels: Introduce getters for namespace label fields
      cxl/mem: Adjust ram/pmem range to represent DPA ranges
      cxl/mem: Account for partitionable space in ram/pmem ranges
      cxl/pci: Store memory capacity values
      cxl/pci: Simplify register setup
      cxl/pci: Ignore unknown register block types
      cxl/core: Move memdev management to core
      ...
    torvalds committed Sep 9, 2021
  12. Merge tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/nvdimm/nvdimm
    
    Pull libnvdimm updates from Dan Williams:
    
     - Fix a race condition in the teardown path of raw mode pmem
       namespaces.
    
     - Cleanup the code that filesystems use to detect filesystem-dax
       capabilities of their underlying block device.
    
    * tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
      dax: remove bdev_dax_supported
      xfs: factor out a xfs_buftarg_is_dax helper
      dax: stub out dax_supported for !CONFIG_FS_DAX
      dax: remove __generic_fsdax_supported
      dax: move the dax_read_lock() locking into dax_supported
      dax: mark dax_get_by_host static
      dm: use fs_dax_get_by_bdev instead of dax_get_by_host
      dax: stop using bdevname
      fsdax: improve the FS_DAX Kconfig description and help text
      libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind
    torvalds committed Sep 9, 2021
  13. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma fixes from Jason Gunthorpe:
     "I don't usually send a second PR in the merge window, but the fix to
      mlx5 is significant enough that it should start going through the
      process ASAP. Along with it comes some of the usual -rc stuff that
      would normally wait for a -rc2 or so.
    
      Summary:
    
      Important error case regression fixes in mlx5:
    
       - Wrong size used when computing the error path smaller allocation
         request leads to corruption
    
       - Confusing but ultimately harmless alignment mis-calculation
    
      Static checker warning fixes:
    
       - NULL pointer subtraction in qib
    
       - kcalloc in bnxt_re
    
       - Missing static on global variable in hfi1"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
      IB/hfi1: make hist static
      RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic
      IB/qib: Fix null pointer subtraction compiler warning
      RDMA/mlx5: Fix xlt_chunk_align calculation
      RDMA/mlx5: Fix number of allocated XLT entries
    torvalds committed Sep 9, 2021
  14. Merge tag 'dmaengine-5.15-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/vkoul/dmaengine
    
    Pull dmaengine updates from Vinod Koul:
     "New drivers/devices
       - Support for Renesas RZ/G2L dma controller
       - New driver for AMD PTDMA controller
    
      Updates:
       - Big pile of idxd updates
       - Updates for Altera driver, stm32-dma, dw etc"
    
    * tag 'dmaengine-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (83 commits)
      dmaengine: sh: fix some NULL dereferences
      dmaengine: sh: Fix unused initialization of pointer lmdesc
      MAINTAINERS: Fix AMD PTDMA DRIVER entry
      dmaengine: ptdma: remove PT_OFFSET to avoid redefnition
      dmaengine: ptdma: Add debugfs entries for PTDMA
      dmaengine: ptdma: register PTDMA controller as a DMA resource
      dmaengine: ptdma: Initial driver for the AMD PTDMA
      dmaengine: fsl-dpaa2-qdma: Fix spelling mistake "faile" -> "failed"
      dmaengine: idxd: remove interrupt disable for dev_lock
      dmaengine: idxd: remove interrupt disable for cmd_lock
      dmaengine: idxd: fix setting up priv mode for dwq
      dmaengine: xilinx_dma: Set DMA mask for coherent APIs
      dmaengine: ti: k3-psil-j721e: Add entry for CSI2RX
      dmaengine: sh: Add DMAC driver for RZ/G2L SoC
      dmaengine: Extend the dma_slave_width for 128 bytes
      dt-bindings: dma: Document RZ/G2L bindings
      dmaengine: ioat: depends on !UML
      dmaengine: idxd: set descriptor allocation size to threshold for swq
      dmaengine: idxd: make submit failure path consistent on desc freeing
      dmaengine: idxd: remove interrupt flag for completion list spinlock
      ...
    torvalds committed Sep 9, 2021
  15. Merge branches 'akpm' and 'akpm-hotfixes' (patches from Andrew)

    Merge yet more updates and hotfixes from Andrew Morton:
     "Post-linux-next material, based upon latest upstream to catch the
      now-merged dependencies:
    
       - 10 patches.
    
         Subsystems affected by this patch series: mm (vmstat and migration)
         and compat.
    
      And bunch of hotfixes, mostly cc:stable:
    
       - 8 patches.
    
         Subsystems affected by this patch series: mm (hmm, hugetlb, vmscan,
         pagealloc, pagemap, kmemleak, mempolicy, and memblock)"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      arch: remove compat_alloc_user_space
      compat: remove some compat entry points
      mm: simplify compat numa syscalls
      mm: simplify compat_sys_move_pages
      kexec: avoid compat_alloc_user_space
      kexec: move locking into do_kexec_load
      mm: migrate: change to use bool type for 'page_was_mapped'
      mm: migrate: fix the incorrect function name in comments
      mm: migrate: introduce a local variable to get the number of pages
      mm/vmstat: protect per cpu variables with preempt disable on RT
    
    * emailed hotfixes from Andrew Morton <akpm@linux-foundation.org>:
      nds32/setup: remove unused memblock_region variable in setup_memory()
      mm/mempolicy: fix a race between offset_il_node and mpol_rebind_task
      mm/kmemleak: allow __GFP_NOLOCKDEP passed to kmemleak's gfp
      mmap_lock: change trace and locking order
      mm/page_alloc.c: avoid accessing uninitialized pcp page migratetype
      mm,vmscan: fix divide by zero in get_scan_count
      mm/hugetlb: initialize hugetlb_usage in mm_init
      mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled
    torvalds committed Sep 9, 2021
  16. nds32/setup: remove unused memblock_region variable in setup_memory()

    kernel test robot reports unused variable warning:
    
       arch/nds32/kernel/setup.c:247:26: warning: Unused variable: region
       [unusedVariable]
        struct memblock_region *region;
                                ^
    
    Remove the unused variable.
    
    Link: https://lkml.kernel.org/r/20210712125218.28951-1-rppt@kernel.org
    Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
    Reported-by: kernel test robot <lkp@intel.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Cc: Greentime Hu <green.hu@gmail.com>
    Cc: Nick Hu <nickhu@andestech.com>
    Cc: Vincent Chen <deanbo422@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    rppt authored and torvalds committed Sep 9, 2021
  17. mm/mempolicy: fix a race between offset_il_node and mpol_rebind_task

    Servers happened below panic:
    
      Kernel version:5.4.56
      BUG: unable to handle page fault for address: 0000000000002c48
      RIP: 0010:__next_zones_zonelist+0x1d/0x40
      Call Trace:
        __alloc_pages_nodemask+0x277/0x310
        alloc_page_interleave+0x13/0x70
        handle_mm_fault+0xf99/0x1390
        __do_page_fault+0x288/0x500
        do_page_fault+0x30/0x110
        page_fault+0x3e/0x50
    
    The reason for the panic is that MAX_NUMNODES is passed in the third
    parameter in __alloc_pages_nodemask(preferred_nid).  So access to
    zonelist->zoneref->zone_idx in __next_zones_zonelist will cause a panic.
    
    In offset_il_node(), first_node() returns nid from pol->v.nodes, after
    this other threads may chang pol->v.nodes before next_node().  This race
    condition will let next_node return MAX_NUMNODES.  So put pol->nodes in
    a local variable.
    
    The race condition is between offset_il_node and cpuset_change_task_nodemask:
    
      CPU0:                                     CPU1:
      alloc_pages_vma()
        interleave_nid(pol,)
          offset_il_node(pol,)
            first_node(pol->v.nodes)            cpuset_change_task_nodemask
                            //nodes==0xc          mpol_rebind_task
                                                    mpol_rebind_policy
                                                      mpol_rebind_nodemask(pol,nodes)
                            //nodes==0x3
            next_node(nid, pol->v.nodes)//return MAX_NUMNODES
    
    Link: https://lkml.kernel.org/r/20210906034658.48721-1-yanghui.def@bytedance.com
    Signed-off-by: yanghui <yanghui.def@bytedance.com>
    Reviewed-by: Muchun Song <songmuchun@bytedance.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    yanghui authored and torvalds committed Sep 9, 2021
  18. mm/kmemleak: allow __GFP_NOLOCKDEP passed to kmemleak's gfp

    In a memory pressure situation, I'm seeing the lockdep WARNING below.
    Actually, this is similar to a known false positive which is already
    addressed by commit 6dcde60 ("xfs: more lockdep whackamole with
    kmem_alloc*").
    
    This warning still persists because it's not from kmalloc() itself but
    from an allocation for kmemleak object.  While kmalloc() itself suppress
    the warning with __GFP_NOLOCKDEP, gfp_kmemleak_mask() is dropping the
    flag for the kmemleak's allocation.
    
    Allow __GFP_NOLOCKDEP to be passed to kmemleak's allocation, so that the
    warning for it is also suppressed.
    
      ======================================================
      WARNING: possible circular locking dependency detected
      5.14.0-rc7-BTRFS-ZNS+ torvalds#37 Not tainted
      ------------------------------------------------------
      kswapd0/288 is trying to acquire lock:
      ffff88825ab45df0 (&xfs_nondir_ilock_class){++++}-{3:3}, at: xfs_ilock+0x8a/0x250
    
      but task is already holding lock:
      ffffffff848cc1e0 (fs_reclaim){+.+.}-{0:0}, at: __fs_reclaim_acquire+0x5/0x30
    
      which lock already depends on the new lock.
    
      the existing dependency chain (in reverse order) is:
    
      -> #1 (fs_reclaim){+.+.}-{0:0}:
             fs_reclaim_acquire+0x112/0x160
             kmem_cache_alloc+0x48/0x400
             create_object.isra.0+0x42/0xb10
             kmemleak_alloc+0x48/0x80
             __kmalloc+0x228/0x440
             kmem_alloc+0xd3/0x2b0
             kmem_alloc_large+0x5a/0x1c0
             xfs_attr_copy_value+0x112/0x190
             xfs_attr_shortform_getvalue+0x1fc/0x300
             xfs_attr_get_ilocked+0x125/0x170
             xfs_attr_get+0x329/0x450
             xfs_get_acl+0x18d/0x430
             get_acl.part.0+0xb6/0x1e0
             posix_acl_xattr_get+0x13a/0x230
             vfs_getxattr+0x21d/0x270
             getxattr+0x126/0x310
             __x64_sys_fgetxattr+0x1a6/0x2a0
             do_syscall_64+0x3b/0x90
             entry_SYSCALL_64_after_hwframe+0x44/0xae
    
      -> #0 (&xfs_nondir_ilock_class){++++}-{3:3}:
             __lock_acquire+0x2c0f/0x5a00
             lock_acquire+0x1a1/0x4b0
             down_read_nested+0x50/0x90
             xfs_ilock+0x8a/0x250
             xfs_can_free_eofblocks+0x34f/0x570
             xfs_inactive+0x411/0x520
             xfs_fs_destroy_inode+0x2c8/0x710
             destroy_inode+0xc5/0x1a0
             evict+0x444/0x620
             dispose_list+0xfe/0x1c0
             prune_icache_sb+0xdc/0x160
             super_cache_scan+0x31e/0x510
             do_shrink_slab+0x337/0x8e0
             shrink_slab+0x362/0x5c0
             shrink_node+0x7a7/0x1a40
             balance_pgdat+0x64e/0xfe0
             kswapd+0x590/0xa80
             kthread+0x38c/0x460
             ret_from_fork+0x22/0x30
    
      other info that might help us debug this:
       Possible unsafe locking scenario:
             CPU0                    CPU1
             ----                    ----
        lock(fs_reclaim);
                                     lock(&xfs_nondir_ilock_class);
                                     lock(fs_reclaim);
        lock(&xfs_nondir_ilock_class);
    
       *** DEADLOCK ***
      3 locks held by kswapd0/288:
       #0: ffffffff848cc1e0 (fs_reclaim){+.+.}-{0:0}, at: __fs_reclaim_acquire+0x5/0x30
       #1: ffffffff848a08d8 (shrinker_rwsem){++++}-{3:3}, at: shrink_slab+0x269/0x5c0
       #2: ffff8881a7a820e8 (&type->s_umount_key#60){++++}-{3:3}, at: super_cache_scan+0x5a/0x510
    
    Link: https://lkml.kernel.org/r/20210907055659.3182992-1-naohiro.aota@wdc.com
    Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Cc: "Darrick J . Wong" <djwong@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    naota authored and torvalds committed Sep 9, 2021
  19. mmap_lock: change trace and locking order

    Print to the trace log before releasing the lock to avoid racing with
    other trace log printers of the same lock type.
    
    Link: https://lkml.kernel.org/r/20210903022041.1843024-1-Liam.Howlett@oracle.com
    Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
    Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Michel Lespinasse <walken.cr@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    howlett authored and torvalds committed Sep 9, 2021
  20. mm/page_alloc.c: avoid accessing uninitialized pcp page migratetype

    If it's not prepared to free unref page, the pcp page migratetype is
    unset.  Thus we will get rubbish from get_pcppage_migratetype() and
    might list_del(&page->lru) again after it's already deleted from the list
    leading to grumble about data corruption.
    
    Link: https://lkml.kernel.org/r/20210902115447.57050-1-linmiaohe@huawei.com
    Fixes: df1acc8 ("mm/page_alloc: avoid conflating IRQs disabled with zone->lock")
    Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
    Acked-by: Mel Gorman <mgorman@techsingularity.net>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    MiaoheLin authored and torvalds committed Sep 9, 2021
  21. mm,vmscan: fix divide by zero in get_scan_count

    Commit f56ce41 ("mm: memcontrol: fix occasional OOMs due to
    proportional memory.low reclaim") introduced a divide by zero corner
    case when oomd is being used in combination with cgroup memory.low
    protection.
    
    When oomd decides to kill a cgroup, it will force the cgroup memory to
    be reclaimed after killing the tasks, by writing to the memory.max file
    for that cgroup, forcing the remaining page cache and reclaimable slab
    to be reclaimed down to zero.
    
    Previously, on cgroups with some memory.low protection that would result
    in the memory being reclaimed down to the memory.low limit, or likely
    not at all, having the page cache reclaimed asynchronously later.
    
    With f56ce41 the oomd write to memory.max tries to reclaim all the
    way down to zero, which may race with another reclaimer, to the point of
    ending up with the divide by zero below.
    
    This patch implements the obvious fix.
    
    Link: https://lkml.kernel.org/r/20210826220149.058089c6@imladris.surriel.com
    Fixes: f56ce41 ("mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim")
    Signed-off-by: Rik van Riel <riel@surriel.com>
    Acked-by: Roman Gushchin <guro@fb.com>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Chris Down <chris@chrisdown.name>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    rikvanriel authored and torvalds committed Sep 9, 2021
  22. mm/hugetlb: initialize hugetlb_usage in mm_init

    After fork, the child process will get incorrect (2x) hugetlb_usage.  If
    a process uses 5 2MB hugetlb pages in an anonymous mapping,
    
    	HugetlbPages:	   10240 kB
    
    and then forks, the child will show,
    
    	HugetlbPages:	   20480 kB
    
    The reason for double the amount is because hugetlb_usage will be copied
    from the parent and then increased when we copy page tables from parent
    to child.  Child will have 2x actual usage.
    
    Fix this by adding hugetlb_count_init in mm_init.
    
    Link: https://lkml.kernel.org/r/20210826071742.877-1-liuzixian4@huawei.com
    Fixes: 5d317b2 ("mm: hugetlb: proc: add HugetlbPages field to /proc/PID/status")
    Signed-off-by: Liu Zixian <liuzixian4@huawei.com>
    Reviewed-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
    Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Liu Zixian authored and torvalds committed Sep 9, 2021
  23. mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled

    Previously, we noticed the one rpma example was failed[1] since commit
    36f30e4 ("IB/core: Improve ODP to use hmm_range_fault()"), where it
    will use ODP feature to do RDMA WRITE between fsdax files.
    
    After digging into the code, we found hmm_vma_handle_pte() will still
    return EFAULT even though all the its requesting flags has been
    fulfilled.  That's because a DAX page will be marked as (_PAGE_SPECIAL |
    PAGE_DEVMAP) by pte_mkdevmap().
    
    Link: pmem/rpma#1142 [1]
    Link: https://lkml.kernel.org/r/20210830094232.203029-1-lizhijian@cn.fujitsu.com
    Fixes: 4055062 ("mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling")
    Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    zhijianli88 authored and torvalds committed Sep 9, 2021
Older