From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [RFCv1 12/12] ARM: add get_user() support for 8 byte types Date: Sun, 6 Oct 2013 09:53:54 +0100 Message-ID: <20131006085354.GC12758@n2100.arm.linux.org.uk> References: <1381020350-1125-1-git-send-email-robdclark@gmail.com> <1381020350-1125-13-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from caramon.arm.linux.org.uk (caramon.arm.linux.org.uk [78.32.30.218]) by gabe.freedesktop.org (Postfix) with ESMTP id 1837EE69FF for ; Sun, 6 Oct 2013 01:54:04 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1381020350-1125-13-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Rob Clark Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Sat, Oct 05, 2013 at 08:45:50PM -0400, Rob Clark wrote: > A new atomic modeset/pageflip ioctl being developed in DRM requires > get_user() to work for 64bit types (in addition to just put_user()). > > v1: original > v2: pass correct size to check_uaccess, and better handling of narrowing > double word read with __get_user_xb() (Russell King's suggestion) I thought we had decided not to support this for 32-bit because x86_32 had problems here as well: #ifdef CONFIG_X86_32 #define __get_user_asm_u64(x, ptr, retval, errret) (x) = __get_user_bad() #define __get_user_asm_ex_u64(x, ptr) (x) = __get_user_bad() #else #define __get_user_asm_u64(x, ptr, retval, errret) \ __get_user_asm(x, ptr, retval, "q", "", "=r", errret) #define __get_user_asm_ex_u64(x, ptr) \ __get_user_asm_ex(x, ptr, "q", "", "=r") #endif