From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.39855.1674110008419201881 for ; Wed, 18 Jan 2023 22:33:29 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=iMiNKXR9; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674110009; x=1705646009; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MlmPDfCECZGd1ugNcEUJ2Ck6+LOnYaseiP0PGUgo2XU=; b=iMiNKXR9IiKHx2j8m3/9+W4gNBDM5ND0Rbry99DOehyPr6SzNdmufn0C A66JEWX32GQutprgCQIo6sB6eBzc900oKaUK22BdPweuWNgxYEktOH8vF nq7hQIQtJMgkqsekc/o4Vp0RuHiEsgY8syKtS43xZUZmmbAWekGZRoaQQ JlhsA78bl3csFPybcHfjKKiPl0H6q6lyUWUg0ocpjSXh3K0ROrW/dpsjF hJNG0zOBYDz210p0qhhvxmV5KY7v0FAiGPh6gqM1ppU2PbCMTIQfCnI1j yihLkdNLPZUtzt6I3X3WnruPzbRTY4cYmH0aJEvFAo3/KXhcfuB/59Qrq w==; X-IronPort-AV: E=McAfee;i="6500,9779,10594"; a="327282577" X-IronPort-AV: E=Sophos;i="5.97,228,1669104000"; d="scan'208";a="327282577" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jan 2023 22:33:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10594"; a="637572956" X-IronPort-AV: E=Sophos;i="5.97,228,1669104000"; d="scan'208";a="637572956" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga006.jf.intel.com with ESMTP; 18 Jan 2023 22:32:36 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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; Wed, 18 Jan 2023 22:32:32 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 18 Jan 2023 22:32:32 -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.2507.16 via Frontend Transport; Wed, 18 Jan 2023 22:32:32 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) 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.2507.16; Wed, 18 Jan 2023 22:32:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZHDaog3c6oLMqXJeaaWNB3ZG/J36RRyX5hVu//7nQq5soz/nKsx7ZSScSExRl1NU1CzM4cpdIpMnz2jPpe9cA1DVSC1Z36c/TsAqlRQOb04lBU4bPp/9gWBpQEAY5h6w8IpkxCY+FbCQGsWVLZLIpLkimqqfipLKMw8UVfgh4OSKDOLc8glxqMQxRnciNFVxOSTd2V7nrVgNSB1oCXMWLvsuFmn7dWqOY9bmSJ9u6EPq0iUSboSssLuh27SbF+zeP/l/fg2alSCZ938CbxafcdksSHbJ86JBtRFZEOGMicEAMRS59floaZ5l0I8DyYlSujv6WBSSAmSrwKE/K/jk0Q== 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=MlmPDfCECZGd1ugNcEUJ2Ck6+LOnYaseiP0PGUgo2XU=; b=K8WnXim1+cWXAy67WCSBdvcRvBwsPf12I0FugeGZp18bUrwQsUlznzDG2oFeTFVMH2qtcbooJAHWvlMtimaINFrndCWqBWpOoZwaqLmWyGzsIznaTihWUfIqE4M7eka9Xv7SfpUJdN+DU7nYFwPc2PqK9NRIC5yVqlRC2oCoXjNVZ5gurLyCy8tJwZmxwzFkKomhLyvkDg2puwOb7KAjmI+ULWfwFR8yidKm4TdpMbbQ5vnTjVWQhDZgGzzOZymMA3YSd5PTOgkPHo/TBV6KeO/Sjfp060SRFkm7ErRmGTD5aqMWCqTU2zW9eJ1qNwvFckFo4yQFYnZeEQ3vzaRyvg== 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 DM6PR11MB4025.namprd11.prod.outlook.com (2603:10b6:5:197::31) by PH0PR11MB5191.namprd11.prod.outlook.com (2603:10b6:510:3e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.23; Thu, 19 Jan 2023 06:32:24 +0000 Received: from DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::40d5:cf74:7d27:e4e6]) by DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::40d5:cf74:7d27:e4e6%7]) with mapi id 15.20.6002.025; Thu, 19 Jan 2023 06:32:17 +0000 From: "Wu, Hao A" To: Yuan Yu , "devel@edk2.groups.io" CC: Ard Biesheuvel , "Gao, Liming" , "Ni, Ray" , "C, sivaparvathi" Subject: Re: [PATCH v1 1/2] MdeModulePkg: Fix bug in ScsiBusDxe/ScsiBus.c Thread-Topic: [PATCH v1 1/2] MdeModulePkg: Fix bug in ScsiBusDxe/ScsiBus.c Thread-Index: AQHZKx0/lC8oA6l0TkSqmj33RgVHi66lQfYg Date: Thu, 19 Jan 2023 06:32:17 +0000 Message-ID: References: <20230118091402.931498-1-yuanyu@google.com> <20230118091402.931498-2-yuanyu@google.com> In-Reply-To: <20230118091402.931498-2-yuanyu@google.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4025:EE_|PH0PR11MB5191:EE_ x-ms-office365-filtering-correlation-id: 0aea6f36-a91c-4096-f3ea-08daf9e6e8fb 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: MIvn+Dh8bXSysOqdsnfcE/PPmypyXWHYARJ8geA5xPeMyHMlcDU1QUUB9Juf/k2yl0baaZpoKNOKFLqbMMezO2wiOTueFeR7dSBko/dtoGIjbYsL41J3m4Yv/IL8g+uTVNI5aq4fhLXora48AnoIDh7pjC1HXTL6CVEcmAEyW1YC8oH78D5hmJlA1jDERpaNVvdMWlyiFExa6IWSU98lpkFeq37FPKT3WyQDKjKiMR1+ag0HynkupdN/3cTf4v4KaoKcQ5ZJ6VIlb1zZdgj9iNVQQ79quz9B12CUg/lBGYqbX6SuGsbUN7j2pdJmvfImBHWTBrrYCQKCm2YcZOt2a+kzeYGofBgZeE4xbm73lElug/E8HtuT2BQ2GjquEOF3nWiKNM/npinLgNyZx40kR3Vr/C8iTW3MeuvSEDaEL8s+jiGssB3gig7R+ygYOJlnzRIoX7B401lNC1b9tbl/aOm+/WVPAW1t0rNQ+rDElCyOl4OTqKLpCh0OqmJK9B3jQgUEsnUGzFa6yP+Kw0ePAVyFZkFzp4SQUvRwSS/ge0ANYH09y1XXXL6R4SU19x0pgIOInTTic4WzMtElWn3j/ydUPgSdbB0+gnztwpfMJgbpAEAXSuD9zIfh1Lq8I5LHWYFwD8bJ62JPJaWPRVj98KeIuQtwsnnCtd0GMtp6paShZHwTN0j0UVFTQ99/HpQzt6hQrBubcwgDjop3u4zVjQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4025.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(136003)(396003)(39860400002)(376002)(451199015)(82960400001)(38100700002)(122000001)(55016003)(38070700005)(52536014)(64756008)(66446008)(5660300002)(8676002)(41300700001)(8936002)(66946007)(66476007)(66556008)(76116006)(86362001)(4326008)(2906002)(478600001)(54906003)(53546011)(110136005)(186003)(71200400001)(9686003)(7696005)(316002)(26005)(83380400001)(33656002)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dmFXMGJkblNFbVUyYWIwU2lkNlVYRlU0VUV4ZmpjcTFjYnRnSytOTTJ1eGlH?= =?utf-8?B?SndiUFhZRFNxdjhseHBWbWZ3Y3pXVlBnaGZtMW0rTXROeDdiamV3QlZuS0J1?= =?utf-8?B?NXB6V041SHB6MW1jR3JwdGlTQzVqdFhBcDZOOUd6TzRzY2xGdlY1MXp5OVhL?= =?utf-8?B?RDl1dmU1MWJEOUQxWVNsUTlDbzNndHFnWExJQWw0OTJpd2E3T3FzNStuY1BF?= =?utf-8?B?SlBGSU5aZFloL1E4VVpFbjM1Mi9peThNc241OEJYNlFuZEtnSndjTnBlR3VX?= =?utf-8?B?aHlHN3o3MHRSNlFyNmJtbW1idyt2TFhRaTlHbmlNZVB2TnJiMWpIbDZieTV5?= =?utf-8?B?WWlOdi93WEFrd2RXZWxEMFg2dGU0dkY3NlVRcWRFZnZEOUhOUnd3ZjFGTS9F?= =?utf-8?B?NDFOY0ROSUNQekJLMk1BYXlkK2djNjFqcCt5Q1lpSTZXRS8zVS9VS3ZvdlRx?= =?utf-8?B?VHR3TDhuTDhac3BialVLSk1MclRETEVxS1hjbXhiY2laWHhEbUlYdk81bmJZ?= =?utf-8?B?YnlQVjEzU3ZGVkVRVGt1bWFuQm0wSnR2OEk4TDYzVmRMSTBZa0dMMkhvNHdi?= =?utf-8?B?TktJa2F0V2F2aGYwc3JKVVhlUDZRb0pGOWNPQ2JZb2VyYS9rRXp2NXZVWDJR?= =?utf-8?B?TEZHbFlVUm1qVDdjMzNOb3FYVXR3dEQ3REI1eFYyVi85SmlueHFuaWh0YXc2?= =?utf-8?B?SWNBWThkb2xMM09PUWhCenFjMmRTOWFZTnE2R3paYUZ6TktmTS83d0VWd2Jv?= =?utf-8?B?M2lic3lpa25pWFBKSzJkeWlsZFd0dEQ0R2JpUmZsV0VmVklkSkdMUStuS095?= =?utf-8?B?bUZPbmd3bVM5YWQ1eHdGa2d0RnRVbHY2MjJERWlkUjNrWlc3N3U5dVJHbEVH?= =?utf-8?B?WjBodjljRFZYVkZQcVl5eGtzeXg2RlB2V3J4UDBiSXNoY1NoYTlxRmwvWDdt?= =?utf-8?B?MUVQaVFmekhObFU0MXRkTDJuMWZtR0xDb1NsMzZyUEJhRmtsNlF1UmZkcjNX?= =?utf-8?B?djNQU3hiSE43bVpRbVlCeEhiTE1JY2VmalN3WXcyTjR0dDZxdWNDSmdHaE53?= =?utf-8?B?b0d0cjczN1B5SEdBUWk1UUMvL29iTzlMaW9ZYW44TlRvcFZEZUk1aWVKTlZ5?= =?utf-8?B?ODlSWmtkZmFiQTUySy9Kd1VTZHA0MWdwTjBJUmluRGxFRHhpZFAwaGYvYmU1?= =?utf-8?B?RmRZKytVNmNSRzNqdEJ5dWdzdUhPZXVKckRzTFpDV1FkaHFxK1JqYWZYWWJ5?= =?utf-8?B?NzRETXVkVDN2aHR6K2t3WDUzU1F0OWpjK3hlbEIxYURMWWF5TDVvMVVZd1lX?= =?utf-8?B?eklKZUY3M3orcXM1THE5T2VKeEJpWHF3bmJmL3ptM2JFb0ZzQnhSMHJkSXFS?= =?utf-8?B?SkcxYmk5WU1sZ3VFWEUySFREMG5BbitCcWJMNjBmT3oxZmZ6cGY5SERtUHBM?= =?utf-8?B?aGUyeXltbGF4clVOb2didjhTenEwckxmMzF4WGIwblBzRkEyYVVaVy9kZWYv?= =?utf-8?B?eDc2SjFPdGFpZzJQL01zcVBDUFR4a00zWmpYdXVNUzVPUVZZT1psNTNXOWta?= =?utf-8?B?d2Rnc1prL3NVakRSZkVrVWlBZnJxNkJKRk13MkwrMkpha3VONnI5c05IV1VM?= =?utf-8?B?anBaYmtCRjVYaU9hWjB4VVhQSGs2QWprZzdBSERkS2JNN2w3TUhjV0JDT1Vx?= =?utf-8?B?L0dkQlZqRWlXdm1Lb0FjQlN0VURpZmFBZFRxdDRsV0VzVW9uQXhVRFZRKy9R?= =?utf-8?B?aWJOUkpoZGRpZ2huczZVamhmTjNwTER2UU45RHNoMlhYcEUyR1ArckFqQ2tE?= =?utf-8?B?WkZJVVNibnlIeDl6TnVobTVHT3BoVWdTK0hKdFMvelNkbHFmMkt0NzUzdVhY?= =?utf-8?B?MXlxMEU0N2VMMVVEbnJKZHRkaGZlVHhTckhTcTlvNTJUU21wUGtyMkRpdlla?= =?utf-8?B?bjFJMGQwdzBOUXR1UXVQQlg4eFRJMXNDeDNFNVpQNzk2YXp5ckQ1a1JVQU5F?= =?utf-8?B?Y3p6Y0xYUHRiSktmNVc0K3oycjB6L1dMSDhiRWtic0QwSG5RanBCbmpsSVJ1?= =?utf-8?B?dGFFUFN5QlQveWdaQU1Ma2plKzJkRHpmak1JQjJ0clp5ZlFOSEx2WUo0K1ZW?= =?utf-8?Q?5nONCxVZ/HdELDuNgvLkvE0xX?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4025.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0aea6f36-a91c-4096-f3ea-08daf9e6e8fb X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2023 06:32:17.2498 (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: pEZ2Fral5As9ovdSu46m8ndokgsaG9kYWl0FjsGcjMpedUuU4SwuqnesD/xRFHzk2aZtbxJrTfD4inm0qWFYdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5191 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgcGF0Y2gsIGlubGluZSBjb21tZW50cyBiZWxvdzoNCg0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFl1YW4gWXUgPHl1YW55dUBnb29nbGUuY29t Pg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMTgsIDIwMjMgNToxNCBQTQ0KPiBUbzogZGV2 ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBr ZXJuZWwub3JnPjsgR2FvLCBMaW1pbmcNCj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IFd1 LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJheQ0KPiA8cmF5Lm5pQGludGVsLmNv bT47IEMsIHNpdmFwYXJ2YXRoaSA8c2l2YXBhcnZhdGhpY0BhbWkuY29tPg0KPiBTdWJqZWN0OiBb UEFUQ0ggdjEgMS8yXSBNZGVNb2R1bGVQa2c6IEZpeCBidWcgaW4gU2NzaUJ1c0R4ZS9TY3NpQnVz LmMNCj4gDQo+IEEgd2hpbGUgbG9vcCBpbiBTQ1NJQnVzRHJpdmVyQmluZGluZ1N0YXJ0KCkgaXMg c3VwcG9zZWQgdG8gc2NhbiBhbGwgdGhlDQo+IHBvc3NpYmxlIFB1bnMgaW4gdGhlIFNDU0kgY2hh bm5lbCBieSBjYWxsaW5nIFNjc2lTY2FuQ3JlYXRlRGV2aWNlKCkgZm9yDQo+IGVhY2ggb2YgdGhl bS4gVGhlcmVmb3JlLCB3ZSBzaG91bGQgbm90IGFib3J0IHRoZSBsb29wIGV2ZW4gd2hlbiBvbmUg b2YNCj4gdGhlIFB1bnMgaXMgZGlzY29ubmVjdGVkLg0KPiANCj4gVGhlIGZvbGxvd2luZyBpcyBv bmUgb2YgdGhlIHNjZW5hcmlvcy4NCj4gDQo+IFNDU0lCdXNEcml2ZXJCaW5kaW5nU3RhcnQoKQ0K PiA+IFNjc2lTY2FuQ3JlYXRlRGV2aWNlKCkNCj4gICA+IERpc2NvdmVyU2NzaURldmljZSgpDQo+ ICAgICA+IFNjc2lJbnF1aXJ5Q29tbWFuZCgpDQo+ICAgICAgID4gLi4uDQo+ICAgICAgICAgPiBQ YXJzZVJlc3BvbnNlKCkNCj4gDQo+IFdoZW4gdmlydGlvLXNjc2kgcmV0dXJucyBWSVJUSU9fU0NT SV9TX0JBRF9UQVJHRVQsIFBhcnNlUmVzcG9uc2UoKSBpbg0KPiBWaXJ0aW9TY3NpLmMgd2lsbCBy ZXR1cm4gRUZJX1RJTUVPVVQ6DQo+IA0KPiAgICAgY2FzZSBWSVJUSU9fU0NTSV9TX0JBRF9UQVJH RVQ6DQo+ICAgICAgIC8vDQo+ICAgICAgIC8vIFRoaXMgaXMgbm9uLWludHVpdGl2ZSBidXQgZXhw bGljaXRseSByZXF1aXJlZCBieSB0aGUNCj4gICAgICAgLy8gRUZJX0VYVF9TQ1NJX1BBU1NfVEhS VV9QUk9UT0NPTC5QYXNzVGhydSgpIHNwZWNpZmljYXRpb24gZm9yDQo+ICAgICAgIC8vIGRpc2Nv bm5lY3RlZCAoYnV0IG90aGVyd2lzZSB2YWxpZCkgdGFyZ2V0IC8gTFVOIGFkZHJlc3Nlcy4NCj4g ICAgICAgLy8NCj4gICAgICAgUGFja2V0LT5Ib3N0QWRhcHRlclN0YXR1cyA9DQo+ICAgICAgICAg RUZJX0VYVF9TQ1NJX1NUQVRVU19IT1NUX0FEQVBURVJfVElNRU9VVF9DT01NQU5EOw0KPiAgICAg ICByZXR1cm4gRUZJX1RJTUVPVVQ7DQo+IA0KPiBUaGlzIHdpbGwgZXZlbnR1YWxseSBjYXVzZSBE aXNjb3ZlclNjc2lEZXZpY2UoKSB0byByZXR1cm4gRkFMU0UsIHdoaWNoDQo+IHdpbGwgY2F1c2Ug U2NzaVNjYW5DcmVhdGVEZXZpY2UoKSB0byByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM6DQo+ IA0KPiAgIGlmICghRGlzY292ZXJTY3NpRGV2aWNlIChTY3NpSW9EZXZpY2UpKSB7DQo+ICAgICBT dGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gICAgIGdvdG8gRXJyb3JFeGl0Ow0KPiAg IH0NCg0KDQpJIHRoaW5rIHdoZW4gRGlzY292ZXJTY3NpRGV2aWNlKCkgcmV0dXJucyBGQUxTRSwg aXQgKHRoZSBjdXJyZW50IGNvZGUgaW1wbGVtZW50YXRpb24pIGlzIGltcHJvcGVyDQp0byBzaW1w bHkgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTLg0KDQpNeSB0YWtlIGlzIHRoYXQsIHVuZGVy IHRoZSBzY29wZSBvZiB0aGUgU0NTSSBkcml2ZXIsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIHNob3Vs ZCBiZSB1c2VkIGFzIHJldHVybg0Kc3RhdHVzIHdoZW4gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHMg KGR1ZSB0byBpbnN1ZmZpY2llbnQgZnJlZSBtZW1vcnkpLg0KDQpCdXQgd2hlbiBEaXNjb3ZlclNj c2lEZXZpY2UoKSByZXR1cm5zIEZBTFNFLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgdGhlIGNhdXNl IGlzIFNDU0kgY29tbWFuZA0KZXhlY3V0aW9uIGZhaWx1cmUgbGlrZSB5b3UgbWVudGlvbmVkIGFi b3ZlLg0KDQpTbyBteSByZWNvbW1lbmRhdGlvbiBpcyB0byByZWZpbmUgdGhlIGludGVyZmFjZSBm b3IgRGlzY292ZXJTY3NpRGV2aWNlKCkgdG8gcmV0dXJuIGFjY3VyYXRlIHN0YXR1cw0Kb2YgdGhl IGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24sIGxpa2UNCiogRUZJX1NVQ0NFU1MgZm9yIGRldmlj ZSBzdWNjZXNzZnVsbHkgZGlzY292ZXJlZDsNCiogRUZJX09VVF9PRl9SRVNPVVJDRVMgZm9yIG1l bW9yeSBhbGxvY2F0aW9uIGZhaWx1cmU7DQoqIEVGSV9OT1RfRk9VTkQgZm9yIGNhc2VzIHdoZW46 DQogICAgYSkgU0NTSSBjb21tYW5kIGV4ZWN1dGlvbiBmYWlsdXJlIG9yDQogICAgYikgUmV0dXJu IGRhdGEgb2YgdGhlIGNvbW1hbmQgaW5kaWNhdGVzIG5vIGRldmljZQ0KDQpNYXliZSB0aGUgcmVm aW5lZCBpbnRlcmZhY2UgY2FuIGxvb2sgbGlrZToNCkVGSV9TVEFUVVMNCkRpc2NvdmVyU2NzaURl dmljZSAoDQogIElOIE9VVCAgU0NTSV9JT19ERVYgICpTY3NpSW9EZXZpY2UNCiAgKQ0KDQpUaGUg Y2FsbGVyIG9mIERpc2NvdmVyU2NzaURldmljZSgpIHdpbGwgcmV0dXJuIHByb3BlciBzdGF0dXMg cmF0aGVyIHRoYW4gc2ltcGx5IHJldHVybmluZw0KRUZJX09VVF9PRl9SRVNPVVJDRVMgd2hlbiBk ZXZpY2UgZGlzY292ZXJ5IGZhaWxzLg0KDQoNClRoZSByZWFzb24gZm9yIHRoZSBiZWxvdyBsb2dp YyBpbiBTQ1NJQnVzRHJpdmVyQmluZGluZ1N0YXJ0KCk6DQoNCiAgICBTdGF0dXMgPSBTY3NpU2Nh bkNyZWF0ZURldmljZSAoVGhpcywgQ29udHJvbGxlciwgJlNjc2lUYXJnZXRJZCwgTHVuLCBTY3Np QnVzRGV2KTsNCiAgICBpZiAoU3RhdHVzID09IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTKSB7DQogICAg ICBnb3RvIEVycm9yRXhpdDsNCiAgICB9DQoNCmlzIHRoYXQgaXQgZXhwZWN0cyBTY3NpU2NhbkNy ZWF0ZURldmljZSgpIHRvIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUyBhcyBhbiBpbmRpY2F0 aW9uIG9mIGxhY2sNCm9mIG1lbW9yeSByZXNvdXJjZSBpbiB0aGUgc3lzdGVtLiBVbmRlciBzdWNo IHNpdHVhdGlvbiwgc3Vic2VxdWVudCBtZW1vcnkgYWxsb2NhdGlvbnMgYXJlIHZlcnkgbGlrZWx5 DQp0byBmYWlsIGFzIHdlbGwsIHNvIHRoZXJlIGlzIGxpdHRsZSB2YWx1ZSBpbiBjb250aW51aW5n IHRoZSBsb29wIGZvciBmdXJ0aGVyIGRldmljZSBkaXNjb3ZlcnkuDQoNCg0KQmVzdCBSZWdhcmRz LA0KSGFvIFd1DQoNCg0KPiANCj4gSW4gc3VtLCAiZGlzY29ubmVjdGVkIChidXQgb3RoZXJ3aXNl IHZhbGlkKSB0YXJnZXQgLyBMVU4gYWRkcmVzc2VzIiBjYW4NCj4gcmVzdWx0IGluIEVGSV9PVVRf T0ZfUkVTT1VSQ0VTIGFuZCB3aGVuIHRoaXMgaGFwcGVucyB0aGUgd2hpbGUgbG9vcCBpbg0KPiBT Q1NJQnVzRHJpdmVyQmluZGluZ1N0YXJ0KCkgc2hvdWxkIGNvbnRpbnVlLCBub3QgYWJvcnQuDQo+ IA0KPiBXaXRob3V0IHRoaXMgZml4LCB0aGUgbG9vcCBjYW4gdGVybWluYXRlIHByZW1hdHVyZWx5 IHdpdGggZ29vZCBkZXZpY2VzDQo+IG5vdCBoYXZpbmcgYSBjaGFuY2UgdG8gYmUgZGlzY292ZXJl ZC4gSWYgdGhpcyBnb29kIGRldmljZSBpcyB0aGUgYm9vdA0KPiBkZXZpY2UsIGJvb3Qgd2lsbCBm YWlsLg0KPiANCj4gQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3Jn Pg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogSGFv IEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gQ2M6IFJheSBOaSA8cmF5Lm5pQGludGVsLmNv bT4NCj4gQ2M6IFNpdmFwYXJ2YXRoaSBjaGVsbGFpYWggPHNpdmFwYXJ2YXRoaWNAYW1pLmNvbT4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IFl1YW4gWXUgPHl1YW55dUBnb29nbGUuY29tPg0KPiAtLS0N Cj4gIE1kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhlL1Njc2lCdXMuYyB8IDMgLS0tDQo+ ICAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9NZGVN b2R1bGVQa2cvQnVzL1Njc2kvU2NzaUJ1c0R4ZS9TY3NpQnVzLmMNCj4gYi9NZGVNb2R1bGVQa2cv QnVzL1Njc2kvU2NzaUJ1c0R4ZS9TY3NpQnVzLmMNCj4gaW5kZXggZmJlMTRjNzcyNDk2Li4yZWQ4 MTZkYTRhYmUgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhl L1Njc2lCdXMuYw0KPiArKysgYi9NZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2NzaUJ1c0R4ZS9TY3Np QnVzLmMNCj4gQEAgLTUzMyw5ICs1MzMsNiBAQCBTQ1NJQnVzRHJpdmVyQmluZGluZ1N0YXJ0ICgN Cj4gICAgICAvLyB0aGVuIGNyZWF0ZSBoYW5kbGUgYW5kIGluc3RhbGwgc2NzaSBpL28gcHJvdG9j b2wuDQo+ICAgICAgLy8NCj4gICAgICBTdGF0dXMgPSBTY3NpU2NhbkNyZWF0ZURldmljZSAoVGhp cywgQ29udHJvbGxlciwgJlNjc2lUYXJnZXRJZCwgTHVuLA0KPiBTY3NpQnVzRGV2KTsNCj4gLSAg ICBpZiAoU3RhdHVzID09IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTKSB7DQo+IC0gICAgICBnb3RvIEVy cm9yRXhpdDsNCj4gLSAgICB9DQo+ICAgIH0NCj4gDQo+ICAgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gLS0NCj4gMi4zOS4wLjMxNC5nODRiOWE3MTNjNDEtZ29vZw0KDQo=