Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Patrick McHardy and committed by
David S. Miller
fe3eb20c 982d9a9c

+9 -35
+1 -1
include/net/netfilter/nf_conntrack_l3proto.h
··· 89 89 90 90 /* Protocol registration. */ 91 91 extern int nf_conntrack_l3proto_register(struct nf_conntrack_l3proto *proto); 92 - extern int nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto); 92 + extern void nf_conntrack_l3proto_unregister(struct nf_conntrack_l3proto *proto); 93 93 94 94 extern struct nf_conntrack_l3proto * 95 95 nf_ct_l3proto_find_get(u_int16_t l3proto);
+1 -1
include/net/netfilter/nf_conntrack_l4proto.h
··· 109 109 110 110 /* Protocol registration. */ 111 111 extern int nf_conntrack_l4proto_register(struct nf_conntrack_l4proto *proto); 112 - extern int nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *proto); 112 + extern void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *proto); 113 113 114 114 /* Generic netlink helpers */ 115 115 extern int nf_ct_port_tuple_to_nfattr(struct sk_buff *skb,
+7 -33
net/netfilter/nf_conntrack_proto.c
··· 215 215 } 216 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; 221 - 222 - if (proto->l3proto >= AF_MAX) { 223 - ret = -EBUSY; 224 - goto out; 225 - } 220 + BUG_ON(proto->l3proto >= AF_MAX); 226 221 227 222 write_lock_bh(&nf_conntrack_lock); 228 - if (nf_ct_l3protos[proto->l3proto] != proto) { 229 - write_unlock_bh(&nf_conntrack_lock); 230 - ret = -EBUSY; 231 - goto out; 232 - } 233 - 223 + BUG_ON(nf_ct_l3protos[proto->l3proto] != proto); 234 224 rcu_assign_pointer(nf_ct_l3protos[proto->l3proto], 235 225 &nf_conntrack_l3proto_generic); 236 226 write_unlock_bh(&nf_conntrack_lock); ··· 230 240 231 241 /* Remove all contrack entries for this protocol */ 232 242 nf_ct_iterate_cleanup(kill_l3proto, proto); 233 - 234 - out: 235 - return ret; 236 243 } 237 244 EXPORT_SYMBOL_GPL(nf_conntrack_l3proto_unregister); 238 245 ··· 355 368 } 356 369 EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_register); 357 370 358 - int nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) 371 + void nf_conntrack_l4proto_unregister(struct nf_conntrack_l4proto *l4proto) 359 372 { 360 - int ret = 0; 361 - 362 - if (l4proto->l3proto >= PF_MAX) { 363 - ret = -EBUSY; 364 - goto out; 365 - } 373 + BUG_ON(l4proto->l3proto >= PF_MAX); 366 374 367 375 if (l4proto == &nf_conntrack_l4proto_generic) { 368 376 nf_ct_l4proto_unregister_sysctl(l4proto); 369 - goto out; 377 + return; 370 378 } 371 379 372 380 write_lock_bh(&nf_conntrack_lock); 373 - if (nf_ct_protos[l4proto->l3proto][l4proto->l4proto] 374 - != l4proto) { 375 - write_unlock_bh(&nf_conntrack_lock); 376 - ret = -EBUSY; 377 - goto out; 378 - } 381 + BUG_ON(nf_ct_protos[l4proto->l3proto][l4proto->l4proto] != l4proto); 379 382 rcu_assign_pointer(nf_ct_protos[l4proto->l3proto][l4proto->l4proto], 380 383 &nf_conntrack_l4proto_generic); 381 384 write_unlock_bh(&nf_conntrack_lock); ··· 375 398 376 399 /* Remove all contrack entries for this protocol */ 377 400 nf_ct_iterate_cleanup(kill_l4proto, l4proto); 378 - 379 - out: 380 - return ret; 381 401 } 382 402 EXPORT_SYMBOL_GPL(nf_conntrack_l4proto_unregister);