Re: [PATCH v2] powerpc/32: fix csum_partial_copy_generic()

From: Christophe Leroy
Date: Fri Aug 05 2016 - 03:26:50 EST




Le 05/08/2016 à 08:57, Michael Ellerman a écrit :
Alessio Igor Bogani <alessio.bogani@xxxxxxxxxx> writes:
On 4 August 2016 at 05:53, Scott Wood <oss@xxxxxxxxxxxx> wrote:
On Tue, 2016-08-02 at 10:07 +0200, Christophe Leroy wrote:
commit 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
based on copy_tofrom_user()") introduced a bug when destination
address is odd and initial csum is not null

In that (rare) case the initial csum value has to be rotated one byte
as well as the resulting value is

This patch also fixes related comments

Fixes: 7aef4136566b0 ("powerpc32: rewrite csum_partial_copy_generic()
based on copy_tofrom_user()")
Cc: stable@xxxxxxxxxxxxxxx

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>
---
v2: updated comments as suggested by Segher

arch/powerpc/lib/checksum_32.S | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Alessio, can you confirm whether this fixes the problem you reported?
No unfortunately.
Thanks for testing.

I've dropped the patch for now, send me a new one that works.



The purpose of this patch was not to address Alessio's issue, but to fix a huge issue on checksum calculation which induces breakdown of TCP connections.

I think it is worth commiting it upstream and on impacted stable releases, allthought we don't have yet identified the issue Alessio's has.

Christophe