Module Name:    src
Committed By:   pgoyette
Date:           Wed Aug  7 00:38:02 UTC 2019

Modified Files:
        src/sys/dev: ccd.c
        src/sys/dev/iscsi: iscsi_main.c
        src/sys/dev/usb: usbnet.c
        src/sys/kern: kern_module.c sysv_ipc.c sysv_msg.c sysv_sem.c sysv_shm.c
        src/sys/miscfs/genfs: layer_vfsops.c
        src/sys/sys: module.h msg.h sem.h shm.h

Log Message:
Many years ago someone created a new __link_set_sysctl_funcs to hold
the list of routines that need to be called for setting up sysctl
variables.  This worked great for all code included in the kernel
itself, but didn't deal with modules that want to create their own
sysctl data.  So, we ended up with a lot of #ifdef _MODULE blocks
so modules could explicitly call their setup functions when loaded
as non-built-in modules.

So today, we complete the task that was started so many years ago.

When modules are loaded, after we've called xxx_modcmd(INIT...) we
check if the module contains its own __link_set_sysctl_funcs, and
if so we call the functions listed.  We add a struct sysctllog member
to the struct module so we can call sysctl_teardown() when the module
gets unloaded.  (The sequence of events ensures that the sysctl stuff
doesn't get created until the rest of the module's init code does any
required memory allocation.)

So, no more need to explicitly call the sysctl setup routines when
built as a loadable module.


To generate a diff of this commit:
cvs rdiff -u -r1.179 -r1.180 src/sys/dev/ccd.c
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/iscsi/iscsi_main.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/usb/usbnet.c
cvs rdiff -u -r1.136 -r1.137 src/sys/kern/kern_module.c \
    src/sys/kern/sysv_shm.c
