* [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags'
@ 2019-11-23 11:44 kbuild test robot
2019-11-23 17:37 ` Andrii Nakryiko
0 siblings, 1 reply; 5+ messages in thread
From: kbuild test robot @ 2019-11-23 11:44 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2851 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: b9d3d01405061bb42358fe53f824e894a1922ced
commit: fc9702273e2edb90400a34b3be76f7b08fa3344b [11808/13503] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY
config: arm-randconfig-a001-20191123 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout fc9702273e2edb90400a34b3be76f7b08fa3344b
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .ARM.unwind_idx VMA [00000000007d7000,000000000080b8ef]
arm-linux-gnueabi-ld: section .ARM.unwind_tab VMA [000000000080b8f0,000000000080febb] overlaps section .data VMA [0000000000808000,00000000008829bf]
kernel/bpf/syscall.o: In function `__bpf_map_area_alloc':
>> kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags'
vim +154 kernel/bpf/syscall.c
129
130 static void *__bpf_map_area_alloc(size_t size, int numa_node, bool mmapable)
131 {
132 /* We really just want to fail instead of triggering OOM killer
133 * under memory pressure, therefore we set __GFP_NORETRY to kmalloc,
134 * which is used for lower order allocation requests.
135 *
136 * It has been observed that higher order allocation requests done by
137 * vmalloc with __GFP_NORETRY being set might fail due to not trying
138 * to reclaim memory from the page cache, thus we set
139 * __GFP_RETRY_MAYFAIL to avoid such situations.
140 */
141
142 const gfp_t flags = __GFP_NOWARN | __GFP_ZERO;
143 void *area;
144
145 /* kmalloc()'ed memory can't be mmap()'ed */
146 if (!mmapable && size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) {
147 area = kmalloc_node(size, GFP_USER | __GFP_NORETRY | flags,
148 numa_node);
149 if (area != NULL)
150 return area;
151 }
152 if (mmapable) {
153 BUG_ON(!PAGE_ALIGNED(size));
> 154 return vmalloc_user_node_flags(size, numa_node, GFP_KERNEL |
155 __GFP_RETRY_MAYFAIL | flags);
156 }
157 return __vmalloc_node_flags_caller(size, numa_node,
158 GFP_KERNEL | __GFP_RETRY_MAYFAIL |
159 flags, __builtin_return_address(0));
160 }
161
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 23309 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' 2019-11-23 11:44 [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' kbuild test robot @ 2019-11-23 17:37 ` Andrii Nakryiko 0 siblings, 0 replies; 5+ messages in thread From: Andrii Nakryiko @ 2019-11-23 17:37 UTC (permalink / raw) To: kbuild test robot Cc: kbuild-all, Daniel Borkmann, hannes, Alexei Starovoitov, andrii.nakryiko, bpf On 11/23/19 3:44 AM, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: b9d3d01405061bb42358fe53f824e894a1922ced > commit: fc9702273e2edb90400a34b3be76f7b08fa3344b [11808/13503] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY > config: arm-randconfig-a001-20191123 (attached as .config) > compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0 > reproduce: > wget https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githubusercontent.com_intel_lkp-2Dtests_master_sbin_make.cross&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=JuUtGb4L_bH6ANKEMAgVL3zSBnFkOW4jhVP9W3WBHBM&e= -O ~/bin/make.cross > chmod +x ~/bin/make.cross > git checkout fc9702273e2edb90400a34b3be76f7b08fa3344b > # save the attached .config to linux build tree > GCC_VERSION=7.4.0 make.cross ARCH=arm > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .ARM.unwind_idx VMA [00000000007d7000,000000000080b8ef] > arm-linux-gnueabi-ld: section .ARM.unwind_tab VMA [000000000080b8f0,000000000080febb] overlaps section .data VMA [0000000000808000,00000000008829bf] > kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': >>> kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' > Can't repro this with given config on x86_64. Trying to make make.cross work for me still. Any ideas why this is happening? I see that __vmalloc_node_flags_caller that we also use if #ifdef'ed as static inline in include/linux/vmalloc.h if no CONFIG_MMU is defined. Are we missing some config dependency or should I do the same trick as __vmalloc_node_flags_caller does? Also. Daniel, when I tried to build latest bpf-next with this config, I got another compilation error, related to your recent patch, you might want to take a look as well: CC kernel/tracepoint.o CC kernel/elfcore.o /data/users/andriin/linux/kernel/bpf/verifier.c: In function ‘fixup_bpf_calls’: /data/users/andriin/linux/kernel/bpf/verifier.c:9132:25: error: implicit declaration of function ‘bpf_jit_blinding_enabled’; did you mean ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] bool expect_blinding = bpf_jit_blinding_enabled(prog); ^~~~~~~~~~~~~~~~~~~~~~~~ bpf_jit_kallsyms_enabled CC kernel/irq_work.o CC kernel/crash_dump.o > vim +154 kernel/bpf/syscall.c > > 129 > 130 static void *__bpf_map_area_alloc(size_t size, int numa_node, bool mmapable) > 131 { > 132 /* We really just want to fail instead of triggering OOM killer > 133 * under memory pressure, therefore we set __GFP_NORETRY to kmalloc, > 134 * which is used for lower order allocation requests. > 135 * > 136 * It has been observed that higher order allocation requests done by > 137 * vmalloc with __GFP_NORETRY being set might fail due to not trying > 138 * to reclaim memory from the page cache, thus we set > 139 * __GFP_RETRY_MAYFAIL to avoid such situations. > 140 */ > 141 > 142 const gfp_t flags = __GFP_NOWARN | __GFP_ZERO; > 143 void *area; > 144 > 145 /* kmalloc()'ed memory can't be mmap()'ed */ > 146 if (!mmapable && size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) { > 147 area = kmalloc_node(size, GFP_USER | __GFP_NORETRY | flags, > 148 numa_node); > 149 if (area != NULL) > 150 return area; > 151 } > 152 if (mmapable) { > 153 BUG_ON(!PAGE_ALIGNED(size)); > > 154 return vmalloc_user_node_flags(size, numa_node, GFP_KERNEL | > 155 __GFP_RETRY_MAYFAIL | flags); > 156 } > 157 return __vmalloc_node_flags_caller(size, numa_node, > 158 GFP_KERNEL | __GFP_RETRY_MAYFAIL | > 159 flags, __builtin_return_address(0)); > 160 } > 161 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_hyperkitty_list_kbuild-2Dall-40lists.01.org&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=zQax2z98Tn-V1wcH0rtwmJ0iA9DpFhqbVNzexx7wOWw&e= Intel Corporation > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' @ 2019-11-23 17:37 ` Andrii Nakryiko 0 siblings, 0 replies; 5+ messages in thread From: Andrii Nakryiko @ 2019-11-23 17:37 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 4626 bytes --] On 11/23/19 3:44 AM, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: b9d3d01405061bb42358fe53f824e894a1922ced > commit: fc9702273e2edb90400a34b3be76f7b08fa3344b [11808/13503] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY > config: arm-randconfig-a001-20191123 (attached as .config) > compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0 > reproduce: > wget https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githubusercontent.com_intel_lkp-2Dtests_master_sbin_make.cross&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=JuUtGb4L_bH6ANKEMAgVL3zSBnFkOW4jhVP9W3WBHBM&e= -O ~/bin/make.cross > chmod +x ~/bin/make.cross > git checkout fc9702273e2edb90400a34b3be76f7b08fa3344b > # save the attached .config to linux build tree > GCC_VERSION=7.4.0 make.cross ARCH=arm > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .ARM.unwind_idx VMA [00000000007d7000,000000000080b8ef] > arm-linux-gnueabi-ld: section .ARM.unwind_tab VMA [000000000080b8f0,000000000080febb] overlaps section .data VMA [0000000000808000,00000000008829bf] > kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': >>> kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' > Can't repro this with given config on x86_64. Trying to make make.cross work for me still. Any ideas why this is happening? I see that __vmalloc_node_flags_caller that we also use if #ifdef'ed as static inline in include/linux/vmalloc.h if no CONFIG_MMU is defined. Are we missing some config dependency or should I do the same trick as __vmalloc_node_flags_caller does? Also. Daniel, when I tried to build latest bpf-next with this config, I got another compilation error, related to your recent patch, you might want to take a look as well: CC kernel/tracepoint.o CC kernel/elfcore.o /data/users/andriin/linux/kernel/bpf/verifier.c: In function ‘fixup_bpf_calls’: /data/users/andriin/linux/kernel/bpf/verifier.c:9132:25: error: implicit declaration of function ‘bpf_jit_blinding_enabled’; did you mean ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] bool expect_blinding = bpf_jit_blinding_enabled(prog); ^~~~~~~~~~~~~~~~~~~~~~~~ bpf_jit_kallsyms_enabled CC kernel/irq_work.o CC kernel/crash_dump.o > vim +154 kernel/bpf/syscall.c > > 129 > 130 static void *__bpf_map_area_alloc(size_t size, int numa_node, bool mmapable) > 131 { > 132 /* We really just want to fail instead of triggering OOM killer > 133 * under memory pressure, therefore we set __GFP_NORETRY to kmalloc, > 134 * which is used for lower order allocation requests. > 135 * > 136 * It has been observed that higher order allocation requests done by > 137 * vmalloc with __GFP_NORETRY being set might fail due to not trying > 138 * to reclaim memory from the page cache, thus we set > 139 * __GFP_RETRY_MAYFAIL to avoid such situations. > 140 */ > 141 > 142 const gfp_t flags = __GFP_NOWARN | __GFP_ZERO; > 143 void *area; > 144 > 145 /* kmalloc()'ed memory can't be mmap()'ed */ > 146 if (!mmapable && size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) { > 147 area = kmalloc_node(size, GFP_USER | __GFP_NORETRY | flags, > 148 numa_node); > 149 if (area != NULL) > 150 return area; > 151 } > 152 if (mmapable) { > 153 BUG_ON(!PAGE_ALIGNED(size)); > > 154 return vmalloc_user_node_flags(size, numa_node, GFP_KERNEL | > 155 __GFP_RETRY_MAYFAIL | flags); > 156 } > 157 return __vmalloc_node_flags_caller(size, numa_node, > 158 GFP_KERNEL | __GFP_RETRY_MAYFAIL | > 159 flags, __builtin_return_address(0)); > 160 } > 161 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_hyperkitty_list_kbuild-2Dall-40lists.01.org&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=zQax2z98Tn-V1wcH0rtwmJ0iA9DpFhqbVNzexx7wOWw&e= Intel Corporation > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' 2019-11-23 17:37 ` Andrii Nakryiko (?) @ 2019-11-25 7:42 ` Rong Chen 2019-11-25 17:53 ` [kbuild-all] " Andrii Nakryiko -1 siblings, 1 reply; 5+ messages in thread From: Rong Chen @ 2019-11-25 7:42 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 6275 bytes --] On 11/24/19 1:37 AM, Andrii Nakryiko wrote: > On 11/23/19 3:44 AM, kbuild test robot wrote: >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master >> head: b9d3d01405061bb42358fe53f824e894a1922ced >> commit: fc9702273e2edb90400a34b3be76f7b08fa3344b [11808/13503] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY >> config: arm-randconfig-a001-20191123 (attached as .config) >> compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0 >> reproduce: >> wget https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githubusercontent.com_intel_lkp-2Dtests_master_sbin_make.cross&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=JuUtGb4L_bH6ANKEMAgVL3zSBnFkOW4jhVP9W3WBHBM&e= -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> git checkout fc9702273e2edb90400a34b3be76f7b08fa3344b >> # save the attached .config to linux build tree >> GCC_VERSION=7.4.0 make.cross ARCH=arm >> >> If you fix the issue, kindly add following tag >> Reported-by: kbuild test robot <lkp@intel.com> >> >> All errors (new ones prefixed by >>): >> >> arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .ARM.unwind_idx VMA [00000000007d7000,000000000080b8ef] >> arm-linux-gnueabi-ld: section .ARM.unwind_tab VMA [000000000080b8f0,000000000080febb] overlaps section .data VMA [0000000000808000,00000000008829bf] >> kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': >>>> kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' > Can't repro this with given config on x86_64. Trying to make make.cross > work for me still. Any ideas why this is happening? Hi Andrii, We can reproduce it with make.cross command. xsang(a)xsang-OptiPlex-9020:~/OLT-10114/linux-next$ GCC_VERSION=7.4.0 make.cross ARCH=arm make CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- --jobs=16 ARCH=arm ... CC include/uapi/linux/netfilter/ipset/ip_set_hash.h.s GEN .version CHK include/generated/compile.h LD vmlinux.o MODPOST vmlinux.o WARNING:"return_address" [vmlinux] is astatic EXPORT_SYMBOL_GPL MODINFO modules.builtin.modinfo LD .tmp_vmlinux1 /home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .init.text VMA [00000000007f4db0,0000000000814207] /home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: section .exit.text VMA [0000000000814208,0000000000817593] overlaps section .data VMA [0000000000808000,00000000008829bf] kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': /home/xsang/OLT-10114/linux-next/kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' Makefile:1074: recipefor target'vmlinux' failed make: *** [vmlinux] Error 1 Best Regards, Rong Chen > I see that > __vmalloc_node_flags_caller that we also use if #ifdef'ed as static > inline in include/linux/vmalloc.h if no CONFIG_MMU is defined. Are we > missing some config dependency or should I do the same trick as > __vmalloc_node_flags_caller does? > > Also. Daniel, when I tried to build latest bpf-next with this config, I > got another compilation error, related to your recent patch, you might > want to take a look as well: > > CC kernel/tracepoint.o > CC kernel/elfcore.o > /data/users/andriin/linux/kernel/bpf/verifier.c: In function > ‘fixup_bpf_calls’: > /data/users/andriin/linux/kernel/bpf/verifier.c:9132:25: error: implicit > declaration of function ‘bpf_jit_blinding_enabled’; did you mean > ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] > bool expect_blinding = bpf_jit_blinding_enabled(prog); > ^~~~~~~~~~~~~~~~~~~~~~~~ > bpf_jit_kallsyms_enabled > CC kernel/irq_work.o > CC kernel/crash_dump.o > >> vim +154 kernel/bpf/syscall.c >> >> 129 >> 130 static void *__bpf_map_area_alloc(size_t size, int numa_node, bool mmapable) >> 131 { >> 132 /* We really just want to fail instead of triggering OOM killer >> 133 * under memory pressure, therefore we set __GFP_NORETRY to kmalloc, >> 134 * which is used for lower order allocation requests. >> 135 * >> 136 * It has been observed that higher order allocation requests done by >> 137 * vmalloc with __GFP_NORETRY being set might fail due to not trying >> 138 * to reclaim memory from the page cache, thus we set >> 139 * __GFP_RETRY_MAYFAIL to avoid such situations. >> 140 */ >> 141 >> 142 const gfp_t flags = __GFP_NOWARN | __GFP_ZERO; >> 143 void *area; >> 144 >> 145 /* kmalloc()'ed memory can't be mmap()'ed */ >> 146 if (!mmapable && size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) { >> 147 area = kmalloc_node(size, GFP_USER | __GFP_NORETRY | flags, >> 148 numa_node); >> 149 if (area != NULL) >> 150 return area; >> 151 } >> 152 if (mmapable) { >> 153 BUG_ON(!PAGE_ALIGNED(size)); >> > 154 return vmalloc_user_node_flags(size, numa_node, GFP_KERNEL | >> 155 __GFP_RETRY_MAYFAIL | flags); >> 156 } >> 157 return __vmalloc_node_flags_caller(size, numa_node, >> 158 GFP_KERNEL | __GFP_RETRY_MAYFAIL | >> 159 flags, __builtin_return_address(0)); >> 160 } >> 161 >> >> --- >> 0-DAY kernel test infrastructure Open Source Technology Center >> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_hyperkitty_list_kbuild-2Dall-40lists.01.org&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=zQax2z98Tn-V1wcH0rtwmJ0iA9DpFhqbVNzexx7wOWw&e= Intel Corporation >> > _______________________________________________ > kbuild-all mailing list -- kbuild-all(a)lists.01.org > To unsubscribe send an email to kbuild-all-leave(a)lists.01.org [-- Attachment #2: attachment.html --] [-- Type: text/html, Size: 8261 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [kbuild-all] Re: [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' 2019-11-25 7:42 ` Rong Chen @ 2019-11-25 17:53 ` Andrii Nakryiko 0 siblings, 0 replies; 5+ messages in thread From: Andrii Nakryiko @ 2019-11-25 17:53 UTC (permalink / raw) To: Rong Chen Cc: Andrii Nakryiko, kbuild test robot, kbuild-all, Daniel Borkmann, hannes, Alexei Starovoitov, bpf On Sun, Nov 24, 2019 at 11:43 PM Rong Chen <rong.a.chen@intel.com> wrote: > > > > On 11/24/19 1:37 AM, Andrii Nakryiko wrote: > > On 11/23/19 3:44 AM, kbuild test robot wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: b9d3d01405061bb42358fe53f824e894a1922ced > commit: fc9702273e2edb90400a34b3be76f7b08fa3344b [11808/13503] bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY > config: arm-randconfig-a001-20191123 (attached as .config) > compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0 > reproduce: > wget https://urldefense.proofpoint.com/v2/url?u=https-3A__raw.githubusercontent.com_intel_lkp-2Dtests_master_sbin_make.cross&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=JuUtGb4L_bH6ANKEMAgVL3zSBnFkOW4jhVP9W3WBHBM&e= -O ~/bin/make.cross > chmod +x ~/bin/make.cross > git checkout fc9702273e2edb90400a34b3be76f7b08fa3344b > # save the attached .config to linux build tree > GCC_VERSION=7.4.0 make.cross ARCH=arm > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .ARM.unwind_idx VMA [00000000007d7000,000000000080b8ef] > arm-linux-gnueabi-ld: section .ARM.unwind_tab VMA [000000000080b8f0,000000000080febb] overlaps section .data VMA [0000000000808000,00000000008829bf] > kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': > > kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' > > Can't repro this with given config on x86_64. Trying to make make.cross > work for me still. Any ideas why this is happening? > > > Hi Andrii, > > We can reproduce it with make.cross command. Yeah, I was able to repro (and submitted fix already), once I realized that out-of-source tree compilation wasn't supported. > > xsang@xsang-OptiPlex-9020:~/OLT-10114/linux-next$ GCC_VERSION=7.4.0 make.cross ARCH=arm > make CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- --jobs=16 ARCH=arm > ... > CC include/uapi/linux/netfilter/ipset/ip_set_hash.h.s > GEN .version > CHK include/generated/compile.h > LD vmlinux.o > MODPOST vmlinux.o > WARNING: "return_address" [vmlinux] is a static EXPORT_SYMBOL_GPL > MODINFO modules.builtin.modinfo > LD .tmp_vmlinux1 > /home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: section .data VMA [0000000000808000,00000000008829bf] overlaps section .init.text VMA [00000000007f4db0,0000000000814207] > /home/xsang/0day/gcc-7.4.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: section .exit.text VMA [0000000000814208,0000000000817593] overlaps section .data VMA [0000000000808000,00000000008829bf] These two were still happening, but even before my patch, so this must be some other issue. > kernel/bpf/syscall.o: In function `__bpf_map_area_alloc': > /home/xsang/OLT-10114/linux-next/kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' > Makefile:1074: recipe for target 'vmlinux' failed > make: *** [vmlinux] Error 1 > > > Best Regards, > Rong Chen > > I see that > __vmalloc_node_flags_caller that we also use if #ifdef'ed as static > inline in include/linux/vmalloc.h if no CONFIG_MMU is defined. Are we > missing some config dependency or should I do the same trick as > __vmalloc_node_flags_caller does? > > Also. Daniel, when I tried to build latest bpf-next with this config, I > got another compilation error, related to your recent patch, you might > want to take a look as well: > > CC kernel/tracepoint.o > CC kernel/elfcore.o > /data/users/andriin/linux/kernel/bpf/verifier.c: In function > ‘fixup_bpf_calls’: > /data/users/andriin/linux/kernel/bpf/verifier.c:9132:25: error: implicit > declaration of function ‘bpf_jit_blinding_enabled’; did you mean > ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] > bool expect_blinding = bpf_jit_blinding_enabled(prog); > ^~~~~~~~~~~~~~~~~~~~~~~~ > bpf_jit_kallsyms_enabled > CC kernel/irq_work.o > CC kernel/crash_dump.o > > vim +154 kernel/bpf/syscall.c > > 129 > 130 static void *__bpf_map_area_alloc(size_t size, int numa_node, bool mmapable) > 131 { > 132 /* We really just want to fail instead of triggering OOM killer > 133 * under memory pressure, therefore we set __GFP_NORETRY to kmalloc, > 134 * which is used for lower order allocation requests. > 135 * > 136 * It has been observed that higher order allocation requests done by > 137 * vmalloc with __GFP_NORETRY being set might fail due to not trying > 138 * to reclaim memory from the page cache, thus we set > 139 * __GFP_RETRY_MAYFAIL to avoid such situations. > 140 */ > 141 > 142 const gfp_t flags = __GFP_NOWARN | __GFP_ZERO; > 143 void *area; > 144 > 145 /* kmalloc()'ed memory can't be mmap()'ed */ > 146 if (!mmapable && size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) { > 147 area = kmalloc_node(size, GFP_USER | __GFP_NORETRY | flags, > 148 numa_node); > 149 if (area != NULL) > 150 return area; > 151 } > 152 if (mmapable) { > 153 BUG_ON(!PAGE_ALIGNED(size)); > > 154 return vmalloc_user_node_flags(size, numa_node, GFP_KERNEL | > 155 __GFP_RETRY_MAYFAIL | flags); > 156 } > 157 return __vmalloc_node_flags_caller(size, numa_node, > 158 GFP_KERNEL | __GFP_RETRY_MAYFAIL | > 159 flags, __builtin_return_address(0)); > 160 } > 161 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_hyperkitty_list_kbuild-2Dall-40lists.01.org&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=vxqvl81C2rT6GOGdPyz8iQ&m=OyqPkKr2ayhE9rsjQ3V9TjPHNWGAzMj67odoKch8_YM&s=zQax2z98Tn-V1wcH0rtwmJ0iA9DpFhqbVNzexx7wOWw&e= Intel Corporation > > _______________________________________________ > kbuild-all mailing list -- kbuild-all@lists.01.org > To unsubscribe send an email to kbuild-all-leave@lists.01.org > > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-11-25 17:54 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-11-23 11:44 [linux-next:master 11808/13503] kernel/bpf/syscall.c:154: undefined reference to `vmalloc_user_node_flags' kbuild test robot 2019-11-23 17:37 ` Andrii Nakryiko 2019-11-23 17:37 ` Andrii Nakryiko 2019-11-25 7:42 ` Rong Chen 2019-11-25 17:53 ` [kbuild-all] " Andrii Nakryiko
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.