Messages in this thread | | | Date | Tue, 30 Jul 2019 16:48:50 +0800 | From | Yang Xu <> | Subject | Re: [PATCH v2] sys_prctl(): remove unsigned comparision with less than zero |
| |
on 2019/07/25 11:10, Yang Xu wrote:
>>> --- 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. > Hi Andrew > > It sounds good. ButWe still have to look at the actual situation. In here, this comparisons with unsigned > quantities doesn't improvereadability. In turn, the code give user a wrongdescription as man page said " > If arg2 is less than or equal to zero, the "current" timer slack is reset to the thread's default" timer slack value." > If we set -1 in user space, we pass it into kernel as ULONG_MAX, it will not use default timer_slack value. > Also, I guess that if value has no actual sense we can use this comparisons. In here, arg2 represents slack time. > time will never less than 0. > ps: whether we change or not change this comparisons, it doesn't affect logic. So if you think this patch is meaningless, > I will accept it. Hi Andrew what do you think about it? update it or keep it.
Thanks Yang Xu
| |