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 */

Reply via email to