Module Name: src Committed By: pgoyette Date: Fri Mar 23 09:41:10 UTC 2018
Modified Files: src/sys/compat/common [pgoyette-compat]: Makefile.sysio compat_50_mod.c src/sys/kern [pgoyette-compat]: compat_stub.c src/sys/modules/compat_50 [pgoyette-compat]: Makefile src/sys/opencrypto [pgoyette-compat]: cryptodev.c ocryptodev.c ocryptodev.h src/sys/sys [pgoyette-compat]: compat_stub.h Log Message: Handle the compat_50 stuff for opencrypto/cryptodev To generate a diff of this commit: cvs rdiff -u -r1.7.18.8 -r1.7.18.9 src/sys/compat/common/Makefile.sysio cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/compat/common/compat_50_mod.c cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/kern/compat_stub.c cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/modules/compat_50/Makefile cvs rdiff -u -r1.98 -r1.98.2.1 src/sys/opencrypto/cryptodev.c cvs rdiff -u -r1.11 -r1.11.2.1 src/sys/opencrypto/ocryptodev.c cvs rdiff -u -r1.3 -r1.3.16.1 src/sys/opencrypto/ocryptodev.h cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/sys/compat_stub.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/compat/common/Makefile.sysio diff -u src/sys/compat/common/Makefile.sysio:1.7.18.8 src/sys/compat/common/Makefile.sysio:1.7.18.9 --- src/sys/compat/common/Makefile.sysio:1.7.18.8 Thu Mar 22 01:44:47 2018 +++ src/sys/compat/common/Makefile.sysio Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.sysio,v 1.7.18.8 2018/03/22 01:44:47 pgoyette Exp $ +# $NetBSD: Makefile.sysio,v 1.7.18.9 2018/03/23 09:41:10 pgoyette Exp $ # Sources for syscall and ioctl compatibility across the versions. @@ -45,4 +45,9 @@ SRCS+= kern_sa_60.c tty_60.c kern_time_6 SRCS+= rtsock_70.c uipc_usrreq_70.c # Compatability code for NetBSD 8.0 -SRCS+= raidframe80.c +#SRCS+= raidframe80.c + +# More compatibility code for NetBSD 5.0 +.PATH: ${S}/opencrypto +SRCS+= ocryptodev.c + Index: src/sys/compat/common/compat_50_mod.c diff -u src/sys/compat/common/compat_50_mod.c:1.1.2.3 src/sys/compat/common/compat_50_mod.c:1.1.2.4 --- src/sys/compat/common/compat_50_mod.c:1.1.2.3 Wed Mar 21 10:01:04 2018 +++ src/sys/compat/common/compat_50_mod.c Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_50_mod.c,v 1.1.2.3 2018/03/21 10:01:04 pgoyette Exp $ */ +/* $NetBSD: compat_50_mod.c,v 1.1.2.4 2018/03/23 09:41:10 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: compat_50_mod.c,v 1.1.2.3 2018/03/21 10:01:04 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: compat_50_mod.c,v 1.1.2.4 2018/03/23 09:41:10 pgoyette Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -48,6 +48,8 @@ __KERNEL_RCSID(0, "$NetBSD: compat_50_mo #include <sys/syscallvar.h> #include <sys/syscallargs.h> +#include <opencrypto/ocryptodev.h> + #include <compat/sys/clockctl.h> #include <compat/common/compat_util.h> @@ -79,6 +81,7 @@ compat_50_init(void) if_50_init(); clockctl_50_init(); if_spppsubr_50_init(); + cryptodev_50_init(); return error; @@ -99,6 +102,7 @@ compat_50_fini(void) { int error = 0; + cryptodev_50_fini(); if_spppsubr_50_fini(); clockctl_50_fini(); if_50_fini(); @@ -134,6 +138,7 @@ compat_50_fini(void) if_50_init(); clockctl_50_init(); if_spppsubr_50_init(); + cryptodev_50_init(); return error; } Index: src/sys/kern/compat_stub.c diff -u src/sys/kern/compat_stub.c:1.1.2.3 src/sys/kern/compat_stub.c:1.1.2.4 --- src/sys/kern/compat_stub.c:1.1.2.3 Wed Mar 21 10:12:49 2018 +++ src/sys/kern/compat_stub.c Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.c,v 1.1.2.3 2018/03/21 10:12:49 pgoyette Exp $ */ +/* $NetBSD: compat_stub.c,v 1.1.2.4 2018/03/23 09:41:10 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -67,3 +67,9 @@ int (*compat_clockctl_ioctl_50)(dev_t de * if_sppp device compatability ioctl subroutine */ int (*sppp_params50)(struct sppp *sp, u_long cmd, void *data) = (void *)enosys; + +/* + * cryptodev compatability ioctl + */ +int (*ocryptof50_ioctl)(struct file *, u_long, void *) = (void *)enosys; + Index: src/sys/modules/compat_50/Makefile diff -u src/sys/modules/compat_50/Makefile:1.1.2.3 src/sys/modules/compat_50/Makefile:1.1.2.4 --- src/sys/modules/compat_50/Makefile:1.1.2.3 Wed Mar 21 10:12:49 2018 +++ src/sys/modules/compat_50/Makefile Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1.2.3 2018/03/21 10:12:49 pgoyette Exp $ +# $NetBSD: Makefile,v 1.1.2.4 2018/03/23 09:41:10 pgoyette Exp $ .include "../Makefile.inc" @@ -14,4 +14,8 @@ SRCS+= vfs_syscalls_50.c uipc_syscalls_5 SRCS+= rndpseudo_50.c clockctl_50.c if_spppsubr50.c #SRCS+= rtsock_50.c +.PATH: ${S}/opencrypto + +SRCS+= ocryptodev.c + .include <bsd.kmodule.mk> Index: src/sys/opencrypto/cryptodev.c diff -u src/sys/opencrypto/cryptodev.c:1.98 src/sys/opencrypto/cryptodev.c:1.98.2.1 --- src/sys/opencrypto/cryptodev.c:1.98 Thu Feb 8 09:05:20 2018 +++ src/sys/opencrypto/cryptodev.c Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cryptodev.c,v 1.98 2018/02/08 09:05:20 dholland Exp $ */ +/* $NetBSD: cryptodev.c,v 1.98.2.1 2018/03/23 09:41:10 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 2018/02/08 09:05:20 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cryptodev.c,v 1.98.2.1 2018/03/23 09:41:10 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -93,6 +93,7 @@ __KERNEL_RCSID(0, "$NetBSD: cryptodev.c, #endif #include <opencrypto/cryptodev.h> +#include <opencrypto/ocryptodev.h> #include <opencrypto/cryptodev_internal.h> #include <opencrypto/xform.h> @@ -196,10 +197,6 @@ static int cryptodev_getmstatus(struct int); static int cryptodev_getstatus(struct fcrypt *, struct crypt_result *); -#ifdef COMPAT_50 -extern int ocryptof_ioctl(struct file *, u_long, void *); -#endif - /* * sysctl-able control variables for /dev/crypto now defined in crypto.c: * crypto_usercrypto, crypto_userasmcrypto, crypto_devallowsoft. @@ -441,12 +438,11 @@ reterr: error = cryptodev_getstatus(fcr, (struct crypt_result *)data); break; default: -#ifdef COMPAT_50 /* Check for backward compatible commands */ - error = ocryptof_ioctl(fp, cmd, data); -#else - return EINVAL; -#endif + error = (*ocryptof50_ioctl)(fp, cmd, data); + if (error == ENOSYS) + error = EINVAL; + return error; } return error; } Index: src/sys/opencrypto/ocryptodev.c diff -u src/sys/opencrypto/ocryptodev.c:1.11 src/sys/opencrypto/ocryptodev.c:1.11.2.1 --- src/sys/opencrypto/ocryptodev.c:1.11 Fri Jul 28 17:14:04 2017 +++ src/sys/opencrypto/ocryptodev.c Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ocryptodev.c,v 1.11 2017/07/28 17:14:04 riastradh Exp $ */ +/* $NetBSD: ocryptodev.c,v 1.11.2.1 2018/03/23 09:41:10 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 $ */ @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ocryptodev.c,v 1.11 2017/07/28 17:14:04 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ocryptodev.c,v 1.11.2.1 2018/03/23 09:41:10 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -283,3 +283,17 @@ ocryptodev_msession(struct fcrypt *fcr, return 0; } + +void +cryptodev_50_init(void) +{ + + ocryptof50_ioctl = ocryptof_ioctl; +} + +void +cryptodev_50_fini(void) +{ + + ocryptof50_ioctl = (void *)enosys; +} Index: src/sys/opencrypto/ocryptodev.h diff -u src/sys/opencrypto/ocryptodev.h:1.3 src/sys/opencrypto/ocryptodev.h:1.3.16.1 --- src/sys/opencrypto/ocryptodev.h:1.3 Sun Sep 6 06:01:02 2015 +++ src/sys/opencrypto/ocryptodev.h Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ocryptodev.h,v 1.3 2015/09/06 06:01:02 dholland Exp $ */ +/* $NetBSD: ocryptodev.h,v 1.3.16.1 2018/03/23 09:41:10 pgoyette Exp $ */ /* $FreeBSD: src/sys/opencrypto/cryptodev.h,v 1.2.2.6 2003/07/02 17:04:50 sam Exp $ */ /* $OpenBSD: cryptodev.h,v 1.33 2002/07/17 23:52:39 art Exp $ */ @@ -172,4 +172,9 @@ struct ocrypt_mop { int ocryptof_ioctl(struct file *, u_long, void *); +extern int (*ocryptof50_ioctl)(struct file *, u_long, void *); + +void cryptodev_50_init(void); +void cryptodev_50_fini(void); + #endif /* _CRYPTO_OCRYPTODEV_H_ */ Index: src/sys/sys/compat_stub.h diff -u src/sys/sys/compat_stub.h:1.1.2.3 src/sys/sys/compat_stub.h:1.1.2.4 --- src/sys/sys/compat_stub.h:1.1.2.3 Wed Mar 21 10:12:49 2018 +++ src/sys/sys/compat_stub.h Fri Mar 23 09:41:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stub.h,v 1.1.2.3 2018/03/21 10:12:49 pgoyette Exp $ */ +/* $NetBSD: compat_stub.h,v 1.1.2.4 2018/03/23 09:41:10 pgoyette Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -62,4 +62,10 @@ extern int (*compat_clockctl_ioctl_50)(d struct sppp; extern int (*sppp_params50)(struct sppp *, u_long, void *); +/* + * cryptodev compatability ioctl + */ +extern +int (*ocryptof50_ioctl)(struct file *, u_long, void *); + #endif /* _SYS_COMPAT_STUB_H */