On 2016-09-07 05:11 PM, Francis Giraldeau wrote:
The syscall test fails on x86:
$ sudo ./isolation
[...]
test_syscall: FAIL (0x100)
test_syscall (SIGUSR1): FAIL (0x100)
I wanted to debug this problem with gdb and a KVM virtual machine. However, the TSC clock source is detected as non reliable, even with the boot parameter tsc=reliable, and therefore prctl(PR_SET_TASK_ISOLATION, PR_TASK_ISOLATION_ENABLE) always returns EAGAIN. Is there a trick to run task isolation in a VM (at least for debugging purposes)?
OK, got it. The guest kernel must be compiled with CONFIG_KVM_GUEST, and then with virsh edit, set the clock configuration of the VM (under <domain>):
<clock offset='utc'>
<timer name='kvmclock'/>
</clock>
Of course, the jitter is horrible, but at least it is possible to debug with GDB.
Cheers,
Francis