git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
net
/
xfrm
/
xfrm_input.c
diff --git
a/net/xfrm/xfrm_input.c
b/net/xfrm/xfrm_input.c
index
2407a70
..
414f890
100644
(file)
--- a/
net/xfrm/xfrm_input.c
+++ b/
net/xfrm/xfrm_input.c
@@
-12,13
+12,13
@@
#include <net/ip.h>
#include <net/xfrm.h>
#include <net/ip.h>
#include <net/xfrm.h>
-static
kmem_cache_t
*secpath_cachep __read_mostly;
+static
struct kmem_cache
*secpath_cachep __read_mostly;
void __secpath_destroy(struct sec_path *sp)
{
int i;
for (i = 0; i < sp->len; i++)
void __secpath_destroy(struct sec_path *sp)
{
int i;
for (i = 0; i < sp->len; i++)
- xfrm_state_put(sp->x
[i].xvec
);
+ xfrm_state_put(sp->x
vec[i]
);
kmem_cache_free(secpath_cachep, sp);
}
EXPORT_SYMBOL(__secpath_destroy);
kmem_cache_free(secpath_cachep, sp);
}
EXPORT_SYMBOL(__secpath_destroy);
@@
-27,7
+27,7
@@
struct sec_path *secpath_dup(struct sec_path *src)
{
struct sec_path *sp;
{
struct sec_path *sp;
- sp = kmem_cache_alloc(secpath_cachep,
SLAB
_ATOMIC);
+ sp = kmem_cache_alloc(secpath_cachep,
GFP
_ATOMIC);
if (!sp)
return NULL;
if (!sp)
return NULL;
@@
-37,7
+37,7
@@
struct sec_path *secpath_dup(struct sec_path *src)
memcpy(sp, src, sizeof(*sp));
for (i = 0; i < sp->len; i++)
memcpy(sp, src, sizeof(*sp));
for (i = 0; i < sp->len; i++)
- xfrm_state_hold(sp->x
[i].xvec
);
+ xfrm_state_hold(sp->x
vec[i]
);
}
atomic_set(&sp->refcnt, 1);
return sp;
}
atomic_set(&sp->refcnt, 1);
return sp;
@@
-46,7
+46,7
@@
EXPORT_SYMBOL(secpath_dup);
/* Fetch spi and seq from ipsec header */
/* Fetch spi and seq from ipsec header */
-int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr,
u32 *spi, u
32 *seq)
+int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr,
__be32 *spi, __be
32 *seq)
{
int offset, offset_seq;
{
int offset, offset_seq;
@@
-62,7
+62,7
@@
int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, u32 *spi, u32 *seq)
case IPPROTO_COMP:
if (!pskb_may_pull(skb, sizeof(struct ip_comp_hdr)))
return -EINVAL;
case IPPROTO_COMP:
if (!pskb_may_pull(skb, sizeof(struct ip_comp_hdr)))
return -EINVAL;
- *spi =
ntohl(ntohs(*(u
16*)(skb->h.raw + 2)));
+ *spi =
htonl(ntohs(*(__be
16*)(skb->h.raw + 2)));
*seq = 0;
return 0;
default:
*seq = 0;
return 0;
default:
@@
-72,8
+72,8
@@
int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, u32 *spi, u32 *seq)
if (!pskb_may_pull(skb, 16))
return -EINVAL;
if (!pskb_may_pull(skb, 16))
return -EINVAL;
- *spi = *(
u
32*)(skb->h.raw + offset);
- *seq = *(
u
32*)(skb->h.raw + offset_seq);
+ *spi = *(
__be
32*)(skb->h.raw + offset);
+ *seq = *(
__be
32*)(skb->h.raw + offset_seq);
return 0;
}
EXPORT_SYMBOL(xfrm_parse_spi);
return 0;
}
EXPORT_SYMBOL(xfrm_parse_spi);
@@
-82,8
+82,6
@@
void __init xfrm_input_init(void)
{
secpath_cachep = kmem_cache_create("secpath_cache",
sizeof(struct sec_path),
{
secpath_cachep = kmem_cache_create("secpath_cache",
sizeof(struct sec_path),
- 0, SLAB_HWCACHE_ALIGN,
+ 0, SLAB_HWCACHE_ALIGN
|SLAB_PANIC
,
NULL, NULL);
NULL, NULL);
- if (!secpath_cachep)
- panic("XFRM: failed to allocate secpath_cache\n");
}
}