Hi,
I'm facing a strange behavior when running Libvirt from source
code,
latest upstream, on an Ubuntu 18.04.1 LTS Power 9 server. My QEMU
guest - which is using VFIO and GPU passthrough - breaks on boot
when
trying to allocate a DMA window inside KVM.
Debugging the code, I've found out that the problem is related to
the process
not having CAP_IPC_LOCK - at least from the host kernel
perspective.
This is strange because:
- the same VM running directly from QEMU command line works
- the same VM running in the system Libvirt (v4.0.0, Ubuntu
version)
also works
What am I missing? My understanding on Linux process is that a
process
running as root should inherit the same capabilities of the user,
which includes
CAP_IPC_LOCK. Running Libvirt from source code should grant
ipc_lock
to it ... right?
Any help is appreciated. I can provide more details (VM XML for
example)
if necessary.
Thanks!