Re: [PATCH] x86: define LOADED_MM_SWITCHING with pointer-sized number

From: Mukesh Ojha
Date: Fri Mar 29 2019 - 03:32:54 EST



On 3/29/2019 4:39 AM, Jann Horn wrote:
sparse complains that LOADED_MM_SWITCHING's definition casts an int to a
pointer:

arch/x86/mm/tlb.c:409:17: warning: non size-preserving integer to pointer
cast

Use a pointer-sized integer constant instead.

Signed-off-by: Jann Horn <jannh@xxxxxxxxxx>


Reviewed-by: Mukesh Ojha <mojha@xxxxxxxxxxxxxx>

-Mukesh

---
arch/x86/include/asm/tlbflush.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
index f4204bf377fc..90926e8dd1f8 100644
--- a/arch/x86/include/asm/tlbflush.h
+++ b/arch/x86/include/asm/tlbflush.h
@@ -167,7 +167,7 @@ struct tlb_state {
*/
struct mm_struct *loaded_mm;
-#define LOADED_MM_SWITCHING ((struct mm_struct *)1)
+#define LOADED_MM_SWITCHING ((struct mm_struct *)1UL)
/* Last user mm for optimizing IBPB */
union {