[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1228164873.2971.95.camel@nimitz>
Date: Mon, 01 Dec 2008 12:54:33 -0800
From: Dave Hansen <dave@...ux.vnet.ibm.com>
To: Oren Laadan <orenl@...columbia.edu>
Cc: linux-api@...r.kernel.org, containers@...ts.linux-foundation.org,
Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, Linus Torvalds <torvalds@...l.org>,
Al Viro <viro@...IV.linux.org.uk>,
"H. Peter Anvin" <hpa@...or.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [RFC v10][PATCH 09/13] Restore open file descriprtors
On Mon, 2008-12-01 at 15:41 -0500, Oren Laadan wrote:
> >>> + fd = cr_attach_file(file); /* no need to cleanup 'file' below */
> >>> + if (fd < 0) {
> >>> + filp_close(file, NULL);
> >>> + ret = fd;
> >>> + goto out;
> >>> + }
> >>> +
> >>> + /* register new <objref, file> tuple in hash table */
> >>> + ret = cr_obj_add_ref(ctx, file, parent, CR_OBJ_FILE, 0);
> >>> + if (ret < 0)
> >>> + goto out;
> >> Who said that file still exists at that point?
>
> Correct. This call should move higher up befor ethe call to cr_attach_file()
Is that sufficient? It seems like we're depending on the fd's reference
to the 'struct file' to keep it valid in the hash. If something happens
to the fd (like the other thread messing with it) the 'struct file' can
still go away.
Shouldn't we do another get_file() for the hash's reference?
-- Dave
--
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