Re: [PATCH v2] sys_prctl(): remove unsigned comparision with less than zero

From: Andrew Morton
Date: Wed Jul 24 2019 - 22:14:52 EST


On Wed, 24 Jul 2019 10:11:48 +0800 Yang Xu <xuyang2018.jy@xxxxxxxxxxxxxx> wrote:

> Currently, when calling prctl(PR_SET_TIMERSLACK, arg2), arg2 is an
> unsigned long value, arg2 will never < 0. Negative judgment is
> meaningless, so remove it.
>
> ...
>
> --- a/kernel/sys.c
> +++ b/kernel/sys.c
> @@ -2372,7 +2372,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
> error = current->timer_slack_ns;
> break;
> case PR_SET_TIMERSLACK:
> - if (arg2 <= 0)
> + if (arg2 == 0)
> current->timer_slack_ns =
> current->default_timer_slack_ns;

A number of years ago Linus expressed approval of such comparisons with
unsigned quantities. He felt that it improves readability a little -
the reader doesn't have to scroll back and check the type.