2016-04-20 Joe Perches <joe@xxxxxxxxxxx>: > On Wed, 2016-04-20 at 16:18 -0300, Gustavo Padovan wrote: > > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > > > This function had copies in 3 different files. Unify them in kernel.h. > [] > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h > [] > > @@ -53,6 +53,12 @@ > > > > #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) > > > > +static inline void __user *u64_to_user_ptr(u64 address) > > +{ > > + typecheck(u64, address); > > + return (void __user *)(uintptr_t)address; > > +} > > + > > This won't work because by the time address is checked > address is already u64 > > This would need to be something like > > #define u64_to_user_ptr(x) \ > ({ \ > typecheck(u64, x); \ > u64_to_user_ptr(x); \ > }) Indeed, thanks for noting and for the suggestion. Gustavo _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel