Re: [PATCH V3 1/2] slub: fix kmem cgroup bug in kmem_cache_alloc_bulk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 09, 2015 at 04:04:51PM -0600, Christoph Lameter wrote:
> On Mon, 9 Nov 2015, Vladimir Davydov wrote:
> 
> > I think it must be &object
> >
> > BTW why is object defined as void **? I suspect we can safely drop one
> > star.
> 
> See get_freepointer()
> 
> static inline void *get_freepointer(struct kmem_cache *s, void *object)
> {
>         return *(void **)(object + s->offset);
> }

In this function object has type (void *)

> 
> The object at some point has a freepointer and ** allows the use of the
> s->offset field to get to it.

But it doesn't mean we have to define it as (void **) in
slab_alloc_node. Actually, the fact that object is of type (void **) is
never used in slab_alloc_node, and all functions called by it accept
(void *) for object, not (void **). Dropping one star there doesn't
break anything and looks less confusing IMO.

Thanks,
Vladimir

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]