提交 275757e6 编写于 作者: G Gustavo A. R. Silva 提交者: David S. Miller

ipv6: mark expected switch fall-throughs

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: NGustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 fb6ff75e
...@@ -271,6 +271,7 @@ static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir) ...@@ -271,6 +271,7 @@ static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir)
case NEXTHDR_DEST: case NEXTHDR_DEST:
if (dir == XFRM_POLICY_OUT) if (dir == XFRM_POLICY_OUT)
ipv6_rearrange_destopt(iph, exthdr.opth); ipv6_rearrange_destopt(iph, exthdr.opth);
/* fall through */
case NEXTHDR_HOP: case NEXTHDR_HOP:
if (!zero_out_mutable_opts(exthdr.opth)) { if (!zero_out_mutable_opts(exthdr.opth)) {
net_dbg_ratelimited("overrun %sopts\n", net_dbg_ratelimited("overrun %sopts\n",
......
...@@ -89,6 +89,7 @@ static bool ip6_tlvopt_unknown(struct sk_buff *skb, int optoff) ...@@ -89,6 +89,7 @@ static bool ip6_tlvopt_unknown(struct sk_buff *skb, int optoff)
*/ */
if (ipv6_addr_is_multicast(&ipv6_hdr(skb)->daddr)) if (ipv6_addr_is_multicast(&ipv6_hdr(skb)->daddr))
break; break;
/* fall through */
case 2: /* send ICMP PARM PROB regardless and drop packet */ case 2: /* send ICMP PARM PROB regardless and drop packet */
icmpv6_param_prob(skb, ICMPV6_UNK_OPTION, optoff); icmpv6_param_prob(skb, ICMPV6_UNK_OPTION, optoff);
return false; return false;
......
...@@ -864,10 +864,8 @@ static int icmpv6_rcv(struct sk_buff *skb) ...@@ -864,10 +864,8 @@ static int icmpv6_rcv(struct sk_buff *skb)
goto discard_it; goto discard_it;
hdr = icmp6_hdr(skb); hdr = icmp6_hdr(skb);
/* /* to notify */
* Drop through to notify /* fall through */
*/
case ICMPV6_DEST_UNREACH: case ICMPV6_DEST_UNREACH:
case ICMPV6_TIME_EXCEED: case ICMPV6_TIME_EXCEED:
case ICMPV6_PARAMPROB: case ICMPV6_PARAMPROB:
......
...@@ -1780,6 +1780,7 @@ static int fib6_walk_continue(struct fib6_walker *w) ...@@ -1780,6 +1780,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
} }
w->state = FWS_L; w->state = FWS_L;
#endif #endif
/* fall through */
case FWS_L: case FWS_L:
left = rcu_dereference_protected(fn->left, 1); left = rcu_dereference_protected(fn->left, 1);
if (left) { if (left) {
...@@ -1788,6 +1789,7 @@ static int fib6_walk_continue(struct fib6_walker *w) ...@@ -1788,6 +1789,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
continue; continue;
} }
w->state = FWS_R; w->state = FWS_R;
/* fall through */
case FWS_R: case FWS_R:
right = rcu_dereference_protected(fn->right, 1); right = rcu_dereference_protected(fn->right, 1);
if (right) { if (right) {
...@@ -1797,6 +1799,7 @@ static int fib6_walk_continue(struct fib6_walker *w) ...@@ -1797,6 +1799,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
} }
w->state = FWS_C; w->state = FWS_C;
w->leaf = rcu_dereference_protected(fn->leaf, 1); w->leaf = rcu_dereference_protected(fn->leaf, 1);
/* fall through */
case FWS_C: case FWS_C:
if (w->leaf && fn->fn_flags & RTN_RTINFO) { if (w->leaf && fn->fn_flags & RTN_RTINFO) {
int err; int err;
...@@ -1815,6 +1818,7 @@ static int fib6_walk_continue(struct fib6_walker *w) ...@@ -1815,6 +1818,7 @@ static int fib6_walk_continue(struct fib6_walker *w)
} }
skip: skip:
w->state = FWS_U; w->state = FWS_U;
/* fall through */
case FWS_U: case FWS_U:
if (fn == w->root) if (fn == w->root)
return 0; return 0;
......
...@@ -593,6 +593,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, ...@@ -593,6 +593,7 @@ ip4ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
case NDISC_REDIRECT: case NDISC_REDIRECT:
rel_type = ICMP_REDIRECT; rel_type = ICMP_REDIRECT;
rel_code = ICMP_REDIR_HOST; rel_code = ICMP_REDIR_HOST;
/* fall through */
default: default:
return 0; return 0;
} }
......
...@@ -1722,6 +1722,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns ...@@ -1722,6 +1722,7 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
case MRT6_ADD_MFC: case MRT6_ADD_MFC:
case MRT6_DEL_MFC: case MRT6_DEL_MFC:
parent = -1; parent = -1;
/* fall through */
case MRT6_ADD_MFC_PROXY: case MRT6_ADD_MFC_PROXY:
case MRT6_DEL_MFC_PROXY: case MRT6_DEL_MFC_PROXY:
if (optlen < sizeof(mfc)) if (optlen < sizeof(mfc))
......
...@@ -290,7 +290,8 @@ nf_nat_ipv6_fn(void *priv, struct sk_buff *skb, ...@@ -290,7 +290,8 @@ nf_nat_ipv6_fn(void *priv, struct sk_buff *skb,
else else
return NF_ACCEPT; 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: case IP_CT_NEW:
/* Seen it before? This can happen for loopback, retrans, /* Seen it before? This can happen for loopback, retrans,
* or local packets. * or local packets.
......
...@@ -1055,6 +1055,7 @@ static int rawv6_setsockopt(struct sock *sk, int level, int optname, ...@@ -1055,6 +1055,7 @@ static int rawv6_setsockopt(struct sock *sk, int level, int optname,
if (optname == IPV6_CHECKSUM || if (optname == IPV6_CHECKSUM ||
optname == IPV6_HDRINCL) optname == IPV6_HDRINCL)
break; break;
/* fall through */
default: default:
return ipv6_setsockopt(sk, level, optname, optval, optlen); return ipv6_setsockopt(sk, level, optname, optval, optlen);
} }
...@@ -1077,6 +1078,7 @@ static int compat_rawv6_setsockopt(struct sock *sk, int level, int optname, ...@@ -1077,6 +1078,7 @@ static int compat_rawv6_setsockopt(struct sock *sk, int level, int optname,
if (optname == IPV6_CHECKSUM || if (optname == IPV6_CHECKSUM ||
optname == IPV6_HDRINCL) optname == IPV6_HDRINCL)
break; break;
/* fall through */
default: default:
return compat_ipv6_setsockopt(sk, level, optname, return compat_ipv6_setsockopt(sk, level, optname,
optval, optlen); optval, optlen);
...@@ -1138,6 +1140,7 @@ static int rawv6_getsockopt(struct sock *sk, int level, int optname, ...@@ -1138,6 +1140,7 @@ static int rawv6_getsockopt(struct sock *sk, int level, int optname,
if (optname == IPV6_CHECKSUM || if (optname == IPV6_CHECKSUM ||
optname == IPV6_HDRINCL) optname == IPV6_HDRINCL)
break; break;
/* fall through */
default: default:
return ipv6_getsockopt(sk, level, optname, optval, optlen); return ipv6_getsockopt(sk, level, optname, optval, optlen);
} }
...@@ -1160,6 +1163,7 @@ static int compat_rawv6_getsockopt(struct sock *sk, int level, int optname, ...@@ -1160,6 +1163,7 @@ static int compat_rawv6_getsockopt(struct sock *sk, int level, int optname,
if (optname == IPV6_CHECKSUM || if (optname == IPV6_CHECKSUM ||
optname == IPV6_HDRINCL) optname == IPV6_HDRINCL)
break; break;
/* fall through */
default: default:
return compat_ipv6_getsockopt(sk, level, optname, return compat_ipv6_getsockopt(sk, level, optname,
optval, optlen); optval, optlen);
......
...@@ -1577,8 +1577,9 @@ static int tcp_v6_rcv(struct sk_buff *skb) ...@@ -1577,8 +1577,9 @@ static int tcp_v6_rcv(struct sk_buff *skb)
refcounted = false; refcounted = false;
goto process; goto process;
} }
/* Fall through to ACK */
} }
/* to ACK */
/* fall through */
case TCP_TW_ACK: case TCP_TW_ACK:
tcp_v6_timewait_ack(sk, skb); tcp_v6_timewait_ack(sk, skb);
break; break;
......
...@@ -152,6 +152,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse) ...@@ -152,6 +152,7 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl, int reverse)
switch (nexthdr) { switch (nexthdr) {
case NEXTHDR_FRAGMENT: case NEXTHDR_FRAGMENT:
onlyproto = 1; onlyproto = 1;
/* fall through */
case NEXTHDR_ROUTING: case NEXTHDR_ROUTING:
case NEXTHDR_HOP: case NEXTHDR_HOP:
case NEXTHDR_DEST: case NEXTHDR_DEST:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册