mm-commits.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: akpm@linux-foundation.org, andriy.shevchenko@linux.intel.com,
	arnd@arndb.de, bjorn.andersson@linaro.org,
	christian.brauner@ubuntu.com, cminyard@mvista.com, deller@gmx.de,
	keescook@chromium.org, linux-mm@kvack.org,
	linux@rasmusvillemoes.dk, mcgrof@kernel.org,
	mm-commits@vger.kernel.org, rppt@linux.ibm.com, sboyd@kernel.org,
	sre@kernel.org, torvalds@linux-foundation.org,
	tsbogend@alpha.franken.de, wei.liu@kernel.org
Subject: [patch 146/192] kernel.h: split out panic and oops helpers
Date: Wed, 30 Jun 2021 18:54:59 -0700	[thread overview]
Message-ID: <20210701015459.RNbWvwfIP%akpm@linux-foundation.org> (raw)
In-Reply-To: <20210630184624.9ca1937310b0dd5ce66b30e7@linux-foundation.org>

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: kernel.h: split out panic and oops helpers

kernel.h is being used as a dump for all kinds of stuff for a long time. 
Here is the attempt to start cleaning it up by splitting out panic and
oops helpers.

There are several purposes of doing this:
- dropping dependency in bug.h
- dropping a loop by moving out panic_notifier.h
- unload kernel.h from something which has its own domain

At the same time convert users tree-wide to use new headers, although for
the time being include new header back to kernel.h to avoid twisted
indirected includes for existing users.

[akpm@linux-foundation.org: thread_info.h needs limits.h]
[andriy.shevchenko@linux.intel.com: ia64 fix]
  Link: https://lkml.kernel.org/r/20210520130557.55277-1-andriy.shevchenko@linux.intel.com
Link: https://lkml.kernel.org/r/20210511074137.33666-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Co-developed-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Wei Liu <wei.liu@kernel.org>
Acked-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Sebastian Reichel <sre@kernel.org>
Acked-by: Luis Chamberlain <mcgrof@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Helge Deller <deller@gmx.de> # parisc
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 arch/alpha/kernel/setup.c                         |    2 
 arch/arm64/kernel/setup.c                         |    1 
 arch/ia64/include/asm/pal.h                       |    1 
 arch/mips/kernel/relocate.c                       |    1 
 arch/mips/sgi-ip22/ip22-reset.c                   |    1 
 arch/mips/sgi-ip32/ip32-reset.c                   |    1 
 arch/parisc/kernel/pdc_chassis.c                  |    1 
 arch/powerpc/kernel/setup-common.c                |    1 
 arch/s390/kernel/ipl.c                            |    1 
 arch/sparc/kernel/sstate.c                        |    1 
 arch/um/drivers/mconsole_kern.c                   |    1 
 arch/um/kernel/um_arch.c                          |    1 
 arch/x86/include/asm/desc.h                       |    1 
 arch/x86/kernel/cpu/mshyperv.c                    |    1 
 arch/x86/kernel/setup.c                           |    1 
 arch/x86/purgatory/purgatory.c                    |    2 
 arch/x86/xen/enlighten.c                          |    1 
 arch/xtensa/platforms/iss/setup.c                 |    1 
 drivers/bus/brcmstb_gisb.c                        |    1 
 drivers/char/ipmi/ipmi_msghandler.c               |    1 
 drivers/clk/analogbits/wrpll-cln28hpc.c           |    4 
 drivers/edac/altera_edac.c                        |    1 
 drivers/firmware/google/gsmi.c                    |    1 
 drivers/hv/vmbus_drv.c                            |    1 
 drivers/hwtracing/coresight/coresight-cpu-debug.c |    1 
 drivers/leds/trigger/ledtrig-activity.c           |    1 
 drivers/leds/trigger/ledtrig-heartbeat.c          |    1 
 drivers/leds/trigger/ledtrig-panic.c              |    1 
 drivers/misc/bcm-vk/bcm_vk_dev.c                  |    1 
 drivers/misc/ibmasm/heartbeat.c                   |    1 
 drivers/misc/pvpanic/pvpanic.c                    |    1 
 drivers/net/ipa/ipa_smp2p.c                       |    1 
 drivers/parisc/power.c                            |    1 
 drivers/power/reset/ltc2952-poweroff.c            |    1 
 drivers/remoteproc/remoteproc_core.c              |    1 
 drivers/s390/char/con3215.c                       |    1 
 drivers/s390/char/con3270.c                       |    1 
 drivers/s390/char/sclp.c                          |    1 
 drivers/s390/char/sclp_con.c                      |    1 
 drivers/s390/char/sclp_vt220.c                    |    1 
 drivers/s390/char/zcore.c                         |    1 
 drivers/soc/bcm/brcmstb/pm/pm-arm.c               |    1 
 drivers/staging/olpc_dcon/olpc_dcon.c             |    1 
 drivers/video/fbdev/hyperv_fb.c                   |    1 
 include/asm-generic/bug.h                         |    3 
 include/linux/kernel.h                            |   84 ----------
 include/linux/panic.h                             |   98 ++++++++++++
 include/linux/panic_notifier.h                    |   12 +
 include/linux/thread_info.h                       |    1 
 kernel/hung_task.c                                |    1 
 kernel/kexec_core.c                               |    1 
 kernel/panic.c                                    |    1 
 kernel/rcu/tree.c                                 |    2 
 kernel/sysctl.c                                   |    1 
 kernel/trace/trace.c                              |    1 
 55 files changed, 169 insertions(+), 85 deletions(-)

--- a/arch/alpha/kernel/setup.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/alpha/kernel/setup.c
@@ -28,6 +28,7 @@
 #include <linux/init.h>
 #include <linux/string.h>
 #include <linux/ioport.h>
+#include <linux/panic_notifier.h>
 #include <linux/platform_device.h>
 #include <linux/memblock.h>
 #include <linux/pci.h>
@@ -46,7 +47,6 @@
 #include <linux/log2.h>
 #include <linux/export.h>
 
-extern struct atomic_notifier_head panic_notifier_list;
 static int alpha_panic_event(struct notifier_block *, unsigned long, void *);
 static struct notifier_block alpha_panic_block = {
 	alpha_panic_event,
--- a/arch/arm64/kernel/setup.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/arm64/kernel/setup.c
@@ -23,6 +23,7 @@
 #include <linux/interrupt.h>
 #include <linux/smp.h>
 #include <linux/fs.h>
+#include <linux/panic_notifier.h>
 #include <linux/proc_fs.h>
 #include <linux/memblock.h>
 #include <linux/of_fdt.h>
--- a/arch/ia64/include/asm/pal.h~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/ia64/include/asm/pal.h
@@ -99,6 +99,7 @@
 
 #include <linux/types.h>
 #include <asm/fpu.h>
+#include <asm/intrinsics.h>
 
 /*
  * Data types needed to pass information into PAL procedures and
--- a/arch/mips/kernel/relocate.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/mips/kernel/relocate.c
@@ -18,6 +18,7 @@
 #include <linux/kernel.h>
 #include <linux/libfdt.h>
 #include <linux/of_fdt.h>
+#include <linux/panic_notifier.h>
 #include <linux/sched/task.h>
 #include <linux/start_kernel.h>
 #include <linux/string.h>
--- a/arch/mips/sgi-ip22/ip22-reset.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/mips/sgi-ip22/ip22-reset.c
@@ -12,6 +12,7 @@
 #include <linux/kernel.h>
 #include <linux/sched/signal.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/pm.h>
 #include <linux/timer.h>
 
--- a/arch/mips/sgi-ip32/ip32-reset.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/mips/sgi-ip32/ip32-reset.c
@@ -12,6 +12,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/panic_notifier.h>
 #include <linux/sched.h>
 #include <linux/sched/signal.h>
 #include <linux/notifier.h>
--- a/arch/parisc/kernel/pdc_chassis.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/parisc/kernel/pdc_chassis.c
@@ -20,6 +20,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/notifier.h>
 #include <linux/cache.h>
--- a/arch/powerpc/kernel/setup-common.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/powerpc/kernel/setup-common.c
@@ -9,6 +9,7 @@
 #undef DEBUG
 
 #include <linux/export.h>
+#include <linux/panic_notifier.h>
 #include <linux/string.h>
 #include <linux/sched.h>
 #include <linux/init.h>
--- a/arch/s390/kernel/ipl.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/s390/kernel/ipl.c
@@ -13,6 +13,7 @@
 #include <linux/init.h>
 #include <linux/device.h>
 #include <linux/delay.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/ctype.h>
 #include <linux/fs.h>
--- a/arch/sparc/kernel/sstate.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/sparc/kernel/sstate.c
@@ -6,6 +6,7 @@
 
 #include <linux/kernel.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/init.h>
 
--- a/arch/um/drivers/mconsole_kern.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/um/drivers/mconsole_kern.c
@@ -12,6 +12,7 @@
 #include <linux/mm.h>
 #include <linux/module.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/sched/debug.h>
 #include <linux/proc_fs.h>
--- a/arch/um/kernel/um_arch.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/um/kernel/um_arch.c
@@ -7,6 +7,7 @@
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/module.h>
+#include <linux/panic_notifier.h>
 #include <linux/seq_file.h>
 #include <linux/string.h>
 #include <linux/utsname.h>
--- a/arch/x86/include/asm/desc.h~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/x86/include/asm/desc.h
@@ -9,6 +9,7 @@
 #include <asm/irq_vectors.h>
 #include <asm/cpu_entry_area.h>
 
+#include <linux/debug_locks.h>
 #include <linux/smp.h>
 #include <linux/percpu.h>
 
--- a/arch/x86/kernel/cpu/mshyperv.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/x86/kernel/cpu/mshyperv.c
@@ -17,6 +17,7 @@
 #include <linux/irq.h>
 #include <linux/kexec.h>
 #include <linux/i8253.h>
+#include <linux/panic_notifier.h>
 #include <linux/random.h>
 #include <asm/processor.h>
 #include <asm/hypervisor.h>
--- a/arch/x86/kernel/setup.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/x86/kernel/setup.c
@@ -14,6 +14,7 @@
 #include <linux/initrd.h>
 #include <linux/iscsi_ibft.h>
 #include <linux/memblock.h>
+#include <linux/panic_notifier.h>
 #include <linux/pci.h>
 #include <linux/root_dev.h>
 #include <linux/hugetlb.h>
--- a/arch/x86/purgatory/purgatory.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/x86/purgatory/purgatory.c
@@ -9,6 +9,8 @@
  */
 
 #include <linux/bug.h>
+#include <linux/kernel.h>
+#include <linux/types.h>
 #include <crypto/sha2.h>
 #include <asm/purgatory.h>
 
--- a/arch/x86/xen/enlighten.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/x86/xen/enlighten.c
@@ -6,6 +6,7 @@
 #include <linux/cpu.h>
 #include <linux/kexec.h>
 #include <linux/slab.h>
+#include <linux/panic_notifier.h>
 
 #include <xen/xen.h>
 #include <xen/features.h>
--- a/arch/xtensa/platforms/iss/setup.c~kernelh-split-out-panic-and-oops-helpers
+++ a/arch/xtensa/platforms/iss/setup.c
@@ -14,6 +14,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/printk.h>
 #include <linux/string.h>
 
--- a/drivers/bus/brcmstb_gisb.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/bus/brcmstb_gisb.c
@@ -6,6 +6,7 @@
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/module.h>
+#include <linux/panic_notifier.h>
 #include <linux/platform_device.h>
 #include <linux/interrupt.h>
 #include <linux/sysfs.h>
--- a/drivers/char/ipmi/ipmi_msghandler.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/char/ipmi/ipmi_msghandler.c
@@ -16,6 +16,7 @@
 
 #include <linux/module.h>
 #include <linux/errno.h>
+#include <linux/panic_notifier.h>
 #include <linux/poll.h>
 #include <linux/sched.h>
 #include <linux/seq_file.h>
--- a/drivers/clk/analogbits/wrpll-cln28hpc.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/clk/analogbits/wrpll-cln28hpc.c
@@ -23,8 +23,12 @@
 
 #include <linux/bug.h>
 #include <linux/err.h>
+#include <linux/limits.h>
 #include <linux/log2.h>
 #include <linux/math64.h>
+#include <linux/math.h>
+#include <linux/minmax.h>
+
 #include <linux/clk/analogbits-wrpll-cln28hpc.h>
 
 /* MIN_INPUT_FREQ: minimum input clock frequency, in Hz (Fref_min) */
--- a/drivers/edac/altera_edac.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/edac/altera_edac.c
@@ -20,6 +20,7 @@
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/panic_notifier.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/types.h>
--- a/drivers/firmware/google/gsmi.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/firmware/google/gsmi.c
@@ -19,6 +19,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/fs.h>
 #include <linux/slab.h>
+#include <linux/panic_notifier.h>
 #include <linux/ioctl.h>
 #include <linux/acpi.h>
 #include <linux/io.h>
--- a/drivers/hv/vmbus_drv.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/hv/vmbus_drv.c
@@ -25,6 +25,7 @@
 
 #include <linux/delay.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/ptrace.h>
 #include <linux/screen_info.h>
 #include <linux/kdebug.h>
--- a/drivers/hwtracing/coresight/coresight-cpu-debug.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/hwtracing/coresight/coresight-cpu-debug.c
@@ -17,6 +17,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
+#include <linux/panic_notifier.h>
 #include <linux/pm_qos.h>
 #include <linux/slab.h>
 #include <linux/smp.h>
--- a/drivers/leds/trigger/ledtrig-activity.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/leds/trigger/ledtrig-activity.c
@@ -11,6 +11,7 @@
 #include <linux/kernel_stat.h>
 #include <linux/leds.h>
 #include <linux/module.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/sched.h>
 #include <linux/slab.h>
--- a/drivers/leds/trigger/ledtrig-heartbeat.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/leds/trigger/ledtrig-heartbeat.c
@@ -11,6 +11,7 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/panic_notifier.h>
 #include <linux/slab.h>
 #include <linux/timer.h>
 #include <linux/sched.h>
--- a/drivers/leds/trigger/ledtrig-panic.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/leds/trigger/ledtrig-panic.c
@@ -8,6 +8,7 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/leds.h>
 #include "../leds.h"
 
--- a/drivers/misc/bcm-vk/bcm_vk_dev.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/misc/bcm-vk/bcm_vk_dev.c
@@ -9,6 +9,7 @@
 #include <linux/fs.h>
 #include <linux/idr.h>
 #include <linux/interrupt.h>
+#include <linux/panic_notifier.h>
 #include <linux/kref.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
--- a/drivers/misc/ibmasm/heartbeat.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/misc/ibmasm/heartbeat.c
@@ -9,6 +9,7 @@
  */
 
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include "ibmasm.h"
 #include "dot_command.h"
 #include "lowlevel.h"
--- a/drivers/misc/pvpanic/pvpanic.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/misc/pvpanic/pvpanic.c
@@ -13,6 +13,7 @@
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
+#include <linux/panic_notifier.h>
 #include <linux/types.h>
 #include <linux/cdev.h>
 #include <linux/list.h>
--- a/drivers/net/ipa/ipa_smp2p.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/net/ipa/ipa_smp2p.c
@@ -8,6 +8,7 @@
 #include <linux/device.h>
 #include <linux/interrupt.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/soc/qcom/smem.h>
 #include <linux/soc/qcom/smem_state.h>
 
--- a/drivers/parisc/power.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/parisc/power.c
@@ -38,6 +38,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/notifier.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/sched/signal.h>
 #include <linux/kthread.h>
--- a/drivers/power/reset/ltc2952-poweroff.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/power/reset/ltc2952-poweroff.c
@@ -52,6 +52,7 @@
 #include <linux/slab.h>
 #include <linux/kmod.h>
 #include <linux/module.h>
+#include <linux/panic_notifier.h>
 #include <linux/mod_devicetable.h>
 #include <linux/gpio/consumer.h>
 #include <linux/reboot.h>
--- a/drivers/remoteproc/remoteproc_core.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/remoteproc/remoteproc_core.c
@@ -20,6 +20,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/device.h>
+#include <linux/panic_notifier.h>
 #include <linux/slab.h>
 #include <linux/mutex.h>
 #include <linux/dma-map-ops.h>
--- a/drivers/s390/char/con3215.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/con3215.c
@@ -19,6 +19,7 @@
 #include <linux/console.h>
 #include <linux/interrupt.h>
 #include <linux/err.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/serial.h> /* ASYNC_* flags */
 #include <linux/slab.h>
--- a/drivers/s390/char/con3270.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/con3270.c
@@ -13,6 +13,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/list.h>
+#include <linux/panic_notifier.h>
 #include <linux/types.h>
 #include <linux/slab.h>
 #include <linux/err.h>
--- a/drivers/s390/char/sclp.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/sclp.c
@@ -11,6 +11,7 @@
 #include <linux/kernel_stat.h>
 #include <linux/module.h>
 #include <linux/err.h>
+#include <linux/panic_notifier.h>
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>
 #include <linux/timer.h>
--- a/drivers/s390/char/sclp_con.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/sclp_con.c
@@ -10,6 +10,7 @@
 #include <linux/kmod.h>
 #include <linux/console.h>
 #include <linux/init.h>
+#include <linux/panic_notifier.h>
 #include <linux/timer.h>
 #include <linux/jiffies.h>
 #include <linux/termios.h>
--- a/drivers/s390/char/sclp_vt220.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/sclp_vt220.c
@@ -9,6 +9,7 @@
 
 #include <linux/module.h>
 #include <linux/spinlock.h>
+#include <linux/panic_notifier.h>
 #include <linux/list.h>
 #include <linux/wait.h>
 #include <linux/timer.h>
--- a/drivers/s390/char/zcore.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/s390/char/zcore.c
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/debugfs.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 
 #include <asm/asm-offsets.h>
--- a/drivers/soc/bcm/brcmstb/pm/pm-arm.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/soc/bcm/brcmstb/pm/pm-arm.c
@@ -28,6 +28,7 @@
 #include <linux/notifier.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
+#include <linux/panic_notifier.h>
 #include <linux/platform_device.h>
 #include <linux/pm.h>
 #include <linux/printk.h>
--- a/drivers/staging/olpc_dcon/olpc_dcon.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/staging/olpc_dcon/olpc_dcon.c
@@ -22,6 +22,7 @@
 #include <linux/device.h>
 #include <linux/uaccess.h>
 #include <linux/ctype.h>
+#include <linux/panic_notifier.h>
 #include <linux/reboot.h>
 #include <linux/olpc-ec.h>
 #include <asm/tsc.h>
--- a/drivers/video/fbdev/hyperv_fb.c~kernelh-split-out-panic-and-oops-helpers
+++ a/drivers/video/fbdev/hyperv_fb.c
@@ -52,6 +52,7 @@
 #include <linux/completion.h>
 #include <linux/fb.h>
 #include <linux/pci.h>
+#include <linux/panic_notifier.h>
 #include <linux/efi.h>
 #include <linux/console.h>
 
--- a/include/asm-generic/bug.h~kernelh-split-out-panic-and-oops-helpers
+++ a/include/asm-generic/bug.h
@@ -17,7 +17,8 @@
 #endif
 
 #ifndef __ASSEMBLY__
-#include <linux/kernel.h>
+#include <linux/panic.h>
+#include <linux/printk.h>
 
 #ifdef CONFIG_BUG
 
--- a/include/linux/kernel.h~kernelh-split-out-panic-and-oops-helpers
+++ a/include/linux/kernel.h
@@ -14,6 +14,7 @@
 #include <linux/math.h>
 #include <linux/minmax.h>
 #include <linux/typecheck.h>
+#include <linux/panic.h>
 #include <linux/printk.h>
 #include <linux/build_bug.h>
 #include <linux/static_call_types.h>
@@ -72,7 +73,6 @@
 #define lower_32_bits(n) ((u32)((n) & 0xffffffff))
 
 struct completion;
-struct pt_regs;
 struct user;
 
 #ifdef CONFIG_PREEMPT_VOLUNTARY
@@ -177,14 +177,6 @@ void __might_fault(const char *file, int
 static inline void might_fault(void) { }
 #endif
 
-extern struct atomic_notifier_head panic_notifier_list;
-extern long (*panic_blink)(int state);
-__printf(1, 2)
-void panic(const char *fmt, ...) __noreturn __cold;
-void nmi_panic(struct pt_regs *regs, const char *msg);
-extern void oops_enter(void);
-extern void oops_exit(void);
-extern bool oops_may_print(void);
 void do_exit(long error_code) __noreturn;
 void complete_and_exit(struct completion *, long) __noreturn;
 
@@ -372,52 +364,8 @@ extern int __kernel_text_address(unsigne
 extern int kernel_text_address(unsigned long addr);
 extern int func_ptr_is_kernel_text(void *ptr);
 
-#ifdef CONFIG_SMP
-extern unsigned int sysctl_oops_all_cpu_backtrace;
-#else
-#define sysctl_oops_all_cpu_backtrace 0
-#endif /* CONFIG_SMP */
-
 extern void bust_spinlocks(int yes);
-extern int panic_timeout;
-extern unsigned long panic_print;
-extern int panic_on_oops;
-extern int panic_on_unrecovered_nmi;
-extern int panic_on_io_nmi;
-extern int panic_on_warn;
-extern unsigned long panic_on_taint;
-extern bool panic_on_taint_nousertaint;
-extern int sysctl_panic_on_rcu_stall;
-extern int sysctl_max_rcu_stall_to_panic;
-extern int sysctl_panic_on_stackoverflow;
-
-extern bool crash_kexec_post_notifiers;
-
-/*
- * panic_cpu is used for synchronizing panic() and crash_kexec() execution. It
- * holds a CPU number which is executing panic() currently. A value of
- * PANIC_CPU_INVALID means no CPU has entered panic() or crash_kexec().
- */
-extern atomic_t panic_cpu;
-#define PANIC_CPU_INVALID	-1
 
-/*
- * Only to be used by arch init code. If the user over-wrote the default
- * CONFIG_PANIC_TIMEOUT, honor it.
- */
-static inline void set_arch_panic_timeout(int timeout, int arch_default_timeout)
-{
-	if (panic_timeout == arch_default_timeout)
-		panic_timeout = timeout;
-}
-extern const char *print_tainted(void);
-enum lockdep_ok {
-	LOCKDEP_STILL_OK,
-	LOCKDEP_NOW_UNRELIABLE
-};
-extern void add_taint(unsigned flag, enum lockdep_ok);
-extern int test_taint(unsigned flag);
-extern unsigned long get_taint(void);
 extern int root_mountflags;
 
 extern bool early_boot_irqs_disabled;
@@ -436,36 +384,6 @@ extern enum system_states {
 	SYSTEM_SUSPEND,
 } system_state;
 
-/* This cannot be an enum because some may be used in assembly source. */
-#define TAINT_PROPRIETARY_MODULE	0
-#define TAINT_FORCED_MODULE		1
-#define TAINT_CPU_OUT_OF_SPEC		2
-#define TAINT_FORCED_RMMOD		3
-#define TAINT_MACHINE_CHECK		4
-#define TAINT_BAD_PAGE			5
-#define TAINT_USER			6
-#define TAINT_DIE			7
-#define TAINT_OVERRIDDEN_ACPI_TABLE	8
-#define TAINT_WARN			9
-#define TAINT_CRAP			10
-#define TAINT_FIRMWARE_WORKAROUND	11
-#define TAINT_OOT_MODULE		12
-#define TAINT_UNSIGNED_MODULE		13
-#define TAINT_SOFTLOCKUP		14
-#define TAINT_LIVEPATCH			15
-#define TAINT_AUX			16
-#define TAINT_RANDSTRUCT		17
-#define TAINT_FLAGS_COUNT		18
-#define TAINT_FLAGS_MAX			((1UL << TAINT_FLAGS_COUNT) - 1)
-
-struct taint_flag {
-	char c_true;	/* character printed when tainted */
-	char c_false;	/* character printed when not tainted */
-	bool module;	/* also show as a per-module taint flag */
-};
-
-extern const struct taint_flag taint_flags[TAINT_FLAGS_COUNT];
-
 extern const char hex_asc[];
 #define hex_asc_lo(x)	hex_asc[((x) & 0x0f)]
 #define hex_asc_hi(x)	hex_asc[((x) & 0xf0) >> 4]
--- /dev/null
+++ a/include/linux/panic.h
@@ -0,0 +1,98 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_PANIC_H
+#define _LINUX_PANIC_H
+
+#include <linux/compiler_attributes.h>
+#include <linux/types.h>
+
+struct pt_regs;
+
+extern long (*panic_blink)(int state);
+__printf(1, 2)
+void panic(const char *fmt, ...) __noreturn __cold;
+void nmi_panic(struct pt_regs *regs, const char *msg);
+extern void oops_enter(void);
+extern void oops_exit(void);
+extern bool oops_may_print(void);
+
+#ifdef CONFIG_SMP
+extern unsigned int sysctl_oops_all_cpu_backtrace;
+#else
+#define sysctl_oops_all_cpu_backtrace 0
+#endif /* CONFIG_SMP */
+
+extern int panic_timeout;
+extern unsigned long panic_print;
+extern int panic_on_oops;
+extern int panic_on_unrecovered_nmi;
+extern int panic_on_io_nmi;
+extern int panic_on_warn;
+
+extern unsigned long panic_on_taint;
+extern bool panic_on_taint_nousertaint;
+
+extern int sysctl_panic_on_rcu_stall;
+extern int sysctl_max_rcu_stall_to_panic;
+extern int sysctl_panic_on_stackoverflow;
+
+extern bool crash_kexec_post_notifiers;
+
+/*
+ * panic_cpu is used for synchronizing panic() and crash_kexec() execution. It
+ * holds a CPU number which is executing panic() currently. A value of
+ * PANIC_CPU_INVALID means no CPU has entered panic() or crash_kexec().
+ */
+extern atomic_t panic_cpu;
+#define PANIC_CPU_INVALID	-1
+
+/*
+ * Only to be used by arch init code. If the user over-wrote the default
+ * CONFIG_PANIC_TIMEOUT, honor it.
+ */
+static inline void set_arch_panic_timeout(int timeout, int arch_default_timeout)
+{
+	if (panic_timeout == arch_default_timeout)
+		panic_timeout = timeout;
+}
+
+/* This cannot be an enum because some may be used in assembly source. */
+#define TAINT_PROPRIETARY_MODULE	0
+#define TAINT_FORCED_MODULE		1
+#define TAINT_CPU_OUT_OF_SPEC		2
+#define TAINT_FORCED_RMMOD		3
+#define TAINT_MACHINE_CHECK		4
+#define TAINT_BAD_PAGE			5
+#define TAINT_USER			6
+#define TAINT_DIE			7
+#define TAINT_OVERRIDDEN_ACPI_TABLE	8
+#define TAINT_WARN			9
+#define TAINT_CRAP			10
+#define TAINT_FIRMWARE_WORKAROUND	11
+#define TAINT_OOT_MODULE		12
+#define TAINT_UNSIGNED_MODULE		13
+#define TAINT_SOFTLOCKUP		14
+#define TAINT_LIVEPATCH			15
+#define TAINT_AUX			16
+#define TAINT_RANDSTRUCT		17
+#define TAINT_FLAGS_COUNT		18
+#define TAINT_FLAGS_MAX			((1UL << TAINT_FLAGS_COUNT) - 1)
+
+struct taint_flag {
+	char c_true;	/* character printed when tainted */
+	char c_false;	/* character printed when not tainted */
+	bool module;	/* also show as a per-module taint flag */
+};
+
+extern const struct taint_flag taint_flags[TAINT_FLAGS_COUNT];
+
+enum lockdep_ok {
+	LOCKDEP_STILL_OK,
+	LOCKDEP_NOW_UNRELIABLE,
+};
+
+extern const char *print_tainted(void);
+extern void add_taint(unsigned flag, enum lockdep_ok);
+extern int test_taint(unsigned flag);
+extern unsigned long get_taint(void);
+
+#endif	/* _LINUX_PANIC_H */
--- /dev/null
+++ a/include/linux/panic_notifier.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_PANIC_NOTIFIERS_H
+#define _LINUX_PANIC_NOTIFIERS_H
+
+#include <linux/notifier.h>
+#include <linux/types.h>
+
+extern struct atomic_notifier_head panic_notifier_list;
+
+extern bool crash_kexec_post_notifiers;
+
+#endif	/* _LINUX_PANIC_NOTIFIERS_H */
--- a/include/linux/thread_info.h~kernelh-split-out-panic-and-oops-helpers
+++ a/include/linux/thread_info.h
@@ -9,6 +9,7 @@
 #define _LINUX_THREAD_INFO_H
 
 #include <linux/types.h>
+#include <linux/limits.h>
 #include <linux/bug.h>
 #include <linux/restart_block.h>
 #include <linux/errno.h>
--- a/kernel/hung_task.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/hung_task.c
@@ -15,6 +15,7 @@
 #include <linux/kthread.h>
 #include <linux/lockdep.h>
 #include <linux/export.h>
+#include <linux/panic_notifier.h>
 #include <linux/sysctl.h>
 #include <linux/suspend.h>
 #include <linux/utsname.h>
--- a/kernel/kexec_core.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/kexec_core.c
@@ -26,6 +26,7 @@
 #include <linux/suspend.h>
 #include <linux/device.h>
 #include <linux/freezer.h>
+#include <linux/panic_notifier.h>
 #include <linux/pm.h>
 #include <linux/cpu.h>
 #include <linux/uaccess.h>
--- a/kernel/panic.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/panic.c
@@ -23,6 +23,7 @@
 #include <linux/reboot.h>
 #include <linux/delay.h>
 #include <linux/kexec.h>
+#include <linux/panic_notifier.h>
 #include <linux/sched.h>
 #include <linux/sysrq.h>
 #include <linux/init.h>
--- a/kernel/rcu/tree.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/rcu/tree.c
@@ -32,6 +32,8 @@
 #include <linux/export.h>
 #include <linux/completion.h>
 #include <linux/moduleparam.h>
+#include <linux/panic.h>
+#include <linux/panic_notifier.h>
 #include <linux/percpu.h>
 #include <linux/notifier.h>
 #include <linux/cpu.h>
--- a/kernel/sysctl.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/sysctl.c
@@ -27,6 +27,7 @@
 #include <linux/sysctl.h>
 #include <linux/bitmap.h>
 #include <linux/signal.h>
+#include <linux/panic.h>
 #include <linux/printk.h>
 #include <linux/proc_fs.h>
 #include <linux/security.h>
--- a/kernel/trace/trace.c~kernelh-split-out-panic-and-oops-helpers
+++ a/kernel/trace/trace.c
@@ -39,6 +39,7 @@
 #include <linux/slab.h>
 #include <linux/ctype.h>
 #include <linux/init.h>
+#include <linux/panic_notifier.h>
 #include <linux/poll.h>
 #include <linux/nmi.h>
 #include <linux/fs.h>
_

  parent reply	other threads:[~2021-07-01  1:55 UTC|newest]

Thread overview: 218+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-01  1:46 incoming Andrew Morton
2021-07-01  1:47 ` [patch 001/192] mm: memory_hotplug: factor out bootmem core functions to bootmem_info.c Andrew Morton
2021-07-01  1:47 ` [patch 002/192] mm: hugetlb: introduce a new config HUGETLB_PAGE_FREE_VMEMMAP Andrew Morton
2021-07-01  1:47 ` [patch 003/192] mm: hugetlb: gather discrete indexes of tail page Andrew Morton
2021-07-01  1:47 ` [patch 004/192] mm: hugetlb: free the vmemmap pages associated with each HugeTLB page Andrew Morton
2021-07-01  3:46   ` Linus Torvalds
2021-07-01  6:29     ` [External] " Muchun Song
2021-07-01 18:25       ` Linus Torvalds
2021-07-01  1:47 ` [patch 005/192] mm: hugetlb: defer freeing of HugeTLB pages Andrew Morton
2021-07-01  1:47 ` [patch 006/192] mm: hugetlb: alloc the vmemmap pages associated with each HugeTLB page Andrew Morton
2021-07-01  1:47 ` [patch 007/192] mm: hugetlb: add a kernel parameter hugetlb_free_vmemmap Andrew Morton
2021-07-01  1:47 ` [patch 008/192] mm: memory_hotplug: disable memmap_on_memory when hugetlb_free_vmemmap enabled Andrew Morton
2021-07-01  1:47 ` [patch 009/192] mm: hugetlb: introduce nr_free_vmemmap_pages in the struct hstate Andrew Morton
2021-07-01  1:47 ` [patch 010/192] mm/debug_vm_pgtable: move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE Andrew Morton
2021-07-01  1:47 ` [patch 011/192] mm/debug_vm_pgtable: remove redundant pfn_{pmd/pte}() and fix one comment mistake Andrew Morton
2021-07-01  1:47 ` [patch 012/192] mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK Andrew Morton
2021-07-01  1:47 ` [patch 013/192] mm/huge_memory.c: use page->deferred_list Andrew Morton
2021-07-01  1:47 ` [patch 014/192] mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() Andrew Morton
2021-07-01  1:47 ` [patch 015/192] mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd Andrew Morton
2021-07-01  1:47 ` [patch 016/192] mm/huge_memory.c: don't discard hugepage if other processes are mapping it Andrew Morton
2021-07-01  1:48 ` [patch 017/192] mm/hugetlb: change parameters of arch_make_huge_pte() Andrew Morton
2021-07-01  1:48 ` [patch 018/192] mm/pgtable: add stubs for {pmd/pub}_{set/clear}_huge Andrew Morton
2021-07-01  1:48 ` [patch 019/192] mm/vmalloc: enable mapping of huge pages at pte level in vmap Andrew Morton
2021-07-01  1:48 ` [patch 020/192] mm/vmalloc: enable mapping of huge pages at pte level in vmalloc Andrew Morton
2021-07-01  1:48 ` [patch 021/192] powerpc/8xx: add support for huge pages on VMAP and VMALLOC Andrew Morton
2021-07-01  1:48 ` [patch 022/192] khugepaged: selftests: remove debug_cow Andrew Morton
2021-07-01  1:48 ` [patch 023/192] mm, hugetlb: fix racy resv_huge_pages underflow on UFFDIO_COPY Andrew Morton
2021-07-12 14:48   ` Matthew Wilcox
2021-07-12 16:58     ` Mike Kravetz
2021-07-12 19:28       ` Mina Almasry
2021-07-01  1:48 ` [patch 024/192] mm: sparsemem: split the huge PMD mapping of vmemmap pages Andrew Morton
2021-07-01  1:48 ` [patch 025/192] mm: sparsemem: use huge PMD mapping for " Andrew Morton
2021-07-01  1:48 ` [patch 026/192] mm: hugetlb: introduce CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON Andrew Morton
2021-07-01  1:48 ` [patch 027/192] hugetlb: remove prep_compound_huge_page cleanup Andrew Morton
2021-07-01  1:48 ` [patch 028/192] hugetlb: address ref count racing in prep_compound_gigantic_page Andrew Morton
2021-07-01  1:48 ` [patch 029/192] mm/hwpoison: disable pcp for page_handle_poison() Andrew Morton
2021-07-01  1:48 ` [patch 030/192] userfaultfd/selftests: use user mode only Andrew Morton
2021-07-01  1:48 ` [patch 031/192] userfaultfd/selftests: remove the time() check on delayed uffd Andrew Morton
2021-07-01  1:48 ` [patch 032/192] userfaultfd/selftests: dropping VERIFY check in locking_thread Andrew Morton
2021-07-01  1:48 ` [patch 033/192] userfaultfd/selftests: only dump counts if mode enabled Andrew Morton
2021-07-01  1:48 ` [patch 034/192] userfaultfd/selftests: unify error handling Andrew Morton
2021-07-01  1:48 ` [patch 035/192] mm/thp: simplify copying of huge zero page pmd when fork Andrew Morton
2021-07-01  1:49 ` [patch 036/192] mm/userfaultfd: fix uffd-wp special cases for fork() Andrew Morton
2021-07-01  1:49 ` [patch 037/192] mm/userfaultfd: fail uffd-wp registration if not supported Andrew Morton
2021-07-01  1:49 ` [patch 038/192] mm/pagemap: export uffd-wp protection information Andrew Morton
2021-07-01  1:49 ` [patch 039/192] userfaultfd/selftests: add pagemap uffd-wp test Andrew Morton
2021-07-01  1:49 ` [patch 040/192] userfaultfd/shmem: combine shmem_{mcopy_atomic,mfill_zeropage}_pte Andrew Morton
2021-07-01  1:49 ` [patch 041/192] userfaultfd/shmem: support minor fault registration for shmem Andrew Morton
2021-07-01  1:49 ` [patch 042/192] userfaultfd/shmem: support UFFDIO_CONTINUE " Andrew Morton
2021-07-01  1:49 ` [patch 043/192] userfaultfd/shmem: advertise shmem minor fault support Andrew Morton
2021-07-01  1:49 ` [patch 044/192] userfaultfd/shmem: modify shmem_mfill_atomic_pte to use install_pte() Andrew Morton
2021-07-01  1:49 ` [patch 045/192] userfaultfd/selftests: use memfd_create for shmem test type Andrew Morton
2021-07-01  1:49 ` [patch 046/192] userfaultfd/selftests: create alias mappings in the shmem test Andrew Morton
2021-07-01  1:49 ` [patch 047/192] userfaultfd/selftests: reinitialize test context in each test Andrew Morton
2021-07-01  1:49 ` [patch 048/192] userfaultfd/selftests: exercise minor fault handling shmem support Andrew Morton
2021-07-01  1:49 ` [patch 049/192] mm/vmscan.c: fix potential deadlock in reclaim_pages() Andrew Morton
2021-07-01  1:49 ` [patch 050/192] include/trace/events/vmscan.h: remove mm_vmscan_inactive_list_is_low Andrew Morton
2021-07-01  1:49 ` [patch 051/192] mm: workingset: define macro WORKINGSET_SHIFT Andrew Morton
2021-07-01  1:49 ` [patch 052/192] mm/kconfig: move HOLES_IN_ZONE into mm Andrew Morton
2021-07-01  1:50 ` [patch 053/192] docs: proc.rst: meminfo: briefly describe gaps in memory accounting Andrew Morton
2021-07-01  1:50 ` [patch 054/192] fs/proc/kcore: drop KCORE_REMAP and KCORE_OTHER Andrew Morton
2021-07-01  1:50 ` [patch 055/192] fs/proc/kcore: pfn_is_ram check only applies to KCORE_RAM Andrew Morton
2021-07-01  1:50 ` [patch 056/192] fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages Andrew Morton
2021-07-01  1:50 ` [patch 057/192] mm: introduce page_offline_(begin|end|freeze|thaw) to synchronize setting PageOffline() Andrew Morton
2021-07-01  1:50 ` [patch 058/192] virtio-mem: use page_offline_(start|end) when " Andrew Morton
2021-07-01  1:50 ` [patch 059/192] fs/proc/kcore: use page_offline_(freeze|thaw) Andrew Morton
2021-07-01  1:50 ` [patch 060/192] mm/z3fold: define macro NCHUNKS as TOTAL_CHUNKS - ZHDR_CHUNKS Andrew Morton
2021-07-01  1:50 ` [patch 061/192] mm/z3fold: avoid possible underflow in z3fold_alloc() Andrew Morton
2021-07-01  1:50 ` [patch 062/192] mm/z3fold: remove magic number in z3fold_create_pool() Andrew Morton
2021-07-01  1:50 ` [patch 063/192] mm/z3fold: remove unused function handle_to_z3fold_header() Andrew Morton
2021-07-01  1:50 ` [patch 064/192] mm/z3fold: fix potential memory leak in z3fold_destroy_pool() Andrew Morton
2021-07-01  1:50 ` [patch 065/192] mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page Andrew Morton
2021-07-01  1:50 ` [patch 066/192] mm/zbud: reuse unbuddied[0] as buddied in zbud_pool Andrew Morton
2021-07-01  1:50 ` [patch 067/192] mm/zbud: don't export any zbud API Andrew Morton
2021-07-01  1:50 ` [patch 068/192] mm/compaction: use DEVICE_ATTR_WO macro Andrew Morton
2021-07-01  1:50 ` [patch 069/192] mm: compaction: remove duplicate !list_empty(&sublist) check Andrew Morton
2021-07-01  1:50 ` [patch 070/192] mm/compaction: fix 'limit' in fast_isolate_freepages Andrew Morton
2021-07-01  1:50 ` [patch 071/192] mm/mempolicy: cleanup nodemask intersection check for oom Andrew Morton
2021-07-01  1:51 ` [patch 072/192] mm/mempolicy: don't handle MPOL_LOCAL like a fake MPOL_PREFERRED policy Andrew Morton
2021-07-01  1:51 ` [patch 073/192] mm/mempolicy: unify the parameter sanity check for mbind and set_mempolicy Andrew Morton
2021-07-01  1:51 ` [patch 074/192] mm: mempolicy: don't have to split pmd for huge zero page Andrew Morton
2021-07-01  1:51 ` [patch 075/192] mm/mempolicy: use unified 'nodes' for bind/interleave/prefer policies Andrew Morton
2021-07-01  1:51 ` [patch 076/192] include/linux/mmzone.h: add documentation for pfn_valid() Andrew Morton
2021-07-01  1:51 ` [patch 077/192] memblock: update initialization of reserved pages Andrew Morton
2021-07-01  1:51 ` [patch 078/192] arm64: decouple check whether pfn is in linear map from pfn_valid() Andrew Morton
2021-07-01  1:51 ` [patch 079/192] arm64: drop pfn_valid_within() and simplify pfn_valid() Andrew Morton
2021-07-01  1:51 ` [patch 080/192] arm64/mm: drop HAVE_ARCH_PFN_VALID Andrew Morton
2021-07-01  1:51 ` [patch 081/192] mm: migrate: fix missing update page_private to hugetlb_page_subpool Andrew Morton
2021-07-01  1:51 ` [patch 082/192] mm, thp: relax the VM_DENYWRITE constraint on file-backed THPs Andrew Morton
2021-07-01  1:51 ` [patch 083/192] mm: memory: add orig_pmd to struct vm_fault Andrew Morton
2021-07-01  1:51 ` [patch 084/192] mm: memory: make numa_migrate_prep() non-static Andrew Morton
2021-07-01  1:51 ` [patch 085/192] mm: thp: refactor NUMA fault handling Andrew Morton
2021-07-01  1:51 ` [patch 086/192] mm: migrate: account THP NUMA migration counters correctly Andrew Morton
2021-07-01  1:51 ` [patch 087/192] mm: migrate: don't split THP for misplaced NUMA page Andrew Morton
2021-07-01  1:51 ` [patch 088/192] mm: migrate: check mapcount for THP instead of refcount Andrew Morton
2021-07-01  1:51 ` [patch 089/192] mm: thp: skip make PMD PROT_NONE if THP migration is not supported Andrew Morton
2021-07-01  1:51 ` [patch 090/192] mm/thp: make ARCH_ENABLE_SPLIT_PMD_PTLOCK dependent on PGTABLE_LEVELS > 2 Andrew Morton
2021-07-01  1:52 ` [patch 091/192] mm: rmap: make try_to_unmap() void function Andrew Morton
2021-07-01  1:52 ` [patch 092/192] mm/thp: remap_page() is only needed on anonymous THP Andrew Morton
2021-07-01  1:52 ` [patch 093/192] mm: hwpoison_user_mappings() try_to_unmap() with TTU_SYNC Andrew Morton
2021-07-01  1:52 ` [patch 094/192] mm/thp: fix strncpy warning Andrew Morton
2021-07-01  1:52 ` [patch 095/192] nommu: remove __GFP_HIGHMEM in vmalloc/vzalloc Andrew Morton
2021-07-01  1:52 ` [patch 096/192] mm/nommu: unexport do_munmap() Andrew Morton
2021-07-01  1:52 ` [patch 097/192] mm: generalize ZONE_[DMA|DMA32] Andrew Morton
2021-07-01  2:46   ` Linus Torvalds
2021-07-01  4:29     ` Konstantin Ryabitsev
2021-07-01  1:52 ` [patch 098/192] mm: make variable names for populate_vma_page_range() consistent Andrew Morton
2021-07-01  1:52 ` [patch 099/192] mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables Andrew Morton
2021-07-01  1:52 ` [patch 100/192] MAINTAINERS: add tools/testing/selftests/vm/ to MEMORY MANAGEMENT Andrew Morton
2021-07-01  1:52 ` [patch 101/192] selftests/vm: add protection_keys_32 / protection_keys_64 to gitignore Andrew Morton
2021-07-01  1:52 ` [patch 102/192] selftests/vm: add test for MADV_POPULATE_(READ|WRITE) Andrew Morton
2021-07-01  1:52 ` [patch 103/192] mm/memory_hotplug: rate limit page migration warnings Andrew Morton
2021-07-01  1:52 ` [patch 104/192] mm,memory_hotplug: drop unneeded locking Andrew Morton
2021-07-01  1:52 ` [patch 105/192] mm/zswap.c: remove unused function zswap_debugfs_exit() Andrew Morton
2021-07-01  1:52 ` [patch 106/192] mm/zswap.c: avoid unnecessary copy-in at map time Andrew Morton
2021-07-01  1:52 ` [patch 107/192] mm/zswap.c: fix two bugs in zswap_writeback_entry() Andrew Morton
2021-07-01  1:52 ` [patch 108/192] mm: zram: amend SLAB_RECLAIM_ACCOUNT on zspage_cachep Andrew Morton
2021-07-01 14:55   ` Minchan Kim
2021-07-01 18:07     ` Linus Torvalds
2021-07-02  2:45     ` Zhaoyang Huang
2021-07-02  5:47       ` Minchan Kim
2021-07-02  6:20         ` Zhaoyang Huang
2021-07-02  7:33           ` Minchan Kim
2021-07-01  1:53 ` [patch 109/192] mm/zsmalloc.c: remove confusing code in obj_free() Andrew Morton
2021-07-01  1:53 ` [patch 110/192] mm/zsmalloc.c: improve readability for async_free_zspage() Andrew Morton
2021-07-01  1:53 ` [patch 111/192] zram: move backing_dev under macro CONFIG_ZRAM_WRITEBACK Andrew Morton
2021-07-01  1:53 ` [patch 112/192] mm: fix typos and grammar error in comments Andrew Morton
2021-07-01  1:53 ` [patch 113/192] mm: define default value for FIRST_USER_ADDRESS Andrew Morton
2021-07-01  1:53 ` [patch 114/192] mm: fix spelling mistakes Andrew Morton
2021-07-01  1:53 ` [patch 115/192] mm/vmscan: remove kerneldoc-like comment from isolate_lru_pages Andrew Morton
2021-07-01  1:53 ` [patch 116/192] mm/vmalloc: include header for prototype of set_iounmap_nonlazy Andrew Morton
2021-07-01  1:53 ` [patch 117/192] mm/page_alloc: make should_fail_alloc_page() static Andrew Morton
2021-07-01  1:53 ` [patch 118/192] mm/mapping_dirty_helpers: remove double Note in kerneldoc Andrew Morton
2021-07-01  1:53 ` [patch 119/192] mm/memcontrol.c: fix kerneldoc comment for mem_cgroup_calculate_protection Andrew Morton
2021-07-01  1:53 ` [patch 120/192] mm/memory_hotplug: fix kerneldoc comment for __try_online_node Andrew Morton
2021-07-01  1:53 ` [patch 121/192] mm/memory_hotplug: fix kerneldoc comment for __remove_memory Andrew Morton
2021-07-01  1:53 ` [patch 122/192] mm/zbud: add kerneldoc fields for zbud_pool Andrew Morton
2021-07-01  1:53 ` [patch 123/192] mm/z3fold: add kerneldoc fields for z3fold_pool Andrew Morton
2021-07-01  1:53 ` [patch 124/192] mm/swap: make swap_address_space an inline function Andrew Morton
2021-07-01  1:53 ` [patch 125/192] mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations Andrew Morton
2021-07-01  1:53 ` [patch 126/192] mm/page_alloc: move prototype for find_suitable_fallback Andrew Morton
2021-07-01  1:53 ` [patch 127/192] mm/swap: make NODE_DATA an inline function on CONFIG_FLATMEM Andrew Morton
2021-07-01  1:53 ` [patch 128/192] mm/thp: define default pmd_pgtable() Andrew Morton
2021-07-01  1:54 ` [patch 129/192] kfence: unconditionally use unbound work queue Andrew Morton
2021-07-01  1:54 ` [patch 130/192] mm: remove special swap entry functions Andrew Morton
2021-07-01  1:54 ` [patch 131/192] mm/swapops: rework swap entry manipulation code Andrew Morton
2021-07-01  1:54 ` [patch 132/192] mm/rmap: split try_to_munlock from try_to_unmap Andrew Morton
2021-07-01  1:54 ` [patch 133/192] mm/rmap: split migration into its own function Andrew Morton
2021-07-01  1:54 ` [patch 134/192] mm: rename migrate_pgmap_owner Andrew Morton
2021-07-01  1:54 ` [patch 135/192] mm/memory.c: allow different return codes for copy_nonpresent_pte() Andrew Morton
2021-07-01  1:54 ` [patch 136/192] mm: device exclusive memory access Andrew Morton
2021-07-01  1:54 ` [patch 137/192] mm: selftests for exclusive device memory Andrew Morton
2021-07-01  1:54 ` [patch 138/192] nouveau/svm: refactor nouveau_range_fault Andrew Morton
2021-07-01  1:54 ` [patch 139/192] nouveau/svm: implement atomic SVM access Andrew Morton
2021-07-01  1:54 ` [patch 140/192] proc: Avoid mixing integer types in mem_rw() Andrew Morton
2021-07-01  1:54 ` [patch 141/192] fs/proc/kcore.c: add mmap interface Andrew Morton
2021-07-01  3:32   ` Linus Torvalds
2021-07-01  6:35     ` [External] " zhoufeng
2021-07-01  1:54 ` [patch 142/192] procfs: allow reading fdinfo with PTRACE_MODE_READ Andrew Morton
2021-07-02 14:54   ` Christian Brauner
2021-07-02 18:43   ` Kees Cook
2021-07-02 19:00     ` Linus Torvalds
2021-07-02 20:40       ` Eric W. Biederman
2021-07-02 23:31         ` Kees Cook
2021-07-03  0:15           ` Linus Torvalds
2021-07-03 21:43             ` Eric W. Biederman
2021-07-01  1:54 ` [patch 143/192] procfs/dmabuf: add inode number to /proc/*/fdinfo Andrew Morton
2021-07-01  1:54 ` [patch 144/192] sysctl: remove redundant assignment to first Andrew Morton
2021-07-01  1:54 ` [patch 145/192] drm: include only needed headers in ascii85.h Andrew Morton
2021-07-01  1:54 ` Andrew Morton [this message]
2021-07-01  1:55 ` [patch 147/192] lib: decompress_bunzip2: remove an unneeded semicolon Andrew Morton
2021-07-01  1:55 ` [patch 148/192] lib/string_helpers: switch to use BIT() macro Andrew Morton
2021-07-01  1:55 ` [patch 149/192] lib/string_helpers: move ESCAPE_NP check inside 'else' branch in a loop Andrew Morton
2021-07-01  1:55 ` [patch 150/192] lib/string_helpers: drop indentation level in string_escape_mem() Andrew Morton
2021-07-01  1:55 ` [patch 151/192] lib/string_helpers: introduce ESCAPE_NA for escaping non-ASCII Andrew Morton
2021-07-01  1:55 ` [patch 152/192] lib/string_helpers: introduce ESCAPE_NAP to escape non-ASCII and non-printable Andrew Morton
2021-07-01  1:55 ` [patch 153/192] lib/string_helpers: allow to append additional characters to be escaped Andrew Morton
2021-07-01  1:55 ` [patch 154/192] lib/test-string_helpers: print flags in hexadecimal format Andrew Morton
2021-07-01  1:55 ` [patch 155/192] lib/test-string_helpers: get rid of trailing comma in terminators Andrew Morton
2021-07-01  1:55 ` [patch 156/192] lib/test-string_helpers: add test cases for new features Andrew Morton
2021-07-01  1:55 ` [patch 157/192] MAINTAINERS: add myself as designated reviewer for generic string library Andrew Morton
2021-07-01  1:55 ` [patch 158/192] seq_file: introduce seq_escape_mem() Andrew Morton
2021-07-01  1:55 ` [patch 159/192] seq_file: add seq_escape_str() as replica of string_escape_str() Andrew Morton
2021-07-01  1:55 ` [patch 160/192] seq_file: convert seq_escape() to use seq_escape_str() Andrew Morton
2021-07-01  1:55 ` [patch 161/192] nfsd: avoid non-flexible API in seq_quote_mem() Andrew Morton
2021-07-01  1:55 ` [patch 162/192] seq_file: drop unused *_escape_mem_ascii() Andrew Morton
2021-07-01  1:55 ` [patch 163/192] lib/math/rational.c: fix divide by zero Andrew Morton
2021-07-01  1:55 ` [patch 164/192] lib/math/rational: add Kunit test cases Andrew Morton
2021-07-01  1:55 ` [patch 165/192] lib/decompressors: fix spelling mistakes Andrew Morton
2021-07-01  1:55 ` [patch 166/192] lib/mpi: " Andrew Morton
2021-07-01  1:56 ` [patch 167/192] lib: memscan() fixlet Andrew Morton
2021-07-01  1:56 ` [patch 168/192] lib: uninline simple_strtoull() Andrew Morton
2021-07-01  1:56 ` [patch 169/192] lib/test_string.c: allow module removal Andrew Morton
2021-07-01  1:56 ` [patch 170/192] kernel.h: split out kstrtox() and simple_strtox() to a separate header Andrew Morton
2021-07-01  1:56 ` [patch 171/192] lz4_decompress: declare LZ4_decompress_safe_withPrefix64k static Andrew Morton
2021-07-01  1:56 ` [patch 172/192] lib/decompress_unlz4.c: correctly handle zero-padding around initrds Andrew Morton
2021-07-01  1:56 ` [patch 173/192] checkpatch: scripts/spdxcheck.py now requires python3 Andrew Morton
2021-07-01  1:56 ` [patch 174/192] checkpatch: improve the indented label test Andrew Morton
2021-07-01  1:56 ` [patch 175/192] checkpatch: do not complain about positive return values starting with EPOLL Andrew Morton
2021-07-01  1:56 ` [patch 176/192] init: print out unknown kernel parameters Andrew Morton
2021-07-01  1:56 ` [patch 177/192] kprobes: remove duplicated strong free_insn_page in x86 and s390 Andrew Morton
2021-07-01  1:56 ` [patch 178/192] nilfs2: remove redundant continue statement in a while-loop Andrew Morton
2021-07-01  1:56 ` [patch 179/192] hfsplus: remove unnecessary oom message Andrew Morton
2021-07-01  1:56 ` [patch 180/192] hfsplus: report create_date to kstat.btime Andrew Morton
2021-07-01  1:56 ` [patch 181/192] x86: signal: don't do sas_ss_reset() until we are certain that sigframe won't be abandoned Andrew Morton
2021-07-01  1:56 ` [patch 182/192] exec: remove checks in __register_bimfmt() Andrew Morton
2021-07-01  1:56 ` [patch 183/192] kcov: add __no_sanitize_coverage to fix noinstr for all architectures Andrew Morton
2021-07-01  1:56 ` [patch 184/192] selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random Andrew Morton
2021-07-01  1:56 ` [patch 185/192] selftests/vm/pkeys: handle negative sys_pkey_alloc() return code Andrew Morton
2021-07-01  1:56 ` [patch 186/192] selftests/vm/pkeys: refill shadow register after implicit kernel write Andrew Morton
2021-07-01  1:57 ` [patch 187/192] selftests/vm/pkeys: exercise x86 XSAVE init state Andrew Morton
2021-07-01  1:57 ` [patch 188/192] lib/decompressors: remove set but not used variabled 'level' Andrew Morton
2021-07-01  1:57 ` [patch 189/192] ipc sem: use kvmalloc for sem_undo allocation Andrew Morton
2021-07-01  1:57 ` [patch 190/192] ipc: use kmalloc for msg_queue and shmid_kernel Andrew Morton
2021-07-01  1:57 ` [patch 191/192] ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lock Andrew Morton
2021-07-01  1:57 ` [patch 192/192] ipc/util.c: use binary search for max_idx Andrew Morton
2021-07-03  0:28 ` incoming Linus Torvalds
2021-07-03  1:06   ` incoming Linus Torvalds

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210701015459.RNbWvwfIP%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=bjorn.andersson@linaro.org \
    --cc=christian.brauner@ubuntu.com \
    --cc=cminyard@mvista.com \
    --cc=deller@gmx.de \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mcgrof@kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=rppt@linux.ibm.com \
    --cc=sboyd@kernel.org \
    --cc=sre@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tsbogend@alpha.franken.de \
    --cc=wei.liu@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).