Re: [PATCH] mm: Make VM_FAULT_RESULT_TRACE compatible with sparse

"Lorenzo Stoakes (ARM)" <[email protected]>
Newsgroups org.kvack.linux-mm
Message-ID <anYSxm7GHV-bymDQ@lucifer>
On Fri, Aug 07, 2026 at 10:13:10AM -0700, Bart Van Assche wrote:
> Fix the following sparse warnings that appear while building f2fs:
>
> ./include/trace/events/f2fs.h:1469:1: warning: incorrect type in initializer (different base types)
> ./include/trace/events/f2fs.h:1469:1:    expected unsigned long mask
> ./include/trace/events/f2fs.h:1469:1:    got restricted vm_fault_t
>
> Cc: Andrew Morton <[email protected]>
> Cc: Lorenzo Stoakes (Oracle) <[email protected]>

I no longer work at Oracle ;)

> Signed-off-by: Bart Van Assche <[email protected]>

This seems reasonable to me, AFAICT.

Acked-by: Lorenzo Stoakes (ARM) <[email protected]>

> ---
>  include/linux/mm_types.h | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index b18c2b2e7d2c..fcd7d6cfce0f 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -1703,20 +1703,20 @@ enum vm_fault_reason {
>  			VM_FAULT_SIGSEGV | VM_FAULT_HWPOISON |	\
>  			VM_FAULT_HWPOISON_LARGE | VM_FAULT_FALLBACK)
>
> -#define VM_FAULT_RESULT_TRACE \
> -	{ VM_FAULT_OOM,                 "OOM" },	\
> -	{ VM_FAULT_SIGBUS,              "SIGBUS" },	\
> -	{ VM_FAULT_MAJOR,               "MAJOR" },	\
> -	{ VM_FAULT_HWPOISON,            "HWPOISON" },	\
> -	{ VM_FAULT_HWPOISON_LARGE,      "HWPOISON_LARGE" },	\
> -	{ VM_FAULT_SIGSEGV,             "SIGSEGV" },	\
> -	{ VM_FAULT_NOPAGE,              "NOPAGE" },	\
> -	{ VM_FAULT_LOCKED,              "LOCKED" },	\
> -	{ VM_FAULT_RETRY,               "RETRY" },	\
> -	{ VM_FAULT_FALLBACK,            "FALLBACK" },	\
> -	{ VM_FAULT_DONE_COW,            "DONE_COW" },	\
> -	{ VM_FAULT_NEEDDSYNC,           "NEEDDSYNC" },	\
> -	{ VM_FAULT_COMPLETED,           "COMPLETED" }
> +#define VM_FAULT_RESULT_TRACE						\
> +	{ (__force u32)VM_FAULT_OOM,                 "OOM" },		\
> +	{ (__force u32)VM_FAULT_SIGBUS,              "SIGBUS" },	\
> +	{ (__force u32)VM_FAULT_MAJOR,               "MAJOR" },		\
> +	{ (__force u32)VM_FAULT_HWPOISON,            "HWPOISON" },	\
> +	{ (__force u32)VM_FAULT_HWPOISON_LARGE,      "HWPOISON_LARGE" }, \
> +	{ (__force u32)VM_FAULT_SIGSEGV,             "SIGSEGV" },	\
> +	{ (__force u32)VM_FAULT_NOPAGE,              "NOPAGE" },	\
> +	{ (__force u32)VM_FAULT_LOCKED,              "LOCKED" },	\
> +	{ (__force u32)VM_FAULT_RETRY,               "RETRY" },		\
> +	{ (__force u32)VM_FAULT_FALLBACK,            "FALLBACK" },	\
> +	{ (__force u32)VM_FAULT_DONE_COW,            "DONE_COW" },	\
> +	{ (__force u32)VM_FAULT_NEEDDSYNC,           "NEEDDSYNC" },	\
> +	{ (__force u32)VM_FAULT_COMPLETED,           "COMPLETED" }
>
>  struct vm_special_mapping {
>  	const char *name;	/* The name, e.g. "[vdso]". */

--
Cheers, Lorenzo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.