Merge tag 'mm-nonmm-stable-2023-06-24-19-23' of git://git.kernel.org/pub/scm/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Jun 2023 17:59:38 +0000 (10:59 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 28 Jun 2023 17:59:38 +0000 (10:59 -0700)
Pull non-mm updates from Andrew Morton:

 - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in top-level
   directories

 - Douglas Anderson has added a new "buddy" mode to the hardlockup
   detector. It permits the detector to work on architectures which
   cannot provide the required interrupts, by having CPUs periodically
   perform checks on other CPUs

 - Zhen Lei has enhanced kexec's ability to support two crash regions

 - Petr Mladek has done a lot of cleanup on the hard lockup detector's
   Kconfig entries

 - And the usual bunch of singleton patches in various places

* tag 'mm-nonmm-stable-2023-06-24-19-23' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (72 commits)
  kernel/time/posix-stubs.c: remove duplicated include
  ocfs2: remove redundant assignment to variable bit_off
  watchdog/hardlockup: fix typo in config HARDLOCKUP_DETECTOR_PREFER_BUDDY
  powerpc: move arch_trigger_cpumask_backtrace from nmi.h to irq.h
  devres: show which resource was invalid in __devm_ioremap_resource()
  watchdog/hardlockup: define HARDLOCKUP_DETECTOR_ARCH
  watchdog/sparc64: define HARDLOCKUP_DETECTOR_SPARC64
  watchdog/hardlockup: make HAVE_NMI_WATCHDOG sparc64-specific
  watchdog/hardlockup: declare arch_touch_nmi_watchdog() only in linux/nmi.h
  watchdog/hardlockup: make the config checks more straightforward
  watchdog/hardlockup: sort hardlockup detector related config values a logical way
  watchdog/hardlockup: move SMP barriers from common code to buddy code
  watchdog/buddy: simplify the dependency for HARDLOCKUP_DETECTOR_PREFER_BUDDY
  watchdog/buddy: don't copy the cpumask in watchdog_next_cpu()
  watchdog/buddy: cleanup how watchdog_buddy_check_hardlockup() is called
  watchdog/hardlockup: remove softlockup comment in touch_nmi_watchdog()
  watchdog/hardlockup: in watchdog_hardlockup_check() use cpumask_copy()
  watchdog/hardlockup: don't use raw_cpu_ptr() in watchdog_hardlockup_kick()
  watchdog/hardlockup: HAVE_NMI_WATCHDOG must implement watchdog_hardlockup_probe()
  watchdog/hardlockup: keep kernel.nmi_watchdog sysctl as 0444 if probe fails
  ...

21 files changed:
1  2 
arch/Kconfig
arch/arm64/Kconfig
arch/arm64/kernel/Makefile
arch/parisc/kernel/smp.c
arch/sparc/Kconfig
arch/x86/include/asm/tsc.h
drivers/perf/arm_pmu.c
drivers/perf/arm_pmuv3.c
fs/ocfs2/ocfs2_trace.h
include/linux/acpi.h
include/linux/mm.h
include/linux/mount.h
include/linux/perf/arm_pmu.h
include/linux/types.h
init/do_mounts.c
init/main.c
kernel/fork.c
kernel/kexec_file.c
kernel/kthread.c
lib/Kconfig.debug
mm/sparse.c

diff --cc arch/Kconfig
Simple merge
@@@ -208,9 -209,9 +210,10 @@@ config ARM6
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KVM
 +      select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_PERF_EVENTS
+       select HAVE_PERF_EVENTS_NMI if ARM64_PSEUDO_NMI
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
        select HAVE_PREEMPT_DYNAMIC_KEY
@@@ -42,8 -42,10 +42,9 @@@ obj-$(CONFIG_COMPAT)                 += sigreturn32.
  obj-$(CONFIG_COMPAT_ALIGNMENT_FIXUPS) += compat_alignment.o
  obj-$(CONFIG_KUSER_HELPERS)           += kuser32.o
  obj-$(CONFIG_FUNCTION_TRACER)         += ftrace.o entry-ftrace.o
 -obj-$(CONFIG_MODULES)                 += module.o
 -obj-$(CONFIG_ARM64_MODULE_PLTS)               += module-plts.o
 +obj-$(CONFIG_MODULES)                 += module.o module-plts.o
  obj-$(CONFIG_PERF_EVENTS)             += perf_regs.o perf_callchain.o
+ obj-$(CONFIG_HARDLOCKUP_DETECTOR_PERF)        += watchdog_hld.o
  obj-$(CONFIG_HAVE_HW_BREAKPOINT)      += hw_breakpoint.o
  obj-$(CONFIG_CPU_PM)                  += sleep.o suspend.o
  obj-$(CONFIG_CPU_IDLE)                        += cpuidle.o
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1315,12 -1315,8 +1315,10 @@@ DEFINE_OCFS2_FILE_OPS(ocfs2_sync_file)
  
  DEFINE_OCFS2_FILE_OPS(ocfs2_file_write_iter);
  
- DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_write);
  DEFINE_OCFS2_FILE_OPS(ocfs2_file_read_iter);
  
 +DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_read);
 +
  DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_truncate_file);
  
  DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_truncate_file_error);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -190,10 -425,21 +190,21 @@@ retry
                 * and give them a list of the available devices
                 */
                printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
 -                              root_device_name, b, err);
 +                              pretty_name, b, err);
                printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
                printk_all_partitions();
+               if (root_fs_names)
+                       num_fs = list_bdev_fs_names(fs_names, PAGE_SIZE);
+               if (!num_fs)
+                       pr_err("Can't find any bdev filesystem to be used for mount!\n");
+               else {
+                       pr_err("List of all bdev filesystems:\n");
+                       for (i = 0, p = fs_names; i < num_fs; i++, p += strlen(p)+1)
+                               pr_err(" %s", p);
+                       pr_err("\n");
+               }
                panic("VFS: Unable to mount root fs on %s", b);
        }
        if (!(flags & SB_RDONLY)) {
diff --cc init/main.c
Simple merge
diff --cc kernel/fork.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/sparse.c
Simple merge