Re: [PATCH] connector: Fix sid connector (was: Badness at kernel/softirq.c:143...)
From: Christian Borntraeger <hidden>
Date: 2009-09-29 14:16:04
Also in:
lkml
From: Christian Borntraeger <hidden>
Date: 2009-09-29 14:16:04
Also in:
lkml
Am Dienstag 29 September 2009 16:07:18 schrieb Evgeniy Polyakov:
Your patch breaks assumption that task_session(current->group_leader) is not equal to new session id, but to check task_session() we need either rcu or task lock. Also setsid() return value is not zero or negative error, but new session ID or negative error,
Right.
so I believe attached patch is a proper fix, although it looks rather ugly. Also proc_sid_connector() uses GFP_KERNEL allocation which is way too wrong to use under any locks. Something like this (not tested :)
Patch compiles and seems to work. Christian