On 5/10/22 10:45 AM, Mark Brown wrote:
When we detect a problem in verify_mte_pointer_validity() while checking tags we don't log what the problem was which makes debugging harder. Add some diagnostics.
Signed-off-by: Mark Brown broonie@kernel.org
.../selftests/arm64/mte/check_tags_inclusion.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/arm64/mte/check_tags_inclusion.c b/tools/testing/selftests/arm64/mte/check_tags_inclusion.c index deaef1f61076..b906914997ce 100644 --- a/tools/testing/selftests/arm64/mte/check_tags_inclusion.c +++ b/tools/testing/selftests/arm64/mte/check_tags_inclusion.c @@ -25,8 +25,11 @@ static int verify_mte_pointer_validity(char *ptr, int mode) /* Check the validity of the tagged pointer */ memset((void *)ptr, '1', BUFFER_SIZE); mte_wait_after_trig();
- if (cur_mte_cxt.fault_valid)
- if (cur_mte_cxt.fault_valid) {
ksft_print_msg("Unexpected fault recorded for %p-%p in mode %x\n",
return KSFT_FAIL;ptr, ptr + BUFFER_SIZE, mode);
- } /* Proceed further for nonzero tags */ if (!MT_FETCH_TAG((uintptr_t)ptr)) return KSFT_PASS;
@@ -34,10 +37,13 @@ static int verify_mte_pointer_validity(char *ptr, int mode) /* Check the validity outside the range */ ptr[BUFFER_SIZE] = '2'; mte_wait_after_trig();
- if (!cur_mte_cxt.fault_valid)
- if (!cur_mte_cxt.fault_valid) {
ksft_print_msg("No valid fault recorded for %p in mode %x\n",
return KSFT_FAIL;ptr, mode);
- else
- } else { return KSFT_PASS;
- } }
static int check_single_included_tags(int mem_type, int mode)
Nice. Thanks for the patch.
It would be a nice addition to print mode names as strings to make it easy to understand. Could done in a future patch. e,g: MTE_NONE_ERR etc.
Reviewed-by: Shuah Khan skhan@linuxfoundation.org
thanks, -- Shuah