flow_dissector: Cleanup control flow
authorTom Herbert <tom@quantonium.net>
Fri, 1 Sep 2017 21:04:11 +0000 (14:04 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Sep 2017 18:40:08 +0000 (11:40 -0700)
commit3a1214e8b06317b4e71cd3a36344df87b7858e19
treeeb04848adab6ac341a0b9dcbcd5e646ccf28e769
parent2c08ab3f2504bc7ba816ce6fde051b8bd5f028e4
flow_dissector: Cleanup control flow

__skb_flow_dissect is riddled with gotos that make discerning the flow,
debugging, and extending the capability difficult. This patch
reorganizes things so that we only perform goto's after the two main
switch statements (no gotos within the cases now). It also eliminates
several goto labels so that there are only two labels that can be target
for goto.

Reported-by: Alexander Popov <alex.popov@linux.com>
Signed-off-by: Tom Herbert <tom@quantonium.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/flow_dissector.h
net/core/flow_dissector.c