tree: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next head: 3cfafc4b8f12ebf4b9b6bd85f41353012c5441f3 commit: 31bc510eb86b1a10c12281ce823d22aeb3c6275f [3/6] efi: use 32-bit alignment for efi_guid_t literals config: i386-randconfig-s002-20210318 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-277-gc089cd2d-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/commit/?id=31bc510eb86b1a10c12281ce823d22aeb3c6275f git remote add efi https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git git fetch --no-tags efi next git checkout 31bc510eb86b1a10c12281ce823d22aeb3c6275f # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) >> arch/x86/boot/compressed/acpi.c:58:41: sparse: sparse: cast truncates bits from constant value (eb9d2d30 becomes 30) >> arch/x86/boot/compressed/acpi.c:58:41: sparse: sparse: cast truncates bits from constant value (eb9d2d becomes 2d) >> arch/x86/boot/compressed/acpi.c:58:41: sparse: sparse: cast truncates bits from constant value (eb9d becomes 9d) >> arch/x86/boot/compressed/acpi.c:58:41: sparse: sparse: cast truncates bits from constant value (2d88 becomes 88) >> arch/x86/boot/compressed/acpi.c:58:41: sparse: sparse: cast truncates bits from constant value (11d3 becomes d3) >> arch/x86/boot/compressed/acpi.c:60:46: sparse: sparse: cast truncates bits from constant value (8868e871 becomes 71) >> arch/x86/boot/compressed/acpi.c:60:46: sparse: sparse: cast truncates bits from constant value (8868e8 becomes e8) >> arch/x86/boot/compressed/acpi.c:60:46: sparse: sparse: cast truncates bits from constant value (8868 becomes 68) >> arch/x86/boot/compressed/acpi.c:60:46: sparse: sparse: cast truncates bits from constant value (e4f1 becomes f1) arch/x86/boot/compressed/acpi.c:60:46: sparse: sparse: cast truncates bits from constant value (11d3 becomes d3) vim +58 arch/x86/boot/compressed/acpi.c 02a3e3cdb7f12f Chao Fan 2019-01-23 16 02a3e3cdb7f12f Chao Fan 2019-01-23 17 /* 02a3e3cdb7f12f Chao Fan 2019-01-23 18 * Immovable memory regions representation. Max amount of memory regions is 02a3e3cdb7f12f Chao Fan 2019-01-23 19 * MAX_NUMNODES*2. 02a3e3cdb7f12f Chao Fan 2019-01-23 20 */ 02a3e3cdb7f12f Chao Fan 2019-01-23 @21 struct mem_vector immovable_mem[MAX_NUMNODES*2]; 02a3e3cdb7f12f Chao Fan 2019-01-23 22 0a23ebc66a4678 Junichi Nomura 2019-04-11 23 /* 0a23ebc66a4678 Junichi Nomura 2019-04-11 24 * Search EFI system tables for RSDP. If both ACPI_20_TABLE_GUID and 0a23ebc66a4678 Junichi Nomura 2019-04-11 25 * ACPI_TABLE_GUID are found, take the former, which has more features. 0a23ebc66a4678 Junichi Nomura 2019-04-11 26 */ 0a23ebc66a4678 Junichi Nomura 2019-04-11 27 static acpi_physical_address 0a23ebc66a4678 Junichi Nomura 2019-04-11 28 __efi_get_rsdp_addr(unsigned long config_tables, unsigned int nr_tables, 0a23ebc66a4678 Junichi Nomura 2019-04-11 29 bool efi_64) 33f0df8d843deb Chao Fan 2019-01-23 30 { 33f0df8d843deb Chao Fan 2019-01-23 31 acpi_physical_address rsdp_addr = 0; 33f0df8d843deb Chao Fan 2019-01-23 32 33f0df8d843deb Chao Fan 2019-01-23 33 #ifdef CONFIG_EFI 0a23ebc66a4678 Junichi Nomura 2019-04-11 34 int i; 0a23ebc66a4678 Junichi Nomura 2019-04-11 35 0a23ebc66a4678 Junichi Nomura 2019-04-11 36 /* Get EFI tables from systab. */ 0a23ebc66a4678 Junichi Nomura 2019-04-11 37 for (i = 0; i < nr_tables; i++) { 0a23ebc66a4678 Junichi Nomura 2019-04-11 38 acpi_physical_address table; 0a23ebc66a4678 Junichi Nomura 2019-04-11 39 efi_guid_t guid; 0a23ebc66a4678 Junichi Nomura 2019-04-11 40 0a23ebc66a4678 Junichi Nomura 2019-04-11 41 if (efi_64) { 0a23ebc66a4678 Junichi Nomura 2019-04-11 42 efi_config_table_64_t *tbl = (efi_config_table_64_t *)config_tables + i; 0a23ebc66a4678 Junichi Nomura 2019-04-11 43 0a23ebc66a4678 Junichi Nomura 2019-04-11 44 guid = tbl->guid; 0a23ebc66a4678 Junichi Nomura 2019-04-11 45 table = tbl->table; 0a23ebc66a4678 Junichi Nomura 2019-04-11 46 0a23ebc66a4678 Junichi Nomura 2019-04-11 47 if (!IS_ENABLED(CONFIG_X86_64) && table >> 32) { 0a23ebc66a4678 Junichi Nomura 2019-04-11 48 debug_putstr("Error getting RSDP address: EFI config table located above 4GB.\n"); 0a23ebc66a4678 Junichi Nomura 2019-04-11 49 return 0; 0a23ebc66a4678 Junichi Nomura 2019-04-11 50 } 0a23ebc66a4678 Junichi Nomura 2019-04-11 51 } else { 0a23ebc66a4678 Junichi Nomura 2019-04-11 52 efi_config_table_32_t *tbl = (efi_config_table_32_t *)config_tables + i; 0a23ebc66a4678 Junichi Nomura 2019-04-11 53 0a23ebc66a4678 Junichi Nomura 2019-04-11 54 guid = tbl->guid; 0a23ebc66a4678 Junichi Nomura 2019-04-11 55 table = tbl->table; 0a23ebc66a4678 Junichi Nomura 2019-04-11 56 } 0a23ebc66a4678 Junichi Nomura 2019-04-11 57 0a23ebc66a4678 Junichi Nomura 2019-04-11 @58 if (!(efi_guidcmp(guid, ACPI_TABLE_GUID))) 0a23ebc66a4678 Junichi Nomura 2019-04-11 59 rsdp_addr = table; 0a23ebc66a4678 Junichi Nomura 2019-04-11 @60 else if (!(efi_guidcmp(guid, ACPI_20_TABLE_GUID))) 0a23ebc66a4678 Junichi Nomura 2019-04-11 61 return table; 0a23ebc66a4678 Junichi Nomura 2019-04-11 62 } 0a23ebc66a4678 Junichi Nomura 2019-04-11 63 #endif 0a23ebc66a4678 Junichi Nomura 2019-04-11 64 return rsdp_addr; 0a23ebc66a4678 Junichi Nomura 2019-04-11 65 } 0a23ebc66a4678 Junichi Nomura 2019-04-11 66 :::::: The code at line 58 was first introduced by commit :::::: 0a23ebc66a46786769dd68bfdaa3102345819b9c x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernels :::::: TO: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> :::::: CC: Borislav Petkov <bp@xxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip