[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [linux-linus bisection] complete test-arm64-arm64-xl-xsm



On Tue, Mar 12, 2019 at 06:27:03PM +0100, Roger Pau Monné wrote:
> On Tue, Mar 12, 2019 at 03:59:04PM +0000, Julien Grall wrote:
> > Hi all,
> > 
> > It looks like all the arm test for linus [1] and next [2] tree
> > are now failing. x86 seems to be mostly ok.
> 
> I'm quite sure x86 PVH dom0 is also broken after this change.
> 
> > The bisector fingered the following commit:
> > 
> > commit 0ee930e6cafa048c1925893d0ca89918b2814f2c
> > Author: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> > Date:   Tue Mar 5 15:46:06 2019 -0800
> > 
> >     mm/memory.c: prevent mapping typed pages to userspace
> >     
> >     Pages which use page_type must never be mapped to userspace as it would
> >     destroy their page type.  Add an explicit check for this instead of
> >     assuming that kernel drivers always get this right.
> >     
> >     Link: http://lkml.kernel.org/r/20190129053830.3749-1-willy@xxxxxxxxxxxxx
> >     Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> >     Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
> >     Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>
> >     Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> >     Cc: Will Deacon <will.deacon@xxxxxxx>
> >     Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> >     Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > 
> > I have tried the latest linus mater as Dom0 and see some issue to get the
> > console guest:
> > 
> > 42sh> sudo xl create -c ~/works/guest/guest.cfg
> > Parsing config from /home/julien/works/guest/guest.cfg
> > xenconsole: Could not read tty from store: Success
> > 
> > I have added a print in the error path added by the commit above to see
> > what and where it happens:
> > 
> > [  182.366372] PageAnon 0 PageSlab 0 page_has_type 1
> > [  182.371076] WARNING: CPU: 2 PID: 2210 at mm/memory.c:1459 
> > vm_insert_page+0x3e
> > 0/0x430
> > [  182.378837] Modules linked in:
> > [  182.381974] CPU: 2 PID: 2210 Comm: xenstored Not tainted 
> > 5.0.0-10742-gea29548
> > 1b6e3-dirty #1310
> > [  182.390672] Hardware name: ARM Juno development board (r2) (DT)
> > [  182.396678] pstate: 40000005 (nZcv daif -PAN -UAO)
> > [  182.401553] pc : vm_insert_page+0x3e0/0x430
> > [  182.405816] lr : vm_insert_page+0x3e0/0x430
> > [  182.410077] sp : ffff000012773bc0
> > [  182.413471] x29: ffff000012773bc0 x28: 0000ffff8d3fa000
> > [  182.418866] x27: 0000000000000008 x26: 0000000000000001
> > [  182.424261] x25: 0000000000000008 x24: 0000ffff8d3fa000
> > [  182.429656] x23: 0068000000000f53 x22: ffff8008ab520a00
> > [  182.435052] x21: ffff000011644a88 x20: 0000000000000000
> > [  182.440454] x19: ffff7e00229b0e80 x18: 0000000000000000
> > [  182.445841] x17: 0000000000000000 x16: 0000000000000000
> > [  182.451245] x15: 00000000fffffff0 x14: 0000000000000000
> > [  182.456631] x13: ffff000012339ff0 x12: 0000000000000006
> > [  182.462027] x11: ffff000010ec4980 x10: ffff0000107d01f8
> > [  182.467422] x9 : 00000000fffb9fff x8 : ffff8008ab55a0a0
> > [  182.472817] x7 : 0000000000000001 x6 : ffff8008bb02a220
> > [  182.478212] x5 : ffff8008bb02a220 x4 : 0000000000000000
> > [  182.483607] x3 : ffff8008bb032708 x2 : b98ad6a7b7eb2900
> > [  182.489002] x1 : 0000000000000000 x0 : 0000000000000025
> > [  182.494397] Call trace:
> > [  182.496924]  vm_insert_page+0x3e0/0x430
> > [  182.500853]  gntdev_mmap+0x188/0x288
> > [  182.504495]  mmap_region+0x3dc/0x578
> > [  182.508149]  do_mmap+0x2d4/0x478
> > [  182.511457]  vm_mmap_pgoff+0xe0/0x108
> > [  182.515198]  ksys_mmap_pgoff+0xac/0x308
> > [  182.519116]  __arm64_sys_mmap+0x28/0x38
> > [  182.523029]  el0_svc_handler+0x88/0x100
> > [  182.526943]  el0_svc+0x8/0xc
> > [  182.529901] ---[ end trace cf738ac71bfed946 ]---
> > 
> > Does it ring any bell?
> 
> Ballooned pages are used by Linux in order to map foreign pages or
> grants, and it seems like this process doesn't mark the page as online
> when they are use to map foreign memory or grants.
> 
> The easiest solution might be to mark pages as onlined in
> alloc_xenballooned_pages?

But then that means those pages, which could contain sensitive guest
data, could be potentially dumped?

Wei.

> 
> Roger.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxx
> https://lists.xenproject.org/mailman/listinfo/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.