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

Re: [PATCH] x86/domain: Fix struct domain memory corruption when building PV guests


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Tue, 23 Aug 2022 09:11:52 +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=E/m2I6xBZvRox4xjVSfCYzSg9b/+dz6bpNHpW3VQyKw=; b=gVvkc/8v65OBAO4nfkctAth0A3qMhheIN6FKxwHtGuhKinE0nKC2yvC8gUhRnaBGk+7tdca6U50TYPs6tmaUZdXEG+ohLrt3ksoo5J8jyYPuSSa1eOv4uCYPu/neMn4iJVFPXsXUmEFQ9V4AA1dcYHOCJiYXfYhCDVA3837BokeyOKUorm9kWeOARgordYMUixgL6zpuYNODzclI+4eB6Kd//mPcTNrC2bGNlu0Z36H829Ej4+dj1x366zf1QqNBxJH/uexV7qSho+NluISWRS4nPgh4+WBH+PrFNchgU42KSWeEo8eBe+lnqkGD6dh+2bBqTFLhy1hf9lB2XHWw5g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QK0gZ3Lg6CSYt667CaPwCr5n4ppyom7g6h479rE6DYpKtQTSrzVoi+kzFflL0/PxbzLmEbruPPAOE6zTFAxMJOuqFen9GPahmYb6fru+AlLz8HP6Uiuj3YYOK6w0UzzoACnFtBAZYzxo7nZsiJYwVfOEcb07mnUDwBt/uzPHbC2VHaIzfRkpBfWuEQhuB+J21KiEBTL5A5QpFWPEwS39lERDjm7GSNfWO5jH/AvmcBvjfqh7Wp/FAASQ+BfhbU2N4cl75yj64rxqY+EIn/m1WBaa8Exm01imbliuwCXBqGZ1W5KscSBxGENRQvBkpIvkUf0vXWjNLdmzHEC4gjr7EA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Jane Malalane <Jane.Malalane@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 23 Aug 2022 09:12:01 +0000
  • Ironport-data: A9a23:5kAw5qKNAGx8tSZUFE+RyJQlxSXFcZb7ZxGr2PjKsXjdYENShT0Gm 2EZCDiBPqrcYWL8Kt1xPN+x/RhUvZfQzdM1HVdlqX01Q3x08seUXt7xwmUcns+xwm8vaGo9s q3yv/GZdJhcokf0/0vraP65xZVF/fngbqLmD+LZMTxGSwZhSSMw4TpugOd8iYNz6TSDK1rlV eja/ouOYzdJ5xYuajhOs/LZ80s11BjPkGhwUmIWNKgjUGD2zxH5PLpHTYmtIn3xRJVjH+LSb 44vG5ngows1Vz90Yj+Uuu6Tnn8iG9Y+DiDX4pZiYICwgwAqm8AH+v1T2Mzwy6tgo27hc9hZk L2hvHErIOsjFvWkdO81C3G0H8ziVEHvFXCuzXWX6KSuI0P6n3TE3vs3JR9rM6Ih2f9pBFtLp NIVdTBOYUXW7w626OrTpuhEoO0GdZOuEKZB/3ZqwHfeEOosRo3FT+PS/9hE0Twsh8dIW/HDe 84ebjkpZxPFC/FNEg5PVNRiw6H11z+mLW0wRFG9/MLb50D6ygBr3aerG93SYtGQHu1en1qCp 3KA9GP8av0fHIPPl2vfrijz7gPJtX64Z5scPbyHzcZBgx6/2XU3Djo4cFTu9JFVjWb7AbqzM Xc8+CAjsKwz/0yDVcTmUluzp3vslgEYc8pdFas98g7l4rrZ5UOVC3YJShZFacc6r4kmSDoyz FiLktj1Qzt1v9WopWm1876VqXa+PHYTJGpbPyscF1Jbs5/kvZ05iQ/JQpB7Cqmpg9bpGDb2h TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
  • Ironport-hdrordr: A9a23:UV7PuaNLrmvaiMBcT2L155DYdb4zR+YMi2TDiHoddfUFSKalfp 6V98jzjSWE8wr4WBkb6LO90DHpewKQyXcH2/hqAV7EZnirhILIFvAp0WKG+VHd8kLFh4lgPM tbEpSWTeeAdWSS7vyKrzVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUiSw71M7aXdi0L0i+W /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yvT9aw+cyTpAVr4RHoFqjwpF5N1HL2xa1+ Ukli1QffibLUmhOF1d7yGdgjUImwxelkMKgWXo/UcL5/aJCg7SQvAx+76wOHHimjUdlcA536 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KcuZlFkIPwjgYVq3Poi1VIQFI1FEDPx6YghHu UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwM/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+ jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFrxGXPXJU6iGLAMOnrLpZKy6LIp5PuycJhN15c2kI SpaiItiYfzQTOaNSSj5uw6zvmWehTNYd3E8LAs27Fp/rvhWbHsLSqPDFgzjsrImYRsPvHm
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYtm55VD5gh57AFES863M73+ue8628FP0AgAAe6QA=
  • Thread-topic: [PATCH] x86/domain: Fix struct domain memory corruption when building PV guests

On 23/08/2022 08:21, Jan Beulich wrote:
> On 22.08.2022 23:30, Andrew Cooper wrote:
>> arch_domain_create() can't blindly write into d->arch.hvm union.  Move the
>> logic into hvm_domain_initialise(), which involves passing config down.
>>
>> Fixes: 2ce11ce249a3 ("x86/HVM: allow per-domain usage of hardware 
>> virtualized APIC")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Thanks.

>> This does not fix XenServer's wall of red from testing, but I have at least
>> figured out what's going on.  There's a piece of plain RAM in place of a
>> working LAPIC MMIO mapping (accelerated or otherwise), which causes HVMLoader
>> to spin in a tight loop waiting for CPU 1 to come up after failing to send an
>> INIT-SIPI-SIPI.
> Where's that page of plain RAM coming from? And do you meanwhile
> understand why XenServer testing is exposing the issue while osstest
> isn't?

The sink page is allocated and inserted into the P2M based on hardware
capabilities, and the VMCS is (not) configured using the new settings.

APIC-V is still fully disabled in XenServer because there are still
interrupts lost on migration which take out Windows.  Jane's work was
the very start of being able to test APIC acceleration rationally, and
ultimately find a fix.

~Andrew

 


Rackspace

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