[PATCH] selftests/vfio: Include <libgen.h> for basename() on non-glibc builds
From: Hisam Mehboob
Date: Fri Aug 21 2026 - 08:27:17 EST
sysfs.c calls basename() but does not include its declaration.
Glibc exposes basename() through <string.h> with _GNU_SOURCE, while
musl declares it in <libgen.h>.
With musl, this results in an implicit-function-declaration error and
subsequent type-mismatch errors at the callers.
Include <libgen.h> so the declaration is available on both glibc and
musl. This is safe at both call sites: the arguments are local writable
char[PATH_MAX] buffers filled by readlink_safe().
Link: https://lore.kernel.org/kvm/CALzav=fs4bqMM7BXNPXqhtbqGzA+LW5fgx2-1Q5=sTN5+krYhw@xxxxxxxxxxxxxx/
Fixes: a262fc49e0aa ("KVM: selftests: Build and link selftests/vfio/lib into KVM selftests")
Signed-off-by: Hisam Mehboob <hisamshar@xxxxxxxxx>
---
tools/testing/selftests/vfio/lib/sysfs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/testing/selftests/vfio/lib/sysfs.c b/tools/testing/selftests/vfio/lib/sysfs.c
index 11415448b2e2..daf117a299a6 100644
--- a/tools/testing/selftests/vfio/lib/sysfs.c
+++ b/tools/testing/selftests/vfio/lib/sysfs.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
#include <fcntl.h>
+#include <libgen.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
--
2.51.0