Commit ca062f8d authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fixes from Ingo Molnar:
 "Misc fixes: liblockdep fixes and ww_mutex fixes"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking/ww_mutex: Fix spelling mistake "cylic" -> "cyclic"
  locking/lockdep: Delete unnecessary #include
  tools/lib/lockdep: Add dummy task_struct state member
  tools/lib/lockdep: Add empty nmi.h
  tools/lib/lockdep: Update Sasha Levin email to MSFT
  jump_label: Fix typo in warning message
  locking/mutex: Fix mutex debug call and ww_mutex documentation
parents 3a5af36b 0b405c65
...@@ -8316,7 +8316,7 @@ F: include/linux/libata.h ...@@ -8316,7 +8316,7 @@ F: include/linux/libata.h
F: Documentation/devicetree/bindings/ata/ F: Documentation/devicetree/bindings/ata/
LIBLOCKDEP LIBLOCKDEP
M: Sasha Levin <alexander.levin@verizon.com> M: Sasha Levin <alexander.levin@microsoft.com>
S: Maintained S: Maintained
F: tools/lib/lockdep/ F: tools/lib/lockdep/
......
...@@ -678,7 +678,7 @@ jump_label_module_notify(struct notifier_block *self, unsigned long val, ...@@ -678,7 +678,7 @@ jump_label_module_notify(struct notifier_block *self, unsigned long val,
case MODULE_STATE_COMING: case MODULE_STATE_COMING:
ret = jump_label_add_module(mod); ret = jump_label_add_module(mod);
if (ret) { if (ret) {
WARN(1, "Failed to allocatote memory: jump_label may not work properly.\n"); WARN(1, "Failed to allocate memory: jump_label may not work properly.\n");
jump_label_del_module(mod); jump_label_del_module(mod);
} }
break; break;
......
...@@ -55,7 +55,6 @@ ...@@ -55,7 +55,6 @@
#include "lockdep_internals.h" #include "lockdep_internals.h"
#include <trace/events/preemptirq.h>
#define CREATE_TRACE_POINTS #define CREATE_TRACE_POINTS
#include <trace/events/lock.h> #include <trace/events/lock.h>
......
...@@ -389,7 +389,7 @@ static bool __ww_mutex_wound(struct mutex *lock, ...@@ -389,7 +389,7 @@ static bool __ww_mutex_wound(struct mutex *lock,
/* /*
* wake_up_process() paired with set_current_state() * wake_up_process() paired with set_current_state()
* inserts sufficient barriers to make sure @owner either sees * inserts sufficient barriers to make sure @owner either sees
* it's wounded in __ww_mutex_lock_check_stamp() or has a * it's wounded in __ww_mutex_check_kill() or has a
* wakeup pending to re-read the wounded state. * wakeup pending to re-read the wounded state.
*/ */
if (owner != current) if (owner != current)
...@@ -946,7 +946,6 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, ...@@ -946,7 +946,6 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
} }
debug_mutex_lock_common(lock, &waiter); debug_mutex_lock_common(lock, &waiter);
debug_mutex_add_waiter(lock, &waiter, current);
lock_contended(&lock->dep_map, ip); lock_contended(&lock->dep_map, ip);
......
...@@ -324,7 +324,7 @@ static int __test_cycle(unsigned int nthreads) ...@@ -324,7 +324,7 @@ static int __test_cycle(unsigned int nthreads)
if (!cycle->result) if (!cycle->result)
continue; continue;
pr_err("cylic deadlock not resolved, ret[%d/%d] = %d\n", pr_err("cyclic deadlock not resolved, ret[%d/%d] = %d\n",
n, nthreads, cycle->result); n, nthreads, cycle->result);
ret = -EINVAL; ret = -EINVAL;
break; break;
......
...@@ -30,9 +30,12 @@ struct task_struct { ...@@ -30,9 +30,12 @@ struct task_struct {
struct held_lock held_locks[MAX_LOCK_DEPTH]; struct held_lock held_locks[MAX_LOCK_DEPTH];
gfp_t lockdep_reclaim_gfp; gfp_t lockdep_reclaim_gfp;
int pid; int pid;
int state;
char comm[17]; char comm[17];
}; };
#define TASK_RUNNING 0
extern struct task_struct *__curr(void); extern struct task_struct *__curr(void);
#define current (__curr()) #define current (__curr())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment