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