Merge branch 'akpm' (patches from Andrew)
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2022 21:14:07 +0000 (14:14 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Mar 2022 21:14:07 +0000 (14:14 -0700)
Merge more updates from Andrew Morton:
 "Various misc subsystems, before getting into the post-linux-next
  material.

  41 patches.

  Subsystems affected by this patch series: procfs, misc, core-kernel,
  lib, checkpatch, init, pipe, minix, fat, cgroups, kexec, kdump,
  taskstats, panic, kcov, resource, and ubsan"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (41 commits)
  Revert "ubsan, kcsan: Don't combine sanitizer with kcov on clang"
  kernel/resource: fix kfree() of bootmem memory again
  kcov: properly handle subsequent mmap calls
  kcov: split ioctl handling into locked and unlocked parts
  panic: move panic_print before kmsg dumpers
  panic: add option to dump all CPUs backtraces in panic_print
  docs: sysctl/kernel: add missing bit to panic_print
  taskstats: remove unneeded dead assignment
  kasan: no need to unset panic_on_warn in end_report()
  ubsan: no need to unset panic_on_warn in ubsan_epilogue()
  panic: unset panic_on_warn inside panic()
  docs: kdump: add scp example to write out the dump file
  docs: kdump: update description about sysfs file system support
  arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
  x86/setup: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
  riscv: mm: init: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
  kexec: make crashk_res, crashk_low_res and crash_notes symbols always visible
  cgroup: use irqsave in cgroup_rstat_flush_locked().
  fat: use pointer to simple type in put_user()
  minix: fix bug when opening a file with O_DIRECT
  ...

1  2 
Documentation/admin-guide/kernel-parameters.txt
Documentation/admin-guide/sysctl/kernel.rst
arch/arm64/mm/init.c
fs/minix/inode.c
include/linux/compiler_types.h
init/main.c
kernel/cgroup/rstat.c
lib/Kconfig.debug

index 9e26ec80d317501986c13c668d323e6957f5302e,3973e305adc89224d971f2d8bd4c885366b43ac4..8ac25f19084e89891d9629cfcf8f7d82c0464584
@@@ -61,36 -61,9 +61,35 @@@ EXPORT_SYMBOL(memstart_addr)
   * unless restricted on specific platforms (e.g. 30-bit on Raspberry Pi 4).
   * In such case, ZONE_DMA32 covers the rest of the 32-bit addressable memory,
   * otherwise it is empty.
 + *
 + * Memory reservation for crash kernel either done early or deferred
 + * depending on DMA memory zones configs (ZONE_DMA) --
 + *
 + * In absence of ZONE_DMA configs arm64_dma_phys_limit initialized
 + * here instead of max_zone_phys().  This lets early reservation of
 + * crash kernel memory which has a dependency on arm64_dma_phys_limit.
 + * Reserving memory early for crash kernel allows linear creation of block
 + * mappings (greater than page-granularity) for all the memory bank rangs.
 + * In this scheme a comparatively quicker boot is observed.
 + *
 + * If ZONE_DMA configs are defined, crash kernel memory reservation
 + * is delayed until DMA zone memory range size initilazation performed in
 + * zone_sizes_init().  The defer is necessary to steer clear of DMA zone
 + * memory range to avoid overlap allocation.  So crash kernel memory boundaries
 + * are not known when mapping all bank memory ranges, which otherwise means
 + * not possible to exclude crash kernel range from creating block mappings
 + * so page-granularity mappings are created for the entire memory range.
 + * Hence a slightly slower boot is observed.
 + *
 + * Note: Page-granularity mapppings are necessary for crash kernel memory
 + * range for shrinking its size via /sys/kernel/kexec_crash_size interface.
   */
 -phys_addr_t arm64_dma_phys_limit __ro_after_init;
 +#if IS_ENABLED(CONFIG_ZONE_DMA) || IS_ENABLED(CONFIG_ZONE_DMA32)
 +phys_addr_t __ro_after_init arm64_dma_phys_limit;
 +#else
 +phys_addr_t __ro_after_init arm64_dma_phys_limit = PHYS_MASK + 1;
 +#endif
  
- #ifdef CONFIG_KEXEC_CORE
  /*
   * reserve_crashkernel() - reserves memory for crash kernel
   *
Simple merge
index 1bc760ba400c4fe658e8a53af55759d13c2f06aa,232dbd97f8b1ec3bd08f22a7641a3087fefb31a5..1c2c33ae1b37da8416b2b0a8613fe892490ae286
@@@ -4,13 -4,7 +4,14 @@@
  
  #ifndef __ASSEMBLY__
  
 +#if defined(CONFIG_DEBUG_INFO_BTF) && defined(CONFIG_PAHOLE_HAS_BTF_TAG) && \
 +      __has_attribute(btf_type_tag)
 +# define BTF_TYPE_TAG(value) __attribute__((btf_type_tag(#value)))
 +#else
 +# define BTF_TYPE_TAG(value) /* nothing */
 +#endif
 +
+ /* sparse defines __CHECKER__; see Documentation/dev-tools/sparse.rst */
  #ifdef __CHECKER__
  /* address spaces */
  # define __kernel     __attribute__((address_space(0)))
diff --cc init/main.c
Simple merge
Simple merge
index 1063ce0abd97ab7b75df6569b4779ea2a323182a,b84c2462fe8d9ec90d93622587e09d89462a0ed6..cfe3b092c31da3a77def3ae78e2cfa6020e3ac48
@@@ -317,6 -339,7 +339,7 @@@ config DEBUG_INFO_BT
        depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
        depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
        depends on BPF_SYSCALL
 -      depends on !DEBUG_INFO_DWARF5
++      depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121
        help
          Generate deduplicated BTF type information from DWARF debug info.
          Turning this on expects presence of pahole tool, which will convert