Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F149936494
D26179.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D26179.id.diff
View Options
Index: head/sys/opencrypto/cryptodev.c
===================================================================
--- head/sys/opencrypto/cryptodev.c
+++ head/sys/opencrypto/cryptodev.c
@@ -103,6 +103,20 @@
u_int32_t iv;
};
+struct crypt_aead32 {
+ u_int32_t ses;
+ u_int16_t op;
+ u_int16_t flags;
+ u_int len;
+ u_int aadlen;
+ u_int ivlen;
+ u_int32_t src;
+ u_int32_t dst;
+ u_int32_t aad;
+ u_int32_t tag;
+ u_int32_t iv;
+};
+
struct crparam32 {
u_int32_t crp_p;
u_int crp_nbits;
@@ -122,6 +136,7 @@
#define CIOCKEY32 _IOWR('c', 104, struct crypt_kop32)
#define CIOCGSESSION232 _IOWR('c', 106, struct session2_op32)
#define CIOCKEY232 _IOWR('c', 107, struct crypt_kop32)
+#define CIOCCRYPTAEAD32 _IOWR('c', 109, struct crypt_aead32)
static void
session_op_from_32(const struct session_op32 *from, struct session2_op *to)
@@ -196,6 +211,40 @@
}
static void
+crypt_aead_from_32(const struct crypt_aead32 *from, struct crypt_aead *to)
+{
+
+ CP(*from, *to, ses);
+ CP(*from, *to, op);
+ CP(*from, *to, flags);
+ CP(*from, *to, len);
+ CP(*from, *to, aadlen);
+ CP(*from, *to, ivlen);
+ PTRIN_CP(*from, *to, src);
+ PTRIN_CP(*from, *to, dst);
+ PTRIN_CP(*from, *to, aad);
+ PTRIN_CP(*from, *to, tag);
+ PTRIN_CP(*from, *to, iv);
+}
+
+static void
+crypt_aead_to_32(const struct crypt_aead *from, struct crypt_aead32 *to)
+{
+
+ CP(*from, *to, ses);
+ CP(*from, *to, op);
+ CP(*from, *to, flags);
+ CP(*from, *to, len);
+ CP(*from, *to, aadlen);
+ CP(*from, *to, ivlen);
+ PTROUT_CP(*from, *to, src);
+ PTROUT_CP(*from, *to, dst);
+ PTROUT_CP(*from, *to, aad);
+ PTROUT_CP(*from, *to, tag);
+ PTROUT_CP(*from, *to, iv);
+}
+
+static void
crparam_from_32(const struct crparam32 *from, struct crparam *to)
{
@@ -388,6 +437,7 @@
struct session2_op sopc;
#ifdef COMPAT_FREEBSD32
struct crypt_op copc;
+ struct crypt_aead aeadc;
struct crypt_kop kopc;
#endif
};
@@ -419,6 +469,13 @@
data = &copc;
crypt_op_from_32((struct crypt_op32 *)data32, &copc);
break;
+ case CIOCCRYPTAEAD32:
+ cmd32 = cmd;
+ data32 = data;
+ cmd = CIOCCRYPTAEAD;
+ data = &aeadc;
+ crypt_aead_from_32((struct crypt_aead32 *)data32, &aeadc);
+ break;
case CIOCKEY32:
case CIOCKEY232:
cmd32 = cmd;
@@ -822,6 +879,10 @@
case CIOCCRYPT32:
if (error == 0)
crypt_op_to_32(data, data32);
+ break;
+ case CIOCCRYPTAEAD32:
+ if (error == 0)
+ crypt_aead_to_32(data, data32);
break;
case CIOCKEY32:
case CIOCKEY232:
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Mar 29, 5:49 AM (10 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30460483
Default Alt Text
D26179.id.diff (2 KB)
Attached To
Mode
D26179: Add freebsd32 compat support for CIOCCRYPTAEAD.
Attached
Detach File
Event Timeline
Log In to Comment