[PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support

kbuild test robot lkp at intel.com
Fri Jan 19 10:21:34 UTC 2018


Hi Vitaly,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.15-rc8 next-20180118]
[cannot apply to tip/x86/core kvm/linux-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Vitaly-Kuznetsov/x86-kvm-hyperv-stable-clocksorce-for-L2-guests-when-running-nested-KVM-on-Hyper-V/20180119-160814
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
   arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean 'u64_to_user_ptr'? [-Werror=implicit-function-declaration]
     memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
            ^~~~~~~~~~~~~~~~~~~
            u64_to_user_ptr
   arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
   In file included from arch/x86/include/asm/page_32.h:35:0,
                    from arch/x86/include/asm/page.h:14,
                    from arch/x86/include/asm/thread_info.h:12,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'void *' but argument is of type 'int'
    __FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
                           ^~~~~~
   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
     memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
                                      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/page_32.h:35:0,
                    from arch/x86/include/asm/page.h:14,
                    from arch/x86/include/asm/thread_info.h:12,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'const void *' but argument is of type 'int'
    __FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
                           ^~~~~~
   In file included from arch/x86/include/asm/paravirt_types.h:45:0,
                    from arch/x86/include/asm/ptrace.h:92,
                    from arch/x86/include/asm/math_emu.h:5,
                    from arch/x86/include/asm/processor.h:12,
                    from arch/x86/include/asm/cpufeature.h:5,
                    from arch/x86/include/asm/thread_info.h:53,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
>> arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
    #define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
                             ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
        _PAGE_PKEY_BIT1 | \
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:60:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT2 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:72:5: note: in expansion of macro '_PAGE_PKEY_BIT2'
        _PAGE_PKEY_BIT2 | \
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:61:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT3 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:73:5: note: in expansion of macro '_PAGE_PKEY_BIT3'
        _PAGE_PKEY_BIT3)
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
>> arch/x86/include/asm/pgtable.h:1223:39: warning: right shift count >= width of type [-Wshift-count-overflow]
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                                          ^~
   cc1: some warnings being treated as errors
--
   include/linux/kasan.h:31:19: sparse: constant 0xdffffc0000000000UL is so big it is unsigned long long
   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
   arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean 'u64_to_user_ptr'? [-Werror=implicit-function-declaration]
     memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
            ^~~~~~~~~~~~~~~~~~~
            u64_to_user_ptr
   arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
   In file included from arch/x86/include/asm/page_32.h:35:0,
                    from arch/x86/include/asm/page.h:14,
                    from arch/x86/include/asm/thread_info.h:12,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'void *' but argument is of type 'int'
    __FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
                           ^~~~~~
   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
     memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
                                      ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/page_32.h:35:0,
                    from arch/x86/include/asm/page.h:14,
                    from arch/x86/include/asm/thread_info.h:12,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'const void *' but argument is of type 'int'
    __FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
                           ^~~~~~
   In file included from arch/x86/include/asm/paravirt_types.h:45:0,
                    from arch/x86/include/asm/ptrace.h:92,
                    from arch/x86/include/asm/math_emu.h:5,
                    from arch/x86/include/asm/processor.h:12,
                    from arch/x86/include/asm/cpufeature.h:5,
                    from arch/x86/include/asm/thread_info.h:53,
                    from include/linux/thread_info.h:38,
                    from arch/x86/include/asm/preempt.h:7,
                    from include/linux/preempt.h:81,
                    from include/linux/spinlock.h:51,
                    from include/linux/seqlock.h:36,
                    from include/linux/time.h:6,
                    from include/uapi/linux/timex.h:56,
                    from include/linux/timex.h:56,
                    from include/linux/clocksource.h:13,
                    from arch/x86/include/asm/vgtod.h:6,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
>> arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
    #define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
                             ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
        _PAGE_PKEY_BIT1 | \
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:60:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT2 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:72:5: note: in expansion of macro '_PAGE_PKEY_BIT2'
        _PAGE_PKEY_BIT2 | \
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:61:43: warning: left shift count >= width of type [-Wshift-count-overflow]
    #define _PAGE_PKEY_BIT3 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
                                              ^
