summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/nmi.h
diff options
context:
space:
mode:
authorChangbin Du <changbin.du@gmail.com>2020-01-11 20:54:27 +0800
committerBorislav Petkov <bp@suse.de>2020-01-11 15:55:39 +0100
commit248ed51048c40d36728e70914e38bffd7821da57 (patch)
tree9b5eed653ff1b880fa2b7ae8c9b9767ed1db2346 /arch/x86/include/asm/nmi.h
parent36209766cede1fe9d39f3d3418d93bbf71ad21c4 (diff)
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/asm/nmi.h')
-rw-r--r--arch/x86/include/asm/nmi.h1
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;
};