From 6d849754b996703093ca474604c4d8b596c22bf3 Mon Sep 17 00:00:00 2001 From: Son Phan Trung Date: Tue, 28 May 2024 16:51:16 +0700 Subject: [PATCH] linux: implement PR_CHILD_SET_SUBREAPER Reviewed by: imp, dchagin Pull Request: https://github.com/freebsd/freebsd-src/pull/1260 --- sys/compat/linux/linux_misc.c | 8 ++++++++ sys/compat/linux/linux_misc.h | 1 + 2 files changed, 9 insertions(+) diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index aa6c3923067..73a4c49a1a6 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -1819,6 +1819,14 @@ linux_prctl(struct thread *td, struct linux_prctl_args *args) #endif error = EINVAL; break; + case LINUX_PR_SET_CHILD_SUBREAPER: + if (args->arg2 == 0){ + return (kern_procctl(td, P_PID, 0, PROC_REAP_RELEASE, + NULL)); + } + + return (kern_procctl(td, P_PID, 0, PROC_REAP_ACQUIRE, + NULL)); case LINUX_PR_SET_NO_NEW_PRIVS: arg = args->arg2 == 1 ? PROC_NO_NEW_PRIVS_ENABLE : PROC_NO_NEW_PRIVS_DISABLE; diff --git a/sys/compat/linux/linux_misc.h b/sys/compat/linux/linux_misc.h index cc025f89d5f..445110c598c 100644 --- a/sys/compat/linux/linux_misc.h +++ b/sys/compat/linux/linux_misc.h @@ -57,6 +57,7 @@ #define LINUX_PR_GET_SECCOMP 21 #define LINUX_PR_SET_SECCOMP 22 #define LINUX_PR_CAPBSET_READ 23 +#define LINUX_PR_SET_CHILD_SUBREAPER 36 #define LINUX_PR_SET_NO_NEW_PRIVS 38 #define LINUX_PR_SET_PTRACER 1499557217