diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2018-12-30 14:05:13 +1100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-12-30 14:05:13 +1100 |
commit | f460772291f8171988b2b60141a45706123d0c69 (patch) | |
tree | 2f6ec8ee9738ffa2a741b93c02ef759fadd19a26 /arch | |
parent | 42aee37298f4b1d91ecb55530a62de249ecf4266 (diff) | |
download | linux-stable-f460772291f8171988b2b60141a45706123d0c69.tar.gz linux-stable-f460772291f8171988b2b60141a45706123d0c69.tar.bz2 linux-stable-f460772291f8171988b2b60141a45706123d0c69.zip |
KVM: PPC: Book3S HV: radix: Fix uninitialized var build error
Old GCCs (4.6.3 at least), aren't able to follow the logic in
__kvmhv_copy_tofrom_guest_radix() and warn that old_pid is used
uninitialized:
arch/powerpc/kvm/book3s_64_mmu_radix.c:75:3: error: 'old_pid' may be
used uninitialized in this function
The logic is OK, we only use old_pid if quadrant == 1, and in that
case it has definitely be initialised, eg:
if (quadrant == 1) {
old_pid = mfspr(SPRN_PID);
...
if (quadrant == 1 && pid != old_pid)
mtspr(SPRN_PID, old_pid);
Annotate it to fix the error.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c index fb88167a402a..1b821c6efdef 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c @@ -33,8 +33,8 @@ unsigned long __kvmhv_copy_tofrom_guest_radix(int lpid, int pid, gva_t eaddr, void *to, void *from, unsigned long n) { + int uninitialized_var(old_pid), old_lpid; unsigned long quadrant, ret = n; - int old_pid, old_lpid; bool is_load = !!to; /* Can't access quadrants 1 or 2 in non-HV mode, call the HV to do it */ |