From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ED60C433FE for ; Thu, 24 Nov 2022 09:06:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A6C466B0074; Thu, 24 Nov 2022 04:06:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A1C106B0075; Thu, 24 Nov 2022 04:06:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 895F26B0078; Thu, 24 Nov 2022 04:06:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 760E66B0074 for ; Thu, 24 Nov 2022 04:06:28 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 41C38C12D8 for ; Thu, 24 Nov 2022 09:06:28 +0000 (UTC) X-FDA: 80167754856.20.FDC81EC Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf13.hostedemail.com (Postfix) with ESMTP id 22EBF2000C for ; Thu, 24 Nov 2022 09:06:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669280787; x=1700816787; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=DaG61x5sm8/cvzqhRANRW8qPkTIz4/AujwUpRtWvjdM=; b=dDS3kLPjfNvMFf6BeKOZmJuHVRDEfKnA+F37kBLFmzDX1zpE+PAsSAdL eP0BF/kpLEuCm1lQSLOJPMTOGztYJ9EeY26Qa76u32WRcddiiAQ22OdVO WnJCyt8kqbg6op6uZEwWyyzgWfVEjjw8q1HgH4cdtr+ppHzerMX5xp+uk SkgV8EoDFqkbqo7Cr0HGgFXQ3CDbJK4LqjU2y8Two9ndeqCQuJRH/vbQO uaoLV90PPy0QJZMMR48+jVHvHslDf3zgdYVVmQyW5rpiop4ydGEM/mnCJ XPRGbwbxNFVUZ4blwqby/420VBY4CUimjehfgOaLzt6X8LtJmcvK7chsb w==; X-IronPort-AV: E=McAfee;i="6500,9779,10540"; a="293961369" X-IronPort-AV: E=Sophos;i="5.96,190,1665471600"; d="scan'208";a="293961369" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2022 01:06:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10540"; a="731074487" X-IronPort-AV: E=Sophos;i="5.96,190,1665471600"; d="scan'208";a="731074487" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 24 Nov 2022 01:06:11 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 24 Nov 2022 01:06:11 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 24 Nov 2022 01:06:11 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 24 Nov 2022 01:06:11 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S608AU2V/sojKTmp9SsGy0srTs243HqhjanovVigcNDB0eAnH3tuwxpdOoYeCuCLuO/oJNORM1XZ/JPg7nhbu6qxDCdGX7xxN8NGKSFdk4CMijNL02MgkZc/ADc9hjirTUYel8feJ++EZEF+Yhx3gc7rKHA+uYHhJDPGG0V99htaRtxyBQT3pKAU7AkeJ8NP6MjgUF6SKrSUNumZS6r9zEDmUhyEteZ+pg7izTds6klvMR2731bDzZYj6+s4PBMw4cwE63eTG44RR914XgND29rYDv/Cx1WyezUJjQsw6yuZT2ODLMYlqkTLsb/LCqcZLaEGXGUl5Wa8vCHDwKge9Q== 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=DaG61x5sm8/cvzqhRANRW8qPkTIz4/AujwUpRtWvjdM=; b=M+UcizG4Vqc+aAZuk67f1mrwkpsPVssytV7Ohxh3HouNcwAQKKF2VA8rcWMCgxfRkW2gocDbREVo7BFBlAtL3W5xDhcPPbhftDbhiC8MQ+aJbvQdG+QZl2XDwBfqEFJOztXrvwZ7Mrd+affUEQgj1QBD+7AY1rPHDLGsil78rzMyXhEDit/r6ECJyPG/L+mHRRZA//MAm05nsNvmNETjGCzKUb18ot10EgolI2ACkWh5TJ9idj24UyOKVT9IGHD4Mw2E171SbNXF5jBslRe8e5WtYOddcTPm1cc+R4Lh2Cjvb7NT5GAbkNZH3Z++roQoH9zhqB8ORRnXZSHdTmWhVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BL1PR11MB5978.namprd11.prod.outlook.com (2603:10b6:208:385::18) by BL1PR11MB5334.namprd11.prod.outlook.com (2603:10b6:208:312::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Thu, 24 Nov 2022 09:06:05 +0000 Received: from BL1PR11MB5978.namprd11.prod.outlook.com ([fe80::2fb7:be18:a20d:9b6e]) by BL1PR11MB5978.namprd11.prod.outlook.com ([fe80::2fb7:be18:a20d:9b6e%8]) with mapi id 15.20.5834.015; Thu, 24 Nov 2022 09:06:05 +0000 From: "Huang, Kai" To: "Williams, Dan J" , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: "Hansen, Dave" , "Luck, Tony" , "bagasdotme@gmail.com" , "ak@linux.intel.com" , "Wysocki, Rafael J" , "kirill.shutemov@linux.intel.com" , "Christopherson,, Sean" , "Chatre, Reinette" , "pbonzini@redhat.com" , "linux-mm@kvack.org" , "Yamahata, Isaku" , "peterz@infradead.org" , "Shahar, Sagi" , "imammedo@redhat.com" , "Gao, Chao" , "Brown, Len" , "sathyanarayanan.kuppuswamy@linux.intel.com" , "Huang, Ying" Subject: Re: [PATCH v7 10/20] x86/virt/tdx: Use all system memory when initializing TDX module as TDX memory Thread-Topic: [PATCH v7 10/20] x86/virt/tdx: Use all system memory when initializing TDX module as TDX memory Thread-Index: AQHY/T3KCI/2IUKL7kSgXbHXnV3Az65NU9CAgAB5pwA= Date: Thu, 24 Nov 2022 09:06:04 +0000 Message-ID: <8e8f72ad5d7a3d09be32bee54e4ebb9c280610a2.camel@intel.com> References: <9b545148275b14a8c7edef1157f8ec44dc8116ee.1668988357.git.kai.huang@intel.com> <637ecded7b0f9_160eb329418@dwillia2-xfh.jf.intel.com.notmuch> In-Reply-To: <637ecded7b0f9_160eb329418@dwillia2-xfh.jf.intel.com.notmuch> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4 (3.44.4-2.fc36) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5978:EE_|BL1PR11MB5334:EE_ x-ms-office365-filtering-correlation-id: 190e4a00-8fe5-4229-d29a-08dacdfb1df7 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fY+INOaqZZ0SSDho3Q30mjtJUGAxgY9lF1cazlUh6XWh1AdS4X6NDmEBCqHV3R4nVTRAFLtVneo7HQvj1+te6eG+GMOfNDxlmU3lfc3JFOvOOjS8qE+wUvEepL5frhW8HFiYBqz/pYNWQ3tJGGXbOBzb4ngKHpskMVHM11kUXUlJBKf/9lPHrv1ttoKrjt0V3rPxC1ZiU7Z/u3/OPGynj544fPQw1e3Q/bjUC7jLXwa0ZeBfYQjn/0TGdWbSm2Ctsf6yqp5+U3bsUw3ABrAqEAdnbmkjs8W35ZAUuImZ+KgRLcuqyLkkT0iQzX9oedz/E+lUZ2naNHc+TMse8XExYBjMe6vhRm9pJ6DAPGSQ921v7QXHXUkJyrUkefTWkL4NRUJ1auU1vIX0IW0T6ojKZMlUk2+1Q8VJDf6uCxhxcFKy1Nxb49j1uKkfDiRq8Zy13/w5RrfXLWIgU/0ZzAJUMZ3mEHm+6r+jXaaQB6IVT/q+FNgU1aIxfjlEmt3vgCBqFqivKPbTBG0r/4lH+ykcagavesW+7httkHtNycIimwSf56AZ3FHrD5jgcm4pDCsLp4nxP/thjMu5OhC3HPY28Kvs5psowauHYyOVXOJXcbBSXCpINvPoB6sRb4TtAiPQ/AO1e/d3By+1lOISRx43iwNaEKUr8+YrgV0kV176MnLmw6746lrMntD8bdK/w+t/Ks/I2riJLES1UGpcsk+r4A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5978.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(346002)(39860400002)(376002)(396003)(451199015)(86362001)(82960400001)(38100700002)(38070700005)(41300700001)(4326008)(8676002)(76116006)(64756008)(66476007)(91956017)(66556008)(66946007)(66446008)(110136005)(54906003)(316002)(7416002)(5660300002)(8936002)(2906002)(6486002)(4001150100001)(83380400001)(122000001)(71200400001)(6506007)(478600001)(2616005)(186003)(26005)(6512007)(36756003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cjM0QitDRThTdDFjd1doS2c5Q3loYmtSaytWOVRaNUZ2amdsODhCZnl3bWlB?= =?utf-8?B?a3E3Ymk1OHMyRFNtN1dZVnd3V2JJRVU5ajR6SW1PZWxRaFh5bjFGaTZ0Wi84?= =?utf-8?B?eWhLcFlMZ0QxMldhVmZtZk9yT3VtVHV3TVlzVGZickFQYUYyZnZwVjR1Wkti?= =?utf-8?B?M0RCTDVVY29QV2lSaXNLRnhMSWlVeVVJbWhYeVM1VWlBNXdyeVlSRXFwamNL?= =?utf-8?B?RWZMWHgweW9TNmlOL2ZzVDk4bzBvcUJFdVZkUllvZ0NqbUpHcDNhVDJMdGZJ?= =?utf-8?B?R3AyWjFYRkVnYzlmQUpORFJkTDBwaHNES2prWTNqWUJHcnRhblZpa2FkY2Zh?= =?utf-8?B?azA2eUt3ZlFyZDFSaEw2bnVmbkFXa050bGVQcWRublN1YlprR3Vmd3g0ODVM?= =?utf-8?B?bERneVgrUkJoVFVtQnMyVEg2WDN1UjQ1bitMUUtqWXlVR3VIVG9FR25lVE8z?= =?utf-8?B?N0s1cGNhL1RzN0hXR1RRODByU2tqcHZMY3ZTSnJsandHRGNRYUk4NlZkYUlK?= =?utf-8?B?c0lJdVoxczFTMmhnd2lKT2NkeDJ6czFJVFVycGp1d0UyQWZRclczRjNkaXNn?= =?utf-8?B?ck5mVlhaOHNGQUdtVENhcnZ6QmIxRHJPeHFkWHc5N2tBaGRSak9pZ1Jjd2cy?= =?utf-8?B?UDNoMEEvZlFVclVWV05LaGxaeVJJU3ZSUGVGdDMwRXNMcUlvcnpNeGJzeUNu?= =?utf-8?B?c2dYTmdoTm1wZzVtYXl0NWJLZWVTWS9CVWVpQTZBdjArUDBXd1F1Rk9LRlJX?= =?utf-8?B?dXBGRmtNVUU1SnFlZWs3WlFPUnFNczArMEJDK0VreUlXNTJZY21rV2dMOFdn?= =?utf-8?B?ZDRRNFdqSmdwU2hVSXZ1bGRGeDdKVlpsU0F0ZzlLby8vL0JMOFlDb1NFdW5J?= =?utf-8?B?cS8rQU0weUJFU1RLb0pGQVdMQmhCZVQ0RCtmaUFxZmxYQWxicnFIcTNoL3gr?= =?utf-8?B?MXZuNjg5dEg0NnVSOE9hMko0WW9zR3V2bktYMkt0bDhPcUovV1dIRmpmWkl1?= =?utf-8?B?c0xxSFByVGdLcWtyME1HMFVkUHFOaFlMb3huTUJOREZwVWpBMGk3YXVSVWJ6?= =?utf-8?B?MTFlK3VRaDBhK0hjOFc4TW5OSTRraloyaGs0cGtlc0tYMGdrWnN4U3dTS1ZQ?= =?utf-8?B?TjZIaTdJaU5OUGY2TWpMUkdSTXVDS3I0cVZTQ3hCSXNhS3cvZzREZGxIaW13?= =?utf-8?B?YllIMzJkNGNOR1NOU2xYVlR2cXZDZTF4V2NiWkxvZ1M2N05iZFJYU2txMTA5?= =?utf-8?B?RGl6bk9zRDdhSktKT2g3Q0dadENNTkU0N1Y1VHZWcjA0V09PVFJmRHBEWkg5?= =?utf-8?B?bzRNUmY4YjM3U21rYW50VUwrU0JYVmFDRHcxSUxrc002WEZ0YzljQlpRU2d5?= =?utf-8?B?MmNjNk80T1g1cjJicHdLTkhRYVBERVBVWFdqV3dhVExZNVJ3UVdJK21QTmgv?= =?utf-8?B?TXN4THhCTVlrcXpkcFkxamlVUHk3KzlsVTNOaCtpOFB6NkpXRDB4RHhjZGl5?= =?utf-8?B?RUZ2WEwxZWJsT3FGOGcrUi9sU0NHalVLVkg4R0FUakRCQ1p5eHpKZm90RzUx?= =?utf-8?B?WC9jeWlRUE56ZW13WW1oM1NQc1R0ZjZUTDQ4UGRCbXozVy81RFo3RGpTNlhl?= =?utf-8?B?a2J3c2dtdy81K3JkOFRWdWR4SUcwMXJvb2x4TTF2UzhZQWtueEQyU0V3R1hT?= =?utf-8?B?ZkxPbVkrSlpMTGtJS1NMdVBlR3RMQ29ZTVVrbnlmank0d25KekRaNDlXeFdw?= =?utf-8?B?aVNlUm1Cc2J5cmFzc05obVYrZkk1Wm8zTDA3QmlySTVFOU5HOUh5RjF0dVFK?= =?utf-8?B?M0p3Wk96UlpUVmlpWktCZXZiaVpEVDFmZlR2WTIxS0k0ZkNmWWQ5MkxLTXNx?= =?utf-8?B?K1hqakxCbjVpM1VYU1V4OXJidkUzMi9lZTY3V0NUOWRoek9xeWVTOEJ5Zi9i?= =?utf-8?B?YVNXTkx6b1NONWlhMDdySkllSzk0RFpndHdJWi96Sk5vb0k5bmpKQ0lQUDZ5?= =?utf-8?B?NzY1eUN6Sk96aTc2N2ZOcWFaS291Z2ZOcWl2VmpJOVhmUnJpQ3h5R045R3dz?= =?utf-8?B?Zktlbjh6UkJ0VjBhZ2I5TWo4TDRpcHBKTnJ6TU1TK25IcDhxMzg4aFlxTzFq?= =?utf-8?B?VmdiUXlpdjJBeEFzM1RwTWVUSWFwRE5FdWo4NSsra2xqWnZKN2FucHdpMU9I?= =?utf-8?B?Mnc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5978.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 190e4a00-8fe5-4229-d29a-08dacdfb1df7 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2022 09:06:04.8987 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: i1E+D7L4ksAQ3dJffqwXT4YmWLwcQnoYdt9i/Pemcio7Mn+F08bPokw+xjLS/6Lni3cMedeiLPU0oSFxkbM96Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5334 X-OriginatorOrg: intel.com ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=dDS3kLPj; spf=pass (imf13.hostedemail.com: domain of kai.huang@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=kai.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1669280787; a=rsa-sha256; cv=pass; b=ui+9oPOBXUwPP7ha5XNSmCckDQkt3eM2BejNyjHD/5o0QxSS/TW/OQNat+VUtnU1Q752xf 4BrPn7J/y6X/H2EDhJh73Xk6y4xS695hsoL7a5z2RMiv3blwUGJ3vf64zc/KRmuYuoK5JS q4v5vSmL2kPIBX658/sRSKNI6D7Z3mA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669280787; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DaG61x5sm8/cvzqhRANRW8qPkTIz4/AujwUpRtWvjdM=; b=GisRdmvEcLQ78N5okg9YjdSJ/Y+qy7sw6fJFWMXvtoHFnXimiUPKwNs6ohiSoV+9t12Uob exa+ADjW8UkKE4YmuX74IhAV8IuejpmsqRkHuOhHPV7mysyj8WtsRdKs3wkuHENZjtW//m rMsuHSsYHTIwKy0U0uhpzHJc+V6njjo= X-Stat-Signature: 1myxfutwi7ppo8aucdk8hq5dngfjy58h X-Rspamd-Server: rspam08 X-Rspam-User: Authentication-Results: imf13.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=dDS3kLPj; spf=pass (imf13.hostedemail.com: domain of kai.huang@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=kai.huang@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Queue-Id: 22EBF2000C X-HE-Tag: 1669280786-223319 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gV2VkLCAyMDIyLTExLTIzIGF0IDE3OjUwIC0wODAwLCBEYW4gV2lsbGlhbXMgd3JvdGU6DQo+ ID4gwqAgDQo+ID4gQEAgLTk2OCw2ICs5NjksMTUgQEAgaW50IGFyY2hfYWRkX21lbW9yeShpbnQg bmlkLCB1NjQgc3RhcnQsIHU2NCBzaXplLA0KPiA+IMKgwqAJdW5zaWduZWQgbG9uZyBzdGFydF9w Zm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOw0KPiA+IMKgwqAJdW5zaWduZWQgbG9uZyBucl9wYWdl cyA9IHNpemUgPj4gUEFHRV9TSElGVDsNCj4gPiDCoCANCj4gPiArCS8qDQo+ID4gKwkgKiBGb3Ig bm93IGlmIFREWCBpcyBlbmFibGVkLCBhbGwgcGFnZXMgaW4gdGhlIHBhZ2UgYWxsb2NhdG9yDQo+ ID4gKwkgKiBtdXN0IGJlIFREWCBtZW1vcnksIHdoaWNoIGlzIGEgZml4ZWQgc2V0IG9mIG1lbW9y eSByZWdpb25zDQo+ID4gKwkgKiB0aGF0IGFyZSBwYXNzZWQgdG8gdGhlIFREWCBtb2R1bGUuwqAg UmVqZWN0IHRoZSBuZXcgcmVnaW9uDQo+ID4gKwkgKiBpZiBpdCBpcyBub3QgVERYIG1lbW9yeSB0 byBndWFyYW50ZWUgYWJvdmUgaXMgdHJ1ZS4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKCF0ZHhfY2Nf bWVtb3J5X2NvbXBhdGlibGUoc3RhcnRfcGZuLCBzdGFydF9wZm4gKyBucl9wYWdlcykpDQo+ID4g KwkJcmV0dXJuIC1FSU5WQUw7DQo+IA0KPiBhcmNoX2FkZF9tZW1vcnkoKSBkb2VzIG5vdCBhZGQg bWVtb3J5IHRvIHRoZSBwYWdlIGFsbG9jYXRvci7CoCBGb3INCj4gZXhhbXBsZSwgbWVtcmVtYXBf cGFnZXMoKSB1c2VzIGFyY2hfYWRkX21lbW9yeSgpIGFuZCBleHBsaWNpdGx5IGRvZXMgbm90DQo+ IHJlbGVhc2UgdGhlIG1lbW9yeSB0byB0aGUgcGFnZSBhbGxvY2F0b3IuwqANCg0KSW5kZWVkLiAg U29ycnkgSSBtaXNzZWQgdGhpcy4NCg0KPiBUaGlzIGNoZWNrIGJlbG9uZ3MgaW4NCj4gYWRkX21l bW9yeV9yZXNvdXJjZSgpIHRvIHByZXZlbnQgbmV3IG1lbW9yeSB0aGF0IHZpb2xhdGVzIFREWCBm cm9tIGJlaW5nDQo+IG9ubGluZWQuwqANCg0KVGhpcyB3b3VsZCByZXF1aXJlIGFkZGluZyBhbm90 aGVyICdhcmNoX2NjX21lbW9yeV9jb21wYXRpYmxlKCknIHRvIHRoZSBjb21tb24NCmFkZF9tZW1v cnlfcmVzb3VyY2UoKSAoSSBhY3R1YWxseSBsb25nIHRpbWUgYWdvIGhhZCBzdWNoIHBhdGNoIHRv IHdvcmsgd2l0aCB0aGUNCm1lbXJlbWFwX3BhZ2VzKCkgeW91IG1lbnRpb25lZCBhYm92ZSkuDQoN CkhvdyBhYm91dCBhZGRpbmcgYSBtZW1vcnlfbm90aWZpZXIgdG8gdGhlIFREWCBjb2RlLCBhbmQg cmVqZWN0IG9ubGluZSBvZiBURFgNCmluY29tcGF0aWJsZSBtZW1vcnkgKHNvbWV0aGluZyBsaWtl IGJlbG93KT8gIFRoZSBiZW5lZml0IGlzIHRoaXMgaXMgVERYIGNvZGUNCnNlbGYgY29udGFpbmVk IGFuZCB3b24ndCBwb2xsdXRlIHRoZSBjb21tb24gbW0gY29kZToNCg0KK3N0YXRpYyBpbnQgdGR4 X21lbW9yeV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICp2KQ0KK3sNCisg ICAgICAgc3RydWN0IG1lbW9yeV9ub3RpZnkgKm1uID0gdjsNCisNCisgICAgICAgaWYgKGFjdGlv biAhPSBNRU1fR09JTkdfT05MSU5FKQ0KKyAgICAgICAgICAgICAgIHJldHVybiBOT1RJRllfT0s7 DQorDQorICAgICAgIC8qDQorICAgICAgICAqIE5vdCBhbGwgbWVtb3J5IGlzIGNvbXBhdGlibGUg d2l0aCBURFguICBSZWplY3QNCisgICAgICAgICogb25saW5lIG9mIGFueSBpbmNvbXBhdGlibGUg bWVtb3J5Lg0KKyAgICAgICAgKi8NCisgICAgICAgcmV0dXJuIHRkeF9jY19tZW1vcnlfY29tcGF0 aWJsZShtbi0+c3RhcnRfcGZuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgbW4tPnN0YXJ0X3Bm biArIG1uLT5ucl9wYWdlcykgPyBOT1RJRllfT0sgOiBOT1RJRllfQkFEOw0KK30NCisNCitzdGF0 aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRkeF9tZW1vcnlfbmIgPSB7DQorICAgICAgIC5ub3Rp Zmllcl9jYWxsID0gdGR4X21lbW9yeV9ub3RpZmllciwNCit9Ow0KDQo+IEhvcGVmdWxseSB0aGVy ZSBpcyBhbHNvIGFuIG9wdGlvbiB0byBkaXNhYmxlIFREWCBmcm9tIHRoZQ0KPiBrZXJuZWwgYm9v dCBjb21tYW5kIGxpbmUgdG8gcmVjb3ZlciBtZW1vcnktaG90cGx1ZyB3aXRob3V0IG5lZWRpbmcg dG8NCj4gYm9vdCBpbnRvIHRoZSBCSU9TIHRvIHRvZ2dsZSBURFguDQoNCkkgYW0gZmluZS4NCg0K SGkgRGF2ZSwgaXMgaXQgT0sgdG8gaW5jbHVkZSBzdWNoIGNvbW1hbmQgbGluZSB0byB0aGlzIGlu aXRpYWwgVERYIHN1Ym1pc3Npb24/DQoNCg==