diff options
author | Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com> | 2010-06-14 13:34:48 -0700 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2010-06-22 15:15:51 -0500 |
commit | 1c29331248d82e5a9caaf7974756a9d8bd5cd1e5 (patch) | |
tree | 500c94c940395e4ccc165f163513306456cc87a1 /hw/file-op-9p.h | |
parent | 879c28133dfa54b780dffbb29e4dcfc6581f6281 (diff) | |
download | qemu-1c29331248d82e5a9caaf7974756a9d8bd5cd1e5.zip qemu-1c29331248d82e5a9caaf7974756a9d8bd5cd1e5.tar.gz qemu-1c29331248d82e5a9caaf7974756a9d8bd5cd1e5.tar.bz2 |
virtio-9p: Implement Security model for mknod
Mapped mode stores extended attributes in the user space of the extended
attributes. Given that the user space extended attributes are available
to regular files only, special files are created as regular files on the
fileserver and appropriate mode bits are added to the extended attributes.
This method presents all special files and symlinks as regular files on the
fileserver while they are represented as special files on the guest mount.
On Host/Fileserver:
-rw-------. 1 virfsuid virtfsgid 0 2010-05-11 09:36 afifo
-rw-------. 1 virfsuid virtfsgid 0 2010-05-11 09:32 blkdev
-rw-------. 1 virfsuid virtfsgid 0 2010-05-11 09:33 chardev
On Guest/Client:
prw-r--r-- 1 guestuser guestuser 0 2010-05-11 12:36 afifo
brw-r--r-- 1 guestuser guestuser 0, 0 2010-05-11 12:32 blkdev
crw-r--r-- 1 guestuser guestuser 4, 5 2010-05-11 12:33 chardev
In the passthrough securit model, specifal files are directly created
on the fileserver. But the user credential
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/file-op-9p.h')
-rw-r--r-- | hw/file-op-9p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/file-op-9p.h b/hw/file-op-9p.h index 0808630..5bc61b5 100644 --- a/hw/file-op-9p.h +++ b/hw/file-op-9p.h @@ -51,7 +51,7 @@ typedef struct FileOperations ssize_t (*readlink)(FsContext *, const char *, char *, size_t); int (*chmod)(FsContext *, const char *, FsCred *); int (*chown)(FsContext *, const char *, FsCred *); - int (*mknod)(FsContext *, const char *, mode_t, dev_t); + int (*mknod)(FsContext *, const char *, FsCred *); int (*mksock)(FsContext *, const char *); int (*utime)(FsContext *, const char *, const struct utimbuf *); int (*remove)(FsContext *, const char *); |