summaryrefslogtreecommitdiff
path: root/net/ipv4/netfilter/nft_redir_ipv4.c
diff options
context:
space:
mode:
authorleroy christophe <christophe.leroy@c-s.fr>2014-12-22 12:20:14 (GMT)
committerPablo Neira Ayuso <pablo@netfilter.org>2014-12-23 14:34:28 (GMT)
commit7b5bca4676c7cd78b0f1ef8a132ef3ba9863c9ef (patch)
treef466b44988780926ca70fab588acc1b5b3c2c21b /net/ipv4/netfilter/nft_redir_ipv4.c
parent70314fc684b3406960dfc2bd1a6af7d9f82f0131 (diff)
downloadlinux-7b5bca4676c7cd78b0f1ef8a132ef3ba9863c9ef.tar.xz
netfilter: nf_tables: fix port natting in little endian archs
Make sure this fetches 16-bits port data from the register. Remove casting to make sparse happy, not needed anymore. Signed-off-by: leroy christophe <christophe.leroy@c-s.fr> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/ipv4/netfilter/nft_redir_ipv4.c')
-rw-r--r--net/ipv4/netfilter/nft_redir_ipv4.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/netfilter/nft_redir_ipv4.c b/net/ipv4/netfilter/nft_redir_ipv4.c
index ff2d23d..6ecfce6 100644
--- a/net/ipv4/netfilter/nft_redir_ipv4.c
+++ b/net/ipv4/netfilter/nft_redir_ipv4.c
@@ -27,10 +27,10 @@ static void nft_redir_ipv4_eval(const struct nft_expr *expr,
memset(&mr, 0, sizeof(mr));
if (priv->sreg_proto_min) {
- mr.range[0].min.all = (__force __be16)
- data[priv->sreg_proto_min].data[0];
- mr.range[0].max.all = (__force __be16)
- data[priv->sreg_proto_max].data[0];
+ mr.range[0].min.all =
+ *(__be16 *)&data[priv->sreg_proto_min].data[0];
+ mr.range[0].max.all =
+ *(__be16 *)&data[priv->sreg_proto_max].data[0];
mr.range[0].flags |= NF_NAT_RANGE_PROTO_SPECIFIED;
}