Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d3cdc38 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: core: add nf_remove_net_hook



Just a cleanup, __nf_unregister_net_hook() is used by a follow up patch
when handling NFPROTO_INET as a real family from the core.

Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 408070d6
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -360,7 +360,7 @@ int nf_register_net_hook(struct net *net, const struct nf_hook_ops *reg)
EXPORT_SYMBOL(nf_register_net_hook);
EXPORT_SYMBOL(nf_register_net_hook);


/*
/*
 * __nf_unregister_net_hook - remove a hook from blob
 * nf_remove_net_hook - remove a hook from blob
 *
 *
 * @oldp: current address of hook blob
 * @oldp: current address of hook blob
 * @unreg: hook to unregister
 * @unreg: hook to unregister
@@ -368,7 +368,7 @@ EXPORT_SYMBOL(nf_register_net_hook);
 * This cannot fail, hook unregistration must always succeed.
 * This cannot fail, hook unregistration must always succeed.
 * Therefore replace the to-be-removed hook with a dummy hook.
 * Therefore replace the to-be-removed hook with a dummy hook.
 */
 */
static void __nf_unregister_net_hook(struct nf_hook_entries *old,
static void nf_remove_net_hook(struct nf_hook_entries *old,
			       const struct nf_hook_ops *unreg)
			       const struct nf_hook_ops *unreg)
{
{
	struct nf_hook_ops **orig_ops;
	struct nf_hook_ops **orig_ops;
@@ -415,7 +415,7 @@ void nf_unregister_net_hook(struct net *net, const struct nf_hook_ops *reg)
		return;
		return;
	}
	}


	__nf_unregister_net_hook(p, reg);
	nf_remove_net_hook(p, reg);


	p = __nf_hook_entries_try_shrink(pp);
	p = __nf_hook_entries_try_shrink(pp);
	mutex_unlock(&nf_hook_mutex);
	mutex_unlock(&nf_hook_mutex);