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>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 23 Apr 2020 20:00:47 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Dirk Mueller <dmueller@...e.com>
Cc:     kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
        linux-kernel@...r.kernel.org, Rob Herring <robh@...nel.org>,
        David Gibson <david@...son.dropbear.id.au>
Subject: lib/mpi/generic_mpih-mul1.c:37:13: error: invalid use of a cast in a
 inline asm context requiring an l-value: remove the cast or build with
 -fheinous-gnu-extensions

Hi Dirk,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c578ddb39e565139897124e74e5a43e56538cb33
commit: e33a814e772cdc36436c8c188d8c42d019fda639 scripts/dtc: Remove redundant YYLOC global declaration
date:   4 weeks ago
config: powerpc-randconfig-a001-20200423 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project bbf386f02b05db017fda66875cc5edef70779244)
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        git checkout e33a814e772cdc36436c8c188d8c42d019fda639
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc 

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

All errors (new ones prefixed by >>):

>> lib/mpi/generic_mpih-mul1.c:37:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                   umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
                   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
           : "=r" ((USItype) ph) \
                   ~~~~~~~~~~^~
   1 error generated.
--
>> lib/mpi/generic_mpih-mul2.c:36:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                   umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
                   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
           : "=r" ((USItype) ph) \
                   ~~~~~~~~~~^~
   1 error generated.
--
>> lib/mpi/generic_mpih-mul3.c:36:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                   umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
                   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
           : "=r" ((USItype) ph) \
                   ~~~~~~~~~~^~
   1 error generated.
--
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:750:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:751:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:757:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:758:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:764:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:765:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:771:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:772:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:778:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                   sub_ddmmss(n1, n0, n1, n0, d1, d0);
                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:779:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~
   lib/mpi/longlong.h:725:21: note: expanded from macro 'add_ssaaaa'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
   lib/mpi/longlong.h:726:20: note: expanded from macro 'add_ssaaaa'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~
   lib/mpi/longlong.h:732:21: note: expanded from macro 'add_ssaaaa'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
   lib/mpi/longlong.h:733:20: note: expanded from macro 'add_ssaaaa'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~^~~~~~~~~~~~~~~
   lib/mpi/longlong.h:739:21: note: expanded from macro 'add_ssaaaa'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                                   add_ssaaaa(n1, n0, r - d0,
                                                   ~~~~~~~~~~~~~~~^~~~~~~~~~~
   lib/mpi/longlong.h:740:20: note: expanded from macro 'add_ssaaaa'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:129:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                           umul_ppmm(n1, n0, d0, q);
                                           ~~~~~~~~~~^~~~~~~~~~~~~~
   lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
           : "=r" ((USItype) ph) \
                   ~~~~~~~~~~^~
   lib/mpi/mpih-div.c:137:17: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                           sub_ddmmss(n1, n0, n1, n0, 0, d0);
                                           ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:750:21: note: expanded from macro 'sub_ddmmss'
                   : "=r" ((USItype)(sh)), \
                           ~~~~~~~~~~^~~
   lib/mpi/mpih-div.c:137:21: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
                                           sub_ddmmss(n1, n0, n1, n0, 0, d0);
                                           ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
   lib/mpi/longlong.h:751:20: note: expanded from macro 'sub_ddmmss'
                   "=&r" ((USItype)(sl)) \
                          ~~~~~~~~~~^~~
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.

vim +37 lib/mpi/generic_mpih-mul1.c

cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  18  
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  19  mpi_limb_t
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  20  mpihelp_mul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  21  	      mpi_limb_t s2_limb)
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  22  {
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  23  	mpi_limb_t cy_limb;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  24  	mpi_size_t j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  25  	mpi_limb_t prod_high, prod_low;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  26  
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  27  	/* The loop counter and index J goes from -S1_SIZE to -1.  This way
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  28  	 * the loop becomes faster.  */
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  29  	j = -s1_size;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  30  
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  31  	/* Offset the base pointers to compensate for the negative indices.  */
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  32  	s1_ptr -= j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  33  	res_ptr -= j;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  34  
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  35  	cy_limb = 0;
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31  36  	do {
cdec9cb5167ab1 Dmitry Kasatkin 2011-08-31 @37  		umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);

:::::: The code at line 37 was first introduced by commit
:::::: cdec9cb5167ab1113ba9c58e395f664d9d3f9acb crypto: GnuPG based MPI lib - source files (part 1)

:::::: TO: Dmitry Kasatkin <dmitry.kasatkin@...el.com>
:::::: CC: Dmitry Kasatkin <dmitry.kasatkin@...el.com>

---
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" (30831 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