[PATCH v2 0/4] nsproxy: support CLONE_NEWTIME with setns()
From: Christian Brauner
Date: Mon Jul 06 2020 - 11:49:23 EST
Hey,
After having synced with Andrei with the ARM time namespace support
patchset we've decided to make vdso_join_timens() a function that cannot
fail but not yet change its return type so the changes for ARM can
proceed independently. We will simply have a follow-up patch right after
these changes land during the v5.9 merge window that changes
vdso_join_timens() from returning an int to void.
So far setns() with pidfds was missing time namespace support. This was
partially due to it simply not being implemented but also because
vdso_join_timens() could still fail which made switching to multiple
namespaces atomically problematic. This series first fixes
vdso_join_timens() to never fail, introduces timens_commit() and finally
adds CLONE_NEWTIME support for setns().
Thanks!
Christian
Christian Brauner (4):
timens: make vdso_join_timens() always succeed
timens: add timens_commit() helper
nsproxy: support CLONE_NEWTIME with setns()
tests: add CLONE_NEWTIME setns tests
arch/x86/entry/vdso/vma.c | 5 +-
include/linux/time_namespace.h | 6 ++
kernel/nsproxy.c | 21 ++++-
kernel/time/namespace.c | 22 ++----
tools/testing/selftests/pidfd/pidfd.h | 4 +
.../selftests/pidfd/pidfd_setns_test.c | 76 +++++++++++++++++++
6 files changed, 115 insertions(+), 19 deletions(-)
base-commit: dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258
--
2.27.0