/* (*) There's a small time where the owner can be NULL and the "lock has waiters" bit is set. This can happen when grabbing the lock. To prevent a cmpxchg of the owner releasing the lock, we need to set this bit before looking at the lock, hence the reason this is a transitional state.  */
static void rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner, unsigned long mask)
/* (*) There's a small time where the owner can be NULL and the "lock has waiters" bit is set. This can happen when grabbing the lock. To prevent a cmpxchg of the owner releasing the lock, we need to set this bit before looking at the lock, hence the reason this is a transitional state.  */
static void rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner, unsigned long mask)
{
	unsigned long val = (unsigned long)owner | mask;
	if (rt_mutex_has_waiters(lock))
		val |= RT_MUTEX_HAS_WAITERS;
	lock->owner = (struct task_struct *)val;
}