diff options
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/nmi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/nmi.c b/arch/x86_64/kernel/nmi.c index 84cae81fff8b..caf164959e19 100644 --- a/arch/x86_64/kernel/nmi.c +++ b/arch/x86_64/kernel/nmi.c | |||
@@ -524,14 +524,14 @@ asmlinkage void do_nmi(struct pt_regs * regs, long error_code) | |||
524 | 524 | ||
525 | nmi_enter(); | 525 | nmi_enter(); |
526 | add_pda(__nmi_count,1); | 526 | add_pda(__nmi_count,1); |
527 | if (!nmi_callback(regs, cpu)) | 527 | if (!rcu_dereference(nmi_callback)(regs, cpu)) |
528 | default_do_nmi(regs); | 528 | default_do_nmi(regs); |
529 | nmi_exit(); | 529 | nmi_exit(); |
530 | } | 530 | } |
531 | 531 | ||
532 | void set_nmi_callback(nmi_callback_t callback) | 532 | void set_nmi_callback(nmi_callback_t callback) |
533 | { | 533 | { |
534 | nmi_callback = callback; | 534 | rcu_assign_pointer(nmi_callback, callback); |
535 | } | 535 | } |
536 | 536 | ||
537 | void unset_nmi_callback(void) | 537 | void unset_nmi_callback(void) |