From: Hongfu Li Date: Wed, 13 May 2026 02:58:38 +0000 (+0800) Subject: selftests/perf_events: fix mmap() error check in sigtrap_threads X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f5026b8d4fe34601d692ae7f7cd27367e002266;p=thirdparty%2Flinux.git 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 Reviewed-by: Andrew Morton Cc: Mickael Salaun Cc: SeongJae Park Cc: Shuah Khan Cc: Wei Yang Cc: Kyle Huey Cc: Ingo Molnar Signed-off-by: Andrew Morton --- 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; }