Hi,
The seccomp action SCMP_ACT_KILL results in immediate termination of
the thread that made the bad system call. However, qemu being
multi-threaded, it keeps running. There is no easy way for parent
process / management layer (libvirt) to know about that situation.
Instead, the default SIGSYS handler when invoked with SCMP_ACT_TRAP
will terminate the program and core dump.
This may not be the most secure solution, but probably better than
just killing the offending thread. SCMP_ACT_KILL_PROCESS has been
added in Linux 4.14 to improve the situation, which I propose to use
by default if available.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1594456
Marc-André Lureau (2):
seccomp: use SIGSYS signal instead of killing the thread
RFC: seccomp: prefer SCMP_ACT_KILL_PROCESS if available
qemu-seccomp.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
--
2.18.0.232.gb7bd9486b0