diff options
author | emaste <emaste@FreeBSD.org> | 2015-06-03 13:12:08 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2015-06-03 13:12:08 +0000 |
commit | 02441119bc168497d2df4672b0666f72aa513093 (patch) | |
tree | b6150bef2a216f982907b60e9a8b0cdb5470b02a | |
parent | e6fee85e82f35c9e4608b51187e64068dd3e1366 (diff) | |
download | FreeBSD-src-02441119bc168497d2df4672b0666f72aa513093.zip FreeBSD-src-02441119bc168497d2df4672b0666f72aa513093.tar.gz |
MFC r261220 by csjp: Allow sigwait(2) in capabilities mode.
It's common for multi-threaded processes to create a thread for
the purpose of synchronously processing signals. Allow such processes to
utilize a capabilities sandbox.
-rw-r--r-- | sys/kern/capabilities.conf | 1 | ||||
-rw-r--r-- | sys/kern/init_sysent.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/capabilities.conf b/sys/kern/capabilities.conf index 8d33472..f7a46ae 100644 --- a/sys/kern/capabilities.conf +++ b/sys/kern/capabilities.conf @@ -667,6 +667,7 @@ sigsuspend sigtimedwait sigvec sigwaitinfo +sigwait ## ## Allow creating new socket pairs with socket(2) and socketpair(2). diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index 5b6f093..d29b3a6 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -463,7 +463,7 @@ struct sysent sysent[] = { { AS(__acl_set_link_args), (sy_call_t *)sys___acl_set_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 426 = __acl_set_link */ { AS(__acl_delete_link_args), (sy_call_t *)sys___acl_delete_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 427 = __acl_delete_link */ { AS(__acl_aclcheck_link_args), (sy_call_t *)sys___acl_aclcheck_link, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 428 = __acl_aclcheck_link */ - { AS(sigwait_args), (sy_call_t *)sys_sigwait, AUE_SIGWAIT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 429 = sigwait */ + { AS(sigwait_args), (sy_call_t *)sys_sigwait, AUE_SIGWAIT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 429 = sigwait */ { AS(thr_create_args), (sy_call_t *)sys_thr_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 430 = thr_create */ { AS(thr_exit_args), (sy_call_t *)sys_thr_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 431 = thr_exit */ { AS(thr_self_args), (sy_call_t *)sys_thr_self, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 432 = thr_self */ |