diff options
Diffstat (limited to 'sys/libkern')
-rw-r--r-- | sys/libkern/iconv.c | 21 |
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 |