[PATCH next-20130703] net: sock: Add ifdef CONFIG_MEMCG_KMEM for mem_cgroup_sockets_{init,destroy}

Sedat Dilek
2013-07-03T12:50:00Z

When "CONFIG_MEMCG_KMEM=n" I see this in my build-log:

LD init/built-in.o
mm/built-in.o: In function `mem_cgroup_css_free':
memcontrol.c:(.text+0x5caa6): undefined reference to `mem_cgroup_sockets_destroy'
make[2]: *** [vmlinux] Error 1

Inspired by the ifdef for mem_cgroup_sockets_{init,destroy} here...

[ net/core/sock.c ]

#ifdef CONFIG_MEMCG_KMEM
int mem_cgroup_sockets_init()
...
void mem_cgroup_sockets_destroy()
...
#endif

...I did the the same for both in "include/net/sock.h".

This fixes the issue for me in next-20130703.

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
v3: Mixed up the order of comments: CONFIG_NET should come last.
(Thanks Sergei Shtylyov)
v2: git dislikes lines beginning with hash ('#') in the changelog.

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
include/net/sock.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/net/sock.h b/include/net/sock.h
index ea6206c..37d2374 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -71,6 +71,7 @@
struct cgroup;
struct cgroup_subsys;
#ifdef CONFIG_NET
+#ifdef CONFIG_MEMCG_KMEM
int mem_cgroup_sockets_init(struct mem_cgroup *memcg, struct cgroup_subsys *ss);
void mem_cgroup_sockets_destroy(struct mem_cgroup *memcg);
#else
@@ -83,7 +84,8 @@ static inline
void mem_cgroup_sockets_destroy(struct mem_cgroup *memcg)
{
}
-#endif
+#endif /* CONFIG_MEMCG_KMEM */
+#endif /* CONFIG_NET */
/*
* This structure really needs to be cleaned up.
* Most of it is for TCP, and not used by any of
--
1.8.3.2