lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[zx2c4-wireguard:stable 1/1] arch/x86/crypto/curve25519-x86_64.c:1135:15: error: passing 'const u64 *' (aka 'const unsigned long long *') to parameter of type 'u64 *' (aka 'unsigned long long *') discards qualifiers
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/zx2c4/wireguard-linux.git stable
head: 4bd76aceb9f2887c6ddfeb1594a0ac0fe863dc7c
commit: 4bd76aceb9f2887c6ddfeb1594a0ac0fe863dc7c [1/1] crypto: x86/curve25519 - use in/out register constraints more precisely
config: x86_64-buildonly-randconfig-r004-20211213 (https://download.01.org/0day-ci/archive/20211213/202112132233.pOx31Nie-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b6a2ddb6c8ac29412b1361810972e15221fa021c)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/zx2c4/wireguard-linux.git/commit/?id=4bd76aceb9f2887c6ddfeb1594a0ac0fe863dc7c
git remote add zx2c4-wireguard https://git.kernel.org/pub/scm/linux/kernel/git/zx2c4/wireguard-linux.git
git fetch --no-tags zx2c4-wireguard stable
git checkout 4bd76aceb9f2887c6ddfeb1594a0ac0fe863dc7c
# 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=x86_64 SHELL=/bin/bash arch/x86/ drivers/gpu/

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/x86/crypto/curve25519-x86_64.c:1135:15: error: passing 'const u64 *' (aka 'const unsigned long long *') to parameter of type 'u64 *' (aka 'unsigned long long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
fmul(b, t00, i, tmp);
^
arch/x86/crypto/curve25519-x86_64.c:159:49: note: passing argument to parameter 'f2' here
static inline void fmul(u64 *out, u64 *f1, u64 *f2, u64 *tmp)
^
arch/x86/crypto/curve25519-x86_64.c:1218:17: error: passing 'const u64 *' (aka 'const unsigned long long *') to parameter of type 'u64 *' (aka 'unsigned long long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
fmul(tmp, tmp, x, tmp_w);
^
arch/x86/crypto/curve25519-x86_64.c:159:49: note: passing argument to parameter 'f2' here
static inline void fmul(u64 *out, u64 *f1, u64 *f2, u64 *tmp)
^
arch/x86/crypto/curve25519-x86_64.c:1574:12: error: passing 'const u64 *' (aka 'const unsigned long long *') to parameter of type 'u64 *' (aka 'unsigned long long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
fmul(c, &table_ladder[4 * k], b, ef);
^~~~~~~~~~~~~~~~~~~~
arch/x86/crypto/curve25519-x86_64.c:159:40: note: passing argument to parameter 'f1' here
static inline void fmul(u64 *out, u64 *f1, u64 *f2, u64 *tmp)
^
3 errors generated.


vim +1135 arch/x86/crypto/curve25519-x86_64.c

bb611bdfd6be34 Jason A. Donenfeld 2019-11-08 1122
07b586fe06625b Jason A. Donenfeld 2020-01-20 1123 static void finv(u64 *o, const u64 *i, u64 *tmp)
bb611bdfd6be34 Jason A. Donenfeld 2019-11-08 1124 {
07b586fe06625b Jason A. Donenfeld 2020-01-20 1125 u64 t1[16U] = { 0U };
07b586fe06625b Jason A. Donenfeld 2020-01-20 1126 u64 *a0 = t1;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1127 u64 *b = t1 + (u32)4U;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1128 u64 *c = t1 + (u32)8U;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1129 u64 *t00 = t1 + (u32)12U;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1130 u64 *tmp1 = tmp;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1131 u64 *a;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1132 u64 *t0;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1133 fsquare_times(a0, i, tmp1, (u32)1U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1134 fsquare_times(t00, a0, tmp1, (u32)2U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 @1135 fmul(b, t00, i, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1136 fmul(a0, b, a0, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1137 fsquare_times(t00, a0, tmp1, (u32)1U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1138 fmul(b, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1139 fsquare_times(t00, b, tmp1, (u32)5U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1140 fmul(b, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1141 fsquare_times(t00, b, tmp1, (u32)10U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1142 fmul(c, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1143 fsquare_times(t00, c, tmp1, (u32)20U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1144 fmul(t00, t00, c, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1145 fsquare_times(t00, t00, tmp1, (u32)10U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1146 fmul(b, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1147 fsquare_times(t00, b, tmp1, (u32)50U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1148 fmul(c, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1149 fsquare_times(t00, c, tmp1, (u32)100U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1150 fmul(t00, t00, c, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1151 fsquare_times(t00, t00, tmp1, (u32)50U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1152 fmul(t00, t00, b, tmp);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1153 fsquare_times(t00, t00, tmp1, (u32)5U);
07b586fe06625b Jason A. Donenfeld 2020-01-20 1154 a = t1;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1155 t0 = t1 + (u32)12U;
07b586fe06625b Jason A. Donenfeld 2020-01-20 1156 fmul(o, t0, a, tmp);
bb611bdfd6be34 Jason A. Donenfeld 2019-11-08 1157 }
bb611bdfd6be34 Jason A. Donenfeld 2019-11-08 1158

:::::: The code at line 1135 was first introduced by commit
:::::: 07b586fe06625b0b610dc3d3a969c51913d143d4 crypto: x86/curve25519 - replace with formally verified implementation

:::::: TO: Jason A. Donenfeld <Jason@zx2c4.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>

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

\
 
 \ /
  Last update: 2021-12-13 17:14    [W:0.047 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site