[NETNS]: Fix compiler error in net_namespace.c
Because net_free is called by copy_net_ns before its declaration, the
compiler gives an error. This patch puts net_free before copy_net_ns
to fix this.
The compiler error:
net/core/net_namespace.c: In function 'copy_net_ns':
net/core/net_namespace.c:97: error: implicit declaration of function 'net_free'
net/core/net_namespace.c: At top level:
net/core/net_namespace.c:104: warning: conflicting types for 'net_free'
net/core/net_namespace.c:104: error: static declaration of 'net_free' follows non-static declaration
net/core/net_namespace.c:97: error: previous implicit declaration of 'net_free' was here
The error was introduced by the '[NET]: Hide the dead code in the
net_namespace.c' patch (6a1a3b9f68
).
Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d0127539ea
commit
45a19b0a72
1 changed files with 14 additions and 14 deletions
|
@ -64,6 +64,20 @@ static struct net *net_alloc(void)
|
|||
return kmem_cache_zalloc(net_cachep, GFP_KERNEL);
|
||||
}
|
||||
|
||||
static void net_free(struct net *net)
|
||||
{
|
||||
if (!net)
|
||||
return;
|
||||
|
||||
if (unlikely(atomic_read(&net->use_count) != 0)) {
|
||||
printk(KERN_EMERG "network namespace not free! Usage: %d\n",
|
||||
atomic_read(&net->use_count));
|
||||
return;
|
||||
}
|
||||
|
||||
kmem_cache_free(net_cachep, net);
|
||||
}
|
||||
|
||||
struct net *copy_net_ns(unsigned long flags, struct net *old_net)
|
||||
{
|
||||
struct net *new_net = NULL;
|
||||
|
@ -100,20 +114,6 @@ struct net *copy_net_ns(unsigned long flags, struct net *old_net)
|
|||
return new_net;
|
||||
}
|
||||
|
||||
static void net_free(struct net *net)
|
||||
{
|
||||
if (!net)
|
||||
return;
|
||||
|
||||
if (unlikely(atomic_read(&net->use_count) != 0)) {
|
||||
printk(KERN_EMERG "network namespace not free! Usage: %d\n",
|
||||
atomic_read(&net->use_count));
|
||||
return;
|
||||
}
|
||||
|
||||
kmem_cache_free(net_cachep, net);
|
||||
}
|
||||
|
||||
static void cleanup_net(struct work_struct *work)
|
||||
{
|
||||
struct pernet_operations *ops;
|
||||
|
|
Loading…
Reference in a new issue