Hi Ross, kernel test robot noticed the following build warnings: [auto build test WARNING on tip/x86/core] [also build test WARNING on char-misc/char-misc-testing char-misc/char-misc-next char-misc/char-misc-linus herbert-cryptodev-2.6/master efi/next linus/master v6.11-rc5] [cannot apply to herbert-crypto-2.6/master next-20240827] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ross-Philipson/Documentation-x86-Secure-Launch-kernel-documentation/20240827-065225 base: tip/x86/core patch link: https://lore.kernel.org/r/20240826223835.3928819-21-ross.philipson%40oracle.com patch subject: [PATCH v10 20/20] x86/efi: EFI stub DRTM launch support for Secure Launch config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240828/202408280656.66ZxoOOL-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240828/202408280656.66ZxoOOL-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202408280656.66ZxoOOL-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/firmware/efi/libstub/x86-stub.c: In function 'efi_secure_launch_update_boot_params': >> drivers/firmware/efi/libstub/x86-stub.c:941:40: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 941 | os_mle = txt_os_mle_data_start((void *)txt_info->txt_heap); | ^ drivers/firmware/efi/libstub/x86-stub.c:945:36: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 945 | os_mle->boot_params_addr = (u64)boot_params; | ^ drivers/firmware/efi/libstub/x86-stub.c:953:60: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 953 | policy->policy_entries[i].entity = (u64)boot_params; | ^ drivers/firmware/efi/libstub/x86-stub.c:980:56: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 980 | boot_params->hdr.cmdline_size = strlen((const char *)cmdline_ptr); | ^ drivers/firmware/efi/libstub/x86-stub.c: In function 'efi_secure_launch': drivers/firmware/efi/libstub/x86-stub.c:1014:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1014 | handler_callback = (dl_handler_func)dlinfo->dl_handler; | ^ vim +941 drivers/firmware/efi/libstub/x86-stub.c 927 928 static bool efi_secure_launch_update_boot_params(struct slr_table *slrt, 929 struct boot_params *boot_params) 930 { 931 struct slr_entry_intel_info *txt_info; 932 struct slr_entry_policy *policy; 933 struct txt_os_mle_data *os_mle; 934 bool updated = false; 935 int i; 936 937 txt_info = slr_next_entry_by_tag(slrt, NULL, SLR_ENTRY_INTEL_INFO); 938 if (!txt_info) 939 return false; 940 > 941 os_mle = txt_os_mle_data_start((void *)txt_info->txt_heap); 942 if (!os_mle) 943 return false; 944 945 os_mle->boot_params_addr = (u64)boot_params; 946 947 policy = slr_next_entry_by_tag(slrt, NULL, SLR_ENTRY_ENTRY_POLICY); 948 if (!policy) 949 return false; 950 951 for (i = 0; i < policy->nr_entries; i++) { 952 if (policy->policy_entries[i].entity_type == SLR_ET_BOOT_PARAMS) { 953 policy->policy_entries[i].entity = (u64)boot_params; 954 updated = true; 955 break; 956 } 957 } 958 959 /* 960 * If this is a PE entry into EFI stub the mocked up boot params will 961 * be missing some of the setup header data needed for the second stage 962 * of the Secure Launch boot. 963 */ 964 if (image) { 965 struct setup_header *hdr = (struct setup_header *)((u8 *)image->image_base + 966 offsetof(struct boot_params, hdr)); 967 u64 cmdline_ptr; 968 969 boot_params->hdr.setup_sects = hdr->setup_sects; 970 boot_params->hdr.syssize = hdr->syssize; 971 boot_params->hdr.version = hdr->version; 972 boot_params->hdr.loadflags = hdr->loadflags; 973 boot_params->hdr.kernel_alignment = hdr->kernel_alignment; 974 boot_params->hdr.min_alignment = hdr->min_alignment; 975 boot_params->hdr.xloadflags = hdr->xloadflags; 976 boot_params->hdr.init_size = hdr->init_size; 977 boot_params->hdr.kernel_info_offset = hdr->kernel_info_offset; 978 efi_set_u64_form(boot_params->hdr.cmd_line_ptr, boot_params->ext_cmd_line_ptr, 979 &cmdline_ptr); 980 boot_params->hdr.cmdline_size = strlen((const char *)cmdline_ptr); 981 } 982 983 return updated; 984 } 985 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki