Re: [PATCH v6 5/9] kselftest/arm64/mte: check MTE_FAR feature is supported
From: Yeo Reum Yun <hidden>
Date: 2025-06-11 12:24:05
Also in:
linux-doc, lkml
Hi Mark,
quoted
#include <unistd.h>Not sure why we'd be including time.h here?
As you mention, This is my bad for wrong plcae .. Sorry
quoted
+bool mtefar_support;This is a non-static variable so won't have a defined default value...
Right, at the first write, I declare this with static. But forgetting when changing more....
quoted
+ if (mode == MTE_SYNC_ERR) cur_mte_cxt.trig_si_code = SEGV_MTESERR; else if (mode == MTE_ASYNC_ERR)Unrelated whitespace change.
Thanks.
...this will only set mtefar_support if the hwcap is present, leaving it undefined if not. If you just make this mtefar_support = hwcap3 & HWCAP3_MTE_FAR that should avoid the issue.
Thanks for catching this. I'll change. -- Sincerely, Yeoreum Yun ________________________________________ From: Mark Brown Sent: Wednesday, June 11, 2025 12:52 To: Yeo Reum Yun Cc: Catalin Marinas; pcc@google.com; will@kernel.org; Anshuman Khandual; Joey Gouly; Yury Khrustalev; maz@kernel.org; oliver.upton@linux.dev; frederic@kernel.org; akpm@linux-foundation.org; surenb@google.com; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-doc@vger.kernel.org Subject: Re: [PATCH v6 5/9] kselftest/arm64/mte: check MTE_FAR feature is supported On Wed, Jun 11, 2025 at 10:41:03AM +0100, Yeoreum Yun wrote:
quoted hunk ↗ jump to hunk
--- a/tools/testing/selftests/arm64/mte/mte_common_util.c
quoted hunk ↗ jump to hunk
+++ b/tools/testing/selftests/arm64/mte/mte_common_util.c
quoted hunk ↗ jump to hunk
@@ -6,6 +6,7 @@
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
+#include <time.h>
#include <unistd.h>
Not sure why we'd be including time.h here?
#include <linux/auxvec.h>
quoted hunk ↗ jump to hunk
@@ -26,6 +27,7 @@
#define INIT_BUFFER_SIZE 256
struct mte_fault_cxt cur_mte_cxt;
+bool mtefar_support;
This is a non-static variable so won't have a defined default value...
quoted hunk ↗ jump to hunk
@@ -273,6 +275,7 @@ void mte_initialize_current_context(int mode, uintptr_t ptr, ssize_t range)
cur_mte_cxt.fault_valid = false;
cur_mte_cxt.trig_addr = ptr;
cur_mte_cxt.trig_range = range;
+
if (mode == MTE_SYNC_ERR)
cur_mte_cxt.trig_si_code = SEGV_MTESERR;
else if (mode == MTE_ASYNC_ERR)
Unrelated whitespace change.
if (!(hwcaps2 & HWCAP2_MTE))
ksft_exit_skip("MTE features unavailable\n");+ if (hwcaps3 & HWCAP3_MTE_FAR)
+ mtefar_support = true;
+
...this will only set mtefar_support if the hwcap is present, leaving it undefined if not. If you just make this mtefar_support = hwcap3 & HWCAP3_MTE_FAR that should avoid the issue.