public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort'
@ 2021-07-13 10:38 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-07-13 10:38 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: clang-built-linux, kbuild-all, linux-kernel, Russell King,
	Linus Walleij

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7fef2edf7cc753b51f7ccc74993971b0a9c81eca
commit: 4d576cab16f57e1f87978f6997a725179398341e ARM: 9028/1: disable KASAN in call stack capturing routines
date:   7 months ago
config: arm-randconfig-r016-20210713 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d69635ed9ecf36fd0ca85906bfde17949671cbe)
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/torvalds/linux.git/commit/?id=4d576cab16f57e1f87978f6997a725179398341e
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 4d576cab16f57e1f87978f6997a725179398341e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 

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

All warnings (new ones prefixed by >>):

   arch/arm/kernel/traps.c:82:6: warning: no previous prototype for function 'dump_backtrace_stm' [-Wmissing-prototypes]
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
        ^
   arch/arm/kernel/traps.c:82:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
   ^
   static 
   arch/arm/kernel/traps.c:445:17: warning: no previous prototype for function 'do_undefinstr' [-Wmissing-prototypes]
   asmlinkage void do_undefinstr(struct pt_regs *regs)
                   ^
   arch/arm/kernel/traps.c:445:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void do_undefinstr(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:510:39: warning: no previous prototype for function 'handle_fiq_as_nmi' [-Wmissing-prototypes]
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
                                         ^
   arch/arm/kernel/traps.c:510:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:529:17: warning: no previous prototype for function 'bad_mode' [-Wmissing-prototypes]
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
                   ^
   arch/arm/kernel/traps.c:529:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
              ^
              static 
   arch/arm/kernel/traps.c:602:16: warning: no previous prototype for function 'arm_syscall' [-Wmissing-prototypes]
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
                  ^
   arch/arm/kernel/traps.c:602:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:728:1: warning: no previous prototype for function 'baddataabort' [-Wmissing-prototypes]
   baddataabort(int code, unsigned long instr, struct pt_regs *regs)
   ^
   arch/arm/kernel/traps.c:727:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void
              ^
              static 
   arch/arm/kernel/traps.c:768:17: warning: no previous prototype for function '__div0' [-Wmissing-prototypes]
   asmlinkage void __div0(void)
                   ^
   arch/arm/kernel/traps.c:768:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __div0(void)
              ^
              static 
>> arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort' [-Wmissing-prototypes]
   void abort(void)
        ^
   arch/arm/kernel/traps.c:775:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void abort(void)
   ^
   static 
   arch/arm/kernel/traps.c:783:13: warning: no previous prototype for function 'trap_init' [-Wmissing-prototypes]
   void __init trap_init(void)
               ^
   arch/arm/kernel/traps.c:783:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init trap_init(void)
   ^
   static 
   9 warnings generated.


vim +/abort +775 arch/arm/kernel/traps.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  774  
^1da177e4c3f41 Linus Torvalds 2005-04-16 @775  void abort(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16  776  {
^1da177e4c3f41 Linus Torvalds 2005-04-16  777  	BUG();
^1da177e4c3f41 Linus Torvalds 2005-04-16  778  
^1da177e4c3f41 Linus Torvalds 2005-04-16  779  	/* if that doesn't kill us, halt */
^1da177e4c3f41 Linus Torvalds 2005-04-16  780  	panic("Oops failed to kill thread");
^1da177e4c3f41 Linus Torvalds 2005-04-16  781  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  782  

:::::: The code at line 775 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 38794 bytes --]

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

* arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort'
@ 2021-11-04  8:48 kernel test robot
  0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2021-11-04  8:48 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: llvm, kbuild-all, linux-kernel, Russell King, Linus Walleij

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   7ddb58cb0ecae8e8b6181d736a87667cc9ab8389
commit: 4d576cab16f57e1f87978f6997a725179398341e ARM: 9028/1: disable KASAN in call stack capturing routines
date:   11 months ago
config: arm-randconfig-r003-20211104 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 847a6807332b13f43704327c2d30103ec0347c77)
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/torvalds/linux.git/commit/?id=4d576cab16f57e1f87978f6997a725179398341e
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 4d576cab16f57e1f87978f6997a725179398341e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm 

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

All warnings (new ones prefixed by >>):

   arch/arm/kernel/traps.c:82:6: warning: no previous prototype for function 'dump_backtrace_stm' [-Wmissing-prototypes]
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
        ^
   arch/arm/kernel/traps.c:82:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
   ^
   static 
   arch/arm/kernel/traps.c:445:17: warning: no previous prototype for function 'do_undefinstr' [-Wmissing-prototypes]
   asmlinkage void do_undefinstr(struct pt_regs *regs)
                   ^
   arch/arm/kernel/traps.c:445:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void do_undefinstr(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:510:39: warning: no previous prototype for function 'handle_fiq_as_nmi' [-Wmissing-prototypes]
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
                                         ^
   arch/arm/kernel/traps.c:510:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:529:17: warning: no previous prototype for function 'bad_mode' [-Wmissing-prototypes]
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
                   ^
   arch/arm/kernel/traps.c:529:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
              ^
              static 
   arch/arm/kernel/traps.c:602:16: warning: no previous prototype for function 'arm_syscall' [-Wmissing-prototypes]
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
                  ^
   arch/arm/kernel/traps.c:602:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:728:1: warning: no previous prototype for function 'baddataabort' [-Wmissing-prototypes]
   baddataabort(int code, unsigned long instr, struct pt_regs *regs)
   ^
   arch/arm/kernel/traps.c:727:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void
              ^
              static 
   arch/arm/kernel/traps.c:768:17: warning: no previous prototype for function '__div0' [-Wmissing-prototypes]
   asmlinkage void __div0(void)
                   ^
   arch/arm/kernel/traps.c:768:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __div0(void)
              ^
              static 
>> arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort' [-Wmissing-prototypes]
   void abort(void)
        ^
   arch/arm/kernel/traps.c:775:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void abort(void)
   ^
   static 
   arch/arm/kernel/traps.c:783:13: warning: no previous prototype for function 'trap_init' [-Wmissing-prototypes]
   void __init trap_init(void)
               ^
   arch/arm/kernel/traps.c:783:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init trap_init(void)
   ^
   static 
   9 warnings generated.


vim +/abort +775 arch/arm/kernel/traps.c

^1da177e4c3f415 Linus Torvalds 2005-04-16  774  
^1da177e4c3f415 Linus Torvalds 2005-04-16 @775  void abort(void)
^1da177e4c3f415 Linus Torvalds 2005-04-16  776  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  777  	BUG();
^1da177e4c3f415 Linus Torvalds 2005-04-16  778  
^1da177e4c3f415 Linus Torvalds 2005-04-16  779  	/* if that doesn't kill us, halt */
^1da177e4c3f415 Linus Torvalds 2005-04-16  780  	panic("Oops failed to kill thread");
^1da177e4c3f415 Linus Torvalds 2005-04-16  781  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  782  

:::::: The code at line 775 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 35095 bytes --]

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

* arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort'
@ 2021-12-09 15:22 kernel test robot
  2021-12-09 15:34 ` Russell King (Oracle)
  0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2021-12-09 15:22 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: llvm, kbuild-all, linux-kernel, Russell King, Linus Walleij

Hi Ard,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2a987e65025e2b79c6d453b78cb5985ac6e5eb26
commit: 4d576cab16f57e1f87978f6997a725179398341e ARM: 9028/1: disable KASAN in call stack capturing routines
date:   1 year ago
config: arm-randconfig-c002-20211209 (https://download.01.org/0day-ci/archive/20211209/202112092330.MRS9Xygy-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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/torvalds/linux.git/commit/?id=4d576cab16f57e1f87978f6997a725179398341e
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 4d576cab16f57e1f87978f6997a725179398341e
        # 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 arch/arm/kernel/ drivers/media/platform/

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

All warnings (new ones prefixed by >>):

   arch/arm/kernel/traps.c:82:6: warning: no previous prototype for function 'dump_backtrace_stm' [-Wmissing-prototypes]
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
        ^
   arch/arm/kernel/traps.c:82:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void dump_backtrace_stm(u32 *stack, u32 instruction, const char *loglvl)
   ^
   static 
   arch/arm/kernel/traps.c:445:17: warning: no previous prototype for function 'do_undefinstr' [-Wmissing-prototypes]
   asmlinkage void do_undefinstr(struct pt_regs *regs)
                   ^
   arch/arm/kernel/traps.c:445:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void do_undefinstr(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:510:39: warning: no previous prototype for function 'handle_fiq_as_nmi' [-Wmissing-prototypes]
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
                                         ^
   arch/arm/kernel/traps.c:510:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __exception_irq_entry handle_fiq_as_nmi(struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:529:17: warning: no previous prototype for function 'bad_mode' [-Wmissing-prototypes]
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
                   ^
   arch/arm/kernel/traps.c:529:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void bad_mode(struct pt_regs *regs, int reason)
              ^
              static 
   arch/arm/kernel/traps.c:602:16: warning: no previous prototype for function 'arm_syscall' [-Wmissing-prototypes]
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
                  ^
   arch/arm/kernel/traps.c:602:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage int arm_syscall(int no, struct pt_regs *regs)
              ^
              static 
   arch/arm/kernel/traps.c:728:1: warning: no previous prototype for function 'baddataabort' [-Wmissing-prototypes]
   baddataabort(int code, unsigned long instr, struct pt_regs *regs)
   ^
   arch/arm/kernel/traps.c:727:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void
              ^
              static 
   arch/arm/kernel/traps.c:768:17: warning: no previous prototype for function '__div0' [-Wmissing-prototypes]
   asmlinkage void __div0(void)
                   ^
   arch/arm/kernel/traps.c:768:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
   asmlinkage void __div0(void)
              ^
              static 
>> arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort' [-Wmissing-prototypes]
   void abort(void)
        ^
   arch/arm/kernel/traps.c:775:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void abort(void)
   ^
   static 
   arch/arm/kernel/traps.c:783:13: warning: no previous prototype for function 'trap_init' [-Wmissing-prototypes]
   void __init trap_init(void)
               ^
   arch/arm/kernel/traps.c:783:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init trap_init(void)
   ^
   static 
   9 warnings generated.


vim +/abort +775 arch/arm/kernel/traps.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  767  
^1da177e4c3f41 Linus Torvalds 2005-04-16 @768  asmlinkage void __div0(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16  769  {
4ed89f22280614 Russell King   2014-10-28  770  	pr_err("Division by zero in kernel.\n");
^1da177e4c3f41 Linus Torvalds 2005-04-16  771  	dump_stack();
^1da177e4c3f41 Linus Torvalds 2005-04-16  772  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  773  EXPORT_SYMBOL(__div0);
^1da177e4c3f41 Linus Torvalds 2005-04-16  774  
^1da177e4c3f41 Linus Torvalds 2005-04-16 @775  void abort(void)
^1da177e4c3f41 Linus Torvalds 2005-04-16  776  {
^1da177e4c3f41 Linus Torvalds 2005-04-16  777  	BUG();
^1da177e4c3f41 Linus Torvalds 2005-04-16  778  
^1da177e4c3f41 Linus Torvalds 2005-04-16  779  	/* if that doesn't kill us, halt */
^1da177e4c3f41 Linus Torvalds 2005-04-16  780  	panic("Oops failed to kill thread");
^1da177e4c3f41 Linus Torvalds 2005-04-16  781  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  782  

:::::: The code at line 775 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

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

* Re: arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort'
  2021-12-09 15:22 kernel test robot
@ 2021-12-09 15:34 ` Russell King (Oracle)
  0 siblings, 0 replies; 4+ messages in thread
From: Russell King (Oracle) @ 2021-12-09 15:34 UTC (permalink / raw)
  To: kernel test robot
  Cc: Ard Biesheuvel, llvm, kbuild-all, linux-kernel, Linus Walleij

On Thu, Dec 09, 2021 at 11:22:48PM +0800, kernel test robot wrote:
> Hi Ard,
> 
> FYI, the error/warning still remains.

This is nothing new. You claim that the abort() warning newly shows up
as a result of a recent change, but I can most definitely assure you
that abort() has never had a prototype, and it's there because the
compiler can generate code that issues a branch to this function.

This can be seen in the blame output, which references the first commit
in the kernel tree for these lines.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

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

end of thread, other threads:[~2021-12-09 15:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-13 10:38 arch/arm/kernel/traps.c:775:6: warning: no previous prototype for function 'abort' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-11-04  8:48 kernel test robot
2021-12-09 15:22 kernel test robot
2021-12-09 15:34 ` Russell King (Oracle)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox