On Wed, Mar 02, 2022 at 11:45:03AM -0800, Jakub Kicinski wrote: >On Wed, 2 Mar 2022 23:02:23 +0800 kernel test robot wrote: >> In file included from net/smc/smc_sysctl.c:18: >> net/smc/smc_sysctl.h:23:19: note: previous definition of 'smc_sysctl_init' with type 'int(void)' >> 23 | static inline int smc_sysctl_init(void) >> | ^~~~~~~~~~~~~~~ >> >> net/smc/smc_sysctl.c:78:1: warning: ignoring attribute 'noinline' because it conflicts with attribute 'gnu_inline' [-Wattributes] >> 78 | { >> | ^ > >The __net_init / __net_exit attr has to go on the prototype as well. Thanks a lot for pointing out ! > >This doesn't look right, tho, why __net_* attrs? You call those >functions from the module init/exit. __net_ is for namespace code. Yes, I made the mistake and mixes up smc_sysctl_{init|exit}() with smc_sysctl_{init|exit}_net when doing the quick fix... And my check script with neither allyesconfig/allnoconfig nor defconfig reproduced this. This happens when CONFIG_SMC=y|m and CONFIG_SYSCTL is not set. I will send a v2. Thanks.