[PATCH v12 1/2] kernel.h: add u64_to_user_ptr()

Tomas Winkler tomasw at gmail.com
Mon Jul 11 07:51:58 UTC 2016


> > > Though I normally prefer static inline functions, I see the benefits of
> > > using the macro form here.
>
> An inline could still work
>         static inline void __user *u64_to_user_ptr(u64 address)
>         {
>                 return (void __user *)(uintptr_t)address;
>         }
> if the macro was
>         #define u64_to_user_ptr(x)              \
>         ({                                      \
>                 typecheck(u64, x);              \
>                 (u64_to_user_ptr)(x);           \
>         })
>
> the parenthesis around the u64_to_user_ptr
> in the macro should prevent expansion.
>

sparse is throwing 'warning: dereference of noderef expression' on
this macro now.
Any clues what need to be fixed
Thanks
Tomas


More information about the devel mailing list