linux_dsm_epyc7002/arch/arm64/include/asm
Nathan Chancellor ff8acf9290 arm64: futex: Restore oldval initialization to work around buggy compilers
Commit 045afc2412 ("arm64: futex: Fix FUTEX_WAKE_OP atomic ops with
non-zero result value") removed oldval's zero initialization in
arch_futex_atomic_op_inuser because it is not necessary. Unfortunately,
Android's arm64 GCC 4.9.4 [1] does not agree:

../kernel/futex.c: In function 'do_futex':
../kernel/futex.c:1658:17: warning: 'oldval' may be used uninitialized
in this function [-Wmaybe-uninitialized]
   return oldval == cmparg;
                 ^
In file included from ../kernel/futex.c:73:0:
../arch/arm64/include/asm/futex.h:53:6: note: 'oldval' was declared here
  int oldval, ret, tmp;
      ^

GCC fails to follow that when ret is non-zero, futex_atomic_op_inuser
returns right away, avoiding the uninitialized use that it claims.
Restoring the zero initialization works around this issue.

[1]: https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/

Cc: stable@vger.kernel.org
Fixes: 045afc2412 ("arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value")
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2019-04-18 18:17:08 +01:00
..
xen
acenv.h
acpi.h
alternative.h
arch_gicv3.h
arch_timer.h
arm_dsu_pmu.h
arm-cci.h
asm-bug.h
asm-offsets.h
asm-prototypes.h
asm-uaccess.h
assembler.h
atomic_ll_sc.h
atomic_lse.h
atomic.h
barrier.h
bitops.h
bitrev.h
boot.h
brk-imm.h
bug.h
cache.h
cacheflush.h
checksum.h
clocksource.h
cmpxchg.h
compat.h
cpu_ops.h
cpu.h
cpucaps.h
cpufeature.h
cpuidle.h
cputype.h arm64: Add MIDR encoding for HiSilicon Taishan CPUs 2019-03-19 14:55:10 +00:00
current.h
daifflags.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
dcc.h
debug-monitors.h
device.h
dma-mapping.h
dmi.h
efi.h
elf.h
esr.h
exception.h
exec.h
extable.h
fb.h
fixmap.h
fpsimd.h
fpsimdmacros.h
ftrace.h
futex.h arm64: futex: Restore oldval initialization to work around buggy compilers 2019-04-18 18:17:08 +01:00
hardirq.h
hugetlb.h
hw_breakpoint.h
hwcap.h
hypervisor.h
image.h
insn.h
io.h
irq_work.h
irq.h
irqflags.h
jump_label.h
kasan.h
Kbuild
kernel-pgtable.h
kexec.h
kgdb.h
kprobes.h
kvm_arm.h
kvm_asm.h
kvm_coproc.h
kvm_emulate.h
kvm_host.h ARM: some cleanups, direct physical timer assignment, cache sanitization 2019-03-15 15:00:28 -07:00
kvm_hyp.h
kvm_mmio.h
kvm_mmu.h KVM: arm/arm64: vgic-its: Take the srcu lock when writing to guest memory 2019-03-19 17:56:56 +00:00
kvm_ras.h
linkage.h
lse.h
memory.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
mmu_context.h
mmu.h
mmzone.h
module.h arm64/ftrace: fix inadvertent BUG() in trampoline check 2019-04-08 16:58:13 +01:00
neon-intrinsics.h
neon.h
numa.h
page-def.h
page.h
paravirt.h
pci.h
percpu.h
perf_event.h
pgalloc.h
pgtable-hwdef.h
pgtable-prot.h
pgtable-types.h
pgtable.h
pointer_auth.h
preempt.h
probes.h
proc-fns.h
processor.h
ptdump.h
ptrace.h
sdei.h
seccomp.h
sections.h
shmparam.h
signal32.h
simd.h
smp_plat.h
smp.h
sparsemem.h
spinlock_types.h
spinlock.h
stack_pointer.h
stackprotector.h
stacktrace.h
stage2_pgtable.h
stat.h
string.h
suspend.h
sync_bitops.h
syscall_wrapper.h
syscall.h syscalls: Remove start and number from syscall_set_arguments() args 2019-04-05 09:27:23 -04:00
sysreg.h
system_misc.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
traps.h
uaccess.h arm64 updates for 5.1: 2019-03-10 10:17:23 -07:00
unistd32.h
unistd.h
uprobes.h
vdso_datapage.h
vdso.h
virt.h
vmap_stack.h
word-at-a-time.h
xor.h