[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100126164018.1D59.A69D9226@jp.fujitsu.com>
Date: Tue, 26 Jan 2010 16:45:41 +0900 (JST)
From: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: kosaki.motohiro@...fujitsu.com,
Am??rico Wang <xiyou.wangcong@...il.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Tavis Ormandy <taviso@...gle.com>,
Jeff Dike <jdike@...toit.com>, Julien Tinnes <jln@...gle.com>,
Matt Mackall <mpm@...enic.com>,
LKML <linux-kernel@...r.kernel.org>,
Oleg Nesterov <oleg@...hat.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: [2.6.33-rc5] starting emacs makes lockdep warning
Hi
> On Tue, Jan 26, 2010 at 02:01:12PM +0800, Am??rico Wang wrote:
>
> > I agree, it seems that patch is useless, since we already
> > do lock_kernel() before calling __f_setown()...
>
> What's to prevent pid from being freed under us? BKL won't...
I don't understand this issue at all. so, this is stupid dumb question.
Why can't we write following code?
enum pid_type type;
struct pid *pid;
if (!waitqueue_active(&tty->read_wait))
tty->minimum_to_wake = 1;
spin_lock_irqsave(&tty->ctrl_lock, flags);
if (tty->pgrp) {
pid = tty->pgrp;
type = PIDTYPE_PGID;
} else {
pid = task_pid(current);
type = PIDTYPE_PID;
}
get_pid(pid) // insert here
spin_unlock_irqrestore(&tty->ctrl_lock, flags);
retval = __f_setown(filp, pid, type, 0);
put_pid(pid) // insert here
--
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