linux/arch/mips
Guenter Roeck c638b4afc7 MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
[ Upstream commit d55347bfe4 ]

After 'lib: checksum: Use aligned accesses for ip_fast_csum and
csum_ipv6_magic tests' was applied, the test_csum_ipv6_magic unit test
started failing for all mips platforms, both little and bit endian.
Oddly enough, adding debug code into test_csum_ipv6_magic() made the
problem disappear.

The gcc manual says:

"The "memory" clobber tells the compiler that the assembly code performs
 memory reads or writes to items other than those listed in the input
 and output operands (for example, accessing the memory pointed to by one
 of the input parameters)
"

This is definitely the case for csum_ipv6_magic(). Indeed, adding the
'memory' clobber fixes the problem.

Cc: Charlie Jenkins <charlie@rivosinc.com>
Cc: Palmer Dabbelt <palmer@rivosinc.com>
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-02-23 09:12:32 +01:00
..
alchemy MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup() 2024-01-25 15:27:45 -08:00
ar7 mips: ar7: convert to CONFIG_COMMON_CLK 2021-06-08 17:00:09 +02:00
ath25 MIPS: ath25: Constify static irq_domain_ops 2022-02-22 09:39:03 +01:00
ath79 MIPS: ath79: Remove one of the identical args in early_printk 2022-07-08 15:13:26 +02:00
bcm47xx MIPS: BCM47XX: Cast memcmp() of function to (void *) 2022-09-19 16:46:01 +02:00
bcm63xx MIPS: BCM63xx: Add check for NULL for clk in clk_enable 2022-12-31 13:32:00 +01:00
bmips mips: bmips: BCM6358: disable RAC flush for TP1 2023-04-06 12:10:42 +02:00
boot MIPS: dts: loongson: drop incorrect dwmac fallback compatible 2024-01-20 11:50:07 +01:00
cavium-octeon MIPS: OCTEON: warn only once if deprecated link status is being used 2022-12-31 13:32:00 +01:00
cobalt MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
configs - hfs and hfsplus kmap API modernization from Fabio Francesco 2022-10-12 11:00:22 -07:00
crypto crypto: Kconfig - simplify cipher entries 2022-08-26 18:50:43 +08:00
dec MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
fw MIPS: fw: Allow firmware to pass a empty env 2023-05-11 23:03:01 +09:00
generic arch: mips: generic: Add missing of_node_put() in board-ranchu.c 2022-06-21 17:04:30 +02:00
include MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler 2024-02-23 09:12:32 +01:00
ingenic MIPS: Kconfig: ingenic: Ensure MACH_INGENIC_GENERIC selects all SoCs 2021-06-01 11:44:47 +02:00
jazz MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
kernel mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan 2024-01-31 16:17:12 -08:00
kvm MIPS: KVM: Fix a build warning about variable set but not used 2023-12-03 07:32:09 +01:00
lantiq MIPS: lantiq: register smp_ops on non-smp platforms 2024-01-31 16:17:12 -08:00
lib MIPS: Simplify __bswapdi2() and __bswapsi2() 2022-09-30 16:50:00 +02:00
loongson2ef MIPS: Loongson: Move arch cflags to MIPS top level Makefile 2023-08-03 10:23:50 +02:00
loongson32 MIPS: Loongson32: Fix PHY-mode being left unspecified 2022-09-19 16:31:32 +02:00
loongson64 MIPS: Loongson64: Enable DMA noncoherent support 2023-12-13 18:39:29 +01:00
math-emu MIPS: Fix comment typo 2022-09-12 15:33:24 +02:00
mm mips: Fix max_mapnr being uninitialized on early stages 2024-01-31 16:16:59 -08:00
mti-malta mips: mti-malta: Fix refcount leak in malta-time.c 2022-06-21 17:04:30 +02:00
n64 mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
net bpf, mips: No need to use min() to get MAX_TAIL_CALL_CNT 2022-08-29 15:38:14 +02:00
pci MIPS: pci: lantiq: switch to using gpiod API 2022-10-01 18:07:51 +02:00
pic32 MIPS: pic32: treat port as signed integer 2022-11-11 15:53:58 +01:00
power mips: check for dsp presence only once before save/restore 2019-10-07 10:58:53 -07:00
ralink of/fdt: run soc memory setup when early_init_dt_scan_memory fails 2023-01-12 12:02:51 +01:00
rb532 MIPS: rb532: move GPIOD definition into C-files 2022-03-30 20:26:26 +02:00
sgi-ip22 mips: sgi-ip22: Drop redundant check from .remove() 2022-07-05 11:10:17 +02:00
sgi-ip27 MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create() 2022-09-19 16:33:27 +02:00
sgi-ip30 MIPS: SGI-IP30: Fix platform-device leak in bridge_platform_create() 2022-09-19 16:32:54 +02:00
sgi-ip32 MIPS: Allow modules to set board_be_handler 2021-11-09 16:07:26 +01:00
sibyte MIPS: remove orphan sb1250_time_init() declaration 2022-09-24 11:46:58 +02:00
sni MIPS: sni: Fix the build 2021-10-18 18:09:54 +02:00
tools MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
txx9 MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
vdso MIPS: Use "grep -E" instead of "egrep" 2023-09-23 11:11:08 +02:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kbuild.platforms MIPS: Remove VR41xx support 2022-07-14 11:52:29 +02:00
Kconfig MIPS: Loongson64: Enable DMA noncoherent support 2023-12-13 18:39:29 +01:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile MIPS: Use "grep -E" instead of "egrep" 2023-09-23 11:11:08 +02:00
Makefile.postlink MIPS: fix indentation of the 'RELOCS' message 2020-01-20 15:37:30 -08:00