[vbabka:objext_split 11/14] mm/slub.c:1201:6: error: call to undeclared function 'obj_exts_in_object'; ISO C99 and later do not support implicit function declarations

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Vlastimil,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vbabka/linux.git objext_split
head:   8bd682e28958694beba958e2a3af94c6e1789819
commit: 0923358e166406daf2533102ff371c4ba7f93bf3 [11/14] mm/slab: replace stride with obj_exts_in_object flag
config: um-allnoconfig (https://download.01.org/0day-ci/archive/20260709/[email protected]/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260709/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> mm/slub.c:1201:6: error: call to undeclared function 'obj_exts_in_object'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1201 |         if (obj_exts_in_object(slab))
         |             ^
   mm/slub.c:1201:6: note: did you mean 'obj_exts_in_slab'?
   mm/slub.c:865:20: note: 'obj_exts_in_slab' declared here
     865 | static inline bool obj_exts_in_slab(struct kmem_cache *s, struct slab *slab)
         |                    ^
   mm/slub.c:1406:6: error: call to undeclared function 'obj_exts_in_object'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1406 |         if (obj_exts_in_object(slab))
         |             ^
   mm/slub.c:1434:36: error: call to undeclared function 'obj_exts_in_object'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1434 |         if (obj_exts_in_slab(s, slab) && !obj_exts_in_object(slab)) {
         |                                           ^
   mm/slub.c:6502:11: error: call to undeclared function 'obj_exts_in_object'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    6502 |         else if (obj_exts_in_object(slab))
         |                  ^
   4 errors generated.


vim +/obj_exts_in_object +1201 mm/slub.c

  1166	
  1167	static void print_trailer(struct kmem_cache *s, struct slab *slab, u8 *p)
  1168	{
  1169		unsigned int off;	/* Offset of last byte */
  1170		u8 *addr = slab_address(slab);
  1171	
  1172		print_tracking(s, p);
  1173	
  1174		print_slab_info(slab);
  1175	
  1176		pr_err("Object 0x%p @offset=%tu fp=0x%p\n\n",
  1177		       p, p - addr, get_freepointer(s, p));
  1178	
  1179		if (s->flags & SLAB_RED_ZONE)
  1180			print_section(KERN_ERR, "Redzone  ", p - s->red_left_pad,
  1181				      s->red_left_pad);
  1182		else if (p > addr + 16)
  1183			print_section(KERN_ERR, "Bytes b4 ", p - 16, 16);
  1184	
  1185		print_section(KERN_ERR,         "Object   ", p,
  1186			      min_t(unsigned int, s->object_size, PAGE_SIZE));
  1187		if (s->flags & SLAB_RED_ZONE)
  1188			print_section(KERN_ERR, "Redzone  ", p + s->object_size,
  1189				s->inuse - s->object_size);
  1190	
  1191		off = get_info_end(s);
  1192	
  1193		if (s->flags & SLAB_STORE_USER)
  1194			off += 2 * sizeof(struct track);
  1195	
  1196		if (slub_debug_orig_size(s))
  1197			off += sizeof(unsigned long);
  1198	
  1199		off += kasan_metadata_size(s, false);
  1200	
> 1201		if (obj_exts_in_object(slab))
  1202			off += sizeof(struct slabobj_ext);
  1203	
  1204		if (off != size_from_object(s))
  1205			/* Beginning of the filler is the free pointer */
  1206			print_section(KERN_ERR, "Padding  ", p + off,
  1207				      size_from_object(s) - off);
  1208	}
  1209	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.