|
[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 |