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

From: Christoph Lameter
Date: Wed Jul 10 2013 - 14:48:49 EST


On Wed, 10 Jul 2013, Pekka Enberg wrote:
> Yes, it indeed interacts badly with kmemleak and tracing. I reverted the
> commit.

Here is the fix required. kmemleak.h is weird in that it cannot be
included at the top of slab.h due to its corresponding dependency on
slab.h. Bad situation. kmemleak.h itself should include "slab.h"...

Why not fold kmemleak.h into slab.h to avoid future surprises?



Subject: slabs: kmemleak.h needs to be included after constant definitions.

Kmemleak.h depends on the constant defs in slab.h. It was include before
them. Move the include further down.

Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>

Index: linux/include/linux/slab.h
===================================================================
--- linux.orig/include/linux/slab.h 2013-07-10 13:43:36.186641776 -0500
+++ linux/include/linux/slab.h 2013-07-10 13:44:36.735730034 -0500
@@ -14,7 +14,6 @@
#include <linux/gfp.h>
#include <linux/types.h>
#include <linux/workqueue.h>
-#include <linux/kmemleak.h>


/*
@@ -97,6 +96,7 @@
#define ZERO_OR_NULL_PTR(x) ((unsigned long)(x) <= \
(unsigned long)ZERO_SIZE_PTR)

+#include <linux/kmemleak.h>

struct mem_cgroup;
/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/