aboutsummaryrefslogtreecommitdiff
path: root/sys/libkern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libkern')
-rw-r--r--sys/libkern/iconv.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/sys/libkern/iconv.c b/sys/libkern/iconv.c
index 2a61a545066f..6fecb0a937c4 100644
--- a/sys/libkern/iconv.c
+++ b/sys/libkern/iconv.c
@@ -42,7 +42,8 @@ __FBSDID("$FreeBSD$");
SYSCTL_DECL(_kern_iconv);
-SYSCTL_NODE(_kern, OID_AUTO, iconv, CTLFLAG_RW, NULL, "kernel iconv interface");
+SYSCTL_NODE(_kern, OID_AUTO, iconv, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+ "kernel iconv interface");
MALLOC_DEFINE(M_ICONV, "iconv", "ICONV structures");
static MALLOC_DEFINE(M_ICONVDATA, "iconv_data", "ICONV data");
@@ -348,8 +349,10 @@ iconv_sysctl_drvlist(SYSCTL_HANDLER_ARGS)
return error;
}
-SYSCTL_PROC(_kern_iconv, OID_AUTO, drvlist, CTLFLAG_RD | CTLTYPE_OPAQUE,
- NULL, 0, iconv_sysctl_drvlist, "S,xlat", "registered converters");
+SYSCTL_PROC(_kern_iconv, OID_AUTO, drvlist,
+ CTLFLAG_RD | CTLTYPE_OPAQUE | CTLFLAG_MPSAFE, NULL, 0,
+ iconv_sysctl_drvlist, "S,xlat",
+ "registered converters");
/*
* List all available charset pairs.
@@ -379,8 +382,10 @@ iconv_sysctl_cslist(SYSCTL_HANDLER_ARGS)
return error;
}
-SYSCTL_PROC(_kern_iconv, OID_AUTO, cslist, CTLFLAG_RD | CTLTYPE_OPAQUE,
- NULL, 0, iconv_sysctl_cslist, "S,xlat", "registered charset pairs");
+SYSCTL_PROC(_kern_iconv, OID_AUTO, cslist,
+ CTLFLAG_RD | CTLTYPE_OPAQUE | CTLFLAG_MPSAFE, NULL, 0,
+ iconv_sysctl_cslist, "S,xlat",
+ "registered charset pairs");
int
iconv_add(const char *converter, const char *to, const char *from)
@@ -446,8 +451,10 @@ bad:
return error;
}
-SYSCTL_PROC(_kern_iconv, OID_AUTO, add, CTLFLAG_RW | CTLTYPE_OPAQUE,
- NULL, 0, iconv_sysctl_add, "S,xlat", "register charset pair");
+SYSCTL_PROC(_kern_iconv, OID_AUTO, add,
+ CTLFLAG_RW | CTLTYPE_OPAQUE | CTLFLAG_MPSAFE, NULL, 0,
+ iconv_sysctl_add, "S,xlat",
+ "register charset pair");
/*
* Default stubs for converters