Re: linux-next: build failure after merge of the net-next tree

From: David Miller
Date: Thu Aug 20 2015 - 01:16:45 EST


From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 20 Aug 2015 12:57:34 +1000

> After merging the net-next tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> net/ipv4/fib_semantics.c: In function 'fib_encap_match':
> net/ipv4/fib_semantics.c:553:3: error: implicit declaration of function 'lwtstate_free' [-Werror=implicit-function-declaration]
> lwtstate_free(lwtstate);
> ^
>
> Caused by commit
>
> df383e6240ef ("lwtunnel: fix memory leak")
>
> CONFIG_LWTUNNEL is not set for this build.
>
> I reverted that commit for today.

Ought to already be fixed by:

====================
From 824e7383e92815cb591793c74cc836aa5165f7f8 Mon Sep 17 00:00:00 2001
From: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Date: Wed, 19 Aug 2015 15:46:17 +0800
Subject: [PATCH 1/2] lwtunnel: Fix the sparse warnings in fib_encap_match
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When CONFIG_LWTUNNEL config is not enabled, the lwtstate_free() is not
declared in lwtunnel.h at all. However, even in this case, the function
is still referenced in fib_semantics.c so that there appears the
following sparse warnings:

net/ipv4/fib_semantics.c:553:17: error: undefined identifier 'lwtstate_free'
CC net/ipv4/fib_semantics.o
net/ipv4/fib_semantics.c: In function ʽfib_encap_matchʼ:
net/ipv4/fib_semantics.c:553:3: error: implicit declaration of function ʽlwtstate_freeʼ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: *** [net/ipv4/fib_semantics.o] Error 1
make: *** [net/ipv4/fib_semantics.o] Error 2

To eliminate the error, we define an empty function for lwtstate_free()
in lwtunnel.h when CONFIG_LWTUNNEL is disabled.

Fixes: df383e6240ef ("lwtunnel: fix memory leak")
Cc: Jiri Benc <jbenc@xxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>
Acked-by: Jiri Benc <jbenc@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
---
include/net/lwtunnel.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/net/lwtunnel.h b/include/net/lwtunnel.h
index 34fd8f7..cfee539 100644
--- a/include/net/lwtunnel.h
+++ b/include/net/lwtunnel.h
@@ -93,6 +93,10 @@ int lwtunnel_input6(struct sk_buff *skb);

#else

+static inline void lwtstate_free(struct lwtunnel_state *lws)
+{
+}
+
static inline struct lwtunnel_state *
lwtstate_get(struct lwtunnel_state *lws)
{
--
2.1.0