Module Name:    src
Committed By:   riastradh
Date:           Thu Aug 27 14:01:36 UTC 2020

Modified Files:
        src/sys/kern: init_main.c kern_sysctl.c
        src/sys/rump/kern/lib/libcrypto: Makefile
        src/sys/rump/librump/rumpkern: Makefile.rumpkern

Log Message:
Move address hashing from init_main.c to kern_sysctl.c.

This way rump gets it automatically.  Make sure blake2s is in
librumpkern.so, not just in librumpkern_crypto.so, for this to work.


To generate a diff of this commit:
cvs rdiff -u -r1.528 -r1.529 src/sys/kern/init_main.c
cvs rdiff -u -r1.264 -r1.265 src/sys/kern/kern_sysctl.c
cvs rdiff -u -r1.20 -r1.21 src/sys/rump/kern/lib/libcrypto/Makefile
cvs rdiff -u -r1.185 -r1.186 src/sys/rump/librump/rumpkern/Makefile.rumpkern

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

Modified files:

Index: src/sys/kern/init_main.c
diff -u src/sys/kern/init_main.c:1.528 src/sys/kern/init_main.c:1.529
--- src/sys/kern/init_main.c:1.528	Wed Aug 26 22:56:55 2020
+++ src/sys/kern/init_main.c	Thu Aug 27 14:01:36 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: init_main.c,v 1.528 2020/08/26 22:56:55 christos Exp $	*/
+/*	$NetBSD: init_main.c,v 1.529 2020/08/27 14:01:36 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009, 2019 The NetBSD Foundation, Inc.
@@ -97,7 +97,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.528 2020/08/26 22:56:55 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.529 2020/08/27 14:01:36 riastradh Exp $");
 
 #include "opt_ddb.h"
 #include "opt_inet.h"
@@ -228,8 +228,6 @@ extern void *_binary_splash_image_end;
 
 #include <prop/proplib.h>
 
-#include <crypto/blake2/blake2s.h>
-
 #include <sys/userconf.h>
 
 extern struct lwp lwp0;
@@ -732,24 +730,6 @@ main(void)
 	/* NOTREACHED */
 }
 
-static uint8_t address_key[32];	/* key used in address hashing */
-static ONCE_DECL(random_inithook);
-
-static int
-random_address_init(void)
-{
-	cprng_strong(kern_cprng, address_key, sizeof(address_key), 0);
-	return 0;
-}
-
-void
-hash_value(void *d, size_t ds, const void *s, size_t ss)
-{       
-
-	RUN_ONCE(&random_inithook, random_address_init);
-	blake2s(d, ds, address_key, sizeof(address_key), s, ss);
-}
-
 /*
  * Configure the system's hardware.
  */

Index: src/sys/kern/kern_sysctl.c
diff -u src/sys/kern/kern_sysctl.c:1.264 src/sys/kern/kern_sysctl.c:1.265
--- src/sys/kern/kern_sysctl.c:1.264	Wed Jul  3 17:31:32 2019
+++ src/sys/kern/kern_sysctl.c	Thu Aug 27 14:01:36 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_sysctl.c,v 1.264 2019/07/03 17:31:32 maxv Exp $	*/
+/*	$NetBSD: kern_sysctl.c,v 1.265 2020/08/27 14:01:36 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2003, 2007, 2008 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_sysctl.c,v 1.264 2019/07/03 17:31:32 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sysctl.c,v 1.265 2020/08/27 14:01:36 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_defcorename.h"
@@ -84,11 +84,15 @@ __KERNEL_RCSID(0, "$NetBSD: kern_sysctl.
 #include <sys/ksyms.h>
 #include <sys/malloc.h>
 #include <sys/mount.h>
+#include <sys/cprng.h>
+#include <sys/once.h>
 #include <sys/syscallargs.h>
 #include <sys/kauth.h>
 #include <sys/ktrace.h>
 #include <sys/rndsource.h>
 
+#include <crypto/blake2/blake2s.h>
+
 #define	MAXDESCLEN	1024
 MALLOC_DEFINE(M_SYSCTLNODE, "sysctlnode", "sysctl node structures");
 MALLOC_DEFINE(M_SYSCTLDATA, "sysctldata", "misc sysctl data");
@@ -2816,3 +2820,21 @@ sysctl_cvt_out(struct lwp *l, int v, con
 
 	return (0);
 }
+
+static uint8_t address_key[32];	/* key used in address hashing */
+static ONCE_DECL(random_inithook);
+
+static int
+random_address_init(void)
+{
+	cprng_strong(kern_cprng, address_key, sizeof(address_key), 0);
+	return 0;
+}
+
+void
+hash_value(void *d, size_t ds, const void *s, size_t ss)
+{       
+
+	RUN_ONCE(&random_inithook, random_address_init);
+	blake2s(d, ds, address_key, sizeof(address_key), s, ss);
+}

