Unverified Commit 116099ed authored by Hu Yadi's avatar Hu Yadi Committed by Mickaël Salaün
Browse files

selftests/landlock: Fix net_test build with old libc



One issue comes up while building selftest/landlock/net_test on my side
(gcc 7.3/glibc-2.28/kernel-4.19).

net_test.c: In function ‘set_service’:
net_test.c:91:45: warning: implicit declaration of function ‘gettid’; [-Wimplicit-function-declaration]
    "_selftests-landlock-net-tid%d-index%d", gettid(),
                                             ^~~~~~
                                             getgid
net_test.c:(.text+0x4e0): undefined reference to `gettid'

Signed-off-by: default avatarHu Yadi <hu.yadi@h3c.com>
Suggested-by: default avatarJiao <jiaoxupo@h3c.com>
Reviewed-by: default avatarBerlin <berlin@h3c.com>
Fixes: a549d055 ("selftests/landlock: Add network tests")
Link: https://lore.kernel.org/r/20240123062621.25082-1-hu.yadi@h3c.com


[mic: Cosmetic fixes]
Signed-off-by: default avatarMickaël Salaün <mic@digikod.net>
parent 6613476e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include <string.h>
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/syscall.h>
#include <sys/un.h>

#include "common.h"
@@ -54,6 +55,11 @@ struct service_fixture {
	};
};

static pid_t sys_gettid(void)
{
	return syscall(__NR_gettid);
}

static int set_service(struct service_fixture *const srv,
		       const struct protocol_variant prot,
		       const unsigned short index)
@@ -88,7 +94,7 @@ static int set_service(struct service_fixture *const srv,
	case AF_UNIX:
		srv->unix_addr.sun_family = prot.domain;
		sprintf(srv->unix_addr.sun_path,
			"_selftests-landlock-net-tid%d-index%d", gettid(),
			"_selftests-landlock-net-tid%d-index%d", sys_gettid(),
			index);
		srv->unix_addr_len = SUN_LEN(&srv->unix_addr);
		srv->unix_addr.sun_path[0] = '\0';