Loading include/net/netfilter/nf_tables.h +2 −1 Original line number Diff line number Diff line Loading @@ -1070,7 +1070,8 @@ struct nft_object_ops { int (*init)(const struct nft_ctx *ctx, const struct nlattr *const tb[], struct nft_object *obj); void (*destroy)(struct nft_object *obj); void (*destroy)(const struct nft_ctx *ctx, struct nft_object *obj); int (*dump)(struct sk_buff *skb, struct nft_object *obj, bool reset); Loading net/netfilter/nf_tables_api.c +6 −6 Original line number Diff line number Diff line Loading @@ -4787,7 +4787,7 @@ static int nf_tables_newobj(struct net *net, struct sock *nlsk, kfree(obj->name); err2: if (obj->ops->destroy) obj->ops->destroy(obj); obj->ops->destroy(&ctx, obj); kfree(obj); err1: module_put(type->owner); Loading Loading @@ -4997,10 +4997,10 @@ static int nf_tables_getobj(struct net *net, struct sock *nlsk, return err; } static void nft_obj_destroy(struct nft_object *obj) static void nft_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { if (obj->ops->destroy) obj->ops->destroy(obj); obj->ops->destroy(ctx, obj); module_put(obj->ops->type->owner); kfree(obj->name); Loading Loading @@ -6003,7 +6003,7 @@ static void nft_commit_release(struct nft_trans *trans) nft_trans_elem(trans).priv); break; case NFT_MSG_DELOBJ: nft_obj_destroy(nft_trans_obj(trans)); nft_obj_destroy(&trans->ctx, nft_trans_obj(trans)); break; case NFT_MSG_DELFLOWTABLE: nf_tables_flowtable_destroy(nft_trans_flowtable(trans)); Loading Loading @@ -6328,7 +6328,7 @@ static void nf_tables_abort_release(struct nft_trans *trans) nft_trans_elem(trans).priv, true); break; case NFT_MSG_NEWOBJ: nft_obj_destroy(nft_trans_obj(trans)); nft_obj_destroy(&trans->ctx, nft_trans_obj(trans)); break; case NFT_MSG_NEWFLOWTABLE: nf_tables_flowtable_destroy(nft_trans_flowtable(trans)); Loading Loading @@ -7022,7 +7022,7 @@ static void __nft_release_tables(struct net *net) list_for_each_entry_safe(obj, ne, &table->objects, list) { list_del(&obj->list); table->use--; nft_obj_destroy(obj); nft_obj_destroy(&ctx, obj); } list_for_each_entry_safe(chain, nc, &table->chains, list) { ctx.chain = chain; Loading net/netfilter/nft_counter.c +2 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,8 @@ static void nft_counter_do_destroy(struct nft_counter_percpu_priv *priv) free_percpu(priv->counter); } static void nft_counter_obj_destroy(struct nft_object *obj) static void nft_counter_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { struct nft_counter_percpu_priv *priv = nft_obj_data(obj); Loading net/netfilter/nft_ct.c +2 −1 Original line number Diff line number Diff line Loading @@ -826,7 +826,8 @@ static int nft_ct_helper_obj_init(const struct nft_ctx *ctx, return 0; } static void nft_ct_helper_obj_destroy(struct nft_object *obj) static void nft_ct_helper_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { struct nft_ct_helper_obj *priv = nft_obj_data(obj); Loading Loading
include/net/netfilter/nf_tables.h +2 −1 Original line number Diff line number Diff line Loading @@ -1070,7 +1070,8 @@ struct nft_object_ops { int (*init)(const struct nft_ctx *ctx, const struct nlattr *const tb[], struct nft_object *obj); void (*destroy)(struct nft_object *obj); void (*destroy)(const struct nft_ctx *ctx, struct nft_object *obj); int (*dump)(struct sk_buff *skb, struct nft_object *obj, bool reset); Loading
net/netfilter/nf_tables_api.c +6 −6 Original line number Diff line number Diff line Loading @@ -4787,7 +4787,7 @@ static int nf_tables_newobj(struct net *net, struct sock *nlsk, kfree(obj->name); err2: if (obj->ops->destroy) obj->ops->destroy(obj); obj->ops->destroy(&ctx, obj); kfree(obj); err1: module_put(type->owner); Loading Loading @@ -4997,10 +4997,10 @@ static int nf_tables_getobj(struct net *net, struct sock *nlsk, return err; } static void nft_obj_destroy(struct nft_object *obj) static void nft_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { if (obj->ops->destroy) obj->ops->destroy(obj); obj->ops->destroy(ctx, obj); module_put(obj->ops->type->owner); kfree(obj->name); Loading Loading @@ -6003,7 +6003,7 @@ static void nft_commit_release(struct nft_trans *trans) nft_trans_elem(trans).priv); break; case NFT_MSG_DELOBJ: nft_obj_destroy(nft_trans_obj(trans)); nft_obj_destroy(&trans->ctx, nft_trans_obj(trans)); break; case NFT_MSG_DELFLOWTABLE: nf_tables_flowtable_destroy(nft_trans_flowtable(trans)); Loading Loading @@ -6328,7 +6328,7 @@ static void nf_tables_abort_release(struct nft_trans *trans) nft_trans_elem(trans).priv, true); break; case NFT_MSG_NEWOBJ: nft_obj_destroy(nft_trans_obj(trans)); nft_obj_destroy(&trans->ctx, nft_trans_obj(trans)); break; case NFT_MSG_NEWFLOWTABLE: nf_tables_flowtable_destroy(nft_trans_flowtable(trans)); Loading Loading @@ -7022,7 +7022,7 @@ static void __nft_release_tables(struct net *net) list_for_each_entry_safe(obj, ne, &table->objects, list) { list_del(&obj->list); table->use--; nft_obj_destroy(obj); nft_obj_destroy(&ctx, obj); } list_for_each_entry_safe(chain, nc, &table->chains, list) { ctx.chain = chain; Loading
net/netfilter/nft_counter.c +2 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,8 @@ static void nft_counter_do_destroy(struct nft_counter_percpu_priv *priv) free_percpu(priv->counter); } static void nft_counter_obj_destroy(struct nft_object *obj) static void nft_counter_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { struct nft_counter_percpu_priv *priv = nft_obj_data(obj); Loading
net/netfilter/nft_ct.c +2 −1 Original line number Diff line number Diff line Loading @@ -826,7 +826,8 @@ static int nft_ct_helper_obj_init(const struct nft_ctx *ctx, return 0; } static void nft_ct_helper_obj_destroy(struct nft_object *obj) static void nft_ct_helper_obj_destroy(const struct nft_ctx *ctx, struct nft_object *obj) { struct nft_ct_helper_obj *priv = nft_obj_data(obj); Loading