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

From: David Miller <[email-masked]>
Date: Wed, 19 Aug 2015 22:16:40 -0700 (PDT)

From: Stephen Rothwell <[email-masked]>
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 <[email-masked]>
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 <[email-masked]>
Reported-by: kbuild test robot <[email-masked]>
Signed-off-by: Ying Xue <[email-masked]>
Acked-by: Jiri Benc <[email-masked]>
Signed-off-by: David S. Miller <[email-masked]>
---
 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