Re: [PATCH] Revert "sh: Handle calling csum_partial with misaligned data"

From: John Paul Adrian Glaubitz
Date: Wed May 01 2024 - 04:28:38 EST


Hi Guenter,

On Tue, 2024-04-02 at 16:09 +0200, John Paul Adrian Glaubitz wrote:
> On Tue, 2024-04-02 at 07:06 -0700, Guenter Roeck wrote:
> > Hi,
> >
> > On Mon, Mar 25, 2024 at 07:34:00AM -0700, Guenter Roeck wrote:
> > > On 3/25/24 00:39, John Paul Adrian Glaubitz wrote:
> > > > Hi Guenter,
> > > >
> > > > On Sun, 2024-03-24 at 16:18 -0700, Guenter Roeck wrote:
> > > > > This reverts commit cadc4e1a2b4d20d0cc0e81f2c6ba0588775e54e5.
> > > > >
> > > > > Commit cadc4e1a2b4d ("sh: Handle calling csum_partial with misaligned
> > > > > data") causes bad checksum calculations on unaligned data. Reverting
> > > > > it fixes the problem.
> > > > >
> > > > > # Subtest: checksum
> > > > > # module: checksum_kunit
> > > > > 1..5
> > > > > # test_csum_fixed_random_inputs: ASSERTION FAILED at lib/checksum_kunit.c:500
> > > > > Expected ( u64)result == ( u64)expec, but
> > > > > ( u64)result == 53378 (0xd082)
> > > > > ( u64)expec == 33488 (0x82d0)
> > > > > # test_csum_fixed_random_inputs: pass:0 fail:1 skip:0 total:1
> > > > > not ok 1 test_csum_fixed_random_inputs
> > > > > # test_csum_all_carry_inputs: ASSERTION FAILED at lib/checksum_kunit.c:525
> > > > > Expected ( u64)result == ( u64)expec, but
> > > > > ( u64)result == 65281 (0xff01)
> > > > > ( u64)expec == 65280 (0xff00)
> > > > > # test_csum_all_carry_inputs: pass:0 fail:1 skip:0 total:1
> > > > > not ok 2 test_csum_all_carry_inputs
> > > > > # test_csum_no_carry_inputs: ASSERTION FAILED at lib/checksum_kunit.c:573
> > > > > Expected ( u64)result == ( u64)expec, but
> > > > > ( u64)result == 65535 (0xffff)
> > > > > ( u64)expec == 65534 (0xfffe)
> > > > > # test_csum_no_carry_inputs: pass:0 fail:1 skip:0 total:1
> > > > > not ok 3 test_csum_no_carry_inputs
> > > > > # test_ip_fast_csum: pass:1 fail:0 skip:0 total:1
> > > > > ok 4 test_ip_fast_csum
> > > > > # test_csum_ipv6_magic: pass:1 fail:0 skip:0 total:1
> > > > > ok 5 test_csum_ipv6_magic
> > > > > # checksum: pass:2 fail:3 skip:0 total:5
> > > > > # Totals: pass:2 fail:3 skip:0 total:5
> > > > > not ok 22 checksum
> > > >
> > > > Can you tell me how the tests are run so I can try to verify this on real hardware?
> > > >
> > >
> > > Enabling CONFIG_KUNIT and CHECKSUM_KUNIT and booting with those tests enabled
> > > should do it.
> > >
> >
> > Did you have time to test this on real hardware ?
>
> Not yet. I just returned from Easter holidays and need to get synced with work first.

I might have to skip this for v6.10 as I haven't been able to test this yet.

I agree with the change in general, but I want to make sure I can reproduce
this on real hardware.

Adrian

--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913