diff options
author | Dmitry Mishin <dim@openvz.org> | 2006-04-18 23:50:10 +0200 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-04-19 00:57:54 +0200 |
commit | 40daafc80b0f6a950c9252f9f1a242ab5cb6a648 (patch) | |
tree | 93e74daf6429d544af14bff31e9ffe3f772186d3 /net | |
parent | [IPV6]: Clean up hop-by-hop options handler. (diff) | |
download | linux-40daafc80b0f6a950c9252f9f1a242ab5cb6a648.tar.xz linux-40daafc80b0f6a950c9252f9f1a242ab5cb6a648.zip |
unaligned access in sk_run_filter()
This patch fixes unaligned access warnings noticed on IA64
in sk_run_filter(). 'ptr' can be unaligned.
Signed-off-By: Dmitry Mishin <dim@openvz.org>
Signed-off-By: Kirill Korotaev <dev@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/filter.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index 93fbd01d2259..5b4486a60cf6 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -34,6 +34,7 @@ #include <linux/timer.h> #include <asm/system.h> #include <asm/uaccess.h> +#include <asm/unaligned.h> #include <linux/filter.h> /* No hurry in this branch */ @@ -177,7 +178,7 @@ unsigned int sk_run_filter(struct sk_buff *skb, struct sock_filter *filter, int load_w: ptr = load_pointer(skb, k, 4, &tmp); if (ptr != NULL) { - A = ntohl(*(u32 *)ptr); + A = ntohl(get_unaligned((u32 *)ptr)); continue; } break; @@ -186,7 +187,7 @@ load_w: load_h: ptr = load_pointer(skb, k, 2, &tmp); if (ptr != NULL) { - A = ntohs(*(u16 *)ptr); + A = ntohs(get_unaligned((u16 *)ptr)); continue; } break; |