|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] crypto/vmac: adjust for Misra C:2012 rule 17.5
commit f04da199a914cd73a00cd872626532642c2de809
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri May 22 13:20:20 2026 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri May 22 13:20:20 2026 +0200
crypto/vmac: adjust for Misra C:2012 rule 17.5
... ("The function argument corresponding to a parameter declared to have
an array type shall have an appropriate number of elements"). Instead of
casts, (ab)use unions.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/crypto/vmac.c | 42 +++++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/xen/crypto/vmac.c b/xen/crypto/vmac.c
index c7aa1e9be3..bcb51913d7 100644
--- a/xen/crypto/vmac.c
+++ b/xen/crypto/vmac.c
@@ -926,41 +926,41 @@ uint64_t vmac(unsigned char m[],
void vmac_set_key(const unsigned char user_key[], vmac_ctx_t *ctx)
{
- uint64_t in[2] = {0}, out[2];
+ union {
+ uint64_t q[2];
+ uint8_t b[16];
+ } in = {}, out;
unsigned i;
aes_key_setup(user_key, &ctx->cipher_key);
/* Fill nh key */
- ((unsigned char *)in)[0] = 0x80;
+ in.b[0] = 0x80;
for (i = 0; i < sizeof(ctx->nhkey)/8; i+=2) {
- aes_encryption((unsigned char *)in, (unsigned char *)out,
- &ctx->cipher_key);
- ctx->nhkey[i ] = get64BE(out);
- ctx->nhkey[i+1] = get64BE(out+1);
- ((unsigned char *)in)[15] += 1;
+ aes_encryption(in.b, out.b, &ctx->cipher_key);
+ ctx->nhkey[i ] = get64BE(out.q);
+ ctx->nhkey[i+1] = get64BE(out.q + 1);
+ in.b[15] += 1;
}
/* Fill poly key */
- ((unsigned char *)in)[0] = 0xC0;
- in[1] = 0;
+ in.b[0] = 0xC0;
+ in.q[1] = 0;
for (i = 0; i < sizeof(ctx->polykey)/8; i+=2) {
- aes_encryption((unsigned char *)in, (unsigned char *)out,
- &ctx->cipher_key);
- ctx->polytmp[i ] = ctx->polykey[i ] = get64BE(out) & mpoly;
- ctx->polytmp[i+1] = ctx->polykey[i+1] = get64BE(out+1) & mpoly;
- ((unsigned char *)in)[15] += 1;
+ aes_encryption(in.b, out.b, &ctx->cipher_key);
+ ctx->polytmp[i ] = ctx->polykey[i ] = get64BE(out.q) & mpoly;
+ ctx->polytmp[i+1] = ctx->polykey[i+1] = get64BE(out.q + 1) & mpoly;
+ in.b[15] += 1;
}
/* Fill ip key */
- ((unsigned char *)in)[0] = 0xE0;
- in[1] = 0;
+ in.b[0] = 0xE0;
+ in.q[1] = 0;
for (i = 0; i < sizeof(ctx->l3key)/8; i+=2) {
do {
- aes_encryption((unsigned char *)in, (unsigned char *)out,
- &ctx->cipher_key);
- ctx->l3key[i ] = get64BE(out);
- ctx->l3key[i+1] = get64BE(out+1);
- ((unsigned char *)in)[15] += 1;
+ aes_encryption(in.b, out.b, &ctx->cipher_key);
+ ctx->l3key[i ] = get64BE(out.q);
+ ctx->l3key[i+1] = get64BE(out.q + 1);
+ in.b[15] += 1;
} while (ctx->l3key[i] >= p64 || ctx->l3key[i+1] >= p64);
}
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |