Module Name:    src
Committed By:   alnsn
Date:           Mon Jan  2 14:28:29 UTC 2017

Modified Files:
        src/sys/dev: cgd_crypto.c cgd_crypto.h

Log Message:
Replace numeric block sizes with symbolic names,

No functional change. Requested by mrg a couple of months ago.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/cgd_crypto.c
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/cgd_crypto.h

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

Modified files:

Index: src/sys/dev/cgd_crypto.c
diff -u src/sys/dev/cgd_crypto.c:1.14 src/sys/dev/cgd_crypto.c:1.15
--- src/sys/dev/cgd_crypto.c:1.14	Sun Dec 11 00:20:49 2016
+++ src/sys/dev/cgd_crypto.c	Mon Jan  2 14:28:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd_crypto.c,v 1.14 2016/12/11 00:20:49 alnsn Exp $ */
+/* $NetBSD: cgd_crypto.c,v 1.15 2017/01/02 14:28:29 alnsn Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cgd_crypto.c,v 1.14 2016/12/11 00:20:49 alnsn Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cgd_crypto.c,v 1.15 2017/01/02 14:28:29 alnsn Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -199,7 +199,7 @@ struct aes_privdata {
 
 struct aes_encdata {
 	keyInstance	*ae_key;	/* key for this direction */
-	u_int8_t	 ae_iv[16];	/* Initialization Vector */
+	u_int8_t	 ae_iv[CGD_AES_BLOCK_SIZE]; /* Initialization Vector */
 };
 
 static void *
@@ -244,8 +244,10 @@ cgd_cipher_aes_cbc_prep(void *privdata, 
 	KASSERT(cipher_ok > 0);
 	rijndael_blockEncrypt(&cipher, &apd->ap_enckey,
 	    blkno_buf, blocksize * 8, iv);
-	if (blocksize > 16)
-		(void)memmove(iv, iv + blocksize - 16, 16);
+	if (blocksize > CGD_AES_BLOCK_SIZE) {
+		(void)memmove(iv, iv + blocksize - CGD_AES_BLOCK_SIZE,
+		    CGD_AES_BLOCK_SIZE);
+	}
 }
 
 static void
