[GIT PULL] SLUB/SLOB updates for 2.6.26

From: Pekka J Enberg
Date: Mon May 26 2008 - 11:39:29 EST


Hi Linus,

Please pull the latest SLAB git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6.git for-linus

It has a fix for out-of-memory condition in SLOB and a new WARN_ON for SLUB to
detect ksize() abuse.

Pekka

MinChan Kim (1):
slob: Fix to return wrong pointer

Pekka Enberg (1):
slub: ksize() abuse checks

mm/slob.c | 5 +++--
mm/slub.c | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/mm/slob.c b/mm/slob.c
index 6038cba..a3ad667 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -469,8 +469,9 @@ void *__kmalloc_node(size_t size, gfp_t gfp, int node)
return ZERO_SIZE_PTR;

m = slob_alloc(size + align, gfp, align, node);
- if (m)
- *m = size;
+ if (!m)
+ return NULL;
+ *m = size;
return (void *)m + align;
} else {
void *ret;
diff --git a/mm/slub.c b/mm/slub.c
index a505a82..0987d1c 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2726,9 +2726,10 @@ size_t ksize(const void *object)

page = virt_to_head_page(object);

- if (unlikely(!PageSlab(page)))
+ if (unlikely(!PageSlab(page))) {
+ WARN_ON(!PageCompound(page));
return PAGE_SIZE << compound_order(page);
-
+ }
s = page->slab;

#ifdef CONFIG_SLUB_DEBUG
--
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/