OSDN Git Service

netfilter: add missing IS_ENABLED(CONFIG_BRIDGE_NETFILTER) checks to header-file.
authorJeremy Sowden <jeremy@azazel.net>
Wed, 7 Aug 2019 14:17:00 +0000 (15:17 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 13 Aug 2019 10:14:49 +0000 (12:14 +0200)
br_netfilter.h defines inline functions that use an enum constant and
struct member that are only defined if CONFIG_BRIDGE_NETFILTER is
enabled.  Added preprocessor checks to ensure br_netfilter.h will
compile if CONFIG_BRIDGE_NETFILTER is disabled.

Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/br_netfilter.h

index ca121ed..33533ea 100644 (file)
@@ -8,12 +8,16 @@
 
 static inline struct nf_bridge_info *nf_bridge_alloc(struct sk_buff *skb)
 {
+#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
        struct nf_bridge_info *b = skb_ext_add(skb, SKB_EXT_BRIDGE_NF);
 
        if (b)
                memset(b, 0, sizeof(*b));
 
        return b;
+#else
+       return NULL;
+#endif
 }
 
 void nf_bridge_update_protocol(struct sk_buff *skb);
@@ -38,10 +42,14 @@ int br_nf_pre_routing_finish_bridge(struct net *net, struct sock *sk, struct sk_
 
 static inline struct rtable *bridge_parent_rtable(const struct net_device *dev)
 {
+#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
        struct net_bridge_port *port;
 
        port = br_port_get_rcu(dev);
        return port ? &port->br->fake_rtable : NULL;
+#else
+       return NULL;
+#endif
 }
 
 struct net_device *setup_pre_routing(struct sk_buff *skb,