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: Gustavo A. R. Silva <garsilva@embeddedor.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fb6ff75e18
commit
275757e6ba
|
@ -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)
|
||||||
*/
|
*/
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
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)
|
||||||
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)
|
||||||
}
|
}
|
||||||
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)
|
||||||
}
|
}
|
||||||
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,
|
||||||
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
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
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 @@ do_time_wait:
|
||||||
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)
|
||||||
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:
|
||||||
|
|
Loading…
Reference in New Issue