netfilter: nf_tables: introduce nft_validate_register_load()
[deliverable/linux.git] / net / netfilter / nft_redir.c
index d7e9e93a4e90f498f7a002c33840c928a3ab17e2..981946635c7132e5221ea19a5cf2b067f2b55059 100644 (file)
@@ -44,17 +44,19 @@ int nft_redir_init(const struct nft_ctx *ctx,
                   const struct nlattr * const tb[])
 {
        struct nft_redir *priv = nft_expr_priv(expr);
+       unsigned int plen;
        int err;
 
        err = nft_redir_validate(ctx, expr, NULL);
        if (err < 0)
                return err;
 
+       plen = FIELD_SIZEOF(struct nf_nat_range, min_addr.all);
        if (tb[NFTA_REDIR_REG_PROTO_MIN]) {
                priv->sreg_proto_min =
                        ntohl(nla_get_be32(tb[NFTA_REDIR_REG_PROTO_MIN]));
 
-               err = nft_validate_input_register(priv->sreg_proto_min);
+               err = nft_validate_register_load(priv->sreg_proto_min, plen);
                if (err < 0)
                        return err;
 
@@ -62,7 +64,8 @@ int nft_redir_init(const struct nft_ctx *ctx,
                        priv->sreg_proto_max =
                                ntohl(nla_get_be32(tb[NFTA_REDIR_REG_PROTO_MAX]));
 
-                       err = nft_validate_input_register(priv->sreg_proto_max);
+                       err = nft_validate_register_load(priv->sreg_proto_max,
+                                                        plen);
                        if (err < 0)
                                return err;
                } else {
This page took 0.025227 seconds and 5 git commands to generate.