kernel_samsung_a53x/arch
Guenter Roeck 4536da25e4 MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
[ Upstream commit d55347bfe4e66dce2e1e7501e5492f4af3e315f8 ]

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: 1da177e4c3f4 ("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>
2024-11-18 12:13:28 +01:00
..
alpha Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arc ARC: fix spare error 2024-11-18 12:12:17 +01:00
arm ARM: dts: imx23/28: Fix the DMA controller node name 2024-11-18 12:13:14 +01:00
arm64 drivers/perf: pmuv3: don't expose SW_INCR event in sysfs 2024-11-18 12:13:07 +01:00
c6x Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
csky Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
h8300 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hexagon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ia64 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
m68k Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
microblaze Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler 2024-11-18 12:13:28 +01:00
nds32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nios2 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
openrisc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
parisc parisc/firmware: Fix F-extend for PDC addresses 2024-11-18 12:12:56 +01:00
powerpc powerpc/lib: Validate size for vector operations 2024-11-18 12:13:08 +01:00
riscv riscv: fix misaligned access handling of C.SWSP and C.SDSP 2024-11-18 12:11:41 +01:00
s390 KVM: s390: fix setting of fpc register 2024-11-18 12:13:10 +01:00
sh sh: bios: Revive earlyprintk support 2024-11-18 11:43:04 +01:00
sparc sparc32: fix a braino in fault handling in csum_and_copy_..._user() 2024-11-18 10:58:31 +01:00
um um: net: Fix return type of uml_net_start_xmit() 2024-11-18 12:13:19 +01:00
x86 x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel 2024-11-18 12:13:08 +01:00
xtensa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00