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

Commit 9388dc30 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Ingo Molnar
Browse files

sched: Turn lock_task_sighand() into a static inline



It appears that sparse tool understands static inline functions
for context balance checking, so let's turn the macros into an
inline func.

This makes the code a little bit more robust.

Suggested-by: default avatarOleg Nesterov <oleg@redhat.com>
Signed-off-by: default avatarAnton Vorontsov <anton.vorontsov@linaro.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Arve <arve@android.com>
Cc: San Mehat <san@google.com>
Cc: Colin Cross <ccross@android.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: kernel-team@android.com
Cc: linaro-kernel@lists.linaro.org
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20120209164519.GA10266@oksana.dev.rtsoft.ru


Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ed387b78
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -2393,12 +2393,15 @@ static inline void task_unlock(struct task_struct *p)
extern struct sighand_struct *__lock_task_sighand(struct task_struct *tsk,
							unsigned long *flags);

#define lock_task_sighand(tsk, flags)					\
({	struct sighand_struct *__ss;					\
	__cond_lock(&(tsk)->sighand->siglock,				\
		    (__ss = __lock_task_sighand(tsk, flags)));		\
	__ss;								\
})									\
static inline struct sighand_struct *lock_task_sighand(struct task_struct *tsk,
						       unsigned long *flags)
{
	struct sighand_struct *ret;

	ret = __lock_task_sighand(tsk, flags);
	(void)__cond_lock(&tsk->sighand->siglock, ret);
	return ret;
}

static inline void unlock_task_sighand(struct task_struct *tsk,
						unsigned long *flags)