2017-03-14 11:26:53

by Pushkar Jambhlekar

[permalink] [raw]
Subject: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

Description:
There should not be ';' after do ... while(0) in macro defination

Signed-off-by: Pushkar Jambhlekar <[email protected]>
---
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


2017-03-14 11:33:30

by Alexander Kapshuk

[permalink] [raw]
Subject: Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

On Tue, Mar 14, 2017 at 1:26 PM, Pushkar Jambhlekar
<[email protected]> wrote:
> Description:
> There should not be ';' after do ... while(0) in macro defination
>
> Signed-off-by: Pushkar Jambhlekar <[email protected]>
> ---
> 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.

2017-03-14 11:44:51

by Pushkar Jambhlekar

[permalink] [raw]
Subject: Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

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
<[email protected]> wrote:
> On Tue, Mar 14, 2017 at 1:26 PM, Pushkar Jambhlekar
> <[email protected]> wrote:
>> Description:
>> There should not be ';' after do ... while(0) in macro defination
>>
>> Signed-off-by: Pushkar Jambhlekar <[email protected]>
>> ---
>> 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

2017-03-14 11:53:28

by Alexander Kapshuk

[permalink] [raw]
Subject: Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

On Tue, Mar 14, 2017 at 1:44 PM, Pushkar Jambhlekar
<[email protected]> 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
> <[email protected]> wrote:
>> On Tue, Mar 14, 2017 at 1:26 PM, Pushkar Jambhlekar
>> <[email protected]> wrote:
>>> Description:
>>> There should not be ';' after do ... while(0) in macro defination
>>>
>>> Signed-off-by: Pushkar Jambhlekar <[email protected]>
>>> ---
>>> 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.

2017-03-14 12:13:43

by Pushkar Jambhlekar

[permalink] [raw]
Subject: Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

Your concerns were valid. Since 'do' is defined on the new-line, git
did not include it in diff.

On Tue, Mar 14, 2017 at 5:22 PM, Alexander Kapshuk
<[email protected]> wrote:
> On Tue, Mar 14, 2017 at 1:44 PM, Pushkar Jambhlekar
> <[email protected]> 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
>> <[email protected]> wrote:
>>> On Tue, Mar 14, 2017 at 1:26 PM, Pushkar Jambhlekar
>>> <[email protected]> wrote:
>>>> Description:
>>>> There should not be ';' after do ... while(0) in macro defination
>>>>
>>>> Signed-off-by: Pushkar Jambhlekar <[email protected]>
>>>> ---
>>>> 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.



--
Jambhlekar Pushkar Arun
M.Tech IIT Roorkee

2017-03-14 12:18:17

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH] rtl8188eu: Correcting macro ROUND macro defination

I don't understand why we have any of these things under the
/* AES tables*/ comment. They don't seem to be used anywhere. Can't
we just delete them?

regards,
dan carpenter