qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation chang


From: Venkateswararao Jujjuri (JV)
Subject: Re: [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation changes to none security model
Date: Thu, 20 Jan 2011 13:15:41 -0800
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7

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 <address@hidden>
>> ---
>>  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
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]