Messages in this thread |  | | Subject | Re: [PATCH v12 1/2] kernel.h: add u64_to_user_ptr() | | From | Joe Perches <> | | Date | Tue, 26 Apr 2016 07:40:43 -0700 |
| |
On Tue, 2016-04-26 at 11:29 -0300, Gustavo Padovan wrote: > 2016-04-26 Lucas Stach <l.stach@pengutronix.de>: > > Am Donnerstag, den 21.04.2016, 12:38 -0300 schrieb Gustavo Padovan: > > > From: Gustavo Padovan <gustavo.padovan@collabora.co.uk> > > > > > > This function had copies in 3 different files. Unify them in kernel.h. > > > > > > Cc: Joe Perches <joe@perches.com> > > > Cc: Andrew Morton <akpm@linux-foundation.org> > > > Cc: David Airlie <airlied@linux.ie> > > > Cc: Daniel Vetter <daniel.vetter@intel.com> > > > Cc: Rob Clark <robdclark@gmail.com> > > > Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> > > > > > 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.
|  |