qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 4/5] 9pfs: local: metadata file for the VirtFS r


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 4/5] 9pfs: local: metadata file for the VirtFS root
Date: Fri, 5 May 2017 12:11:14 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0

On 05/05/2017 09:37 AM, Greg Kurz wrote:
> When using the mapped-file security, credentials are stored in a metadata
> directory located in the parent directory. This is okay for all paths with
> the notable exception of the root path, since we don't want and probably
> can't create a metadata directory above the virtfs directory on the host.
> 
> This patch introduces a dedicated metadata file, sitting in the virtfs root
> for this purpose. It relies on the fact that the "." name necessarily refer

s/refer/refers/

> to the virtfs root.
> 
> As for the metadata directory, we don't want the client to see this file.
> The current code only cares for readdir() but there are many other places
> to fix actually. The filtering logic is hence put in a separate function.
> 
> Before:
> 
> # ls -ld
> drwxr-xr-x. 3 greg greg 4096 May  5 12:49 .
> # chown root.root .
> chown: changing ownership of '.': Is a directory
> # ls -ld
> drwxr-xr-x. 3 greg greg 4096 May  5 12:49 .
> 
> After:
> 
> # ls -ld
> drwxr-xr-x. 3 greg greg 4096 May  5 12:49 .
> # chown bin.bin .
> # ls -ld
> drwxr-xr-x. 3 root root 4096 May  5 12:50 .

Huh? How does chown bin.bin result in root.root? Copy-and-paste error?

> 
> and from the host:
> 
> ls -al .virtfs_metadata_root
> -rwx------. 1 greg greg 26 May  5 12:50 .virtfs_metadata_root
> $ cat .virtfs_metadata_root
> virtfs.uid=0
> virtfs.gid=0

So what happens if the guest tries to manipulate
./.virtfs_metadata_root? I know you are filtering it so that readdir()
and such can't see it, but do you have sane errors for the guest's
attempt to circumvent those hidden names?

> 
> Reported-by: Léo Gaspard <address@hidden>
> Signed-off-by: Greg Kurz <address@hidden>
> ---
>  hw/9pfs/9p-local.c |   88 
> ++++++++++++++++++++++++++++++++++++----------------
>  1 file changed, 61 insertions(+), 27 deletions(-)
> 
> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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