[PATCH v6 5/9] kselftest/arm64/mte: check MTE_FAR feature is supported
Yeo Reum Yun
YeoReum.Yun at arm.com
Wed Jun 11 05:23:26 PDT 2025
Hi Mark,
> > #include <unistd.h>
>
> Not sure why we'd be including time.h here?
As you mention, This is my bad for wrong plcae .. Sorry
> > +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....
> > +
> > 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 at google.com; will at kernel.org; Anshuman Khandual; Joey Gouly; Yury Khrustalev; maz at kernel.org; oliver.upton at linux.dev; frederic at kernel.org; akpm at linux-foundation.org; surenb at google.com; linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org; linux-doc at 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:
> --- a/tools/testing/selftests/arm64/mte/mte_common_util.c
> +++ b/tools/testing/selftests/arm64/mte/mte_common_util.c
> @@ -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>
> @@ -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...
> @@ -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.
More information about the linux-arm-kernel
mailing list