On 12.10.21 05:01, davidcomponentone@xxxxxxxxx wrote:
From: David Yang <davidcomponentone@xxxxxxxxx>
The coccinelle check report:
"./tools/testing/selftests/vm/split_huge_page_test.c:344:36-42:
ERROR: application of sizeof to pointer"
Using the "strlen" to fix it.
Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
Signed-off-by: David Yang <davidcomponentone@xxxxxxxxx>
---
tools/testing/selftests/vm/split_huge_page_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vm/split_huge_page_test.c b/tools/testing/selftests/vm/split_huge_page_test.c
index 1af16d2c2a0a..52497b7b9f1d 100644
--- a/tools/testing/selftests/vm/split_huge_page_test.c
+++ b/tools/testing/selftests/vm/split_huge_page_test.c
@@ -341,7 +341,7 @@ void split_file_backed_thp(void)
}
/* write something to the file, so a file-backed THP can be allocated */
- num_written = write(fd, tmpfs_loc, sizeof(tmpfs_loc));
+ num_written = write(fd, tmpfs_loc, strlen(tmpfs_loc) + 1);
close(fd);
if (num_written < 1) {
I think the code really just wants to write anything to the file that
will be >= 1, which is also the case with this weird usage of sizeof.
As an alternative, I think we can just write anything else to the file
num_written = write(fd, (void *)&fd, sizeof(fd));
or
num_written = write(fd, "1", 1);
If I am not wrong/
--
Thanks,
David / dhildenb