svn commit: r351364 - in head/sys: crypto/blowfish crypto/chacha20 crypto/des opencrypto

Bjoern A. Zeeb bz at FreeBSD.org
Thu Aug 22 09:39:50 UTC 2019


On 22 Aug 2019, at 0:02, John Baldwin wrote:

Hi,

> Author: jhb
> Date: Thu Aug 22 00:02:08 2019
> New Revision: 351364
> URL: https://svnweb.freebsd.org/changeset/base/351364
>
> Log:
>   Use 'const' for keys and IVs passed to software encryption 
> algorithms.
>
>   Specifically, use 'const' for the key passed to the 'setkey' method
>   and 'const' for the 'iv' passed to the 'reinit' method.
>
>   Reviewed by:	cem
>   Sponsored by:	Chelsio Communications
>   Differential Revision:	https://reviews.freebsd.org/D21347

can you please review and commit this one to make gcc platforms a bit 
more happy again (I tested a sparc64 GENERIC kernel build):

Reported by:	CI system (gcc)

Index: sys/opencrypto/xform_des1.c
===================================================================
--- sys/opencrypto/xform_des1.c	(revision 351384)
+++ sys/opencrypto/xform_des1.c	(working copy)
@@ -99,7 +99,7 @@ des1_setkey(u_int8_t **sched, const u_int8_t *key,
  	p = KMALLOC(sizeof (des_key_schedule),
  		M_CRYPTO_DATA, M_NOWAIT|M_ZERO);
  	if (p != NULL) {
-		des_set_key((const des_cblock *) key, p[0]);
+		des_set_key(__DEQUALIFY(const des_cblock *, key), p[0]);
  		err = 0;
  	} else
  		err = ENOMEM;
Index: sys/opencrypto/xform_des3.c
===================================================================
--- sys/opencrypto/xform_des3.c	(revision 351384)
+++ sys/opencrypto/xform_des3.c	(working copy)
@@ -100,9 +100,9 @@ des3_setkey(u_int8_t **sched, const u_int8_t *key,
  	p = KMALLOC(3*sizeof (des_key_schedule),
  		M_CRYPTO_DATA, M_NOWAIT|M_ZERO);
  	if (p != NULL) {
-		des_set_key((const des_cblock *)(key +  0), p[0]);
-		des_set_key((const des_cblock *)(key +  8), p[1]);
-		des_set_key((const des_cblock *)(key + 16), p[2]);
+		des_set_key(__DEQUALIFY(const des_cblock *,(key +  0)), p[0]);
+		des_set_key(__DEQUALIFY(const des_cblock *,(key +  8)), p[1]);
+		des_set_key(__DEQUALIFY(const des_cblock *,(key +  16)), p[2]);
  		err = 0;
  	} else
  		err = ENOMEM;
Index: sys/netsmb/smb_crypt.c
===================================================================
--- sys/netsmb/smb_crypt.c	(revision 351384)
+++ sys/netsmb/smb_crypt.c	(working copy)
@@ -83,7 +83,7 @@ smb_E(const u_char *key, u_char *data, u_char *des
  	kk[6] = key[5] << 2 | (key[6] >> 6 & 0xfe);
  	kk[7] = key[6] << 1;
  	ksp = malloc(sizeof(des_key_schedule), M_SMBTEMP, M_WAITOK);
-	des_set_key((des_cblock *)kk, *ksp);
+	des_set_key((const des_cblock *)kk, *ksp);
  	des_ecb_encrypt((des_cblock *)data, (des_cblock *)dest, *ksp, 1);
  	free(ksp, M_SMBTEMP);
  }
Index: sys/kgssapi/krb5/kcrypto_des.c
===================================================================
--- sys/kgssapi/krb5/kcrypto_des.c	(revision 351384)
+++ sys/kgssapi/krb5/kcrypto_des.c	(working copy)
@@ -136,7 +136,7 @@ des1_random_to_key(struct krb5_key_state *ks, cons
  	    | ((inkey[5] & 1) << 6)
  	    | ((inkey[6] & 1) << 7));
  	des_set_odd_parity((des_cblock *) outkey);
-	if (des_is_weak_key((des_cblock *) outkey))
+	if (des_is_weak_key((const des_cblock *) outkey))
  		outkey[7] ^= 0xf0;

  	des1_set_key(ks, ks->ks_key);
Index: sys/kgssapi/krb5/kcrypto_des3.c
===================================================================
--- sys/kgssapi/krb5/kcrypto_des3.c	(revision 351384)
+++ sys/kgssapi/krb5/kcrypto_des3.c	(working copy)
@@ -145,7 +145,7 @@ des3_random_to_key(struct krb5_key_state *ks, cons
  		    | ((inkey[5] & 1) << 6)
  		    | ((inkey[6] & 1) << 7));
  		des_set_odd_parity((des_cblock *) outkey);
-		if (des_is_weak_key((des_cblock *) outkey))
+		if (des_is_weak_key((const des_cblock *) outkey))
  			outkey[7] ^= 0xf0;
  	}



More information about the svn-src-head mailing list