Use payload_dependency_release() instead. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- include/payload.h | 3 +-- src/netlink_delinearize.c | 9 +++------ src/payload.c | 15 +++++---------- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/include/payload.h b/include/payload.h index dec4647aad9f..161c64aedf11 100644 --- a/include/payload.h +++ b/include/payload.h @@ -42,8 +42,7 @@ extern void payload_dependency_store(struct payload_dep_ctx *ctx, enum proto_bases base); extern bool payload_dependency_exists(const struct payload_dep_ctx *ctx, enum proto_bases base); -extern void __payload_dependency_kill(struct payload_dep_ctx *ctx, - unsigned int family); +extern void payload_dependency_release(struct payload_dep_ctx *ctx); extern void payload_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, unsigned int family); extern void exthdr_dependency_kill(struct payload_dep_ctx *ctx, diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index f4b943964fc9..b9f195b07d63 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -1408,8 +1408,7 @@ static void ct_meta_common_postprocess(struct rule_pp_ctx *ctx, payload_dependency_store(&ctx->pdctx, ctx->stmt, base); } else if (ctx->pdctx.pbase < PROTO_BASE_TRANSPORT_HDR) { if (payload_dependency_exists(&ctx->pdctx, base)) - __payload_dependency_kill(&ctx->pdctx, - ctx->pctx.family); + payload_dependency_release(&ctx->pdctx); if (left->flags & EXPR_F_PROTOCOL) payload_dependency_store(&ctx->pdctx, ctx->stmt, base); } @@ -1874,8 +1873,7 @@ static void stmt_reject_postprocess(struct rule_pp_ctx *rctx) if (stmt->reject.type == NFT_REJECT_TCP_RST && payload_dependency_exists(&rctx->pdctx, PROTO_BASE_TRANSPORT_HDR)) - __payload_dependency_kill(&rctx->pdctx, - rctx->pctx.family); + payload_dependency_release(&rctx->pdctx); break; case NFPROTO_IPV6: stmt->reject.family = rctx->pctx.family; @@ -1883,8 +1881,7 @@ static void stmt_reject_postprocess(struct rule_pp_ctx *rctx) if (stmt->reject.type == NFT_REJECT_TCP_RST && payload_dependency_exists(&rctx->pdctx, PROTO_BASE_TRANSPORT_HDR)) - __payload_dependency_kill(&rctx->pdctx, - rctx->pctx.family); + payload_dependency_release(&rctx->pdctx); break; case NFPROTO_INET: if (stmt->reject.type == NFT_REJECT_ICMPX_UNREACH) { diff --git a/src/payload.c b/src/payload.c index df59ac8adcac..383aed039a5e 100644 --- a/src/payload.c +++ b/src/payload.c @@ -445,7 +445,7 @@ bool payload_dependency_exists(const struct payload_dep_ctx *ctx, ctx->pdep != NULL; } -static void payload_dependency_release(struct payload_dep_ctx *ctx) +void payload_dependency_release(struct payload_dep_ctx *ctx) { list_del(&ctx->pdep->list); stmt_free(ctx->pdep); @@ -457,7 +457,7 @@ static void payload_dependency_release(struct payload_dep_ctx *ctx) } /** - * __payload_dependency_kill - kill a redundant payload depedency + * payload_dependency_kill - kill a redundant payload depedency * * @ctx: payload dependency context * @expr: higher layer payload expression @@ -465,16 +465,11 @@ static void payload_dependency_release(struct payload_dep_ctx *ctx) * Kill a redundant payload expression if a higher layer payload expression * implies its existance. */ -void __payload_dependency_kill(struct payload_dep_ctx *ctx, unsigned int family) -{ - payload_dependency_release(ctx); -} - void payload_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, unsigned int family) { if (payload_dependency_exists(ctx, expr->payload.base)) - __payload_dependency_kill(ctx, family); + payload_dependency_release(ctx); } void exthdr_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, @@ -483,11 +478,11 @@ void exthdr_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, switch (expr->exthdr.op) { case NFT_EXTHDR_OP_TCPOPT: if (payload_dependency_exists(ctx, PROTO_BASE_TRANSPORT_HDR)) - __payload_dependency_kill(ctx, family); + payload_dependency_release(ctx); break; case NFT_EXTHDR_OP_IPV6: if (payload_dependency_exists(ctx, PROTO_BASE_NETWORK_HDR)) - __payload_dependency_kill(ctx, family); + payload_dependency_release(ctx); break; default: break; -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html