Re: [PATCH] amd64: Fix csum_partial_copy_generic()

From: Eric Dumazet
Date: Wed Oct 18 2023 - 03:36:45 EST


On Wed, Oct 18, 2023 at 8:18 AM gus Gusenleitner Klaus <gus@xxxxxxxx> wrote:
>
> The checksum calculation is wrong in case of an source buffer
> containing zero bytes only. The expected return value is 0, the
> actual return value is 0xfffffff.
>
> This problem occurs when a ICMP echo reply is sent that has set
> zero identifier, sequence number and data.
>
> Signed-off-by: Klaus Gusenleitner <gus@xxxxxxxx>
> ---
> arch/x86/lib/csum-copy_64.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/lib/csum-copy_64.S b/arch/x86/lib/csum-copy_64.S
> index d9e16a2cf285..c8391b4f3dea 100644
> --- a/arch/x86/lib/csum-copy_64.S
> +++ b/arch/x86/lib/csum-copy_64.S
> @@ -44,7 +44,7 @@ SYM_FUNC_START()
> movq %r13, 3*8(%rsp)
> movq %r15, 4*8(%rsp)
>
> - movl $-1, %eax
> + movl $0, %eax
> xorl %r9d, %r9d
> movl %edx, %ecx
> cmpl $8, %ecx
> --
> 2.30.2
>

Lets CC Noah Goldstein <goldstein.w.n@xxxxxxxxx> (I thought Noah wrote
some kunit tests, maybe I am wrong)

When was this bug added ?

A Fixes: tag is very much needed, and would be a needed step to CC the
original author.

Thanks.