Re: [PATCH] signal: Avoid undefined behaviour in kill_something_info

From: zhong jiang
Date: Mon Jun 05 2017 - 08:49:29 EST


On 2017/6/5 20:37, Oleg Nesterov wrote:
> On 06/05, zhongjiang wrote:
>> static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
>> {
>> - int ret;
>> + int ret, vpid;
>>
>> if (pid > 0) {
>> rcu_read_lock();
>> @@ -1395,8 +1395,12 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid)
>>
>> read_lock(&tasklist_lock);
>> if (pid != -1) {
>> + if (pid == INT_MIN)
>> + vpid = INT_MAX;
> Well, this probably needs a comment to explain that this is just "avoid ub".
>
> And if we really want the fix, to me
>
> if (pid == INT_MIN)
> return -ESRCH;
>
> at the start makes more sense...
>
> Oleg.
>
>
> .
>
ok, I will motify it in v2 shortly, Thanks

Regards
zhongjiang