kernel_samsung_a53x/arch/mips/include/asm
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
..
dec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fw Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ip32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ar7 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ath25 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ath79 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-au1x00 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-bcm47xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-bcm63xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-bmips Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-cavium-octeon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-cobalt Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-db1x00 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-dec Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-generic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ingenic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ip22 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ip27 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ip28 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ip30 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ip32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-jazz Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-lantiq Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-loongson2ef Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-loongson32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-loongson64 Revert "MIPS: Loongson64: Enable DMA noncoherent support" 2024-11-18 12:12:04 +01:00
mach-malta Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-netlogic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-pic32 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-pistachio Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-ralink Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-rc32434 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-rm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-sibyte Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-tx39xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-tx49xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mach-vr41xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-boards Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
netlogic Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
octeon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sgi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sibyte Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sn Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
txx9 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vdso Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vr41xx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xtalk Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
abi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
addrspace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
amon.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arch_hweight.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asm-eva.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asm-offsets.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asm-prototypes.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asmmacro-32.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asmmacro-64.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
asmmacro.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atomic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
barrier.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bitops.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bitrev.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bmips-spaces.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bmips.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bootinfo.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
branch.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
break.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bug.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bugs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cacheflush.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cacheops.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cdmm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cevt-r4k.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
checksum.h MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler 2024-11-18 12:13:28 +01:00
clocksource.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cmp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cmpxchg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
compat-signal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
compat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
compiler.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cop2.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu-features.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu-info.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu-type.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cpufeature.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
delay.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
div64.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dma-coherence.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dma-direct.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dma-mapping.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dma.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dmi.h mips: dmi: Fix early remap on MIPS32 2024-11-18 12:12:48 +01:00
ds1287.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dsemul.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dsp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
edac.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
elf.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
errno.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
eva.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
exec.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
extable.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fixmap.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
floppy.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fpregdef.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fpu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fpu_emulator.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ftrace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
futex.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ginvt.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gio_device.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
gt64120.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hardirq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hazards.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
highmem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hpet.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hugetlb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hw_irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
i8259.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ide.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
idle.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inst.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
io.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq_cpu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq_gt641xx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq_regs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irqflags.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isa-rev.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
isadep.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jazz.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jazzdma.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jump_label.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kbuild Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kdebug.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kexec.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kgdb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kmap_types.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kprobes.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kvm_host.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kvm_types.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
linkage.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
llsc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
local.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
maar.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
machine.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mc146818-time.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mc146818rtc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-cm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-cpc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-cps.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-gic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips-r2-to-r6-emul.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mips_mt.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mipsmtregs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mipsprom.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mipsregs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmiowb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmu.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmu_context.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmzone.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
module.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msa.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
msc01_ic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
paccess.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
page.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
perf_event.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pgalloc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pgtable-32.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pgtable-64.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pgtable-bits.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pgtable.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pm-cps.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
prefetch.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
processor.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
prom.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ptrace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
r4k-timer.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
r4kcache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reboot.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
regdef.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rtlx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
seccomp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
setup.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sgialib.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sgiarcs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
shmparam.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sigcontext.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
signal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sim.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp-cps.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp-ops.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
smp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sni.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
socket.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sparsemem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spinlock.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spinlock_types.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spram.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stackframe.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stackprotector.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stacktrace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
string.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
switch_to.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sync.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
syscall.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
termios.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
thread_info.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
time.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
timex.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tlb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tlbdebug.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tlbex.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tlbflush.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tlbmisc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
topology.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
traps.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
txx9irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
txx9pio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
txx9tmr.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
types.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uaccess.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uasm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unaligned-emul.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unistd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unroll.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uprobes.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vdso.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vermagic.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vga.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vmalloc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vpe.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
war.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
watch.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wbflush.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
yamon-dt.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00