Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 713e3e18 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'core-fixes-for-linus-2' of...

Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  lockdep: Fix typos in documentation
  lockdep: Fix file mode of lock_stat
  rtmutex: Avoid deadlock in rt_mutex_start_proxy_lock()
parents 7b2aa037 0e692a94
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -30,9 +30,9 @@ State
The validator tracks lock-class usage history into 4n + 1 separate state bits:
The validator tracks lock-class usage history into 4n + 1 separate state bits:


- 'ever held in STATE context'
- 'ever held in STATE context'
- 'ever head as readlock in STATE context'
- 'ever held as readlock in STATE context'
- 'ever head with STATE enabled'
- 'ever held with STATE enabled'
- 'ever head as readlock with STATE enabled'
- 'ever held as readlock with STATE enabled'


Where STATE can be either one of (kernel/lockdep_states.h)
Where STATE can be either one of (kernel/lockdep_states.h)
 - hardirq
 - hardirq
+2 −1
Original line number Original line Diff line number Diff line
@@ -758,7 +758,8 @@ static int __init lockdep_proc_init(void)
		    &proc_lockdep_stats_operations);
		    &proc_lockdep_stats_operations);


#ifdef CONFIG_LOCK_STAT
#ifdef CONFIG_LOCK_STAT
	proc_create("lock_stat", S_IRUSR, NULL, &proc_lock_stat_operations);
	proc_create("lock_stat", S_IRUSR | S_IWUSR, NULL,
		    &proc_lock_stat_operations);
#endif
#endif


	return 0;
	return 0;
+1 −3
Original line number Original line Diff line number Diff line
@@ -1039,16 +1039,14 @@ int rt_mutex_start_proxy_lock(struct rt_mutex *lock,
	if (!rt_mutex_owner(lock) || try_to_steal_lock(lock, task)) {
	if (!rt_mutex_owner(lock) || try_to_steal_lock(lock, task)) {
		/* We got the lock for task. */
		/* We got the lock for task. */
		debug_rt_mutex_lock(lock);
		debug_rt_mutex_lock(lock);

		rt_mutex_set_owner(lock, task, 0);
		rt_mutex_set_owner(lock, task, 0);

		spin_unlock(&lock->wait_lock);
		rt_mutex_deadlock_account_lock(lock, task);
		rt_mutex_deadlock_account_lock(lock, task);
		return 1;
		return 1;
	}
	}


	ret = task_blocks_on_rt_mutex(lock, waiter, task, detect_deadlock);
	ret = task_blocks_on_rt_mutex(lock, waiter, task, detect_deadlock);



	if (ret && !waiter->task) {
	if (ret && !waiter->task) {
		/*
		/*
		 * Reset the return value. We might have
		 * Reset the return value. We might have