aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-09-27 21:48:18 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-28 21:02:40 -0400
commita252cc2371930debe3162f1ac91467b9791324cb (patch)
tree9679147dcceac5dd24c97dc9dbe7c63546cf568a
parent6067b2baba32211e84d1ef2dba863422281bd6c7 (diff)
[XFRM]: xrfm_replay_check() annotations
seq argument is net-endian Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/xfrm.h4
-rw-r--r--net/ipv6/xfrm6_input.c2
-rw-r--r--net/ipv6/xfrm6_tunnel.c2
-rw-r--r--net/xfrm/xfrm_state.c5
4 files changed, 6 insertions, 7 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 460551968560..e6110559e505 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -935,7 +935,7 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s
935extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); 935extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq);
936extern int xfrm_state_delete(struct xfrm_state *x); 936extern int xfrm_state_delete(struct xfrm_state *x);
937extern void xfrm_state_flush(u8 proto); 937extern void xfrm_state_flush(u8 proto);
938extern int xfrm_replay_check(struct xfrm_state *x, u32 seq); 938extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq);
939extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq); 939extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq);
940extern void xfrm_replay_notify(struct xfrm_state *x, int event); 940extern void xfrm_replay_notify(struct xfrm_state *x, int event);
941extern int xfrm_state_check(struct xfrm_state *x, struct sk_buff *skb); 941extern int xfrm_state_check(struct xfrm_state *x, struct sk_buff *skb);
@@ -945,7 +945,7 @@ extern int xfrm4_rcv(struct sk_buff *skb);
945extern int xfrm4_output(struct sk_buff *skb); 945extern int xfrm4_output(struct sk_buff *skb);
946extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler); 946extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler);
947extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); 947extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler);
948extern int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi); 948extern int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi);
949extern int xfrm6_rcv(struct sk_buff **pskb); 949extern int xfrm6_rcv(struct sk_buff **pskb);
950extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr, 950extern int xfrm6_input_addr(struct sk_buff *skb, xfrm_address_t *daddr,
951 xfrm_address_t *saddr, u8 proto); 951 xfrm_address_t *saddr, u8 proto);
diff --git a/net/ipv6/xfrm6_input.c b/net/ipv6/xfrm6_input.c
index 140aa8769acc..5c8b7a568800 100644
--- a/net/ipv6/xfrm6_input.c
+++ b/net/ipv6/xfrm6_input.c
@@ -16,7 +16,7 @@
16#include <net/ipv6.h> 16#include <net/ipv6.h>
17#include <net/xfrm.h> 17#include <net/xfrm.h>
18 18
19int xfrm6_rcv_spi(struct sk_buff *skb, u32 spi) 19int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi)
20{ 20{
21 int err; 21 int err;
22 __be32 seq; 22 __be32 seq;
diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c
index 59685ee8f700..7af227bb1551 100644
--- a/net/ipv6/xfrm6_tunnel.c
+++ b/net/ipv6/xfrm6_tunnel.c
@@ -258,7 +258,7 @@ static int xfrm6_tunnel_input(struct xfrm_state *x, struct sk_buff *skb)
258static int xfrm6_tunnel_rcv(struct sk_buff *skb) 258static int xfrm6_tunnel_rcv(struct sk_buff *skb)
259{ 259{
260 struct ipv6hdr *iph = skb->nh.ipv6h; 260 struct ipv6hdr *iph = skb->nh.ipv6h;
261 u32 spi; 261 __be32 spi;
262 262
263 spi = xfrm6_tunnel_spi_lookup((xfrm_address_t *)&iph->saddr); 263 spi = xfrm6_tunnel_spi_lookup((xfrm_address_t *)&iph->saddr);
264 return xfrm6_rcv_spi(skb, spi); 264 return xfrm6_rcv_spi(skb, spi);
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 3692a4783a75..33e982961db0 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1180,11 +1180,10 @@ static void xfrm_replay_timer_handler(unsigned long data)
1180 spin_unlock(&x->lock); 1180 spin_unlock(&x->lock);
1181} 1181}
1182 1182
1183int xfrm_replay_check(struct xfrm_state *x, u32 seq) 1183int xfrm_replay_check(struct xfrm_state *x, __be32 net_seq)
1184{ 1184{
1185 u32 diff; 1185 u32 diff;
1186 1186 u32 seq = ntohl(net_seq);
1187 seq = ntohl(seq);
1188 1187
1189 if (unlikely(seq == 0)) 1188 if (unlikely(seq == 0))
1190 return -EINVAL; 1189 return -EINVAL;