From: Andi Kleen <a...@linux.intel.com> ping_v4_net_ops references init functions, so needs to be __initdata. ping_proc_exit is then referenced from __initdata, so also needs to be __init.
Signed-off-by: Andi Kleen <a...@linux.intel.com> --- net/ipv4/ping.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index 7ccb5f87f70b..070e078612a0 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c @@ -1160,7 +1160,7 @@ static void __net_exit ping_v4_proc_exit_net(struct net *net) remove_proc_entry("icmp", net->proc_net); } -static struct pernet_operations ping_v4_net_ops = { +static __initdata struct pernet_operations ping_v4_net_ops = { .init = ping_v4_proc_init_net, .exit = ping_v4_proc_exit_net, }; @@ -1170,7 +1170,7 @@ int __init ping_proc_init(void) return register_pernet_subsys(&ping_v4_net_ops); } -void ping_proc_exit(void) +void __init ping_proc_exit(void) { unregister_pernet_subsys(&ping_v4_net_ops); } -- 2.20.1