qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/4] seccomp fixes
@ 2018-08-22 17:02 Marc-André Lureau
  2018-08-22 17:02 ` [Qemu-devel] [PATCH v4 1/4] seccomp: use SIGSYS signal instead of killing the thread Marc-André Lureau
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Marc-André Lureau @ 2018-08-22 17:02 UTC (permalink / raw)
  To: qemu-devel
  Cc: pmoore, berrange, eblake, Eduardo Otubo, Marc-André Lureau

Hi,

This series fixes 2 issues with -sandbox:

- 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

- The seccomp filter isn't applied to all threads. We can solve the
  issue by using SECCOMP_FILTER_FLAG_TSYNC since libseccomp 2.2.0 and
  kernel >= 3.17.

v3:
- modify qemu_seccomp() to set errno=ENOSYS
- add patch "seccomp: set the seccomp filter to all threads"

v2:
- fix clang unused inline warning
- add acked-by/r-b tags

Marc-André Lureau (4):
  seccomp: use SIGSYS signal instead of killing the thread
  seccomp: prefer SCMP_ACT_KILL_PROCESS if available
  configure: require libseccomp 2.2.0
  seccomp: set the seccomp filter to all threads

 qemu-seccomp.c | 36 +++++++++++++++++++++++++++++++++++-
 configure      |  7 ++-----
 2 files changed, 37 insertions(+), 6 deletions(-)

-- 
2.18.0.547.g1d89318c48

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-08-23 14:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-22 17:02 [Qemu-devel] [PATCH v4 0/4] seccomp fixes Marc-André Lureau
2018-08-22 17:02 ` [Qemu-devel] [PATCH v4 1/4] seccomp: use SIGSYS signal instead of killing the thread Marc-André Lureau
2018-08-22 17:02 ` [Qemu-devel] [PATCH v4 2/4] seccomp: prefer SCMP_ACT_KILL_PROCESS if available Marc-André Lureau
2018-08-22 17:02 ` [Qemu-devel] [PATCH v4 3/4] configure: require libseccomp 2.2.0 Marc-André Lureau
2018-08-22 17:19   ` Daniel P. Berrangé
2018-08-22 17:02 ` [Qemu-devel] [PATCH v4 4/4] seccomp: set the seccomp filter to all threads Marc-André Lureau
2018-08-22 17:23   ` Daniel P. Berrangé
2018-08-23 14:43 ` [Qemu-devel] [PATCH v4 0/4] seccomp fixes Eduardo Otubo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).