> On Mon, Jan 15, 2024 at 06:24:09PM +0800, Hu Yadi wrote: >> From: "Hu.Yadi" <hu.yadi@xxxxxxx> >> >> Two issues comes up while building selftest/landlock on my side (gcc >> 7.3/glibc-2.28/kernel-4.19) >> >> the first one is as to gettid >> >> 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' >> >> the second is compiler error >> gcc -Wall -O2 -isystem fs_test.c -lcap -o selftests/landlock/fs_test >> fs_test.c:4575:9: error: initializer element is not constant >> .mnt = mnt_tmp, >> ^~~~~~~ >> >> Fixes: 04f9070e99a4 ("selftests/landlock: Add tests for pseudo >> filesystems") >> Fixes: a549d055a22e ("selftests/landlock: Add network tests") > >Could you please create two patches as requested for v3, one per fix? >This is useful because it enables to backport these fixes when appropriate. OK, I'll resend it by two patches with your warmly instruction. Thanks again. >> >> this patch is to fix them >> >> Signed-off-by: Hu.Yadi <hu.yadi@xxxxxxx> >> Suggested-by: Jiao <jiaoxupo@xxxxxxx> >> Reviewed-by: Berlin <berlin@xxxxxxx> >> --- >> Changes v4 -> v3: >> fix gettid error from kernel test robot >> >> https://lore.kernel.org/oe-kbuild-all/202401151147.T1s11iHJ-lkp@intel. >> com/ >> Changes v3 -> v2: >> - add helper of gettid instead of __NR_gettid >> - add gcc/glibc version info in comments Changes v1 -> v2: >> - fix whitespace error >> - replace SYS_gettid with _NR_gettid >> >> tools/testing/selftests/landlock/fs_test.c | 5 ++++- >> tools/testing/selftests/landlock/net_test.c | 7 ++++++- >> 2 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/tools/testing/selftests/landlock/fs_test.c >> b/tools/testing/selftests/landlock/fs_test.c >> index 18e1f86a6234..a992cf7c0ad1 100644 >> --- a/tools/testing/selftests/landlock/fs_test.c >> +++ b/tools/testing/selftests/landlock/fs_test.c >> @@ -4572,7 +4572,10 @@ FIXTURE_VARIANT(layout3_fs) >> /* clang-format off */ >> FIXTURE_VARIANT_ADD(layout3_fs, tmpfs) { >> /* clang-format on */ >> - .mnt = mnt_tmp, >> + .mnt = { >> + .type = "tmpfs", >> + .data = "size=4m,mode=700", >> + }, > >I requested some changes here. > >> .file_path = file1_s1d1, >> }; >> >> diff --git a/tools/testing/selftests/landlock/net_test.c >> b/tools/testing/selftests/landlock/net_test.c >> index 929e21c4db05..d50f2920ed82 100644 >> --- a/tools/testing/selftests/landlock/net_test.c >> +++ b/tools/testing/selftests/landlock/net_test.c > @@ -21,6 +21,11 @@ > >We should include sys/syscall.h > >> >> #include "common.h" >> >> +static pid_t landlock_gettid(void) > >Please rename to sys_gettid(). > >> +{ >> + return syscall(__NR_gettid); >> +} >> + >> const short sock_port_start = (1 << 10); >> >> static const char loopback_ipv4[] = "127.0.0.1"; @@ -88,7 +93,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", landlock_gettid(), >> index); >> srv->unix_addr_len = SUN_LEN(&srv->unix_addr); >> srv->unix_addr.sun_path[0] = '\0'; >> -- >> 2.23.0 >>