Module Name: src Committed By: pgoyette Date: Tue Jan 22 07:42:42 UTC 2019
Modified Files: src/sys/arch/amd64/amd64 [pgoyette-compat]: netbsd32_machdep.c src/sys/arch/mips/mips [pgoyette-compat]: netbsd32_machdep.c src/sys/arch/sparc/fpu [pgoyette-compat]: fpu.c src/sys/arch/sparc64/sparc64 [pgoyette-compat]: netbsd32_machdep.c src/sys/compat/common [pgoyette-compat]: if_43.c src/sys/compat/netbsd32 [pgoyette-compat]: netbsd32_kern_proc.c netbsd32_module.c src/sys/dev [pgoyette-compat]: bio.c ccd.c clockctl.c vnd.c src/sys/dev/raidframe [pgoyette-compat]: rf_netbsdkintf.c src/sys/dev/sysmon [pgoyette-compat]: sysmon_power.c src/sys/dev/usb [pgoyette-compat]: ugen.c uhid.c usb.c src/sys/dev/wscons [pgoyette-compat]: wsevent.c src/sys/fs/puffs [pgoyette-compat]: puffs_msgif.c src/sys/kern [pgoyette-compat]: kern_proc.c kern_rndq.c sys_module.c sysv_ipc.c tty.c tty_ptm.c uipc_usrreq.c vfs_syscalls.c src/sys/net [pgoyette-compat]: if.c if_spppsubr.c rtsock.c rtsock_shared.c src/sys/net80211 [pgoyette-compat]: ieee80211_ioctl.c src/sys/opencrypto [pgoyette-compat]: cryptodev.c src/sys/sys [pgoyette-compat]: compat_stub.h module_hook.h tty.h Log Message: Convert the MODULE_{,VOID_}HOOK_CALL macros to do everything in-line rather than defining an intermediate hook##call function. Almost all of the hooks are called only once, and although we lose the ability of doing things like if (MODULE_HOOK_CALL(...) == 0) ... we simplify things quite a bit. With this change, we no longer need to have both declaration and definition macros, and the definition no longer needs to have both prototype argument list and a "real" argument list. FWIW, the above if now needs to written as int ret; MODULE_HOOK_CALL(..., ret); if (ret == 0) ... with appropriate use of braces {}. To generate a diff of this commit: cvs rdiff -u -r1.115.2.15 -r1.115.2.16 \ src/sys/arch/amd64/amd64/netbsd32_machdep.c cvs rdiff -u -r1.15.2.11 -r1.15.2.12 \ src/sys/arch/mips/mips/netbsd32_machdep.c cvs rdiff -u -r1.27.46.4 -r1.27.46.5 src/sys/arch/sparc/fpu/fpu.c cvs rdiff -u -r1.110.14.4 -r1.110.14.5 \ src/sys/arch/sparc64/sparc64/netbsd32_machdep.c cvs rdiff -u -r1.14.2.13 -r1.14.2.14 src/sys/compat/common/if_43.c cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/sys/compat/netbsd32/netbsd32_kern_proc.c cvs rdiff -u -r1.6.2.12 -r1.6.2.13 src/sys/compat/netbsd32/netbsd32_module.c cvs rdiff -u -r1.13.16.8 -r1.13.16.9 src/sys/dev/bio.c cvs rdiff -u -r1.175.2.11 -r1.175.2.12 src/sys/dev/ccd.c cvs rdiff -u -r1.35.14.11 -r1.35.14.12 src/sys/dev/clockctl.c cvs rdiff -u -r1.263.2.13 -r1.263.2.14 src/sys/dev/vnd.c cvs rdiff -u -r1.356.2.10 -r1.356.2.11 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.58.2.8 -r1.58.2.9 src/sys/dev/sysmon/sysmon_power.c cvs rdiff -u -r1.139.2.9 -r1.139.2.10 src/sys/dev/usb/ugen.c cvs rdiff -u -r1.101.2.8 -r1.101.2.9 src/sys/dev/usb/uhid.c cvs rdiff -u -r1.168.2.10 -r1.168.2.11 src/sys/dev/usb/usb.c cvs rdiff -u -r1.37.2.9 -r1.37.2.10 src/sys/dev/wscons/wsevent.c cvs rdiff -u -r1.101.10.10 -r1.101.10.11 src/sys/fs/puffs/puffs_msgif.c cvs rdiff -u -r1.209.2.14 -r1.209.2.15 src/sys/kern/kern_proc.c cvs rdiff -u -r1.89.16.7 -r1.89.16.8 src/sys/kern/kern_rndq.c cvs rdiff -u -r1.23.2.16 -r1.23.2.17 src/sys/kern/sys_module.c cvs rdiff -u -r1.32.16.10 -r1.32.16.11 src/sys/kern/sysv_ipc.c cvs rdiff -u -r1.275.2.8 -r1.275.2.9 src/sys/kern/tty.c cvs rdiff -u -r1.37.16.5 -r1.37.16.6 src/sys/kern/tty_ptm.c cvs rdiff -u -r1.183.2.9 -r1.183.2.10 src/sys/kern/uipc_usrreq.c cvs rdiff -u -r1.518.2.5 -r1.518.2.6 src/sys/kern/vfs_syscalls.c cvs rdiff -u -r1.419.2.21 -r1.419.2.22 src/sys/net/if.c cvs rdiff -u -r1.179.2.10 -r1.179.2.11 src/sys/net/if_spppsubr.c cvs rdiff -u -r1.238.2.24 -r1.238.2.25 src/sys/net/rtsock.c cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/sys/net/rtsock_shared.c cvs rdiff -u -r1.60.16.7 -r1.60.16.8 src/sys/net80211/ieee80211_ioctl.c cvs rdiff -u -r1.98.2.10 -r1.98.2.11 src/sys/opencrypto/cryptodev.c cvs rdiff -u -r1.1.2.51 -r1.1.2.52 src/sys/sys/compat_stub.h cvs rdiff -u -r1.1.2.13 -r1.1.2.14 src/sys/sys/module_hook.h cvs rdiff -u -r1.94.2.3 -r1.94.2.4 src/sys/sys/tty.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/arch/amd64/amd64/netbsd32_machdep.c diff -u src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.115.2.15 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.115.2.16 --- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.115.2.15 Mon Jan 21 06:49:27 2019 +++ src/sys/arch/amd64/amd64/netbsd32_machdep.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.115.2.15 2019/01/21 06:49:27 pgoyette Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.115.2.16 2019/01/22 07:42:40 pgoyette Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.115.2.15 2019/01/21 06:49:27 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.115.2.16 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -275,17 +275,12 @@ netbsd32_sendsig_siginfo(const ksiginfo_ struct netbsd32_sendsig_hook_t netbsd32_sendsig_hook; -MODULE_CALL_HOOK_DECL(netbsd32_sendsig_hook, void, - (const ksiginfo_t *ksi, const sigset_t *mask)); -MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, - (const ksiginfo_t *ksi, const sigset_t *mask), (ksi, mask), - netbsd32_sendsig_siginfo(ksi, mask)); - void netbsd32_sendsig(const ksiginfo_t *ksi, const sigset_t *mask) { - netbsd32_sendsig_hook_call(ksi, mask); + MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, (ksi, mask), + netbsd32_sendsig_siginfo(ksi, mask)); } #ifdef COREDUMP Index: src/sys/arch/mips/mips/netbsd32_machdep.c diff -u src/sys/arch/mips/mips/netbsd32_machdep.c:1.15.2.11 src/sys/arch/mips/mips/netbsd32_machdep.c:1.15.2.12 --- src/sys/arch/mips/mips/netbsd32_machdep.c:1.15.2.11 Mon Jan 21 06:49:27 2019 +++ src/sys/arch/mips/mips/netbsd32_machdep.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.15.2.11 2019/01/21 06:49:27 pgoyette Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.15.2.12 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 2009 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.15.2.11 2019/01/21 06:49:27 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.15.2.12 2019/01/22 07:42:40 pgoyette Exp $"); #include "opt_compat_netbsd.h" #include "opt_coredump.h" @@ -309,17 +309,12 @@ cpu_coredump32(struct lwp *l, struct cor struct netbsd32_sendsig_hook_t netbsd32_sendsig_hook; -MODULE_CALL_HOOK_DECL(netbsd32_sendsig_hook, void, - (const ksiginfo_t *ksi, const sigset_t *mask)); -MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, - (const ksiginfo_t *ksi, const sigset_t *mask), (ksi, mask), - netbsd32_sendsig_siginfo(ksi, mask)); - void netbsd32_sendsig(const ksiginfo_t *ksi, const sigset_t *mask) { - netbsd32_sendsig_hook_call(ksi, mask); + MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, (ksi, mask), + netbsd32_sendsig_siginfo(ksi, mask)); } void Index: src/sys/arch/sparc/fpu/fpu.c diff -u src/sys/arch/sparc/fpu/fpu.c:1.27.46.4 src/sys/arch/sparc/fpu/fpu.c:1.27.46.5 --- src/sys/arch/sparc/fpu/fpu.c:1.27.46.4 Fri Jan 18 00:01:00 2019 +++ src/sys/arch/sparc/fpu/fpu.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu.c,v 1.27.46.4 2019/01/18 00:01:00 pgoyette Exp $ */ +/* $NetBSD: fpu.c,v 1.27.46.5 2019/01/22 07:42:40 pgoyette Exp $ */ /* * Copyright (c) 1992, 1993 @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.27.46.4 2019/01/18 00:01:00 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu.c,v 1.27.46.5 2019/01/22 07:42:40 pgoyette Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -120,13 +120,6 @@ static u_char fpu_codes_sunos[] = { /* Note: SVR4(Solaris) FPE_* codes happen to be compatible with ours */ /* - * HOOK for checking if the lwp's emul matches sunos - */ -MODULE_CALL_HOOK_DECL(get_emul_sunos_hook, int, (const struct emul **emul)); -MODULE_CALL_HOOK(get_emul_sunos_hook, int, (const struct emul ** emul), (emul), - enosys()); - -/* * The FPU gave us an exception. Clean up the mess. Note that the * fp queue can only have FPops in it, never load/store FP registers * nor FBfcc instructions. Experiments with `crashme' prove that @@ -150,8 +143,9 @@ fpu_cleanup( int code = 0; const struct emul *sunos_emul; - if (get_emul_sunos_hook_call(&sunos_emul) == 0 && - p->p_emul == sunos_emul) + MODULE_CALL_HOOK(get_emul_sunos_hook, (&sunos_emul), enosys(), ret); + + if (ret == 0 && p->p_emul == sunos_emul) fpu_codes = fpu_codes_sunos; else fpu_codes = fpu_codes_native; Index: src/sys/arch/sparc64/sparc64/netbsd32_machdep.c diff -u src/sys/arch/sparc64/sparc64/netbsd32_machdep.c:1.110.14.4 src/sys/arch/sparc64/sparc64/netbsd32_machdep.c:1.110.14.5 --- src/sys/arch/sparc64/sparc64/netbsd32_machdep.c:1.110.14.4 Mon Jan 21 06:49:27 2019 +++ src/sys/arch/sparc64/sparc64/netbsd32_machdep.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_machdep.c,v 1.110.14.4 2019/01/21 06:49:27 pgoyette Exp $ */ +/* $NetBSD: netbsd32_machdep.c,v 1.110.14.5 2019/01/22 07:42:40 pgoyette Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.110.14.4 2019/01/21 06:49:27 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.110.14.5 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -262,17 +262,12 @@ netbsd32_sendsig_siginfo(const ksiginfo_ struct netbsd32_sendsig_hook_t netbsd32_sendsig_hook; -MODULE_CALL_HOOK_DECL(netbsd32_sendsig_hook, void, - (const ksiginfo_t *ksi, const sigset_t *mask)); -MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, - (const ksiginfo_t *ksi, const sigset_t *mask), (ksi, mask), - netbsd32_sendsig_siginfo(ksi, mask)); - void netbsd32_sendsig(const ksiginfo_t *ksi, const sigset_t *mask) { - netbsd32_sendsig_hook_call(ksi, mask); + MODULE_CALL_VOID_HOOK(netbsd32_sendsig_hook, (ksi, mask), + netbsd32_sendsig_siginfo(ksi, mask)); } #undef DEBUG Index: src/sys/compat/common/if_43.c diff -u src/sys/compat/common/if_43.c:1.14.2.13 src/sys/compat/common/if_43.c:1.14.2.14 --- src/sys/compat/common/if_43.c:1.14.2.13 Fri Jan 18 00:01:00 2019 +++ src/sys/compat/common/if_43.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_43.c,v 1.14.2.13 2019/01/18 00:01:00 pgoyette Exp $ */ +/* $NetBSD: if_43.c,v 1.14.2.14 2019/01/22 07:42:40 pgoyette Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1990, 1993 @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_43.c,v 1.14.2.13 2019/01/18 00:01:00 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_43.c,v 1.14.2.14 2019/01/22 07:42:40 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -78,15 +78,6 @@ __KERNEL_RCSID(0, "$NetBSD: if_43.c,v 1. #if defined(COMPAT_43) -/* - * Hook for calling the if43_20 compatability routine. - * - * XXX The if43_20 routine doesn't really have any effect, since its - * XXX return value is ignored (see compat/common/if_43.c)! - */ -MODULE_CALL_HOOK_DECL(if43_20_hook, int, (u_long ncmd)); -MODULE_CALL_HOOK(if43_20_hook, int, (u_long ncmd), (ncmd), enosys()); - /* * Use a wrapper so that the compat_cvtcmd() can return a u_long */ @@ -221,7 +212,7 @@ compat_cvtcmd(u_long cmd) case TAPGIFNAME: return ncmd; default: - (void)if43_20_hook_call(ncmd); + MODULE_CALL_HOOK(if43_20_hook, (ncmd), enosys(), ncmd); return ncmd; } } Index: src/sys/compat/netbsd32/netbsd32_kern_proc.c diff -u src/sys/compat/netbsd32/netbsd32_kern_proc.c:1.1.2.6 src/sys/compat/netbsd32/netbsd32_kern_proc.c:1.1.2.7 --- src/sys/compat/netbsd32/netbsd32_kern_proc.c:1.1.2.6 Mon Jan 14 13:34:27 2019 +++ src/sys/compat/netbsd32/netbsd32_kern_proc.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_kern_proc.c,v 1.1.2.6 2019/01/14 13:34:27 pgoyette Exp $ */ +/* $NetBSD: netbsd32_kern_proc.c,v 1.1.2.7 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 1999, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_kern_proc.c,v 1.1.2.6 2019/01/14 13:34:27 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_kern_proc.c,v 1.1.2.7 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_kstack.h" @@ -124,14 +124,14 @@ copyin_psstrings_32(struct proc *p, stru return 0; } -static void -get_base32(char **argv, size_t i, vaddr_t *base) +static vaddr_t +get_base32(char **argv, size_t i) { netbsd32_charp *argv32; argv32 = (netbsd32_charp *)argv; - *base = (vaddr_t)NETBSD32PTR64(argv32[i]); + return (vaddr_t)NETBSD32PTR64(argv32[i]); } #if !defined(_RUMPSERVER) Index: src/sys/compat/netbsd32/netbsd32_module.c diff -u src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.12 src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.13 --- src/sys/compat/netbsd32/netbsd32_module.c:1.6.2.12 Fri Jan 18 00:01:01 2019 +++ src/sys/compat/netbsd32/netbsd32_module.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32_module.c,v 1.6.2.12 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: netbsd32_module.c,v 1.6.2.13 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.6.2.12 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: netbsd32_module.c,v 1.6.2.13 2019/01/22 07:42:40 pgoyette Exp $"); #include <sys/param.h> #include <sys/dirent.h> @@ -200,16 +200,6 @@ compat32_80_modctl_compat_stub(struct lw return EPASSTHROUGH; } -/* Module hook for netbsd32_80_modctl */ -MODULE_CALL_HOOK_DECL(compat32_80_modctl_hook, int, - (struct lwp *lwp, const struct netbsd32_modctl_args *uap, - register_t *result)); -MODULE_CALL_HOOK(compat32_80_modctl_hook, int, - (struct lwp *lwp, const struct netbsd32_modctl_args *uap, - register_t *result), - (lwp, uap, result), - enosys()); - int netbsd32_modctl(struct lwp *lwp, const struct netbsd32_modctl_args *uap, register_t *result) @@ -229,7 +219,8 @@ netbsd32_modctl(struct lwp *lwp, const s arg = SCARG_P32(uap, arg); - error = compat32_80_modctl_hook_call(lwp, uap, result); + MODULE_CALL_HOOK(compat32_80_modctl_hook, (lwp, uap, result), + enosys(), error); if (error != EPASSTHROUGH && error != ENOSYS) return error; Index: src/sys/dev/bio.c diff -u src/sys/dev/bio.c:1.13.16.8 src/sys/dev/bio.c:1.13.16.9 --- src/sys/dev/bio.c:1.13.16.8 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/bio.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bio.c,v 1.13.16.8 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: bio.c,v 1.13.16.9 2019/01/22 07:42:40 pgoyette Exp $ */ /* $OpenBSD: bio.c,v 1.9 2007/03/20 02:35:55 marco Exp $ */ /* @@ -28,7 +28,7 @@ /* A device controller ioctl tunnelling device. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bio.c,v 1.13.16.8 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bio.c,v 1.13.16.9 2019/01/22 07:42:40 pgoyette Exp $"); #include "opt_compat_netbsd.h" @@ -114,13 +114,6 @@ bioclose(dev_t dev, int flags, int mode, return 0; } -/* Hook up the compat_bio_30 routine */ -MODULE_CALL_HOOK_DECL(compat_bio_30_hook, int, - (void * cookie, u_long cmd, void *addr, int(*ff)(void *, u_long, void *))); -MODULE_CALL_HOOK(compat_bio_30_hook, int, - (void * cookie, u_long cmd, void *addr, int(*ff)(void *, u_long, void *)), - (cookie, cmd, addr, ff), enosys()); - static int bioioctl(dev_t dev, u_long cmd, void *addr, int flag, struct lwp *l) { @@ -196,8 +189,9 @@ bioioctl(dev_t dev, u_long cmd, void *ad return ENOENT; } mutex_exit(&bio_lock); - error = compat_bio_30_hook_call(common->bc_cookie, cmd, addr, - bio_delegate_ioctl); + MODULE_CALL_HOOK(compat_bio_30_hook, + (common->bc_cookie, cmd, addr, bio_delegate_ioctl), + enosys(), error); if (error == ENOSYS) error = bio_delegate_ioctl(common->bc_cookie, cmd, addr); Index: src/sys/dev/ccd.c diff -u src/sys/dev/ccd.c:1.175.2.11 src/sys/dev/ccd.c:1.175.2.12 --- src/sys/dev/ccd.c:1.175.2.11 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/ccd.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ccd.c,v 1.175.2.11 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: ccd.c,v 1.175.2.12 2019/01/22 07:42:40 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.175.2.11 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.175.2.12 2019/01/22 07:42:40 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1056,19 +1056,6 @@ ccdread(dev_t dev, struct uio *uio, int return (physio(ccdstrategy, NULL, dev, B_READ, minphys, uio)); } -/* Hook the compat_60 ioctl code - * - * This looks ugly, since we pass the "real" ioctl function as an - * argument to the compat_xxx function. - */ -MODULE_CALL_HOOK_DECL(ccd_ioctl_60_hook, int, - (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l, - int (*ff)(dev_t, u_long, void *, int, struct lwp *))); -MODULE_CALL_HOOK(ccd_ioctl_60_hook, int, - (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l, - int (*ff)(dev_t, u_long, void *, int, struct lwp *)), - (dev, cmd, data, flag, l, ccdioctl), enosys()); - /* ARGSUSED */ static int ccdwrite(dev_t dev, struct uio *uio, int flags) @@ -1095,7 +1082,7 @@ ccdioctl(dev_t dev, u_long cmd, void *da { int unit = ccdunit(dev); int i, j, lookedup = 0, error = 0; - int part, pmask, make; + int part, pmask, make, hook; struct ccd_softc *cs; struct ccd_ioctl *ccio = (struct ccd_ioctl *)data; kauth_cred_t uc; @@ -1111,8 +1098,10 @@ ccdioctl(dev_t dev, u_long cmd, void *da make = 1; break; default: - if (ccd_ioctl_60_hook_call(0, cmd, NULL, 0, NULL, NULL) - == 0) + MODULE_CALL_HOOK(ccd_ioctl_60_hook, + (0, cmd, NULL, 0, NULL, NULL), + enosys(), hook); + if (hook == 0) make = 1; else make = 0; @@ -1123,7 +1112,9 @@ ccdioctl(dev_t dev, u_long cmd, void *da return ENOENT; uc = kauth_cred_get(); - error = ccd_ioctl_60_hook_call(dev, cmd, data, flag, l, ccdioctl); + MODULE_CALL_HOOK(ccd_ioctl_60_hook, + (dev, cmd, data, flag, l, ccdioctl), + enosys(), error); if (error != ENOSYS) return error; Index: src/sys/dev/clockctl.c diff -u src/sys/dev/clockctl.c:1.35.14.11 src/sys/dev/clockctl.c:1.35.14.12 --- src/sys/dev/clockctl.c:1.35.14.11 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/clockctl.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: clockctl.c,v 1.35.14.11 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: clockctl.c,v 1.35.14.12 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: clockctl.c,v 1.35.14.11 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: clockctl.c,v 1.35.14.12 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_ntp.h" @@ -200,13 +200,6 @@ clockctl_modcmd(modcmd_t cmd, void *data return error; } -/* Hook the compat_50 stuff */ -MODULE_CALL_HOOK_DECL(clockctl_ioctl_50_hook, int, - (dev_t dev, u_long cmd, void *data, int flags, struct lwp *l)); -MODULE_CALL_HOOK(clockctl_ioctl_50_hook, int, - (dev_t dev, u_long cmd, void *data, int flags, struct lwp *l), - (dev, cmd, data, flags, l), enosys()); - int clockctlioctl( dev_t dev, @@ -270,7 +263,8 @@ clockctlioctl( break; } default: - error = clockctl_ioctl_50_hook_call(dev, cmd, data, flags, l); + MODULE_CALL_HOOK(clockctl_ioctl_50_hook, + (dev, cmd, data, flags, l), enosys(), error); if (error == ENOSYS) error = ENOTTY; } Index: src/sys/dev/vnd.c diff -u src/sys/dev/vnd.c:1.263.2.13 src/sys/dev/vnd.c:1.263.2.14 --- src/sys/dev/vnd.c:1.263.2.13 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/vnd.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: vnd.c,v 1.263.2.13 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: vnd.c,v 1.263.2.14 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2008 The NetBSD Foundation, Inc. @@ -91,7 +91,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vnd.c,v 1.263.2.13 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vnd.c,v 1.263.2.14 2019/01/22 07:42:40 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_vnd.h" @@ -1126,24 +1126,6 @@ vndioctl_get(struct lwp *l, void *data, } } -MODULE_CALL_HOOK_DECL(compat_vndioctl_30_hook, int, - (u_long cmd, struct lwp *l, void *data, int unit, struct vattr *vattr, - int (*ff)(struct lwp *, void *, int, struct vattr *))); -MODULE_CALL_HOOK(compat_vndioctl_30_hook, int, - (u_long cmd, struct lwp *l, void *data, int unit, struct vattr *vattr, - int (*ff)(struct lwp *, void *, int, struct vattr *)), - (cmd, l, data, unit, vattr, ff), - enosys()); - -MODULE_CALL_HOOK_DECL(compat_vndioctl_50_hook, int, - (u_long cmd, struct lwp *l, void *data, int unit, struct vattr *vattr, - int (*ff)(struct lwp *, void *, int, struct vattr *))); -MODULE_CALL_HOOK(compat_vndioctl_50_hook, int, - (u_long cmd, struct lwp *l, void *data, int unit, struct vattr *vattr, - int (*ff)(struct lwp *, void *, int, struct vattr *)), - (cmd, l, data, unit, vattr, ff), - enosys()); - /* ARGSUSED */ static int vndioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) @@ -1180,8 +1162,9 @@ vndioctl(dev_t dev, u_long cmd, void *da default: /* First check for COMPAT_50 hook */ - error = compat_vndioctl_50_hook_call(cmd, l, data, unit, - &vattr, vndioctl_get); + MODULE_CALL_HOOK(compat_vndioctl_50_hook, + (cmd, l, data, unit, &vattr, vndioctl_get), + enosys(), error); /* * If not present, then COMPAT_30 hook also not @@ -1195,8 +1178,9 @@ vndioctl(dev_t dev, u_long cmd, void *da /* If not already handled, try the COMPAT_30 hook */ if (error == EPASSTHROUGH) - error = compat_vndioctl_30_hook_call(cmd, l, data, - unit, &vattr, vndioctl_get); + MODULE_CALL_HOOK(compat_vndioctl_30_hook, + (cmd, l, data, unit, &vattr, vndioctl_get), + enosys(), error); /* If no COMPAT_30 module, or not handled, check writes */ if (error == ENOSYS || error == EPASSTHROUGH) { Index: src/sys/dev/raidframe/rf_netbsdkintf.c diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.356.2.10 src/sys/dev/raidframe/rf_netbsdkintf.c:1.356.2.11 --- src/sys/dev/raidframe/rf_netbsdkintf.c:1.356.2.10 Fri Jan 18 08:50:42 2019 +++ src/sys/dev/raidframe/rf_netbsdkintf.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rf_netbsdkintf.c,v 1.356.2.10 2019/01/18 08:50:42 pgoyette Exp $ */ +/* $NetBSD: rf_netbsdkintf.c,v 1.356.2.11 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ ***********************************************************/ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.356.2.10 2019/01/18 08:50:42 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.356.2.11 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -1037,25 +1037,6 @@ raid_detach_unlocked(struct raid_softc * return 0; } -/* Hooks to call the 5.0 and 8.0 ioctl compat code */ -MODULE_CALL_HOOK_DECL(raidframe50_ioctl_hook, int, - (int cmd, int initted, RF_Raid_t *raidPtr, int unit, void *data, - RF_Config_t **k_cfg)); -MODULE_CALL_HOOK(raidframe50_ioctl_hook, int, - (int cmd, int initted, RF_Raid_t *raidPtr, int unit, void *data, - RF_Config_t **k_cfg), - (cmd, initted, raidPtr, unit, data, k_cfg), - enosys()); - -MODULE_CALL_HOOK_DECL(raidframe80_ioctl_hook, int, - (int cmd, int initted, RF_Raid_t *raidPtr, int unit, void *data, - RF_Config_t **k_cfg)); -MODULE_CALL_HOOK(raidframe80_ioctl_hook, int, - (int cmd, int initted, RF_Raid_t *raidPtr, int unit, void *data, - RF_Config_t **k_cfg), - (cmd, initted, raidPtr, unit, data, k_cfg), - enosys()); - static int raidioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) { @@ -1139,8 +1120,9 @@ raidioctl(dev_t dev, u_long cmd, void *d * * If compat code returns EAGAIN, we need to finish via config * * Otherwise the cmd has been handled and we just return */ - retcode = raidframe50_ioctl_hook_call(cmd, - (rs->sc_flags & RAIDF_INITED), raidPtr, unit, data, &k_cfg); + MODULE_CALL_HOOK(raidframe50_ioctl_hook, + (cmd, (rs->sc_flags & RAIDF_INITED),raidPtr, unit, data, &k_cfg), + enosys(), retcode); if (retcode == ENOSYS) retcode = 0; else if (retcode == EAGAIN) @@ -1148,8 +1130,9 @@ raidioctl(dev_t dev, u_long cmd, void *d else if (retcode != EPASSTHROUGH) return retcode; - retcode = raidframe80_ioctl_hook_call(cmd, - (rs->sc_flags & RAIDF_INITED), raidPtr, unit, data, &k_cfg); + MODULE_CALL_HOOK(raidframe80_ioctl_hook, + (cmd, (rs->sc_flags & RAIDF_INITED),raidPtr, unit, data, &k_cfg), + enosys(), retcode); if (retcode == ENOSYS) retcode = 0; else if (retcode == EAGAIN) Index: src/sys/dev/sysmon/sysmon_power.c diff -u src/sys/dev/sysmon/sysmon_power.c:1.58.2.8 src/sys/dev/sysmon/sysmon_power.c:1.58.2.9 --- src/sys/dev/sysmon/sysmon_power.c:1.58.2.8 Mon Jan 21 06:49:28 2019 +++ src/sys/dev/sysmon/sysmon_power.c Tue Jan 22 07:42:40 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: sysmon_power.c,v 1.58.2.8 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: sysmon_power.c,v 1.58.2.9 2019/01/22 07:42:40 pgoyette Exp $ */ /*- * Copyright (c) 2007 Juan Romero Pardines. @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sysmon_power.c,v 1.58.2.8 2019/01/21 06:49:28 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sysmon_power.c,v 1.58.2.9 2019/01/22 07:42:40 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -316,15 +316,6 @@ sysmon_power_event_queue_flush(void) } /* - * Call the compat hook function - */ -MODULE_CALL_HOOK_DECL(compat_sysmon_power_40_hook, void, - (power_event_t *pev, struct sysmon_pswitch *pswitch, int event)); -MODULE_CALL_VOID_HOOK(compat_sysmon_power_40_hook, - (power_event_t *pev, struct sysmon_pswitch *pswitch, int event), - (pev, pswitch, event), __nothing); - -/* * sysmon_power_daemon_task: * * Assign required power event members and sends a signal @@ -355,7 +346,8 @@ sysmon_power_daemon_task(struct power_ev pev.pev_type = POWER_EVENT_SWITCH_STATE_CHANGE; - compat_sysmon_power_40_hook_call(&pev, pswitch, event); + MODULE_CALL_VOID_HOOK(compat_sysmon_power_40_hook, + (&pev, pswitch, event), __nothing); error = sysmon_power_make_dictionary(ped->dict, pswitch, Index: src/sys/dev/usb/ugen.c diff -u src/sys/dev/usb/ugen.c:1.139.2.9 src/sys/dev/usb/ugen.c:1.139.2.10 --- src/sys/dev/usb/ugen.c:1.139.2.9 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/usb/ugen.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ugen.c,v 1.139.2.9 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: ugen.c,v 1.139.2.10 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.139.2.9 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.139.2.10 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -1439,11 +1439,6 @@ ugen_get_alt_index(struct ugen_softc *sc return usbd_get_interface_altindex(iface); } -MODULE_CALL_HOOK_DECL(usb_subr_30_fill_hook, int, - (struct usbd_device *, struct usb_device_info_old *, int, - void (*)(struct usbd_device *, char *, size_t, char *, size_t, int, int), - int (*)(char *, size_t, int))); - Static int ugen_do_ioctl(struct ugen_softc *sc, int endpt, u_long cmd, void *addr, int flag, struct lwp *l) @@ -1842,11 +1837,16 @@ ugen_do_ioctl(struct ugen_softc *sc, int (struct usb_device_info *)addr, 0); break; case USB_GET_DEVICEINFO_OLD: - if (usb_subr_30_fill_hook_call(sc->sc_udev, - (struct usb_device_info_old *)addr, 0, - usbd_devinfo_vp, usbd_printBCD) == 0) + { + int ret; + MODULE_CALL_HOOK(usb_subr_30_fill_hook, + (sc->sc_udev, (struct usb_device_info_old *)addr, 0, + usbd_devinfo_vp, usbd_printBCD), + enosys(), ret); + if (ret == 0) return 0; return EINVAL; + } default: return EINVAL; } Index: src/sys/dev/usb/uhid.c diff -u src/sys/dev/usb/uhid.c:1.101.2.8 src/sys/dev/usb/uhid.c:1.101.2.9 --- src/sys/dev/usb/uhid.c:1.101.2.8 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/usb/uhid.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: uhid.c,v 1.101.2.8 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: uhid.c,v 1.101.2.9 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (c) 1998, 2004, 2008, 2012 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.101.2.8 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.101.2.9 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -513,11 +513,6 @@ uhidwrite(dev_t dev, struct uio *uio, in return error; } -MODULE_CALL_HOOK_DECL(usb_subr_30_fill_hook, int, - (struct usbd_device *, struct usb_device_info_old *, int, - void (*)(struct usbd_device *, char *, size_t, char *, size_t, int, int), - int (*)(char *, size_t, int))); - int uhid_do_ioctl(struct uhid_softc *sc, u_long cmd, void *addr, int flag, struct lwp *l) @@ -659,9 +654,11 @@ uhid_do_ioctl(struct uhid_softc *sc, u_l (struct usb_device_info *)addr, 0); break; case USB_GET_DEVICEINFO_OLD: - err = usb_subr_30_fill_hook_call( sc->sc_hdev.sc_parent->sc_udev, - (struct usb_device_info_old *)addr, 0, - usbd_devinfo_vp, usbd_printBCD); + MODULE_CALL_HOOK(usb_subr_30_fill_hook, + (sc->sc_hdev.sc_parent->sc_udev, + (struct usb_device_info_old *)addr, 0, + usbd_devinfo_vp, usbd_printBCD), + enosys(), err); if (err == 0) return 0; break; Index: src/sys/dev/usb/usb.c diff -u src/sys/dev/usb/usb.c:1.168.2.10 src/sys/dev/usb/usb.c:1.168.2.11 --- src/sys/dev/usb/usb.c:1.168.2.10 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/usb/usb.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: usb.c,v 1.168.2.10 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: usb.c,v 1.168.2.11 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (c) 1998, 2002, 2008, 2012 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.168.2.10 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.168.2.11 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_usb.h" @@ -656,13 +656,6 @@ usbopen(dev_t dev, int flag, int mode, s return 0; } -/* Call the hook for usb30_copy_to_old() */ -MODULE_CALL_HOOK_DECL(usb_subr_30_copy_hook, int, - (struct usb_event *ue, struct usb_event_old *ueo, struct uio *uio)); -MODULE_CALL_HOOK(usb_subr_30_copy_hook, int, - (struct usb_event *ue, struct usb_event_old *ueo, struct uio *uio), - (ue, ueo, uio), enosys()); - int usbread(dev_t dev, struct uio *uio, int flag) { @@ -703,7 +696,8 @@ usbread(dev_t dev, struct uio *uio, int mutex_exit(&usb_event_lock); if (!error) { if (useold) { /* copy fields to old struct */ - error = usb_subr_30_copy_hook_call(ue, ueo, uio); + MODULE_CALL_HOOK(usb_subr_30_copy_hook, + (ue, ueo, uio), enosys(), error); if (error == ENOSYS) error = EINVAL; @@ -735,19 +729,6 @@ usbclose(dev_t dev, int flag, int mode, return 0; } -/* Call hook for usbd30_fill_device_info_old() */ -MODULE_CALL_HOOK_DECL(usb_subr_30_fill_hook, int, - (struct usbd_device *, struct usb_device_info_old *, int, - void (*)(struct usbd_device *, char *, size_t, char *, size_t, int, int), - int (*)(char *, size_t, int))); -MODULE_CALL_HOOK(usb_subr_30_fill_hook, int, - (struct usbd_device *udev, struct usb_device_info_old * addr, int usedev, - void (*fill_devinfo_vp)(struct usbd_device *, char *, size_t, char *, - size_t, int, int), - int (*printBCD)(char *, size_t, int)), - (udev, addr, usedev, fill_devinfo_vp, printBCD), - enosys()); - int usbioctl(dev_t devt, u_long cmd, void *data, int flag, struct lwp *l) { @@ -896,8 +877,9 @@ usbioctl(dev_t devt, u_long cmd, void *d error = ENXIO; goto fail; } - error = usb_subr_30_fill_hook_call(dev, di, 1, - usbd_devinfo_vp, usbd_printBCD); + MODULE_CALL_HOOK(usb_subr_30_fill_hook, + (dev, di, 1, usbd_devinfo_vp, usbd_printBCD), + enosys(), error); if (error == ENOSYS) error = EINVAL; if (error) Index: src/sys/dev/wscons/wsevent.c diff -u src/sys/dev/wscons/wsevent.c:1.37.2.9 src/sys/dev/wscons/wsevent.c:1.37.2.10 --- src/sys/dev/wscons/wsevent.c:1.37.2.9 Fri Jan 18 00:01:01 2019 +++ src/sys/dev/wscons/wsevent.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: wsevent.c,v 1.37.2.9 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: wsevent.c,v 1.37.2.10 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 2006, 2008 The NetBSD Foundation, Inc. @@ -104,7 +104,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wsevent.c,v 1.37.2.9 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wsevent.c,v 1.37.2.10 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -189,12 +189,6 @@ wsevent_fini(struct wseventvar *ev) softint_disestablish(ev->sih); } -MODULE_CALL_HOOK_DECL(wsevent_50_copyout_events_hook, int, - (const struct wscons_event *events, int cnt, struct uio *uio)); -MODULE_CALL_HOOK(wsevent_50_copyout_events_hook, int, - (const struct wscons_event *events, int cnt, struct uio *uio), - (events, cnt, uio), enosys()); - static int wsevent_copyout_events(const struct wscons_event *events, int cnt, struct uio *uio, int ver) @@ -203,7 +197,8 @@ wsevent_copyout_events(const struct wsco switch (ver) { case 0: - error = wsevent_50_copyout_events_hook_call(events, cnt, uio); + MODULE_CALL_HOOK(wsevent_50_copyout_events_hook, + (events, cnt, uio), enosys(), error); if (error == ENOSYS) error = EINVAL; return error; Index: src/sys/fs/puffs/puffs_msgif.c diff -u src/sys/fs/puffs/puffs_msgif.c:1.101.10.10 src/sys/fs/puffs/puffs_msgif.c:1.101.10.11 --- src/sys/fs/puffs/puffs_msgif.c:1.101.10.10 Mon Jan 21 06:49:28 2019 +++ src/sys/fs/puffs/puffs_msgif.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_msgif.c,v 1.101.10.10 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: puffs_msgif.c,v 1.101.10.11 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.101.10.10 2019/01/21 06:49:28 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.101.10.11 2019/01/22 07:42:41 pgoyette Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -323,21 +323,6 @@ puffs_getmsgid(struct puffs_mount *pmp) return rv; } -/* Routines to call the compat hooks */ - /* Out-going */ -MODULE_CALL_HOOK_DECL(puffs_50_out_hook, int, - (struct puffs_req *oreq, struct puffs_req **creqp, ssize_t *deltap)); -MODULE_CALL_HOOK(puffs_50_out_hook, int, - (struct puffs_req *oreq, struct puffs_req **creqp, ssize_t *deltap), - (oreq, creqp, deltap), enosys()); - - /* Incoming */ -MODULE_CALL_HOOK_DECL(puffs_50_in_hook, void, - (struct puffs_req *oreq, struct puffs_req *creqp)); -MODULE_CALL_VOID_HOOK(puffs_50_in_hook, - (struct puffs_req *oreq, struct puffs_req *creqp), - (oreq, creqp), __nothing); - /* * A word about reference counting of parks. A reference must be taken * when accessing a park and additionally when it is on a queue. So @@ -351,6 +336,9 @@ puffs_msg_enqueue(struct puffs_mount *pm struct lwp *l = curlwp; struct puffs_req *preq, *creq; ssize_t delta; +#if 1 + int ret; +#endif /* * Some clients reuse a park, so reset some flags. We might @@ -364,14 +352,17 @@ puffs_msg_enqueue(struct puffs_mount *pm #if 1 /* check if we do compat adjustments */ - if (pmp->pmp_docompat && - puffs_50_out_hook_call(preq, &creq, &delta) == 0) { - park->park_creq = park->park_preq; - park->park_creqlen = park->park_maxlen; - - park->park_maxlen += delta; - park->park_copylen += delta; - park->park_preq = preq = creq; + if (pmp->pmp_docompat) { + MODULE_CALL_HOOK(puffs_50_out_hook, (preq, &creq, &delta), + enosys(), ret); + if (ret == 0) { + park->park_creq = park->park_preq; + park->park_creqlen = park->park_maxlen; + + park->park_maxlen += delta; + park->park_copylen += delta; + park->park_preq = preq = creq; + } } #endif @@ -822,7 +813,8 @@ puffsop_msg(void *ctx, struct puffs_req size_t csize; KASSERT(pmp->pmp_docompat); - puffs_50_in_hook_call(preq, park->park_creq); + MODULE_CALL_VOID_HOOK(puffs_50_in_hook, + (preq, park->park_creq), __nothing); creq = park->park_creq; csize = park->park_creqlen; park->park_creq = park->park_preq; Index: src/sys/kern/kern_proc.c diff -u src/sys/kern/kern_proc.c:1.209.2.14 src/sys/kern/kern_proc.c:1.209.2.15 --- src/sys/kern/kern_proc.c:1.209.2.14 Mon Jan 21 06:49:28 2019 +++ src/sys/kern/kern_proc.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_proc.c,v 1.209.2.14 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: kern_proc.c,v 1.209.2.15 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 1999, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_proc.c,v 1.209.2.14 2019/01/21 06:49:28 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_proc.c,v 1.209.2.15 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_kstack.h" @@ -1892,28 +1892,17 @@ sysctl_doeproc(SYSCTLFN_ARGS) return error; } -/* - * compat_netbsd32 hooks - */ -#if !defined(_RUMPKERNEL) -MODULE_CALL_HOOK_DECL(kern_proc_32_copyin_hook, int, - (struct proc *p, struct ps_strings *s)); -MODULE_CALL_HOOK(kern_proc_32_copyin_hook, int, - (struct proc *p, struct ps_strings *s), (p, s), enosys()); - -MODULE_CALL_HOOK_DECL(kern_proc_32_base_hook, void, - (char **argv, size_t i, vaddr_t *base)); -MODULE_CALL_VOID_HOOK(kern_proc_32_base_hook, - (char **argv, size_t i, vaddr_t *base), (argv, i, base), __nothing); -#endif /* !defined(_RUMPKERNEL) */ - int copyin_psstrings(struct proc *p, struct ps_strings *arginfo) { - #if !defined(_RUMPKERNEL) - if (p->p_flag & PK_32) - return kern_proc_32_copyin_hook_call(p, arginfo); + int retval; + + if (p->p_flag & PK_32) { + MODULE_CALL_HOOK(kern_proc_32_copyin_hook, (p, arginfo), + enosys(), retval); + return retval; + } #endif /* !defined(_RUMPKERNEL) */ return copyin_proc(p, (void *)p->p_psstrp, arginfo, sizeof(*arginfo)); @@ -2126,7 +2115,8 @@ copy_procargs(struct proc *p, int oid, s #if !defined(_RUMPKERNEL) if (p->p_flag & PK_32) - kern_proc_32_base_hook_call(argv, i++, &base); + MODULE_CALL_HOOK(kern_proc_32_base_hook, + (argv, i++), 0, base); else #endif /* !defined(_RUMPKERNEL) */ base = (vaddr_t)argv[i++]; Index: src/sys/kern/kern_rndq.c diff -u src/sys/kern/kern_rndq.c:1.89.16.7 src/sys/kern/kern_rndq.c:1.89.16.8 --- src/sys/kern/kern_rndq.c:1.89.16.7 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/kern_rndq.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rndq.c,v 1.89.16.7 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: kern_rndq.c,v 1.89.16.8 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 1997-2013 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_rndq.c,v 1.89.16.7 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_rndq.c,v 1.89.16.8 2019/01/22 07:42:41 pgoyette Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -1446,15 +1446,6 @@ krs_setflags(krndsource_t *kr, uint32_t } } -MODULE_CALL_HOOK_DECL(rnd_ioctl_50_hook, int, (struct file *, u_long, void *)); -MODULE_CALL_HOOK_DECL(rnd_ioctl_50_32_hook, int, - (struct file *, u_long, void *)); - -MODULE_CALL_HOOK(rnd_ioctl_50_hook, int, - (struct file *fp, u_long cmd, void *addr), (fp, cmd, addr), enosys()); -MODULE_CALL_HOOK(rnd_ioctl_50_32_hook, int, - (struct file *fp, u_long cmd, void *addr), (fp, cmd, addr), enosys()); - int rnd_system_ioctl(struct file *fp, u_long cmd, void *addr) { @@ -1501,10 +1492,12 @@ rnd_system_ioctl(struct file *fp, u_long break; default: - ret = rnd_ioctl_50_hook_call(fp, cmd, addr); + MODULE_CALL_HOOK(rnd_ioctl_50_hook, (fp, cmd, addr), + enosys(), ret); #if defined(_LP64) if (ret == ENOSYS) - ret = rnd_ioctl_50_32_hook_call(fp, cmd, addr); + MODULE_CALL_HOOK(rnd_ioctl_50_32_hook, (fp, cmd, addr), + enosys(), ret); #endif if (ret == ENOSYS) ret = ENOTTY; Index: src/sys/kern/sys_module.c diff -u src/sys/kern/sys_module.c:1.23.2.16 src/sys/kern/sys_module.c:1.23.2.17 --- src/sys/kern/sys_module.c:1.23.2.16 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/sys_module.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_module.c,v 1.23.2.16 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: sys_module.c,v 1.23.2.17 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_module.c,v 1.23.2.16 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_module.c,v 1.23.2.17 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_modular.h" @@ -261,12 +261,6 @@ handle_modctl_stat(struct iovec *iov, vo return error; } -/* MODULE_HOOK glue for modstat_80 */ -MODULE_CALL_HOOK_DECL(compat_modstat_80_hook, int, - (int cmd, struct iovec *iov, void *arg)); -MODULE_CALL_HOOK(compat_modstat_80_hook, int, - (int cmd, struct iovec *iov, void *arg), (cmd, iov, arg), enosys()); - int sys_modctl(struct lwp *l, const struct sys_modctl_args *uap, register_t *retval) @@ -331,8 +325,9 @@ sys_modctl(struct lwp *l, const struct s break; default: - error = compat_modstat_80_hook_call(SCARG(uap, cmd), - &iov, arg); + + MODULE_CALL_HOOK(compat_modstat_80_hook, + (SCARG(uap, cmd), &iov, arg), enosys(), error); if (error == ENOSYS) error = EINVAL; break; Index: src/sys/kern/sysv_ipc.c diff -u src/sys/kern/sysv_ipc.c:1.32.16.10 src/sys/kern/sysv_ipc.c:1.32.16.11 --- src/sys/kern/sysv_ipc.c:1.32.16.10 Fri Jan 18 08:50:57 2019 +++ src/sys/kern/sysv_ipc.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: sysv_ipc.c,v 1.32.16.10 2019/01/18 08:50:57 pgoyette Exp $ */ +/* $NetBSD: sysv_ipc.c,v 1.32.16.11 2019/01/22 07:42:41 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.32.16.10 2019/01/18 08:50:57 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sysv_ipc.c,v 1.32.16.11 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_sysv.h" @@ -349,10 +349,6 @@ stub_sysvipc50_sysctl(SYSCTLFN_ARGS) return EPASSTHROUGH; } -MODULE_CALL_HOOK_DECL(sysvipc50_sysctl_hook, int, (SYSCTLFN_PROTO)); -MODULE_CALL_HOOK(sysvipc50_sysctl_hook, int, (SYSCTLFN_ARGS), - (SYSCTLFN_CALL(rnode)), stub_sysvipc50_sysctl(SYSCTLFN_CALL(rnode))); - static int sysctl_kern_sysvipc(SYSCTLFN_ARGS) { @@ -379,7 +375,8 @@ sysctl_kern_sysvipc(SYSCTLFN_ARGS) * to the non-compat sysctl code. */ - error = sysvipc50_sysctl_hook_call(SYSCTLFN_CALL(rnode)); + MODULE_CALL_HOOK(sysvipc50_sysctl_hook, (SYSCTLFN_CALL(rnode)), + stub_sysvipc50_sysctl(SYSCTLFN_CALL(rnode)), error); if (error != EPASSTHROUGH) return error; Index: src/sys/kern/tty.c diff -u src/sys/kern/tty.c:1.275.2.8 src/sys/kern/tty.c:1.275.2.9 --- src/sys/kern/tty.c:1.275.2.8 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/tty.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: tty.c,v 1.275.2.8 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: tty.c,v 1.275.2.9 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -63,7 +63,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tty.c,v 1.275.2.8 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tty.c,v 1.275.2.9 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -919,15 +919,6 @@ ttyoutput(int c, struct tty *tp) } /* - * MODULE_HOOK glue for compat_60_ttioctl - */ -MODULE_CALL_HOOK_DECL(compat_60_ttioctl_hook, int, - (dev_t, u_long, void *, int, struct lwp *)); -MODULE_CALL_HOOK(compat_60_ttioctl_hook, int, - (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l), - (dev, cmd, data, flag, l), enosys()); - -/* * Ioctls for all tty devices. Called after line-discipline specific ioctl * has been called to do discipline-specific functions and/or reject any * of these ioctl commands. @@ -1422,16 +1413,16 @@ ttioctl(struct tty *tp, u_long cmd, void /* We may have to load the compat_60 module for this. */ for (;;) { rw_enter(&ttcompat_lock, RW_READER); - error = compat_60_ttioctl_hook_call(tp->t_dev, cmd, - data, flag, l); + MODULE_CALL_HOOK(compat_60_ttioctl_hook, + (tp->t_dev, cmd, data, flag, l), enosys(), error); if (error != ENOSYS) { break; } rw_exit(&ttcompat_lock); (void)module_autoload("compat_60", MODULE_CLASS_EXEC); rw_enter(&ttcompat_lock, RW_READER); - error = compat_60_ttioctl_hook_call(tp->t_dev, cmd, - data, flag, l); + MODULE_CALL_HOOK(compat_60_ttioctl_hook, + (tp->t_dev, cmd, data, flag, l), enosys(), error); if (error == ENOSYS) { rw_exit(&ttcompat_lock); return EPASSTHROUGH; Index: src/sys/kern/tty_ptm.c diff -u src/sys/kern/tty_ptm.c:1.37.16.5 src/sys/kern/tty_ptm.c:1.37.16.6 --- src/sys/kern/tty_ptm.c:1.37.16.5 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/tty_ptm.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: tty_ptm.c,v 1.37.16.5 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: tty_ptm.c,v 1.37.16.6 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tty_ptm.c,v 1.37.16.5 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tty_ptm.c,v 1.37.16.6 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -373,24 +373,6 @@ ptmclose(dev_t dev, int flag, int mode, return (0); } -/* - * MODULE_HOOK glue for ptmioctl_60 - */ - -int -stub_compat_ptmioctl_60(dev_t dev, u_long cmd, void *data, int flag, - struct lwp *l) -{ - - return EPASSTHROUGH; -} - -MODULE_CALL_HOOK_DECL(compat_60_ptmioctl_hook, int, - (dev_t, u_long, void *, int, struct lwp *)); -MODULE_CALL_HOOK(compat_60_ptmioctl_hook, int, - (dev_t dev, u_long cmd, void *data, int flag, struct lwp *l), - (dev, cmd, data, flag, l), enosys()); - static int /*ARGSUSED*/ ptmioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) @@ -421,7 +403,8 @@ ptmioctl(dev_t dev, u_long cmd, void *da goto bad2; return 0; default: - error = compat_60_ptmioctl_hook_call(dev, cmd, data, flag, l); + MODULE_CALL_HOOK(compat_60_ptmioctl_hook, + (dev, cmd, data, flag, l), EPASSTHROUGH, error); if (error != EPASSTHROUGH) return error; DPRINTF(("ptmioctl EINVAL\n")); Index: src/sys/kern/uipc_usrreq.c diff -u src/sys/kern/uipc_usrreq.c:1.183.2.9 src/sys/kern/uipc_usrreq.c:1.183.2.10 --- src/sys/kern/uipc_usrreq.c:1.183.2.9 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/uipc_usrreq.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_usrreq.c,v 1.183.2.9 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: uipc_usrreq.c,v 1.183.2.10 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 1998, 2000, 2004, 2008, 2009 The NetBSD Foundation, Inc. @@ -96,7 +96,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.183.2.9 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.183.2.10 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -330,12 +330,6 @@ unp_free(struct unpcb *unp) kmem_free(unp, sizeof(*unp)); } -MODULE_CALL_HOOK_DECL(compat_70_unp_hook, struct mbuf *, - (struct lwp *, struct mbuf *)); -MODULE_CALL_HOOK(compat_70_unp_hook, struct mbuf *, - (struct lwp *lwp, struct mbuf *control), - (lwp, control), stub_compat_70_unp_addsockcred(lwp, control)); - static int unp_output(struct mbuf *m, struct mbuf *control, struct unpcb *unp) { @@ -356,7 +350,8 @@ unp_output(struct mbuf *m, struct mbuf * if (unp->unp_conn->unp_flags & UNP_WANTCRED) control = unp_addsockcred(curlwp, control); if (unp->unp_conn->unp_flags & UNP_OWANTCRED) - control = compat_70_unp_hook_call(curlwp, control); + MODULE_CALL_HOOK(compat_70_unp_hook, (curlwp, control), + stub_compat_70_unp_addsockcred(curlwp, control), control); if (sbappendaddr(&so2->so_rcv, (const struct sockaddr *)sun, m, control) == 0) { unp_dispose(control); @@ -537,7 +532,9 @@ unp_send(struct socket *so, struct mbuf * SOCK_STREAM and SOCK_SEQPACKET. */ unp->unp_conn->unp_flags &= ~UNP_OWANTCRED; - control = compat_70_unp_hook_call(curlwp, control); + MODULE_CALL_HOOK(compat_70_unp_hook, (curlwp, control), + stub_compat_70_unp_addsockcred(curlwp, control), + control); } /* * Send to paired receive port, and then reduce Index: src/sys/kern/vfs_syscalls.c diff -u src/sys/kern/vfs_syscalls.c:1.518.2.5 src/sys/kern/vfs_syscalls.c:1.518.2.6 --- src/sys/kern/vfs_syscalls.c:1.518.2.5 Fri Jan 18 00:01:01 2019 +++ src/sys/kern/vfs_syscalls.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: vfs_syscalls.c,v 1.518.2.5 2019/01/18 00:01:01 pgoyette Exp $ */ +/* $NetBSD: vfs_syscalls.c,v 1.518.2.6 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -70,7 +70,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls.c,v 1.518.2.5 2019/01/18 00:01:01 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls.c,v 1.518.2.6 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_fileassoc.h" @@ -1624,21 +1624,6 @@ fd_open(const char *path, int open_flags return error; } -/* - * Check permissions, allocate an open file structure, - * and call the device open routine if any. - */ -static int -stub_sys_openat_10(struct pathbuf **pb) -{ - - return 0; -} - -MODULE_CALL_HOOK_DECL(compat_10_openat_hook, int, (struct pathbuf **)); -MODULE_CALL_HOOK(compat_10_openat_hook, int, (struct pathbuf **pb), (pb), - stub_sys_openat_10(pb)); - static int do_sys_openat(lwp_t *l, int fdat, const char *path, int flags, int mode, int *fd) @@ -1649,7 +1634,8 @@ do_sys_openat(lwp_t *l, int fdat, const int error; if (path == NULL) { - error = compat_10_openat_hook_call(&pb); + MODULE_CALL_HOOK(compat_10_openat_hook, (&pb), + 0, error); if (error) return error; } else { Index: src/sys/net/if.c diff -u src/sys/net/if.c:1.419.2.21 src/sys/net/if.c:1.419.2.22 --- src/sys/net/if.c:1.419.2.21 Fri Jan 18 00:01:02 2019 +++ src/sys/net/if.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if.c,v 1.419.2.21 2019/01/18 00:01:02 pgoyette Exp $ */ +/* $NetBSD: if.c,v 1.419.2.22 2019/01/22 07:42:41 pgoyette Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2008 The NetBSD Foundation, Inc. @@ -90,7 +90,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.419.2.21 2019/01/18 00:01:02 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if.c,v 1.419.2.22 2019/01/22 07:42:41 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -3118,30 +3118,6 @@ out: } /* - * Interface for calling the compat routines - */ -MODULE_CALL_HOOK_DECL(uipc_syscalls_40_hook, int, - (struct lwp *l, int cmd, void *data)); -MODULE_CALL_HOOK(uipc_syscalls_40_hook, int, - (struct lwp *l, int cmd, void *data), (cmd, data), enosys()); - -MODULE_CALL_HOOK_DECL(uipc_syscalls_50_hook, int, - (struct lwp *l, int cmd, void *data)); -MODULE_CALL_HOOK(uipc_syscalls_50_hook, int, - (struct lwp *l, int cmd, void *data), (l, cmd, data), enosys()); - -MODULE_CALL_HOOK_DECL(if_43_cvtcmd_hook, int, - (u_long *ncmd, u_long ocmd)); -MODULE_CALL_HOOK(if_43_cvtcmd_hook, int, - (u_long *ncmd, u_long ocmd), (ncmd, ocmd), enosys()); - -MODULE_CALL_HOOK_DECL(if_43_ifioctl_hook, int, - (struct socket *so, u_long ocmd, u_long cmd, void *data, struct lwp *l)); -MODULE_CALL_HOOK(if_43_ifioctl_hook, int, - (struct socket *so, u_long ocmd, u_long cmd, void *data, struct lwp *l), - (so, ocmd, cmd, data, l), enosys()); - -/* * Interface ioctls. */ static int @@ -3149,7 +3125,7 @@ doifioctl(struct socket *so, u_long cmd, { struct ifnet *ifp; struct ifreq *ifr; - int error = 0; + int error = 0, hook; u_long ocmd = cmd; short oif_flags; struct ifreq ifrb; @@ -3164,10 +3140,12 @@ doifioctl(struct socket *so, u_long cmd, case SIOCINITIFADDR: return EPERM; default: - error = uipc_syscalls_40_hook_call(l, cmd, data); + MODULE_CALL_HOOK(uipc_syscalls_40_hook, (cmd, data), enosys(), + error); if (error != ENOSYS) return error; - error = uipc_syscalls_50_hook_call(l, cmd, data); + MODULE_CALL_HOOK(uipc_syscalls_50_hook, (l, cmd, data), + enosys(), error); if (error != ENOSYS) return error; error = 0; @@ -3175,7 +3153,8 @@ doifioctl(struct socket *so, u_long cmd, } ifr = data; - if (if_43_cvtcmd_hook_call(&cmd, ocmd) != ENOSYS) { + MODULE_CALL_HOOK(if_43_cvtcmd_hook, (&cmd, ocmd), enosys(), hook); + if (hook != ENOSYS) { if (cmd != ocmd) { oifr = data; data = ifr = &ifrb; @@ -3275,7 +3254,8 @@ doifioctl(struct socket *so, u_long cmd, error = EOPNOTSUPP; else { KERNEL_LOCK_IF_IFP_MPSAFE(ifp); - error = if_43_ifioctl_hook_call(so, ocmd, cmd, data, l); + MODULE_CALL_HOOK(if_43_ifioctl_hook, + (so, ocmd, cmd, data, l), enosys(), error); if (error == ENOSYS) error = (*so->so_proto->pr_usrreqs->pr_ioctl)(so, cmd, data, ifp); @@ -3428,8 +3408,10 @@ ifreq_setaddr(u_long cmd, struct ifreq * struct ifreq ifrb; struct oifreq *oifr = NULL; u_long ocmd = cmd; + int hook; - if (if_43_cvtcmd_hook_call(&cmd, ocmd) != ENOSYS) { + MODULE_CALL_HOOK(if_43_cvtcmd_hook, (&cmd, ocmd), enosys(), hook); + if (hook != ENOSYS) { if (cmd != ocmd) { oifr = (struct oifreq *)(void *)ifr; ifr = &ifrb; Index: src/sys/net/if_spppsubr.c diff -u src/sys/net/if_spppsubr.c:1.179.2.10 src/sys/net/if_spppsubr.c:1.179.2.11 --- src/sys/net/if_spppsubr.c:1.179.2.10 Fri Jan 18 00:01:02 2019 +++ src/sys/net/if_spppsubr.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_spppsubr.c,v 1.179.2.10 2019/01/18 00:01:02 pgoyette Exp $ */ +/* $NetBSD: if_spppsubr.c,v 1.179.2.11 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Synchronous PPP/Cisco link level subroutines. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.179.2.10 2019/01/18 00:01:02 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.179.2.11 2019/01/22 07:42:41 pgoyette Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -5611,12 +5611,6 @@ sppp_suggest_ip6_addr(struct sppp *sp, s } #endif /*INET6*/ -/* Hook the sppp_params50 compat code */ -MODULE_CALL_HOOK_DECL(sppp_params_50_hook, int, - (struct sppp *sp, u_long cmd, void *data)); -MODULE_CALL_HOOK(sppp_params_50_hook, int, - (struct sppp *sp, u_long cmd, void *data), (sp, cmd, data), enosys()); - /* * Process ioctl requests specific to the PPP interface. * Permissions have already been checked. @@ -5922,7 +5916,8 @@ sppp_params(struct sppp *sp, u_long cmd, { int ret; - ret = sppp_params_50_hook_call(sp, cmd, data); + MODULE_CALL_HOOK(sppp_params_50_hook, (sp, cmd, data), + enosys(), ret); if (ret != ENOSYS) return ret; return (EINVAL); Index: src/sys/net/rtsock.c diff -u src/sys/net/rtsock.c:1.238.2.24 src/sys/net/rtsock.c:1.238.2.25 --- src/sys/net/rtsock.c:1.238.2.24 Mon Jan 21 06:49:28 2019 +++ src/sys/net/rtsock.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rtsock.c,v 1.238.2.24 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: rtsock.c,v 1.238.2.25 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.238.2.24 2019/01/21 06:49:28 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1.238.2.25 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -123,81 +123,6 @@ rt_msg3(int type, struct rt_addrinfo *rt return rt_msg2(type, rtinfo, cpv, w, lenp); } -/* - * MODULE_HOOK glue for rtsock_14_oifmsg and rtsock_14_iflist - */ -MODULE_CALL_HOOK_DECL(rtsock_14_oifmsg_hook, void, (struct ifnet *ifp)); -MODULE_CALL_VOID_HOOK(rtsock_14_oifmsg_hook, (struct ifnet *ifp), (ifp), - __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_14_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len)); -MODULE_CALL_HOOK(rtsock_14_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len), - (ifp, w, info, len), - enosys()); - -/* - * MODULE_HOOK glue for rtsock_50 ifaddr_list and various message routines - */ -MODULE_CALL_HOOK_DECL(rtsock_50_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len)); -MODULE_CALL_HOOK(rtsock_50_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len), - (ifp, w, info, len), - enosys()); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_missmsg_hook, void, - (int, const struct rt_addrinfo *, int, int)); -MODULE_CALL_VOID_HOOK(rtsock_50_rt_missmsg_hook, - (int type, const struct rt_addrinfo *rtinfo, int flags, int error), - (type, rtinfo, flags, error), __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ifmsg_hook, void, (struct ifnet *)); -MODULE_CALL_VOID_HOOK(rtsock_50_rt_ifmsg_hook, (struct ifnet *ifp), (ifp), - __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_newaddrmsg_hook, void, - (int, struct ifaddr *, int, struct rtentry *)); -MODULE_CALL_VOID_HOOK(rtsock_50_rt_newaddrmsg_hook, - (int cmd, struct ifaddr *ifa, int error, struct rtentry *rt), - (cmd, ifa, error, rt), __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ifannouncemsg_hook, void, - (struct ifnet *, int what)); -MODULE_CALL_VOID_HOOK(rtsock_50_rt_ifannouncemsg_hook, - (struct ifnet *ifp, int what), (ifp, what), __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ieee80211msg_hook, void, - (struct ifnet *, int, void *, size_t)); -MODULE_CALL_VOID_HOOK(rtsock_50_rt_ieee80211msg_hook, - (struct ifnet *ifp, int what, void *data, size_t data_len), - (ifp, what, data, data_len), __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_50_oifmsg_hook, void, (struct ifnet *ifp)); -MODULE_CALL_VOID_HOOK(rtsock_50_oifmsg_hook, (struct ifnet *ifp), (ifp), - __nothing); - -/* - * MODULE_HOOK glue for rtsock70_newaddrmsg1, rtsock70_ifaddr_listaddr, - * and rtsock70_ifaddr_listif - */ -MODULE_CALL_HOOK_DECL(rtsock_70_newaddr_hook, void, (int, struct ifaddr *)); -MODULE_CALL_VOID_HOOK(rtsock_70_newaddr_hook, (int cmd, struct ifaddr *ifa), - (cmd, ifa), __nothing); - -MODULE_CALL_HOOK_DECL(rtsock_70_iflist_hook, int, - (struct rt_walkarg *, struct ifaddr *, struct rt_addrinfo *)); -MODULE_CALL_HOOK(rtsock_70_iflist_hook, int, - (struct rt_walkarg *w, struct ifaddr *ifa, struct rt_addrinfo *info), - (w, ifa, info), - enosys()); - - static int if_addrflags(struct ifaddr *ifa) { @@ -408,12 +333,12 @@ sysctl_iflist(int af, struct rt_walkarg error = sysctl_iflist_if(ifp, w, &info, len); break; case NET_RT_OOIFLIST: /* old _50 */ - error = rtsock_50_iflist_hook_call(ifp, w, &info, - len); + MODULE_CALL_HOOK(rtsock_50_iflist_hook, + (ifp, w, &info, len), enosys(), error); break; case NET_RT_OOOIFLIST: /* old _14 */ - error = rtsock_14_iflist_hook_call(ifp, w, - &info, len); + MODULE_CALL_HOOK(rtsock_14_iflist_hook, + (ifp, w, &info, len), enosys(), error); break; default: error = EINVAL; @@ -442,8 +367,8 @@ sysctl_iflist(int af, struct rt_walkarg case NET_RT_OIFLIST: case NET_RT_OOIFLIST: case NET_RT_OOOIFLIST: - error = rtsock_70_iflist_hook_call(w, ifa, - &info); + MODULE_CALL_HOOK(rtsock_70_iflist_hook, + (w, ifa, &info), enosys(), error); break; default: error = EINVAL; Index: src/sys/net/rtsock_shared.c diff -u src/sys/net/rtsock_shared.c:1.1.2.6 src/sys/net/rtsock_shared.c:1.1.2.7 --- src/sys/net/rtsock_shared.c:1.1.2.6 Mon Jan 21 06:49:28 2019 +++ src/sys/net/rtsock_shared.c Tue Jan 22 07:42:41 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rtsock_shared.c,v 1.1.2.6 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: rtsock_shared.c,v 1.1.2.7 2019/01/22 07:42:41 pgoyette Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.1.2.6 2019/01/21 06:49:28 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtsock_shared.c,v 1.1.2.7 2019/01/22 07:42:41 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -113,7 +113,8 @@ __KERNEL_RCSID(0, "$NetBSD: rtsock_share #define if_xannouncemsghdr if_announcemsghdr50 #define COMPATNAME(x) compat_50_ ## x #define DOMAINNAME "oroute" -#define COMPATCALL(name, args) rtsock_50_ ## name ## _hook_call args +#define COMPATCALL(name, args) \ + MODULE_CALL_VOID_HOOK(rtsock_50_ ## name ## _hook, args, __nothing); #define RTS_CTASSERT(x) __nothing CTASSERT(sizeof(struct ifa_xmsghdr) == 20); DOMAIN_DEFINE(compat_50_routedomain); /* forward declare and add to link set */ @@ -1297,47 +1298,6 @@ again: } /* - * MODULE_HOOK glue for rtsock_14_oifmsg and rtsock_14_iflist - */ -MODULE_CALL_HOOK_DECL(rtsock_14_oifmsg_hook, void, (struct ifnet *ifp)); - -MODULE_CALL_HOOK_DECL(rtsock_14_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len)); - -/* - * MODULE_HOOK glue for rtsock_50 ifaddr_list and various message routines - */ -MODULE_CALL_HOOK_DECL(rtsock_50_iflist_hook, int, - (struct ifnet *ifp, struct rt_walkarg *w, struct rt_addrinfo *info, - size_t len)); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_missmsg_hook, void, - (int, const struct rt_addrinfo *, int, int)); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ifmsg_hook, void, (struct ifnet *)); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_newaddrmsg_hook, void, - (int, struct ifaddr *, int, struct rtentry *)); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ifannouncemsg_hook, void, - (struct ifnet *, int what)); - -MODULE_CALL_HOOK_DECL(rtsock_50_rt_ieee80211msg_hook, void, - (struct ifnet *, int, void *, size_t)); - -MODULE_CALL_HOOK_DECL(rtsock_50_oifmsg_hook, void, (struct ifnet *ifp)); - -/* - * MODULE_HOOK glue for rtsock70_newaddrmsg1, rtsock70_ifaddr_listaddr, - * and rtsock70_ifaddr_listif - */ -MODULE_CALL_HOOK_DECL(rtsock_70_newaddr_hook, void, (int, struct ifaddr *)); - -MODULE_CALL_HOOK_DECL(rtsock_70_iflist_hook, int, - (struct rt_walkarg *, struct ifaddr *, struct rt_addrinfo *)); - -/* * This routine is called to generate a message from the routing * socket indicating that a redirect has occurred, a routing lookup * has failed, or that a protocol has detected timeouts to a particular @@ -1390,8 +1350,8 @@ COMPATNAME(rt_ifmsg)(struct ifnet *ifp) if (m == NULL) return; COMPATNAME(route_enqueue)(m, 0); - rtsock_14_oifmsg_hook_call(ifp); - rtsock_50_oifmsg_hook_call(ifp); + MODULE_CALL_VOID_HOOK(rtsock_14_oifmsg_hook, (ifp), __nothing); + MODULE_CALL_VOID_HOOK(rtsock_50_oifmsg_hook, (ifp), __nothing); } /* @@ -1459,7 +1419,8 @@ COMPATNAME(rt_newaddrmsg)(int cmd, struc default: panic("%s: unknown command %d", __func__, cmd); } - rtsock_70_newaddr_hook_call(ncmd, ifa); + MODULE_CALL_VOID_HOOK(rtsock_70_newaddr_hook, + (ncmd, ifa), __nothing); info.rti_info[RTAX_IFA] = sa = ifa->ifa_addr; KASSERT(ifp->if_dl != NULL); info.rti_info[RTAX_IFP] = ifp->if_dl->ifa_addr; Index: src/sys/net80211/ieee80211_ioctl.c diff -u src/sys/net80211/ieee80211_ioctl.c:1.60.16.7 src/sys/net80211/ieee80211_ioctl.c:1.60.16.8 --- src/sys/net80211/ieee80211_ioctl.c:1.60.16.7 Fri Jan 18 00:01:02 2019 +++ src/sys/net80211/ieee80211_ioctl.c Tue Jan 22 07:42:41 2019 @@ -36,7 +36,7 @@ __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ioctl.c,v 1.35 2005/08/30 14:27:47 avatar Exp $"); #endif #ifdef __NetBSD__ -__KERNEL_RCSID(0, "$NetBSD: ieee80211_ioctl.c,v 1.60.16.7 2019/01/18 00:01:02 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ieee80211_ioctl.c,v 1.60.16.8 2019/01/22 07:42:41 pgoyette Exp $"); #endif /* @@ -2556,14 +2556,6 @@ ieee80211_ioctl(struct ieee80211com *ic, #endif /* __FreeBSD__ */ #ifdef __NetBSD__ -/* - * Compatability glue - */ -MODULE_CALL_HOOK_DECL(ieee80211_ostats_hook, int, - (struct ieee80211_ostats *ostats, struct ieee80211_stats *stats)); -MODULE_CALL_HOOK(ieee80211_ostats_hook, int, - (struct ieee80211_ostats *ostats, struct ieee80211_stats *stats), - (ostats, stats), enosys()); int ieee80211_ioctl(struct ieee80211com *ic, u_long cmd, void *data) @@ -2864,7 +2856,8 @@ ieee80211_ioctl(struct ieee80211com *ic, ifr = (struct ifreq *)data; s = splnet(); - error = ieee80211_ostats_hook_call(&ostats, &ic->ic_stats); + MODULE_CALL_HOOK(ieee80211_ostats_hook, + (&ostats, &ic->ic_stats), enosys(), error); if (error == ENOSYS) error = EINVAL; if (error == 0) Index: src/sys/opencrypto/cryptodev.c diff -u src/sys/opencrypto/cryptodev.c:1.98.2.10 src/sys/opencrypto/cryptodev.c:1.98.2.11 --- src/sys/opencrypto/cryptodev.c:1.98.2.10 Fri Jan 18 00:01:02 2019 +++ src/sys/opencrypto/cryptodev.c Tue Jan 22 07:42:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: cryptodev.c,v 1.98.2.10 2019/01/18 00:01:02 pgoyette Exp $ */ +/* $NetBSD: cryptodev.c,v 1.98.2.11 2019/01/22 07:42:42 pgoyette Exp $ */ /* $FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.4.2.4 2003/06/03 00:09:02 sam Exp $ */ /* $OpenBSD: cryptodev.c,v 1.53 2002/07/10 22:21:30 mickey Exp $ */ @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cryptodev.c,v 1.98.2.10 2019/01/18 00:01:02 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cryptodev.c,v 1.98.2.11 2019/01/22 07:42:42 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -219,19 +219,6 @@ cryptof_write(file_t *fp, off_t *poff, return EIO; } -/* - * Hook the ocryptodev 50 compat code - * - * This is a bit messy because we need to pass local stuff to the - * compat routines. The compat routines may be built-in to a - * kernel which doesn't contain the local stuff, so the compat - * code cannot directly reference them as globals. - */ -MODULE_CALL_HOOK_DECL(ocryptof_50_hook, int, - (struct file *fp, u_long cmd, void *data)); -MODULE_CALL_HOOK(ocryptof_50_hook, int, - (struct file *fp, u_long cmd, void *data), (fp, cmd, data), enosys()); - /* ARGSUSED */ int cryptof_ioctl(struct file *fp, u_long cmd, void *data) @@ -453,7 +440,9 @@ reterr: break; default: /* Check for backward compatible commands */ - error = ocryptof_50_hook_call(fp, cmd, data); + + MODULE_CALL_HOOK(ocryptof_50_hook, (fp, cmd, data), + enosys(), error); if (error == ENOSYS) error = EINVAL; return error; Index: src/sys/sys/compat_stub.h diff -u src/sys/sys/compat_stub.h:1.1.2.51 src/sys/sys/compat_stub.h:1.1.2.52 --- src/sys/sys/compat_stub.h:1.1.2.51 Fri Jan 18 00:01:02 2019 +++ src/sys/sys/compat_stub.h Tue Jan 22 07:42:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.h,v 1.1.2.51 2019/01/18 00:01:02 pgoyette Exp $ */ +/* $NetBSD: compat_stub.h,v 1.1.2.52 2019/01/22 07:42:42 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -266,7 +266,7 @@ extern int kern_sig_43_pgid_mask; struct ps_strings; MODULE_HOOK(kern_proc_32_copyin_hook, int, (struct proc *, struct ps_strings *)); -MODULE_HOOK(kern_proc_32_base_hook, void, (char **, size_t, vaddr_t *)); +MODULE_HOOK(kern_proc_32_base_hook, vaddr_t, (char **, size_t)); /* * Hook to allow sparc fpu code to see if a process is using sunos Index: src/sys/sys/module_hook.h diff -u src/sys/sys/module_hook.h:1.1.2.13 src/sys/sys/module_hook.h:1.1.2.14 --- src/sys/sys/module_hook.h:1.1.2.13 Mon Jan 21 06:49:28 2019 +++ src/sys/sys/module_hook.h Tue Jan 22 07:42:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: module_hook.h,v 1.1.2.13 2019/01/21 06:49:28 pgoyette Exp $ */ +/* $NetBSD: module_hook.h,v 1.1.2.14 2019/01/22 07:42:42 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -104,16 +104,9 @@ static void (hook ## _unset)(void) \ pserialize_destroy(hook.psz); \ } -#define MODULE_CALL_HOOK_DECL(hook, type, decl) \ -type \ -hook ## _call decl; - -#define MODULE_CALL_HOOK(hook, type, decl, args, default) \ -type \ -hook ## _call decl \ -{ \ +#define MODULE_CALL_HOOK(hook, args, default, retval) \ +do { \ bool __hooked; \ - type __hook_retval; \ int __hook_s; \ \ __hook_s = pserialize_read_enter(); \ @@ -125,19 +118,16 @@ hook ## _call decl \ pserialize_read_exit(__hook_s); \ \ if (__hooked) { \ - __hook_retval = (*hook.f)args; \ + retval = (*hook.f)args; \ localcount_release(&hook.lc, &hook.cv, \ &hook.mtx); \ } else { \ - __hook_retval = default; \ + retval = default; \ } \ - return __hook_retval; \ -} +} while /* CONSTCOND */ (0) -#define MODULE_CALL_VOID_HOOK(hook, decl, args, default) \ -void \ -hook ## _call decl \ -{ \ +#define MODULE_CALL_VOID_HOOK(hook, args, default) \ +do { \ bool __hooked; \ int __hook_s; \ \ @@ -156,6 +146,6 @@ hook ## _call decl \ } else { \ default; \ } \ -} +} while /* CONSTCOND */ (0) #endif /* _SYS_MODULE_HOOK_H */ Index: src/sys/sys/tty.h diff -u src/sys/sys/tty.h:1.94.2.3 src/sys/sys/tty.h:1.94.2.4 --- src/sys/sys/tty.h:1.94.2.3 Mon Oct 15 09:51:34 2018 +++ src/sys/sys/tty.h Tue Jan 22 07:42:42 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: tty.h,v 1.94.2.3 2018/10/15 09:51:34 pgoyette Exp $ */ +/* $NetBSD: tty.h,v 1.94.2.4 2019/01/22 07:42:42 pgoyette Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -313,8 +313,6 @@ bool ttypull(struct tty *); int clalloc(struct clist *, int, int); void clfree(struct clist *); -int stub_compat_ptmioctl_60(dev_t, u_long, void *, int, struct lwp *); - /* overwritten to be non-null if ptm(4) is present */ struct ptm_pty;