Hi Ofer, Quoting oferh@xxxxxxxxxxx (2022-07-02 09:14:26) > From: Ofer Heifetz <oferh@xxxxxxxxxxx> > > 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@xxxxxxxxxxx> Nice catch! Note: since those fields were not used before and IIRC the below result struct size is set dynamically (the h/w doesn't expect a fixed size) this doesn't need to be backported to stable trees. Can't test it on real h/w though. Acked-by: Antoine Tenart <atenart@xxxxxxxxxx> Thanks! > --- > drivers/crypto/inside-secure/safexcel.h | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/crypto/inside-secure/safexcel.h b/drivers/crypto/inside-secure/safexcel.h > index ce1e611a163e..797ff91512e0 100644 > --- a/drivers/crypto/inside-secure/safexcel.h > +++ b/drivers/crypto/inside-secure/safexcel.h > @@ -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; > -- > 2.25.1 >