diff options
author | jhb <jhb@FreeBSD.org> | 2005-07-07 19:30:30 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-07-07 19:30:30 +0000 |
commit | c91989d29bf9334fb66aa72bcd388a7cf938754f (patch) | |
tree | 6eb9eb4b3e42cbabffd34536562c3ed5e5ff1e73 /sys/i386/ibcs2/ibcs2_sysi86.c | |
parent | c7cb86e1e4d693958f5cb620dcbb937d65295146 (diff) | |
download | FreeBSD-src-c91989d29bf9334fb66aa72bcd388a7cf938754f.zip FreeBSD-src-c91989d29bf9334fb66aa72bcd388a7cf938754f.tar.gz |
Lock Giant around a call to userland_sysctl() in ibcs2_sysi86().
Approved by: re (scottl)
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_sysi86.c')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_sysi86.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/i386/ibcs2/ibcs2_sysi86.c b/sys/i386/ibcs2/ibcs2_sysi86.c index 179cd63..12321d1 100644 --- a/sys/i386/ibcs2/ibcs2_sysi86.c +++ b/sys/i386/ibcs2/ibcs2_sysi86.c @@ -31,6 +31,8 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> +#include <sys/lock.h> +#include <sys/mutex.h> #include <sys/systm.h> #include <sys/sysctl.h> @@ -78,8 +80,11 @@ ibcs2_sysi86(struct thread *td, struct ibcs2_sysi86_args *args) return (error); name[0] = CTL_KERN; name[1] = KERN_HOSTNAME; - return (userland_sysctl(td, name, 2, 0, 0, 0, - args->arg, 7, 0, 0)); + mtx_lock(&Giant); + error = userland_sysctl(td, name, 2, 0, 0, 0, + args->arg, 7, 0, 0); + mtx_unlock(&Giant); + return (error); } case SI86_MEM: /* size of physical memory */ |