diff options
author | Ryan Moeller <[email protected]> | 2020-08-29 18:43:26 +0000 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-08-31 19:43:08 -0700 |
commit | eff621071ffd33764b833ea16894bee47d6ffb34 (patch) | |
tree | d1b7165fe0b8d69c3ce97c4ed0163d8205225821 /include/os/freebsd | |
parent | 2f65c7a608520f5907eddca0a732b0a995cb0a86 (diff) |
FreeBSD: Simplify INGLOBALZONE
FreeBSD's previous ZFS implemented INGLOBALZONE(thread) as
(!jailed((thread)->td_ucred)) and passed curthread to INGLOBALZONE.
We pass curproc instead of curthread, so we can achieve the same effect
with (!jailed((proc)->p_ucred)). The implementation is trivial enough
to fit on a single line in a define. We don't really need a whole
separate function for something that's already macros all the way down.
Eliminate in_globalzone.
Reviewed-by: Alexander Motin <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Ryan Moeller <[email protected]>
Closes #10851
Diffstat (limited to 'include/os/freebsd')
-rw-r--r-- | include/os/freebsd/spl/sys/zone.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/include/os/freebsd/spl/sys/zone.h b/include/os/freebsd/spl/sys/zone.h index 71a28adaf..dd088de83 100644 --- a/include/os/freebsd/spl/sys/zone.h +++ b/include/os/freebsd/spl/sys/zone.h @@ -29,6 +29,8 @@ #ifndef _OPENSOLARIS_SYS_ZONE_H_ #define _OPENSOLARIS_SYS_ZONE_H_ +#include <sys/jail.h> + /* * Macros to help with zone visibility restrictions. */ @@ -36,12 +38,9 @@ #define GLOBAL_ZONEID 0 /* - * Is thread in the global zone? + * Is proc in the global zone? */ -#define INGLOBALZONE(p) in_globalzone((p)) - - -extern boolean_t in_globalzone(struct proc *); +#define INGLOBALZONE(proc) (!jailed((proc)->p_ucred)) /* * Attach the given dataset to the given jail. |