File tree Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Original file line number Diff line number Diff line change @@ -68,3 +68,11 @@ config RV_REACT_PRINTK
68
68
help
69
69
Enables the printk reactor. The printk reactor emits a printk()
70
70
message if an exception is found.
71
+
72
+ config RV_REACT_PANIC
73
+ bool "Panic reactor"
74
+ depends on RV_REACTORS
75
+ default y
76
+ help
77
+ Enables the panic reactor. The panic reactor emits a printk()
78
+ message if an exception is found and panic()s the system.
Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ obj-$(CONFIG_RV_MON_WIP) += monitors/wip/wip.o
5
5
obj-$(CONFIG_RV_MON_WWNR) += monitors/wwnr/wwnr.o
6
6
obj-$(CONFIG_RV_REACTORS) += rv_reactors.o
7
7
obj-$(CONFIG_RV_REACT_PRINTK) += reactor_printk.o
8
+ obj-$(CONFIG_RV_REACT_PANIC) += reactor_panic.o
Original file line number Diff line number Diff line change
1
+ // SPDX-License-Identifier: GPL-2.0
2
+ /*
3
+ * Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <[email protected] >
4
+ *
5
+ * Panic RV reactor:
6
+ * Prints the exception msg to the kernel message log and panic().
7
+ */
8
+
9
+ #include <linux/ftrace.h>
10
+ #include <linux/tracepoint.h>
11
+ #include <linux/kernel.h>
12
+ #include <linux/module.h>
13
+ #include <linux/init.h>
14
+ #include <linux/rv.h>
15
+
16
+ static void rv_panic_reaction (char * msg )
17
+ {
18
+ panic (msg );
19
+ }
20
+
21
+ static struct rv_reactor rv_panic = {
22
+ .name = "panic" ,
23
+ .description = "panic the system if an exception is found." ,
24
+ .react = rv_panic_reaction
25
+ };
26
+
27
+ static int register_react_panic (void )
28
+ {
29
+ rv_register_reactor (& rv_panic );
30
+ return 0 ;
31
+ }
32
+
33
+ static void unregister_react_panic (void )
34
+ {
35
+ rv_unregister_reactor (& rv_panic );
36
+ }
37
+
38
+ module_init (register_react_panic );
39
+ module_exit (unregister_react_panic );
40
+
41
+ MODULE_LICENSE ("GPL" );
42
+ MODULE_AUTHOR ("Daniel Bristot de Oliveira" );
43
+ MODULE_DESCRIPTION ("panic rv reactor: panic if an exception is found." );
You can’t perform that action at this time.
0 commit comments