netfilter: nf_tables: introduce nft_validate_register_load()
[deliverable/linux.git] / net / netfilter / nft_meta.c
index fbaee1d373bb3eb3201fdac2dfd1a9012ca35030..0ae6bb73241814b87e4bd6135b3557c5ad7f9d1c 100644 (file)
@@ -267,20 +267,24 @@ int nft_meta_set_init(const struct nft_ctx *ctx,
                      const struct nlattr * const tb[])
 {
        struct nft_meta *priv = nft_expr_priv(expr);
+       unsigned int len;
        int err;
 
        priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY]));
        switch (priv->key) {
        case NFT_META_MARK:
        case NFT_META_PRIORITY:
+               len = sizeof(u32);
+               break;
        case NFT_META_NFTRACE:
+               len = sizeof(u8);
                break;
        default:
                return -EOPNOTSUPP;
        }
 
        priv->sreg = ntohl(nla_get_be32(tb[NFTA_META_SREG]));
-       err = nft_validate_input_register(priv->sreg);
+       err = nft_validate_register_load(priv->sreg, len);
        if (err < 0)
                return err;
 
This page took 0.025376 seconds and 5 git commands to generate.