@@ -258,7 +260,8 @@ aes_cbc_enc_int(void *privdata, void *ds
 	cipher_ok = rijndael_cipherInit(&cipher, MODE_CBC, ae->ae_iv);
 	KASSERT(cipher_ok > 0);
 	rijndael_blockEncrypt(&cipher, ae->ae_key, src, len * 8, dst);
-	(void)memcpy(ae->ae_iv, (u_int8_t *)dst + (len - 16), 16);
+	(void)memcpy(ae->ae_iv, (u_int8_t *)dst +
+	    (len - CGD_AES_BLOCK_SIZE), CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -271,7 +274,8 @@ aes_cbc_dec_int(void *privdata, void *ds
 	cipher_ok = rijndael_cipherInit(&cipher, MODE_CBC, ae->ae_iv);
 	KASSERT(cipher_ok > 0);
 	rijndael_blockDecrypt(&cipher, ae->ae_key, src, len * 8, dst);
-	(void)memcpy(ae->ae_iv, (const u_int8_t *)src + (len - 16), 16);
+	(void)memcpy(ae->ae_iv, (const u_int8_t *)src +
+	    (len - CGD_AES_BLOCK_SIZE), CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -281,7 +285,7 @@ cgd_cipher_aes_cbc(void *privdata, struc
 	struct aes_privdata	*apd = privdata;
 	struct aes_encdata	 encd;
 
-	(void)memcpy(encd.ae_iv, iv, 16);
+	(void)memcpy(encd.ae_iv, iv, CGD_AES_BLOCK_SIZE);
 	switch (dir) {
 	case CGD_CIPHER_ENCRYPT:
 		encd.ae_key = &apd->ap_enckey;
@@ -358,7 +362,7 @@ aes_xts_enc_int(void *privdata, void *ds
 	cipher_ok = rijndael_cipherInit(&cipher, MODE_XTS, ae->ae_iv);
 	KASSERT(cipher_ok > 0);
 	rijndael_blockEncrypt(&cipher, ae->ae_key, src, len * 8, dst);
-	(void)memcpy(ae->ae_iv, cipher.IV, 16);
+	(void)memcpy(ae->ae_iv, cipher.IV, CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -371,7 +375,7 @@ aes_xts_dec_int(void *privdata, void *ds
 	cipher_ok = rijndael_cipherInit(&cipher, MODE_XTS, ae->ae_iv);
 	KASSERT(cipher_ok > 0);
 	rijndael_blockDecrypt(&cipher, ae->ae_key, src, len * 8, dst);
-	(void)memcpy(ae->ae_iv, cipher.IV, 16);
+	(void)memcpy(ae->ae_iv, cipher.IV, CGD_AES_BLOCK_SIZE);
 }
 
 static void
@@ -381,7 +385,7 @@ cgd_cipher_aes_xts(void *privdata, struc
 	struct aes_privdata	*apd = privdata;
 	struct aes_encdata	 encd;
 
-	(void)memcpy(encd.ae_iv, iv, 16);
+	(void)memcpy(encd.ae_iv, iv, CGD_AES_BLOCK_SIZE);
 	switch (dir) {
 	case CGD_CIPHER_ENCRYPT:
 		encd.ae_key = &apd->ap_enckey;
@@ -410,7 +414,7 @@ struct c3des_encdata {
 	des_key_schedule	*ce_key1;
 	des_key_schedule	*ce_key2;
 	des_key_schedule	*ce_key3;
-	u_int8_t		ce_iv[8];
+	u_int8_t		ce_iv[CGD_3DES_BLOCK_SIZE];
 };
 
 static void *
@@ -455,13 +459,15 @@ cgd_cipher_3des_cbc_prep(void *privdata,
     const char *blkno_buf, size_t blocksize, int dir)
 {
 	struct	c3des_privdata *cp = privdata;
-	char	zero_iv[8];
+	char	zero_iv[CGD_3DES_BLOCK_SIZE];
 
 	memset(zero_iv, 0, sizeof(zero_iv));
 	des_ede3_cbc_encrypt(blkno_buf, iv, blocksize,
 	    cp->cp_key1, cp->cp_key2, cp->cp_key3, (des_cblock *)zero_iv, 1);
-	if (blocksize > 8)
-		(void)memmove(iv, iv + blocksize - 8, 8);
+	if (blocksize > CGD_3DES_BLOCK_SIZE) {
+		(void)memmove(iv, iv + blocksize - CGD_3DES_BLOCK_SIZE,
+		    CGD_3DES_BLOCK_SIZE);
+	}
 }
 
 static void
@@ -471,7 +477,8 @@ c3des_cbc_enc_int(void *privdata, void *
 
 	des_ede3_cbc_encrypt(src, dst, len, *ce->ce_key1, *ce->ce_key2,
 	    *ce->ce_key3, (des_cblock *)ce->ce_iv, 1);
-	(void)memcpy(ce->ce_iv, (const u_int8_t *)dst + (len - 8), 8);
+	(void)memcpy(ce->ce_iv, (const u_int8_t *)dst +
+	    (len - CGD_3DES_BLOCK_SIZE), CGD_3DES_BLOCK_SIZE);
 }
 
 static void
@@ -481,7 +488,8 @@ c3des_cbc_dec_int(void *privdata, void *
 
 	des_ede3_cbc_encrypt(src, dst, len, *ce->ce_key1, *ce->ce_key2,
 	    *ce->ce_key3, (des_cblock *)ce->ce_iv, 0);
-	(void)memcpy(ce->ce_iv, (const u_int8_t *)src + (len - 8), 8);
+	(void)memcpy(ce->ce_iv, (const u_int8_t *)src +
+	    (len - CGD_3DES_BLOCK_SIZE), CGD_3DES_BLOCK_SIZE);
 }
 
 static void
@@ -491,7 +499,7 @@ cgd_cipher_3des_cbc(void *privdata, stru
 	struct	c3des_privdata *cp = privdata;
 	struct	c3des_encdata ce;
 
-	(void)memcpy(ce.ce_iv, iv, 8);
+	(void)memcpy(ce.ce_iv, iv, CGD_3DES_BLOCK_SIZE);
 	ce.ce_key1 = &cp->cp_key1;
 	ce.ce_key2 = &cp->cp_key2;
 	ce.ce_key3 = &cp->cp_key3;
@@ -517,7 +525,7 @@ struct bf_privdata {
 
 struct bf_encdata {
 	BF_KEY		*be_key;
-	u_int8_t	 be_iv[8];
+	u_int8_t	 be_iv[CGD_BF_BLOCK_SIZE];
 };
 
 static void *
@@ -554,12 +562,14 @@ cgd_cipher_bf_cbc_prep(void *privdata, c
     const char *blkno_buf, size_t blocksize, int dir)
 {
 	struct	bf_privdata *bp = privdata;
-	char	zero_iv[8];
+	char	zero_iv[CGD_BF_BLOCK_SIZE];
 
 	memset(zero_iv, 0, sizeof(zero_iv));
 	BF_cbc_encrypt(blkno_buf, iv, blocksize, &bp->bp_key, zero_iv, 1);
-	if (blocksize > 8)
-		(void)memmove(iv, iv + blocksize - 8, 8);
+	if (blocksize > CGD_BF_BLOCK_SIZE) {
+		(void)memmove(iv, iv + blocksize - CGD_BF_BLOCK_SIZE,
+		    CGD_BF_BLOCK_SIZE);
+	}
 }
 
 static void
@@ -568,7 +578,8 @@ bf_cbc_enc_int(void *privdata, void *dst
 	struct	bf_encdata *be = privdata;
 
 	BF_cbc_encrypt(src, dst, len, be->be_key, be->be_iv, 1);
-	(void)memcpy(be->be_iv, (u_int8_t *)dst + (len - 8), 8);
+	(void)memcpy(be->be_iv, (u_int8_t *)dst +
+	    (len - CGD_BF_BLOCK_SIZE), CGD_BF_BLOCK_SIZE);
 }
 
 static void
@@ -577,7 +588,8 @@ bf_cbc_dec_int(void *privdata, void *dst
 	struct	bf_encdata *be = privdata;
 
 	BF_cbc_encrypt(src, dst, len, be->be_key, be->be_iv, 0);
-	(void)memcpy(be->be_iv, (const u_int8_t *)src + (len - 8), 8);
+	(void)memcpy(be->be_iv, (const u_int8_t *)src +
+	    (len - CGD_BF_BLOCK_SIZE), CGD_BF_BLOCK_SIZE);
 }
 
 static void
@@ -587,7 +599,7 @@ cgd_cipher_bf_cbc(void *privdata, struct
 	struct	bf_privdata *bp = privdata;
 	struct	bf_encdata be;
 
-	(void)memcpy(be.be_iv, iv, 8);
+	(void)memcpy(be.be_iv, iv, CGD_BF_BLOCK_SIZE);
 	be.be_key = &bp->bp_key;
 	switch (dir) {
 	case CGD_CIPHER_ENCRYPT:

Index: src/sys/dev/cgd_crypto.h
diff -u src/sys/dev/cgd_crypto.h:1.9 src/sys/dev/cgd_crypto.h:1.10
--- src/sys/dev/cgd_crypto.h:1.9	Sun Dec 11 00:20:49 2016
+++ src/sys/dev/cgd_crypto.h	Mon Jan  2 14:28:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd_crypto.h,v 1.9 2016/12/11 00:20:49 alnsn Exp $ */
+/* $NetBSD: cgd_crypto.h,v 1.10 2017/01/02 14:28:29 alnsn Exp $ */
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -35,6 +35,9 @@
 #ifdef _KERNEL
 #define CGD_CIPHER_DECRYPT	1
 #define CGD_CIPHER_ENCRYPT	2
+#define CGD_AES_BLOCK_SIZE	16
+#define CGD_3DES_BLOCK_SIZE	8
+#define CGD_BF_BLOCK_SIZE	8
 
 typedef void *(cfunc_init)(size_t, const void *, size_t *);
 typedef void  (cfunc_destroy)(void *);

Reply via email to