Messages in this thread | | | Date | Wed, 28 Jul 2021 22:18:49 +0800 | From | kernel test robot <> | Subject | [tip:x86/cpu 5/7] arch/x86/mm/tlb.c:355:13: sparse: sparse: incorrect type in initializer (different address spaces) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/cpu head: b7fe54f6c2d437082dcbecfbd832f38edd9caaf4 commit: b5f06f64e269f9820cd5ad9e9a98afa6c8914b7a [5/7] x86/mm: Prepare for opt-in based L1D flush in switch_mm() config: x86_64-randconfig-s032-20210728 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=b5f06f64e269f9820cd5ad9e9a98afa6c8914b7a git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git git fetch --no-tags tip x86/cpu git checkout b5f06f64e269f9820cd5ad9e9a98afa6c8914b7a # 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@intel.com>
sparse warnings: (new ones prefixed by >>) >> arch/x86/mm/tlb.c:355:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got bool * @@ arch/x86/mm/tlb.c:355:13: sparse: expected void const [noderef] __percpu *__vpp_verify arch/x86/mm/tlb.c:355:13: sparse: got bool *
vim +355 arch/x86/mm/tlb.c
337 338 static void l1d_flush_evaluate(unsigned long prev_mm, unsigned long next_mm, 339 struct task_struct *next) 340 { 341 /* Flush L1D if the outgoing task requests it */ 342 if (prev_mm & LAST_USER_MM_L1D_FLUSH) 343 wrmsrl(MSR_IA32_FLUSH_CMD, L1D_FLUSH); 344 345 /* Check whether the incoming task opted in for L1D flush */ 346 if (likely(!(next_mm & LAST_USER_MM_L1D_FLUSH))) 347 return; 348 349 /* 350 * Validate that it is not running on an SMT sibling as this would 351 * make the excercise pointless because the siblings share L1D. If 352 * it runs on a SMT sibling, notify it with SIGBUS on return to 353 * user/guest 354 */ > 355 if (this_cpu_read(cpu_info.smt_active)) { 356 clear_ti_thread_flag(&next->thread_info, TIF_SPEC_L1D_FLUSH); 357 next->l1d_flush_kill.func = l1d_flush_force_sigbus; 358 task_work_add(next, &next->l1d_flush_kill, TWA_RESUME); 359 } 360 } 361
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] | |