From: Oleg Nesterov <oleg@redhat.com>
To: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>,
Evgeny Polyakov <johnpol@2ka.mipt.ru>,
Scott James Remnant <scott@ubuntu.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Matt Helsley <matthltc@us.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org
Subject: Re: [PATCH] connector: Fix sid connector (was: Badness at kernel/softirq.c:143...)
Date: Tue, 29 Sep 2009 16:45:54 +0200 [thread overview]
Message-ID: <20090929144554.GA10937@redhat.com> (raw)
In-Reply-To: <20090929142538.GA10180@redhat.com>
On 09/29, Oleg Nesterov wrote:
>
> On 09/29, Evgeniy Polyakov wrote:
> >
> > On Tue, Sep 29, 2009 at 03:47:21PM +0200, Christian Borntraeger (borntraeger@de.ibm.com) wrote:
> > > Ok, can confirm that this patch fixes my problem, but I am not sure if the
> > > intended behaviour is still working as expected.
> >
> > Your patch breaks assumption that task_session(current->group_leader) is
> > not equal to new session id,
>
> Afaics, no.
>
> > --- a/kernel/sys.c
> > +++ b/kernel/sys.c
> > @@ -1090,6 +1090,7 @@ SYSCALL_DEFINE0(setsid)
> > struct pid *sid = task_pid(group_leader);
> > pid_t session = pid_vnr(sid);
> > int err = -EPERM;
> > + int send_cn = 0;
> >
> > write_lock_irq(&tasklist_lock);
> > /* Fail if I am already a session leader */
> > @@ -1104,12 +1105,18 @@ SYSCALL_DEFINE0(setsid)
> >
> > group_leader->signal->leader = 1;
> > __set_special_pids(sid);
> > + if (task_session(group_leader) != sid)
> > + send_cn = 1;
>
> This is not right, task_session(group_leader) must be == sid after
> __set_special_pids().
>
> And I don't think "int send_cn" is needed. sys_setsid() must not
> succeed if the caller lived in session == task_pid(group_leader).
IOW, if sys_setsid() succeeds, we know it creates the new unique session,
we should report this change.
Note this check
if (pid_task(sid, PIDTYPE_PGID))
goto out;
before we actually change pids.
I think Christian's patch only needs the small fixup.
Oleg.
next prev parent reply other threads:[~2009-09-29 14:50 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-25 9:23 2.3.31++: Badness at kernel/softirq.c:143 due to new session leader connector Christian Borntraeger
2009-09-29 10:26 ` Christian Borntraeger
[not found] ` <fbbbe0a028fa.4ac1f1c0@2ka.mipt.ru>
2009-09-29 13:24 ` Oleg Nesterov
2009-09-29 13:47 ` [PATCH] connector: Fix sid connector (was: Badness at kernel/softirq.c:143...) Christian Borntraeger
2009-09-29 13:59 ` Oleg Nesterov
2009-09-29 14:07 ` Evgeniy Polyakov
2009-09-29 14:15 ` Christian Borntraeger
2009-09-29 14:25 ` Oleg Nesterov
2009-09-29 14:45 ` Oleg Nesterov [this message]
2009-09-29 15:12 ` Christian Borntraeger
2009-09-29 16:28 ` Oleg Nesterov
2009-09-30 6:43 ` [PATCH] connector: Fix regression introduced by sid connector Christian Borntraeger
2009-10-01 21:14 ` Andrew Morton
2009-10-01 22:29 ` Oleg Nesterov
2009-10-02 6:16 ` Christian Borntraeger
2009-10-14 0:53 ` David Rientjes
2009-09-29 17:07 ` [PATCH] connector: Fix sid connector (was: Badness at kernel/softirq.c:143...) Evgeniy Polyakov
2009-09-29 14:54 ` Evgeniy Polyakov
2009-09-29 15:36 ` Oleg Nesterov
2009-09-29 17:08 ` Evgeniy Polyakov
2009-09-29 13:22 ` 2.3.31++: Badness at kernel/softirq.c:143 due to new session leader connector Oleg Nesterov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090929144554.GA10937@redhat.com \
--to=oleg@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=davem@davemloft.net \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=scott@ubuntu.com \
--cc=zbr@ioremap.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.