[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#409313: linux-image-2.6.18-4-sparc64: Netra X1 - Kernel unaligned access in rp_rcv and ip_fast_csum



Hello,

* Peter Palfrader <peter@palfrader.org>, [2007-02-20 18:18 +0100]:
>  On Thu, 01 Feb 2007, Richard Mortimer wrote:
>  
>  > Kernel unaligned access at TPC[5e4420] ip_rcv+0xd0/0x58c
>  > Kernel unaligned access at TPC[517f84] ip_fast_csum+0xc/0x80
>  > Kernel unaligned access at TPC[517f88] ip_fast_csum+0x10/0x80
>  > Kernel unaligned access at TPC[517f8c] ip_fast_csum+0x14/0x80
>  > Kernel unaligned access at TPC[517f94] ip_fast_csum+0x1c/0x80
>  
>  Same on a v100, both on 2.6.18-4, and a self compiled 2.6.20.1.

Could you guys apply the following patch and see if it solves the ip_rcv
issue? I wrote it a bit blindly as I cannot reproduce the problem on my
system (a Blade).

Thanks.

--- net/ipv4/ip_input.c.old     2006-09-20 05:42:06.000000000 +0200
+++ net/ipv4/ip_input.c 2007-02-27 00:41:34.000000000 +0100
@@ -116,6 +116,7 @@
  */

 #include <asm/system.h>
+#include <asm/unaligned.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
@@ -415,7 +416,7 @@
        if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl)))
                goto inhdr_error;

-       len = ntohs(iph->tot_len);
+       len = ntohs(get_unaligned(&iph->tot_len));
        if (skb->len < len || len < (iph->ihl*4))
                goto inhdr_error;

ciao,
    ema

Attachment: signature.asc
Description: Digital signature


Reply to: