lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <605d2c67381a9_8d47020875@john-XPS-13-9370.notmuch>
Date:   Thu, 25 Mar 2021 17:35:51 -0700
From:   John Fastabend <john.fastabend@...il.com>
To:     Daniel Borkmann <daniel@...earbox.net>,
        John Fastabend <john.fastabend@...il.com>, andrii@...nel.org
Cc:     netdev@...r.kernel.org, bpf@...r.kernel.org, ast@...com
Subject: Re: [bpf PATCH] bpf, selftests: test_maps generating unrecognized
 data section

Daniel Borkmann wrote:
> On 3/24/21 10:07 PM, John Fastabend wrote:
> > 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@...il.com>
> > ---
> >   .../selftests/bpf/progs/sockmap_tcp_msg_prog.c     |    3 ---
> >   1 file changed, 3 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/bpf/progs/sockmap_tcp_msg_prog.c b/tools/testing/selftests/bpf/progs/sockmap_tcp_msg_prog.c
> > index fdb4bf4408fa..0f603253f4ed 100644
> > --- a/tools/testing/selftests/bpf/progs/sockmap_tcp_msg_prog.c
> > +++ b/tools/testing/selftests/bpf/progs/sockmap_tcp_msg_prog.c
> > @@ -16,10 +16,7 @@ int bpf_prog1(struct sk_msg_md *msg)
> >   	if (data + 8 > data_end)
> >   		return SK_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.

> 
> > -	bpf_printk("hello sendmsg hook %i %i\n", d[0], d[1]);
> > -
> >   	return SK_PASS;
> >   }
> >   
> > 
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