Loading include/net/netfilter/nf_tables.h +1 −0 Original line number Diff line number Diff line Loading @@ -846,6 +846,7 @@ static inline void *nft_expr_priv(const struct nft_expr *expr) return (void *)expr->data; } int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src); void nft_expr_destroy(const struct nft_ctx *ctx, struct nft_expr *expr); int nft_expr_dump(struct sk_buff *skb, unsigned int attr, const struct nft_expr *expr); Loading net/netfilter/nf_tables_api.c +18 −0 Original line number Diff line number Diff line Loading @@ -2557,6 +2557,24 @@ static struct nft_expr *nft_expr_init(const struct nft_ctx *ctx, return ERR_PTR(err); } int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src) { int err; if (src->ops->clone) { dst->ops = src->ops; err = src->ops->clone(dst, src); if (err < 0) return err; } else { memcpy(dst, src, src->ops->size); } __module_get(src->ops->type->owner); return 0; } void nft_expr_destroy(const struct nft_ctx *ctx, struct nft_expr *expr) { nf_tables_expr_destroy(ctx, expr); Loading net/netfilter/nft_dynset.c +0 −17 Original line number Diff line number Diff line Loading @@ -24,23 +24,6 @@ struct nft_dynset { struct nft_set_binding binding; }; static int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src) { int err; if (src->ops->clone) { dst->ops = src->ops; err = src->ops->clone(dst, src); if (err < 0) return err; } else { memcpy(dst, src, src->ops->size); } __module_get(src->ops->type->owner); return 0; } static void *nft_dynset_new(struct nft_set *set, const struct nft_expr *expr, struct nft_regs *regs) { Loading Loading
include/net/netfilter/nf_tables.h +1 −0 Original line number Diff line number Diff line Loading @@ -846,6 +846,7 @@ static inline void *nft_expr_priv(const struct nft_expr *expr) return (void *)expr->data; } int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src); void nft_expr_destroy(const struct nft_ctx *ctx, struct nft_expr *expr); int nft_expr_dump(struct sk_buff *skb, unsigned int attr, const struct nft_expr *expr); Loading
net/netfilter/nf_tables_api.c +18 −0 Original line number Diff line number Diff line Loading @@ -2557,6 +2557,24 @@ static struct nft_expr *nft_expr_init(const struct nft_ctx *ctx, return ERR_PTR(err); } int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src) { int err; if (src->ops->clone) { dst->ops = src->ops; err = src->ops->clone(dst, src); if (err < 0) return err; } else { memcpy(dst, src, src->ops->size); } __module_get(src->ops->type->owner); return 0; } void nft_expr_destroy(const struct nft_ctx *ctx, struct nft_expr *expr) { nf_tables_expr_destroy(ctx, expr); Loading
net/netfilter/nft_dynset.c +0 −17 Original line number Diff line number Diff line Loading @@ -24,23 +24,6 @@ struct nft_dynset { struct nft_set_binding binding; }; static int nft_expr_clone(struct nft_expr *dst, struct nft_expr *src) { int err; if (src->ops->clone) { dst->ops = src->ops; err = src->ops->clone(dst, src); if (err < 0) return err; } else { memcpy(dst, src, src->ops->size); } __module_get(src->ops->type->owner); return 0; } static void *nft_dynset_new(struct nft_set *set, const struct nft_expr *expr, struct nft_regs *regs) { Loading