[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <m1lkoratdl.fsf@ebiederm.dsl.xmission.com>
Date: Sun, 10 Sep 2006 23:01:58 -0600
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Oleg Nesterov <oleg@...sign.ru>
Cc: Andrew Morton <akpm@...l.org>, linux-kernel@...r.kernel.org,
Linux Containers <containers@...ts.osdl.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: [PATCH] vt: Rework the console spawning variables.
Oleg Nesterov <oleg@...sign.ru> writes:
> On 09/10, Eric W. Biederman wrote:
>>
>> Oleg Nesterov <oleg@...sign.ru> writes:
>>
>> > On 09/10, Eric W. Biederman wrote:
>> >>
>> >> Updating this old code is painful.
>> >
>> > No, no, we shouldn't change the old code, it is fine.
>> >
>> So what happens when:
>> cpu0: cpu1:
>> kill_pid(vt_pid,....) fn_SAK()->vc_reset()->put_pid(xchg(&vt_pid, NULL))
>>
>> Can't kill_pid dereference vt_pid after put_pid is called?
>
> Ah, I didn't consider that patch as 'old code', sorry :)
What I meant was that updating code that predates SMP support is painful.
When you said everything was ok. I was confused.
> I don't understand drivers/char/vt*, but surely put_pid(xchg()) can't work.
> Again, unless we have a lock to serialize access to ->vt_pid, but in that
> case we don't need xchg().
Ok. So we are in violent agreement then, my patch was wrong.
The xchg half works. For taking and putting a reference it is fine, you
just can't use that reference for anything safely.
So I need to come up with a new patch that gets it's locking correct,
in the fn_SAK case.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists