From: John Fastabend <john.fastabend@gmail.com> Date: 2021-03-24 21:08:53
Small fix to silence a warning running ./test_maps on my local test boxes.
Pushed to 'bpf' but can also apply against 'bpf-next' if folks would
prefer.
Thanks.
---
John Fastabend (1):
bpf, selftests: test_maps generating unrecognized data section
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 3 ---
1 file changed, 3 deletions(-)
--
Signature
From: John Fastabend <john.fastabend@gmail.com> Date: 2021-03-24 21:08:53
With a relatively recent clang master branch test_map skips a section,
libbpf: elf: skipping unrecognized data section(5) .rodata.str1.1
the cause is some pointless strings from bpf_printks in the BPF program
loaded during testing. Remove them so we stop tripping our test bots.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 3 ---
1 file changed, 3 deletions(-)
From: Daniel Borkmann <daniel@iogearbox.net> Date: 2021-03-25 21:08:21
On 3/24/21 10:07 PM, John Fastabend wrote:
quoted hunk
With a relatively recent clang master branch test_map skips a section,
libbpf: elf: skipping unrecognized data section(5) .rodata.str1.1
the cause is some pointless strings from bpf_printks in the BPF program
loaded during testing. Remove them so we stop tripping our test bots.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 3 ---
1 file changed, 3 deletions(-)
@@ -16,10 +16,7 @@ int bpf_prog1(struct sk_msg_md *msg)if(data+8>data_end)returnSK_DROP;-bpf_printk("data length %i\n",(__u64)msg->data_end-(__u64)msg->data);d=(char*)data;
Do we still need 'd' as well in that case, or the data + 8 > data_end test if we don't
read any of the data? I'm not sure what was the original purpose of the prog, perhaps
just to test that we can attach /something/ in general? Maybe in that case empty prog
is sufficient if we don't do anything useful with the rest?
From: John Fastabend <john.fastabend@gmail.com> Date: 2021-03-26 00:36:52
Daniel Borkmann wrote:
On 3/24/21 10:07 PM, John Fastabend wrote:
quoted
With a relatively recent clang master branch test_map skips a section,
libbpf: elf: skipping unrecognized data section(5) .rodata.str1.1
the cause is some pointless strings from bpf_printks in the BPF program
loaded during testing. Remove them so we stop tripping our test bots.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 3 ---
1 file changed, 3 deletions(-)
@@ -16,10 +16,7 @@ int bpf_prog1(struct sk_msg_md *msg)if(data+8>data_end)returnSK_DROP;-bpf_printk("data length %i\n",(__u64)msg->data_end-(__u64)msg->data);d=(char*)data;
Do we still need 'd' as well in that case, or the data + 8 > data_end test if we don't
read any of the data? I'm not sure what was the original purpose of the prog, perhaps
just to test that we can attach /something/ in general? Maybe in that case empty prog
is sufficient if we don't do anything useful with the rest?
This program and test existed before test_sockmap was running and doing a
more complete test set. At that time it was the only thing verifying that
we could read the d[] and check lengths.
At this point these cases are covered there so it should be OK to just
make it an empty program. Then it is _just_ testing the map attach/detach
logic not that the programs themselves work correctly.
By the way without d marked violatile my compiler removes the load there
so its pointless as you note.
Because this is used for test maps I'll just make this an empty program.
On Wed, Mar 24, 2021 at 2:07 PM John Fastabend [off-list ref] wrote:
With a relatively recent clang master branch test_map skips a section,
libbpf: elf: skipping unrecognized data section(5) .rodata.str1.1
So it was on my TODO list for a while to get rid of this by combining
all .rodata* sections into one at load time. I even outline that in
"libbpf v1.0" doc ([0]). I just haven't gotten to implementing this
yet. You can safely ignore this for now. But I also have nothing
against cleaning up tests, of course.
[0] https://docs.google.com/document/d/1UyjTZuPFWiPFyKk1tV5an11_iaRuec6U-ZESZ54nNTY
quoted hunk
the cause is some pointless strings from bpf_printks in the BPF program
loaded during testing. Remove them so we stop tripping our test bots.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
.../selftests/bpf/progs/sockmap_tcp_msg_prog.c | 3 ---
1 file changed, 3 deletions(-)