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

Flask vs paging mempool - Was: [xen-unstable test] 174809: regressions - trouble: broken/fail/pass


  • To: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Henry Wang <Henry.Wang@xxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Daniel Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>, Jason Andryuk <jandryuk@xxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Fri, 18 Nov 2022 17:22:39 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=04wH1a30RvapAXQXfQDg7ThxeQ1mtCu6FAVdTnYjwF4=; b=aDyxIZLOXZHSjESy0XakXCXvsdU88SaaB/wAF+k8PFj1KqVlVUl3m68fWGURkif5WnmhjzbMyY15aB4I8c05TD0qNGG/ww8ZhQH0jJDmHHu6AoxOqV2L9sf9Tm2sTX8X6j9TAsEIInGgtzI7wLQCNvnstxS2LHb0Dv+JqVivnugoBG7qjh+wFhzKuaiFzeh2W2RnDYCZa8iCdfQIJX1iIjIipHsQSN5nCJmlDkp/8FCZ2spGa4/CdI9C7B3lk8ZP+w/rTZrRTiftrzrs73hXHPAXR/cKAsd5iMd2F/aco6oLTesHNA+DkYQpiOHDaR+Yg0iNz+3Ry56/jU+P/PyAZQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fk6vpPo9g+oH6S0Na4ntZv/U5WVKlJ9t+5BULH5mOKWXfmFaTiuywWLdyzK+4zL1+1WwM2VworAmx4ImkYktDide9lDc+q+KY0n6ESe5Kp+Ir3tzuEXjEVa14igifPITkeufuHyk4sY8PUfpWyEwRo2bD1pmBs5209W7RlINsQ+vzql5AJ3CZS4/PAi2FkCUjp0htXcb68XJ/bg8iBlSDILLiUzQ0IpOjX3NX4Z+CwQFC+nP+hQmkT+gOHwFrgnOrkeknAovwzQI+q2x1RWlG8w0THcxmrlTGtGSHF9gvkRw9WpcOrxsYbEviOs9Bz98iD90hmWm+OUokXigMFL/PQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 18 Nov 2022 17:22:58 +0000
  • Ironport-data: A9a23:NhSH+aqonbbLG7rAadk/QM9XqAheBmLTZBIvgKrLsJaIsI4StFCzt garIBnQPKmKajH1ftB1Ptjg8EIPvJfXndM2TlZsqClnQysRpZuZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaHzilNV/rzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXAG8QTh/dt/n1+Y2mb/V3qJpgFdLbLqpK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKPEjCJbZw9ckKwj 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXoqqc72QDCnQT/DjUdewedrcGQunSYfI1bG UcX6BE0rKU9oRnDot7VGkfQTGS/lj4RXcBBVdIz7g6lw7DRpQ2eAwAsQiZabd06tOc/XTEwy kKShNTtGCBut7uOD3ma89+8rzq0NTIEMGwqaioNTA9D6N7myKkjgxSKQtt9HaqditzuBSq20 z2MtDI5hbgYkYgMzarTwLzcqzelp5yMSxFv4AzSBzqh9lkgPNTjYJG041/G6/oGNJyeUlSKo HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr323FF6KLFWyI3AxDGQ==
  • Ironport-hdrordr: A9a23:c65wXapir/UAssoqLdvDCZEaV5rReYIsimQD101hICG9Evb0qy lhppQmPH7P+VIssRQb8+xoV5PufZqxz/BICOoqTNKftWvdyQiVxehZhOOP/9SJIUbDH4VmpM VdmsZFaeEZDTJB/LvHCAvTKadd/DFQmprY+ts3zB1WPH9Xg7kL1XYfNu4CeHcGPzWvA/ACZf yhz/sCnRWMU1INYP+2A3EUNtKz3eEixPrdEGc77wdM0nj3sQ+V
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHY+zeiYojqAeFzxUaCyzIpzopUAa5EwM6AgAAteAA=
  • Thread-topic: Flask vs paging mempool - Was: [xen-unstable test] 174809: regressions - trouble: broken/fail/pass

