On Sat, Aug 08, 2020 at 12:38 AM CEST, Stanislav Fomichev wrote: > I'm getting some garbage in bytes 8 and 9 when doing conversion > from sockaddr_in to sockaddr_in6 (leftover from AF_INET?). > Let's explicitly clear the higher bytes. > > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/prog_tests/sk_lookup.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/bpf/prog_tests/sk_lookup.c b/tools/testing/selftests/bpf/prog_tests/sk_lookup.c > index c571584c00f5..9ff0412e1fd3 100644 > --- a/tools/testing/selftests/bpf/prog_tests/sk_lookup.c > +++ b/tools/testing/selftests/bpf/prog_tests/sk_lookup.c > @@ -309,6 +309,7 @@ static void v4_to_v6(struct sockaddr_storage *ss) > v6->sin6_addr.s6_addr[10] = 0xff; > v6->sin6_addr.s6_addr[11] = 0xff; > memcpy(&v6->sin6_addr.s6_addr[12], &v4.sin_addr.s_addr, 4); > + memset(&v6->sin6_addr.s6_addr[0], 0, 10); > } > > static int udp_recv_send(int server_fd) That was badly written. Sorry about that. And thanks for the fix. I'd even zero out the whole thing: memset(v6, 0, sizeof(*v6)); ... because right now IPv4 address is left as sin6_flowinfo. I can follow up with that change, unless you'd like to roll a v2. Fixes: 0ab5539f8584 ("selftests/bpf: Tests for BPF_SK_LOOKUP attach point") Reviewed-by: Jakub Sitnicki <jakub@xxxxxxxxxxxxxx>