|
@@ -23,6 +23,8 @@
|
|
#include <linux/compiler.h>
|
|
#include <linux/compiler.h>
|
|
#include <linux/linkage.h>
|
|
#include <linux/linkage.h>
|
|
#include <linux/irqflags.h>
|
|
#include <linux/irqflags.h>
|
|
|
|
+#include <linux/signal.h>
|
|
|
|
+#include <linux/ratelimit.h>
|
|
#include <linux/reboot.h>
|
|
#include <linux/reboot.h>
|
|
|
|
|
|
struct pt_regs;
|
|
struct pt_regs;
|
|
@@ -43,6 +45,17 @@ extern void __show_regs(struct pt_regs *);
|
|
|
|
|
|
extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
|
|
extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
|
|
|
|
|
|
|
|
+#define show_unhandled_signals_ratelimited() \
|
|
|
|
+({ \
|
|
|
|
+ static DEFINE_RATELIMIT_STATE(_rs, \
|
|
|
|
+ DEFAULT_RATELIMIT_INTERVAL, \
|
|
|
|
+ DEFAULT_RATELIMIT_BURST); \
|
|
|
|
+ bool __show_ratelimited = false; \
|
|
|
|
+ if (show_unhandled_signals && __ratelimit(&_rs)) \
|
|
|
|
+ __show_ratelimited = true; \
|
|
|
|
+ __show_ratelimited; \
|
|
|
|
+})
|
|
|
|
+
|
|
#define UDBG_UNDEFINED (1 << 0)
|
|
#define UDBG_UNDEFINED (1 << 0)
|
|
#define UDBG_SYSCALL (1 << 1)
|
|
#define UDBG_SYSCALL (1 << 1)
|
|
#define UDBG_BADABORT (1 << 2)
|
|
#define UDBG_BADABORT (1 << 2)
|