>> arch/x86/include/asm/pgtable_types.h:73:5: note: in expansion of macro '_PAGE_PKEY_BIT3'
        _PAGE_PKEY_BIT3)
        ^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                         ^~~~~~~~~~~~~~~
   In file included from include/linux/kasan.h:17:0,
                    from include/linux/slab.h:129,
                    from include/linux/irq.h:26,
                    from arch/x86/include/asm/hardirq.h:6,
                    from include/linux/hardirq.h:9,
                    from include/linux/interrupt.h:13,
                    from arch/x86/include/asm/mshyperv.h:8,
                    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
                    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
>> arch/x86/include/asm/pgtable.h:1223:39: warning: right shift count >= width of type [-Wshift-count-overflow]
     return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
                                          ^~
   cc1: some warnings being treated as errors

sparse warnings: (new ones prefixed by >>)

>> include/linux/kasan.h:31:19: sparse: constant 0xdffffc0000000000UL is so big it is unsigned long long
   In file included from include/linux/kasan.h:17:0,
    from include/linux/slab.h:129,
    from include/linux/irq.h:26,
    from arch/x86/include/asm/hardirq.h:6,
    from include/linux/hardirq.h:9,
    from include/linux/interrupt.h:13,
    from arch/x86/include/asm/mshyperv.h:8,
    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
   arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean
    memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
    ^~~~~~~~~~~~~~~~~~~
    u64_to_user_ptr
   arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast
   In file included from arch/x86/include/asm/page_32.h:35:0,
    from arch/x86/include/asm/page.h:14,
    from arch/x86/include/asm/thread_info.h:12,
    from include/linux/thread_info.h:38,
    from arch/x86/include/asm/preempt.h:7,
    from include/linux/preempt.h:81,
    from include/linux/spinlock.h:51,
    from include/linux/seqlock.h:36,
    from include/linux/time.h:6,
    from include/uapi/linux/timex.h:56,
    from include/linux/timex.h:56,
    from include/linux/clocksource.h:13,
    from arch/x86/include/asm/vgtod.h:6,
    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'void but argument is of type 'int'
    __FORTIFY_INLINE void const void __kernel_size_t size)
    ^~~~~~
   In file included from include/linux/kasan.h:17:0,
    from include/linux/slab.h:129,
    from include/linux/irq.h:26,
    from arch/x86/include/asm/hardirq.h:6,
    from include/linux/hardirq.h:9,
    from include/linux/interrupt.h:13,
    from arch/x86/include/asm/mshyperv.h:8,
    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast
    memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
    ^~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/include/asm/page_32.h:35:0,
    from arch/x86/include/asm/page.h:14,
    from arch/x86/include/asm/thread_info.h:12,
    from include/linux/thread_info.h:38,
    from arch/x86/include/asm/preempt.h:7,
    from include/linux/preempt.h:81,
    from include/linux/spinlock.h:51,
    from include/linux/seqlock.h:36,
    from include/linux/time.h:6,
    from include/uapi/linux/timex.h:56,
    from include/linux/timex.h:56,
    from include/linux/clocksource.h:13,
    from arch/x86/include/asm/vgtod.h:6,
    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   include/linux/string.h:332:24: note: expected 'const void but argument is of type 'int'
    __FORTIFY_INLINE void const void __kernel_size_t size)
    ^~~~~~
   In file included from arch/x86/include/asm/paravirt_types.h:45:0,
    from arch/x86/include/asm/ptrace.h:92,
    from arch/x86/include/asm/math_emu.h:5,
    from arch/x86/include/asm/processor.h:12,
    from arch/x86/include/asm/cpufeature.h:5,
    from arch/x86/include/asm/thread_info.h:53,
    from include/linux/thread_info.h:38,
    from arch/x86/include/asm/preempt.h:7,
    from include/linux/preempt.h:81,
    from include/linux/spinlock.h:51,
    from include/linux/seqlock.h:36,
    from include/linux/time.h:6,
    from include/uapi/linux/timex.h:56,
    from include/linux/timex.h:56,
    from include/linux/clocksource.h:13,
    from arch/x86/include/asm/vgtod.h:6,
    from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
    from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
   arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
   arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type
    #define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
    ^
   arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
    #define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | 89- ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
    return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
    ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type
    #define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
    ^
   arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
    _PAGE_PKEY_BIT1 | 98- ^~~~~~~~~~~~~~~
   arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
    return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
    ^~~~~~~~~~~~~~~

