2019-03-28 23:10:39

by Jann Horn

[permalink] [raw]
Subject: [PATCH] x86: define LOADED_MM_SWITCHING with pointer-sized number

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 <[email protected]>
---
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 {
--
2.21.0.392.gf8f6787159e-goog



2019-03-29 07:33:48

by Mukesh Ojha

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


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 <[email protected]>


Reviewed-by: Mukesh Ojha <[email protected]>

-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 {

2019-03-29 13:58:16

by Borislav Petkov

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

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

For the future:

The tip tree preferred format for patch subject prefixes is
'subsys/component:', e.g. 'x86/apic:', 'x86/mm/fault:', 'sched/fair:',
'genirq/core:'. Please do not use file names or complete file paths as
prefix. 'git log path/to/file' should give you a reasonable hint in most
cases.

The condensed patch description in the subject line should start with a
uppercase letter and should be written in imperative tone.

I've fixed it up now.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

Subject: [tip:x86/cleanups] x86/mm/tlb: Define LOADED_MM_SWITCHING with pointer-sized number

Commit-ID: a72a19327b92e09dab0eb9fd2bc83466465cbffb
Gitweb: https://git.kernel.org/tip/a72a19327b92e09dab0eb9fd2bc83466465cbffb
Author: Jann Horn <[email protected]>
AuthorDate: Fri, 29 Mar 2019 00:09:39 +0100
Committer: Borislav Petkov <[email protected]>
CommitDate: Fri, 29 Mar 2019 14:55:31 +0100

x86/mm/tlb: Define LOADED_MM_SWITCHING with pointer-sized number

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 <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Reviewed-by: Mukesh Ojha <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Sai Praneeth <[email protected]>
Cc: Sebastian Andrzej Siewior <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: x86-ml <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
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 {

2019-03-29 14:50:09

by Jann Horn

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

On Fri, Mar 29, 2019 at 2:57 PM Borislav Petkov <[email protected]> wrote:
>
> > Subject: Re: [PATCH] x86: define LOADED_MM_SWITCHING with pointer-sized number
>
> For the future:
>
> The tip tree preferred format for patch subject prefixes is
> 'subsys/component:', e.g. 'x86/apic:', 'x86/mm/fault:', 'sched/fair:',
> 'genirq/core:'. Please do not use file names or complete file paths as
> prefix. 'git log path/to/file' should give you a reasonable hint in most
> cases.
>
> The condensed patch description in the subject line should start with a
> uppercase letter and should be written in imperative tone.
>
> I've fixed it up now.

Ah, thanks. I'll write that down somewhere...