[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