Index: src/sys/rump/kern/lib/libcrypto/Makefile
diff -u src/sys/rump/kern/lib/libcrypto/Makefile:1.20 src/sys/rump/kern/lib/libcrypto/Makefile:1.21
--- src/sys/rump/kern/lib/libcrypto/Makefile:1.20	Wed Aug 26 15:49:56 2020
+++ src/sys/rump/kern/lib/libcrypto/Makefile	Thu Aug 27 14:01:36 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.20 2020/08/26 15:49:56 riastradh Exp $
+#	$NetBSD: Makefile,v 1.21 2020/08/27 14:01:36 riastradh Exp $
 #
 
 SODIUM_IMPORTDIR=${.CURDIR}/../../../../external/isc/libsodium
@@ -6,7 +6,6 @@ SODIUM_DIR=${.CURDIR}/../../../../extern
 
 .PATH:	${.CURDIR}/../../../../crypto/adiantum				\
 	${.CURDIR}/../../../../crypto/aes				\
-	${.CURDIR}/../../../../crypto/blake2				\
 	${.CURDIR}/../../../../crypto/blowfish				\
 	${.CURDIR}/../../../../crypto/camellia				\
 	${.CURDIR}/../../../../crypto/cast128				\
@@ -57,9 +56,6 @@ SRCS+=	des_ecb.c des_setkey.c des_enc.c 
 # skipjack
 SRCS+=	skipjack.c
 
-# BLAKE2
-SRCS+=	blake2s.c
-
 # libsodium
 SODIUM_CPPFLAGS+=	-I${SODIUM_IMPORTDIR}/include
 SODIUM_CPPFLAGS+=	-I${SODIUM_IMPORTDIR}/dist/src/libsodium/include/sodium

Index: src/sys/rump/librump/rumpkern/Makefile.rumpkern
diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.185 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.186
--- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.185	Fri Aug 14 00:53:16 2020
+++ src/sys/rump/librump/rumpkern/Makefile.rumpkern	Thu Aug 27 14:01:36 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rumpkern,v 1.185 2020/08/14 00:53:16 riastradh Exp $
+#	$NetBSD: Makefile.rumpkern,v 1.186 2020/08/27 14:01:36 riastradh Exp $
 #
 
 IOCONFDIR:=	${.PARSEDIR}
@@ -16,6 +16,7 @@ MAN=		rump.3 rump_lwproc.3
 	${RUMPTOP}/../conf					\
 	${RUMPTOP}/../dev					\
 	${RUMPTOP}/../crypto/nist_hash_drbg			\
+	${RUMPTOP}/../crypto/blake2				\
 	${RUMPTOP}/../crypto/cprng_fast				\
 	${RUMPTOP}/../crypto/chacha				\
 	${RUMPTOP}/../secmodel					\
@@ -162,6 +163,10 @@ SRCS+=	chacha_impl.c
 SRCS+=	chacha_ref.c
 SRCS+=	chacha_selftest.c
 
+# BLAKE2
+# for hash_address
+SRCS+=	blake2s.c
+
 .include "${RUMPTOP}/Makefile.rump"
 .include <bsd.own.mk>
 

Reply via email to