diff options
author | Patrick McHardy <kaber@trash.net> | 2007-02-12 14:14:28 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-02-12 14:14:28 -0500 |
commit | fe3eb20c1ace69e42e6ebf2afd2a904b2ae85cde (patch) | |
tree | 6c49ee94bc60c668aa3f02aa029e167f6669e031 /net | |
parent | 982d9a9ce389c396bc83ce29d799937f379ddcb7 (diff) |
[NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void
No caller checks the return value, and since its usually called within the
module unload path there's nothing a module could do about errors anyway,
so BUG on invalid conditions and return void.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/netfilter/nf_conntrack_proto.c | 40 |
1 files changed, 7 insertions, 33 deletions
diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c index 4dab3fa6e2bc..456155f05c75 100644 --- a/net/netfilter/nf_conntrack_proto.c +++ b/net/netfilter/nf_conntrack_proto.c | |||
@@ -215,22 +215,12 @@ out: | |||
215 | } | 215 | } |
216 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_register); | 216 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_register); |
217 | 217 | ||
218 | int nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto) | 218 | void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto) |
219 | { | 219 | { |
220 | int ret = 0; | 220 | BUG_ON(proto->l3proto >= AF_MAX); |
221 | |||
222 | if (proto->l3proto >= AF_MAX) { | ||
223 | ret = -EBUSY; | ||
224 | goto out; | ||
225 | } | ||
226 | 221 | ||
227 | write_lock_bh(&nf_conntrack_lock); | 222 | write_lock_bh(&nf_conntrack_lock); |
228 | if (nf_ct_l3protos[proto->l3proto] != proto) { | 223 | BUG_ON(nf_ct_l3protos[proto->l3proto] != proto); |
229 | write_unlock_bh(&nf_conntrack_lock); | ||
230 | ret = -EBUSY; | ||
231 | goto out; | ||
232 | } | ||
233 | |||
234 | rcu_assign_pointer(nf_ct_l3protos[proto->l3proto], | 224 | rcu_assign_pointer(nf_ct_l3protos[proto->l3proto], |
235 | &nf_conntrack_l3proto_generic); | 225 | &nf_conntrack_l3proto_generic); |
236 | write_unlock_bh(&nf_conntrack_lock); | 226 | write_unlock_bh(&nf_conntrack_lock); |
@@ -240,9 +230,6 @@ int nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto) | |||
240 | 230 | ||
241 | /* Remove all contrack entries for this protocol */ | 231 | /* Remove all contrack entries for this protocol */ |
242 | nf_ct_iterate_cleanup(kill_l3proto, proto); | 232 | nf_ct_iterate_cleanup(kill_l3proto, proto); |
243 | |||
244 | out: | ||
245 | return ret; | ||
246 | } | 233 | } |
247 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); | 234 | EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); |
248 | 235 | ||
@@ -368,27 +355,17 @@ out: | |||
368 | } | 355 | } |
369 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_register); | 356 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_register); |
370 | 357 | ||
371 | int nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) | 358 | void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) |
372 | { | 359 | { |
373 | int ret = 0; | 360 | BUG_ON(l4proto->l3proto >= PF_MAX); |
374 | |||
375 | if (l4proto->l3proto >= PF_MAX) { | ||
376 | ret = -EBUSY; | ||
377 | goto out; | ||
378 | } | ||
379 | 361 | ||
380 | if (l4proto == &nf_conntrack_l4proto_generic) { | 362 | if (l4proto == &nf_conntrack_l4proto_generic) { |
381 | nf_ct_l4proto_unregister_sysctl(l4proto); | 363 | nf_ct_l4proto_unregister_sysctl(l4proto); |
382 | goto out; | 364 | return; |
383 | } | 365 | } |
384 | 366 | ||
385 | write_lock_bh(&nf_conntrack_lock); | 367 | write_lock_bh(&nf_conntrack_lock); |
386 | if (nf_ct_protos[l4proto->l3proto][l4proto->l4proto] | 368 | BUG_ON(nf_ct_protos[l4proto->l3proto][l4proto->l4proto] != l4proto); |
387 | != l4proto) { | ||
388 | write_unlock_bh(&nf_conntrack_lock); | ||
389 | ret = -EBUSY; | ||
390 | goto out; | ||
391 | } | ||
392 | rcu_assign_pointer(nf_ct_protos[l4proto->l3proto][l4proto->l4proto], | 369 | rcu_assign_pointer(nf_ct_protos[l4proto->l3proto][l4proto->l4proto], |
393 | &nf_conntrack_l4proto_generic); | 370 | &nf_conntrack_l4proto_generic); |
394 | write_unlock_bh(&nf_conntrack_lock); | 371 | write_unlock_bh(&nf_conntrack_lock); |
@@ -398,8 +375,5 @@ int nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) | |||
398 | 375 | ||
399 | /* Remove all contrack entries for this protocol */ | 376 | /* Remove all contrack entries for this protocol */ |
400 | nf_ct_iterate_cleanup(kill_l4proto, l4proto); | 377 | nf_ct_iterate_cleanup(kill_l4proto, l4proto); |
401 | |||
402 | out: | ||
403 | return ret; | ||
404 | } | 378 | } |
405 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister); | 379 | EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister); |