[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 21/22] libxc: range checks in xc_dom_p2m_host and _guest
Andrew Cooper writes ("Re: [Xen-devel] [PATCH 21/22] libxc: range checks in xc_dom_p2m_host and _guest"): > On 07/06/2013 19:33, Andrew Cooper wrote: > > On 07/06/13 19:27, Ian Jackson wrote: > >> v6: Check for underflow too (thanks to Andrew Cooper). ... > >> diff --git a/tools/libxc/xc_dom.h b/tools/libxc/xc_dom.h > >> index 567913f..2e33ee7 100644 > >> --- a/tools/libxc/xc_dom.h > >> +++ b/tools/libxc/xc_dom.h > >> @@ -341,6 +341,8 @@ static inline xen_pfn_t xc_dom_p2m_host(struct > >> xc_dom_image *dom, xen_pfn_t pfn) > >> { > >> if (dom->shadow_enabled) > >> return pfn; > > The above should probably be > > if (dom->shadow_enabled) > return pfn < dom->total_pages ? pfn : INVALID_MFN; > > So the dom->shadow_enable case also gets upper range checking. Are you sure this shouldn't involve rambase_pfn, as the next test does ? Here: > >> + if (pfn < dom->rambase_pfn || pfn >= dom->rambase_pfn + > >> dom->total_pages) > >> + return INVALID_MFN; If it should then the right fix would be to move the check to before the shadow_enabled test. (In both xc_dom_vaddr_to_ptr and xc_dom_p2m_guest.) I'm not very familiar with the semantics of these functions. I've CC'd Tim Deegan who can maybe help advise... Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |