[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 1/8] xen: move XENMAPSPACE_grant_table code into grant_table.c
>>> On 08.09.17 at 08:56, <jgross@xxxxxxxx> wrote: > --- a/xen/arch/x86/mm.c > +++ b/xen/arch/x86/mm.c > @@ -4631,40 +4631,19 @@ int xenmem_add_to_physmap_one( > { > struct page_info *page = NULL; > unsigned long gfn = 0; /* gcc ... */ > - unsigned long prev_mfn, mfn = 0, old_gpfn; > + unsigned long prev_mfn, old_gpfn; > int rc = 0; > + mfn_t mfn = INVALID_MFN; > p2m_type_t p2mt; > > switch ( space ) > { > case XENMAPSPACE_shared_info: > if ( idx == 0 ) > - mfn = virt_to_mfn(d->shared_info); > + mfn = _mfn(virt_to_mfn(d->shared_info)); > break; > case XENMAPSPACE_grant_table: > - grant_write_lock(d->grant_table); > - > - if ( d->grant_table->gt_version == 0 ) > - d->grant_table->gt_version = 1; > - > - if ( d->grant_table->gt_version == 2 && > - (idx & XENMAPIDX_grant_table_status) ) > - { > - idx &= ~XENMAPIDX_grant_table_status; > - if ( idx < nr_status_frames(d->grant_table) ) > - mfn = virt_to_mfn(d->grant_table->status[idx]); > - } > - else > - { > - if ( (idx >= nr_grant_frames(d->grant_table)) && > - (idx < max_grant_frames) ) > - gnttab_grow_table(d, idx + 1); > - > - if ( idx < nr_grant_frames(d->grant_table) ) > - mfn = virt_to_mfn(d->grant_table->shared_raw[idx]); > - } > - > - grant_write_unlock(d->grant_table); > + gnttab_map_frame(d, idx, gpfn, &mfn); You're ignoring a possible error here. Of course right now this can only come together with mfn staying INVALID_MFN, but if any further change to the function happened this may change without the author noticing that the error check here is missing. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |