svn commit: r273654 - head/sys/kern
Mateusz Guzik
mjg at FreeBSD.org
Sun Oct 26 01:47:56 UTC 2014
Author: mjg
Date: Sun Oct 26 01:47:55 2014
New Revision: 273654
URL: https://svnweb.freebsd.org/changeset/base/273654
Log:
Now that sysctl_root is only called with sysctl lock in shared mode, update
its assertion to require that.
Update comment missed in r273400: sysctl_xlock/unlock -> sysctl_xlock/xunlock
Noted by: jhb
Modified:
head/sys/kern/kern_sysctl.c
Modified: head/sys/kern/kern_sysctl.c
==============================================================================
--- head/sys/kern/kern_sysctl.c Sun Oct 26 01:41:54 2014 (r273653)
+++ head/sys/kern/kern_sysctl.c Sun Oct 26 01:47:55 2014 (r273654)
@@ -77,7 +77,7 @@ static MALLOC_DEFINE(M_SYSCTLTMP, "sysct
* The sysctllock protects the MIB tree. It also protects sysctl
* contexts used with dynamic sysctls. The sysctl_register_oid() and
* sysctl_unregister_oid() routines require the sysctllock to already
- * be held, so the sysctl_lock() and sysctl_unlock() routines are
+ * be held, so the sysctl_xlock() and sysctl_xunlock() routines are
* provided for the few places in the kernel which need to use that
* API rather than using the dynamic API. Use of the dynamic API is
* strongly encouraged for most code.
@@ -96,6 +96,7 @@ static struct sx sysctlmemlock;
#define SYSCTL_XLOCKED() sx_xlocked(&sysctllock)
#define SYSCTL_ASSERT_LOCKED() sx_assert(&sysctllock, SA_LOCKED)
#define SYSCTL_ASSERT_XLOCKED() sx_assert(&sysctllock, SA_XLOCKED)
+#define SYSCTL_ASSERT_SLOCKED() sx_assert(&sysctllock, SA_SLOCKED)
#define SYSCTL_INIT() sx_init(&sysctllock, "sysctl lock")
#define SYSCTL_SLEEP(ch, wmesg, timo) \
sx_sleep(ch, &sysctllock, 0, wmesg, timo)
@@ -1572,7 +1573,7 @@ sysctl_root(SYSCTL_HANDLER_ARGS)
struct sysctl_oid *oid;
int error, indx, lvl;
- SYSCTL_ASSERT_LOCKED();
+ SYSCTL_ASSERT_SLOCKED();
error = sysctl_find_oid(arg1, arg2, &oid, &indx, req);
if (error)
More information about the svn-src-head
mailing list