lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Fri, 12 Nov 2021 02:19:25 +0800
From:   kernel test robot <lkp@...el.com>
To:     Mark Rutland <mark.rutland@....com>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org
Subject: lib/atomic64.c:124:1: warning: no previous prototype for function
 'generic_atomic64_and_return'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   debe436e77c72fcee804fb867f275e6d31aa999c
commit: 1bdadf46eff6804ace5fa46b6856da4799f12b5c locking/atomic: atomic64: support ARCH_ATOMIC
date:   6 months ago
config: arm-randconfig-c002-20211109 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f3798ad5fa845771846599f3c088016e3aef800c)
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=1bdadf46eff6804ace5fa46b6856da4799f12b5c
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 1bdadf46eff6804ace5fa46b6856da4799f12b5c
        # 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@...el.com>

All warnings (new ones prefixed by >>):

>> lib/atomic64.c:124:1: warning: no previous prototype for function 'generic_atomic64_and_return' [-Wmissing-prototypes]
   ATOMIC64_OPS(and, &=)
   ^
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:82:5: note: expanded from macro 'ATOMIC64_OP_RETURN'
   s64 generic_atomic64_##op##_return(s64 a, atomic64_t *v)                \
       ^
   <scratch space>:147:1: note: expanded from here
   generic_atomic64_and_return
   ^
   lib/atomic64.c:124:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:81:42: note: expanded from macro 'ATOMIC64_OP_RETURN'
   #define ATOMIC64_OP_RETURN(op, c_op)                                    \
                                                                           ^
>> lib/atomic64.c:125:1: warning: no previous prototype for function 'generic_atomic64_or_return' [-Wmissing-prototypes]
   ATOMIC64_OPS(or, |=)
   ^
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:82:5: note: expanded from macro 'ATOMIC64_OP_RETURN'
   s64 generic_atomic64_##op##_return(s64 a, atomic64_t *v)                \
       ^
   <scratch space>:161:1: note: expanded from here
   generic_atomic64_or_return
   ^
   lib/atomic64.c:125:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:81:42: note: expanded from macro 'ATOMIC64_OP_RETURN'
   #define ATOMIC64_OP_RETURN(op, c_op)                                    \
                                                                           ^
>> lib/atomic64.c:126:1: warning: no previous prototype for function 'generic_atomic64_xor_return' [-Wmissing-prototypes]
   ATOMIC64_OPS(xor, ^=)
   ^
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:82:5: note: expanded from macro 'ATOMIC64_OP_RETURN'
   s64 generic_atomic64_##op##_return(s64 a, atomic64_t *v)                \
       ^
   <scratch space>:175:1: note: expanded from here
   generic_atomic64_xor_return
   ^
   lib/atomic64.c:126:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   lib/atomic64.c:121:2: note: expanded from macro 'ATOMIC64_OPS'
           ATOMIC64_OP_RETURN(op, c_op)                                    \
           ^
   lib/atomic64.c:81:42: note: expanded from macro 'ATOMIC64_OP_RETURN'
   #define ATOMIC64_OP_RETURN(op, c_op)                                    \
                                                                           ^
   3 warnings generated.


vim +/generic_atomic64_and_return +124 lib/atomic64.c

560cb12a4080a4 Peter Zijlstra 2014-04-23  117  
560cb12a4080a4 Peter Zijlstra 2014-04-23  118  #undef ATOMIC64_OPS
28aa2bda2211f4 Peter Zijlstra 2016-04-18  119  #define ATOMIC64_OPS(op, c_op)						\
28aa2bda2211f4 Peter Zijlstra 2016-04-18  120  	ATOMIC64_OP(op, c_op)						\
28aa2bda2211f4 Peter Zijlstra 2016-04-18  121  	ATOMIC64_OP_RETURN(op, c_op)					\
28aa2bda2211f4 Peter Zijlstra 2016-04-18  122  	ATOMIC64_FETCH_OP(op, c_op)
28aa2bda2211f4 Peter Zijlstra 2016-04-18  123  
28aa2bda2211f4 Peter Zijlstra 2016-04-18 @124  ATOMIC64_OPS(and, &=)
28aa2bda2211f4 Peter Zijlstra 2016-04-18 @125  ATOMIC64_OPS(or, |=)
28aa2bda2211f4 Peter Zijlstra 2016-04-18 @126  ATOMIC64_OPS(xor, ^=)
28aa2bda2211f4 Peter Zijlstra 2016-04-18  127  

:::::: The code at line 124 was first introduced by commit
:::::: 28aa2bda2211f4327d83b44a4f917b4a061b1c56 locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()

:::::: TO: Peter Zijlstra <peterz@...radead.org>
:::::: CC: Ingo Molnar <mingo@...nel.org>

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

Download attachment ".config.gz" of type "application/gzip" (32319 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