[LTP] [PATCH] accept02: Join the multicast group on lo
Petr Vorel
pvorel@suse.cz
Wed Sep 30 14:53:47 CEST 2026
Hi Anders, all,
> The test joins the multicast group with interface 0. Then the kernel
> needs a route to 224.0.0.0 to find a device. When we only have lo,
> like in a QEMU guest with no network, there is no such route and the
> test breaks:
> accept02.c:52: TBROK: setsockopt(3, 0, 42, ...) failed: ENODEV (19)
> All traffic in the test goes over 127.0.0.1, so join the group on lo.
> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
> ---
> testcases/kernel/syscalls/accept/accept02.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
> diff --git a/testcases/kernel/syscalls/accept/accept02.c b/testcases/kernel/syscalls/accept/accept02.c
> index 17056625e933..09a1c35e2591 100644
> --- a/testcases/kernel/syscalls/accept/accept02.c
> +++ b/testcases/kernel/syscalls/accept/accept02.c
> @@ -22,6 +22,7 @@
> #include <errno.h>
> #include <sys/socket.h>
> #include "tst_test.h"
> +#include "tst_netdevice.h"
> #include "tst_safe_net.h"
> #include "tst_safe_pthread.h"
> @@ -112,7 +113,7 @@ static void setup(void)
> client_addr = tst_alloc(sizeof(*client_addr));
> mc_group = tst_alloc(sizeof(*mc_group));
> - mc_group->gr_interface = 0;
> + mc_group->gr_interface = NETDEV_INDEX_BY_NAME("lo");
Reviewed-by: Petr Vorel <pvorel@suse.cz>
I tested that it really fixes the problem when no network and runs ok.
But I'm not 100% sure that it did not affect the CVE reproducibility.
Therefore I do not add my TBT.
Kind regards,
Petr
> mc_group_addr = (struct sockaddr_in *) &mc_group->gr_group;
> mc_group_addr->sin_family = AF_INET;
> inet_aton(MULTICASTIP, &mc_group_addr->sin_addr);
More information about the ltp
mailing list