Re: [vbabka-slab:for-6.1/common_kmalloc 12/17] mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node'

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

 



On Wed, Aug 24, 2022 at 02:57:40PM +0200, Vlastimil Babka wrote:
> On 8/24/22 05:49, Hyeonggon Yoo wrote:
> > On Wed, Aug 24, 2022 at 10:46:55AM +0800, kernel test robot wrote:
> > > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git for-6.1/common_kmalloc
> > > head:   b261334803b44092acd06be3c9f32c46af818359
> > > commit: 79c7527b9805edf14c952deca45de60a8a06a414 [12/17] mm/sl[au]b: generalize kmalloc subsystem
> > > config: x86_64-randconfig-a015 (https://download.01.org/0day-ci/archive/20220824/202208241004.jZykmQOH-lkp@xxxxxxxxx/config)
> > > compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
> > > reproduce (this is a W=1 build):
> > >          # https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git/commit/?id=79c7527b9805edf14c952deca45de60a8a06a414
> > >          git remote add vbabka-slab git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git
> > >          git fetch --no-tags vbabka-slab for-6.1/common_kmalloc
> > >          git checkout 79c7527b9805edf14c952deca45de60a8a06a414
> > >          # save the config file
> > >          mkdir build_dir && cp config build_dir/.config
> > >          make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> > > 
> > > If you fix the issue, kindly add following tag where applicable
> > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > > > > mm/slab_common.c:1023:7: warning: no previous prototype for '__kmalloc_large_node' [-Wmissing-prototypes]
> > >      1023 | void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
> > >           |       ^~~~~~~~~~~~~~~~~~~~
> > 
> > Oh, I did not add static here.
> 
> Weird, I didn't get this warning even with W=1. Only the kerneldoc issues.

You can get with CONFIG_SLOB.

> > Please pull:
> > 	https://github.com/hygoni/linux.git slab-common-v4r1
> > 
> > Fixed warning above and also fixed wrong comment (@objp in comment but
> > its name is actually 'object')
> > 
> > git range-diff	for-6.1/common_kmalloc~17...for-6.1/common_kmalloc \
> > 		slab-common-v4r1~17...slab-common-v4r1:
> > 
> > 		 1:  0276f0da97e3 =  1:  0276f0da97e3 mm/slab: move NUMA-related code to __do_cache_alloc()
> >   2:  d5ea00e8d8c9 =  2:  d5ea00e8d8c9 mm/slab: cleanup slab_alloc() and slab_alloc_node()
> >   3:  48c55c42e6b8 =  3:  48c55c42e6b8 mm/slab_common: remove CONFIG_NUMA ifdefs for common kmalloc functions
> >   4:  cd8523b488ec =  4:  cd8523b488ec mm/slab_common: cleanup kmalloc_track_caller()
> >   5:  0b92d497e03a =  5:  0b92d497e03a mm/sl[au]b: factor out __do_kmalloc_node()
> >   6:  d43649c0f472 =  6:  d43649c0f472 mm/slab_common: fold kmalloc_order_trace() into kmalloc_large()
> >   7:  cd6d756d6118 =  7:  cd6d756d6118 mm/slub: move kmalloc_large_node() to slab_common.c
> >   8:  fe8f3819416e !  8:  ec277200c5dd mm/slab_common: kmalloc_node: pass large requests to page allocator
> >      @@ mm/slab_common.c: void *kmalloc_large(size_t size, gfp_t flags)
> >        EXPORT_SYMBOL(kmalloc_large);
> > 
> >       -void *kmalloc_large_node(size_t size, gfp_t flags, int node)
> >      -+void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> >      ++static void *kmalloc_large_node_notrace(size_t size, gfp_t flags, int node)
> 
> Hmm this (and following changes to kmalloc_large_node_notrace) seems to be
> wrong, it's still called from slub.c and declared in slab.h at this point.

Ah, I'm very sorry for wrong fix.

> So I've fixed the warnings up locally and force-pushed updated
> for-6.1/common_kmalloc (head is now ba5801e322), please double-check.

kmalloc_large_node_notrace() need to be moved outside #ifdef CONFIG_SLOB
when the declaration is in slab.h as it's used for SLOB too.
(in patch 8)

-- 
Thanks,
Hyeonggon




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

  Powered by Linux