[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220307212520.176fce24@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Mon, 7 Mar 2022 21:25:20 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: "dust.li" <dust.li@...ux.alibaba.com>
Cc: kernel test robot <lkp@...el.com>, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org
Subject: Re: [saeed:net-next 154/185] net/smc/smc_sysctl.h:23:16: warning:
no previous prototype for 'smc_sysctl_net_init'
On Tue, 8 Mar 2022 13:16:55 +0800 dust.li wrote:
> >vim +/smc_sysctl_net_init +23 net/smc/smc_sysctl.h
> >
> > 22
> > > 23 int __net_init smc_sysctl_net_init(struct net *net)
> > 24 {
> > 25 net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE;
> > 26 return 0;
> > 27 }
> > 28
> > > 29 void __net_exit smc_sysctl_net_exit(struct net *net) { }
> > 30
>
> Hi Jakub:
>
> Sorry to bother again on this !
> Looks like we still need to add 'static inline' or add an extra
> declaration for these 2 functions if we want to get rid of these warnings.
> What do you think ?
Sorry my comment was pretty unclear an unnecessary.
I meant that you don't need the __net_init annotation, it still
needs to be a static inline. So this is what I meant:
diff --git a/net/smc/smc_sysctl.h b/net/smc/smc_sysctl.h
index 1d554300604d..0becc11bd2f4 100644
--- a/net/smc/smc_sysctl.h
+++ b/net/smc/smc_sysctl.h
@@ -20,13 +20,13 @@ void __net_exit smc_sysctl_net_exit(struct net *net);
#else
-int __net_init smc_sysctl_net_init(struct net *net)
+static inline int smc_sysctl_net_init(struct net *net)
{
net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE;
return 0;
}
-void __net_exit smc_sysctl_net_exit(struct net *net) { }
+static inline void smc_sysctl_net_exit(struct net *net) { }
#endif /* CONFIG_SYSCTL */
But really it does not matter if the __net_init / exit is there,
so this works too:
diff --git a/net/smc/smc_sysctl.h b/net/smc/smc_sysctl.h
index 1d554300604d..6979e7173669 100644
--- a/net/smc/smc_sysctl.h
+++ b/net/smc/smc_sysctl.h
@@ -20,13 +20,13 @@ void __net_exit smc_sysctl_net_exit(struct net *net);
#else
-int __net_init smc_sysctl_net_init(struct net *net)
+static inline int __net_init smc_sysctl_net_init(struct net *net)
{
net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE;
return 0;
}
-void __net_exit smc_sysctl_net_exit(struct net *net) { }
+static inline void __net_exit smc_sysctl_net_exit(struct net *net) { }
#endif /* CONFIG_SYSCTL */
Powered by blists - more mailing lists