From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF36226059D for ; Sun, 5 Jul 2026 20:49:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783284545; cv=none; b=nyiWKnVS6RWwcJSRyLnECsm1jIRVJz3yttKHJIgq3xFWOtCKvHPnRAlwQuI7GzsycwIrHF6jT+VPLmDtHo/mZnN7iXC2bbkJBm3WzmiV6dS/6nMw++02pTEbEStES08tCGse3b5nTMcSMZ5Eug0qAX+fJKHCZQPSKTCwwz40IwE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783284545; c=relaxed/simple; bh=+gKtMY63B8Bss1dSPpX1DX89Qq30RLZ3AVkS0E/BWa8=; h=Date:To:From:Subject:Message-Id; b=dTzaLZapuv8plk22ZW/90+O8uoUbYkA/MN3WeiDd8dYimUiiTfg1fXTxeWHHg38GP2rNwt771KfrTnnrgj0As/CwYjGj6yiddX6r/ODMRwFNu8DyK91R71CKWT1C0nMNo0sp7V9gGOO3GOKylkM6j99d7sQnn5piIxlBWWtkgrc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b=or4sGdgi; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="or4sGdgi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E8DC1F000E9; Sun, 5 Jul 2026 20:49:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1783284543; bh=o/MQ4GF1yhnt0muO2bEBRMQWMzrXDGYTKIHlzZGYE8o=; h=Date:To:From:Subject; b=or4sGdgiSYGJKpuu+h6tEzrpHNH09FIFYiX2L310r8TS/8RAB1t3ltzByxGvRWu5X okSBEZCS/ywnmijcNtBV8nW/khk0BbgEFneNi/kfoMu3s0OZIrTThJ4AA89FWtS+tI Xw8ZJYdDb7h5lTselcjBoZ+LGW8AWcl6otedhFTY= Date: Sun, 05 Jul 2026 13:49:02 -0700 To: mm-commits@vger.kernel.org,lihongfu@kylinos.cn,akpm@linux-foundation.org From: Andrew Morton Subject: + selftests-mm-add-missing-mmap-return-checks-in-pkey-tests.patch added to mm-unstable branch Message-Id: <20260705204903.4E8DC1F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: mm-commits@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: The patch titled Subject: selftests/mm: add missing mmap() return checks in pkey tests has been added to the -mm mm-unstable branch. Its filename is selftests-mm-add-missing-mmap-return-checks-in-pkey-tests.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/selftests-mm-add-missing-mmap-return-checks-in-pkey-tests.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via various branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there most days ------------------------------------------------------ From: Hongfu Li Subject: selftests/mm: add missing mmap() return checks in pkey tests Date: Thu, 2 Jul 2026 14:23:31 +0800 Add missing checks against mmap() return value, replace (void *)-1 with MAP_FAILED for better readability and consistency. Link: https://lore.kernel.org/20260702062332.911786-5-lihongfu@kylinos.cn Signed-off-by: Hongfu Li Acked-by: Mike Rapoport (Microsoft) Acked-by: Liam R. Howlett (Oracle) Reviewed-by: Kevin Brodsky Tested-by: Kevin Brodsky Cc: David Hildenbrand Cc: Joey Gouly Cc: John Hubbard Cc: Keith Lucas Cc: Lorenzo Stoakes Cc: Michal Hocko Cc: Muhammad Usama Anjum Cc: Ross Zwisler Cc: Shuah Khan Cc: Suren Baghdasaryan Cc: Vlastimil Babka Cc: Yury Khrustalev Signed-off-by: Andrew Morton --- tools/testing/selftests/mm/pkey-powerpc.h | 2 - tools/testing/selftests/mm/pkey_sighandler_tests.c | 2 + tools/testing/selftests/mm/protection_keys.c | 12 ++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) --- a/tools/testing/selftests/mm/pkey-powerpc.h~selftests-mm-add-missing-mmap-return-checks-in-pkey-tests +++ a/tools/testing/selftests/mm/pkey-powerpc.h @@ -126,7 +126,7 @@ static inline void *malloc_pkey_with_mpr size, prot, pkey); pkey_assert(pkey < NR_PKEYS); ptr = mmap(NULL, size, prot, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); - pkey_assert(ptr != (void *)-1); + pkey_assert(ptr != MAP_FAILED); ret = syscall(__NR_subpage_prot, ptr, size, NULL); if (ret) { --- a/tools/testing/selftests/mm/pkey_sighandler_tests.c~selftests-mm-add-missing-mmap-return-checks-in-pkey-tests +++ a/tools/testing/selftests/mm/pkey_sighandler_tests.c @@ -313,6 +313,7 @@ static void test_sigsegv_handler_with_di /* Set up alternate signal stack that will use the default MPK */ sigstack.ss_sp = mmap(0, STACK_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + pkey_assert(sigstack.ss_sp != MAP_FAILED); sigstack.ss_flags = 0; sigstack.ss_size = STACK_SIZE; @@ -488,6 +489,7 @@ static void test_pkru_sigreturn(void) /* Set up alternate signal stack that will use the default MPK */ sigstack.ss_sp = mmap(0, STACK_SIZE, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + pkey_assert(sigstack.ss_sp != MAP_FAILED); sigstack.ss_flags = 0; sigstack.ss_size = STACK_SIZE; --- a/tools/testing/selftests/mm/protection_keys.c~selftests-mm-add-missing-mmap-return-checks-in-pkey-tests +++ a/tools/testing/selftests/mm/protection_keys.c @@ -582,7 +582,7 @@ static void *malloc_pkey_with_mprotect(l size, prot, pkey); pkey_assert(pkey < NR_PKEYS); ptr = mmap(NULL, size, prot, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); - pkey_assert(ptr != (void *)-1); + pkey_assert(ptr != MAP_FAILED); ret = mprotect_pkey((void *)ptr, PAGE_SIZE, prot, pkey); pkey_assert(!ret); record_pkey_malloc(ptr, size, prot); @@ -605,7 +605,7 @@ static void *malloc_pkey_anon_huge(long */ size = ALIGN_UP(size, HPAGE_SIZE * 2); ptr = mmap(NULL, size, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); - pkey_assert(ptr != (void *)-1); + pkey_assert(ptr != MAP_FAILED); record_pkey_malloc(ptr, size, prot); mprotect_pkey(ptr, size, prot, pkey); @@ -663,7 +663,7 @@ static void *malloc_pkey_hugetlb(long si size = ALIGN_UP(size, HPAGE_SIZE * 2); pkey_assert(pkey < NR_PKEYS); ptr = mmap(NULL, size, PROT_NONE, flags, -1, 0); - pkey_assert(ptr != (void *)-1); + pkey_assert(ptr != MAP_FAILED); mprotect_pkey(ptr, size, prot, pkey); record_pkey_malloc(ptr, size, prot); @@ -692,7 +692,7 @@ static void *malloc_pkey(long size, int pkey_assert(malloc_type < nr_malloc_types); ret = pkey_malloc[malloc_type](size, prot, pkey); - pkey_assert(ret != (void *)-1); + pkey_assert(ret != MAP_FAILED); malloc_type++; if (malloc_type >= nr_malloc_types) @@ -1110,6 +1110,7 @@ static void arch_force_pkey_reg_init(voi * doing the XSAVE size enumeration dance. */ buf = mmap(NULL, 1*MB, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); + pkey_assert(buf != MAP_FAILED); /* These __builtins require compiling with -mxsave */ @@ -1676,7 +1677,8 @@ int main(void) ksft_print_msg("running PKEY tests for unsupported CPU/OS\n"); ptr = mmap(NULL, size, PROT_NONE, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0); - assert(ptr != (void *)-1); + if (ptr == MAP_FAILED) + ksft_exit_fail_perror("mmap"); test_mprotect_pkey_on_unsupported_cpu(ptr, 1); ksft_test_result_pass("pkey on unsupported CPU/OS\n"); ksft_finished(); _ Patches currently in -mm which might be from lihongfu@kylinos.cn are selftests-mm-move-pkey-selftest-helpers-to-pkey_utilc.patch selftests-mm-unify-pkey-sighandler-selftest-assertions-and-tracing.patch selftests-mm-use-pkey_assert-on-clone_raw-failure-in-pkey-test.patch selftests-mm-add-missing-mmap-return-checks-in-pkey-tests.patch selftests-mm-add-missing-pthread_create-return-checks-in-pkey-tests.patch