vim +58 arch/x86/include/asm/pgtable_types.h

8d19c99fa Jeremy Fitzhardinge 2009-02-08  41  
8d19c99fa Jeremy Fitzhardinge 2009-02-08  42  #define _PAGE_PRESENT	(_AT(pteval_t, 1) << _PAGE_BIT_PRESENT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  43  #define _PAGE_RW	(_AT(pteval_t, 1) << _PAGE_BIT_RW)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  44  #define _PAGE_USER	(_AT(pteval_t, 1) << _PAGE_BIT_USER)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  45  #define _PAGE_PWT	(_AT(pteval_t, 1) << _PAGE_BIT_PWT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  46  #define _PAGE_PCD	(_AT(pteval_t, 1) << _PAGE_BIT_PCD)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  47  #define _PAGE_ACCESSED	(_AT(pteval_t, 1) << _PAGE_BIT_ACCESSED)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  48  #define _PAGE_DIRTY	(_AT(pteval_t, 1) << _PAGE_BIT_DIRTY)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  49  #define _PAGE_PSE	(_AT(pteval_t, 1) << _PAGE_BIT_PSE)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  50  #define _PAGE_GLOBAL	(_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL)
c46a7c817 Mel Gorman          2014-06-04  51  #define _PAGE_SOFTW1	(_AT(pteval_t, 1) << _PAGE_BIT_SOFTW1)
f955371ca David Vrabel        2014-01-07  52  #define _PAGE_SOFTW2	(_AT(pteval_t, 1) << _PAGE_BIT_SOFTW2)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  53  #define _PAGE_PAT	(_AT(pteval_t, 1) << _PAGE_BIT_PAT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  54  #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  55  #define _PAGE_SPECIAL	(_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL)
8d19c99fa Jeremy Fitzhardinge 2009-02-08  56  #define _PAGE_CPA_TEST	(_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST)
5c1d90f51 Dave Hansen         2016-02-12  57  #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
5c1d90f51 Dave Hansen         2016-02-12 @58  #define _PAGE_PKEY_BIT0	(_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
5c1d90f51 Dave Hansen         2016-02-12  59  #define _PAGE_PKEY_BIT1	(_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
5c1d90f51 Dave Hansen         2016-02-12  60  #define _PAGE_PKEY_BIT2	(_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
5c1d90f51 Dave Hansen         2016-02-12  61  #define _PAGE_PKEY_BIT3	(_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
5c1d90f51 Dave Hansen         2016-02-12  62  #else
5c1d90f51 Dave Hansen         2016-02-12  63  #define _PAGE_PKEY_BIT0	(_AT(pteval_t, 0))
5c1d90f51 Dave Hansen         2016-02-12  64  #define _PAGE_PKEY_BIT1	(_AT(pteval_t, 0))
5c1d90f51 Dave Hansen         2016-02-12  65  #define _PAGE_PKEY_BIT2	(_AT(pteval_t, 0))
5c1d90f51 Dave Hansen         2016-02-12  66  #define _PAGE_PKEY_BIT3	(_AT(pteval_t, 0))
5c1d90f51 Dave Hansen         2016-02-12  67  #endif
8d19c99fa Jeremy Fitzhardinge 2009-02-08  68  #define __HAVE_ARCH_PTE_SPECIAL
8d19c99fa Jeremy Fitzhardinge 2009-02-08  69  
019132ff3 Dave Hansen         2016-02-12 @70  #define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
019132ff3 Dave Hansen         2016-02-12 @71  			 _PAGE_PKEY_BIT1 | \
019132ff3 Dave Hansen         2016-02-12 @72  			 _PAGE_PKEY_BIT2 | \
019132ff3 Dave Hansen         2016-02-12 @73  			 _PAGE_PKEY_BIT3)
019132ff3 Dave Hansen         2016-02-12  74  

:::::: The code at line 58 was first introduced by commit
:::::: 5c1d90f51027e197e1299ab1235a2fed78910905 x86/mm/pkeys: Add PTE bits for storing protection key

:::::: TO: Dave Hansen <dave.hansen at linux.intel.com>
:::::: CC: Ingo Molnar <mingo at kernel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 62394 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20180119/094c470c/attachment-0001.bin>


More information about the devel mailing list