On 18/11/2022 14:39, Roger Pau Monne wrote:
> Nov 18 01:55:11.753936 (XEN) arch/x86/mm/hap/hap.c:304: d1 failed to allocate 
> from HAP pool
> Nov 18 01:55:18.633799 (XEN) Failed to shatter gfn 7ed37: -12
> Nov 18 01:55:18.633866 (XEN) d1v0 EPT violation 0x19c (--x/rw-) gpa 
> 0x0000007ed373a1 mfn 0x33ed37 type 0
> Nov 18 01:55:18.645790 (XEN) d1v0 Walking EPT tables for GFN 7ed37:
> Nov 18 01:55:18.645850 (XEN) d1v0  epte 9c0000047eba3107
> Nov 18 01:55:18.645893 (XEN) d1v0  epte 9c000003000003f3
> Nov 18 01:55:18.645935 (XEN) d1v0  --- GLA 0x7ed373a1
> Nov 18 01:55:18.657783 (XEN) domain_crash called from 
> arch/x86/hvm/vmx/vmx.c:3758
> Nov 18 01:55:18.657844 (XEN) Domain 1 (vcpu#0) crashed on cpu#8:
> Nov 18 01:55:18.669781 (XEN) ----[ Xen-4.17-rc  x86_64  debug=y  Not tainted 
> ]----
> Nov 18 01:55:18.669843 (XEN) CPU:    8
> Nov 18 01:55:18.669884 (XEN) RIP:    0020:[<000000007ed373a1>]
> Nov 18 01:55:18.681711 (XEN) RFLAGS: 0000000000010002   CONTEXT: hvm guest 
> (d1v0)
> Nov 18 01:55:18.681772 (XEN) rax: 000000007ed373a1   rbx: 000000007ed3726c   
> rcx: 0000000000000000
> Nov 18 01:55:18.693713 (XEN) rdx: 000000007ed2e610   rsi: 0000000000008e38   
> rdi: 000000007ed37448
> Nov 18 01:55:18.693775 (XEN) rbp: 0000000001b410a0   rsp: 0000000000320880   
> r8:  0000000000000000
> Nov 18 01:55:18.705725 (XEN) r9:  0000000000000000   r10: 0000000000000000   
> r11: 0000000000000000
> Nov 18 01:55:18.717733 (XEN) r12: 0000000000000000   r13: 0000000000000000   
> r14: 0000000000000000
> Nov 18 01:55:18.717794 (XEN) r15: 0000000000000000   cr0: 0000000000000011   
> cr4: 0000000000000000
> Nov 18 01:55:18.729713 (XEN) cr3: 0000000000400000   cr2: 0000000000000000
> Nov 18 01:55:18.729771 (XEN) fsb: 0000000000000000   gsb: 0000000000000000   
> gss: 0000000000000002
> Nov 18 01:55:18.741711 (XEN) ds: 0028   es: 0028   fs: 0000   gs: 0000   ss: 
> 0028   cs: 0020
>
> It seems to be related to the paging pool adding Andrew and Henry so
> that he is aware.

Summary of what I've just given on IRC/Matrix.

This crash is caused by two things.  First

  (XEN) FLASK: Denying unknown domctl: 86.

because I completely forgot to wire up Flask for the new hypercalls. 
But so did the original XSA-409 fix (as SECCLASS_SHADOW is behind
CONFIG_X86), so I don't feel quite as bad about this.

And second because libxl ignores the error it gets back, and blindly
continues onward.  Anthony has posted "libs/light: Propagate
libxl__arch_domain_create() return code" to fix the libxl half of the
bug, and I posted a second libxl bugfix to fix an error message.  Both
are very simple.


For Flask, we need new access vectors because this is a common
hypercall, but I'm unsure how to interlink it with x86's shadow
control.  This will require a bit of pondering, but it is probably
easier to just leave them unlinked.


Flask is listed as experimental which means it doesn't technically
matter if we break it, but it is used by OpenXT so not fixing it for
4.17 would be rather rude.

~Andrew

 


Rackspace

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