diff options
author | Changbin Du <changbin.du@gmail.com> | 2020-01-11 15:54:27 +0300 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-01-11 17:55:39 +0300 |
commit | 248ed51048c40d36728e70914e38bffd7821da57 (patch) | |
tree | 9b5eed653ff1b880fa2b7ae8c9b9767ed1db2346 /arch/x86/include | |
parent | 36209766cede1fe9d39f3d3418d93bbf71ad21c4 (diff) | |
download | linux-248ed51048c40d36728e70914e38bffd7821da57.tar.xz |
x86/nmi: Remove irq_work from the long duration NMI handler
First, printk() is NMI-context safe now since the safe printk() has been
implemented and it already has an irq_work to make NMI-context safe.
Second, this NMI irq_work actually does not work if a NMI handler causes
panic by watchdog timeout. It has no chance to run in such case, while
the safe printk() will flush its per-cpu buffers before panicking.
While at it, repurpose the irq_work callback into a function which
concentrates the NMI duration checking and makes the code easier to
follow.
[ bp: Massage. ]
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200111125427.15662-1-changbin.du@gmail.com
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/nmi.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/include/asm/nmi.h b/arch/x86/include/asm/nmi.h index 75ded1d13d98..9d5d949e662e 100644 --- a/arch/x86/include/asm/nmi.h +++ b/arch/x86/include/asm/nmi.h @@ -41,7 +41,6 @@ struct nmiaction { struct list_head list; nmi_handler_t handler; u64 max_duration; - struct irq_work irq_work; unsigned long flags; const char *name; }; |