qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [V5 PATCH 0/8] virtio-9p: Use chroot to safely access files in passthrough security model
@ 2011-02-16 12:23 M. Mohan Kumar
  2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 1/8] Implement qemu_read_full M. Mohan Kumar
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: M. Mohan Kumar @ 2011-02-16 12:23 UTC (permalink / raw)
  To: qemu-devel, Stefan Hajnoczi, Daniel P. Berrange, blauwirbel

In passthrough security model, following symbolic links in the server
side could result in TOCTTOU vulnerabilities.

This patchset resolves this issue by creating a dedicated process which
chroots into the share path and all file object access is done in the
chroot environment.

This patchset implements chroot enviroment, provides necessary functions
that can be used by the passthrough function calls.

Changes from version V4:
* Avoid using malloc/free inside chroot process
* Seperate chroot server and client functions

Changes from version V3
* Return EIO incase of socket read/write fail instead of exiting
* Changed data types as suggested by Blue Swirl
* Chroot process reports error through qemu process

Changes from version V2
* Treat socket IO errors as fatal, ie qemu will exit
* Split patchset based on chroot side (server) and qemu side(client)
  functionalities

M. Mohan Kumar (8):
  Implement qemu_read_full
  virtio-9p: Provide chroot environment server side interfaces
  virtio-9p: Add client side interfaces for chroot environment
  virtio-9p: Add support to open a file in chroot environment
  virtio-9p: Create support in chroot environment
  virtio-9p: Support for creating special files
  virtio-9p: Move file post creation changes to none security model
  virtio-9p: Chroot environment for other functions

 Makefile.objs                   |    1 +
 hw/9pfs/virtio-9p-chroot-clnt.c |  136 +++++++++++++
 hw/9pfs/virtio-9p-chroot-sv.c   |  295 +++++++++++++++++++++++++++
 hw/9pfs/virtio-9p-chroot.h      |   60 ++++++
 hw/9pfs/virtio-9p-local.c       |  419 +++++++++++++++++++++++++++++++--------
 hw/9pfs/virtio-9p.c             |   32 +++
 hw/file-op-9p.h                 |    4 +
 osdep.c                         |   32 +++
 qemu-common.h                   |    2 +
 9 files changed, 901 insertions(+), 80 deletions(-)
 create mode 100644 hw/9pfs/virtio-9p-chroot-clnt.c
 create mode 100644 hw/9pfs/virtio-9p-chroot-sv.c
 create mode 100644 hw/9pfs/virtio-9p-chroot.h

-- 
1.7.3.4

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2011-02-18  5:58 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-16 12:23 [Qemu-devel] [V5 PATCH 0/8] virtio-9p: Use chroot to safely access files in passthrough security model M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 1/8] Implement qemu_read_full M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 2/8] virtio-9p: Provide chroot environment server side interfaces M. Mohan Kumar
2011-02-17  8:54   ` [Qemu-devel] " Stefan Hajnoczi
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 3/8] virtio-9p: Add client side interfaces for chroot environment M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 4/8] virtio-9p: Add support to open a file in " M. Mohan Kumar
2011-02-17 10:23   ` [Qemu-devel] " Stefan Hajnoczi
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 5/8] virtio-9p: Create support " M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 6/8] virtio-9p: Support for creating special files M. Mohan Kumar
2011-02-17 10:49   ` [Qemu-devel] " Stefan Hajnoczi
2011-02-18  5:58     ` M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 7/8] virtio-9p: Move file post creation changes to none security model M. Mohan Kumar
2011-02-16 12:23 ` [Qemu-devel] [V5 PATCH 8/8] virtio-9p: Chroot environment for other functions M. Mohan Kumar
2011-02-17 11:02   ` [Qemu-devel] " Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).