From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?VG9yYWxmIEbDtnJzdGVy?= Subject: [arch/x86/kvm/x86.c:5699]: (error) Uninitialized variable: param Date: Sat, 26 Apr 2014 19:16:18 +0200 Message-ID: <535BE9E2.2070607@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, x86@kernel.org To: Gleb Natapov Return-path: Received: from mout.gmx.net ([212.227.17.20]:49976 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751582AbaDZRQW (ORCPT ); Sat, 26 Apr 2014 13:16:22 -0400 Sender: kvm-owner@vger.kernel.org List-ID: cppcheck spotted this - and while it has a lot of false positives in its current version, I do think that the kernel code around that line can be improved: longmode = is_long_mode(vcpu) && cs_l == 1; if (!longmode) { param = ((u64)kvm_register_read(vcpu, VCPU_REGS_RDX) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RAX) & 0xffffffff); ingpa = ((u64)kvm_register_read(vcpu, VCPU_REGS_RBX) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RCX) & 0xffffffff); outgpa = ((u64)kvm_register_read(vcpu, VCPU_REGS_RDI) << 32) | (kvm_register_read(vcpu, VCPU_REGS_RSI) & 0xffffffff); } #ifdef CONFIG_X86_64 else { param = kvm_register_read(vcpu, VCPU_REGS_RCX); ingpa = kvm_register_read(vcpu, VCPU_REGS_RDX); outgpa = kvm_register_read(vcpu, VCPU_REGS_R8); } #endif code = param & 0xffff; If CONFIG_X86_64 is not defined then the condition "if (!longmode)" is either superfluous or lacks an else branch, right ? -- Toralf