containers.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Handle seccomp notification preemption
@ 2021-03-18  5:17 Sargun Dhillon
  2021-03-18  5:17 ` [PATCH 1/5] seccomp: Refactor notification handler to prepare for new semantics Sargun Dhillon
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Sargun Dhillon @ 2021-03-18  5:17 UTC (permalink / raw)
  To: Kees Cook, LKML, Linux Containers; +Cc: Giuseppe Scrivano


This patchset addresses a race condition we've dealt with recently with
seccomp. Specifically programs interrupting syscalls while they're in
progress. This was exacerbated by Golang's recent adoption of "async
preemption", in which they try to interrupt any syscall that's been
running for more than 10ms during GC. During certain syscalls, it's
non-trivial to write them in a reetrant manner in userspace (mount).

This has a couple semantic changes, and relaxes a check on seccomp_data, and
changes the semantics with ordering of how addfd and notification replies
in the supervisor are handled.

It also follows up on the original proposal from Tycho[2] to allow
for adding an FD and returning that value atomically.

Changes since v1[1]:
 * Fix some documentation
 * Add Rata's patches to allow for direct return from addfd

[1]: https://lore.kernel.org/lkml/20210220090502.7202-1-sargun@sargun.me/
[2]: https://lore.kernel.org/lkml/202012011322.26DCBC64F2@keescook/

Rodrigo Campos (1):
  seccomp: Support atomic "addfd + send reply"

Sargun Dhillon (4):
  seccomp: Refactor notification handler to prepare for new semantics
  seccomp: Add wait_killable semantic to seccomp user notifier
  selftests/seccomp: Add test for wait killable notifier
  selftests/seccomp: Add test for atomic addfd+send

 .../userspace-api/seccomp_filter.rst          |  15 +-
 include/uapi/linux/seccomp.h                  |   4 +
 kernel/seccomp.c                              | 129 ++++++++++++++----
 tools/testing/selftests/seccomp/seccomp_bpf.c | 102 ++++++++++++++
 4 files changed, 220 insertions(+), 30 deletions(-)

-- 
2.25.1

_______________________________________________
Containers mailing list
Containers@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/containers

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

end of thread, other threads:[~2021-04-13 16:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18  5:17 [PATCH 0/5] Handle seccomp notification preemption Sargun Dhillon
2021-03-18  5:17 ` [PATCH 1/5] seccomp: Refactor notification handler to prepare for new semantics Sargun Dhillon
2021-04-13 16:07   ` Rodrigo Campos
2021-03-18  5:17 ` [PATCH 2/5] seccomp: Add wait_killable semantic to seccomp user notifier Sargun Dhillon
2021-03-18  5:17 ` [PATCH 3/5] selftests/seccomp: Add test for wait killable notifier Sargun Dhillon
2021-03-18  5:17 ` [PATCH 4/5] seccomp: Support atomic "addfd + send reply" Sargun Dhillon
2021-03-18  5:17 ` [PATCH 5/5] selftests/seccomp: Add test for atomic addfd+send Sargun Dhillon
2021-03-18 18:31   ` Rodrigo Campos

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).