cvs rdiff -u -r1.39 -r1.40 src/sys/kern/sysv_ipc.c
cvs rdiff -u -r1.74 -r1.75 src/sys/kern/sysv_msg.c
cvs rdiff -u -r1.97 -r1.98 src/sys/kern/sysv_sem.c
cvs rdiff -u -r1.51 -r1.52 src/sys/miscfs/genfs/layer_vfsops.c
cvs rdiff -u -r1.46 -r1.47 src/sys/sys/module.h
cvs rdiff -u -r1.27 -r1.28 src/sys/sys/msg.h
cvs rdiff -u -r1.33 -r1.34 src/sys/sys/sem.h
cvs rdiff -u -r1.52 -r1.53 src/sys/sys/shm.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ccd.c
diff -u src/sys/dev/ccd.c:1.179 src/sys/dev/ccd.c:1.180
--- src/sys/dev/ccd.c:1.179	Wed Mar 27 19:13:34 2019
+++ src/sys/dev/ccd.c	Wed Aug  7 00:38:01 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ccd.c,v 1.179 2019/03/27 19:13:34 martin Exp $	*/
+/*	$NetBSD: ccd.c,v 1.180 2019/08/07 00:38:01 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 1998, 1999, 2007, 2009 The NetBSD Foundation, Inc.
@@ -88,7 +88,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.179 2019/03/27 19:13:34 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.180 2019/08/07 00:38:01 pgoyette Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -216,10 +216,6 @@ static	void printiinfo(struct ccdiinfo *
 static LIST_HEAD(, ccd_softc) ccds = LIST_HEAD_INITIALIZER(ccds);
 static kmutex_t ccd_lock;
 
-#ifdef _MODULE
-static struct sysctllog *ccd_clog;
-#endif
-
 SYSCTL_SETUP_PROTO(sysctl_kern_ccd_setup);
 
 static struct ccd_softc *
@@ -1681,7 +1677,6 @@ ccd_modcmd(modcmd_t cmd, void *arg)
 
 		error = devsw_attach("ccd", &ccd_bdevsw, &bmajor,
 		    &ccd_cdevsw, &cmajor);
-		sysctl_kern_ccd_setup(&ccd_clog);
 #endif
 		break;
 
@@ -1696,7 +1691,6 @@ ccd_modcmd(modcmd_t cmd, void *arg)
 			error = devsw_detach(&ccd_bdevsw, &ccd_cdevsw);
 			ccddetach();
 		}
-		sysctl_teardown(&ccd_clog);
 #endif
 		break;
 

Index: src/sys/dev/iscsi/iscsi_main.c
diff -u src/sys/dev/iscsi/iscsi_main.c:1.30 src/sys/dev/iscsi/iscsi_main.c:1.31
--- src/sys/dev/iscsi/iscsi_main.c:1.30	Sat Jul 13 17:06:00 2019
+++ src/sys/dev/iscsi/iscsi_main.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: iscsi_main.c,v 1.30 2019/07/13 17:06:00 mlelstv Exp $	*/
+/*	$NetBSD: iscsi_main.c,v 1.31 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2004,2005,2006,2011 The NetBSD Foundation, Inc.
@@ -677,7 +677,6 @@ iscsi_modcmd(modcmd_t cmd, void *arg)
 #ifdef _MODULE
 	devmajor_t cmajor = NODEVMAJOR, bmajor = NODEVMAJOR;
 	int error;
-	static struct sysctllog *clog;
 #endif
 
 	switch (cmd) {
@@ -723,8 +722,6 @@ iscsi_modcmd(modcmd_t cmd, void *arg)
 			config_cfdriver_detach(&iscsi_cd);
 			return ENXIO;
 		}
-
-		sysctl_iscsi_setup(&clog);
 #endif
 		return 0;
 		break;
@@ -735,8 +732,6 @@ iscsi_modcmd(modcmd_t cmd, void *arg)
 		if (error)
 			return error;
 
-		sysctl_teardown(&clog);
-
 		config_cfattach_detach(iscsi_cd.cd_name, &iscsi_ca);
 		config_cfdriver_detach(&iscsi_cd);
 		devsw_detach(NULL, &iscsi_cdevsw);

Index: src/sys/dev/usb/usbnet.c
diff -u src/sys/dev/usb/usbnet.c:1.6 src/sys/dev/usb/usbnet.c:1.7
--- src/sys/dev/usb/usbnet.c:1.6	Tue Aug  6 01:42:22 2019
+++ src/sys/dev/usb/usbnet.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbnet.c,v 1.6 2019/08/06 01:42:22 mrg Exp $	*/
+/*	$NetBSD: usbnet.c,v 1.7 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 2019 Matthew R. Green
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.6 2019/08/06 01:42:22 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.7 2019/08/07 00:38:02 pgoyette Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -1207,18 +1207,8 @@ usbnet_modcmd(modcmd_t cmd, void *arg)
 {
 	switch (cmd) {
 	case MODULE_CMD_INIT:
-#ifdef _MODULE
-# if defined(USB_DEBUG) && defined(USBNET_DEBUG)
-		sysctl_hw_usbnet_setup(&usbnet_clog);
-# endif
-#endif
 		return 0;
 	case MODULE_CMD_FINI:
-#ifdef _MODULE
-# if defined(USB_DEBUG) && defined(USBNET_DEBUG)
-		sysctl_teardown(&usbnet_clog);
-# endif
-#endif
 		return 0;
 	case MODULE_CMD_STAT:
 	case MODULE_CMD_AUTOUNLOAD:

Index: src/sys/kern/kern_module.c
diff -u src/sys/kern/kern_module.c:1.136 src/sys/kern/kern_module.c:1.137
--- src/sys/kern/kern_module.c:1.136	Wed Jun 19 15:01:01 2019
+++ src/sys/kern/kern_module.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_module.c,v 1.136 2019/06/19 15:01:01 pgoyette Exp $	*/
+/*	$NetBSD: kern_module.c,v 1.137 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.136 2019/06/19 15:01:01 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.137 2019/08/07 00:38:02 pgoyette Exp $");
 
 #define _MODULE_INTERNAL
 
@@ -947,6 +947,35 @@ module_do_builtin(const module_t *pmod, 
 }
 
 /*
+ * module_load_sysctl
+ *
+ * Check to see if the module has any SYSCTL_SETUP() routine(s)
+ * registered.  If so, call it (them).
+ */
+
+static void
+module_load_sysctl(module_t *mod)
+{
+	void (**ls_funcp)(struct sysctllog **);
+	void *ls_start;
+	size_t ls_size, count;
+	int error;
+
+	error = kobj_find_section(mod->mod_kobj, "link_set_sysctl_funcs",
+	    &ls_start, &ls_size);
+	if (error == 0) {
+		count = ls_size / sizeof(ls_start);
+		ls_funcp = ls_start;
+		while (count--) {
+			(**ls_funcp)(&mod->mod_sysctllog);
+			ls_funcp++;
+		}
+	}
+	else
+		error = 0;	/* no setup funcs registered */
+}
+
+/*
  * module_do_load:
  *
  *	Helper routine: load a module from the file system, or one
@@ -1265,6 +1294,8 @@ module_do_load(const char *name, bool is
 		goto fail1;
 	}
 
+	module_load_sysctl(mod);	/* Set-up module's sysctl if any */
+
 	/*
 	 * Good, the module loaded successfully.  Put it onto the
 	 * list and add references to its requisite modules.
@@ -1344,9 +1375,18 @@ module_do_unload(const char *name, bool 
 	prev_active = module_active;
 	module_active = mod;
 	module_callback_unload(mod);
+
+	/*
+	 * If there were any registered SYSCTL_SETUP funcs, make sure
+	 * we release the sysctl entries
+	 */
+	if (mod->mod_sysctllog) {
+		sysctl_teardown(&mod->mod_sysctllog);
+	}
 	error = (*mod->mod_info->mi_modcmd)(MODULE_CMD_FINI, NULL);
 	module_active = prev_active;
 	if (error != 0) {
+		module_load_sysctl(mod);	/* re-enable sysctl stuff */
 		module_print("cannot unload module `%s' error=%d", name,
 		    error);
 		return error;
Index: src/sys/kern/sysv_shm.c
diff -u src/sys/kern/sysv_shm.c:1.136 src/sys/kern/sysv_shm.c:1.137
--- src/sys/kern/sysv_shm.c:1.136	Tue Aug  6 15:48:06 2019
+++ src/sys/kern/sysv_shm.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysv_shm.c,v 1.136 2019/08/06 15:48:06 riastradh Exp $	*/
+/*	$NetBSD: sysv_shm.c,v 1.137 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_shm.c,v 1.136 2019/08/06 15:48:06 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_shm.c,v 1.137 2019/08/07 00:38:02 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
@@ -933,7 +933,7 @@ shmrealloc(int newshmni)
 }
 
 int
-shminit(struct sysctllog **clog)
+shminit(void)
 {
 	vaddr_t v;
 	size_t sz;
@@ -978,10 +978,6 @@ shminit(struct sysctllog **clog)
 	uvm_shmexit = shmexit;
 	uvm_shmfork = shmfork;
 
-#ifdef _MODULE
-	if (clog)
-		sysctl_ipc_shm_setup(clog);
-#endif
 	return 0;
 }
 

Index: src/sys/kern/sysv_ipc.c
diff -u src/sys/kern/sysv_ipc.c:1.39 src/sys/kern/sysv_ipc.c:1.40
--- src/sys/kern/sysv_ipc.c:1.39	Wed Apr 10 10:03:50 2019
+++ src/sys/kern/sysv_ipc.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysv_ipc.c,v 1.39 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: sysv_ipc.c,v 1.40 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1998, 2007 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v 1.39 2019/04/10 10:03:50 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v 1.40 2019/08/07 00:38:02 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
@@ -132,8 +132,6 @@ MODULE(MODULE_CLASS_EXEC, sysv_ipc, NULL
  
 SYSCTL_SETUP_PROTO(sysctl_ipc_setup);
 
-static struct sysctllog *sysctl_sysvipc_clog = NULL;
-
 static const struct syscall_package sysvipc_syscalls[] = {
 #if defined(SYSVSHM)
 	{ SYS___shmctl50, 0, (sy_call_t *)sys___shmctl50 },
@@ -180,12 +178,12 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 		 * sysctl data
 		 */
 #ifdef SYSVSHM
-		error = shminit(&sysctl_sysvipc_clog);
+		error = shminit();
 		if (error != 0)
 			return error;
 #endif
 #ifdef SYSVSEM
-		error = seminit(&sysctl_sysvipc_clog);
+		error = seminit();
 		if (error != 0) {
 #ifdef SYSVSHM
 			shmfini();
@@ -194,7 +192,7 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 		}
 #endif
 #ifdef SYSVMSG
-		error = msginit(&sysctl_sysvipc_clog);
+		error = msginit();
 		if (error != 0) {
 #ifdef SYSVSEM
 			semfini();
@@ -205,11 +203,6 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 			return error;
 		}
 #endif
-
-#ifdef _MODULE
-		/* Set up the common sysctl tree */
-		sysctl_ipc_setup(&sysctl_sysvipc_clog);
-#endif
 		break;
 	case MODULE_CMD_FINI:
 		/*
@@ -228,7 +221,7 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 #ifdef SYSVSEM
 		if (semfini()) {
 #ifdef SYSVSHM
-			shminit(NULL);
+			shminit();
 #endif
 			return EBUSY;
 		}
@@ -236,20 +229,14 @@ sysv_ipc_modcmd(modcmd_t cmd, void *arg)
 #ifdef SYSVMSG
 		if (msgfini()) {
 #ifdef SYSVSEM
-			seminit(NULL);
+			seminit();
 #endif
 #ifdef SYSVSHM
-			shminit(NULL);
+			shminit();
 #endif
 			return EBUSY;
 		}
 #endif
-
-#ifdef _MODULE
-		/* Remove the sysctl sub-trees */
-		sysctl_teardown(&sysctl_sysvipc_clog);
-#endif
-
 		/* Unlink the system calls. */
 		error = syscall_disestablish(NULL, sysvipc_syscalls);
 		if (error)

Index: src/sys/kern/sysv_msg.c
diff -u src/sys/kern/sysv_msg.c:1.74 src/sys/kern/sysv_msg.c:1.75
--- src/sys/kern/sysv_msg.c:1.74	Wed Apr 10 10:03:50 2019
+++ src/sys/kern/sysv_msg.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysv_msg.c,v 1.74 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: sysv_msg.c,v 1.75 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2006, 2007 The NetBSD Foundation, Inc.
@@ -50,7 +50,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_msg.c,v 1.74 2019/04/10 10:03:50 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_msg.c,v 1.75 2019/08/07 00:38:02 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
@@ -94,7 +94,7 @@ extern int kern_has_sysvmsg;
 SYSCTL_SETUP_PROTO(sysctl_ipc_msg_setup);
 
 int
-msginit(struct sysctllog **clog)
+msginit(void)
 {
 	int i, sz;
 	vaddr_t v;
@@ -167,10 +167,6 @@ msginit(struct sysctllog **clog)
 
 	kern_has_sysvmsg = 1;
 
-#ifdef _MODULE
-	if (clog)
-		sysctl_ipc_msg_setup(clog);
-#endif
 	return 0;
 }
 

Index: src/sys/kern/sysv_sem.c
diff -u src/sys/kern/sysv_sem.c:1.97 src/sys/kern/sysv_sem.c:1.98
--- src/sys/kern/sysv_sem.c:1.97	Wed Apr 10 10:03:50 2019
+++ src/sys/kern/sysv_sem.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysv_sem.c,v 1.97 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: sysv_sem.c,v 1.98 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_sem.c,v 1.97 2019/04/10 10:03:50 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_sem.c,v 1.98 2019/08/07 00:38:02 pgoyette Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sysv.h"
@@ -102,7 +102,7 @@ static ONCE_DECL(exithook_control);
 static int seminit_exithook(void);
 
 int
-seminit(struct sysctllog **clog)
+seminit(void)
 {
 	int i, sz;
 	vaddr_t v;
@@ -145,10 +145,6 @@ seminit(struct sysctllog **clog)
 
 	kern_has_sysvsem = 1;
 
-#ifdef _MODULE
-	if (clog)
-		sysctl_ipc_sem_setup(clog);
-#endif
 	return 0;
 }
 

Index: src/sys/miscfs/genfs/layer_vfsops.c
diff -u src/sys/miscfs/genfs/layer_vfsops.c:1.51 src/sys/miscfs/genfs/layer_vfsops.c:1.52
--- src/sys/miscfs/genfs/layer_vfsops.c:1.51	Sun Jun  4 08:02:26 2017
+++ src/sys/miscfs/genfs/layer_vfsops.c	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: layer_vfsops.c,v 1.51 2017/06/04 08:02:26 hannken Exp $	*/
+/*	$NetBSD: layer_vfsops.c,v 1.52 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*
  * Copyright (c) 1999 National Aeronautics & Space Administration
@@ -74,7 +74,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: layer_vfsops.c,v 1.51 2017/06/04 08:02:26 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: layer_vfsops.c,v 1.52 2019/08/07 00:38:02 pgoyette Exp $");
 
 #include <sys/param.h>
 #include <sys/sysctl.h>
@@ -97,20 +97,11 @@ MODULE(MODULE_CLASS_MISC, layerfs, NULL)
 static int
 layerfs_modcmd(modcmd_t cmd, void *arg)
 {
-#ifdef _MODULE
-	static struct sysctllog *layerfs_clog = NULL;
-#endif
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
-#ifdef _MODULE
-		sysctl_vfs_layerfs_setup(&layerfs_clog);
-#endif
 		return 0;
 	case MODULE_CMD_FINI:
-#ifdef _MODULE
-		sysctl_teardown(&layerfs_clog);
-#endif
 		return 0;
 	default:
 		return ENOTTY;

Index: src/sys/sys/module.h
diff -u src/sys/sys/module.h:1.46 src/sys/sys/module.h:1.47
--- src/sys/sys/module.h:1.46	Mon Apr  8 11:32:49 2019
+++ src/sys/sys/module.h	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: module.h,v 1.46 2019/04/08 11:32:49 pgoyette Exp $	*/
+/*	$NetBSD: module.h,v 1.47 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -83,6 +83,9 @@ typedef struct modinfo {
 } const modinfo_t;
 
 /* Per module information, maintained by kern_module.c */ 
+
+struct sysctllog;
+
 typedef struct module {
 	u_int			mod_refcnt;
 	int			mod_flags;
@@ -97,6 +100,7 @@ typedef struct module {
 	modsrc_t		mod_source;
 	time_t			mod_autotime;
 	specificdata_reference	mod_sdref;
+	struct sysctllog	*mod_sysctllog;
 } module_t;
 
 /*

Index: src/sys/sys/msg.h
diff -u src/sys/sys/msg.h:1.27 src/sys/sys/msg.h:1.28
--- src/sys/sys/msg.h:1.27	Wed Apr 10 10:03:50 2019
+++ src/sys/sys/msg.h	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg.h,v 1.27 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: msg.h,v 1.28 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
@@ -209,7 +209,7 @@ __END_DECLS
 
 struct proc;
 
-int	msginit(struct sysctllog **);
+int	msginit(void);
 int	msgfini(void);
 int	msgctl1(struct lwp *, int, int, struct msqid_ds *);
 int	msgsnd1(struct lwp *, int, const char *, size_t, int, size_t,

Index: src/sys/sys/sem.h
diff -u src/sys/sys/sem.h:1.33 src/sys/sys/sem.h:1.34
--- src/sys/sys/sem.h:1.33	Wed Apr 10 10:03:50 2019
+++ src/sys/sys/sem.h	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sem.h,v 1.33 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: sem.h,v 1.34 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -222,7 +222,7 @@ int	semconfig(int);
 #endif
 __END_DECLS
 #else
-int	seminit(struct sysctllog **);
+int	seminit(void);
 int	semfini(void);
 void	semexit(struct proc *, void *);
 

Index: src/sys/sys/shm.h
diff -u src/sys/sys/shm.h:1.52 src/sys/sys/shm.h:1.53
--- src/sys/sys/shm.h:1.52	Wed Apr 10 10:03:50 2019
+++ src/sys/sys/shm.h	Wed Aug  7 00:38:02 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: shm.h,v 1.52 2019/04/10 10:03:50 pgoyette Exp $	*/
+/*	$NetBSD: shm.h,v 1.53 2019/08/07 00:38:02 pgoyette Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -172,7 +172,7 @@ extern int shm_nused;
 
 struct vmspace;
 
-int	shminit(struct sysctllog **);
+int	shminit(void);
 int	shmfini(void);
 void	shmfork(struct vmspace *, struct vmspace *);
 void	shmexit(struct vmspace *);

Reply via email to