Skip to content

Commit

Permalink
futex: Simplify return logic
Browse files Browse the repository at this point in the history
No need to assign ret in each case and break. Simply return the result
of the handler function directly.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Darren Hart <[email protected]>
  • Loading branch information
KAGA-KOKO committed Feb 15, 2012
1 parent 59263b5 commit 81b4053
Showing 1 changed file with 13 additions and 25 deletions.
38 changes: 13 additions & 25 deletions kernel/futex.c
Original file line number Diff line number Diff line change
Expand Up @@ -2616,7 +2616,7 @@ void exit_robust_list(struct task_struct *curr)
long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,
u32 __user *uaddr2, u32 val2, u32 val3)
{
int ret = -ENOSYS, cmd = op & FUTEX_CMD_MASK;
int cmd = op & FUTEX_CMD_MASK;
unsigned int flags = 0;

if (!(op & FUTEX_PRIVATE_FLAG))
Expand All @@ -2642,43 +2642,31 @@ long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,
case FUTEX_WAIT:
val3 = FUTEX_BITSET_MATCH_ANY;
case FUTEX_WAIT_BITSET:
ret = futex_wait(uaddr, flags, val, timeout, val3);
break;
return futex_wait(uaddr, flags, val, timeout, val3);
case FUTEX_WAKE:
val3 = FUTEX_BITSET_MATCH_ANY;
case FUTEX_WAKE_BITSET:
ret = futex_wake(uaddr, flags, val, val3);
break;
return futex_wake(uaddr, flags, val, val3);
case FUTEX_REQUEUE:
ret = futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0);
break;
return futex_requeue(uaddr, flags, uaddr2, val, val2, NULL, 0);
case FUTEX_CMP_REQUEUE:
ret = futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0);
break;
return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 0);
case FUTEX_WAKE_OP:
ret = futex_wake_op(uaddr, flags, uaddr2, val, val2, val3);
break;
return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3);
case FUTEX_LOCK_PI:
ret = futex_lock_pi(uaddr, flags, val, timeout, 0);
break;
return futex_lock_pi(uaddr, flags, val, timeout, 0);
case FUTEX_UNLOCK_PI:
ret = futex_unlock_pi(uaddr, flags);
break;
return futex_unlock_pi(uaddr, flags);
case FUTEX_TRYLOCK_PI:
ret = futex_lock_pi(uaddr, flags, 0, timeout, 1);
break;
return futex_lock_pi(uaddr, flags, 0, timeout, 1);
case FUTEX_WAIT_REQUEUE_PI:
val3 = FUTEX_BITSET_MATCH_ANY;
ret = futex_wait_requeue_pi(uaddr, flags, val, timeout, val3,
uaddr2);
break;
return futex_wait_requeue_pi(uaddr, flags, val, timeout, val3,
uaddr2);
case FUTEX_CMP_REQUEUE_PI:
ret = futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1);
break;
default:
ret = -ENOSYS;
return futex_requeue(uaddr, flags, uaddr2, val, val2, &val3, 1);
}
return ret;
return -ENOSYS;
}


Expand Down

0 comments on commit 81b4053

Please sign in to comment.