mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-12 19:20:28 +03:00
module: icp: remove set-but-unused cd_miscdata
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12901
This commit is contained in:
parent
739afd9475
commit
64e82cea13
@ -214,19 +214,6 @@ typedef uint32_t crypto_keysize_unit_t;
|
||||
#define SUN_CKM_ECDSA_SHA1 "CKM_ECDSA_SHA1"
|
||||
#define SUN_CKM_ECDSA "CKM_ECDSA"
|
||||
|
||||
/* Shared operation context format for CKM_RC4 */
|
||||
typedef struct {
|
||||
#if defined(__amd64)
|
||||
uint32_t i, j;
|
||||
uint32_t arr[256];
|
||||
uint32_t flag;
|
||||
#else
|
||||
uchar_t arr[256];
|
||||
uchar_t i, j;
|
||||
#endif /* __amd64 */
|
||||
uint64_t pad; /* For 64-bit alignment */
|
||||
} arcfour_state_t;
|
||||
|
||||
/* Data arguments of cryptographic operations */
|
||||
|
||||
typedef enum crypto_data_format {
|
||||
@ -238,21 +225,15 @@ typedef struct crypto_data {
|
||||
crypto_data_format_t cd_format; /* Format identifier */
|
||||
off_t cd_offset; /* Offset from the beginning */
|
||||
size_t cd_length; /* # of bytes in use */
|
||||
caddr_t cd_miscdata; /* ancillary data */
|
||||
union {
|
||||
/* Raw format */
|
||||
iovec_t cdu_raw; /* Pointer and length */
|
||||
iovec_t cd_raw; /* Pointer and length */
|
||||
|
||||
/* uio scatter-gather format */
|
||||
zfs_uio_t *cdu_uio;
|
||||
|
||||
} cdu; /* Crypto Data Union */
|
||||
zfs_uio_t *cd_uio;
|
||||
}; /* Crypto Data Union */
|
||||
} crypto_data_t;
|
||||
|
||||
#define cd_raw cdu.cdu_raw
|
||||
#define cd_uio cdu.cdu_uio
|
||||
#define cd_mp cdu.cdu_mp
|
||||
|
||||
/* The keys, and their contents */
|
||||
|
||||
typedef struct {
|
||||
|
@ -242,19 +242,12 @@ int
|
||||
cbc_init_ctx(cbc_ctx_t *cbc_ctx, char *param, size_t param_len,
|
||||
size_t block_size, void (*copy_block)(uint8_t *, uint64_t *))
|
||||
{
|
||||
/*
|
||||
* Copy IV into context.
|
||||
*
|
||||
* If cm_param == NULL then the IV comes from the
|
||||
* cd_miscdata field in the crypto_data structure.
|
||||
*/
|
||||
if (param != NULL) {
|
||||
ASSERT(param_len == block_size);
|
||||
copy_block((uchar_t *)param, cbc_ctx->cbc_iv);
|
||||
}
|
||||
/* Copy IV into context. */
|
||||
ASSERT3P(param, !=, NULL);
|
||||
ASSERT3U(param_len, ==, block_size);
|
||||
|
||||
copy_block((uchar_t *)param, cbc_ctx->cbc_iv);
|
||||
|
||||
cbc_ctx->cbc_lastp = (uint8_t *)&cbc_ctx->cbc_iv[0];
|
||||
cbc_ctx->cbc_flags |= CBC_MODE;
|
||||
return (CRYPTO_SUCCESS);
|
||||
}
|
||||
|
||||
|
@ -114,33 +114,21 @@ crypto_put_output_data(uchar_t *buf, crypto_data_t *output, int len)
|
||||
|
||||
int
|
||||
crypto_update_iov(void *ctx, crypto_data_t *input, crypto_data_t *output,
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *),
|
||||
void (*copy_block)(uint8_t *, uint64_t *))
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *))
|
||||
{
|
||||
common_ctx_t *common_ctx = ctx;
|
||||
int rv;
|
||||
|
||||
ASSERT(input != output);
|
||||
if (input->cd_miscdata != NULL) {
|
||||
copy_block((uint8_t *)input->cd_miscdata,
|
||||
&common_ctx->cc_iv[0]);
|
||||
}
|
||||
|
||||
if (input->cd_raw.iov_len < input->cd_length)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
||||
rv = (cipher)(ctx, input->cd_raw.iov_base + input->cd_offset,
|
||||
input->cd_length, output);
|
||||
|
||||
return (rv);
|
||||
return ((cipher)(ctx, input->cd_raw.iov_base + input->cd_offset,
|
||||
input->cd_length, output));
|
||||
}
|
||||
|
||||
int
|
||||
crypto_update_uio(void *ctx, crypto_data_t *input, crypto_data_t *output,
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *),
|
||||
void (*copy_block)(uint8_t *, uint64_t *))
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *))
|
||||
{
|
||||
common_ctx_t *common_ctx = ctx;
|
||||
zfs_uio_t *uiop = input->cd_uio;
|
||||
off_t offset = input->cd_offset;
|
||||
size_t length = input->cd_length;
|
||||
@ -148,10 +136,6 @@ crypto_update_uio(void *ctx, crypto_data_t *input, crypto_data_t *output,
|
||||
size_t cur_len;
|
||||
|
||||
ASSERT(input != output);
|
||||
if (input->cd_miscdata != NULL) {
|
||||
copy_block((uint8_t *)input->cd_miscdata,
|
||||
&common_ctx->cc_iv[0]);
|
||||
}
|
||||
|
||||
if (zfs_uio_segflg(input->cd_uio) != UIO_SYSSPACE) {
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
@ -481,11 +481,9 @@ extern void kcf_free_provider_desc(kcf_provider_desc_t *);
|
||||
extern void undo_register_provider(kcf_provider_desc_t *, boolean_t);
|
||||
extern int crypto_put_output_data(uchar_t *, crypto_data_t *, int);
|
||||
extern int crypto_update_iov(void *, crypto_data_t *, crypto_data_t *,
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *),
|
||||
void (*copy_block)(uint8_t *, uint64_t *));
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *));
|
||||
extern int crypto_update_uio(void *, crypto_data_t *, crypto_data_t *,
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *),
|
||||
void (*copy_block)(uint8_t *, uint64_t *));
|
||||
int (*cipher)(void *, caddr_t, size_t, crypto_data_t *));
|
||||
|
||||
/* Access to the provider's table */
|
||||
extern void kcf_prov_tab_destroy(void);
|
||||
|
@ -582,13 +582,11 @@ aes_encrypt_update(crypto_ctx_t *ctx, crypto_data_t *plaintext,
|
||||
switch (plaintext->cd_format) {
|
||||
case CRYPTO_DATA_RAW:
|
||||
ret = crypto_update_iov(ctx->cc_provider_private,
|
||||
plaintext, ciphertext, aes_encrypt_contiguous_blocks,
|
||||
aes_copy_block64);
|
||||
plaintext, ciphertext, aes_encrypt_contiguous_blocks);
|
||||
break;
|
||||
case CRYPTO_DATA_UIO:
|
||||
ret = crypto_update_uio(ctx->cc_provider_private,
|
||||
plaintext, ciphertext, aes_encrypt_contiguous_blocks,
|
||||
aes_copy_block64);
|
||||
plaintext, ciphertext, aes_encrypt_contiguous_blocks);
|
||||
break;
|
||||
default:
|
||||
ret = CRYPTO_ARGUMENTS_BAD;
|
||||
@ -661,13 +659,11 @@ aes_decrypt_update(crypto_ctx_t *ctx, crypto_data_t *ciphertext,
|
||||
switch (ciphertext->cd_format) {
|
||||
case CRYPTO_DATA_RAW:
|
||||
ret = crypto_update_iov(ctx->cc_provider_private,
|
||||
ciphertext, plaintext, aes_decrypt_contiguous_blocks,
|
||||
aes_copy_block64);
|
||||
ciphertext, plaintext, aes_decrypt_contiguous_blocks);
|
||||
break;
|
||||
case CRYPTO_DATA_UIO:
|
||||
ret = crypto_update_uio(ctx->cc_provider_private,
|
||||
ciphertext, plaintext, aes_decrypt_contiguous_blocks,
|
||||
aes_copy_block64);
|
||||
ciphertext, plaintext, aes_decrypt_contiguous_blocks);
|
||||
break;
|
||||
default:
|
||||
ret = CRYPTO_ARGUMENTS_BAD;
|
||||
@ -930,11 +926,11 @@ aes_encrypt_atomic(crypto_provider_handle_t provider,
|
||||
switch (plaintext->cd_format) {
|
||||
case CRYPTO_DATA_RAW:
|
||||
ret = crypto_update_iov(&aes_ctx, plaintext, ciphertext,
|
||||
aes_encrypt_contiguous_blocks, aes_copy_block64);
|
||||
aes_encrypt_contiguous_blocks);
|
||||
break;
|
||||
case CRYPTO_DATA_UIO:
|
||||
ret = crypto_update_uio(&aes_ctx, plaintext, ciphertext,
|
||||
aes_encrypt_contiguous_blocks, aes_copy_block64);
|
||||
aes_encrypt_contiguous_blocks);
|
||||
break;
|
||||
default:
|
||||
ret = CRYPTO_ARGUMENTS_BAD;
|
||||
@ -1071,11 +1067,11 @@ aes_decrypt_atomic(crypto_provider_handle_t provider,
|
||||
switch (ciphertext->cd_format) {
|
||||
case CRYPTO_DATA_RAW:
|
||||
ret = crypto_update_iov(&aes_ctx, ciphertext, plaintext,
|
||||
aes_decrypt_contiguous_blocks, aes_copy_block64);
|
||||
aes_decrypt_contiguous_blocks);
|
||||
break;
|
||||
case CRYPTO_DATA_UIO:
|
||||
ret = crypto_update_uio(&aes_ctx, ciphertext, plaintext,
|
||||
aes_decrypt_contiguous_blocks, aes_copy_block64);
|
||||
aes_decrypt_contiguous_blocks);
|
||||
break;
|
||||
default:
|
||||
ret = CRYPTO_ARGUMENTS_BAD;
|
||||
|
@ -438,13 +438,11 @@ zio_do_crypt_uio(boolean_t encrypt, uint64_t crypt, crypto_key_t *key,
|
||||
plaindata.cd_format = CRYPTO_DATA_UIO;
|
||||
plaindata.cd_offset = 0;
|
||||
plaindata.cd_uio = puio;
|
||||
plaindata.cd_miscdata = NULL;
|
||||
plaindata.cd_length = plain_full_len;
|
||||
|
||||
cipherdata.cd_format = CRYPTO_DATA_UIO;
|
||||
cipherdata.cd_offset = 0;
|
||||
cipherdata.cd_uio = cuio;
|
||||
cipherdata.cd_miscdata = NULL;
|
||||
cipherdata.cd_length = datalen + maclen;
|
||||
|
||||
/* perform the actual encryption */
|
||||
|
Loading…
Reference in New Issue
Block a user