[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6b0dc20f392c488a9080651a2a2cd4bd@AcuMS.aculab.com>
Date: Mon, 22 Jan 2024 16:52:42 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Guenter Roeck' <linux@...ck-us.net>, Charlie Jenkins
<charlie@...osinc.com>
CC: Palmer Dabbelt <palmer@...belt.com>, Conor Dooley <conor@...nel.org>,
Samuel Holland <samuel.holland@...ive.com>, Xiao Wang
<xiao.w.wang@...el.com>, Evan Green <evan@...osinc.com>, Guo Ren
<guoren@...nel.org>, "linux-riscv@...ts.infradead.org"
<linux-riscv@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-arch@...r.kernel.org"
<linux-arch@...r.kernel.org>, Paul Walmsley <paul.walmsley@...ive.com>,
Albert Ou <aou@...s.berkeley.edu>, Arnd Bergmann <arnd@...db.de>
Subject: RE: [PATCH v15 5/5] kunit: Add tests for csum_ipv6_magic and
ip_fast_csum
From: Guenter Roeck
> Sent: 22 January 2024 16:40
>
> Hi,
>
> On Mon, Jan 08, 2024 at 03:57:06PM -0800, Charlie Jenkins wrote:
> > Supplement existing checksum tests with tests for csum_ipv6_magic and
> > ip_fast_csum.
> >
> > Signed-off-by: Charlie Jenkins <charlie@...osinc.com>
> > ---
>
> With this patch in the tree, the arm:mps2-an385 qemu emulation gets a bad hiccup.
>
> [ 1.839556] Unhandled exception: IPSR = 00000006 LR = fffffff1
> [ 1.839804] CPU: 0 PID: 164 Comm: kunit_try_catch Tainted: G N 6.8.0-rc1 #1
> [ 1.839948] Hardware name: Generic DT based system
> [ 1.840062] PC is at __csum_ipv6_magic+0x8/0xb4
> [ 1.840408] LR is at test_csum_ipv6_magic+0x3d/0xa4
> [ 1.840493] pc : [<21212f34>] lr : [<21117fd5>] psr: 0100020b
> [ 1.840586] sp : 2180bebc ip : 46c7f0d2 fp : 21275b38
> [ 1.840664] r10: 21276b60 r9 : 21275b28 r8 : 21465cfc
> [ 1.840751] r7 : 00003085 r6 : 21275b4e r5 : 2138702c r4 : 00000001
> [ 1.840847] r3 : 2c000000 r2 : 1ac7f0d2 r1 : 21275b39 r0 : 21275b29
> [ 1.840942] xPSR: 0100020b
>
> This translates to:
>
> PC is at __csum_ipv6_magic (arch/arm/lib/csumipv6.S:15)
> LR is at test_csum_ipv6_magic (./arch/arm/include/asm/checksum.h:60
> ./arch/arm/include/asm/checksum.h:163 lib/checksum_kunit.c:617)
>
> Obviously I can not say if this is a problem with qemu or a problem with
> the Linux kernel. Given that, and the presumably low interest in
> running mps2-an385 with Linux, I'll simply disable that test. Just take
> it as a heads up that there _may_ be a problem with this on arm
> nommu systems.
Can you drop in a disassembly of __csum_ipv6_magic ?
Actually I think it is:
ENTRY(__csum_ipv6_magic)
str lr, [sp, #-4]!
adds ip, r2, r3
ldmia r1, {r1 - r3, lr}
So the fault is (probably) a misaligned ldmia ?
Are they ever supported?
David
adcs ip, ip, r1
adcs ip, ip, r2
adcs ip, ip, r3
adcs ip, ip, lr
ldmia r0, {r0 - r3}
adcs r0, ip, r0
adcs r0, r0, r1
adcs r0, r0, r2
ldr r2, [sp, #4]
adcs r0, r0, r3
adcs r0, r0, r2
adcs r0, r0, #0
ldmfd sp!, {pc}
ENDPROC(__csum_ipv6_magic)
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists