linux/arch/parisc/lib
Helge Deller 3dd31a370c 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+
2026-04-17 11:32:46 +02:00
..
bitops.c parisc: add u16 support to cmpxchg() 2024-04-09 22:06:00 -07:00
delay.c parisc: remove duplicate includes 2017-12-17 21:06:25 +01:00
io.c parisc: Remove memcpy_fromio 2025-02-03 19:27:00 +01:00
iomap.c parisc: Drop homebrewn io[read|write]64_[lo_hi|hi_lo] 2022-09-23 21:52:27 +02:00
lusercopy.S parisc: Implement __get/put_kernel_nofault() 2021-09-09 22:53:09 +02:00
Makefile parisc: Drop ip_fast_csum() inline assembly implementation 2026-04-17 11:32:46 +02:00
memcpy.c parisc: Remove spurious if statement from raw_copy_from_user() 2025-10-07 16:44:29 +02:00
memset.c Revert "parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat" 2021-08-29 10:13:32 -07:00
ucmpdi2.c parisc: ucmpdi2: Fix no previous prototype for '__ucmpdi2' warning 2023-08-10 18:34:05 +02:00