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

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel
Message-ID <fb0293d85dbf82341c6b7e4d56fe8f1d23f7768a.camel@physik.fu-berlin.de>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.