Merge tag 'mm-nonmm-stable-2023-08-28-22-48' of git://git.kernel.org/pub/scm/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Aug 2023 21:53:51 +0000 (14:53 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Aug 2023 21:53:51 +0000 (14:53 -0700)
Pull non-MM updates from Andrew Morton:

 - An extensive rework of kexec and crash Kconfig from Eric DeVolder
   ("refactor Kconfig to consolidate KEXEC and CRASH options")

 - kernel.h slimming work from Andy Shevchenko ("kernel.h: Split out a
   couple of macros to args.h")

 - gdb feature work from Kuan-Ying Lee ("Add GDB memory helper
   commands")

 - vsprintf inclusion rationalization from Andy Shevchenko
   ("lib/vsprintf: Rework header inclusions")

 - Switch the handling of kdump from a udev scheme to in-kernel
   handling, by Eric DeVolder ("crash: Kernel handling of CPU and memory
   hot un/plug")

 - Many singleton patches to various parts of the tree

* tag 'mm-nonmm-stable-2023-08-28-22-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (81 commits)
  document while_each_thread(), change first_tid() to use for_each_thread()
  drivers/char/mem.c: shrink character device's devlist[] array
  x86/crash: optimize CPU changes
  crash: change crash_prepare_elf64_headers() to for_each_possible_cpu()
  crash: hotplug support for kexec_load()
  x86/crash: add x86 crash hotplug support
  crash: memory and CPU hotplug sysfs attributes
  kexec: exclude elfcorehdr from the segment digest
  crash: add generic infrastructure for crash hotplug support
  crash: move a few code bits to setup support of crash hotplug
  kstrtox: consistently use _tolower()
  kill do_each_thread()
  nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
  scripts/bloat-o-meter: count weak symbol sizes
  treewide: drop CONFIG_EMBEDDED
  lockdep: fix static memory detection even more
  lib/vsprintf: declare no_hash_pointers in sprintf.h
  lib/vsprintf: split out sprintf() and friends
  kernel/fork: stop playing lockless games for exe_file replacement
  adfs: delete unused "union adfs_dirtail" definition
  ...

29 files changed:
1  2 
Documentation/ABI/testing/sysfs-devices-system-cpu
Documentation/admin-guide/mm/memory-hotplug.rst
Documentation/core-api/cpu_hotplug.rst
arch/Kconfig
arch/arm64/Kconfig
arch/ia64/Kconfig
arch/loongarch/Kconfig
arch/loongarch/kernel/process.c
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/riscv/Kconfig
arch/riscv/kernel/elf_kexec.c
arch/s390/Kbuild
arch/s390/Kconfig
arch/sh/Kconfig
arch/x86/Kconfig
drivers/base/cpu.c
drivers/base/memory.c
fs/exec.c
fs/nilfs2/inode.c
fs/ocfs2/journal.c
fs/ocfs2/namei.c
fs/proc/base.c
include/kunit/test.h
init/Kconfig
kernel/crash_core.c
kernel/fork.c
scripts/checkpatch.pl
tools/testing/selftests/proc/proc-empty-vm.c

diff --cc arch/Kconfig
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 4f364cfe9dd08969766d27a129a7b966da097a57,4d011f7c26e57d49fab48ddceac73b040243596d..661b6de69c2782db0c211a81560af4b1f10258fe
@@@ -246,6 -245,25 +247,25 @@@ config PGTABLE_LEVEL
  
  source "kernel/livepatch/Kconfig"
  
 -        Refer to <file:Documentation/s390/zfcpdump.rst> for more details on this.
+ config ARCH_SUPPORTS_KEXEC
+       def_bool y
+ config ARCH_SUPPORTS_KEXEC_FILE
+       def_bool CRYPTO && CRYPTO_SHA256 && CRYPTO_SHA256_S390
+ config ARCH_SUPPORTS_KEXEC_SIG
+       def_bool MODULE_SIG_FORMAT
+ config ARCH_SUPPORTS_KEXEC_PURGATORY
+       def_bool KEXEC_FILE
+ config ARCH_SUPPORTS_CRASH_DUMP
+       def_bool y
+       help
 -        See also <file:Documentation/s390/zfcpdump.rst>
++        Refer to <file:Documentation/arch/s390/zfcpdump.rst> for more details on this.
+         This option also enables s390 zfcpdump.
++        See also <file:Documentation/arch/s390/zfcpdump.rst>
  menu "Processor type and features"
  
  config HAVE_MARCH_Z10_FEATURES
@@@ -484,47 -502,6 +504,17 @@@ config SCHED_TOPOLOG
  
  source "kernel/Kconfig.hz"
  
- config KEXEC
-       def_bool y
-       select KEXEC_CORE
- config KEXEC_FILE
-       bool "kexec file based system call"
-       select KEXEC_CORE
-       depends on CRYPTO
-       depends on CRYPTO_SHA256
-       depends on CRYPTO_SHA256_S390
-       help
-         Enable the kexec file based system call. In contrast to the normal
-         kexec system call this system call takes file descriptors for the
-         kernel and initramfs as arguments.
- config ARCH_HAS_KEXEC_PURGATORY
-       def_bool y
-       depends on KEXEC_FILE
- config KEXEC_SIG
-       bool "Verify kernel signature during kexec_file_load() syscall"
-       depends on KEXEC_FILE && MODULE_SIG_FORMAT
-       help
-         This option makes kernel signature verification mandatory for
-         the kexec_file_load() syscall.
-         In addition to that option, you need to enable signature
-         verification for the corresponding kernel image type being
-         loaded in order for this to work.
 +config CERT_STORE
 +      bool "Get user certificates via DIAG320"
 +      depends on KEYS
 +      select CRYPTO_LIB_SHA256
 +      help
 +        Enable this option if you want to access user-provided secure boot
 +        certificates via DIAG 0x320.
 +
 +        These certificates will be made available via the keyring named
 +        'cert_store'.
 +
  config KERNEL_NOBP
        def_bool n
        prompt "Enable modified branch prediction for the kernel by default"
diff --cc arch/sh/Kconfig
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/exec.c
Simple merge
Simple merge
Simple merge
index e4a684d453084945e81dca12fcfc8162d6a394c0,03bccfd183f3c86e59e38a6c0e73b2234a03fe26..5cd6d7771cea109f71646fd3f48ec80fdababc35
@@@ -1535,9 -1535,13 +1535,13 @@@ static int ocfs2_rename(struct mnt_idma
                status = ocfs2_add_entry(handle, new_dentry, old_inode,
                                         OCFS2_I(old_inode)->ip_blkno,
                                         new_dir_bh, &target_insert);
+               if (status < 0) {
+                       mlog_errno(status);
+                       goto bail;
+               }
        }
  
 -      old_inode->i_ctime = current_time(old_inode);
 +      inode_set_ctime_current(old_inode);
        mark_inode_dirty(old_inode);
  
        status = ocfs2_journal_access_di(handle, INODE_CACHE(old_inode),
diff --cc fs/proc/base.c
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge