Messages in this thread | | | Date | Fri, 22 May 2009 19:47:33 +0930 | From | Ron <> | Subject | Re: [PATCH] slab: add missing guard for kernel_map_pages() use |
| |
On Fri, May 22, 2009 at 06:20:40PM +0930, Ron wrote: > > All other uses of kernel_map_pages() are explicitly excluded without > CONFIG_DEBUG_PAGEALLOC, this one should be too. > > Signed-off-by: Ron Lee <ron@debian.org> > > > diff --git a/mm/slab.c b/mm/slab.c > index 9a90b00..b5e5b27 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -2674,10 +2683,12 @@ static void cache_init_objs(struct kmem_cache *cachep, > slab_error(cachep, "constructor overwrote the" > " start of an object"); > } > +#ifdef CONFIG_DEBUG_PAGEALLOC > if ((cachep->buffer_size % PAGE_SIZE) == 0 && > OFF_SLAB(cachep) && cachep->flags & SLAB_POISON) > kernel_map_pages(virt_to_page(objp), > cachep->buffer_size / PAGE_SIZE, 0); > +#endif > #else > if (cachep->ctor) > cachep->ctor(objp);
Actually, no. I'm wrong on this one. The compiler will already take that one away because kernel_map_pages() is an empty function in that case.
It's subtle, but this extra guard actually adds nothing (unless you consider more #ifdefs to be 'clarifying');
Sorry for the extra noise, Ron
| |