OSDN Git Service

ipv6: mark expected switch fall-throughs
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Mon, 16 Oct 2017 21:36:52 +0000 (16:36 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Oct 2017 13:13:08 +0000 (14:13 +0100)
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Notice that in some cases I placed the "fall through" comment
on its own line, which is what GCC is expecting to find.

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ah6.c
net/ipv6/exthdrs.c
net/ipv6/icmp.c
net/ipv6/ip6_fib.c
net/ipv6/ip6_tunnel.c
net/ipv6/ip6mr.c
net/ipv6/netfilter/nf_nat_l3proto_ipv6.c
net/ipv6/raw.c
net/ipv6/tcp_ipv6.c
net/ipv6/xfrm6_policy.c

index 7802b72..37bb33f 100644 (file)
@@ -271,6 +271,7 @@ static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir)
                case NEXTHDR_DEST:
                        if (dir == XFRM_POLICY_OUT)
                                ipv6_rearrange_destopt(iph, exthdr.opth);
+                       /* fall through */
                case NEXTHDR_HOP:
                        if (!zero_out_mutable_opts(exthdr.opth)) {
                                net_dbg_ratelimited("overrun %sopts\n",
index 9551613..7835dea 100644 (file)
@@ -89,6 +89,7 @@ static bool ip6_tlvopt_unknown(struct sk_buff *skb, int optoff)
                 */
                if (ipv6_addr_is_multicast(&ipv6_hdr(skb)->daddr))
                        break;
+               /* fall through */
        case 2: /* send ICMP PARM PROB regardless and drop packet */
                icmpv6_param_prob(skb, ICMPV6_UNK_OPTION, optoff);
                return false;
index 4e52d52..6ae5dd3 100644 (file)
@@ -864,10 +864,8 @@ static int icmpv6_rcv(struct sk_buff *skb)
                        goto discard_it;
                hdr = icmp6_hdr(skb);
 
-               /*
-                *      Drop through to notify
-                */
-
+               /* to notify */
+               /* fall through */
        case ICMPV6_DEST_UNREACH:
        case ICMPV6_TIME_EXCEED:
        case ICMPV6_PARAMPROB:
index 548af48..1ada967 100644 (file)
@@ -1780,6 +1780,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
                        }
                        w->state = FWS_L;
 #endif
+                       /* fall through */
                case FWS_L:
                        left = rcu_dereference_protected(fn->left, 1);
                        if (left) {
@@ -1788,6 +1789,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
                                continue;
                        }
                        w->state = FWS_R;
+                       /* fall through */
                case FWS_R:
                        right = rcu_dereference_protected(fn->right, 1);
                        if (right) {
@@ -1797,6 +1799,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
                        }
                        w->state = FWS_C;
                        w->leaf = rcu_dereference_protected(fn->leaf, 1);
+                       /* fall through */
                case FWS_C:
                        if (w->leaf && fn->fn_flags & RTN_RTINFO) {
                                int err;
@@ -1815,6 +1818,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
                        }
 skip:
                        w->state = FWS_U;
+                       /* fall through */
                case FWS_U:
                        if (fn == w->root)
                                return 0;
index 8255486..4212879 100644 (file)
@@ -593,6 +593,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
        case NDISC_REDIRECT:
                rel_type = ICMP_REDIRECT;
                rel_code = ICMP_REDIR_HOST;
+               /* fall through */
        default:
                return 0;
        }
index f5500f5..59fad81 100644 (file)
@@ -1722,6 +1722,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
        case MRT6_ADD_MFC:
        case MRT6_DEL_MFC:
                parent = -1;
+               /* fall through */
        case MRT6_ADD_MFC_PROXY:
        case MRT6_DEL_MFC_PROXY:
                if (optlen < sizeof(mfc))
index 46d6dba..1d2fb92 100644 (file)
@@ -290,7 +290,8 @@ nf_nat_ipv6_fn(void *priv, struct sk_buff *skb,
                        else
                                return NF_ACCEPT;
                }
-               /* Fall thru... (Only ICMPs can be IP_CT_IS_REPLY) */
+               /* Only ICMPs can be IP_CT_IS_REPLY: */
+               /* fall through */
        case IP_CT_NEW:
                /* Seen it before?  This can happen for loopback, retrans,
                 * or local packets.
index e4462b0..761a473 100644 (file)
@@ -1055,6 +1055,7 @@ static int rawv6_setsockopt(struct sock *sk, int level, int optname,
                if (optname == IPV6_CHECKSUM ||
                    optname == IPV6_HDRINCL)
                        break;
+               /* fall through */
        default:
                return ipv6_setsockopt(sk, level, optname, optval, optlen);
        }
@@ -1077,6 +1078,7 @@ static int compat_rawv6_setsockopt(struct sock *sk, int level, int optname,
                if (optname == IPV6_CHECKSUM ||
                    optname == IPV6_HDRINCL)
                        break;
+               /* fall through */
        default:
                return compat_ipv6_setsockopt(sk, level, optname,
                                              optval, optlen);
@@ -1138,6 +1140,7 @@ static int rawv6_getsockopt(struct sock *sk, int level, int optname,
                if (optname == IPV6_CHECKSUM ||
                    optname == IPV6_HDRINCL)
                        break;
+               /* fall through */
        default:
                return ipv6_getsockopt(sk, level, optname, optval, optlen);
        }
@@ -1160,6 +1163,7 @@ static int compat_rawv6_getsockopt(struct sock *sk, int level, int optname,
                if (optname == IPV6_CHECKSUM ||
                    optname == IPV6_HDRINCL)
                        break;
+               /* fall through */
        default:
                return compat_ipv6_getsockopt(sk, level, optname,
                                              optval, optlen);
index 64d94af..ae83615 100644 (file)
@@ -1577,8 +1577,9 @@ do_time_wait:
                        refcounted = false;
                        goto process;
                }
-               /* Fall through to ACK */
        }
+               /* to ACK */
+               /* fall through */
        case TCP_TW_ACK:
                tcp_v6_timewait_ack(sk, skb);
                break;
index 11d1314..4ed9f8c 100644 (file)
@@ -152,6 +152,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
                switch (nexthdr) {
                case NEXTHDR_FRAGMENT:
                        onlyproto = 1;
+                       /* fall through */
                case NEXTHDR_ROUTING:
                case NEXTHDR_HOP:
                case NEXTHDR_DEST: