From nobody Mon Sep 28 12:34:13 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 2948E4BC032; Fri, 21 Aug 2026 14:16:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321765; cv=none; b=YS9IL7PBqFn7cD4urGlYzQ8qo3+muxwdF1FPlsyhxjg5d6WQTx7R/9vmTPAt4Bt81yksCF5lScvzUjltyhdZEeDNcRWqxcO9pwTtaULtDN8jH7oKiG9b46jQ0Uv9TDGNvJIgOGf6nDdDB8JXukZyaicY1STl2Y9Un2/quU+/Z9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321765; c=relaxed/simple; bh=GkgEk4wxjMWjKEYIzr+cfZNkqDaG360hz+dtvjwvXSM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y2U1jC32rZfWcJySXnCLo6ScUniCguQS8JOFooqQt/BaHHUAnSALrkFinDjWuQBuRGQU7QkNPdY4L9BULyaG2f95uEgpun0rWnCeWcTfwibuRs7rc3DBZj53PDtcVf/Yq4Rwenv8noyQkDD8meBMsJqflPNbGzkso5S8xzLnvmI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=b1vFUYxh; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="b1vFUYxh" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A92F722C8; Fri, 21 Aug 2026 07:15:59 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6D6EE3F85F; Fri, 21 Aug 2026 07:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787321763; bh=GkgEk4wxjMWjKEYIzr+cfZNkqDaG360hz+dtvjwvXSM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b1vFUYxhNizbO0Ief3w0B/1HpfE0vGXsMMmU8mcpFtaSACD7vU+7JBBLOcNQwFi1v iQItNHweUyu5fTGH1wXyzpzyuYc+oDxtas9l1EKVFUSv5vMHk5yQzadcjIoFxUMyQ/ 7/IgeY0vNePWaH4IwO1SM0/mtPvzdrAd6nmBX01Y= From: Muhammad Usama Anjum To: Catalin Marinas , Will Deacon , Mark Rutland , Shuah Khan , Andrey Konovalov , Andrew Morton , Vincenzo Frascino , Amit Daniel Kachhap , Mark Brown , Yeoreum Yun , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Cc: Muhammad Usama Anjum Subject: [PATCH v2 1/5] selftests/arm64: Print TAP header Date: Fri, 21 Aug 2026 15:15:49 +0100 Message-ID: <20260821141556.4065894-2-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260821141556.4065894-1-usama.anjum@arm.com> References: <20260821141556.4065894-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The GCR_EL1 context-switch test prints its TAP plan before forking 1,024 child processes. When stdout is fully buffered, the plan remains in the stdio buffer. Each child inherits the pending "1..1" line and flushes its copy from exit(), producing repeated plan lines. ksft_print_header() enables line buffering before printing the TAP header. Call it before the plan so the plan is flushed before the child processes are forked. Fixes: 29f080881601 ("kselftest/arm64: check GCR_EL1 after context switch") Reviewed-by: Mark Brown Signed-off-by: Muhammad Usama Anjum --- Changes since v1: - Explain how line buffering prevents duplicate plan lines. - Use the selftests/arm64 subject prefix. --- tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c b/to= ols/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c index 325bca0de0f6e..d23f154d3288c 100644 --- a/tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c +++ b/tools/testing/selftests/arm64/mte/check_gcr_el1_cswitch.c @@ -131,6 +131,7 @@ int main(int argc, char *argv[]) if (err) return err; =20 + ksft_print_header(); ksft_set_plan(1); =20 evaluate_test(mte_gcr_fork_test(), --=20 2.47.3 From nobody Mon Sep 28 12:34:13 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9A9F54C6F08; Fri, 21 Aug 2026 14:16:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321768; cv=none; b=pE+J1wg/imeZG64QMq+XJYLEOC3ugj/3fqwnc0+A5UGyvP2wM6AzJkXR7JpQHhgG7uJKIwAu44i3/gi9hdXVyniO/DQr84isNhRIZ/brIduiHHLq+/2hwTx/au7YJFEDlv5DNKyuZwkBrSgtpnfity9GwId4+jyEXvhc94x+COQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321768; c=relaxed/simple; bh=Gxs5Zr+QF55DCl6dC8K9VHi+T/trfWwC5Dw24lTRc7c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YOREN2l3mrlzfAOYGmnpYUtkSVir4TKJudSZDEiv5LWaNlCfSOeb6bjrhS9Slib/d/PHT7w2l4EqlJoEZToGD73t4uV6LqklRCuilubl+zw3VwvVLYUABEbRmjKo309K64iiQaeUhKSwkcPvGWek5Ev0tzd9RsdR15/2sn3XR2M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=vkAEXPiJ; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="vkAEXPiJ" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1C398153B; Fri, 21 Aug 2026 07:16:02 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D7AC03F85F; Fri, 21 Aug 2026 07:16:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787321766; bh=Gxs5Zr+QF55DCl6dC8K9VHi+T/trfWwC5Dw24lTRc7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vkAEXPiJep+/iEoq2CrJWmSStN4H19aZxb6Hho6hBWYwy1UP1/PF64rOZWhjq+aDh 2QfD1Mu6+Jfh8j5LtsE9VrfImB7SX17BMg2d5Ads2/EchScHmibSOldcJsCXhtXN7O MN9nyFm1hryOlls9mIsD2Fo2cxTbO/qkfLlYj0SQ= From: Muhammad Usama Anjum To: Catalin Marinas , Will Deacon , Mark Rutland , Shuah Khan , Andrey Konovalov , Andrew Morton , Vincenzo Frascino , Amit Daniel Kachhap , Mark Brown , Yeoreum Yun , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Cc: Muhammad Usama Anjum Subject: [PATCH v2 2/5] selftests/arm64: Print missing MTE TAP headers Date: Fri, 21 Aug 2026 15:15:50 +0100 Message-ID: <20260821141556.4065894-3-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260821141556.4065894-1-usama.anjum@arm.com> References: <20260821141556.4065894-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Most of the remaining MTE tests set a TAP plan and emit results without first printing the TAP version header. Direct execution therefore starts with a plan such as "1..20" instead of "TAP version 13". Print the header in every remaining MTE test that is missing it. Do so before setup and prerequisite checks so early failures and whole-test skips also retain the header. Signed-off-by: Muhammad Usama Anjum --- Newly introduced. This is an output-format consistency change and does not fix duplicated output or alter test execution behavior. --- tools/testing/selftests/arm64/mte/check_buffer_fill.c | 2 ++ tools/testing/selftests/arm64/mte/check_child_memory.c | 2 ++ tools/testing/selftests/arm64/mte/check_hugetlb_options.c | 2 ++ tools/testing/selftests/arm64/mte/check_ksm_options.c | 2 ++ tools/testing/selftests/arm64/mte/check_mmap_options.c | 2 ++ tools/testing/selftests/arm64/mte/check_tags_inclusion.c | 2 ++ tools/testing/selftests/arm64/mte/check_user_mem.c | 2 ++ 7 files changed, 14 insertions(+) diff --git a/tools/testing/selftests/arm64/mte/check_buffer_fill.c b/tools/= testing/selftests/arm64/mte/check_buffer_fill.c index ff4e075033493..039b1d7d85663 100644 --- a/tools/testing/selftests/arm64/mte/check_buffer_fill.c +++ b/tools/testing/selftests/arm64/mte/check_buffer_fill.c @@ -406,6 +406,8 @@ int main(int argc, char *argv[]) size_t page_size =3D getpagesize(); int item =3D ARRAY_SIZE(sizes); =20 + ksft_print_header(); + sizes[item - 3] =3D page_size - 1; sizes[item - 2] =3D page_size; sizes[item - 1] =3D page_size + 1; diff --git a/tools/testing/selftests/arm64/mte/check_child_memory.c b/tools= /testing/selftests/arm64/mte/check_child_memory.c index 5e97ee792e4d2..e6a8acca2a941 100644 --- a/tools/testing/selftests/arm64/mte/check_child_memory.c +++ b/tools/testing/selftests/arm64/mte/check_child_memory.c @@ -146,6 +146,8 @@ int main(int argc, char *argv[]) int err; int item =3D ARRAY_SIZE(sizes); =20 + ksft_print_header(); + page_size =3D getpagesize(); if (!page_size) { ksft_print_msg("ERR: Unable to get page size\n"); diff --git a/tools/testing/selftests/arm64/mte/check_hugetlb_options.c b/to= ols/testing/selftests/arm64/mte/check_hugetlb_options.c index aad1234c7e0fe..23e4a7a9950c1 100644 --- a/tools/testing/selftests/arm64/mte/check_hugetlb_options.c +++ b/tools/testing/selftests/arm64/mte/check_hugetlb_options.c @@ -230,6 +230,8 @@ int main(int argc, char *argv[]) void *map_ptr; unsigned long map_size; =20 + ksft_print_header(); + err =3D mte_default_setup(); if (err) return err; diff --git a/tools/testing/selftests/arm64/mte/check_ksm_options.c b/tools/= testing/selftests/arm64/mte/check_ksm_options.c index 0cf5faef17248..866f0929b6647 100644 --- a/tools/testing/selftests/arm64/mte/check_ksm_options.c +++ b/tools/testing/selftests/arm64/mte/check_ksm_options.c @@ -132,6 +132,8 @@ int main(int argc, char *argv[]) { int err; =20 + ksft_print_header(); + err =3D mte_default_setup(); if (err) return err; diff --git a/tools/testing/selftests/arm64/mte/check_mmap_options.c b/tools= /testing/selftests/arm64/mte/check_mmap_options.c index c100af3012cbb..492f2cd41f43b 100644 --- a/tools/testing/selftests/arm64/mte/check_mmap_options.c +++ b/tools/testing/selftests/arm64/mte/check_mmap_options.c @@ -945,6 +945,8 @@ int main(int argc, char *argv[]) }, }; =20 + ksft_print_header(); + err =3D mte_default_setup(); if (err) return err; diff --git a/tools/testing/selftests/arm64/mte/check_tags_inclusion.c b/too= ls/testing/selftests/arm64/mte/check_tags_inclusion.c index 4b764f2a81857..6b4fa6705d7c1 100644 --- a/tools/testing/selftests/arm64/mte/check_tags_inclusion.c +++ b/tools/testing/selftests/arm64/mte/check_tags_inclusion.c @@ -175,6 +175,8 @@ int main(int argc, char *argv[]) { int err; =20 + ksft_print_header(); + err =3D mte_default_setup(); if (err) return err; diff --git a/tools/testing/selftests/arm64/mte/check_user_mem.c b/tools/tes= ting/selftests/arm64/mte/check_user_mem.c index fb7936c4e0978..af343aa617323 100644 --- a/tools/testing/selftests/arm64/mte/check_user_mem.c +++ b/tools/testing/selftests/arm64/mte/check_user_mem.c @@ -201,6 +201,8 @@ int main(int argc, char *argv[]) int tag_offsets[] =3D {page_sz, MT_GRANULE_SIZE}; char test_name[TEST_NAME_MAX]; =20 + ksft_print_header(); + page_sz =3D getpagesize(); if (!page_sz) { ksft_print_msg("ERR: Unable to get page size\n"); --=20 2.47.3 From nobody Mon Sep 28 12:34:13 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1C76E4C77B4; Fri, 21 Aug 2026 14:16:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321771; cv=none; b=FK4NHGwofxGHrex3Pn4atr/iagxoo8dlqPfOyPhzjYkdJKL1E/wHOpxFRFAwiCHxyFM8JiNNPrEwBTAY8B/LPaRtnH+PsrcUZRtIE+AliygHeNMGR9GxlLUiCAv10LQvCp90jxFSqSctGtJq7e7z1n+rucsFUEX/KONpu6xM7WY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321771; c=relaxed/simple; bh=X5HBMLCuijmwY0VLvkiys9Oe2dleXW/tzLxZjjV257k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tvIthcoSWpWyI0z7D9V7gVX7Ou0QybNEhazBKutfXXdVXhTr1Txv5BwcfbqBoquROKmrrZU4ICgzYPp2T+8UnTw2gMRtBGkKJE2bkvd3bcS7FcRldPfvrR/j3sowx/V9jHbLh0Svqn9aTo4iSs5HeKdmCDnDMiSyET0v8CXSv30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=rE5zE9+X; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="rE5zE9+X" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8954322C8; Fri, 21 Aug 2026 07:16:04 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4F01F3F85F; Fri, 21 Aug 2026 07:16:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787321768; bh=X5HBMLCuijmwY0VLvkiys9Oe2dleXW/tzLxZjjV257k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rE5zE9+XUefWLwSXoPLE8JgFXwjL07GiYktQd6wbIZzy8HSc9iVIYODCV8xzF8+D2 /8lJC1VSC5x6wdk/zXmVCdomFW3P0kWZnNvA/w/ZTQckV7pThmCwPdBpsWG+qg2n93 BKI7KDcMysbttDMVs7GjRQTsfCXL43yQUzFPj+tI= From: Muhammad Usama Anjum To: Catalin Marinas , Will Deacon , Mark Rutland , Shuah Khan , Andrey Konovalov , Andrew Morton , Vincenzo Frascino , Amit Daniel Kachhap , Mark Brown , Yeoreum Yun , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Cc: Muhammad Usama Anjum Subject: [PATCH v2 3/5] selftests/arm64: Treat KSM merge_across_nodes as optional Date: Fri, 21 Aug 2026 15:15:51 +0100 Message-ID: <20260821141556.4065894-4-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260821141556.4065894-1-usama.anjum@arm.com> References: <20260821141556.4065894-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The MTE KSM test requires write access to KSM sysfs but does not check that it is running as root. It also unconditionally saves, enables and restores the merge_across_nodes attribute. The kernel only creates this attribute when CONFIG_NUMA=3Dy, so a non-NUMA kernel prints the following message three times even though every KSM subtest passes: # ERR: missing /sys/kernel/mm/ksm/merge_across_nodes Skip the test when it is not running as root. Check that the optional attribute is readable and writable, treating ENOENT as its expected absence on non-NUMA kernels but reporting other access failures. Only save, enable and restore the attribute when it is available. Check MTE availability before the privilege and sysfs checks so systems without MTE retain the existing feature-unavailable skip result. This preserves the existing behavior on NUMA kernels without requiring NUMA or reducing KSM coverage on single-node systems. Fixes: f981d8fa2646 ("kselftest/arm64: Verify KSM page merge for MTE pages") Signed-off-by: Muhammad Usama Anjum --- Changes since v1: - Check MTE availability before requiring root and validating merge_across_nodes access. - Use the selftests/arm64 subject prefix. --- .../selftests/arm64/mte/check_ksm_options.c | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/arm64/mte/check_ksm_options.c b/tools/= testing/selftests/arm64/mte/check_ksm_options.c index 866f0929b6647..6dc605cf2d1bb 100644 --- a/tools/testing/selftests/arm64/mte/check_ksm_options.c +++ b/tools/testing/selftests/arm64/mte/check_ksm_options.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,20 @@ =20 static size_t page_sz; static unsigned long ksm_sysfs[5]; +static bool has_merge_across_nodes; + +static bool merge_across_nodes_available(void) +{ + const char *path =3D PATH_KSM "merge_across_nodes"; + + if (!access(path, R_OK | W_OK)) + return true; + if (errno =3D=3D ENOENT) + return false; + + ksft_exit_fail_msg("Unable to read and write %s: %s\n", path, + strerror(errno)); +} =20 static unsigned long read_sysfs(char *str) { @@ -56,8 +71,10 @@ static void write_sysfs(char *str, unsigned long val) =20 static void mte_ksm_setup(void) { - ksm_sysfs[0] =3D read_sysfs(PATH_KSM "merge_across_nodes"); - write_sysfs(PATH_KSM "merge_across_nodes", 1); + if (has_merge_across_nodes) { + ksm_sysfs[0] =3D read_sysfs(PATH_KSM "merge_across_nodes"); + write_sysfs(PATH_KSM "merge_across_nodes", 1); + } ksm_sysfs[1] =3D read_sysfs(PATH_KSM "sleep_millisecs"); write_sysfs(PATH_KSM "sleep_millisecs", 0); ksm_sysfs[2] =3D read_sysfs(PATH_KSM "run"); @@ -70,7 +87,8 @@ static void mte_ksm_setup(void) =20 static void mte_ksm_restore(void) { - write_sysfs(PATH_KSM "merge_across_nodes", ksm_sysfs[0]); + if (has_merge_across_nodes) + write_sysfs(PATH_KSM "merge_across_nodes", ksm_sysfs[0]); write_sysfs(PATH_KSM "sleep_millisecs", ksm_sysfs[1]); write_sysfs(PATH_KSM "run", ksm_sysfs[2]); write_sysfs(PATH_KSM "max_page_sharing", ksm_sysfs[3]); @@ -137,6 +155,11 @@ int main(int argc, char *argv[]) err =3D mte_default_setup(); if (err) return err; + + if (geteuid() !=3D 0) + ksft_exit_skip("Please run the test as root\n"); + + has_merge_across_nodes =3D merge_across_nodes_available(); page_sz =3D getpagesize(); if (!page_sz) { ksft_print_msg("ERR: Unable to get page size\n"); --=20 2.47.3 From nobody Mon Sep 28 12:34:13 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7772D4C77D3; Fri, 21 Aug 2026 14:16:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321772; cv=none; b=O3m1tI2j4nrhT6ZfgrOUo+SdkE8wvFP39UFrLJIEa+SqnMaL7xwRp0Sjd6NdqjgcP4gLHrmzZhZpOnfXyUS/kEuqYexq1NB17+YAPgiq/Ybhcll4gmaiGqvWhN5jwM1b2Ut1zdvaDxd426aA2DpMfiDWiM4HVRy/q/D7+RSZ4y0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321772; c=relaxed/simple; bh=P7OYcyFhp0FOazsEulZVO/ysmQGGewaznoTVnl08A+w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=djuFzxbKIZftWYaKxQw6QZeeP1+zSgyLMe4dGlcq4YoeALmuCMFH8yNmb/YZw549gVTUKlckn6CZf8om7uwZmOazxDeCCzi1YmI606ha4v4LVd2NtAtn+gSu/qbBMh9GcI5p8FRdFCuHkOT22zqKDccBFpnHrHdiaq3sli71rj8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=DZsXHl8o; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="DZsXHl8o" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0C4E1153B; Fri, 21 Aug 2026 07:16:07 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BA7AD3F85F; Fri, 21 Aug 2026 07:16:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787321770; bh=P7OYcyFhp0FOazsEulZVO/ysmQGGewaznoTVnl08A+w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DZsXHl8o5s1wdXyMnL/7ixTPhIj6HJ2FLidCCW0srvfe6JG9F/Yk1W0ZcMQnH6i9k F4w8IC2EsaauQW/Sl+gzq8JT4NNIXaF6rb9IR1IvP3SuN+KvKkmzf956rnNNsbUJK5 i0vSw0Ft/UiJ0aTj26Cdxge8VtDs0oZeBl3pUpsQ= From: Muhammad Usama Anjum To: Catalin Marinas , Will Deacon , Mark Rutland , Shuah Khan , Andrey Konovalov , Andrew Morton , Vincenzo Frascino , Amit Daniel Kachhap , Mark Brown , Yeoreum Yun , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Cc: Muhammad Usama Anjum Subject: [PATCH v2 4/5] selftests/arm64: Fix MTE prctl TAP plan Date: Fri, 21 Aug 2026 15:15:52 +0100 Message-ID: <20260821141556.4065894-5-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260821141556.4065894-1-usama.anjum@arm.com> References: <20260821141556.4065894-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The MTE prctl test emits one result from check_basic_read() followed by one result for each of the seven entries in mte_modes[]. However, the TAP plan only accounts for the array entries, producing: # Planned tests !=3D run tests (7 !=3D 8) Include the basic read check in the plan so that all eight emitted results are declared. Reviewed-by: Mark Brown Fixes: 1f488fb91378 ("kselftest/arm64/mte: Add MTE_STORE_ONLY testcases") Signed-off-by: Muhammad Usama Anjum --- Changes since v1: - Use the selftests/arm64 subject prefix. --- tools/testing/selftests/arm64/mte/check_prctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/arm64/mte/check_prctl.c b/tools/testin= g/selftests/arm64/mte/check_prctl.c index f7f320defa7b9..d16a91117eef9 100644 --- a/tools/testing/selftests/arm64/mte/check_prctl.c +++ b/tools/testing/selftests/arm64/mte/check_prctl.c @@ -119,7 +119,7 @@ int main(void) int i; =20 ksft_print_header(); - ksft_set_plan(ARRAY_SIZE(mte_modes)); + ksft_set_plan(ARRAY_SIZE(mte_modes) + 1); =20 check_basic_read(); for (i =3D 0; i < ARRAY_SIZE(mte_modes); i++) --=20 2.47.3 From nobody Mon Sep 28 12:34:13 2026 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EE7654C77B4; Fri, 21 Aug 2026 14:16:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321775; cv=none; b=TsLRvZVGxicheUVy69L9kFvz43LsfCAg/S2b5mNwUhBQVR5HsJJqb6n2Cpwh5u7xkk5Diw3XyNc41+I07SfrckCg6aOChwsu4RW6el+aSmA740hkNsrlJzdvIETI5nksTwr36cy7NyWtCE8ltbdPHOGapZZV4A2xqK9iLXcr99I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787321775; c=relaxed/simple; bh=kcTQsC3Bd3GhdslHTEcBTgJQu7xoquii4VHYMzHe8WU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ejsA0EOp30YUgXBh21PKIGjMszmQUOBfEN2PO38HjnDlfUhhnpfbovoyYJam7isBiyYAN9LR7Wa5iJ+l9rAhQJl+Z+AS3/YboVbVGGEXWfcep8cycmr5Pw8TAWnlWg6kL6EGkm6NfRfkoXEZrlQuTAhBQpwkeaN3lsOaTqJ55Hg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=TiDhLsfB; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="TiDhLsfB" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7E26722C8; Fri, 21 Aug 2026 07:16:09 -0700 (PDT) Received: from e142334-100.cambridge.arm.com (e142334-100.cambridge.arm.com [10.2.198.93]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3A6AB3F85F; Fri, 21 Aug 2026 07:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1787321773; bh=kcTQsC3Bd3GhdslHTEcBTgJQu7xoquii4VHYMzHe8WU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TiDhLsfBJqhxlr3u4mRBOJlkF66QtntY7nKg+yOcy8hQ9C76tifjdB3FsHt+m/64E qiZN5uLaZni5qtGRrbJkn3h9QxTmQPmqCeh+HRJudd4icu5UqtIa5F10BGC/Jd3Z+m PgSG44rqDCWo3iwd21rl0Btipjc/Zhc2yT9L8Jgs= From: Muhammad Usama Anjum To: Catalin Marinas , Will Deacon , Mark Rutland , Shuah Khan , Andrey Konovalov , Andrew Morton , Vincenzo Frascino , Amit Daniel Kachhap , Mark Brown , Yeoreum Yun , linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)), linux-kselftest@vger.kernel.org (open list:KERNEL SELFTEST FRAMEWORK) Cc: Muhammad Usama Anjum Subject: [PATCH v2 5/5] selftests/arm64: Add MTE test config fragment Date: Fri, 21 Aug 2026 15:15:53 +0100 Message-ID: <20260821141556.4065894-6-usama.anjum@arm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260821141556.4065894-1-usama.anjum@arm.com> References: <20260821141556.4065894-1-usama.anjum@arm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The arm64 selftest collection has no Kconfig fragment, so kernels built with the selftest requirements are not guaranteed to provide the support used by these tests. Add a fragment covering all tests in arm64. Signed-off-by: Muhammad Usama Anjum Reviewed-by: Mark Brown --- Changes since v1: - Move the config fragment to the arm64 directory. - Add requirements shared by other arm64 selftests. - Use the selftests/arm64 subject prefix. --- tools/testing/selftests/arm64/config | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tools/testing/selftests/arm64/config diff --git a/tools/testing/selftests/arm64/config b/tools/testing/selftests= /arm64/config new file mode 100644 index 0000000000000..0fa9755853924 --- /dev/null +++ b/tools/testing/selftests/arm64/config @@ -0,0 +1,17 @@ +CONFIG_ARM64_BTI=3Dy +CONFIG_ARM64_GCS=3Dy +CONFIG_ARM64_MTE=3Dy +CONFIG_ARM64_POE=3Dy +CONFIG_ARM64_PTR_AUTH=3Dy +CONFIG_ARM64_SME=3Dy +CONFIG_ARM64_SVE=3Dy +CONFIG_ARM64_TAGGED_ADDR_ABI=3Dy +CONFIG_HUGETLBFS=3Dy +CONFIG_KSM=3Dy +CONFIG_PROC_FS=3Dy +CONFIG_SECCOMP=3Dy +CONFIG_SECCOMP_FILTER=3Dy +CONFIG_SHMEM=3Dy +CONFIG_SYSCTL=3Dy +CONFIG_SYSFS=3Dy +CONFIG_TMPFS=3Dy --=20 2.47.3