lkml.org 
[lkml]   [2009]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH -tip] x86: kvm/paging_tmpl.h intialize the variable before using it
From
Date
Hello Avi,

On Sun, 2009-05-24 at 15:21 +0300, Avi Kivity wrote:
> Jaswinder Singh Rajput wrote:
> > May be in some cases paging64_fetch() and paging32_fetch() will return sptep
> > without initialization.
> >
> > Also fixes compilation warning:
> > CC arch/x86/kernel/io_delay.o
> > arch/x86/kvm/paging_tmpl.h: In function ‘paging64_fetch’:
> > arch/x86/kvm/paging_tmpl.h:279: warning: ‘sptep’ may be used uninitialized in this function
> > arch/x86/kvm/paging_tmpl.h: In function ‘paging32_fetch’:
> > arch/x86/kvm/paging_tmpl.h:279: warning: ‘sptep’ may be used uninitialized in this function
> >
> > Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> > ---
> > arch/x86/kvm/paging_tmpl.h | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
> > index 6bd7020..99cb10d 100644
> > --- a/arch/x86/kvm/paging_tmpl.h
> > +++ b/arch/x86/kvm/paging_tmpl.h
> > @@ -276,7 +276,7 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
> > {
> > unsigned access = gw->pt_access;
> > struct kvm_mmu_page *shadow_page;
> > - u64 spte, *sptep;
> > + u64 spte, *sptep = NULL;
> > int direct;
> > gfn_t table_gfn;
> > int r;
> >
>
> It's a false alarm. Isn't there a macro to shut up the warning?
>

In arch/x86/kvm/paging_tmpl.h sptep is initialize only in :

for_each_shadow_entry(vcpu, addr, iterator) {

If we skip this, then we end up with wild sptep and returning it.

Do you still think it is a false alarm ?

--
JSR


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-05-25 07:21    [W:4.355 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site