aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
authorHongfu Li <lihongfu@kylinos.cn>2026-05-13 10:58:38 +0800
committerAndrew Morton <akpm@linux-foundation.org>2026-05-28 21:24:49 -0700
commit2f5026b8d4fe34601d692ae7f7cd27367e002266 (patch)
treeec14241a8d24fd1917ad7c69d2cc50b87f98453a /tools
parent1c56b9cb489e7aa820dd61860e3dd892bdebe80c (diff)
downloadlinux-next-history-2f5026b8d4fe34601d692ae7f7cd27367e002266.tar.gz
selftests/perf_events: fix mmap() error check in sigtrap_threads
In sigtrap_threads(), the return value of mmap() is checked against NULL. mmap() returns MAP_FAILED, which is (void *)-1, not NULL, when it fails. Since MAP_FAILED is non-zero and non-NULL, the condition "p == NULL" will never be true on failure, causing the program to proceed with an invalid pointer and segfault if mmap() actually fails under memory pressure. Link: https://lore.kernel.org/20260513025838.594945-1-lihongfu@kylinos.cn Signed-off-by: Hongfu Li <lihongfu@kylinos.cn> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Mickael Salaun <mic@digikod.net> Cc: SeongJae Park <sj@kernel.org> Cc: Shuah Khan <shuah@kernel.org> Cc: Wei Yang <richard.weiyang@gmail.com> Cc: Kyle Huey <khuey@kylehuey.com> Cc: Ingo Molnar <mingo@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/testing/selftests/perf_events/watermark_signal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/testing/selftests/perf_events/watermark_signal.c b/tools/testing/selftests/perf_events/watermark_signal.c
index 0f64b9b170813..a84709cabd8be 100644
--- a/tools/testing/selftests/perf_events/watermark_signal.c
+++ b/tools/testing/selftests/perf_events/watermark_signal.c
@@ -102,7 +102,7 @@ TEST(watermark_signal)
}
p = mmap(NULL, 2 * page_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (p == NULL) {
+ if (p == MAP_FAILED) {
perror("mmap");
goto cleanup;
}