Skip to content

Commit

Permalink
9p: Use kthread_stop instead of sending a SIGKILL.
Browse files Browse the repository at this point in the history
Since the kthread api does not bump the reference count on
processes that tracked it is not safe allow user space to
kill the threads, as I still retain a pointer to the task_struct.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
  • Loading branch information
Eric W. Biederman authored and Eric Van Hensbergen committed Feb 18, 2007
1 parent 8a03d9a commit 2c0463a
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions fs/9p/mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ static void v9fs_mux_poll_stop(struct v9fs_mux_data *m)
vpt->muxnum--;
if (!vpt->muxnum) {
dprintk(DEBUG_MUX, "destroy proc %p\n", vpt);
send_sig(SIGKILL, vpt->task, 1);
kthread_stop(vpt->task);
vpt->task = NULL;
v9fs_mux_poll_task_num--;
}
Expand Down Expand Up @@ -438,11 +438,8 @@ static int v9fs_poll_proc(void *a)

vpt = a;
dprintk(DEBUG_MUX, "start %p %p\n", current, vpt);
allow_signal(SIGKILL);
while (!kthread_should_stop()) {
set_current_state(TASK_INTERRUPTIBLE);
if (signal_pending(current))
break;

list_for_each_entry_safe(m, mtmp, &vpt->mux_list, mux_list) {
v9fs_poll_mux(m);
Expand Down

0 comments on commit 2c0463a

Please sign in to comment.