Mfp4 CH177924:

Add and export constants of array sizes of jail parameters as compiled into
the kernel.
This is the least intrusive way to allow kvm to read the (sparse) arrays
independent of the options the kernel was compiled with.

Reviewed by:	jhb (originally)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Sponsored by:	CK Software GmbH
This commit is contained in:
Bjoern A. Zeeb 2010-12-31 22:49:13 +00:00
parent 3c5571b374
commit 5cc703974c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=216861

View File

@ -140,7 +140,9 @@ static int prison_restrict_ip6(struct prison *pr, struct in6_addr *newip6);
#define PD_LIST_XLOCKED 0x10
/*
* Parameter names corresponding to PR_* flag values
* Parameter names corresponding to PR_* flag values. Size values are for kvm
* as we cannot figure out the size of a sparse array, or an array without a
* terminating entry.
*/
static char *pr_flag_names[] = {
[0] = "persist",
@ -151,6 +153,7 @@ static char *pr_flag_names[] = {
[8] = "ip6.saddrsel",
#endif
};
const size_t pr_flag_names_size = sizeof(pr_flag_names);
static char *pr_flag_nonames[] = {
[0] = "nopersist",
@ -161,6 +164,7 @@ static char *pr_flag_nonames[] = {
[8] = "ip6.nosaddrsel",
#endif
};
const size_t pr_flag_nonames_size = sizeof(pr_flag_nonames);
struct jailsys_flags {
const char *name;
@ -178,6 +182,7 @@ struct jailsys_flags {
{ "ip6", PR_IP6_USER | PR_IP6_DISABLE, PR_IP6_USER },
#endif
};
const size_t pr_flag_jailsys_size = sizeof(pr_flag_jailsys);
static char *pr_allow_names[] = {
"allow.set_hostname",
@ -188,6 +193,7 @@ static char *pr_allow_names[] = {
"allow.quotas",
"allow.socket_af",
};
const size_t pr_allow_names_size = sizeof(pr_allow_names);
static char *pr_allow_nonames[] = {
"allow.noset_hostname",
@ -198,6 +204,7 @@ static char *pr_allow_nonames[] = {
"allow.noquotas",
"allow.nosocket_af",
};
const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames);
#define JAIL_DEFAULT_ALLOW PR_ALLOW_SET_HOSTNAME
#define JAIL_DEFAULT_ENFORCE_STATFS 2