From: kernel test robot <lkp@intel.com>
To: Eric Dumazet <edumazet@google.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
x86@kernel.org, Peter Zijlstra <peterz@infradead.org>,
Alexander Duyck <alexanderduyck@fb.com>
Subject: [tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad'
Date: Thu, 18 Nov 2021 02:45:29 +0800 [thread overview]
Message-ID: <202111180219.YkyoBMpf-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4317 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
head: d31c3c683ee668ba5d87c0730610442fd672525f
commit: d31c3c683ee668ba5d87c0730610442fd672525f [1/1] x86/csum: Rewrite/optimize csum_partial()
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=d31c3c683ee668ba5d87c0730610442fd672525f
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip x86/core
git checkout d31c3c683ee668ba5d87c0730610442fd672525f
# save the attached .config to linux build tree
make W=1 ARCH=um SUBARCH=x86_64
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/um/../lib/csum-partial_64.c: In function 'csum_partial':
>> arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad' [-Werror=implicit-function-declaration]
98 | trail = (load_unaligned_zeropad(buff) << shift) >> shift;
| ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/load_unaligned_zeropad +98 arch/x86/um/../lib/csum-partial_64.c
23
24 /*
25 * Do a checksum on an arbitrary memory area.
26 * Returns a 32bit checksum.
27 *
28 * This isn't as time critical as it used to be because many NICs
29 * do hardware checksumming these days.
30 *
31 * Still, with CHECKSUM_COMPLETE this is called to compute
32 * checksums on IPv6 headers (40 bytes) and other small parts.
33 * it's best to have buff aligned on a 64-bit boundary
34 */
35 __wsum csum_partial(const void *buff, int len, __wsum sum)
36 {
37 u64 temp64 = (__force u64)sum;
38 unsigned odd, result;
39
40 odd = 1 & (unsigned long) buff;
41 if (unlikely(odd)) {
42 if (unlikely(len == 0))
43 return sum;
44 temp64 += (*(unsigned char *)buff << 8);
45 len--;
46 buff++;
47 }
48
49 while (unlikely(len >= 64)) {
50 asm("addq 0*8(%[src]),%[res]\n\t"
51 "adcq 1*8(%[src]),%[res]\n\t"
52 "adcq 2*8(%[src]),%[res]\n\t"
53 "adcq 3*8(%[src]),%[res]\n\t"
54 "adcq 4*8(%[src]),%[res]\n\t"
55 "adcq 5*8(%[src]),%[res]\n\t"
56 "adcq 6*8(%[src]),%[res]\n\t"
57 "adcq 7*8(%[src]),%[res]\n\t"
58 "adcq $0,%[res]"
59 : [res] "+r" (temp64)
60 : [src] "r" (buff)
61 : "memory");
62 buff += 64;
63 len -= 64;
64 }
65
66 if (len & 32) {
67 asm("addq 0*8(%[src]),%[res]\n\t"
68 "adcq 1*8(%[src]),%[res]\n\t"
69 "adcq 2*8(%[src]),%[res]\n\t"
70 "adcq 3*8(%[src]),%[res]\n\t"
71 "adcq $0,%[res]"
72 : [res] "+r" (temp64)
73 : [src] "r" (buff)
74 : "memory");
75 buff += 32;
76 }
77 if (len & 16) {
78 asm("addq 0*8(%[src]),%[res]\n\t"
79 "adcq 1*8(%[src]),%[res]\n\t"
80 "adcq $0,%[res]"
81 : [res] "+r" (temp64)
82 : [src] "r" (buff)
83 : "memory");
84 buff += 16;
85 }
86 if (len & 8) {
87 asm("addq 0*8(%[src]),%[res]\n\t"
88 "adcq $0,%[res]"
89 : [res] "+r" (temp64)
90 : [src] "r" (buff)
91 : "memory");
92 buff += 8;
93 }
94 if (len & 7) {
95 unsigned int shift = (8 - (len & 7)) * 8;
96 unsigned long trail;
97
> 98 trail = (load_unaligned_zeropad(buff) << shift) >> shift;
99
100 asm("addq %[trail],%[res]\n\t"
101 "adcq $0,%[res]"
102 : [res] "+r" (temp64)
103 : [trail] "r" (trail));
104 }
105 result = add32_with_carry(temp64 >> 32, temp64 & 0xffffffff);
106 if (unlikely(odd)) {
107 result = from32to16(result);
108 result = ((result >> 8) & 0xff) | ((result & 0xff) << 8);
109 }
110 return (__force __wsum)result;
111 }
112 EXPORT_SYMBOL(csum_partial);
113
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 9772 bytes --]
next reply other threads:[~2021-11-17 18:46 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-17 18:45 kernel test robot [this message]
2021-11-17 18:55 ` [tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad' Eric Dumazet
2021-11-17 19:40 ` Eric Dumazet
2021-11-18 16:00 ` Peter Zijlstra
2021-11-18 16:26 ` Johannes Berg
2021-11-18 16:57 ` Eric Dumazet
2021-11-18 17:02 ` Eric Dumazet
2021-11-25 1:58 ` Noah Goldstein
2021-11-25 2:56 ` Eric Dumazet
2021-11-25 3:41 ` Noah Goldstein
2021-11-25 4:00 ` Eric Dumazet
2021-11-25 4:08 ` Eric Dumazet
2021-11-25 4:20 ` Eric Dumazet
2021-11-25 4:56 ` Noah Goldstein
2021-11-25 5:09 ` Noah Goldstein
2021-11-25 6:32 ` Eric Dumazet
2021-11-25 6:45 ` Eric Dumazet
2021-11-25 6:49 ` Noah Goldstein
2021-11-25 6:47 ` Noah Goldstein
2021-11-26 17:18 ` David Laight
2021-11-26 18:09 ` Eric Dumazet
2021-11-26 22:41 ` David Laight
2021-11-26 23:04 ` Noah Goldstein
2021-11-28 18:30 ` David Laight
2021-12-29 6:00 ` Al Viro
2022-01-31 2:29 ` Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202111180219.YkyoBMpf-lkp@intel.com \
--to=lkp@intel.com \
--cc=alexanderduyck@fb.com \
--cc=edumazet@google.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).