From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [less-CONFIG_NET v2 5/8] seccomp: cut off functions not required Date: Thu, 28 Jun 2018 14:45:33 +0200 Message-ID: <1530189936-25780-6-git-send-email-nmanthey@amazon.de> References: <1530189936-25780-1-git-send-email-nmanthey@amazon.de> Mime-Version: 1.0 Content-Type: text/plain Cc: Alexei Starovoitov , Daniel Borkmann , "David S. Miller" , Ido Schimmel , Paolo Abeni , Andrew Lunn , Tom Herbert , Simon Horman , Michal Kubecek , John Crispin , Sven Eckelmann , WANG Cong , David Ahern , Jon Maloy , To: Norbert Manthey , Return-path: In-Reply-To: <1530189936-25780-1-git-send-email-nmanthey@amazon.de> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org When using CONFIG_SECCOMP_FILTER, not all functions of filter.c and flow_dissector.c are required. To not pull in more dependencies, guard the functions that are not required with CONFIG_NET defines. This way, these functions are enabled in case the file is compiled because of CONFIG_NET, but they are not present when the file is compiled because of other configurations. Signed-off-by: Norbert Manthey --- net/core/filter.c | 2 ++ net/core/flow_dissector.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/net/core/filter.c b/net/core/filter.c index 61c24c9..410189c 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1250,6 +1250,7 @@ void bpf_prog_destroy(struct bpf_prog *fp) } EXPORT_SYMBOL_GPL(bpf_prog_destroy); +#if defined(CONFIG_NET) /** * sk_filter_trim_cap - run a packet through a socket filter * @sk: sock associated with &sk_buff @@ -6823,3 +6824,4 @@ int sk_get_filter(struct sock *sk, struct sock_filter __user *ubuf, release_sock(sk); return ret; } +#endif // CONFIG_NET diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 76d0b23..f5ba8e9 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -1219,6 +1219,7 @@ u32 skb_get_poff(const struct sk_buff *skb) return __skb_get_poff(skb, skb->data, &keys, skb_headlen(skb)); } +#if defined(CONFIG_NET) __be32 flow_get_u32_src(const struct flow_keys *flow) { switch (flow->control.addr_type) { @@ -1340,6 +1341,7 @@ __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys) return flow_hash_from_keys(keys); } EXPORT_SYMBOL(__get_hash_from_flowi6); +#endif // CONFIG_NET static const struct flow_dissector_key flow_keys_dissector_keys[] = { { -- 2.7.4 Amazon Development Center Germany GmbH Berlin - Dresden - Aachen main office: Krausenstr. 38, 10117 Berlin Geschaeftsfuehrer: Dr. Ralf Herbrich, Christian Schlaeger Ust-ID: DE289237879 Eingetragen am Amtsgericht Charlottenburg HRB 149173 B