arch/x86/include/asm/checksum_32.h:149:6: error: inline assembly requires more registers than available

From: kernel test robot
Date: Sun Sep 04 2022 - 08:49:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7726d4c3e60bfe206738894267414a5f10510f1a
commit: 69d0db01e210e07fe915e5da91b54a867cda040f ubsan: remove CONFIG_UBSAN_OBJECT_SIZE
date: 8 months ago
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220904/202209042007.sjb2ZKIv-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/torvalds/linux.git/commit/?id=69d0db01e210e07fe915e5da91b54a867cda040f
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 69d0db01e210e07fe915e5da91b54a867cda040f
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from net/netfilter/nf_synproxy_core.c:7:
In file included from include/linux/skbuff.h:28:
In file included from include/net/checksum.h:22:
In file included from arch/x86/include/asm/checksum.h:6:
>> arch/x86/include/asm/checksum_32.h:149:6: error: inline assembly requires more registers than available
asm("addl 0(%1), %0 ;\n"
^
1 error generated.


vim +149 arch/x86/include/asm/checksum_32.h

^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 143
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 144 #define _HAVE_ARCH_IPV6_CSUM
0883e91ae209f4 include/asm-x86/checksum_32.h Joe Perches 2008-03-23 145 static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
72685fcd286e94 include/asm-i386/checksum.h Al Viro 2006-11-14 146 const struct in6_addr *daddr,
1e94082963747b arch/x86/include/asm/checksum_32.h Alexander Duyck 2016-03-11 147 __u32 len, __u8 proto, __wsum sum)
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 148 {
0883e91ae209f4 include/asm-x86/checksum_32.h Joe Perches 2008-03-23 @149 asm("addl 0(%1), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 150 "adcl 4(%1), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 151 "adcl 8(%1), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 152 "adcl 12(%1), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 153 "adcl 0(%2), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 154 "adcl 4(%2), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 155 "adcl 8(%2), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 156 "adcl 12(%2), %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 157 "adcl %3, %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 158 "adcl %4, %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 159 "adcl $0, %0 ;\n"
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 160 : "=&r" (sum)
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 161 : "r" (saddr), "r" (daddr),
392d814daf460a arch/x86/include/asm/checksum_32.h Samuel Thibault 2009-10-01 162 "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
392d814daf460a arch/x86/include/asm/checksum_32.h Samuel Thibault 2009-10-01 163 : "memory");
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 164
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 165 return csum_fold(sum);
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 166 }
^1da177e4c3f41 include/asm-i386/checksum.h Linus Torvalds 2005-04-16 167

:::::: The code at line 149 was first introduced by commit
:::::: 0883e91ae209f4ada4db9b383026df77351c1320 include/asm-x86/checksum_32.h: checkpatch cleanups - formatting only

:::::: TO: Joe Perches <joe@xxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxx>

--
0-DAY CI Kernel Test Service
https://01.org/lkp