Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F115789375
D32103.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
D32103.diff
View Options
diff --git a/sys/opencrypto/cryptodev.c b/sys/opencrypto/cryptodev.c
--- a/sys/opencrypto/cryptodev.c
+++ b/sys/opencrypto/cryptodev.c
@@ -3,13 +3,16 @@
/*-
* Copyright (c) 2001 Theo de Raadt
* Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
- * Copyright (c) 2014 The FreeBSD Foundation
+ * Copyright (c) 2014-2021 The FreeBSD Foundation
* All rights reserved.
*
* Portions of this software were developed by John-Mark Gurney
* under sponsorship of the FreeBSD Foundation and
* Rubicon Communications, LLC (Netgate).
*
+ * Portions of this software were developed by Ararat River
+ * Consulting, LLC under sponsorship of the FreeBSD Foundation.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -265,7 +268,6 @@
const struct enc_xform *txform;
int hashsize;
int ivsize;
- int mode;
void *key;
void *mackey;
@@ -614,7 +616,6 @@
refcount_init(&cse->refs, 1);
cse->key = key;
cse->mackey = mackey;
- cse->mode = csp.csp_mode;
cse->cses = cses;
cse->txform = txform;
if (thash != NULL)
@@ -743,6 +744,7 @@
static int
cryptodev_op(struct csession *cse, const struct crypt_op *cop)
{
+ const struct crypto_session_params *csp;
struct cryptop_data *cod = NULL;
struct cryptop *crp = NULL;
char *dst;
@@ -792,7 +794,8 @@
if (cse->hashsize)
crp->crp_digest_start = cop->len;
- switch (cse->mode) {
+ csp = crypto_get_params(cse->cses);
+ switch (csp->csp_mode) {
case CSP_MODE_COMPRESS:
switch (cop->op) {
case COP_ENCRYPT:
@@ -958,6 +961,7 @@
static int
cryptodev_aead(struct csession *cse, struct crypt_aead *caead)
{
+ const struct crypto_session_params *csp;
struct cryptop_data *cod = NULL;
struct cryptop *crp = NULL;
char *dst;
@@ -1020,7 +1024,8 @@
else
crp->crp_digest_start = crp->crp_payload_start + caead->len;
- switch (cse->mode) {
+ csp = crypto_get_params(cse->cses);
+ switch (csp->csp_mode) {
case CSP_MODE_AEAD:
case CSP_MODE_ETA:
switch (caead->op) {
@@ -1058,9 +1063,9 @@
* Permit a 16-byte IV for AES-XTS, but only use the
* first 8 bytes as a block number.
*/
- if (cse->mode == CSP_MODE_ETA &&
- caead->ivlen == AES_BLOCK_LEN &&
- cse->ivsize == AES_XTS_IV_LEN)
+ if (csp->csp_mode == CSP_MODE_ETA &&
+ csp->csp_cipher_alg == CRYPTO_AES_XTS &&
+ caead->ivlen == AES_BLOCK_LEN)
caead->ivlen = AES_XTS_IV_LEN;
if (cse->ivsize == 0) {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Apr 29, 4:57 PM (19 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17843202
Default Alt Text
D32103.diff (2 KB)
Attached To
Mode
D32103: cryptodev: Use 'csp' in the handlers for requests.
Attached
Detach File
Event Timeline
Log In to Comment