diff options
author | Pawel Biernacki <kaktus@FreeBSD.org> | 2020-02-26 14:26:36 +0000 |
---|---|---|
committer | Pawel Biernacki <kaktus@FreeBSD.org> | 2020-02-26 14:26:36 +0000 |
commit | 7029da5c36f2d3cf6bb6c81bf551229f416399e8 (patch) | |
tree | 53cae9da1371117a3ac21d0d0f3f030a692807ae /sys/libkern | |
parent | d7313dc6f5fcab29946951936597772dfff6a4be (diff) | |
download | src-7029da5c36f2d3cf6bb6c81bf551229f416399e8.tar.gz src-7029da5c36f2d3cf6bb6c81bf551229f416399e8.zip |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket)
Commented by: kib, gallatin, melifaro
Differential Revision: https://reviews.freebsd.org/D23718
Notes
Notes:
svn path=/head/; revision=358333
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 |