summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-08-26 13:42:17 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-08-26 17:30:21 +0200
commit7073b16f3dff83df1b0794262386abb869e8d180 (patch)
tree6a7d3db72abb1155c11920e670247629d3af38e9 /net
parentc016c7e45ddfa5085b35b644e659ec014969740d (diff)
downloadlinux-7073b16f3dff83df1b0794262386abb869e8d180.tar.gz
linux-7073b16f3dff83df1b0794262386abb869e8d180.tar.bz2
linux-7073b16f3dff83df1b0794262386abb869e8d180.zip
netfilter: nf_tables: Use nla_put_be32() to dump immediate parameters
nft_dump_register() should only be used with registers, not with immediates. Fixes: cb1b69b0b15b ("netfilter: nf_tables: add hash expression") Fixes: 91dbc6be0a62("netfilter: nf_tables: add number generator expression") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/nft_hash.c6
-rw-r--r--net/netfilter/nft_numgen.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
index e090aeef3a78..764251d31e46 100644
--- a/net/netfilter/nft_hash.c
+++ b/net/netfilter/nft_hash.c
@@ -88,11 +88,11 @@ static int nft_hash_dump(struct sk_buff *skb,
goto nla_put_failure;
if (nft_dump_register(skb, NFTA_HASH_DREG, priv->dreg))
goto nla_put_failure;
- if (nft_dump_register(skb, NFTA_HASH_LEN, priv->len))
+ if (nla_put_be32(skb, NFTA_HASH_LEN, htonl(priv->len)))
goto nla_put_failure;
- if (nft_dump_register(skb, NFTA_HASH_MODULUS, priv->modulus))
+ if (nla_put_be32(skb, NFTA_HASH_MODULUS, htonl(priv->modulus)))
goto nla_put_failure;
- if (nft_dump_register(skb, NFTA_HASH_SEED, priv->seed))
+ if (nla_put_be32(skb, NFTA_HASH_SEED, htonl(priv->seed)))
goto nla_put_failure;
return 0;
diff --git a/net/netfilter/nft_numgen.c b/net/netfilter/nft_numgen.c
index 176e26d5bbd0..294745ecb0fc 100644
--- a/net/netfilter/nft_numgen.c
+++ b/net/netfilter/nft_numgen.c
@@ -68,9 +68,9 @@ static int nft_ng_dump(struct sk_buff *skb, enum nft_registers dreg,
{
if (nft_dump_register(skb, NFTA_NG_DREG, dreg))
goto nla_put_failure;
- if (nft_dump_register(skb, NFTA_NG_UNTIL, until))
+ if (nla_put_be32(skb, NFTA_NG_UNTIL, htonl(until)))
goto nla_put_failure;
- if (nft_dump_register(skb, NFTA_NG_TYPE, type))
+ if (nla_put_be32(skb, NFTA_NG_TYPE, htonl(type)))
goto nla_put_failure;
return 0;