Re: [patch] alpha: fix alignment problem in csum_ipv6_magic()

From: Ivan Kokshaysky
Date: Fri Jun 22 2007 - 07:26:23 EST


On Thu, Jun 21, 2007 at 04:35:01PM -0700, Andrew Morton wrote:
> In http://bugzilla.kernel.org/show_bug.cgi?id=8659, Dustin is reporting
> that this patch broke tcp-on-ipv6.

Oops. Two instructions operating on the 'len' arg ($18) got swapped...
This should fix ev6 version, ev5 one seems to be ok.

Signed-off-by: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>

Ivan.

--- 2.6.22-rc4-mm2/arch/alpha/lib/ev6-csum_ipv6_magic.S Fri Jun 22 15:02:23 2007
+++ linux/arch/alpha/lib/ev6-csum_ipv6_magic.S Fri Jun 22 15:05:38 2007
@@ -76,18 +76,18 @@ csum_ipv6_magic:

cmoveq $6,$31,$22 # E : src aligned?
ldq_u $23,15($17) # L : Latency: 3
- or $18,$4,$18 # E : 000000CCDDAABBCC
- extql $1,$6,$1 # U : U L L U :
+ inswl $18,3,$18 # U : 000000CCDD000000
+ addl $19,$7,$19 # E : U L U L : <sign bits>bbaabb00

or $0,$22,$0 # E : 1st src word complete
- extqh $5,$6,$5 # U :
- addl $19,$7,$19 # E : <sign bits>bbaabb00
- and $17,7,$6 # E : L U L U : dst misalignment
+ extql $1,$6,$1 # U :
+ or $18,$4,$18 # E : 000000CCDDAABBCC
+ extqh $5,$6,$5 # U : L U L U

- inswl $18,3,$18 # U : 000000CCDD000000
- or $1,$5,$1 # E : 2nd src word complete
+ and $17,7,$6 # E : dst misalignment
extql $2,$6,$2 # U :
- extqh $3,$6,$22 # U : U L U U :
+ or $1,$5,$1 # E : 2nd src word complete
+ extqh $3,$6,$22 # U : L U L U :

cmoveq $6,$31,$22 # E : dst aligned?
extql $3,$6,$3 # U :
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/