[RFCv1 12/12] ARM: add get_user() support for 8 byte types

Russell King - ARM Linux linux at arm.linux.org.uk
Sun Oct 6 10:53:54 CEST 2013


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



More information about the dri-devel mailing list