diff mbox

kvm/ppc: fix build warning

Message ID 20100624194415.GA24107@hera.kernel.org (mailing list archive)
State Not Applicable
Headers show

Commit Message

Denis Kirjanov June 24, 2010, 7:44 p.m. UTC
Fix build warning:
arch/powerpc/kvm/book3s_64_mmu.c: In function 'kvmppc_mmu_book3s_64_esid_to_vsid':
arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used uninitialized in this function
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
---
arch/powerpc/kvm/book3s_64_mmu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Alexander Graf June 24, 2010, 8:42 p.m. UTC | #1
On 24.06.2010, at 21:44, Denis Kirjanov wrote:

> Fix build warning:
> arch/powerpc/kvm/book3s_64_mmu.c: In function 'kvmppc_mmu_book3s_64_esid_to_vsid':
> arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used uninitialized in this function
> Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>

Are you sure this isn't a broken compiler? I don't see where it could be used uninitialized.


Alex
Denis Kirjanov June 25, 2010, 9:02 a.m. UTC | #2
On 06/25/2010 12:42 AM, Alexander Graf wrote:
>
> On 24.06.2010, at 21:44, Denis Kirjanov wrote:
>
>> Fix build warning:
>> arch/powerpc/kvm/book3s_64_mmu.c: In function 'kvmppc_mmu_book3s_64_esid_to_vsid':
>> arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used uninitialized in this function
>> Signed-off-by: Denis Kirjanov<dkirjanov@kernel.org>
>
> Are you sure this isn't a broken compiler? I don't see where it could be used uninitialized.

I'm using gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5)
slb pointer initialized inside conditional branch
and used later in the case case MSR_DR|MSR_IR
Alexander Graf June 25, 2010, 9:21 a.m. UTC | #3
On 25.06.2010, at 11:02, Denis Kirjanov wrote:

> On 06/25/2010 12:42 AM, Alexander Graf wrote:
>> 
>> On 24.06.2010, at 21:44, Denis Kirjanov wrote:
>> 
>>> Fix build warning:
>>> arch/powerpc/kvm/book3s_64_mmu.c: In function 'kvmppc_mmu_book3s_64_esid_to_vsid':
>>> arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used uninitialized in this function
>>> Signed-off-by: Denis Kirjanov<dkirjanov@kernel.org>
>> 
>> Are you sure this isn't a broken compiler? I don't see where it could be used uninitialized.
> 
> I'm using gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5)
> slb pointer initialized inside conditional branch
> and used later in the case case MSR_DR|MSR_IR
> 

Oh, I'm apparently looking at completely different code. The same function in git://git.kernel.org/pub/scm/virt/kvm/kvm.git is good. Which tree did you use?


Alex
Denis Kirjanov June 25, 2010, 9:40 a.m. UTC | #4
On 06/25/2010 01:02 PM, Denis Kirjanov wrote:
> On 06/25/2010 12:42 AM, Alexander Graf wrote:
>>
>> On 24.06.2010, at 21:44, Denis Kirjanov wrote:
>>
>>> Fix build warning:
>>> arch/powerpc/kvm/book3s_64_mmu.c: In function
>>> 'kvmppc_mmu_book3s_64_esid_to_vsid':
>>> arch/powerpc/kvm/book3s_64_mmu.c:446: warning: 'slb' may be used
>>> uninitialized in this function
>>> Signed-off-by: Denis Kirjanov<dkirjanov@kernel.org>
>>
>> Are you sure this isn't a broken compiler? I don't see where it could
>> be used uninitialized.
>
> I'm using gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5)
> slb pointer initialized inside conditional branch
> and used later in the case case MSR_DR|MSR_IR
>
This is based on linux-next tree (-next-20100623)
diff mbox

Patch

diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c
index 4025ea2..61f2621 100644
--- a/arch/powerpc/kvm/book3s_64_mmu.c
+++ b/arch/powerpc/kvm/book3s_64_mmu.c
@@ -443,7 +443,7 @@  static int kvmppc_mmu_book3s_64_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
 					     u64 *vsid)
 {
 	ulong ea = esid << SID_SHIFT;
-	struct kvmppc_slb *slb;
+	struct kvmppc_slb *uninitialized_var(slb);
 	u64 gvsid = esid;
 
 	if (vcpu->arch.msr & (MSR_DR|MSR_IR)) {