Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753046AbcCRIXT (ORCPT ); Fri, 18 Mar 2016 04:23:19 -0400 Received: from mail-wm0-f46.google.com ([74.125.82.46]:38322 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751286AbcCRIXJ (ORCPT ); Fri, 18 Mar 2016 04:23:09 -0400 Date: Fri, 18 Mar 2016 09:23:56 +0100 From: Daniel Vetter To: Joe Perches Cc: Gustavo Padovan , Rob Clark , Gustavo Padovan , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Greg Kroah-Hartman , Linux Kernel Mailing List , devel@driverdev.osuosl.org, "dri-devel@lists.freedesktop.org" , Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Riley Andrews , Daniel Vetter , Greg Hackmann , John Harrison , Maarten Lankhorst , Andrew Morton , David Airlie , Daniel Vetter , linuxppc-dev Subject: Re: [PATCH v9 2/3] kernel.h: add to_user_ptr() Message-ID: <20160318082356.GF14170@phenom.ffwll.local> Mail-Followup-To: Joe Perches , Gustavo Padovan , Rob Clark , Gustavo Padovan , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Greg Kroah-Hartman , Linux Kernel Mailing List , devel@driverdev.osuosl.org, "dri-devel@lists.freedesktop.org" , Daniel Stone , Arve =?iso-8859-1?B?SGr4bm5lduVn?= , Riley Andrews , Greg Hackmann , John Harrison , Maarten Lankhorst , Andrew Morton , David Airlie , Daniel Vetter , linuxppc-dev References: <1458236486.9556.11.camel@perches.com> <20160317180523.GA2619@joana> <20160317184318.GA2611@joana> <1458246150.9556.17.camel@perches.com> <1458247207.9556.28.camel@perches.com> <1458249003.9556.30.camel@perches.com> <20160317211910.GB2611@joana> <1458250430.9556.39.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1458250430.9556.39.camel@perches.com> X-Operating-System: Linux phenom 4.3.0-1-amd64 User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1641 Lines: 44 On Thu, Mar 17, 2016 at 02:33:50PM -0700, Joe Perches wrote: > On Thu, 2016-03-17 at 18:19 -0300, Gustavo Padovan wrote: > > 2016-03-17 Joe Perches : > > > On Thu, 2016-03-17 at 16:50 -0400, Rob Clark wrote: > > > > On Thu, Mar 17, 2016 at 4:40 PM, Joe Perches wrote: > > > [] > > > > > It's a name that seems like it should be a straightforward > > > > > cast of a kernel pointer to a __user pointer like: > > > > > > > > > > static inline void __user *to_user_ptr(void *p) > > > > > { > > > > > ????????return (void __user *)p; > > > > > } > > > > ahh, ok.??I guess I was used to using it in the context of ioctl > > > > structs..??in that context u64 -> (void __user *) made more sense. > > > > > > > > Maybe uapi_to_ptr()???(ok, not super-creative.. maybe someone has a > > > > better idea) > > > Maybe u64_to_user_ptr? > > That is a good name. If everyone agrees I can resend this patch > > changing it to u64_to_user_ptr. Then should we still keep it on > > kernel.h? > > I've no particular opinion about location, > but maybe compat.h might be appropriate. > > Maybe add all variants: > > void __user *u32_to_user_ptr(u32 val) > void __user *u64_to_user_ptr(u64 val) > u32 user_ptr_to_u32(void __user *p) > u64 user_ptr_to_u64(void __user *p) > > Maybe there's something about 32 bit userspace on > 64 OS that should be done too. Tbh I really don't think we should add 32bit variants and encourage the mispractice of having 32bit user ptrs in ioctl structs and stuff. Anyway, just my bikeshed on top ;-) -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch