Hi Li, kernel test robot noticed the following build errors: [auto build test ERROR on trondmy-nfs/linux-next] [also build test ERROR on linus/master v6.11-rc5 next-20240830] [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/Li-Lingfeng/nfs-protect-nfs41_impl_id-by-rcu/20240829-213622 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next patch link: https://lore.kernel.org/r/20240829133743.1008788-1-lilingfeng3%40huawei.com patch subject: [PATCH v2] nfs: protect nfs41_impl_id by rcu config: i386-randconfig-001-20240830 (https://download.01.org/0day-ci/archive/20240830/202408302315.02P7HuVM-lkp@xxxxxxxxx/config) compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240830/202408302315.02P7HuVM-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/202408302315.02P7HuVM-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> fs/nfs/nfs4client.c:286:34: error: incomplete definition of type 'struct nfs41_impl_id' 286 | struct nfs41_impl_id *impl_id = container_of(head, struct nfs41_impl_id, __rcu_head); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/container_of.h:20:47: note: expanded from macro 'container_of' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 21 | __same_type(*(ptr), void), \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 | "pointer type mismatch in container_of()"); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:451:74: note: expanded from macro '__same_type' 451 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ^ include/linux/build_bug.h:77:50: note: expanded from macro 'static_assert' 77 | #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:78:56: note: expanded from macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/nfs_fs_sb.h:23:8: note: forward declaration of 'struct nfs41_impl_id' 23 | struct nfs41_impl_id; | ^ >> fs/nfs/nfs4client.c:286:34: error: offsetof of incomplete type 'struct nfs41_impl_id' 286 | struct nfs41_impl_id *impl_id = container_of(head, struct nfs41_impl_id, __rcu_head); | ^ ~~~~~~ include/linux/container_of.h:23:21: note: expanded from macro 'container_of' 23 | ((type *)(__mptr - offsetof(type, member))); }) | ^ ~~~~ include/linux/stddef.h:16:32: note: expanded from macro 'offsetof' 16 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER) | ^ ~~~~ include/linux/nfs_fs_sb.h:23:8: note: forward declaration of 'struct nfs41_impl_id' 23 | struct nfs41_impl_id; | ^ >> fs/nfs/nfs4client.c:286:24: error: initializing 'struct nfs41_impl_id *' with an expression of incompatible type 'void' 286 | struct nfs41_impl_id *impl_id = container_of(head, struct nfs41_impl_id, __rcu_head); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/nfs/nfs4client.c:304:27: error: incomplete definition of type 'struct nfs41_impl_id' 304 | call_rcu(&clp->cl_implid->__rcu_head, nfs4_free_impl_id_rcu); | ~~~~~~~~~~~~~~^ include/linux/nfs_fs_sb.h:23:8: note: forward declaration of 'struct nfs41_impl_id' 23 | struct nfs41_impl_id; | ^ 4 errors generated. Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n] Selected by [m]: - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] vim +286 fs/nfs/nfs4client.c 283 284 static void nfs4_free_impl_id_rcu(struct rcu_head *head) 285 { > 286 struct nfs41_impl_id *impl_id = container_of(head, struct nfs41_impl_id, __rcu_head); 287 288 kfree(impl_id); 289 } 290 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki