diff options
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_jail.c | 1 | ||||
-rw-r--r-- | sys/kern/kern_mib.c | 9 | ||||
-rw-r--r-- | sys/kern/kern_uuid.c | 1 | ||||
-rw-r--r-- | sys/kern/kern_xxx.c | 4 |
4 files changed, 12 insertions, 3 deletions
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index a1ba4369bc5a..654b56f5dbbd 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -475,6 +475,7 @@ jailed(struct ucred *cred) void getcredhostname(struct ucred *cred, char *buf, size_t size) { + INIT_VPROCG(cred->cr_vimage->v_procg); if (jailed(cred)) { mtx_lock(&cred->cr_prison->pr_mtx); diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index aa05e93a420d..afe0153cb499 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -207,7 +207,9 @@ static char machine_arch[] = MACHINE_ARCH; SYSCTL_STRING(_hw, HW_MACHINE_ARCH, machine_arch, CTLFLAG_RD, machine_arch, 0, "System architecture"); +#ifndef VIMAGE char hostname[MAXHOSTNAMELEN]; +#endif /* * This mutex is used to protect the hostname and domainname variables, and @@ -219,6 +221,7 @@ MTX_SYSINIT(hostname_mtx, &hostname_mtx, "hostname", MTX_DEF); static int sysctl_hostname(SYSCTL_HANDLER_ARGS) { + INIT_VPROCG(TD_TO_VPROCG(req->td)); struct prison *pr; char tmphostname[MAXHOSTNAMELEN]; int error; @@ -345,7 +348,9 @@ SYSCTL_PROC(_kern, OID_AUTO, conftxt, CTLTYPE_STRING|CTLFLAG_RW, 0, 0, sysctl_kern_config, "", "Kernel configuration file"); #endif +#ifndef VIMAGE char domainname[MAXHOSTNAMELEN]; /* Protected by hostname_mtx. */ +#endif static int sysctl_domainname(SYSCTL_HANDLER_ARGS) @@ -354,13 +359,13 @@ sysctl_domainname(SYSCTL_HANDLER_ARGS) int error; mtx_lock(&hostname_mtx); - bcopy(domainname, tmpdomainname, MAXHOSTNAMELEN); + bcopy(V_domainname, tmpdomainname, MAXHOSTNAMELEN); mtx_unlock(&hostname_mtx); error = sysctl_handle_string(oidp, tmpdomainname, sizeof tmpdomainname, req); if (req->newptr != NULL && error == 0) { mtx_lock(&hostname_mtx); - bcopy(tmpdomainname, domainname, MAXHOSTNAMELEN); + bcopy(tmpdomainname, V_domainname, MAXHOSTNAMELEN); mtx_unlock(&hostname_mtx); } return (error); diff --git a/sys/kern/kern_uuid.c b/sys/kern/kern_uuid.c index 61e9ce9181db..8677f7ac800f 100644 --- a/sys/kern/kern_uuid.c +++ b/sys/kern/kern_uuid.c @@ -88,6 +88,7 @@ MTX_SYSINIT(uuid_lock, &uuid_mutex, "UUID generator mutex lock", MTX_DEF); static void uuid_node(uint16_t *node) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct sockaddr_dl *sdl; diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c index 9a30d174a934..aba4bbc428e9 100644 --- a/sys/kern/kern_xxx.c +++ b/sys/kern/kern_xxx.c @@ -246,6 +246,7 @@ getdomainname(td, uap) struct thread *td; struct getdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); char tmpdomainname[MAXHOSTNAMELEN]; int domainnamelen; @@ -271,6 +272,7 @@ setdomainname(td, uap) struct thread *td; struct setdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); char tmpdomainname[MAXHOSTNAMELEN]; int error, domainnamelen; @@ -284,7 +286,7 @@ setdomainname(td, uap) if (error == 0) { tmpdomainname[domainnamelen] = 0; mtx_lock(&hostname_mtx); - bcopy(tmpdomainname, V_domainname, sizeof(domainname)); + bcopy(tmpdomainname, V_domainname, sizeof(V_domainname)); mtx_unlock(&hostname_mtx); } return (error); |