Patch "kselftest/arm64: mte: fix printf type warnings about __u64" has been added to the 6.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    kselftest/arm64: mte: fix printf type warnings about __u64

to the 6.11-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     kselftest-arm64-mte-fix-printf-type-warnings-about-_.patch
and it can be found in the queue-6.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a5a60fbd2aa7a715ccb3161fac027d0d6e9610a3
Author: Andre Przywara <andre.przywara@xxxxxxx>
Date:   Fri Aug 16 16:32:49 2024 +0100

    kselftest/arm64: mte: fix printf type warnings about __u64
    
    [ Upstream commit 7e893dc81de3e342156389ea0b83ec7d07f25281 ]
    
    When printing the signal context's PC, we use a "%lx" format specifier,
    which matches the common userland (glibc's) definition of uint64_t as an
    "unsigned long". However the structure in question is defined in a
    kernel uapi header, which uses a self defined __u64 type, and the arm64
    kernel headers define this using "int-ll64.h", so it becomes an
    "unsigned long long". This mismatch leads to the usual compiler warning.
    
    The common fix would be to use "PRIx64", but because this is defined by
    the userland's toolchain libc headers, it wouldn't match as well. Since
    we know the exact type of __u64, just use "%llx" here instead, to silence
    this warning.
    
    This also fixes a more severe typo: "$lx" is not a valid format
    specifier.
    
    Fixes: 191e678bdc9b ("kselftest/arm64: Log unexpected asynchronous MTE faults")
    Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>
    Reviewed-by: Mark Brown <broonie@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240816153251.2833702-7-andre.przywara@xxxxxxx
    Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/testing/selftests/arm64/mte/mte_common_util.c b/tools/testing/selftests/arm64/mte/mte_common_util.c
index 00ffd34c66d30..1120f5aa76550 100644
--- a/tools/testing/selftests/arm64/mte/mte_common_util.c
+++ b/tools/testing/selftests/arm64/mte/mte_common_util.c
@@ -38,7 +38,7 @@ void mte_default_handler(int signum, siginfo_t *si, void *uc)
 			if (cur_mte_cxt.trig_si_code == si->si_code)
 				cur_mte_cxt.fault_valid = true;
 			else
-				ksft_print_msg("Got unexpected SEGV_MTEAERR at pc=$lx, fault addr=%lx\n",
+				ksft_print_msg("Got unexpected SEGV_MTEAERR at pc=%llx, fault addr=%lx\n",
 					       ((ucontext_t *)uc)->uc_mcontext.pc,
 					       addr);
 			return;
@@ -64,7 +64,7 @@ void mte_default_handler(int signum, siginfo_t *si, void *uc)
 			exit(1);
 		}
 	} else if (signum == SIGBUS) {
-		ksft_print_msg("INFO: SIGBUS signal at pc=%lx, fault addr=%lx, si_code=%lx\n",
+		ksft_print_msg("INFO: SIGBUS signal at pc=%llx, fault addr=%lx, si_code=%x\n",
 				((ucontext_t *)uc)->uc_mcontext.pc, addr, si->si_code);
 		if ((cur_mte_cxt.trig_range >= 0 &&
 		     addr >= MT_CLEAR_TAG(cur_mte_cxt.trig_addr) &&




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux