[PATCH 1/2] selftests/memfd: fix -Wmaybe-uninitialized warning in memfd_test

From: Eva Kurchatova

Date: Sun May 24 2026 - 15:39:19 EST


From: Konstantin Khorenko <khorenko@xxxxxxxxxxxxx>

memfd_test.c: In function 'mfd_fail_grow_write.part.0':
memfd_test.c:685:13: warning: '<unknown>' may be used uninitialized
[-Wmaybe-uninitialized]
685 | l = pwrite(fd, buf, mfd_def_size * 8, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pwrite() is declared with attribute 'access (read_only, 2, 3)', so GCC
knows it reads from the buffer. malloc() returns uninitialized memory,
hence the warning. Use calloc() to zero-initialize the buffer. The
actual contents don't matter here since the test verifies that pwrite()
fails on a sealed memfd.

Signed-off-by: Konstantin Khorenko <khorenko@xxxxxxxxxxxxx>
Signed-off-by: Eva Kurchatova <eva.kurchatova@xxxxxxxxxxxxx>
---
tools/testing/selftests/memfd/memfd_test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/memfd/memfd_test.c b/tools/testing/selftests/memfd/memfd_test.c
index 2ca07ea7202a..cdab3a837624 100644
--- a/tools/testing/selftests/memfd/memfd_test.c
+++ b/tools/testing/selftests/memfd/memfd_test.c
@@ -688,9 +688,9 @@ static void mfd_assert_grow_write(int fd)
if (hugetlbfs_test)
return;

- buf = malloc(mfd_def_size * 8);
+ buf = calloc(1, mfd_def_size * 8);
if (!buf) {
- printf("malloc(%zu) failed: %m\n", mfd_def_size * 8);
+ printf("calloc(1, %zu) failed: %m\n", mfd_def_size * 8);
abort();
}

--
2.54.0