[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0805261838340.24399@sbz-30.cs.Helsinki.FI>
Date: Mon, 26 May 2008 18:39:18 +0300 (EEST)
From: Pekka J Enberg <penberg@...helsinki.fi>
To: torvalds@...ux-foundation.org
cc: linux-kernel@...r.kernel.org, Christoph Lameter <clameter@....com>,
Matt Mackall <mpm@...enic.com>,
MinChan Kim <minchan.kim@...il.com>, akpm@...ux-foundation.org
Subject: [GIT PULL] SLUB/SLOB updates for 2.6.26
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists