diff options
author | Eric Dumazet <edumazet@google.com> | 2018-03-31 21:58:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-01 05:25:38 +0200 |
commit | 787bea7748a76130566f881c2342a0be4127d182 (patch) | |
tree | 7ccb164171907fe4a50900d234a81f56d9e95761 /net/ipv6/reassembly.c | |
parent | ipv6: frag: remove unused field (diff) | |
download | linux-787bea7748a76130566f881c2342a0be4127d182.tar.xz linux-787bea7748a76130566f881c2342a0be4127d182.zip |
inet: frags: change inet_frags_init_net() return value
We will soon initialize one rhashtable per struct netns_frags
in inet_frags_init_net().
This patch changes the return value to eventually propagate an
error.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/reassembly.c')
-rw-r--r-- | net/ipv6/reassembly.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 08a139f14d0f..a8f7a5f0251a 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -711,13 +711,20 @@ static void ip6_frags_sysctl_unregister(void) static int __net_init ipv6_frags_init_net(struct net *net) { + int res; + net->ipv6.frags.high_thresh = IPV6_FRAG_HIGH_THRESH; net->ipv6.frags.low_thresh = IPV6_FRAG_LOW_THRESH; net->ipv6.frags.timeout = IPV6_FRAG_TIMEOUT; - inet_frags_init_net(&net->ipv6.frags); + res = inet_frags_init_net(&net->ipv6.frags); + if (res < 0) + return res; - return ip6_frags_ns_sysctl_register(net); + res = ip6_frags_ns_sysctl_register(net); + if (res < 0) + inet_frags_exit_net(&net->ipv6.frags, &ip6_frags); + return res; } static void __net_exit ipv6_frags_exit_net(struct net *net) |