[PATCH RFC 2/5] mm: selftests: Inline {read,write}_bytes functions
From: Ackerley Tng via B4 Relay
Date: Mon May 18 2026 - 14:24:40 EST
From: Ackerley Tng <ackerleytng@xxxxxxxxxx>
When the kselftest_harness is used in a later patch, making assertions like
ASSERT_EQ() relies on _metadata's existence at the macro site, hence using
helper functions makes it more complicated.
Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
---
tools/testing/selftests/mm/hugepage-mmap.c | 38 +++++++++++-------------------
1 file changed, 14 insertions(+), 24 deletions(-)
diff --git a/tools/testing/selftests/mm/hugepage-mmap.c b/tools/testing/selftests/mm/hugepage-mmap.c
index 8c246070572f9..64f7d28a97fdf 100644
--- a/tools/testing/selftests/mm/hugepage-mmap.c
+++ b/tools/testing/selftests/mm/hugepage-mmap.c
@@ -20,31 +20,11 @@
#define LENGTH (256UL*1024*1024)
#define PROTECTION (PROT_READ | PROT_WRITE)
-static void write_bytes(char *addr)
-{
- unsigned long i;
-
- for (i = 0; i < LENGTH; i++)
- *(addr + i) = (char)i;
-}
-
-static int read_bytes(char *addr)
-{
- unsigned long i;
-
- ksft_print_msg("First hex is %x\n", *((unsigned int *)addr));
- for (i = 0; i < LENGTH; i++)
- if (*(addr + i) != (char)i) {
- ksft_print_msg("Error: Mismatch at %lu\n", i);
- return 1;
- }
- return 0;
-}
-
int main(void)
{
void *addr;
- int fd, ret;
+ int fd, ret = 0;
+ unsigned long i;
ksft_print_header();
ksft_set_plan(1);
@@ -61,8 +41,18 @@ int main(void)
ksft_print_msg("Returned address is %p\n", addr);
ksft_print_msg("First hex is %x\n", *((unsigned int *)addr));
- write_bytes(addr);
- ret = read_bytes(addr);
+
+ for (i = 0; i < LENGTH; i++)
+ *(char *)(addr + i) = (char)i;
+
+ ksft_print_msg("First hex is %x\n", *((unsigned int *)addr));
+ for (i = 0; i < LENGTH; i++) {
+ if (*(char *)(addr + i) != (char)i) {
+ ksft_print_msg("Error: Mismatch at %lu\n", i);
+ ret = 1;
+ break;
+ }
+ }
munmap(addr, LENGTH);
close(fd);
--
2.54.0.563.g4f69b47b94-goog