Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bridge: always declare tunnel functions

When CONFIG_BRIDGE_VLAN_FILTERING is disabled, two functions are still
defined but have no prototype or caller. This causes a W=1 warning for
the missing prototypes:

net/bridge/br_netlink_tunnel.c:29:6: error: no previous prototype for 'vlan_tunid_inrange' [-Werror=missing-prototypes]
net/bridge/br_netlink_tunnel.c:199:5: error: no previous prototype for 'br_vlan_tunnel_info' [-Werror=missing-prototypes]

The functions are already contitional on CONFIG_BRIDGE_VLAN_FILTERING,
and I coulnd't easily figure out the right set of #ifdefs, so just
move the declarations out of the #ifdef to avoid the warning,
at a small cost in code size over a more elaborate fix.

Fixes: 188c67dd1906 ("net: bridge: vlan options: add support for tunnel id dumping")
Fixes: 569da0822808 ("net: bridge: vlan options: add support for tunnel mapping set/del")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://lore.kernel.org/r/20230516194625.549249-3-arnd@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Arnd Bergmann and committed by
Jakub Kicinski
89dcd87c fb1b7be9

+4 -4
+4 -4
net/bridge/br_private_tunnel.h
··· 27 27 int br_get_vlan_tunnel_info_size(struct net_bridge_vlan_group *vg); 28 28 int br_fill_vlan_tunnel_info(struct sk_buff *skb, 29 29 struct net_bridge_vlan_group *vg); 30 + bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr, 31 + const struct net_bridge_vlan *v_last); 32 + int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd, 33 + u16 vid, u32 tun_id, bool *changed); 30 34 31 35 #ifdef CONFIG_BRIDGE_VLAN_FILTERING 32 36 /* br_vlan_tunnel.c */ ··· 47 43 struct net_bridge_vlan_group *vg); 48 44 int br_handle_egress_vlan_tunnel(struct sk_buff *skb, 49 45 struct net_bridge_vlan *vlan); 50 - bool vlan_tunid_inrange(const struct net_bridge_vlan *v_curr, 51 - const struct net_bridge_vlan *v_last); 52 - int br_vlan_tunnel_info(const struct net_bridge_port *p, int cmd, 53 - u16 vid, u32 tun_id, bool *changed); 54 46 #else 55 47 static inline int vlan_tunnel_init(struct net_bridge_vlan_group *vg) 56 48 {