All of lore.kernel.org
 help / color / mirror / Atom feed
* [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99
@ 2022-03-14  8:06 kernel test robot
  2022-03-14  9:19   ` Arnd Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2022-03-14  8:06 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: llvm, kbuild-all, linux-kbuild, Masahiro Yamada, Alex Shi,
	Nick Desaulniers, Miguel Ojeda, Nathan Chancellor

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
head:   6c4457c324cd9855352e3eb1f965105901e47a6d
commit: e8c07082a810fbb9db303a2b66b66b8d7e588b53 [3/5] Kbuild: move to -std=gnu11
config: arm-randconfig-r011-20220313 (https://download.01.org/0day-ci/archive/20220314/202203141621.9GAoyWx1-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 3e4950d7fa78ac83f33bbf1658e2f49a73719236)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/commit/?id=e8c07082a810fbb9db303a2b66b66b8d7e588b53
        git remote add masahiroy-kbuild https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
        git fetch --no-tags masahiroy-kbuild for-next
        git checkout e8c07082a810fbb9db303a2b66b66b8d7e588b53
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                   __flush_dcache_page(page_mapping_file(from), from);
                   ^
   arch/arm/mm/copypage-v4mc.c:70:3: note: did you mean 'flush_dcache_page'?
   arch/arm/include/asm/cacheflush.h:292:13: note: 'flush_dcache_page' declared here
   extern void flush_dcache_page(struct page *);
               ^
>> arch/arm/mm/copypage-v4mc.c:74:2: error: implicit declaration of function 'set_top_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
           set_top_pte(COPYPAGE_MINICACHE, mk_pte(from, minicache_pgprot));
           ^
>> arch/arm/mm/copypage-v4mc.c:74:34: error: implicit declaration of function 'mk_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
           set_top_pte(COPYPAGE_MINICACHE, mk_pte(from, minicache_pgprot));
                                           ^
   arch/arm/mm/copypage-v4mc.c:74:47: error: use of undeclared identifier 'L_PTE_PRESENT'
           set_top_pte(COPYPAGE_MINICACHE, mk_pte(from, minicache_pgprot));
                                                        ^
   arch/arm/mm/copypage-v4mc.c:23:35: note: expanded from macro 'minicache_pgprot'
   #define minicache_pgprot __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | \
                                     ^
   arch/arm/mm/copypage-v4mc.c:74:47: error: use of undeclared identifier 'L_PTE_YOUNG'
   arch/arm/mm/copypage-v4mc.c:23:51: note: expanded from macro 'minicache_pgprot'
   #define minicache_pgprot __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | \
                                                     ^
   arch/arm/mm/copypage-v4mc.c:74:47: error: use of undeclared identifier 'L_PTE_MT_MINICACHE'
   arch/arm/mm/copypage-v4mc.c:24:7: note: expanded from macro 'minicache_pgprot'
                                     L_PTE_MT_MINICACHE)
                                     ^
   arch/arm/mm/copypage-v4mc.c:74:14: error: use of undeclared identifier 'COPYPAGE_MINICACHE'
           set_top_pte(COPYPAGE_MINICACHE, mk_pte(from, minicache_pgprot));
                       ^
   arch/arm/mm/copypage-v4mc.c:76:28: error: use of undeclared identifier 'COPYPAGE_MINICACHE'
           mc_copy_user_page((void *)COPYPAGE_MINICACHE, kto);
                                     ^
   arch/arm/mm/copypage-v4mc.c:64:6: warning: no previous prototype for function 'v4_mc_copy_user_highpage' [-Wmissing-prototypes]
   void v4_mc_copy_user_highpage(struct page *to, struct page *from,
        ^
   arch/arm/mm/copypage-v4mc.c:64:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void v4_mc_copy_user_highpage(struct page *to, struct page *from,
   ^
   static 
   arch/arm/mm/copypage-v4mc.c:86:6: warning: no previous prototype for function 'v4_mc_clear_user_highpage' [-Wmissing-prototypes]
   void v4_mc_clear_user_highpage(struct page *page, unsigned long vaddr)
        ^
   arch/arm/mm/copypage-v4mc.c:86:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void v4_mc_clear_user_highpage(struct page *page, unsigned long vaddr)
   ^
   static 
   arch/arm/mm/copypage-v4mc.c:109:21: error: variable has incomplete type 'struct cpu_user_fns'
   struct cpu_user_fns v4_mc_user_fns __initdata = {
                       ^
   arch/arm/mm/copypage-v4mc.c:109:8: note: forward declaration of 'struct cpu_user_fns'
   struct cpu_user_fns v4_mc_user_fns __initdata = {
          ^
   2 warnings and 9 errors generated.


vim +/__flush_dcache_page +70 arch/arm/mm/copypage-v4mc.c

d2bab05ac1f9a2 Russell King    2005-05-10  63  
7dd8c4f3526b16 Russell King    2009-01-18  64  void v4_mc_copy_user_highpage(struct page *to, struct page *from,
f00a75c094c340 Russell King    2009-10-05  65  	unsigned long vaddr, struct vm_area_struct *vma)
d2bab05ac1f9a2 Russell King    2005-05-10  66  {
5472e862de2bc4 Cong Wang       2011-11-25  67  	void *kto = kmap_atomic(to);
1c9d3df5e88ad7 Richard Purdie  2006-12-30  68  
c01778001a4f5a Catalin Marinas 2010-09-13  69  	if (!test_and_set_bit(PG_dcache_clean, &from->flags))
cb9f753a3731f7 Huang Ying      2018-04-05 @70  		__flush_dcache_page(page_mapping_file(from), from);
1c9d3df5e88ad7 Richard Purdie  2006-12-30  71  
bd31b85960a7fc Thomas Gleixner 2009-07-03  72  	raw_spin_lock(&minicache_lock);
d2bab05ac1f9a2 Russell King    2005-05-10  73  
67ece1443174d8 Russell King    2011-07-02 @74  	set_top_pte(COPYPAGE_MINICACHE, mk_pte(from, minicache_pgprot));
d2bab05ac1f9a2 Russell King    2005-05-10  75  
de27c308223dc9 Russell King    2011-07-02  76  	mc_copy_user_page((void *)COPYPAGE_MINICACHE, kto);
d2bab05ac1f9a2 Russell King    2005-05-10  77  
bd31b85960a7fc Thomas Gleixner 2009-07-03  78  	raw_spin_unlock(&minicache_lock);
063b0a4207e43a Russell King    2008-10-31  79  
5472e862de2bc4 Cong Wang       2011-11-25  80  	kunmap_atomic(kto);
d2bab05ac1f9a2 Russell King    2005-05-10  81  }
d2bab05ac1f9a2 Russell King    2005-05-10  82  

:::::: The code at line 70 was first introduced by commit
:::::: cb9f753a3731f7fe16447bea45cb6f8e8bb432fb mm: fix races between swapoff and flush dcache

:::::: TO: Huang Ying <ying.huang@intel.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99
  2022-03-14  8:06 [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 kernel test robot
@ 2022-03-14  9:19   ` Arnd Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2022-03-14  9:19 UTC (permalink / raw)
  To: kernel test robot
  Cc: Arnd Bergmann, llvm, kbuild-all, Linux Kbuild mailing list,
	Masahiro Yamada, Alex Shi, Nick Desaulniers, Miguel Ojeda,
	Nathan Chancellor

On Mon, Mar 14, 2022 at 9:06 AM kernel test robot <lkp@intel.com> wrote:
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> >> arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>                    __flush_dcache_page(page_mapping_file(from), from);
>                    ^
>    arch/arm/mm/copypage-v4mc.c:70:3: note: did you mean 'flush_dcache_page'?
>    arch/arm/include/asm/cacheflush.h:292:13: note: 'flush_dcache_page' declared here
>    extern void flush_dcache_page(struct page *);
>                ^
> >> arch/arm/mm/copypage-v4mc.c:74:2: error: implicit declaration of function 'set_top_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

I checked this, and found that the configuration was already broken,
what changed is just the
exact error message that gcc produces, so lkp flags it as a regression.

This is a NOMMU StrongARM1100 config, which has been broken for a long time,
and already have a patch to disallow that configuration because we ran
into another
issue with NOMMU classic processors last week.

         Arnd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99
@ 2022-03-14  9:19   ` Arnd Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2022-03-14  9:19 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]

On Mon, Mar 14, 2022 at 9:06 AM kernel test robot <lkp@intel.com> wrote:
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> >> arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>                    __flush_dcache_page(page_mapping_file(from), from);
>                    ^
>    arch/arm/mm/copypage-v4mc.c:70:3: note: did you mean 'flush_dcache_page'?
>    arch/arm/include/asm/cacheflush.h:292:13: note: 'flush_dcache_page' declared here
>    extern void flush_dcache_page(struct page *);
>                ^
> >> arch/arm/mm/copypage-v4mc.c:74:2: error: implicit declaration of function 'set_top_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

I checked this, and found that the configuration was already broken,
what changed is just the
exact error message that gcc produces, so lkp flags it as a regression.

This is a NOMMU StrongARM1100 config, which has been broken for a long time,
and already have a patch to disallow that configuration because we ran
into another
issue with NOMMU classic processors last week.

         Arnd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99
  2022-03-14  9:19   ` Arnd Bergmann
@ 2022-03-22  8:07     ` Masahiro Yamada
  -1 siblings, 0 replies; 5+ messages in thread
From: Masahiro Yamada @ 2022-03-22  8:07 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: kernel test robot, llvm, kbuild-all, Linux Kbuild mailing list,
	Alex Shi, Nick Desaulniers, Miguel Ojeda, Nathan Chancellor

On Mon, Mar 14, 2022 at 6:19 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Mon, Mar 14, 2022 at 9:06 AM kernel test robot <lkp@intel.com> wrote:
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All errors (new ones prefixed by >>):
> >
> > >> arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                    __flush_dcache_page(page_mapping_file(from), from);
> >                    ^
> >    arch/arm/mm/copypage-v4mc.c:70:3: note: did you mean 'flush_dcache_page'?
> >    arch/arm/include/asm/cacheflush.h:292:13: note: 'flush_dcache_page' declared here
> >    extern void flush_dcache_page(struct page *);
> >                ^
> > >> arch/arm/mm/copypage-v4mc.c:74:2: error: implicit declaration of function 'set_top_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>
> I checked this, and found that the configuration was already broken,
> what changed is just the
> exact error message that gcc produces, so lkp flags it as a regression.


Agree.

Clang shows a slightly different error message with -std=gnu89/11.



Old error message     (with -std=gnu89):
  implicit declaration of function '__flush_dcache_page'
[-Werror,-Wimplicit-function-declaration]

New error message   (with -std=gnu11)
  implicit declaration of function '__flush_dcache_page' is invalid in
C99 [-Werror,-Wimplicit-function-declaration]



This was already broken before.









> This is a NOMMU StrongARM1100 config, which has been broken for a long time,
> and already have a patch to disallow that configuration because we ran
> into another
> issue with NOMMU classic processors last week.
>
>          Arnd





-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99
@ 2022-03-22  8:07     ` Masahiro Yamada
  0 siblings, 0 replies; 5+ messages in thread
From: Masahiro Yamada @ 2022-03-22  8:07 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1906 bytes --]

