On Mon, May 12, 2008 at 09:06:55PM -0600, Alex Williamson wrote:
> On Tue, 2008-05-13 at 11:56 +0900, Isaku Yamahata wrote:
> > [IA64] remove warnings in replace_grant_host_mapping()
>
> > diff -r b52e75f2416a xen/arch/ia64/xen/mm.c
> > --- a/xen/arch/ia64/xen/mm.c Mon May 12 16:23:54 2008 +0900
> > +++ b/xen/arch/ia64/xen/mm.c Mon May 12 16:30:46 2008 +0900
> > @@ -2191,7 +2191,7 @@
> > struct page_info* page = mfn_to_page(mfn);
> > struct page_info* new_page = NULL;
> > volatile pte_t* new_page_pte = NULL;
> > - unsigned long new_page_mfn;
> > + unsigned long new_page_mfn = INVALID_MFN;
> >
> > if (new_gpaddr) {
> > new_page_pte = lookup_noalloc_domain_pte_none(d, new_gpaddr);
> > @@ -2211,7 +2211,7 @@
> > "new_gpaddr 0x%lx mfn 0x%lx\n",
> > __func__, gpaddr, mfn, new_gpaddr,
> > new_page_mfn);
> > new_page = NULL; /* prevent domain_put_page() */
> > - goto out;
> > + goto out_nomsg;
>
> These could really just be 'return GNTST_general_error;' since there's
> no other cleanup, then you could avoid a goto.
Yes, attached the updated one.
[IA64] remove warnings in replace_grant_host_mapping()
This patch removes warnings in replace_grant_host_mapping().
> mm.c: In function 'replace_grant_host_mapping':
> mm.c:2194: warning: 'new_page_mfn' may be used uninitialized in this function
> mm.c:2190: warning: 'old_pte.pte' may be used uninitialized in this function
> mm.c:2188: warning: 'cur_pte.pte' may be used uninitialized in this function
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
diff -r 410e8579a69b xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c Tue May 13 11:25:54 2008 +0900
+++ b/xen/arch/ia64/xen/mm.c Tue May 13 12:10:55 2008 +0900
@@ -2191,7 +2191,7 @@
struct page_info* page = mfn_to_page(mfn);
struct page_info* new_page = NULL;
volatile pte_t* new_page_pte = NULL;
- unsigned long new_page_mfn;
+ unsigned long new_page_mfn = INVALID_MFN;
if (new_gpaddr) {
new_page_pte = lookup_noalloc_domain_pte_none(d, new_gpaddr);
@@ -2211,7 +2211,7 @@
"new_gpaddr 0x%lx mfn 0x%lx\n",
__func__, gpaddr, mfn, new_gpaddr, new_page_mfn);
new_page = NULL; /* prevent domain_put_page() */
- goto out;
+ return GNTST_general_error;
}
/*
@@ -2228,7 +2228,7 @@
"new_gpaddr 0x%lx mfn 0x%lx\n",
__func__, gpaddr, mfn,
new_gpaddr, new_page_mfn);
- goto out;
+ return GNTST_general_error;
}
}
domain_put_page(d, new_gpaddr, new_page_pte, new_pte, 0);
@@ -2246,7 +2246,7 @@
if (pte == NULL) {
gdprintk(XENLOG_INFO, "%s: gpaddr 0x%lx mfn 0x%lx\n",
__func__, gpaddr, mfn);
- goto out;
+ return GNTST_general_error;
}
again:
@@ -2256,10 +2256,11 @@
(page_get_owner(page) == d && get_gpfn_from_mfn(mfn) == gpfn)) {
gdprintk(XENLOG_INFO, "%s: gpaddr 0x%lx mfn 0x%lx cur_pte 0x%lx\n",
__func__, gpaddr, mfn, pte_val(cur_pte));
- goto out;
+ return GNTST_general_error;
}
if (new_page) {
+ BUG_ON(new_page_mfn == INVALID_MFN);
set_gpfn_from_mfn(new_page_mfn, gpfn);
/* smp_mb() isn't needed because assign_domain_pge_cmpxchg_rel()
has release semantics. */
@@ -2270,6 +2271,7 @@
goto again;
}
if (new_page) {
+ BUG_ON(new_page_mfn == INVALID_MFN);
set_gpfn_from_mfn(new_page_mfn, INVALID_M2P_ENTRY);
domain_put_page(d, new_gpaddr, new_page_pte, new_pte, 1);
}
--
yamahata
fix_replace_grant_host_mapping.patch
Description: Text Data
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|