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 <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ryan Moeller <freqlabs@FreeBSD.org>
Closes #10851
This commit is contained in:
Ryan Moeller
2020-08-29 18:43:26 +00:00
committed by Brian Behlendorf
parent 2f65c7a608
commit eff621071f
2 changed files with 4 additions and 11 deletions
+4 -5
View File
@@ -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.