crypto: inside-secure - fix packed bit-field result descriptor
authorOfer Heifetz <oferh@marvell.com>
Sat, 2 Jul 2022 07:14:26 +0000 (10:14 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 Jul 2022 07:21:17 +0000 (15:21 +0800)
When mixing bit-field and none bit-filed in packed struct the
none bit-field starts at a distinct memory location, thus adding
an additional byte to the overall structure which is used in
memory zero-ing and other configuration calculations.

Fix this by removing the none bit-field that has a following
bit-field.

Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Acked-by: Antoine Tenart <atenart@kernel.org>
Acked-by: Antoine Tenart <atenart@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/inside-secure/safexcel.h

index ce1e611..797ff91 100644 (file)
@@ -497,15 +497,15 @@ struct result_data_desc {
        u32 packet_length:17;
        u32 error_code:15;
 
-       u8 bypass_length:4;
-       u8 e15:1;
-       u16 rsvd0;
-       u8 hash_bytes:1;
-       u8 hash_length:6;
-       u8 generic_bytes:1;
-       u8 checksum:1;
-       u8 next_header:1;
-       u8 length:1;
+       u32 bypass_length:4;
+       u32 e15:1;
+       u32 rsvd0:16;
+       u32 hash_bytes:1;
+       u32 hash_length:6;
+       u32 generic_bytes:1;
+       u32 checksum:1;
+       u32 next_header:1;
+       u32 length:1;
 
        u16 application_id;
        u16 rsvd1;