Revert "lockdep, timer: Fix del_timer_sync() annotation"
Both attempts at trying to allow softirq usage for
del_timer_sync() failed (produced bogus warnings),
so revert the commit for this release:
f266a5110d
: lockdep, timer: Fix del_timer_sync() annotation
and try again later.
Reported-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Yong Zhang <yong.zhang0@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
LKML-Reference: <1297174680.13327.107.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
100b33c8bd
commit
7ff207928e
@ -959,7 +959,7 @@ EXPORT_SYMBOL(try_to_del_timer_sync);
|
||||
*
|
||||
* Synchronization rules: Callers must prevent restarting of the timer,
|
||||
* otherwise this function is meaningless. It must not be called from
|
||||
* hardirq contexts. The caller must not hold locks which would prevent
|
||||
* interrupt contexts. The caller must not hold locks which would prevent
|
||||
* completion of the timer's handler. The timer's handler must not call
|
||||
* add_timer_on(). Upon exit the timer is not queued and the handler is
|
||||
* not running on any CPU.
|
||||
@ -971,12 +971,10 @@ int del_timer_sync(struct timer_list *timer)
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
unsigned long flags;
|
||||
|
||||
raw_local_irq_save(flags);
|
||||
local_bh_disable();
|
||||
local_irq_save(flags);
|
||||
lock_map_acquire(&timer->lockdep_map);
|
||||
lock_map_release(&timer->lockdep_map);
|
||||
_local_bh_enable();
|
||||
raw_local_irq_restore(flags);
|
||||
local_irq_restore(flags);
|
||||
#endif
|
||||
/*
|
||||
* don't use it in hardirq context, because it
|
||||
|
Loading…
Reference in New Issue
Block a user