[PATCH v4 04/25] Wipe out CFLGS_OFF_SLAB from flags during initial slab creation

From: Glauber Costa
Date: Mon Jun 18 2012 - 06:36:34 EST


CFLGS_OFF_SLAB is not a valid flag to be passed to cache creation.
If we are duplicating a cache - support added in a future patch -
we will rely on the flags it has stored in itself. That may include
CFLGS_OFF_SLAB.

So it is better to clean this flag at cache creation.

CC: Christoph Lameter <cl@xxxxxxxxx>
CC: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
CC: David Rientjes <rientjes@xxxxxxxxxx>
---
mm/slab.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/mm/slab.c b/mm/slab.c
index 2d5fe28..c30a61c 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2201,6 +2201,12 @@ int __kmem_cache_create(struct kmem_cache *cachep)
BUG_ON(flags & SLAB_POISON);
#endif
/*
+ * Passing this flag at creation time is invalid, but if we're
+ * duplicating a slab, it may happen.
+ */
+ flags &= ~CFLGS_OFF_SLAB;
+
+ /*
* Always checks flags, a caller might be expecting debug support which
* isn't available.
*/
--
1.7.10.2

--
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/