diff options
Diffstat (limited to 'arch/x86_64/kernel/traps.c')
| -rw-r--r-- | arch/x86_64/kernel/traps.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 7b148309c52..edaa9fe654d 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c @@ -69,20 +69,20 @@ asmlinkage void alignment_check(void);  asmlinkage void machine_check(void);  asmlinkage void spurious_interrupt_bug(void); -struct notifier_block *die_chain; -static DEFINE_SPINLOCK(die_notifier_lock); +ATOMIC_NOTIFIER_HEAD(die_chain);  int register_die_notifier(struct notifier_block *nb)  { -	int err = 0; -	unsigned long flags; -  	vmalloc_sync_all(); -	spin_lock_irqsave(&die_notifier_lock, flags); -	err = notifier_chain_register(&die_chain, nb); -	spin_unlock_irqrestore(&die_notifier_lock, flags); -	return err; +	return atomic_notifier_chain_register(&die_chain, nb); +} +EXPORT_SYMBOL(register_die_notifier); + +int unregister_die_notifier(struct notifier_block *nb) +{ +	return atomic_notifier_chain_unregister(&die_chain, nb);  } +EXPORT_SYMBOL(unregister_die_notifier);  static inline void conditional_sti(struct pt_regs *regs)  {  |