Hi, > On 9 Jul 2024, at 12:09, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > 6.6-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: John Hubbard <jhubbard@xxxxxxxxxx> > > [ Upstream commit eb709b5f6536636dfb87b85ded0b2af9bb6cd9e6 ] > > When building with clang, via: > > make LLVM=1 -C tools/testing/selftest > > ...clang warns about three variables that are not initialized in all > cases: > > 1) The opt_ipproto_off variable is used uninitialized if "testname" is > not "ip". Willem de Bruijn pointed out that this is an actual bug, and > suggested the fix that I'm using here (thanks!). > > 2) The addr_len is used uninitialized, but only in the assert case, > which bails out, so this is harmless. > > 3) The family variable in add_listener() is only used uninitialized in > the error case (neither IPv4 nor IPv6 is specified), so it's also > harmless. > > Fix by initializing each variable. > > Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx> > Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx> > Acked-by: Mat Martineau <martineau@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20240506190204.28497-1-jhubbard@xxxxxxxxxx > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > --- > tools/testing/selftests/net/gro.c | 3 +++ > tools/testing/selftests/net/ip_local_port_range.c | 2 +- > tools/testing/selftests/net/mptcp/pm_nl_ctl.c | 2 +- > 3 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/net/gro.c b/tools/testing/selftests/net/gro.c > index 30024d0ed3739..b204df4f33322 100644 > --- a/tools/testing/selftests/net/gro.c > +++ b/tools/testing/selftests/net/gro.c > @@ -113,6 +113,9 @@ static void setup_sock_filter(int fd) > next_off = offsetof(struct ipv6hdr, nexthdr); > ipproto_off = ETH_HLEN + next_off; > > + /* Overridden later if exthdrs are used: */ > + opt_ipproto_off = ipproto_off; > + This breaks selftest compilation on 6.6, because opt_ipproto_off is not defined in the first place in 6.6 > if (strcmp(testname, "ip") == 0) { > if (proto == PF_INET) > optlen = sizeof(struct ip_timestamp); > diff --git a/tools/testing/selftests/net/ip_local_port_range.c b/tools/testing/selftests/net/ip_local_port_range.c > index 75e3fdacdf735..2465ff5bb3a8e 100644 > --- a/tools/testing/selftests/net/ip_local_port_range.c > +++ b/tools/testing/selftests/net/ip_local_port_range.c > @@ -343,7 +343,7 @@ TEST_F(ip_local_port_range, late_bind) > struct sockaddr_in v4; > struct sockaddr_in6 v6; > } addr; > - socklen_t addr_len; > + socklen_t addr_len = 0; > const int one = 1; > int fd, err; > __u32 range; > diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c > index 49369c4a5f261..763402dd17742 100644 > --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c > +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c > @@ -1239,7 +1239,7 @@ int add_listener(int argc, char *argv[]) > struct sockaddr_storage addr; > struct sockaddr_in6 *a6; > struct sockaddr_in *a4; > - u_int16_t family; > + u_int16_t family = AF_UNSPEC; > int enable = 1; > int sock; > int err; > -- > 2.43.0 > Ignat