summaryrefslogtreecommitdiffstats
path: root/sys/i386/ibcs2/ibcs2_sysi86.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-07-07 19:30:30 +0000
committerjhb <jhb@FreeBSD.org>2005-07-07 19:30:30 +0000
commitc91989d29bf9334fb66aa72bcd388a7cf938754f (patch)
tree6eb9eb4b3e42cbabffd34536562c3ed5e5ff1e73 /sys/i386/ibcs2/ibcs2_sysi86.c
parentc7cb86e1e4d693958f5cb620dcbb937d65295146 (diff)
downloadFreeBSD-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.c9
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 */
OpenPOWER on IntegriCloud