Re: [PATCH v2 19/20] staging: rtl8723bs: include macro in a do - while loop in core/rtw_security.c

Greg KH
2021-03-28T12:12:57Z

On Sat, Mar 27, 2021 at 03:24:18PM +0100, Fabio Aiuto wrote:
> fix the following checkpatch warning:
>
> ERROR: Macros with multiple statements should be enclosed
> in a do - while loop
> 2014: FILE: drivers/staging/rtl8723bs/core/rtw_security.c:2014:
> +#define ROUND(i, d, s) \
>
> Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
> ---
> drivers/staging/rtl8723bs/core/rtw_security.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
> index 0ddd7667a986..8a447e149438 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_security.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_security.c
> @@ -2012,10 +2012,12 @@ static void rijndaelEncrypt(u32 rk[/*44*/], u8 pt[16], u8 ct[16])
> s3 = GETU32(pt + 12) ^ rk[3];
>
> #define ROUND(i, d, s) \
> -d##0 = TE0(s##0) ^ TE1(s##1) ^ TE2(s##2) ^ TE3(s##3) ^ rk[4 * i]; \
> -d##1 = TE0(s##1) ^ TE1(s##2) ^ TE2(s##3) ^ TE3(s##0) ^ rk[4 * i + 1]; \
> -d##2 = TE0(s##2) ^ TE1(s##3) ^ TE2(s##0) ^ TE3(s##1) ^ rk[4 * i + 2]; \
> -d##3 = TE0(s##3) ^ TE1(s##0) ^ TE2(s##1) ^ TE3(s##2) ^ rk[4 * i + 3]
> + do { \
> + d##0 = TE0(s##0) ^ TE1(s##1) ^ TE2(s##2) ^ TE3(s##3) ^ rk[4 * i]; \
> + d##1 = TE0(s##1) ^ TE1(s##2) ^ TE2(s##3) ^ TE3(s##0) ^ rk[4 * i + 1]; \
> + d##2 = TE0(s##2) ^ TE1(s##3) ^ TE2(s##0) ^ TE3(s##1) ^ rk[4 * i + 2]; \
> + d##3 = TE0(s##3) ^ TE1(s##0) ^ TE2(s##1) ^ TE3(s##2) ^ rk[4 * i + 3]; \
> + } while (0)

Why is this code not using the in-kernel crypto code instead? I'll take
this but that should be something that is done to this code
eventually...

thanks,

greg k-h