[Devel] [PATCH] 9p: Use kthread_stop instead of sending a SIGKILL.

Eric W. Biederman ebiederm at xmission.com
Tue Dec 12 14:26:07 PST 2006


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 at xmission.com>
---
 fs/9p/mux.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/fs/9p/mux.c b/fs/9p/mux.c
index 944273c..bef02a8 100644
--- a/fs/9p/mux.c
+++ b/fs/9p/mux.c
@@ -254,7 +254,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--;
 	}
@@ -436,11 +436,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);
-- 
1.4.4.1.g278f

_______________________________________________
Containers mailing list
Containers at lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers




More information about the Devel mailing list