Index: sys/compat/linuxkpi/common/include/linux/sysfs.h =================================================================== --- sys/compat/linuxkpi/common/include/linux/sysfs.h +++ sys/compat/linuxkpi/common/include/linux/sysfs.h @@ -185,7 +185,7 @@ /* Don't create the group node if grp->name is undefined. */ if (grp->name) oidp = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->oidp), - OID_AUTO, grp->name, CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, grp->name); + OID_AUTO, grp->name, CTLFLAG_RD, NULL, grp->name); else oidp = kobj->oidp; for (attr = grp->attrs; *attr != NULL; attr++) { @@ -261,7 +261,7 @@ struct sysctl_oid *oid; oid = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(kobj->parent->oidp), - OID_AUTO, kobj->name, CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, kobj->name); + OID_AUTO, kobj->name, CTLFLAG_RD, NULL, kobj->name); if (!oid) { return (-ENOMEM); } Index: sys/compat/linuxkpi/common/src/linux_compat.c =================================================================== --- sys/compat/linuxkpi/common/src/linux_compat.c +++ sys/compat/linuxkpi/common/src/linux_compat.c @@ -2437,7 +2437,7 @@ kobject_init(&linux_class_root, &linux_class_ktype); kobject_set_name(&linux_class_root, "class"); linux_class_root.oidp = SYSCTL_ADD_NODE(NULL, SYSCTL_CHILDREN(rootoid), - OID_AUTO, "class", CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, "class"); + OID_AUTO, "class", CTLFLAG_RD, NULL, "class"); kobject_init(&linux_root_device.kobj, &linux_dev_ktype); kobject_set_name(&linux_root_device.kobj, "device"); linux_root_device.kobj.oidp = SYSCTL_ADD_NODE(NULL, Index: sys/dev/hyperv/netvsc/if_hn.c =================================================================== --- sys/dev/hyperv/netvsc/if_hn.c +++ sys/dev/hyperv/netvsc/if_hn.c @@ -437,7 +437,7 @@ static void hn_start_txeof_taskfunc(void *, int); #endif -SYSCTL_NODE(_hw, OID_AUTO, hn, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, +SYSCTL_NODE(_hw, OID_AUTO, hn, CTLFLAG_RD, NULL, "Hyper-V network interface"); /* Trust tcp segements verification on host side. */ @@ -4947,7 +4947,7 @@ /* Create dev.hn.UNIT.rx sysctl tree */ sc->hn_rx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "rx", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD, 0, ""); for (i = 0; i < sc->hn_rx_ring_cnt; ++i) { struct hn_rx_ring *rxr = &sc->hn_rx_ring[i]; @@ -5002,7 +5002,7 @@ snprintf(name, sizeof(name), "%d", i); rxr->hn_rx_sysctl_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(sc->hn_rx_sysctl_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD, 0, ""); if (rxr->hn_rx_sysctl_tree != NULL) { SYSCTL_ADD_ULONG(ctx, @@ -5314,7 +5314,7 @@ snprintf(name, sizeof(name), "%d", id); txr->hn_tx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, - name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + name, CTLFLAG_RD, 0, ""); if (txr->hn_tx_sysctl_tree != NULL) { child = SYSCTL_CHILDREN(txr->hn_tx_sysctl_tree); @@ -5448,7 +5448,7 @@ /* Create dev.hn.UNIT.tx sysctl tree */ sc->hn_tx_sysctl_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "tx", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD, 0, ""); for (i = 0; i < sc->hn_tx_ring_cnt; ++i) { int error; Index: sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c =================================================================== --- sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c +++ sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c @@ -127,8 +127,8 @@ UNKNOWN_TYPE }; -SYSCTL_NODE(_hw, OID_AUTO, storvsc, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, - "Hyper-V storage interface"); +SYSCTL_NODE(_hw, OID_AUTO, storvsc, CTLFLAG_RD, NULL, + "Hyper-V storage interface"); static u_int hv_storvsc_use_win8ext_flags = 1; SYSCTL_UINT(_hw_storvsc, OID_AUTO, use_win8ext_flags, CTLFLAG_RW, @@ -1000,7 +1000,7 @@ /* dev.storvsc.UNIT.channel */ ch_tree = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "channel", - CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + CTLFLAG_RD, 0, ""); if (ch_tree == NULL) return; @@ -1011,7 +1011,7 @@ snprintf(name, sizeof(name), "%d", ch_id); /* dev.storvsc.UNIT.channel.CHID */ chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD, 0, ""); if (chid_tree == NULL) return; /* dev.storvsc.UNIT.channel.CHID.send_req */ Index: sys/dev/hyperv/utilities/vmbus_timesync.c =================================================================== --- sys/dev/hyperv/utilities/vmbus_timesync.c +++ sys/dev/hyperv/utilities/vmbus_timesync.c @@ -88,7 +88,7 @@ MODULE_VERSION(hv_timesync, 1); MODULE_DEPEND(hv_timesync, vmbus, 1, 1, 1); -SYSCTL_NODE(_hw, OID_AUTO, hvtimesync, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, +SYSCTL_NODE(_hw, OID_AUTO, hvtimesync, CTLFLAG_RW, NULL, "Hyper-V timesync interface"); static int vmbus_ts_ignore_sync = 0; Index: sys/dev/hyperv/vmbus/vmbus.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus.c +++ sys/dev/hyperv/vmbus/vmbus.c @@ -129,7 +129,7 @@ static struct vmbus_softc *vmbus_sc; -SYSCTL_NODE(_hw, OID_AUTO, vmbus, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, +SYSCTL_NODE(_hw, OID_AUTO, vmbus, CTLFLAG_RD, NULL, "Hyper-V vmbus"); static int vmbus_pin_evttask = 1; Index: sys/dev/hyperv/vmbus/vmbus_br.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus_br.c +++ sys/dev/hyperv/vmbus/vmbus_br.c @@ -104,7 +104,7 @@ char desc[64]; tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(br_tree), OID_AUTO, - name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + name, CTLFLAG_RD, 0, ""); if (tree == NULL) return; Index: sys/dev/hyperv/vmbus/vmbus_chan.c =================================================================== --- sys/dev/hyperv/vmbus/vmbus_chan.c +++ sys/dev/hyperv/vmbus/vmbus_chan.c @@ -249,7 +249,7 @@ */ ch_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(device_get_sysctl_tree(chan->ch_dev)), - OID_AUTO, "channel", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, "channel", CTLFLAG_RD, 0, ""); if (ch_tree == NULL) return; @@ -262,7 +262,7 @@ ch_id = chan->ch_prichan->ch_id; snprintf(name, sizeof(name), "%d", ch_id); chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD, 0, ""); if (chid_tree == NULL) return; @@ -271,7 +271,7 @@ * Create dev.NAME.UNIT.channel.CHANID.sub tree. */ ch_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(chid_tree), - OID_AUTO, "sub", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, "sub", CTLFLAG_RD, 0, ""); if (ch_tree == NULL) return; @@ -283,7 +283,7 @@ */ snprintf(name, sizeof(name), "%d", chan->ch_subidx); chid_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(ch_tree), - OID_AUTO, name, CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + OID_AUTO, name, CTLFLAG_RD, 0, ""); if (chid_tree == NULL) return; @@ -299,7 +299,7 @@ "has monitor notification facilities"); br_tree = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(chid_tree), OID_AUTO, - "br", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, ""); + "br", CTLFLAG_RD, 0, ""); if (br_tree != NULL) { /* * Create sysctl tree for RX bufring. Index: sys/kern/kern_descrip.c =================================================================== --- sys/kern/kern_descrip.c +++ sys/kern/kern_descrip.c @@ -3451,7 +3451,7 @@ } static SYSCTL_NODE(_kern_proc, KERN_PROC_NFDS, nfds, - CTLFLAG_RD|CTLFLAG_CAPRD|CTLFLAG_MPSAFE, sysctl_kern_proc_nfds, + CTLFLAG_RD|CTLFLAG_CAPRD, sysctl_kern_proc_nfds, "Number of open file descriptors"); /* @@ -3925,7 +3925,7 @@ } static SYSCTL_NODE(_kern_proc, KERN_PROC_OFILEDESC, ofiledesc, - CTLFLAG_RD|CTLFLAG_MPSAFE, sysctl_kern_proc_ofiledesc, + CTLFLAG_RD, sysctl_kern_proc_ofiledesc, "Process ofiledesc entries"); #endif /* COMPAT_FREEBSD7 */ @@ -3959,7 +3959,7 @@ } static SYSCTL_NODE(_kern_proc, KERN_PROC_FILEDESC, filedesc, - CTLFLAG_RD|CTLFLAG_MPSAFE, sysctl_kern_proc_filedesc, + CTLFLAG_RD, sysctl_kern_proc_filedesc, "Process filedesc entries"); /* @@ -4027,7 +4027,7 @@ return (error != 0 ? error : error2); } -static SYSCTL_NODE(_kern_proc, KERN_PROC_CWD, cwd, CTLFLAG_RD|CTLFLAG_MPSAFE, +static SYSCTL_NODE(_kern_proc, KERN_PROC_CWD, cwd, CTLFLAG_RD, sysctl_kern_proc_cwd, "Process current working directory"); #ifdef DDB Index: sys/kern/kern_proc.c =================================================================== --- sys/kern/kern_proc.c +++ sys/kern/kern_proc.c @@ -3039,116 +3039,141 @@ CTLFLAG_MPSAFE, 0, 0, sysctl_kern_proc, "S,proc", "Return entire process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_GID, gid, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_GID, gid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_PGRP, pgrp, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_PGRP, pgrp, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_RGID, rgid, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_RGID, rgid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_SESSION, sid, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_SESSION, sid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_TTY, tty, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_TTY, tty, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_UID, uid, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_UID, uid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_RUID, ruid, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_RUID, ruid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_PID, pid, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Process table"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_PID, pid, CTLFLAG_RD, + sysctl_kern_proc, + "Process table"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_PROC, proc, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc, "Return process table, no threads"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_PROC, proc, CTLFLAG_RD, + sysctl_kern_proc, + "Return process table, no threads"); static SYSCTL_NODE(_kern_proc, KERN_PROC_ARGS, args, - CTLFLAG_RW | CTLFLAG_CAPWR | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, - sysctl_kern_proc_args, "Process argument list"); + CTLFLAG_RW | CTLFLAG_CAPWR | CTLFLAG_ANYBODY, + sysctl_kern_proc_args, + "Process argument list"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_ENV, env, CTLFLAG_RD | CTLFLAG_MPSAFE, - sysctl_kern_proc_env, "Process environment"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_ENV, env, CTLFLAG_RD, + sysctl_kern_proc_env, + "Process environment"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_AUXV, auxv, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_auxv, "Process ELF auxiliary vector"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_AUXV, auxv, CTLFLAG_RD, + sysctl_kern_proc_auxv, + "Process ELF auxiliary vector"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_PATHNAME, pathname, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_pathname, "Process executable path"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_PATHNAME, pathname, CTLFLAG_RD, + sysctl_kern_proc_pathname, + "Process executable path"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_SV_NAME, sv_name, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_sv_name, - "Process syscall vector name (ABI type)"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_SV_NAME, sv_name, CTLFLAG_RD, + sysctl_kern_proc_sv_name, + "Process syscall vector name (ABI type)"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_GID | KERN_PROC_INC_THREAD), gid_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_PGRP | KERN_PROC_INC_THREAD), pgrp_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_RGID | KERN_PROC_INC_THREAD), rgid_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_SESSION | KERN_PROC_INC_THREAD), - sid_td, CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + sid_td, CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_TTY | KERN_PROC_INC_THREAD), tty_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_UID | KERN_PROC_INC_THREAD), uid_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_RUID | KERN_PROC_INC_THREAD), ruid_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_PID | KERN_PROC_INC_THREAD), pid_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, "Process table"); + CTLFLAG_RD, sysctl_kern_proc, + "Process table"); static SYSCTL_NODE(_kern_proc, (KERN_PROC_PROC | KERN_PROC_INC_THREAD), proc_td, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc, - "Return process table, no threads"); + CTLFLAG_RD, sysctl_kern_proc, + "Return process table, no threads"); #ifdef COMPAT_FREEBSD7 -static SYSCTL_NODE(_kern_proc, KERN_PROC_OVMMAP, ovmmap, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_ovmmap, "Old Process vm map entries"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_OVMMAP, ovmmap, CTLFLAG_RD, + sysctl_kern_proc_ovmmap, + "Old Process vm map entries"); #endif -static SYSCTL_NODE(_kern_proc, KERN_PROC_VMMAP, vmmap, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_vmmap, "Process vm map entries"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_VMMAP, vmmap, CTLFLAG_RD, + sysctl_kern_proc_vmmap, + "Process vm map entries"); #if defined(STACK) || defined(DDB) -static SYSCTL_NODE(_kern_proc, KERN_PROC_KSTACK, kstack, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_kstack, "Process kernel stacks"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_KSTACK, kstack, CTLFLAG_RD, + sysctl_kern_proc_kstack, + "Process kernel stacks"); #endif -static SYSCTL_NODE(_kern_proc, KERN_PROC_GROUPS, groups, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_groups, "Process groups"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_GROUPS, groups, CTLFLAG_RD, + sysctl_kern_proc_groups, + "Process groups"); static SYSCTL_NODE(_kern_proc, KERN_PROC_RLIMIT, rlimit, CTLFLAG_RW | - CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_rlimit, - "Process resource limits"); + CTLFLAG_ANYBODY, sysctl_kern_proc_rlimit, + "Process resource limits"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_PS_STRINGS, ps_strings, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_ps_strings, - "Process ps_strings location"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_PS_STRINGS, ps_strings, CTLFLAG_RD, + sysctl_kern_proc_ps_strings, "Process ps_strings location"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_umask, "Process umask"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RD, + sysctl_kern_proc_umask, + "Process umask"); static SYSCTL_NODE(_kern_proc, KERN_PROC_OSREL, osrel, CTLFLAG_RW | - CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_osrel, - "Process binary osreldate"); + CTLFLAG_ANYBODY, sysctl_kern_proc_osrel, + "Process binary osreldate"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_SIGTRAMP, sigtramp, CTLFLAG_RD | - CTLFLAG_MPSAFE, sysctl_kern_proc_sigtramp, - "Process signal trampoline location"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_SIGTRAMP, sigtramp, CTLFLAG_RD, + sysctl_kern_proc_sigtramp, + "Process signal trampoline location"); static SYSCTL_NODE(_kern_proc, KERN_PROC_SIGFASTBLK, sigfastblk, CTLFLAG_RD | - CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_sigfastblk, - "Thread sigfastblock address"); + CTLFLAG_ANYBODY, sysctl_kern_proc_sigfastblk, + "Thread sigfastblock address"); int allproc_gen; Index: sys/kern/kern_sysctl.c =================================================================== --- sys/kern/kern_sysctl.c +++ sys/kern/kern_sysctl.c @@ -1097,7 +1097,7 @@ * capability mode. */ static SYSCTL_NODE(_sysctl, CTL_SYSCTL_NAME, name, CTLFLAG_RD | - CTLFLAG_MPSAFE | CTLFLAG_CAPRD, sysctl_sysctl_name, ""); + CTLFLAG_CAPRD, sysctl_sysctl_name, ""); static int sysctl_sysctl_next_ls(struct sysctl_oid_list *lsp, int *name, u_int namelen, @@ -1184,7 +1184,7 @@ * capability mode. */ static SYSCTL_NODE(_sysctl, CTL_SYSCTL_NEXT, next, CTLFLAG_RD | - CTLFLAG_MPSAFE | CTLFLAG_CAPRD, sysctl_sysctl_next, ""); + CTLFLAG_CAPRD, sysctl_sysctl_next, ""); static int name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp) @@ -1304,7 +1304,7 @@ } static SYSCTL_NODE(_sysctl, CTL_SYSCTL_OIDFMT, oidfmt, CTLFLAG_RD | - CTLFLAG_MPSAFE | CTLFLAG_CAPRD, sysctl_sysctl_oidfmt, ""); + CTLFLAG_CAPRD, sysctl_sysctl_oidfmt, ""); static int sysctl_sysctl_oiddescr(SYSCTL_HANDLER_ARGS) @@ -1333,7 +1333,7 @@ } static SYSCTL_NODE(_sysctl, CTL_SYSCTL_OIDDESCR, oiddescr, CTLFLAG_RD | - CTLFLAG_MPSAFE|CTLFLAG_CAPRD, sysctl_sysctl_oiddescr, ""); + CTLFLAG_CAPRD, sysctl_sysctl_oiddescr, ""); static int sysctl_sysctl_oidlabel(SYSCTL_HANDLER_ARGS) @@ -1362,7 +1362,7 @@ } static SYSCTL_NODE(_sysctl, CTL_SYSCTL_OIDLABEL, oidlabel, CTLFLAG_RD | - CTLFLAG_MPSAFE | CTLFLAG_CAPRD, sysctl_sysctl_oidlabel, ""); + CTLFLAG_CAPRD, sysctl_sysctl_oidlabel, ""); /* * Default "handler" functions. Index: sys/kern/vfs_subr.c =================================================================== --- sys/kern/vfs_subr.c +++ sys/kern/vfs_subr.c @@ -4504,8 +4504,8 @@ return (EOPNOTSUPP); } -static SYSCTL_NODE(_vfs, VFS_GENERIC, generic, CTLFLAG_RD | CTLFLAG_SKIP | - CTLFLAG_MPSAFE, vfs_sysctl, +static SYSCTL_NODE(_vfs, VFS_GENERIC, generic, CTLFLAG_RD | CTLFLAG_SKIP, + vfs_sysctl, "Generic filesystem"); #if 1 || defined(COMPAT_PRELITE2) Index: sys/net/bpf.c =================================================================== --- sys/net/bpf.c +++ sys/net/bpf.c @@ -221,7 +221,7 @@ static int bpf_zerocopy_enable = 0; SYSCTL_INT(_net_bpf, OID_AUTO, zerocopy_enable, CTLFLAG_RW, &bpf_zerocopy_enable, 0, "Enable new zero-copy BPF buffer sessions"); -static SYSCTL_NODE(_net_bpf, OID_AUTO, stats, CTLFLAG_MPSAFE | CTLFLAG_RW, +static SYSCTL_NODE(_net_bpf, OID_AUTO, stats, CTLFLAG_RW, bpf_stats_sysctl, "bpf statistics portal"); VNET_DEFINE_STATIC(int, bpf_optimize_writers) = 0; Index: sys/net/rtsock.c =================================================================== --- sys/net/rtsock.c +++ sys/net/rtsock.c @@ -2106,7 +2106,7 @@ return (error); } -static SYSCTL_NODE(_net, PF_ROUTE, routetable, CTLFLAG_RD | CTLFLAG_MPSAFE, +static SYSCTL_NODE(_net, PF_ROUTE, routetable, CTLFLAG_RD, sysctl_rtsock, "Return route tables and interface/address lists"); /* Index: sys/netinet/igmp.c =================================================================== --- sys/netinet/igmp.c +++ sys/netinet/igmp.c @@ -293,7 +293,7 @@ * Non-virtualized sysctls. */ static SYSCTL_NODE(_net_inet_igmp, OID_AUTO, ifinfo, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_igmp_ifinfo, + CTLFLAG_RD, sysctl_igmp_ifinfo, "Per-interface IGMPv3 state"); static __inline void Index: sys/netinet/in_mcast.c =================================================================== --- sys/netinet/in_mcast.c +++ sys/netinet/in_mcast.c @@ -195,7 +195,7 @@ &in_mcast_loop, 0, "Loopback multicast datagrams by default"); static SYSCTL_NODE(_net_inet_ip_mcast, OID_AUTO, filters, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_ip_mcast_filters, + CTLFLAG_RD, sysctl_ip_mcast_filters, "Per-interface stack-wide source filters"); #ifdef KTR Index: sys/netinet/tcp_lro.c =================================================================== --- sys/netinet/tcp_lro.c +++ sys/netinet/tcp_lro.c @@ -81,7 +81,7 @@ static int tcp_lro_rx2(struct lro_ctrl *lc, struct mbuf *m, uint32_t csum, int use_hash); -SYSCTL_NODE(_net_inet_tcp, OID_AUTO, lro, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, +SYSCTL_NODE(_net_inet_tcp, OID_AUTO, lro, CTLFLAG_RW, 0, "TCP LRO"); static long tcplro_stacks_wanting_mbufq = 0; Index: sys/netinet6/in6_mcast.c =================================================================== --- sys/netinet6/in6_mcast.c +++ sys/netinet6/in6_mcast.c @@ -187,7 +187,7 @@ &in6_mcast_loop, 0, "Loopback multicast datagrams by default"); static SYSCTL_NODE(_net_inet6_ip6_mcast, OID_AUTO, filters, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_ip6_mcast_filters, + CTLFLAG_RD, sysctl_ip6_mcast_filters, "Per-interface stack-wide source filters"); #ifdef KTR Index: sys/netinet6/mld6.c =================================================================== --- sys/netinet6/mld6.c +++ sys/netinet6/mld6.c @@ -237,7 +237,7 @@ * Non-virtualized sysctls. */ static SYSCTL_NODE(_net_inet6_mld, OID_AUTO, ifinfo, - CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_mld_ifinfo, + CTLFLAG_RD, sysctl_mld_ifinfo, "Per-interface MLDv2 state"); static int mld_v1enable = 1; Index: sys/security/mac_bsdextended/mac_bsdextended.c =================================================================== --- sys/security/mac_bsdextended/mac_bsdextended.c +++ sys/security/mac_bsdextended/mac_bsdextended.c @@ -203,7 +203,7 @@ } static SYSCTL_NODE(_security_mac_bsdextended, OID_AUTO, rules, - CTLFLAG_MPSAFE | CTLFLAG_RW, sysctl_rule, "BSD extended MAC rules"); + CTLFLAG_RW, sysctl_rule, "BSD extended MAC rules"); static void ugidfw_init(struct mac_policy_conf *mpc) Index: sys/sys/sysctl.h =================================================================== --- sys/sys/sysctl.h +++ sys/sys/sysctl.h @@ -332,8 +332,10 @@ SYSCTL_NODE_WITH_LABEL(parent, nbr, name, access, handler, descr, NULL) #define SYSCTL_NODE_WITH_LABEL(parent, nbr, name, access, handler, descr, label) \ - SYSCTL_OID_GLOBAL(parent, nbr, name, CTLTYPE_NODE|(access), \ + SYSCTL_OID_GLOBAL(parent, nbr, name, \ + CTLTYPE_NODE | CTLFLAG_MPSAFE | (access), \ NULL, 0, handler, "N", descr, label); \ + CTASSERT(((access) & (CTLFLAG_MPSAFE | CTLFLAG_NEEDGIANT)) == 0); \ CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE) @@ -345,8 +347,9 @@ ({ \ CTASSERT(((access) & CTLTYPE) == 0 || \ ((access) & SYSCTL_CT_ASSERT_MASK) == CTLTYPE_NODE); \ - SYSCTL_ENFORCE_FLAGS(access); \ - sysctl_add_oid(ctx, parent, nbr, name, CTLTYPE_NODE|(access), \ + CTASSERT(((access) & (CTLFLAG_MPSAFE | CTLFLAG_NEEDGIANT)) == 0); \ + sysctl_add_oid(ctx, parent, nbr, name, \ + CTLTYPE_NODE | CTLFLAG_MPSAFE | (access), \ NULL, 0, handler, "N", __DESCR(descr), label); \ }) Index: sys/vm/swap_pager.c =================================================================== --- sys/vm/swap_pager.c +++ sys/vm/swap_pager.c @@ -2677,7 +2677,7 @@ SYSCTL_INT(_vm, OID_AUTO, nswapdev, CTLFLAG_RD, &nswapdev, 0, "Number of swap devices"); -SYSCTL_NODE(_vm, OID_AUTO, swap_info, CTLFLAG_RD | CTLFLAG_MPSAFE, +SYSCTL_NODE(_vm, OID_AUTO, swap_info, CTLFLAG_RD, sysctl_vm_swap_info, "Swap statistics by device");