Messages in this thread | | | Date | Mon, 5 Jun 2017 14:37:45 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH] signal: Avoid undefined behaviour in kill_something_info |
| |
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.
| |