Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

From: Alexander Kapshuk
Date: Tue Mar 14 2017 - 07:53:36 EST


On Tue, Mar 14, 2017 at 1:44 PM, Pushkar Jambhlekar
<pushkar.iit@xxxxxxxxx> wrote:
> Hi Alexander,
>
> It is not needed for a macro. I am modifying do---while() loop for ROUND macro.
>
> /**
> * Expand the cipher key into the encryption key schedule.
> *
> * @return the number of rounds for the given cipher key size.
> */
> #define ROUND(i, d, s) \
> 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)
>
> On Tue, Mar 14, 2017 at 5:02 PM, Alexander Kapshuk
> <alexander.kapshuk@xxxxxxxxx> wrote:
>> On Tue, Mar 14, 2017 at 1:26 PM, Pushkar Jambhlekar
>> <pushkar.iit@xxxxxxxxx> wrote:
>>> Description:
>>> There should not be ';' after do ... while(0) in macro defination
>>>
>>> Signed-off-by: Pushkar Jambhlekar <pushkar.iit@xxxxxxxxx>
>>> ---
>>> drivers/staging/rtl8188eu/core/rtw_security.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/staging/rtl8188eu/core/rtw_security.c b/drivers/staging/rtl8188eu/core/rtw_security.c
>>> index b283a490..5b1ef22 100644
>>> --- a/drivers/staging/rtl8188eu/core/rtw_security.c
>>> +++ b/drivers/staging/rtl8188eu/core/rtw_security.c
>>> @@ -1690,4 +1690,4 @@ do { \
>>> 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);
>>> +} while (0)
>>> --
>>> 2.7.4
>>>
>>
>> A semicolon is required after 'while(bool);' in 'do..while'.
>> Without it, you get a compile time error.
>
>
>
> --
> Jambhlekar Pushkar Arun
> M.Tech IIT Roorkee

You're right. My apologies.