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

2017-06-05 Thread zhong jiang
On 2017/6/5 21:31, Oleg Nesterov wrote: > On 06/05, zhongjiang wrote: >> --- a/kernel/signal.c >> +++ b/kernel/signal.c >> @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct >> siginfo *info, pid_t pid) >> >> read_lock(_lock); >> if (pid != -1) { >> +/* >>

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

2017-06-05 Thread zhong jiang
On 2017/6/5 21:31, Oleg Nesterov wrote: > On 06/05, zhongjiang wrote: >> --- a/kernel/signal.c >> +++ b/kernel/signal.c >> @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct >> siginfo *info, pid_t pid) >> >> read_lock(_lock); >> if (pid != -1) { >> +/* >>

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

2017-06-05 Thread Oleg Nesterov
On 06/05, zhongjiang wrote: > > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct siginfo > *info, pid_t pid) > > read_lock(_lock); > if (pid != -1) { > + /* > + * -INT_MIN is undefined, it

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

2017-06-05 Thread Oleg Nesterov
On 06/05, zhongjiang wrote: > > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct siginfo > *info, pid_t pid) > > read_lock(_lock); > if (pid != -1) { > + /* > + * -INT_MIN is undefined, it

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

2017-06-05 Thread zhong jiang
On 2017/6/5 21:09, Michal Hocko wrote: > On Mon 05-06-17 20:53:27, zhongjiang wrote: >> diff --git a/kernel/signal.c b/kernel/signal.c >> index ca92bcf..63148f7 100644 >> --- a/kernel/signal.c >> +++ b/kernel/signal.c >> @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct >>

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

2017-06-05 Thread zhong jiang
On 2017/6/5 21:09, Michal Hocko wrote: > On Mon 05-06-17 20:53:27, zhongjiang wrote: >> diff --git a/kernel/signal.c b/kernel/signal.c >> index ca92bcf..63148f7 100644 >> --- a/kernel/signal.c >> +++ b/kernel/signal.c >> @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct >>

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

2017-06-05 Thread Michal Hocko
On Mon 05-06-17 20:53:27, zhongjiang wrote: > diff --git a/kernel/signal.c b/kernel/signal.c > index ca92bcf..63148f7 100644 > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct siginfo > *info, pid_t pid) > >

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

2017-06-05 Thread Michal Hocko
On Mon 05-06-17 20:53:27, zhongjiang wrote: > diff --git a/kernel/signal.c b/kernel/signal.c > index ca92bcf..63148f7 100644 > --- a/kernel/signal.c > +++ b/kernel/signal.c > @@ -1395,6 +1395,12 @@ static int kill_something_info(int sig, struct siginfo > *info, pid_t pid) > >

[PATCH v2] signal: Avoid undefined behaviour in kill_something_info

2017-06-05 Thread zhongjiang
when I run the kill(72057458746458112, 0) in the userspace, I hit the following issue. [ 304.606353] UBSAN: Undefined behaviour in kernel/signal.c:1462:11 [ 304.612622] negation of -2147483648 cannot be represented in type 'int': [ 304.619516] CPU: 226 PID: 9849 Comm: test Tainted: GB

[PATCH v2] signal: Avoid undefined behaviour in kill_something_info

2017-06-05 Thread zhongjiang
when I run the kill(72057458746458112, 0) in the userspace, I hit the following issue. [ 304.606353] UBSAN: Undefined behaviour in kernel/signal.c:1462:11 [ 304.612622] negation of -2147483648 cannot be represented in type 'int': [ 304.619516] CPU: 226 PID: 9849 Comm: test Tainted: GB