Messages in this thread | | | Date | Tue, 14 Dec 2021 00:12:30 +0800 | From | kernel test robot <> | 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
| |