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 3CAF73F660F for ; Mon, 6 Jul 2026 23:29:05 +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=1783380547; cv=none; b=i5Rw0qojcu3eMlhZK/F+jbYwT3t8u3ZGUiLOB6CdTGjBgo9zrlpxstja/L3Uhjj0hH7REJy8jI/iCKClbm4XuXRXXsXdVdX9N/UmwZKGAzXssjk4ikzzsKrYEGryMFHMTlBQBTvweKVuVytiAg80IOyLTKDS990kxFHA0No6cuY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783380547; c=relaxed/simple; bh=XUKLH/PyyqsQ1apqA8EuUcuHyqozvtZNWCuynk9tyUk=; h=Date:To:From:Subject:Message-Id; b=bFg7wauLbLHqGO0GHULHubDwtYPysJ0BuMgElqDrZf29oZf4/OaQ+FwTy/3HDKcc8hUO42TIiSsXaaqzSjdGeWADijzks6jrl4mLYHRXnj2QDXTpsHEcegyiHeontjFPpbjYDLr0QrGRZ2/Trt4BiKYd7k6qAftHSZnlw4R5dns= 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=2WDsH+Le; 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="2WDsH+Le" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C653F1F000E9; Mon, 6 Jul 2026 23:29:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=korg; t=1783380545; bh=lRuZMsol/F4SYXCsTQjhvCiwXKih1YkJzJV2k2y3l9I=; h=Date:To:From:Subject; b=2WDsH+LepxOq8SB4OL+synPkhFpcr88ssXCaoDlbdHnmUuTr8WikIDAGxQEN6yp3J lwXR5OTyRg2TlFYUbqe+nYordgEuaJKn5TC+zUuHhISkcadEOHxVrqATHxEroMCBJq FGXFuFnfsgzmYAJ98TTIGcaRMB0c2SDQOzLoA/eo= Date: Mon, 06 Jul 2026 16:29:05 -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: <20260706232905.C653F1F000E9@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: Mon, 6 Jul 2026 16:15:58 +0800 Add missing checks against mmap() return value, replace (void *)-1 with MAP_FAILED for better readability and consistency. Link: https://lore.kernel.org/20260706081600.3570203-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 selftests-mm-fix-clone-cleartid-race-in-pkey-sighandler-tests.patch