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-randconfig-s5-01191733 (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 arch/x86/include/asm/string.h:3:0, from include/linux/string.h:19, from arch/x86/include/asm/page_32.h:35, 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: 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), ^ arch/x86/include/asm/string_32.h:183:42: note: in definition of macro 'memcpy' #define memcpy(t, f, n) __builtin_memcpy(t, f, n) ^ >> arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of '__builtin_memcpy' makes pointer from integer without a cast [-Wint-conversion] memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), ^ arch/x86/include/asm/string_32.h:183:42: note: in definition of macro 'memcpy' #define memcpy(t, f, n) __builtin_memcpy(t, f, n) ^ arch/x86/include/asm/pgtable.h:1129:9: note: expected 'void *' but argument is of type 'int' memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), ^ arch/x86/include/asm/string_32.h:183:42: note: in definition of macro 'memcpy' #define memcpy(t, f, n) __builtin_memcpy(t, f, n) ^ arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of '__builtin_memcpy' makes pointer from integer without a cast [-Wint-conversion] memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), ^ arch/x86/include/asm/string_32.h:183:45: note: in definition of macro 'memcpy' #define memcpy(t, f, n) __builtin_memcpy(t, f, n) ^ arch/x86/include/asm/pgtable.h:1129:35: note: expected 'const void *' but argument is of type 'int' memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), ^ arch/x86/include/asm/string_32.h:183:45: note: in definition of macro 'memcpy' #define memcpy(t, f, n) __builtin_memcpy(t, f, n) ^ cc1: some warnings being treated as errors vim +/__builtin_memcpy +1129 arch/x86/include/asm/pgtable.h 1501899a arch/x86/include/asm/pgtable.h Dan Williams 2017-11-29 1111 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1112 /* 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1113 * clone_pgd_range(pgd_t *dst, pgd_t *src, int count); 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1114 * 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1115 * dst - pointer to pgd range anwhere on a pgd page 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1116 * src - "" 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1117 * count - the number of pgds to copy. 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1118 * 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1119 * dst and src can be on the same page, but the range must not overlap, 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1120 * and must not cross a page boundary. 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1121 */ 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1122 static inline void clone_pgd_range(pgd_t *dst, pgd_t *src, int count) 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1123 { 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1124 memcpy(dst, src, count * sizeof(pgd_t)); fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1125 #ifdef CONFIG_PAGE_TABLE_ISOLATION fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1126 if (!static_cpu_has(X86_FEATURE_PTI)) fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1127 return; fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1128 /* Clone the user space pgd as well */ fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 @1129 memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src), fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1130 count * sizeof(pgd_t)); fc2fbc85 arch/x86/include/asm/pgtable.h Dave Hansen 2017-12-04 1131 #endif 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1132 } 85958b46 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-03-17 1133 :::::: The code at line 1129 was first introduced by commit :::::: fc2fbc8512ed08d1de7720936fd7d2e4ce02c3a2 x86/mm/pti: Populate user PGD :::::: TO: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> :::::: CC: Ingo Molnar <mingo@xxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip