[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [V3 PATCH 5/8] virtio-9p: Create support in chroot envi
From: |
M. Mohan Kumar |
Subject: |
Re: [Qemu-devel] [V3 PATCH 5/8] virtio-9p: Create support in chroot environment |
Date: |
Wed, 19 Jan 2011 16:38:23 +0530 |
User-agent: |
KMail/1.13.5 (Linux/2.6.35.10-74.fc14.i686.PAE; KDE/4.5.4; i686; ; ) |
Hi Blue Swirl,
Thanks for your review comments. I will address these in my next version of
patchset.
----
M. Mohan Kumar
On Tuesday 18 January 2011 10:38:21 pm Blue Swirl wrote:
> On Tue, Jan 18, 2011 at 6:25 AM, M. Mohan Kumar <address@hidden> wrote:
> > Add both server & client side interfaces to create regular files in
> > chroot environment
> >
> > Signed-off-by: M. Mohan Kumar <address@hidden>
> > ---
> > hw/9pfs/virtio-9p-chroot.c | 42
> > ++++++++++++++++++++++++++++++++++++++++++ hw/9pfs/virtio-9p-local.c |
> > 22 ++++++++++++++++++++--
> > 2 files changed, 62 insertions(+), 2 deletions(-)
> >
> > diff --git a/hw/9pfs/virtio-9p-chroot.c b/hw/9pfs/virtio-9p-chroot.c
> > index b599e23..e7f85e2 100644
> > --- a/hw/9pfs/virtio-9p-chroot.c
> > +++ b/hw/9pfs/virtio-9p-chroot.c
> > @@ -193,6 +193,42 @@ static void chroot_do_open(V9fsFileObjectRequest
> > *request, FdInfo *fd_info) }
> > }
> >
> > +/*
> > + * Helper routine to create a file and return the file descriptor and
> > + * error status in FdInfo structure.
> > + */
> > +static void chroot_do_create(V9fsFileObjectRequest *request, FdInfo
> > *fd_info) +{
> > + int cur_uid, cur_gid;
>
> uid_t cur_uid;
> gid_t cur_gid;
>
> > +
> > + cur_uid = geteuid();
> > + cur_gid = getegid();
> > +
> > + fd_info->fi_fd = -1;
> > +
> > + if (setfsuid(request->data.uid) < 0) {
> > + fd_info->fi_error = errno;
> > + return;
> > + }
> > + if (setfsgid(request->data.gid) < 0) {
> > + fd_info->fi_error = errno;
> > + goto unset_uid;
> > + }
> > +
> > + fd_info->fi_fd = open(request->path.path, request->data.flags,
> > + request->data.mode);
> > +
> > + if (fd_info->fi_fd < 0) {
> > + fd_info->fi_error = errno;
> > + } else {
> > + fd_info->fi_error = 0;
> > + }
> > +
> > + setfsgid(cur_gid);
> > +unset_uid:
> > + setfsuid(cur_uid);
> > +}
> > +
> > static int chroot_daemonize(int chroot_sock)
> > {
> > sigset_t sigset;
> > @@ -276,6 +312,12 @@ int v9fs_chroot(FsContext *fs_ctx)
> > error = -2;
> > }
> > break;
> > + case T_CREATE:
> > + chroot_do_create(&request, &fd_info);
> > + if (chroot_sendfd(chroot_sock, &fd_info) <= 0) {
> > + error = -2;
> > + }
> > + break;
> > default:
> > break;
> > }
> > diff --git a/hw/9pfs/virtio-9p-local.c b/hw/9pfs/virtio-9p-local.c
> > index 2376ec2..7f39b40 100644
> > --- a/hw/9pfs/virtio-9p-local.c
> > +++ b/hw/9pfs/virtio-9p-local.c
> > @@ -52,6 +52,23 @@ static int __open(FsContext *fs_ctx, const char *path,
> > int flags) return fd;
> > }
> >
> > +static int __create(FsContext *fs_ctx, const char *path, int flags,
>
> Please don't use identifiers starting with underscores.
- [Qemu-devel] [V3 PATCH 0/8] virtio-9p: Use chroot to safely access files in passthrough model, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 1/8] virtio-9p: Implement qemu_read_full, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 2/8] virtio-9p: Provide chroot environment server side interfaces, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 3/8] virtio-9p: Add client side interfaces for chroot environment, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 4/8] virtio-9p: Add support to open a file in chroot environment, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 5/8] virtio-9p: Create support in chroot environment, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 6/8] virtio-9p: Support for creating special files, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 8/8] virtio-9p: Chroot environment for other functions, M. Mohan Kumar, 2011/01/18
- [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation changes to none security model, M. Mohan Kumar, 2011/01/18
- Re: [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation changes to none security model, Venkateswararao Jujjuri (JV), 2011/01/20
- Re: [Qemu-devel] [V3 PATCH 7/8] virtio-9p: Move file post creation changes to none security model, Stefan Hajnoczi, 2011/01/20