
On Mon, 2009-07-27 at 22:55 +0100, Daniel P. Berrange wrote:
On Thu, Jul 23, 2009 at 09:00:18PM -0400, john cooper wrote:
I've incorporated feedback received on the prior version into the patch below.
The host mount point for hugetlbfs is queried by default from /proc/mounts unless overridden in qemu.conf via:
hugepage_mount = "<path_to_mount_point>"
This should make the concern of establishing a mount point path convention a non-issue for the general case while still allowing the same to be deterministically set if needed.
In light of what Chris said about extended attribute support for SELinux I think we, sadly, have no choice by to mount a new instance of hugetlbfs per VM, labelled with the context of that VM.
I haven't played with hugetlbfs much, so let me make sure I understand the issue: -) With --mempath, qemu creates a file under the supplied directory and mmap()s it, using the mapped region for guest memory -) Because the directory is under hugetlbfs, that memory is huge page backed -) Guest memory can be read by reading this file -) The file is owned by the uid of the qemu process, so any other processes with that uid can access guest memory -) If we could label the file, we could use policy to prevent qemu processes from accessing each other's files -) We can't, so the alternative is to use a separate hugetlbfs mount for each guest, each with a different label - each mount will only contain the file for that guest, and only be accessible by that guest Cheers, Mark.