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

From: Kees Cook
Date: Mon Oct 15 2018 - 17:30:38 EST


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>

-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