Hi Alexandre,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on tip/x86/mm]
[also build test WARNING on v5.10-rc3 next-20201112]
[cannot apply to tip/x86/core tip/x86/asm]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Alexandre-Chartre/x86-pti-Defer-...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
1fcd009102ee02e217f2e7635ab65517d785da8e
config: x86_64-randconfig-s022-20201110 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-107-gaf3512a6-dirty
#
https://github.com/0day-ci/linux/commit/0fcc7787f4670458b801ea103084c6494...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Alexandre-Chartre/x86-pti-Defer-CR3-switch-to-C-code/20201109-225007
git checkout 0fcc7787f4670458b801ea103084c6494227b89e
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
> arch/x86/mm/pti.c:472:48: sparse: sparse: incorrect type in
initializer (different address spaces) @@ expected void const [noderef] __percpu
*__vpp_verify @@ got struct fixed_percpu_data * @@
> arch/x86/mm/pti.c:472:48: sparse: expected void const [noderef] __percpu
*__vpp_verify
> arch/x86/mm/pti.c:472:48: sparse: got struct fixed_percpu_data *
vim +472 arch/x86/mm/pti.c
445
446 /*
447 * Clone the CPU_ENTRY_AREA and associated data into the user space visible
448 * page table.
449 */
450 static void __init pti_clone_user_shared(void)
451 {
452 unsigned int cpu;
453
454 pti_clone_p4d(CPU_ENTRY_AREA_BASE);
455
456 for_each_possible_cpu(cpu) {
457 /*
458 * The SYSCALL64 entry code needs to be able to find the
459 * thread stack and needs one word of scratch space in which
460 * to spill a register. All of this lives in the TSS, in
461 * the sp1 and sp2 slots.
462 *
463 * This is done for all possible CPUs during boot to ensure
464 * that it's propagated to all mms.
465 */
466 pti_clone_percpu_page(&per_cpu(cpu_tss_rw, cpu));
467
468 /*
469 * Map fixed_percpu_data to get the stack canary.
470 */
471 if (IS_ENABLED(CONFIG_STACKPROTECTOR))
472 pti_clone_percpu_page(&per_cpu(fixed_percpu_data, cpu));
473 }
474 }
475
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org