include/linux/panic_notifier.h | 3 +++ kernel/panic.c | 12 ++++++++++++ 2 files changed, 15 insertions(+)
Add two methods to manipulate panic_notifier_list and export them.
Subsequently, panic_notifier_list is changed to static variable.
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
---
include/linux/panic_notifier.h | 3 +++
kernel/panic.c | 12 ++++++++++++
2 files changed, 15 insertions(+)
diff --git a/include/linux/panic_notifier.h b/include/linux/panic_notifier.h
index 41e32483d7a7..9543d498b90b 100644
--- a/include/linux/panic_notifier.h
+++ b/include/linux/panic_notifier.h
@@ -5,6 +5,9 @@
#include <linux/notifier.h>
#include <linux/types.h>
+int register_panic_notifier(struct notifier_block *nb);
+int unregister_panic_notifier(struct notifier_block *nb);
+
extern struct atomic_notifier_head panic_notifier_list;
extern bool crash_kexec_post_notifiers;
diff --git a/kernel/panic.c b/kernel/panic.c
index c6eb8f8db0c0..b848ec4ca6e2 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -199,6 +199,18 @@ static void panic_print_sys_info(bool console_flush)
ftrace_dump(DUMP_ALL);
}
+int register_panic_notifier(struct notifier_block *nb)
+{
+ return atomic_notifier_chain_register(&panic_notifier_list, nb);
+}
+EXPORT_SYMBOL(register_panic_notifier);
+
+int unregister_panic_notifier(struct notifier_block *nb)
+{
+ return atomic_notifier_chain_unregister(&panic_notifier_list, nb);
+}
+EXPORT_SYMBOL(unregister_panic_notifier);
+
/**
* panic - halt the system
* @fmt: The text string to print
--
2.17.1
On 01/08/2022 07:05, Xu Qiang wrote: > Add two methods to manipulate panic_notifier_list and export them. > Subsequently, panic_notifier_list is changed to static variable. > > Signed-off-by: Xu Qiang <xuqiang36@huawei.com> Hi Xu Qiang, first of all, thanks for your patch! I'd like to mention 2 things about it: (a) As-is, there's no much use for it - I mean, you're adding a helper but you didn't change the uses of such notifier list addition (and there are plenty of them). Are you intend to change it, or just use the new API in new calls? (b) Even more important: we are working in a panic notifier refactor [0], and that'll add new lists. I'm still working on that, plan to submit (relatively) soon. Maybe worth to wait it, if this one is not urgent? Cheers, Guilherme [0] https://lore.kernel.org/lkml/20220427224924.592546-1-gpiccoli@igalia.com/
在 2022/8/1 20:12, Guilherme G. Piccoli 写道: > On 01/08/2022 07:05, Xu Qiang wrote: >> Add two methods to manipulate panic_notifier_list and export them. >> Subsequently, panic_notifier_list is changed to static variable. >> >> Signed-off-by: Xu Qiang <xuqiang36@huawei.com> > Hi Xu Qiang, first of all, thanks for your patch! > I'd like to mention 2 things about it: > > (a) As-is, there's no much use for it - I mean, you're adding a helper > but you didn't change the uses of such notifier list addition (and there > are plenty of them). Are you intend to change it, or just use the new > API in new calls? After this patch comes in, I will replace all the old interfaces with the new ones. > > (b) Even more important: we are working in a panic notifier refactor > [0], and that'll add new lists. I'm still working on that, plan to > submit (relatively) soon. Maybe worth to wait it, if this one is not urgent? I can wait for your patch to be incorporated before submitting it. > > Cheers, > > > Guilherme > > > [0] > https://lore.kernel.org/lkml/20220427224924.592546-1-gpiccoli@igalia.com/ > Thanks Xu
On 01/08/2022 10:58, xuqiang (M) wrote: > 在 2022/8/1 20:12, Guilherme G. Piccoli 写道: >> On 01/08/2022 07:05, Xu Qiang wrote: >>> Add two methods to manipulate panic_notifier_list and export them. >>> Subsequently, panic_notifier_list is changed to static variable. >>> >>> Signed-off-by: Xu Qiang <xuqiang36@huawei.com> >> Hi Xu Qiang, first of all, thanks for your patch! >> I'd like to mention 2 things about it: >> >> (a) As-is, there's no much use for it - I mean, you're adding a helper >> but you didn't change the uses of such notifier list addition (and there >> are plenty of them). Are you intend to change it, or just use the new >> API in new calls? > After this patch comes in, I will replace all the old interfaces with > the new ones. >> >> (b) Even more important: we are working in a panic notifier refactor >> [0], and that'll add new lists. I'm still working on that, plan to >> submit (relatively) soon. Maybe worth to wait it, if this one is not urgent? > I can wait for your patch to be incorporated before submitting it. Great, thanks Xu! I'll include you in the CC list of the V2 =)
© 2016 - 2026 Red Hat, Inc.