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

Re: [Xen-devel] [PATCH] x86/xen: init %gs very early to avoid page faults with stack protector



Hi,

the patch v2 solved the issue for me only on amd64, i386 guests keep crashing
with linux 4.15, 4.14 works fine.


XEN host:
- xen 4.8.3
- Debian stretch (tried with linux packages 4.14.0-0.bpo.3-amd64 and
linux-image-4.15.0-0.bpo.2-amd64
- grub-pc package from buster (2.02+dfsg1-4)


XEN guest:
- Debian testing 32bit
- booted via Debian's /usr/lib/grub-xen/grub-i386-xen.bin (buster, see XEN host)
- linux-image-4.14.0-0.bpo.3-686-pae and earlier work fine
--> linux-image-4.15.0-2-686-pae: boot aborts right after pvgrub
launches the kernel, no output to the xen-guest console logfile. Whereas
on the XEN host's serial console I see output similar to [1]:


Try #1:
--------8<-----------------------------------
(XEN) d9v0: unhandled page fault (ec=0000)
(XEN) Pagetable walk from 0000000000000014:
(XEN)  L4[0x000] = 000000028903b027 0000000000001e3b
(XEN)  L3[0x000] = 000000028904d027 0000000000001e4d
(XEN)  L2[0x000] = 000000028904e023 0000000000001e4e
(XEN)  L1[0x000] = 0000000000000000 ffffffffffffffff
(XEN) domain_crash_sync called from entry.S: fault at ffff82d080239a68 
entry.o#compat_create_bounce_frame+0xd9/0xf1
(XEN) Domain 9 (vcpu#0) crashed on cpu#8:
(XEN) ----[ Xen-4.8.3  x86_64  debug=n   Not tainted ]----
(XEN) CPU:    8
(XEN) RIP:    e019:[<00000000c1031d39>]
(XEN) RFLAGS: 0000000000000292   EM: 1   CONTEXT: pv guest (d9v0)
(XEN) rax: 00000000c18a84c0   rbx: 00000000c162fce0   rcx: 0000000000000000
(XEN) rdx: 0000000000000000   rsi: 00000000c1815eec   rdi: 00000000c1815f34
(XEN) rbp: 00000000c1815f10   rsp: 00000000c1815ecc   r8:  ffff83207b00fe58
(XEN) r9:  ffff82d080197ea3   r10: 0000000080000008   r11: 0000000000000297
(XEN) r12: ffff83103ff30140   r13: ffff83103ff30148   r14: ffff83207b00ffff
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526e0
(XEN) cr3: 000000207b10c000   cr2: 0000000000000014
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: e021   es: e021   fs: e021   gs: e021   ss: e021   cs: e019
(XEN) Guest stack trace from esp=c1815ecc:
(XEN)   00000000 c1031d39 0001e019 00010092 c18a84c0 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 ffffffff c1815f24 c18a84c0 c18a84c0 c1815f30
(XEN)   c1815f34 c1815f50 c10328c7 c1815f3c c1815f38 c1815f40 0000302e 00000000
(XEN)   00000000 00000000 80000008 00000000 00000000 00000000 00000000 c1e38000
(XEN)   c1a08000 c1815ffc c18c44c3 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 c1e38000 c1a08000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-------->8-----------------------------------



Try #2:
--------8<-----------------------------------
(XEN) d15v0: unhandled page fault (ec=0000)
(XEN) Pagetable walk from 0000000000000014:
(XEN)  L4[0x000] = 000000028903b027 0000000000001e3b
(XEN)  L3[0x000] = 000000028904d027 0000000000001e4d
(XEN)  L2[0x000] = 000000028904e023 0000000000001e4e 
(XEN)  L1[0x000] = 0000000000000000 ffffffffffffffff
(XEN) domain_crash_sync called from entry.S: fault at ffff82d080239a68 
entry.o#compat_create_bounce_frame+0xd9/0xf1
(XEN) Domain 15 (vcpu#0) crashed on cpu#7:
(XEN) ----[ Xen-4.8.3  x86_64  debug=n   Not tainted ]----
(XEN) CPU:    7
(XEN) RIP:    e019:[<00000000c1031d39>]
(XEN) RFLAGS: 0000000000000292   EM: 1   CONTEXT: pv guest (d15v0)
(XEN) rax: 00000000c18a84c0   rbx: 00000000c162fce0   rcx: 0000000000000000
(XEN) rdx: 0000000000000000   rsi: 00000000c1815eec   rdi: 00000000c1815f34
(XEN) rbp: 00000000c1815f10   rsp: 00000000c1815ecc   r8:  ffff83103ff3fe58
(XEN) r9:  ffff82d080197ea3   r10: 0000000080000008   r11: 0000000000000297
(XEN) r12: ffff83103ff42140   r13: ffff83103ff42148   r14: ffff83103ff3ffff
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526e0
(XEN) cr3: 000000207b103000   cr2: 0000000000000014
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: e021   es: e021   fs: e021   gs: e021   ss: e021   cs: e019
(XEN) Guest stack trace from esp=c1815ecc:
(XEN)   00000000 c1031d39 0001e019 00010092 c18a84c0 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 ffffffff c1815f24 c18a84c0 c18a84c0 c1815f30
(XEN)   c1815f34 c1815f50 c10328c7 c1815f3c c1815f38 c1815f40 0000302e 00000000
(XEN)   00000000 00000000 80000008 00000000 00000000 00000000 00000000 c1e38000
(XEN)   c1a08000 c1815ffc c18c44c3 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 c1e38000 c1a08000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)   00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
-------->8-----------------------------------


Let me know if you need more info.


Thanks!
Daniel
(please CC me since I'm not subscribed to the list)



[1] https://www.mail-archive.com/grub-devel@xxxxxxx/msg26612.html

Attachment: signature.asc
Description: OpenPGP digital signature

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