Messages in this thread | | | Date | Sun, 2 Dec 2007 20:23:35 +0200 | From | "Pekka Enberg" <> | Subject | Re: [BUG 2.6.24-rc3-git6] SLUB's ksize() fails for size > 2048. |
| |
Hi Vegard,
On 12/2/07, Vegard Nossum <vegard.nossum@gmail.com> wrote: > diff --git a/mm/slub.c b/mm/slub.c > index 9acb413..b9f37cb 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -2558,8 +2558,12 @@ size_t ksize(const void *object) > if (unlikely(object == ZERO_SIZE_PTR)) > return 0; > > - page = get_object_page(object); > + page = virt_to_head_page(object); > BUG_ON(!page); > + > + if (unlikely(!PageSlab(page))) > + return PAGE_SIZE << compound_order(page); > + > s = page->slab; > BUG_ON(!s);
Looks good to me.
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
| |