[PATCH] x86/nmi: Fix nmi_handle duration miscalculation

From: Libing Zhou
Date: Mon Aug 17 2020 - 05:05:21 EST


In nmi_check_duration(), the 'whole_msecs' value should
get from 'duration' to reflect actual time duration,
but not 'action->max_duration'.

Signed-off-by: Libing Zhou <libing.zhou@xxxxxxxxxxxxxxx>
---
arch/x86/kernel/nmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 4fc9954a9560..c51ee659e520 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -102,7 +102,7 @@ fs_initcall(nmi_warning_debugfs);

static void nmi_check_duration(struct nmiaction *action, u64 duration)
{
- u64 whole_msecs = READ_ONCE(action->max_duration);
+ u64 whole_msecs = duration;
int remainder_ns, decimal_msecs;

if (duration < nmi_longest_ns || duration < action->max_duration)
--
2.22.0