Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: ksize() abuse checks slob: Fix to return wrong pointer
This commit is contained in:
commit
1434b65731
2 changed files with 6 additions and 4 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue