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

Roger.

_______________________________________________
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®.