svn commit: r296114 - head/sys/net80211
Andriy Voskoboinyk
avos at FreeBSD.org
Fri Feb 26 20:47:10 UTC 2016
Author: avos
Date: Fri Feb 26 20:47:08 2016
New Revision: 296114
URL: https://svnweb.freebsd.org/changeset/base/296114
Log:
net80211: fix 'uma_zalloc_arg: zone "32" with non-sleepable locks held'
when 'sysctl net.wlan.devices' is executed.
PR: 207497
Submitted by: glebius
Approved by: adrian (mentor)
Modified:
head/sys/net80211/ieee80211.c
Modified: head/sys/net80211/ieee80211.c
==============================================================================
--- head/sys/net80211/ieee80211.c Fri Feb 26 20:38:23 2016 (r296113)
+++ head/sys/net80211/ieee80211.c Fri Feb 26 20:47:08 2016 (r296114)
@@ -266,21 +266,24 @@ static int
sysctl_ieee80211coms(SYSCTL_HANDLER_ARGS)
{
struct ieee80211com *ic;
- struct sbuf *sb;
+ struct sbuf sb;
char *sp;
int error;
- sb = sbuf_new_auto();
+ error = sysctl_wire_old_buffer(req, 0);
+ if (error)
+ return (error);
+ sbuf_new_for_sysctl(&sb, NULL, 8, req);
+ sbuf_clear_flags(&sb, SBUF_INCLUDENUL);
sp = "";
mtx_lock(&ic_list_mtx);
LIST_FOREACH(ic, &ic_head, ic_next) {
- sbuf_printf(sb, "%s%s", sp, ic->ic_name);
+ sbuf_printf(&sb, "%s%s", sp, ic->ic_name);
sp = " ";
}
mtx_unlock(&ic_list_mtx);
- sbuf_finish(sb);
- error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1);
- sbuf_delete(sb);
+ error = sbuf_finish(&sb);
+ sbuf_delete(&sb);
return (error);
}
More information about the svn-src-head
mailing list