While prctl() returns an 'int', the PR_MTE_TCF_MASK is defined as
unsigned long which results in the larger type following a bitwise 'and'
operation. Cast the printf() argument to 'int'.

Cc: Shuah Khan <sk...@linuxfoundation.org>
Cc: Mark Brown <broo...@kernel.org>
Signed-off-by: Catalin Marinas <catalin.mari...@arm.com>
---
 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/testing/selftests/arm64/mte/check_prctl.c
index f139a33a43ef..51e3f41a54d1 100644
--- a/tools/testing/selftests/arm64/mte/check_prctl.c
+++ b/tools/testing/selftests/arm64/mte/check_prctl.c
@@ -85,7 +85,7 @@ void set_mode_test(const char *name, int hwcap2, int mask)
                ksft_test_result_pass("%s\n", name);
        } else {
                ksft_print_msg("Got %x, expected %x\n",
-                              (ret & PR_MTE_TCF_MASK), mask);
+                              (int)(ret & PR_MTE_TCF_MASK), mask);
                ksft_test_result_fail("%s\n", name);
        }
 }

Reply via email to