aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/netfilter/nft_objref.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2018-11-08 09:32:24 -0800
committerTony Lindgren <tony@atomide.com>2018-11-08 09:32:24 -0800
commit91e43395820baad80248987608216c35da9df65b (patch)
tree29d41d1a036eb1abd6a60f16ad37aa578acd8159 /net/netfilter/nft_objref.c
parentARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup (diff)
parentARM: OMAP1: ams-delta: Fix possible use of uninitialized field (diff)
downloadwireguard-linux-91e43395820baad80248987608216c35da9df65b.tar.xz
wireguard-linux-91e43395820baad80248987608216c35da9df65b.zip
Merge branch 'fixes-dts' into omap-for-v4.20/fixes
Diffstat (limited to 'net/netfilter/nft_objref.c')
-rw-r--r--net/netfilter/nft_objref.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/net/netfilter/nft_objref.c b/net/netfilter/nft_objref.c
index cdf348f751ec..a3185ca2a3a9 100644
--- a/net/netfilter/nft_objref.c
+++ b/net/netfilter/nft_objref.c
@@ -155,12 +155,28 @@ nla_put_failure:
return -1;
}
+static void nft_objref_map_activate(const struct nft_ctx *ctx,
+ const struct nft_expr *expr)
+{
+ struct nft_objref_map *priv = nft_expr_priv(expr);
+
+ nf_tables_rebind_set(ctx, priv->set, &priv->binding);
+}
+
+static void nft_objref_map_deactivate(const struct nft_ctx *ctx,
+ const struct nft_expr *expr)
+{
+ struct nft_objref_map *priv = nft_expr_priv(expr);
+
+ nf_tables_unbind_set(ctx, priv->set, &priv->binding);
+}
+
static void nft_objref_map_destroy(const struct nft_ctx *ctx,
const struct nft_expr *expr)
{
struct nft_objref_map *priv = nft_expr_priv(expr);
- nf_tables_unbind_set(ctx, priv->set, &priv->binding);
+ nf_tables_destroy_set(ctx, priv->set);
}
static struct nft_expr_type nft_objref_type;
@@ -169,6 +185,8 @@ static const struct nft_expr_ops nft_objref_map_ops = {
.size = NFT_EXPR_SIZE(sizeof(struct nft_objref_map)),
.eval = nft_objref_map_eval,
.init = nft_objref_map_init,
+ .activate = nft_objref_map_activate,
+ .deactivate = nft_objref_map_deactivate,
.destroy = nft_objref_map_destroy,
.dump = nft_objref_map_dump,
};