All of lore.kernel.org
 help / color / mirror / Atom feed
* [ardb:arm64-bti-veneers 16/19] drivers/firmware/efi/fdtparams.c:148:8: warning: assignment to 'efi_system_table_t *' {aka 'union <anonymous> *'} from 'int' makes pointer from integer without a cast
@ 2026-08-13 12:00 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-13 12:00 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git arm64-bti-veneers
head:   86ddd7b8abc1d6c5c6b58b302386c9a6ebde2d77
commit: 7b7e705d322908f785f10aa482dc9a75570bc831 [16/19] efi: Make the 'linux,uefi-boot-memmap' DT property optional
config: arm-randconfig-001-20260813 (https://download.01.org/0day-ci/archive/20260813/202608131912.702Adcgl-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/202608131912.702Adcgl-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608131912.702Adcgl-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/firmware/efi/fdtparams.c: In function 'efi_get_fdt_params':
   drivers/firmware/efi/fdtparams.c:148:10: error: implicit declaration of function 'early_memremap_ro'; did you mean 'arch_memremap_wb'? [-Werror=implicit-function-declaration]
        st = early_memremap_ro(systab, sizeof(*st));
             ^~~~~~~~~~~~~~~~~
             arch_memremap_wb
>> drivers/firmware/efi/fdtparams.c:148:8: warning: assignment to 'efi_system_table_t *' {aka 'union <anonymous> *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
        st = early_memremap_ro(systab, sizeof(*st));
           ^
   drivers/firmware/efi/fdtparams.c:157:5: error: implicit declaration of function 'early_memunmap'; did you mean 'devm_memunmap'? [-Werror=implicit-function-declaration]
        early_memunmap(st, sizeof(*st));
        ^~~~~~~~~~~~~~
        devm_memunmap
>> drivers/firmware/efi/fdtparams.c:159:9: warning: assignment to 'efi_config_table_t *' {aka 'union <anonymous> *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
        tbl = early_memremap_ro(tables, sizeof(*tbl) * nr_tables);
            ^
   drivers/firmware/efi/fdtparams.c:174:7: warning: assignment to 'struct efi_boot_memmap *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
       bm = early_memremap_ro(memmap, sizeof(*bm));
          ^
   cc1: some warnings being treated as errors


vim +148 drivers/firmware/efi/fdtparams.c

    86	
    87	u64 __init efi_get_fdt_params(struct efi_memory_map_data *mm)
    88	{
    89		const void *fdt = initial_boot_params;
    90		unsigned long systab, memmap = 0;
    91		int i, j, node;
    92		struct {
    93			void	*var;
    94			int	size;
    95			int	optional;
    96		} target[] = {
    97			[SYSTAB] = { &systab,		sizeof(systab) },
    98			[MEMMAP] = { &memmap,		sizeof(memmap), 1 },
    99	#ifdef CONFIG_XEN
   100			[MMBASE] = { &mm->phys_map,	sizeof(mm->phys_map) },
   101			[MMSIZE] = { &mm->size,		sizeof(mm->size) },
   102			[DCSIZE] = { &mm->desc_size,	sizeof(mm->desc_size) },
   103			[DCVERS] = { &mm->desc_version,	sizeof(mm->desc_version) },
   104	#endif
   105		};
   106	
   107		BUILD_BUG_ON(ARRAY_SIZE(target) != ARRAY_SIZE(name));
   108		BUILD_BUG_ON(ARRAY_SIZE(target) != ARRAY_SIZE(dt_params[0].params));
   109	
   110		if (!fdt)
   111			return 0;
   112	
   113		for (i = 0; i < ARRAY_SIZE(dt_params); i++) {
   114			node = fdt_path_offset(fdt, dt_params[i].path);
   115			if (node < 0)
   116				continue;
   117	
   118			if (efi_enabled(EFI_DBG))
   119				pr_info("Getting UEFI parameters from %s in DT:\n",
   120					dt_params[i].path);
   121	
   122			for (j = 0; j < ARRAY_SIZE(target); j++) {
   123				const char *pname = dt_params[i].params[j];
   124	
   125				if (pname[0] == '\0')
   126					continue;
   127	
   128				if (!efi_get_fdt_prop(fdt, node, pname, name[j],
   129						      target[j].var, target[j].size))
   130					continue;
   131				if (!j)
   132					goto notfound;
   133				if (!target[j].optional) {
   134					pr_err("Can't find property '%s' in DT!\n", pname);
   135					return 0;
   136				}
   137			}
   138			if (IS_ENABLED(CONFIG_XEN) && dt_params[i].paravirt) {
   139				set_bit(EFI_PARAVIRT, &efi.flags);
   140			} else {
   141				struct efi_boot_memmap *bm;
   142	
   143				if (!memmap) {
   144					unsigned long tables, nr_tables;
   145					efi_system_table_t *st;
   146					efi_config_table_t *tbl;
   147	
 > 148					st = early_memremap_ro(systab, sizeof(*st));
   149					if (!st) {
   150						pr_err("Cannot remap EFI system table\n");
   151						return 0;
   152					}
   153	
   154					tables		= st->tables;
   155					nr_tables	= st->nr_tables;
   156	
   157					early_memunmap(st, sizeof(*st));
   158	
 > 159					tbl = early_memremap_ro(tables, sizeof(*tbl) * nr_tables);

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-13 12:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 12:00 [ardb:arm64-bti-veneers 16/19] drivers/firmware/efi/fdtparams.c:148:8: warning: assignment to 'efi_system_table_t *' {aka 'union <anonymous> *'} from 'int' makes pointer from integer without a cast kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.