Hi Ajay,
kernel test robot noticed the following build warnings:
[auto build test WARNING on shuah-kselftest/next] [also build test WARNING on shuah-kselftest/fixes linus/master v6.3 next-20230428] [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/Ajay-Kaher/eventfs-introducin... base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next patch link: https://lore.kernel.org/r/1683026600-13485-5-git-send-email-akaher%40vmware.... patch subject: [PATCH v2 4/9] eventfs: adding eventfs file, directory remove function config: i386-randconfig-a011-20230501 (https://download.01.org/0day-ci/archive/20230502/202305022354.fzV9RKTT-lkp@i...) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/9a36b39da0c3fbfe15a3c3a0ed71b5... git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Ajay-Kaher/eventfs-introducing-struct-tracefs_inode/20230502-192949 git checkout 9a36b39da0c3fbfe15a3c3a0ed71b52013bac292 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash fs/tracefs/ kernel/trace/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot lkp@intel.com | Link: https://lore.kernel.org/oe-kbuild-all/202305022354.fzV9RKTT-lkp@intel.com/
All warnings (new ones prefixed by >>):
fs/tracefs/event_inode.c:379:6: warning: no previous prototype for function 'eventfs_remove_rec' [-Wmissing-prototypes]
void eventfs_remove_rec(struct eventfs_file *ef) ^ fs/tracefs/event_inode.c:379:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void eventfs_remove_rec(struct eventfs_file *ef) ^ static fs/tracefs/event_inode.c:31:29: warning: unused function 'eventfs_dentry_to_rwsem' [-Wunused-function] static struct rw_semaphore *eventfs_dentry_to_rwsem(struct dentry *dentry) ^ fs/tracefs/event_inode.c:47:13: warning: unused function 'eventfs_down_read' [-Wunused-function] static void eventfs_down_read(struct rw_semaphore *eventfs_rwsem) ^ fs/tracefs/event_inode.c:58:13: warning: unused function 'eventfs_up_read' [-Wunused-function] static void eventfs_up_read(struct rw_semaphore *eventfs_rwsem) ^ 4 warnings generated.
vim +/eventfs_remove_rec +379 fs/tracefs/event_inode.c
371 372 /** 373 * eventfs_remove_rec - remove eventfs dir or file from list 374 * @ef: a pointer to eventfs_file to be removed. 375 * 376 * This function recursively remove eventfs_file which 377 * contains info of file or dir. 378 */
379 void eventfs_remove_rec(struct eventfs_file *ef)
380 { 381 struct eventfs_file *ef_child, *n; 382 383 if (!ef) 384 return; 385 386 if (ef->ei) { 387 /* search for nested folders or files */ 388 list_for_each_entry_safe(ef_child, n, &ef->ei->e_top_files, list) { 389 eventfs_remove_rec(ef_child); 390 } 391 kfree(ef->ei); 392 } 393 394 if (ef->created && ef->dentry) { 395 d_invalidate(ef->dentry); 396 dput(ef->dentry); 397 } 398 list_del(&ef->list); 399 kfree(ef->name); 400 kfree(ef); 401 } 402