Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Aug 2020 22:36:09 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r364846 - head/sys/opencrypto
Message-ID:  <202008262236.07QMa9ZR031065@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Wed Aug 26 22:36:08 2020
New Revision: 364846
URL: https://svnweb.freebsd.org/changeset/base/364846

Log:
  Name the on-stack union of compat thunks.
  
  C does not permit an anonymous union at a top-level scope.
  
  Pointy hat to:	jhb

Modified:
  head/sys/opencrypto/cryptodev.c

Modified: head/sys/opencrypto/cryptodev.c
==============================================================================
--- head/sys/opencrypto/cryptodev.c	Wed Aug 26 22:11:22 2020	(r364845)
+++ head/sys/opencrypto/cryptodev.c	Wed Aug 26 22:36:08 2020	(r364846)
@@ -440,7 +440,7 @@ cryptof_ioctl(
 		struct crypt_aead aeadc;
 		struct crypt_kop kopc;
 #endif
-	};
+	} thunk;
 #ifdef COMPAT_FREEBSD32
 	u_long cmd32;
 	void *data32;
@@ -452,29 +452,30 @@ cryptof_ioctl(
 		cmd32 = cmd;
 		data32 = data;
 		cmd = CIOCGSESSION;
-		data = &sopc;
-		session_op_from_32((struct session_op32 *)data32, &sopc);
+		data = &thunk.sopc;
+		session_op_from_32((struct session_op32 *)data32, &thunk.sopc);
 		break;
 	case CIOCGSESSION232:
 		cmd32 = cmd;
 		data32 = data;
 		cmd = CIOCGSESSION2;
-		data = &sopc;
-		session2_op_from_32((struct session2_op32 *)data32, &sopc);
+		data = &thunk.sopc;
+		session2_op_from_32((struct session2_op32 *)data32,
+		    &thunk.sopc);
 		break;
 	case CIOCCRYPT32:
 		cmd32 = cmd;
 		data32 = data;
 		cmd = CIOCCRYPT;
-		data = &copc;
-		crypt_op_from_32((struct crypt_op32 *)data32, &copc);
+		data = &thunk.copc;
+		crypt_op_from_32((struct crypt_op32 *)data32, &thunk.copc);
 		break;
 	case CIOCCRYPTAEAD32:
 		cmd32 = cmd;
 		data32 = data;
 		cmd = CIOCCRYPTAEAD;
-		data = &aeadc;
-		crypt_aead_from_32((struct crypt_aead32 *)data32, &aeadc);
+		data = &thunk.aeadc;
+		crypt_aead_from_32((struct crypt_aead32 *)data32, &thunk.aeadc);
 		break;
 	case CIOCKEY32:
 	case CIOCKEY232:
@@ -484,8 +485,8 @@ cryptof_ioctl(
 			cmd = CIOCKEY;
 		else
 			cmd = CIOCKEY2;
-		data = &kopc;
-		crypt_kop_from_32((struct crypt_kop32 *)data32, &kopc);
+		data = &thunk.kopc;
+		crypt_kop_from_32((struct crypt_kop32 *)data32, &thunk.kopc);
 		break;
 	}
 #endif
@@ -494,8 +495,8 @@ cryptof_ioctl(
 	case CIOCGSESSION:
 	case CIOCGSESSION2:
 		if (cmd == CIOCGSESSION) {
-			session2_op_from_op(data, &sopc);
-			sop = &sopc;
+			session2_op_from_op(data, &thunk.sopc);
+			sop = &thunk.sopc;
 		} else
 			sop = (struct session2_op *)data;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008262236.07QMa9ZR031065>