mirror of https://gitee.com/openkylin/linux.git
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: locking: clarify kernel-taint warning message lockdep, x86: account for irqs enabled in paranoid_exit lockdep: more robust lockdep_map init sequence
This commit is contained in:
commit
1e4b978154
|
@ -1410,7 +1410,10 @@ ENTRY(paranoid_exit)
|
|||
paranoid_swapgs:
|
||||
TRACE_IRQS_IRETQ 0
|
||||
SWAPGS_UNSAFE_STACK
|
||||
RESTORE_ALL 8
|
||||
jmp irq_return
|
||||
paranoid_restore:
|
||||
TRACE_IRQS_IRETQ 0
|
||||
RESTORE_ALL 8
|
||||
jmp irq_return
|
||||
paranoid_userspace:
|
||||
|
|
|
@ -2490,13 +2490,20 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this,
|
|||
void lockdep_init_map(struct lockdep_map *lock, const char *name,
|
||||
struct lock_class_key *key, int subclass)
|
||||
{
|
||||
if (unlikely(!debug_locks))
|
||||
lock->class_cache = NULL;
|
||||
#ifdef CONFIG_LOCK_STAT
|
||||
lock->cpu = raw_smp_processor_id();
|
||||
#endif
|
||||
|
||||
if (DEBUG_LOCKS_WARN_ON(!name)) {
|
||||
lock->name = "NULL";
|
||||
return;
|
||||
}
|
||||
|
||||
lock->name = name;
|
||||
|
||||
if (DEBUG_LOCKS_WARN_ON(!key))
|
||||
return;
|
||||
if (DEBUG_LOCKS_WARN_ON(!name))
|
||||
return;
|
||||
/*
|
||||
* Sanity check, the lock-class key must be persistent:
|
||||
*/
|
||||
|
@ -2505,12 +2512,11 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name,
|
|||
DEBUG_LOCKS_WARN_ON(1);
|
||||
return;
|
||||
}
|
||||
lock->name = name;
|
||||
lock->key = key;
|
||||
lock->class_cache = NULL;
|
||||
#ifdef CONFIG_LOCK_STAT
|
||||
lock->cpu = raw_smp_processor_id();
|
||||
#endif
|
||||
|
||||
if (unlikely(!debug_locks))
|
||||
return;
|
||||
|
||||
if (subclass)
|
||||
register_lock_class(lock, subclass, 1);
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ void add_taint(unsigned flag)
|
|||
* post-warning case.
|
||||
*/
|
||||
if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off())
|
||||
printk(KERN_WARNING "Disabling lockdep due to kernel taint\n");
|
||||
printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n");
|
||||
|
||||
set_bit(flag, &tainted_mask);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue