From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=32875 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pg1rC-0003Os-LN for qemu-devel@nongnu.org; Thu, 20 Jan 2011 16:15:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pg1rB-0006vQ-DJ for qemu-devel@nongnu.org; Thu, 20 Jan 2011 16:15:50 -0500 Received: from e32.co.us.ibm.com ([32.97.110.150]:38523) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pg1rB-0006vD-85 for qemu-devel@nongnu.org; Thu, 20 Jan 2011 16:15:49 -0500 Received: from d03relay01.boulder.ibm.com (d03relay01.boulder.ibm.com [9.17.195.226]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p0KL5gYD019746 for ; Thu, 20 Jan 2011 14:05:42 -0700 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay01.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p0KLFi3W168290 for ; Thu, 20 Jan 2011 14:15:44 -0700 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p0KLFgHu028914 for ; Thu, 20 Jan 2011 14:15:44 -0700 Message-ID: <4D38A5FD.2080103@linux.vnet.ibm.com> Date: Thu, 20 Jan 2011 13:15:41 -0800 From: "Venkateswararao Jujjuri (JV)" MIME-Version: 1.0 Subject: Re: [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation changes to none security model References: <1295331799-23856-1-git-send-email-mohan@in.ibm.com> <1295339056-25396-1-git-send-email-mohan@in.ibm.com> <20110120085954.GB24021@stefanha-thinkpad.localdomain> In-Reply-To: <20110120085954.GB24021@stefanha-thinkpad.localdomain> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: "M. Mohan Kumar" , qemu-devel@nongnu.org On 1/20/2011 12:59 AM, Stefan Hajnoczi wrote: > On Tue, Jan 18, 2011 at 01:54:16PM +0530, M. Mohan Kumar wrote: >> After creating a file object, its permission and ownership details are updated >> as per client's request for both passthrough and none security model. But with >> chrooted environment its not required for passthrough security model. Move all >> post file creation changes to none security model >> >> Signed-off-by: M. Mohan Kumar >> --- >> hw/9pfs/virtio-9p-local.c | 19 ++++++------------- >> 1 files changed, 6 insertions(+), 13 deletions(-) >> >> diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c >> index 08fd67f..d2e32e2 100644 >> --- a/hw/9pfs/virtio-9p-local.c >> +++ b/hw/9pfs/virtio-9p-local.c >> @@ -208,21 +208,14 @@ static int local_set_xattr(const char *path, FsCred *credp) >> return 0; >> } >> >> -static int local_post_create_passthrough(FsContext *fs_ctx, const char *path, >> +static int local_post_create_none(FsContext *fs_ctx, const char *path, >> FsCred *credp) >> { >> + int retval; >> if (chmod(rpath(fs_ctx, path), credp->fc_mode & 07777) < 0) { >> return -1; >> } >> - if (lchown(rpath(fs_ctx, path), credp->fc_uid, credp->fc_gid) < 0) { >> - /* >> - * If we fail to change ownership and if we are >> - * using security model none. Ignore the error >> - */ >> - if (fs_ctx->fs_sm != SM_NONE) { >> - return -1; >> - } >> - } >> + retval = lchown(rpath(fs_ctx, path), credp->fc_uid, credp->fc_gid); >> return 0; >> } > > retval is unused. > > Can multiple virtio-9p requests execute at a time? chmod() and lchown() > after creation is a race condition if other requests can execute > concurrently. If some level of serialization is needed it will be done at the client/guest inode level. Are you worried about filesystem semantics? or do you see some corruption if they get executed in parallel? JV > > Stefan >