|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Ping: [PATCH 3/3] x86: tighten MMU_*PT_UPDATE* check and combine error paths
>>> On 12.10.17 at 12:01, wrote:
> Don't accept anything other than r/w RAM pages and move the paged-out
> check into the (unlikely) error path following that check.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Ping?
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -3507,18 +3507,18 @@ long do_mmu_update(
> gmfn = req.ptr >> PAGE_SHIFT;
> page = get_page_from_gfn(pt_owner, gmfn, &p2mt, P2M_ALLOC);
>
> - if ( p2m_is_paged(p2mt) )
> + if ( unlikely(!page) || p2mt != p2m_ram_rw )
> {
> - ASSERT(!page);
> - p2m_mem_paging_populate(pt_owner, gmfn);
> - rc = -ENOENT;
> - break;
> - }
> -
> - if ( unlikely(!page) )
> - {
> - gdprintk(XENLOG_WARNING,
> - "Could not get page for normal update\n");
> + if ( page )
> + put_page(page);
> + if ( p2m_is_paged(p2mt) )
> + {
> + p2m_mem_paging_populate(pt_owner, gmfn);
> + rc = -ENOENT;
> + }
> + else
> + gdprintk(XENLOG_WARNING,
> + "Could not get page for normal update\n");
> break;
> }
>
>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |