[PATCH v1 3/4] kselftest/arm64: Refactor parameter checking in mte_switch_mode()

Shuah Khan skhan at linuxfoundation.org
Thu Mar 10 12:05:19 PST 2022


On 3/10/22 7:43 AM, Mark Brown wrote:
> Currently we just have a big if statement with a non-specific diagnostic
> checking both the mode and the tag. Since we'll need to dynamically check
> for asymmetric mode support in the system and to improve debugability split
> these checks out.
> 
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---
>   .../testing/selftests/arm64/mte/mte_common_util.c | 15 ++++++++++++---
>   1 file changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/arm64/mte/mte_common_util.c b/tools/testing/selftests/arm64/mte/mte_common_util.c
> index 24b0c14203cb..9b4529ef2b29 100644
> --- a/tools/testing/selftests/arm64/mte/mte_common_util.c
> +++ b/tools/testing/selftests/arm64/mte/mte_common_util.c
> @@ -271,9 +271,18 @@ int mte_switch_mode(int mte_option, unsigned long incl_mask)
>   {
>   	unsigned long en = 0;
>   
> -	if (!(mte_option == MTE_SYNC_ERR || mte_option == MTE_ASYNC_ERR ||
> -	      mte_option == MTE_NONE_ERR || incl_mask <= MTE_ALLOW_NON_ZERO_TAG)) {
> -		ksft_print_msg("FAIL: Invalid mte config option\n");
> +	switch (mte_option) {
> +	case MTE_NONE_ERR:
> +	case MTE_SYNC_ERR:
> +	case MTE_ASYNC_ERR:
> +		break;
> +	default:
> +		ksft_print_msg("FAIL: Invalid MTE option %x\n", mte_option);
> +		return -EINVAL;
> +	}
> +
> +	if (!(incl_mask <= MTE_ALLOW_NON_ZERO_TAG)) {
> +		ksft_print_msg("FAIL: Invalid incl_mask %lx\n", incl_mask);
>   		return -EINVAL;
>   	}
>   	en = PR_TAGGED_ADDR_ENABLE;
> 

Looks good to me.

Reviewed-by: Shuah Khan <skhan at linuxfoundation.org>

thanks,
-- Shuah



More information about the linux-arm-kernel mailing list