2018-02-19 18:11:16

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Addresses-Coverity-ID: 1465362 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
net/rds/send.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/net/rds/send.c b/net/rds/send.c
index 028ab59..79d158b 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -902,6 +902,8 @@ static int rds_rm_size(struct msghdr *msg, int num_sgs)

case RDS_CMSG_ZCOPY_COOKIE:
zcopy_cookie = true;
+ /* fall through */
+
case RDS_CMSG_RDMA_DEST:
case RDS_CMSG_RDMA_MAP:
cmsg_groups |= 2;
--
2.7.4



2018-02-19 20:08:07

by Sowmini Varadhan

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

On (02/19/18 12:10), Gustavo A. R. Silva wrote:
>
> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
> where we are expecting to fall through.

Acked-by: Sowmini Varadhan <[email protected]>


2018-02-20 17:55:31

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

Hi,

2/19/2018 10:10 AM, Gustavo A. R. Silva wrote:
> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
> where we are expecting to fall through.
>
> Addresses-Coverity-ID: 1465362 ("Missing break in switch")
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> net/rds/send.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/rds/send.c b/net/rds/send.c
> index 028ab59..79d158b 100644
> --- a/net/rds/send.c
> +++ b/net/rds/send.c
> @@ -902,6 +902,8 @@ static int rds_rm_size(struct msghdr *msg, int num_sgs)
>
> case RDS_CMSG_ZCOPY_COOKIE:
> zcopy_cookie = true;
> + /* fall through */
> +
> case RDS_CMSG_RDMA_DEST:
> case RDS_CMSG_RDMA_MAP:
> cmsg_groups |= 2;
>
So coverity greps for commet as "fall through" for
-Wimplicit-fallthrough build ?

Adding that comments itself if fine but was curious
about it if some one makes a spell error in this
comment what happens ;-)

For patch itself,
Acked-by: Santosh Shilimkar <[email protected]>

2018-02-20 18:02:54

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

From: Santosh Shilimkar <[email protected]>
Date: Tue, 20 Feb 2018 09:54:09 -0800

> So coverity greps for commet as "fall through" for
> -Wimplicit-fallthrough build ?

From what I understand, 'gcc' does in the latest versions. Coverity
might as well, I don't know.

2018-02-20 18:07:19

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

Hi Santosh,

On 02/20/2018 11:54 AM, Santosh Shilimkar wrote:
> Hi,
>
> 2/19/2018 10:10 AM, Gustavo A. R. Silva wrote:
>> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
>> where we are expecting to fall through.
>>
>> Addresses-Coverity-ID: 1465362 ("Missing break in switch")
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>>   net/rds/send.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/net/rds/send.c b/net/rds/send.c
>> index 028ab59..79d158b 100644
>> --- a/net/rds/send.c
>> +++ b/net/rds/send.c
>> @@ -902,6 +902,8 @@ static int rds_rm_size(struct msghdr *msg, int
>> num_sgs)
>>           case RDS_CMSG_ZCOPY_COOKIE:
>>               zcopy_cookie = true;
>> +            /* fall through */
>> +
>>           case RDS_CMSG_RDMA_DEST:
>>           case RDS_CMSG_RDMA_MAP:
>>               cmsg_groups |= 2;
>>
> So coverity greps for commet as "fall through" for
> -Wimplicit-fallthrough build ?
>

No. Basically, Coverity only reports cases in which a break, return or
continue statement is missing.

Now, if the statements I mention above are missing and if you add the
following line to your Makefile:

KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough)

You will get a warning if a fall-through comment is missing.

> Adding that comments itself if fine but was curious
> about it if some one makes a spell error in this
> comment what happens ;-)
>

In this case, Coverity would still report the same "Missing break in
switch" error, but you'll get a GCC warning.

> For patch itself,
> Acked-by: Santosh Shilimkar <[email protected]>

--
Gustavo

2018-02-20 18:11:14

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size



On 02/20/2018 12:01 PM, David Miller wrote:
> From: Santosh Shilimkar <[email protected]>
> Date: Tue, 20 Feb 2018 09:54:09 -0800
>
>> So coverity greps for commet as "fall through" for
>> -Wimplicit-fallthrough build ?
>
> From what I understand, 'gcc' does in the latest versions. Coverity
> might as well, I don't know.
>

Yeah, the one that reports those warnings is GCC.

Coverity only knows about missing break, return and continue.

--
Gustavo

2018-02-20 18:42:07

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

On 2/20/2018 10:01 AM, David Miller wrote:
> From: Santosh Shilimkar <[email protected]>
> Date: Tue, 20 Feb 2018 09:54:09 -0800
>
>> So coverity greps for commet as "fall through" for
>> -Wimplicit-fallthrough build ?
>
> From what I understand, 'gcc' does in the latest versions. Coverity
> might as well, I don't know.
>
Good to know about 'gcc' adding such option. Thanks !!

2018-02-20 18:44:24

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

On 2/20/2018 10:05 AM, Gustavo A. R. Silva wrote:
> Hi Santosh,
>
> On 02/20/2018 11:54 AM, Santosh Shilimkar wrote:
>> Hi,
>>
>> 2/19/2018 10:10 AM, Gustavo A. R. Silva wrote:
>>> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
>>> where we are expecting to fall through.
>>>
>>> Addresses-Coverity-ID: 1465362 ("Missing break in switch")
>>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>>> ---
>>>   net/rds/send.c | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/net/rds/send.c b/net/rds/send.c
>>> index 028ab59..79d158b 100644
>>> --- a/net/rds/send.c
>>> +++ b/net/rds/send.c
>>> @@ -902,6 +902,8 @@ static int rds_rm_size(struct msghdr *msg, int
>>> num_sgs)
>>>           case RDS_CMSG_ZCOPY_COOKIE:
>>>               zcopy_cookie = true;
>>> +            /* fall through */
>>> +
>>>           case RDS_CMSG_RDMA_DEST:
>>>           case RDS_CMSG_RDMA_MAP:
>>>               cmsg_groups |= 2;
>>>
>> So coverity greps for commet as "fall through" for
>> -Wimplicit-fallthrough build ?
>>
>
> No. Basically, Coverity only reports cases in which a break, return or
> continue statement is missing.
>
> Now, if the statements I mention above are missing and if you add the
> following line to your Makefile:
>
> KBUILD_CFLAGS  += $(call cc-option,-Wimplicit-fallthrough)
>
> You will get a warning if a fall-through comment is missing.
>
That make sense.

>> Adding that comments itself if fine but was curious
>> about it if some one makes a spell error in this
>> comment what happens ;-)
>>
>
> In this case, Coverity would still report the same "Missing break in
> switch" error, but you'll get a GCC warning.
>
Got it. Thanks !!

2018-02-21 19:19:42

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] rds: send: mark expected switch fall-through in rds_rm_size

From: "Gustavo A. R. Silva" <[email protected]>
Date: Mon, 19 Feb 2018 12:10:20 -0600

> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
> where we are expecting to fall through.
>
> Addresses-Coverity-ID: 1465362 ("Missing break in switch")
> Signed-off-by: Gustavo A. R. Silva <[email protected]>

Applied.