From: Christian Brauner Date: Mon, 23 Mar 2026 16:00:09 +0000 (+0100) Subject: selftests/empty_mntns: fix statmount_alloc() signature mismatch X-Git-Tag: v7.1-rc1~172^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a398a23787506360b4c766270de00abf51b27c8;p=thirdparty%2Fkernel%2Flinux.git selftests/empty_mntns: fix statmount_alloc() signature mismatch empty_mntns.h includes ../statmount/statmount.h which provides a 4-argument statmount_alloc(mnt_id, mnt_ns_id, mask, flags), but then redefines its own 3-argument version without the flags parameter. This causes a build failure due to conflicting types. Remove the duplicate definition from empty_mntns.h and update all callers to pass 0 for the flags argument. Fixes: 32f54f2bbccf ("selftests/filesystems: add tests for empty mount namespaces") Signed-off-by: Christian Brauner --- diff --git a/tools/testing/selftests/filesystems/empty_mntns/clone3_empty_mntns_test.c b/tools/testing/selftests/filesystems/empty_mntns/clone3_empty_mntns_test.c index 130cc1a1b407d..d800f661cb7b5 100644 --- a/tools/testing/selftests/filesystems/empty_mntns/clone3_empty_mntns_test.c +++ b/tools/testing/selftests/filesystems/empty_mntns/clone3_empty_mntns_test.c @@ -493,7 +493,7 @@ TEST_F(clone3_empty_mntns, mount_properties) sm = statmount_alloc(root_id, 0, STATMOUNT_MNT_BASIC | STATMOUNT_MNT_POINT | - STATMOUNT_FS_TYPE); + STATMOUNT_FS_TYPE, 0); if (!sm) _exit(4); @@ -607,7 +607,7 @@ TEST_F(clone3_empty_mntns, child_overmount_tmpfs) if (!root_id) _exit(4); - sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE); + sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE, 0); if (!sm) _exit(5); if (!(sm->mask & STATMOUNT_FS_TYPE)) @@ -668,7 +668,7 @@ TEST_F(clone3_empty_mntns, child_overmount_tmpfs) if (!root_id) _exit(16); - sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE); + sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE, 0); if (!sm) _exit(17); if (!(sm->mask & STATMOUNT_FS_TYPE)) diff --git a/tools/testing/selftests/filesystems/empty_mntns/empty_mntns.h b/tools/testing/selftests/filesystems/empty_mntns/empty_mntns.h index dfd24c88eec80..3d9c6b14bbef9 100644 --- a/tools/testing/selftests/filesystems/empty_mntns/empty_mntns.h +++ b/tools/testing/selftests/filesystems/empty_mntns/empty_mntns.h @@ -22,29 +22,4 @@ static inline ssize_t count_mounts(void) return listmount(LSMT_ROOT, 0, 0, list, sizeof(list) / sizeof(list[0]), 0); } -static inline struct statmount *statmount_alloc(uint64_t mnt_id, - uint64_t mnt_ns_id, - uint64_t mask) -{ - size_t bufsize = 1 << 15; - struct statmount *buf; - int ret; - - for (;;) { - buf = malloc(bufsize); - if (!buf) - return NULL; - - ret = statmount(mnt_id, mnt_ns_id, 0, mask, buf, bufsize, 0); - if (ret == 0) - return buf; - - free(buf); - if (errno != EOVERFLOW) - return NULL; - - bufsize <<= 1; - } -} - #endif /* EMPTY_MNTNS_H */ diff --git a/tools/testing/selftests/filesystems/empty_mntns/empty_mntns_test.c b/tools/testing/selftests/filesystems/empty_mntns/empty_mntns_test.c index 733aad83dbbfa..43e296b97d84b 100644 --- a/tools/testing/selftests/filesystems/empty_mntns/empty_mntns_test.c +++ b/tools/testing/selftests/filesystems/empty_mntns/empty_mntns_test.c @@ -283,7 +283,7 @@ TEST_F(empty_mntns, cwd_reset) if (root_id != cwd_id) _exit(9); - sm = statmount_alloc(root_id, 0, STATMOUNT_MNT_ROOT | STATMOUNT_MNT_POINT); + sm = statmount_alloc(root_id, 0, STATMOUNT_MNT_ROOT | STATMOUNT_MNT_POINT, 0); if (!sm) _exit(10); @@ -320,7 +320,7 @@ TEST_F(empty_mntns, mount_properties) _exit(3); sm = statmount_alloc(root_id, 0, STATMOUNT_MNT_BASIC | STATMOUNT_MNT_ROOT | - STATMOUNT_MNT_POINT | STATMOUNT_FS_TYPE); + STATMOUNT_MNT_POINT | STATMOUNT_FS_TYPE, 0); if (!sm) _exit(4); @@ -490,7 +490,7 @@ TEST_F(empty_mntns, overmount_tmpfs) _exit(4); /* Verify root is nullfs */ - sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE); + sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE, 0); if (!sm) _exit(5); @@ -574,7 +574,7 @@ TEST_F(empty_mntns, overmount_tmpfs) if (!root_id) _exit(19); - sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE); + sm = statmount_alloc(root_id, 0, STATMOUNT_FS_TYPE, 0); if (!sm) _exit(20); diff --git a/tools/testing/selftests/filesystems/empty_mntns/overmount_chroot_test.c b/tools/testing/selftests/filesystems/empty_mntns/overmount_chroot_test.c index 0b623d0c6bb95..6e21c58258c31 100644 --- a/tools/testing/selftests/filesystems/empty_mntns/overmount_chroot_test.c +++ b/tools/testing/selftests/filesystems/empty_mntns/overmount_chroot_test.c @@ -204,7 +204,7 @@ TEST(overmount_chroot) /* Verify the root mount is tmpfs */ sm = statmount_alloc(root_id_after, 0, STATMOUNT_MNT_BASIC | STATMOUNT_MNT_ROOT | - STATMOUNT_MNT_POINT | STATMOUNT_FS_TYPE); + STATMOUNT_MNT_POINT | STATMOUNT_FS_TYPE, 0); if (!sm) _exit(21);