selftests/bpf: fix -Wstrict-aliasing in test_sockopt_sk.c
authorStanislav Fomichev <sdf@google.com>
Fri, 28 Jun 2019 01:12:33 +0000 (18:12 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 28 Jun 2019 23:21:53 +0000 (01:21 +0200)
commit2d6dbb9a65f4001f2878512078394c11301994f3
treeb87a2a5edec8319f2bffcee34ef541e07d17345f
parent2ec1899e99b4959bd2a46fd3993220e4f1a5397f
selftests/bpf: fix -Wstrict-aliasing in test_sockopt_sk.c

Let's use union with u8[4] and u32 members for sockopt buffer,
that should fix any possible aliasing issues.

test_sockopt_sk.c: In function â€˜getsetsockopt’:
test_sockopt_sk.c:115:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  if (*(__u32 *)buf != 0x55AA*2) {
  ^~
test_sockopt_sk.c:116:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   log_err("Unexpected getsockopt(SO_SNDBUF) 0x%x != 0x55AA*2",
   ^~~~~~~

Fixes: 8a027dc0d8f5 ("selftests/bpf: add sockopt test that exercises sk helpers")
Reported-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_sockopt_sk.c