On Mon, Mar 14, 2022 at 6:19 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Mon, Mar 14, 2022 at 9:06 AM kernel test robot <lkp@intel.com> wrote:
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@intel.com>
> >
> > All errors (new ones prefixed by >>):
> >
> > >> arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> >                    __flush_dcache_page(page_mapping_file(from), from);
> >                    ^
> >    arch/arm/mm/copypage-v4mc.c:70:3: note: did you mean 'flush_dcache_page'?
> >    arch/arm/include/asm/cacheflush.h:292:13: note: 'flush_dcache_page' declared here
> >    extern void flush_dcache_page(struct page *);
> >                ^
> > >> arch/arm/mm/copypage-v4mc.c:74:2: error: implicit declaration of function 'set_top_pte' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>
> I checked this, and found that the configuration was already broken,
> what changed is just the
> exact error message that gcc produces, so lkp flags it as a regression.


Agree.

Clang shows a slightly different error message with -std=gnu89/11.



Old error message     (with -std=gnu89):
  implicit declaration of function '__flush_dcache_page'
[-Werror,-Wimplicit-function-declaration]

New error message   (with -std=gnu11)
  implicit declaration of function '__flush_dcache_page' is invalid in
C99 [-Werror,-Wimplicit-function-declaration]



This was already broken before.









> This is a NOMMU StrongARM1100 config, which has been broken for a long time,
> and already have a patch to disallow that configuration because we ran
> into another
> issue with NOMMU classic processors last week.
>
>          Arnd





-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-03-22  8:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-14  8:06 [masahiroy-kbuild:for-next 3/5] arch/arm/mm/copypage-v4mc.c:70:3: error: implicit declaration of function '__flush_dcache_page' is invalid in C99 kernel test robot
2022-03-14  9:19 ` Arnd Bergmann
2022-03-14  9:19   ` Arnd Bergmann
2022-03-22  8:07   ` Masahiro Yamada
2022-03-22  8:07     ` Masahiro Yamada

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.