[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201603100407.whdQBP9u%fengguang.wu@intel.com>
Date: Thu, 10 Mar 2016 04:24:42 +0800
From: kbuild test robot <lkp@...el.com>
To: Benjamin LaHaise <bcrl@...ck.org>
Cc: kbuild-all@...org, "H. Peter Anvin" <hpa@...or.com>,
Ingo Molnar <mingo@...hat.com>,
Russell King <rmk@....linux.org.uk>,
Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86_32: add support for 64 bit __get_user() v2
Hi Benjamin,
[auto build test WARNING on tip/x86/core]
[also build test WARNING on v4.5-rc7 next-20160309]
[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/Benjamin-LaHaise/x86_32-add-support-for-64-bit-__get_user-v2/20160310-033507
config: i386-randconfig-s1-201610 (attached as .config)
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/linux/thread_info.h:10,
from lib/bitmap.c:9:
lib/bitmap.c: In function '__bitmap_parse':
lib/bitmap.c:377:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:147:28: note: in definition of macro '__trace_if'
if (__builtin_constant_p((cond)) ? !!(cond) : \
^
>> lib/bitmap.c:377:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:377:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
lib/bitmap.c:377:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:147:40: note: in definition of macro '__trace_if'
if (__builtin_constant_p((cond)) ? !!(cond) : \
^
>> lib/bitmap.c:377:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:377:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
lib/bitmap.c:377:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:158:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^
>> lib/bitmap.c:377:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:377:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
lib/bitmap.c: In function '__bitmap_parselist':
lib/bitmap.c:525:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:147:28: note: in definition of macro '__trace_if'
if (__builtin_constant_p((cond)) ? !!(cond) : \
^
lib/bitmap.c:525:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:525:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
lib/bitmap.c:525:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:147:40: note: in definition of macro '__trace_if'
if (__builtin_constant_p((cond)) ? !!(cond) : \
^
lib/bitmap.c:525:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:525:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
lib/bitmap.c:525:27: warning: operation on 'ubuf' may be undefined [-Wsequence-point]
if (__get_user(c, ubuf++))
^
include/linux/compiler.h:158:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^
lib/bitmap.c:525:5: note: in expansion of macro 'if'
if (__get_user(c, ubuf++))
^
>> arch/x86/include/asm/uaccess.h:351:15: note: in expansion of macro '__m'
: "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
^
arch/x86/include/asm/uaccess.h:378:3: note: in expansion of macro '__get_user_asm_u64'
__get_user_asm_u64(x, ptr, retval, errret); \
^
arch/x86/include/asm/uaccess.h:443:2: note: in expansion of macro '__get_user_size'
__get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
^
arch/x86/include/asm/uaccess.h:512:2: note: in expansion of macro '__get_user_nocheck'
__get_user_nocheck((x), (ptr), sizeof(*(ptr)))
^
lib/bitmap.c:525:9: note: in expansion of macro '__get_user'
if (__get_user(c, ubuf++))
^
vim +/__m +351 arch/x86/include/asm/uaccess.h
335 #ifdef CONFIG_X86_32
336 #define __get_user_asm_u64(x, ptr, retval, errret) \
337 ({ \
338 asm volatile(ASM_STAC "\n" \
339 "1: movl %2,%%eax\n" \
340 "2: movl %3,%%edx\n" \
341 "3: " ASM_CLAC "\n" \
342 ".section .fixup,\"ax\"\n" \
343 "4: mov %4,%0\n" \
344 " xorl %%eax,%%eax\n" \
345 " xorl %%edx,%%edx\n" \
346 " jmp 3b\n" \
347 ".previous\n" \
348 _ASM_EXTABLE(1b, 4b) \
349 _ASM_EXTABLE(2b, 4b) \
350 : "=r" (retval), "=A"(x) \
> 351 : "m" (__m(ptr)), "m" __m(((u32 *)(ptr)) + 1), \
352 "i" (errret), "0" (retval)); \
353 })
354
355 #define __get_user_asm_ex_u64(x, ptr) (x) = __get_user_bad()
356 #else
357 #define __get_user_asm_u64(x, ptr, retval, errret) \
358 __get_user_asm(x, ptr, retval, "q", "", "=r", errret)
359 #define __get_user_asm_ex_u64(x, ptr) \
---
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" (21582 bytes)
Powered by blists - more mailing lists