clang-16 fails to build, stating: net/bridge/netfilter/nf_conntrack_bridge.c:257:3: error: expected expression struct ppp_hdr { ^ net/bridge/netfilter/nf_conntrack_bridge.c:262:20: error: use of undeclared identifier 'ph' data_len = ntohs(ph->hdr.length) - 2; ^ net/bridge/netfilter/nf_conntrack_bridge.c:262:20: error: use of undeclared identifier 'ph' net/bridge/netfilter/nf_conntrack_bridge.c:262:20: error: use of undeclared identifier 'ph' net/bridge/netfilter/nf_conntrack_bridge.c:262:20: error: use of undeclared identifier 'ph' net/bridge/netfilter/nf_conntrack_bridge.c:265:11: error: use of undeclared identifier 'ph' switch (ph->proto) { ^ net/bridge/netfilter/nf_conntrack_bridge.c:278:3: error: expected expression struct vlan_hdr *vhdr = (struct vlan_hdr *)(skb->data); ^ net/bridge/netfilter/nf_conntrack_bridge.c:283:17: error: use of undeclared identifier 'vhdr' inner_proto = vhdr->h_vlan_encapsulated_proto; ^ One cannot have variable declarations placed this way in a switch/case statement, a new scope must be opened. Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx> --- net/bridge/netfilter/nf_conntrack_bridge.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/bridge/netfilter/nf_conntrack_bridge.c b/net/bridge/netfilter/nf_conntrack_bridge.c index fb2f79396aa0..31e2bcd71735 100644 --- a/net/bridge/netfilter/nf_conntrack_bridge.c +++ b/net/bridge/netfilter/nf_conntrack_bridge.c @@ -253,7 +253,7 @@ static unsigned int nf_ct_bridge_pre(void *priv, struct sk_buff *skb, return NF_ACCEPT; switch (skb->protocol) { - case htons(ETH_P_PPP_SES): + case htons(ETH_P_PPP_SES): { struct ppp_hdr { struct pppoe_hdr hdr; __be16 proto; @@ -273,7 +273,8 @@ static unsigned int nf_ct_bridge_pre(void *priv, struct sk_buff *skb, return NF_ACCEPT; } break; - case htons(ETH_P_8021Q): + } + case htons(ETH_P_8021Q): { struct vlan_hdr *vhdr = (struct vlan_hdr *)(skb->data); data_len = 0xffffffff; @@ -281,6 +282,7 @@ static unsigned int nf_ct_bridge_pre(void *priv, struct sk_buff *skb, outer_proto = skb->protocol; inner_proto = vhdr->h_vlan_encapsulated_proto; break; + } default: data_len = 0xffffffff; break; -- 2.43.0