Hi: On 2021/1/26 17:57, Nikolay Borisov wrote: > This argument hasn't been used since e153362a50a3 ("slub: Remove objsize > check in kmem_cache_flags()") so simply remove it. > > Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx> Reviewed-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > mm/slab.c | 3 +-- > mm/slab.h | 6 ++---- > mm/slab_common.c | 2 +- > mm/slub.c | 9 +++------ > 4 files changed, 7 insertions(+), 13 deletions(-) > > diff --git a/mm/slab.c b/mm/slab.c > index d7c8da9319c7..e2d2044389ea 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -1790,8 +1790,7 @@ static int __ref setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp) > } > > slab_flags_t kmem_cache_flags(unsigned int object_size, > - slab_flags_t flags, const char *name, > - void (*ctor)(void *)) > + slab_flags_t flags, const char *name) > { > return flags; > } > diff --git a/mm/slab.h b/mm/slab.h > index 1a756a359fa8..9e83616bb5b4 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -110,8 +110,7 @@ __kmem_cache_alias(const char *name, unsigned int size, unsigned int align, > slab_flags_t flags, void (*ctor)(void *)); > > slab_flags_t kmem_cache_flags(unsigned int object_size, > - slab_flags_t flags, const char *name, > - void (*ctor)(void *)); > + slab_flags_t flags, const char *name); > #else > static inline struct kmem_cache * > __kmem_cache_alias(const char *name, unsigned int size, unsigned int align, > @@ -119,8 +118,7 @@ __kmem_cache_alias(const char *name, unsigned int size, unsigned int align, > { return NULL; } > > static inline slab_flags_t kmem_cache_flags(unsigned int object_size, > - slab_flags_t flags, const char *name, > - void (*ctor)(void *)) > + slab_flags_t flags, const char *name) > { > return flags; > } > diff --git a/mm/slab_common.c b/mm/slab_common.c > index e981c80d216c..fef51f9401e4 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -197,7 +197,7 @@ struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, > size = ALIGN(size, sizeof(void *)); > align = calculate_alignment(flags, align, size); > size = ALIGN(size, align); > - flags = kmem_cache_flags(size, flags, name, NULL); > + flags = kmem_cache_flags(size, flags, name); > > if (flags & SLAB_NEVER_MERGE) > return NULL; > diff --git a/mm/slub.c b/mm/slub.c > index 69742ab9a21d..9821470090f0 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -1400,7 +1400,6 @@ __setup("slub_debug", setup_slub_debug); > * @object_size: the size of an object without meta data > * @flags: flags to set > * @name: name of the cache > - * @ctor: constructor function > * > * Debug option(s) are applied to @flags. In addition to the debug > * option(s), if a slab name (or multiple) is specified i.e. > @@ -1408,8 +1407,7 @@ __setup("slub_debug", setup_slub_debug); > * then only the select slabs will receive the debug option(s). > */ > slab_flags_t kmem_cache_flags(unsigned int object_size, > - slab_flags_t flags, const char *name, > - void (*ctor)(void *)) > + slab_flags_t flags, const char *name) > { > char *iter; > size_t len; > @@ -1474,8 +1472,7 @@ static inline void add_full(struct kmem_cache *s, struct kmem_cache_node *n, > static inline void remove_full(struct kmem_cache *s, struct kmem_cache_node *n, > struct page *page) {} > slab_flags_t kmem_cache_flags(unsigned int object_size, > - slab_flags_t flags, const char *name, > - void (*ctor)(void *)) > + slab_flags_t flags, const char *name) > { > return flags; > } > @@ -3783,7 +3780,7 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order) > > static int kmem_cache_open(struct kmem_cache *s, slab_flags_t flags) > { > - s->flags = kmem_cache_flags(s->size, flags, s->name, s->ctor); > + s->flags = kmem_cache_flags(s->size, flags, s->name); > #ifdef CONFIG_SLAB_FREELIST_HARDENED > s->random = get_random_long(); > #endif >