lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 22 Jan 2024 09:15:46 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: David Laight <David.Laight@...LAB.COM>,
 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

On 1/22/24 08:52, David Laight wrote:
> 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:

It is, as per the PC pointer above. I don't know anything about arm assembler,
much less about its behavior with THUMB code.

> 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?
> 

Good question. My primary guess is that this never worked. As I said,
this was just intended to be informational, (probably) no reason to bother.

Of course one might ask if it makes sense to even keep the arm nommu code
in the kernel, but that is of course a different question. I do wonder though
if anyone but me is running it.

Thanks,
Guenter

> 	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

Powered by Openwall GNU/*/Linux Powered by OpenVZ