aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/linux/linux_futex.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c
index ab2760859e16..37d0142bae8b 100644
--- a/sys/compat/linux/linux_futex.c
+++ b/sys/compat/linux/linux_futex.c
@@ -501,9 +501,7 @@ linux_futex_lock_pi(struct thread *td, bool try, struct linux_futex_args *args)
if (error != 0)
break;
- umtxq_lock(&uq->uq_key);
- umtxq_busy(&uq->uq_key);
- umtxq_unlock(&uq->uq_key);
+ umtxq_busy_unlocked(&uq->uq_key);
/*
* Set the contested bit so that a release in user space knows
@@ -642,9 +640,7 @@ linux_futex_wakeop(struct thread *td, struct linux_futex_args *args)
umtx_key_release(&key);
return (error);
}
- umtxq_lock(&key);
- umtxq_busy(&key);
- umtxq_unlock(&key);
+ umtxq_busy_unlocked(&key);
error = futex_atomic_op(td, args->val3, args->uaddr2, &op_ret);
umtxq_lock(&key);
umtxq_unbusy(&key);
@@ -701,9 +697,7 @@ linux_futex_requeue(struct thread *td, struct linux_futex_args *args)
umtx_key_release(&key);
return (error);
}
- umtxq_lock(&key);
- umtxq_busy(&key);
- umtxq_unlock(&key);
+ umtxq_busy_unlocked(&key);
error = fueword32(args->uaddr, &uval);
if (error != 0)
error = EFAULT;