Re: [PATCH] gpu/drm: Use u64_to_user_pointer

From: kbuild test robot
Date: Fri Mar 18 2016 - 13:41:12 EST


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@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: Binary data