lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201603190148.px58QxiJ%fengguang.wu@intel.com>
Date:	Sat, 19 Mar 2016 01:39:09 +0800
From:	kbuild test robot <lkp@...el.com>
To:	Joe Perches <joe@...ches.com>
Cc:	kbuild-all@...org, Gustavo Padovan <gustavo@...ovan.org>,
	Russell King <rmk+kernel@....linux.org.uk>,
	Thierry Reding <thierry.reding@...il.com>,
	Terje Bergström <tbergstrom@...dia.com>,
	Stephen Warren <swarren@...dotorg.org>,
	Alexandre Courbot <gnurou@...il.com>,
	David Airlie <airlied@...ux.ie>,
	Gerd Hoffmann <kraxel@...hat.com>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Daniel Vetter <daniel.vetter@...el.com>,
	Rob Clark <robdclark@...il.com>,
	dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
	linux-tegra@...r.kernel.org,
	virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH] gpu/drm: Use u64_to_user_pointer

Hi Joe,

[auto build test WARNING on drm/drm-next]
[also build test WARNING on next-20160318]
[cannot apply to v4.5]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Joe-Perches/gpu-drm-Use-u64_to_user_pointer/20160319-012749
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: m68k-allmodconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=m68k 

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/vc4/vc4_bo.c: In function 'vc4_create_shader_bo_ioctl':
   drivers/gpu/drm/vc4/vc4_bo.c:502:2: error: implicit declaration of function 'u64_to_user_ptr' [-Werror=implicit-function-declaration]
     if (copy_from_user(bo->base.vaddr,
     ^
   In file included from arch/m68k/include/asm/uaccess.h:4:0,
                    from include/linux/uaccess.h:5,
                    from include/linux/highmem.h:8,
                    from include/drm/drmP.h:40,
                    from drivers/gpu/drm/vc4/vc4_drv.h:9,
                    from drivers/gpu/drm/vc4/vc4_bo.c:21:
>> arch/m68k/include/asm/uaccess_mm.h:368:2: warning: passing argument 2 of '__constant_copy_from_user' makes pointer from integer without a cast
     __constant_copy_from_user(to, from, n) : \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_bo.c:502:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(bo->base.vaddr,
         ^
   arch/m68k/include/asm/uaccess_mm.h:239:1: note: expected 'const void *' but argument is of type 'int'
    __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:369:2: warning: passing argument 2 of '__generic_copy_from_user' makes pointer from integer without a cast
     __generic_copy_from_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_bo.c:502:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(bo->base.vaddr,
         ^
   arch/m68k/include/asm/uaccess_mm.h:202:15: note: expected 'const void *' but argument is of type 'int'
    unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
                  ^
   cc1: some warnings being treated as errors
--
   drivers/gpu/drm/vc4/vc4_gem.c: In function 'vc4_get_hang_state_ioctl':
   drivers/gpu/drm/vc4/vc4_gem.c:123:2: error: implicit declaration of function 'u64_to_user_ptr' [-Werror=implicit-function-declaration]
     if (copy_to_user(u64_to_user_ptr(get_state->bo),
     ^
   In file included from arch/m68k/include/asm/uaccess.h:4:0,
                    from include/linux/uaccess.h:5,
                    from include/linux/highmem.h:8,
                    from include/drm/drmP.h:40,
                    from drivers/gpu/drm/vc4/vc4_drv.h:9,
                    from drivers/gpu/drm/vc4/vc4_gem.c:31:
>> arch/m68k/include/asm/uaccess_mm.h:373:2: warning: passing argument 1 of '__constant_copy_to_user' makes pointer from integer without a cast
     __constant_copy_to_user(to, from, n) :  \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:380:35: note: in expansion of macro '__copy_to_user'
    #define copy_to_user(to, from, n) __copy_to_user(to, from, n)
                                      ^
   drivers/gpu/drm/vc4/vc4_gem.c:123:6: note: in expansion of macro 'copy_to_user'
     if (copy_to_user(u64_to_user_ptr(get_state->bo),
         ^
   arch/m68k/include/asm/uaccess_mm.h:320:1: note: expected 'void *' but argument is of type 'int'
    __constant_copy_to_user(void __user *to, const void *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:374:2: warning: passing argument 1 of '__generic_copy_to_user' makes pointer from integer without a cast
     __generic_copy_to_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:380:35: note: in expansion of macro '__copy_to_user'
    #define copy_to_user(to, from, n) __copy_to_user(to, from, n)
                                      ^
   drivers/gpu/drm/vc4/vc4_gem.c:123:6: note: in expansion of macro 'copy_to_user'
     if (copy_to_user(u64_to_user_ptr(get_state->bo),
         ^
   arch/m68k/include/asm/uaccess_mm.h:203:15: note: expected 'void *' but argument is of type 'int'
    unsigned long __generic_copy_to_user(void __user *to, const void *from, unsigned long n);
                  ^
   drivers/gpu/drm/vc4/vc4_gem.c: In function 'vc4_cl_lookup_bos':
>> arch/m68k/include/asm/uaccess_mm.h:368:2: warning: passing argument 2 of '__constant_copy_from_user' makes pointer from integer without a cast
     __constant_copy_from_user(to, from, n) : \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:552:8: note: in expansion of macro 'copy_from_user'
     ret = copy_from_user(handles,
           ^
   arch/m68k/include/asm/uaccess_mm.h:239:1: note: expected 'const void *' but argument is of type 'int'
    __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:369:2: warning: passing argument 2 of '__generic_copy_from_user' makes pointer from integer without a cast
     __generic_copy_from_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:552:8: note: in expansion of macro 'copy_from_user'
     ret = copy_from_user(handles,
           ^
   arch/m68k/include/asm/uaccess_mm.h:202:15: note: expected 'const void *' but argument is of type 'int'
    unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
                  ^
   drivers/gpu/drm/vc4/vc4_gem.c: In function 'vc4_get_bcl':
>> arch/m68k/include/asm/uaccess_mm.h:368:2: warning: passing argument 2 of '__constant_copy_from_user' makes pointer from integer without a cast
     __constant_copy_from_user(to, from, n) : \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:626:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(bin,
         ^
   arch/m68k/include/asm/uaccess_mm.h:239:1: note: expected 'const void *' but argument is of type 'int'
    __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:369:2: warning: passing argument 2 of '__generic_copy_from_user' makes pointer from integer without a cast
     __generic_copy_from_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:626:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(bin,
         ^
   arch/m68k/include/asm/uaccess_mm.h:202:15: note: expected 'const void *' but argument is of type 'int'
    unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
                  ^
>> arch/m68k/include/asm/uaccess_mm.h:368:2: warning: passing argument 2 of '__constant_copy_from_user' makes pointer from integer without a cast
     __constant_copy_from_user(to, from, n) : \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:633:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(exec->shader_rec_u,
         ^
   arch/m68k/include/asm/uaccess_mm.h:239:1: note: expected 'const void *' but argument is of type 'int'
    __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:369:2: warning: passing argument 2 of '__generic_copy_from_user' makes pointer from integer without a cast
     __generic_copy_from_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:633:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(exec->shader_rec_u,
         ^
   arch/m68k/include/asm/uaccess_mm.h:202:15: note: expected 'const void *' but argument is of type 'int'
    unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
                  ^
>> arch/m68k/include/asm/uaccess_mm.h:368:2: warning: passing argument 2 of '__constant_copy_from_user' makes pointer from integer without a cast
     __constant_copy_from_user(to, from, n) : \
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:640:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(exec->uniforms_u,
         ^
   arch/m68k/include/asm/uaccess_mm.h:239:1: note: expected 'const void *' but argument is of type 'int'
    __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
    ^
>> arch/m68k/include/asm/uaccess_mm.h:369:2: warning: passing argument 2 of '__generic_copy_from_user' makes pointer from integer without a cast
     __generic_copy_from_user(to, from, n))
     ^
>> arch/m68k/include/asm/uaccess_mm.h:379:37: note: in expansion of macro '__copy_from_user'
    #define copy_from_user(to, from, n) __copy_from_user(to, from, n)
                                        ^
   drivers/gpu/drm/vc4/vc4_gem.c:640:6: note: in expansion of macro 'copy_from_user'
     if (copy_from_user(exec->uniforms_u,
         ^
   arch/m68k/include/asm/uaccess_mm.h:202:15: note: expected 'const void *' but argument is of type 'int'
    unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
                  ^
   cc1: some warnings being treated as errors

vim +/__constant_copy_from_user +368 arch/m68k/include/asm/uaccess_mm.h

^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  197  	}								\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  198  	__gu_err;							\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  199  })
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  200  #define get_user(x, ptr) __get_user(x, ptr)
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  201  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  202  unsigned long __generic_copy_from_user(void *to, const void __user *from, unsigned long n);
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23 @203  unsigned long __generic_copy_to_user(void __user *to, const void *from, unsigned long n);
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  204  
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  205  #define __constant_copy_from_user_asm(res, to, from, tmp, n, s1, s2, s3)\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  206  	asm volatile ("\n"						\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  207  		"1:	"MOVES"."#s1"	(%2)+,%3\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  208  		"	move."#s1"	%3,(%1)+\n"			\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  209  		"2:	"MOVES"."#s2"	(%2)+,%3\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  210  		"	move."#s2"	%3,(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  211  		"	.ifnc	\""#s3"\",\"\"\n"			\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  212  		"3:	"MOVES"."#s3"	(%2)+,%3\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  213  		"	move."#s3"	%3,(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  214  		"	.endif\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  215  		"4:\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  216  		"	.section __ex_table,\"a\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  217  		"	.align	4\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  218  		"	.long	1b,10f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  219  		"	.long	2b,20f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  220  		"	.ifnc	\""#s3"\",\"\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  221  		"	.long	3b,30f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  222  		"	.endif\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  223  		"	.previous\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  224  		"\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  225  		"	.section .fixup,\"ax\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  226  		"	.even\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  227  		"10:	clr."#s1"	(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  228  		"20:	clr."#s2"	(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  229  		"	.ifnc	\""#s3"\",\"\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  230  		"30:	clr."#s3"	(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  231  		"	.endif\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  232  		"	moveq.l	#"#n",%0\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  233  		"	jra	4b\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  234  		"	.previous\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  235  		: "+d" (res), "+&a" (to), "+a" (from), "=&d" (tmp)	\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  236  		: : "memory")
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  237  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  238  static __always_inline unsigned long
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  239  __constant_copy_from_user(void *to, const void __user *from, unsigned long n)
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  240  {
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  241  	unsigned long res = 0, tmp;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  242  
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  243  	switch (n) {
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  244  	case 1:
b971018b include/asm-m68k/uaccess.h         Al Viro            2006-10-11  245  		__get_user_asm(res, *(u8 *)to, (u8 __user *)from, u8, b, d, 1);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  246  		break;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  247  	case 2:
631d8b67 arch/m68k/include/asm/uaccess_mm.h Geert Uytterhoeven 2013-06-09  248  		__get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, r, 2);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  249  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  250  	case 3:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  251  		__constant_copy_from_user_asm(res, to, from, tmp, 3, w, b,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  252  		break;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  253  	case 4:
b971018b include/asm-m68k/uaccess.h         Al Viro            2006-10-11  254  		__get_user_asm(res, *(u32 *)to, (u32 __user *)from, u32, l, r, 4);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  255  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  256  	case 5:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  257  		__constant_copy_from_user_asm(res, to, from, tmp, 5, l, b,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  258  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  259  	case 6:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  260  		__constant_copy_from_user_asm(res, to, from, tmp, 6, l, w,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  261  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  262  	case 7:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  263  		__constant_copy_from_user_asm(res, to, from, tmp, 7, l, w, b);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  264  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  265  	case 8:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  266  		__constant_copy_from_user_asm(res, to, from, tmp, 8, l, l,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  267  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  268  	case 9:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  269  		__constant_copy_from_user_asm(res, to, from, tmp, 9, l, l, b);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  270  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  271  	case 10:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  272  		__constant_copy_from_user_asm(res, to, from, tmp, 10, l, l, w);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  273  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  274  	case 12:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  275  		__constant_copy_from_user_asm(res, to, from, tmp, 12, l, l, l);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  276  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  277  	default:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  278  		/* we limit the inlined version to 3 moves */
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  279  		return __generic_copy_from_user(to, from, n);
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  280  	}
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  281  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  282  	return res;
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  283  }
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  284  
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  285  #define __constant_copy_to_user_asm(res, to, from, tmp, n, s1, s2, s3)	\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  286  	asm volatile ("\n"						\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  287  		"	move."#s1"	(%2)+,%3\n"			\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  288  		"11:	"MOVES"."#s1"	%3,(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  289  		"12:	move."#s2"	(%2)+,%3\n"			\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  290  		"21:	"MOVES"."#s2"	%3,(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  291  		"22:\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  292  		"	.ifnc	\""#s3"\",\"\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  293  		"	move."#s3"	(%2)+,%3\n"			\
e08d703c arch/m68k/include/asm/uaccess_mm.h Greg Ungerer       2011-10-14  294  		"31:	"MOVES"."#s3"	%3,(%1)+\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  295  		"32:\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  296  		"	.endif\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  297  		"4:\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  298  		"\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  299  		"	.section __ex_table,\"a\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  300  		"	.align	4\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  301  		"	.long	11b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  302  		"	.long	12b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  303  		"	.long	21b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  304  		"	.long	22b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  305  		"	.ifnc	\""#s3"\",\"\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  306  		"	.long	31b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  307  		"	.long	32b,5f\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  308  		"	.endif\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  309  		"	.previous\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  310  		"\n"							\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  311  		"	.section .fixup,\"ax\"\n"			\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  312  		"	.even\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  313  		"5:	moveq.l	#"#n",%0\n"				\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  314  		"	jra	4b\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  315  		"	.previous\n"					\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  316  		: "+d" (res), "+a" (to), "+a" (from), "=&d" (tmp)	\
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  317  		: : "memory")
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  318  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  319  static __always_inline unsigned long
11c40f8a include/asm-m68k/uaccess.h         Al Viro            2006-01-12  320  __constant_copy_to_user(void __user *to, const void *from, unsigned long n)
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  321  {
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  322  	unsigned long res = 0, tmp;
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  323  
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  324  	switch (n) {
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  325  	case 1:
b971018b include/asm-m68k/uaccess.h         Al Viro            2006-10-11  326  		__put_user_asm(res, *(u8 *)from, (u8 __user *)to, b, d, 1);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  327  		break;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  328  	case 2:
631d8b67 arch/m68k/include/asm/uaccess_mm.h Geert Uytterhoeven 2013-06-09  329  		__put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, r, 2);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  330  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  331  	case 3:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  332  		__constant_copy_to_user_asm(res, to, from, tmp, 3, w, b,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  333  		break;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  334  	case 4:
b971018b include/asm-m68k/uaccess.h         Al Viro            2006-10-11  335  		__put_user_asm(res, *(u32 *)from, (u32 __user *)to, l, r, 4);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  336  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  337  	case 5:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  338  		__constant_copy_to_user_asm(res, to, from, tmp, 5, l, b,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  339  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  340  	case 6:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  341  		__constant_copy_to_user_asm(res, to, from, tmp, 6, l, w,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  342  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  343  	case 7:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  344  		__constant_copy_to_user_asm(res, to, from, tmp, 7, l, w, b);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  345  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  346  	case 8:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  347  		__constant_copy_to_user_asm(res, to, from, tmp, 8, l, l,);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  348  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  349  	case 9:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  350  		__constant_copy_to_user_asm(res, to, from, tmp, 9, l, l, b);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  351  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  352  	case 10:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  353  		__constant_copy_to_user_asm(res, to, from, tmp, 10, l, l, w);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  354  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  355  	case 12:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  356  		__constant_copy_to_user_asm(res, to, from, tmp, 12, l, l, l);
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  357  		break;
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  358  	default:
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  359  		/* limit the inlined version to 3 moves */
53617825 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-25  360  		return __generic_copy_to_user(to, from, n);
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  361  	}
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  362  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  363  	return res;
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  364  }
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  365  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  366  #define __copy_from_user(to, from, n)		\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  367  (__builtin_constant_p(n) ?			\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16 @368   __constant_copy_from_user(to, from, n) :	\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16 @369   __generic_copy_from_user(to, from, n))
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  370  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  371  #define __copy_to_user(to, from, n)		\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  372  (__builtin_constant_p(n) ?			\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16 @373   __constant_copy_to_user(to, from, n) :		\
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16 @374   __generic_copy_to_user(to, from, n))
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  375  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  376  #define __copy_to_user_inatomic		__copy_to_user
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23  377  #define __copy_from_user_inatomic	__copy_from_user
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  378  
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23 @379  #define copy_from_user(to, from, n)	__copy_from_user(to, from, n)
d94af931 include/asm-m68k/uaccess.h         Roman Zippel       2006-06-23 @380  #define copy_to_user(to, from, n)	__copy_to_user(to, from, n)
^1da177e include/asm-m68k/uaccess.h         Linus Torvalds     2005-04-16  381  
d8ce7263 arch/m68k/include/asm/uaccess_mm.h Geert Uytterhoeven 2012-05-29  382  #define user_addr_max() \
d8ce7263 arch/m68k/include/asm/uaccess_mm.h Geert Uytterhoeven 2012-05-29  383  	(segment_eq(get_fs(), USER_DS) ? TASK_SIZE : ~0UL)

:::::: The code at line 368 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@...970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@...970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/octet-stream" (35362 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