From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
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: 4439 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 --]
WARNING: multiple messages have this Message-ID (diff)
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:45 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-17 18:45 kernel test robot [this message]
2021-11-17 18:45 ` [tip:x86/core 1/1] arch/x86/um/../lib/csum-partial_64.c:98:12: error: implicit declaration of function 'load_unaligned_zeropad' kernel test robot
2021-11-17 18:55 ` Eric Dumazet
2021-11-17 18:55 ` Eric Dumazet
2021-11-17 19:40 ` Eric Dumazet
2021-11-17 19:40 ` Eric Dumazet
2021-11-18 16:00 ` Peter Zijlstra
2021-11-18 16:00 ` Peter Zijlstra
2021-11-18 16:00 ` Peter Zijlstra
2021-11-18 16:26 ` Johannes Berg
2021-11-18 16:26 ` Johannes Berg
2021-11-18 16:26 ` Johannes Berg
2021-11-18 16:57 ` Eric Dumazet
2021-11-18 16:57 ` Eric Dumazet
2021-11-18 16:57 ` Eric Dumazet
2021-11-18 17:02 ` Eric Dumazet
2021-11-18 17:02 ` Eric Dumazet
2021-11-18 17:02 ` Eric Dumazet
2021-11-25 1:58 ` Noah Goldstein
2021-11-25 1:58 ` Noah Goldstein
2021-11-25 1:58 ` Noah Goldstein
2021-11-25 2:56 ` Eric Dumazet
2021-11-25 2:56 ` Eric Dumazet
2021-11-25 2:56 ` Eric Dumazet
2021-11-25 3:41 ` Noah Goldstein
2021-11-25 3:41 ` Noah Goldstein
2021-11-25 3:41 ` Noah Goldstein
2021-11-25 4:00 ` Eric Dumazet
2021-11-25 4:00 ` Eric Dumazet
2021-11-25 4:00 ` Eric Dumazet
2021-11-25 4:08 ` Eric Dumazet
2021-11-25 4:08 ` Eric Dumazet
2021-11-25 4:08 ` Eric Dumazet
2021-11-25 4:20 ` Eric Dumazet
2021-11-25 4:20 ` Eric Dumazet
2021-11-25 4:20 ` Eric Dumazet
2021-11-25 4:56 ` Noah Goldstein
2021-11-25 4:56 ` Noah Goldstein
2021-11-25 4:56 ` Noah Goldstein
2021-11-25 5:09 ` Noah Goldstein
2021-11-25 5:09 ` Noah Goldstein
2021-11-25 5:09 ` Noah Goldstein
2021-11-25 6:32 ` Eric Dumazet
2021-11-25 6:32 ` Eric Dumazet
2021-11-25 6:32 ` Eric Dumazet
2021-11-25 6:45 ` Eric Dumazet
2021-11-25 6:45 ` Eric Dumazet
2021-11-25 6:45 ` Eric Dumazet
2021-11-25 6:49 ` Noah Goldstein
2021-11-25 6:49 ` Noah Goldstein
2021-11-25 6:49 ` Noah Goldstein
2021-11-25 6:47 ` Noah Goldstein
2021-11-25 6:47 ` Noah Goldstein
2021-11-25 6:47 ` Noah Goldstein
2021-11-26 17:18 ` David Laight
2021-11-26 17:18 ` David Laight
2021-11-26 17:18 ` David Laight
2021-11-26 18:09 ` Eric Dumazet
2021-11-26 18:09 ` Eric Dumazet
2021-11-26 18:09 ` Eric Dumazet
2021-11-26 22:41 ` David Laight
2021-11-26 22:41 ` David Laight
2021-11-26 22:41 ` David Laight
2021-11-26 23:04 ` Noah Goldstein
2021-11-26 23:04 ` Noah Goldstein
2021-11-26 23:04 ` Noah Goldstein
2021-11-28 18:30 ` David Laight
2021-11-28 18:30 ` David Laight
2021-11-28 18:30 ` David Laight
2021-12-29 6:00 ` Al Viro
2021-12-29 6:00 ` Al Viro
2021-12-29 6:00 ` Al Viro
2022-01-31 2:29 ` Al Viro
2022-01-31 2:29 ` 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=kbuild-all@lists.01.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.