Re: [PATCH] skbuff: Mark expected switch fall-throughs

From: Kees Cook
Date: Tue Oct 16 2018 - 18:41:30 EST


On Mon, Oct 15, 2018 at 2:30 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Sat, Oct 13, 2018 at 4:56 AM, Gustavo A. R. Silva
> <gustavo@xxxxxxxxxxxxxx> wrote:
>> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
>> where we are expecting to fall through.
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
>
> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx>

Actually, since this is skbuff, can you resend this to netdev instead?
Andrew took the other two, but this one seems like it should go via
David Miller.

Thanks!

-Kees

>
> -Kees
>
>> ---
>> include/linux/skbuff.h | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
>> index 119d092..92ec346 100644
>> --- a/include/linux/skbuff.h
>> +++ b/include/linux/skbuff.h
>> @@ -3505,13 +3505,19 @@ static inline bool __skb_metadata_differs(const struct sk_buff *skb_a,
>> #define __it(x, op) (x -= sizeof(u##op))
>> #define __it_diff(a, b, op) (*(u##op *)__it(a, op)) ^ (*(u##op *)__it(b, op))
>> case 32: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 24: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 16: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 8: diffs |= __it_diff(a, b, 64);
>> break;
>> case 28: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 20: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 12: diffs |= __it_diff(a, b, 64);
>> + /* fall through */
>> case 4: diffs |= __it_diff(a, b, 32);
>> break;
>> }
>> --
>> 2.7.4
>>
>
>
>
> --
> Kees Cook
> Pixel Security



--
Kees Cook
Pixel Security