parisc: Drop ip_fast_csum() inline assembly implementation
authorHelge Deller <deller@gmx.de>
Fri, 10 Apr 2026 14:12:31 +0000 (16:12 +0200)
committerHelge Deller <deller@gmx.de>
Fri, 17 Apr 2026 09:32:46 +0000 (11:32 +0200)
commit3dd31a370c1dccb580f729af7c580ccb1ae3c0c9
tree6b52a919066f2f63627dcb873f539bfcf92321c8
parent0b6c8e21157fb6dfa35163fdfe5c10387bcc6c41
parisc: Drop ip_fast_csum() inline assembly implementation

The assembly code of ip_fast_csum() triggers unaligned access warnings
if the IP header isn't correctly aligned:

 Kernel: unaligned access to 0x173d22e76 in inet_gro_receive+0xbc/0x2e8 (iir 0x0e8810b6)
 Kernel: unaligned access to 0x173d22e7e in inet_gro_receive+0xc4/0x2e8 (iir 0x0e88109a)
 Kernel: unaligned access to 0x173d22e82 in inet_gro_receive+0xc8/0x2e8 (iir 0x0e90109d)
 Kernel: unaligned access to 0x173d22e7a in inet_gro_receive+0xd0/0x2e8 (iir 0x0e9810b8)
 Kernel: unaligned access to 0x173d22e86 in inet_gro_receive+0xdc/0x2e8 (iir 0x0e8810b8)

We have the option to a) ignore the warnings, b) work around it by
adding more code to check for alignment, or c) to switch to the generic
implementation and rely on the compiler to optimize the code.

Let's go with c), because a) isn't nice, and b) would effectively lead
to an implementation which is basically equal to c).

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v7.0+
arch/parisc/Kconfig
arch/parisc/include/asm/checksum.h
arch/parisc/lib/Makefile
arch/parisc/lib/checksum.c [deleted file]