Messages in this thread | | | Date | Mon, 17 Mar 2008 20:01:24 +0300 | From | Oleg Nesterov <> | Subject | Re: [RFC,PATCH 2/2] kill_pid_info: don't take now unneeded tasklist_lock |
| |
On 03/17, Atsushi Tsuji wrote: > > (2008/03/05 3:57), Oleg Nesterov wrote: > >Previously handle_stop_signal(SIGCONT) could drop ->siglock. That is why > >kill_pid_info(SIGCONT) takes tasklist_lock to make sure the target task > >can't go away after unlock. Not needed now. > > > >Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> > > Hi Oleg, > > I tried your patches on vanila kernel 2.6.25-rc3 (ia64). Then, I got > the NULL pointer dereference at task_session_nr(t) in > check_kill_permission(). That is why t->signal->__session is accessed > after t->signal was released. It is reproducible by sending many > SIGCONT signals to exiting processes.
Ah. Indeed!!! Thanks a lot Atsushi.
Note that check_kill_permission() is the last user of the deprecated signal->__session/session, I was going to change this code later, but missed the issue you pointed out.
I'll make the patch tomorrow.
Thanks!
Oleg.
| |