tree: https://github.com/intel/tdx.git guest-filter head: 0a555e67b143701a81612d819e693cf5786de418 commit: f0270b8da57a2d69e1eb8aa9c79ad9b6a01c90ab [10/28] x86/tdx: Add command line option to disable TDX guest filter support config: x86_64-defconfig compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel/tdx/commit/f0270b8da57a2d69e1eb8aa9c79ad9b6a01c90ab git remote add intel-tdx https://github.com/intel/tdx.git git fetch --no-tags intel-tdx guest-filter git checkout f0270b8da57a2d69e1eb8aa9c79ad9b6a01c90ab # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/x86/kernel/head64.c: In function 'x86_64_start_kernel': >> arch/x86/kernel/head64.c:527:9: error: implicit declaration of function 'tdx_filter_init' [-Werror=implicit-function-declaration] 527 | tdx_filter_init(); | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/tdx_filter_init +527 arch/x86/kernel/head64.c 471 472 asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data) 473 { 474 /* 475 * Build-time sanity checks on the kernel image and module 476 * area mappings. (these are purely build-time and produce no code) 477 */ 478 BUILD_BUG_ON(MODULES_VADDR < __START_KERNEL_map); 479 BUILD_BUG_ON(MODULES_VADDR - __START_KERNEL_map < KERNEL_IMAGE_SIZE); 480 BUILD_BUG_ON(MODULES_LEN + KERNEL_IMAGE_SIZE > 2*PUD_SIZE); 481 BUILD_BUG_ON((__START_KERNEL_map & ~PMD_MASK) != 0); 482 BUILD_BUG_ON((MODULES_VADDR & ~PMD_MASK) != 0); 483 BUILD_BUG_ON(!(MODULES_VADDR > __START_KERNEL)); 484 MAYBE_BUILD_BUG_ON(!(((MODULES_END - 1) & PGDIR_MASK) == 485 (__START_KERNEL & PGDIR_MASK))); 486 BUILD_BUG_ON(__fix_to_virt(__end_of_fixed_addresses) <= MODULES_END); 487 488 cr4_init_shadow(); 489 490 /* Kill off the identity-map trampoline */ 491 reset_early_page_tables(); 492 493 clear_bss(); 494 495 /* 496 * This needs to happen *before* kasan_early_init() because latter maps stuff 497 * into that page. 498 */ 499 clear_page(init_top_pgt); 500 501 /* 502 * SME support may update early_pmd_flags to include the memory 503 * encryption mask, so it needs to be called before anything 504 * that may generate a page fault. 505 */ 506 sme_early_init(); 507 508 kasan_early_init(); 509 510 /* 511 * Flush global TLB entries which could be left over from the trampoline page 512 * table. 513 * 514 * This needs to happen *after* kasan_early_init() as KASAN-enabled .configs 515 * instrument native_write_cr4() so KASAN must be initialized for that 516 * instrumentation to work. 517 */ 518 __native_tlb_flush_global(this_cpu_read(cpu_tlbstate.cr4)); 519 520 idt_setup_early_handler(); 521 522 /* Needed before cc_platform_has() can be used for TDX */ 523 tdx_early_init(); 524 525 copy_bootdata(__va(real_mode_data)); 526 > 527 tdx_filter_init(); 528 529 /* 530 * Load microcode early on BSP. 531 */ 532 load_ucode_bsp(); 533 534 /* set init_top_pgt kernel high mapping*/ 535 init_top_pgt[511] = early_top_pgt[511]; 536 537 x86_64_start_reservations(real_mode_data); 538 } 539 -- 0-DAY CI Kernel Test Service https://01.org/lkp