From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D59C2A0A0A; Fri, 22 Jan 2021 09:02:37 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BB92C140D67; Fri, 22 Jan 2021 09:02:37 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 05427140CFC for ; Fri, 22 Jan 2021 09:02:34 +0100 (CET) IronPort-SDR: mvkmBx44qR2aLOw8xk78vSy4Xw7sKVsk3Mzj5y+d75B6evo4VEssjr1beMBAIVK5A2z0r23KmM RcVvg7yPWbZg== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="264227687" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="264227687" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jan 2021 00:02:33 -0800 IronPort-SDR: cFpBeWxFuTOPD6+SG6Sglu2Gl7OEh3VZtpkRhcg0nI1cL2k1PMo9s1oHHO0G69HEjfN5+9H6Xp u0O4LnIBawOQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="403513601" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga002.fm.intel.com with ESMTP; 22 Jan 2021 00:02:32 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 22 Jan 2021 00:02:32 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 22 Jan 2021 00:02:32 -0800 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.55) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 22 Jan 2021 00:02:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a2/IUlqX4lfmOH8Fs+CHMaGRHmLaLwxLG+fLMeDT9zhz3PnyNyu83wDv3PP8l0S3i+hYBcVw6r7x/MZXG+iZcPV0eF1KfYfHjHpFU4B4P8oOo9Qtg7UsG+QyrePhn/SWSIbepColGSru65pd3Y1T7uBAIt6/I+usLOWFy+SHgv3dcz8VS8lJ6mTDy3IhxVBQby2m/GhjdWNP2kMetwyHPGJecbqpQOwppvuHcLgzE+XnFVKyktYJYVAi1Za7g0MYtd50rEbz9Y//N2i3t84clktl7ryOWqYPK59pBjy0fiBhd5X0TztIUToCFg5BJNxejdazfojiMRyOVxc6LfoUuA== 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-SenderADCheck; bh=8CFC+cQAOys33aNW4ujo/mVi489cKi6JDfrJqpYd2oA=; b=hoD/rh9UyB80OIVDdDTqjEBDeUHqjoTr2KukKNnWtZxr5ldNiN0/tkbc3LVVoxbcE5QOzAaL98uRhIxstjb5yd+JKh7KVN8HZjJcOu8GVsi1ZBBER4vITI3u17gnk3B7j474TPWS68PL1ZXCwjkf7TgI0LiBrfSkf+iy0PtuTirwvhcd7jDaJl6iN3KHbvmJyA6LkjXVd5wMM+waZNEtwiDzPBcMMS54/yHsmua8b5puer17BtA4S2e+M88OAVyvjP35HKZD8S99sbtMGFuGe0L8+UX0Nj2EfwSE3sjzplTX4oAOEUFYYqgUhaxnWowVkVvhFhP3LPvDYiXIa11PSg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8CFC+cQAOys33aNW4ujo/mVi489cKi6JDfrJqpYd2oA=; b=Tq0h9UvR/8t5jhRjn/0KfSzlmCu7sehr+n0GVF4ePp3ChkaGVp1piKOlUnqbVkkWYND/w/mi2qPlfbiEmq/tQ0UO/huXW5bCkSzTK2wdh4ISjQl+fReXVd5pF7IFPgicp4IvwFDWq6tTlQ3jGKkUdGLW5ImLLyqZbSiPdC1Ka2o= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3886.namprd11.prod.outlook.com (2603:10b6:208:137::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.12; Fri, 22 Jan 2021 08:02:29 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed%7]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 08:02:29 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v2 33/44] net/virtio: add Virtio-user status ops Thread-Index: AQHW7qn+6nvJgVVzB0yUZKCAsWMbb6ozTHpA Date: Fri, 22 Jan 2021 08:02:29 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-34-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-34-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2b87bce6-da3e-42ca-ee88-08d8beac10a9 x-ms-traffictypediagnostic: MN2PR11MB3886: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:52; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cv8UMqibqN2mC/nlqB0os6evRUSL4aSHbkeZphvo1PbEbgH2s39gl8e4GWuGdKUYe3TlqO9WvApALb30fv4pW8q3LJID/0BbYtcS+LcvFObyVItANiMtu3Fz2e/uHLQ+hMtJ3sGUMX1aud7Gs1v8Ad+AgF7ZJUWHDJO4RD2nTXiIjb6CejxlqLR5KRfsxj8ax4fIVeeKgcjWsAdsSax+Pqj/yMaqPRN32NAK2CbKF8D4oQ84FZCiVrAf6M/814f0uc7VPg42WikstVy7WDNXT+tFCtVDifIEm7Sdf6IuDMQErBMcOupEyZj8/qcwqW3kdz31fFKkhTlIgcTc4F7D0hq9ynWjhcW/qZoET9GlpA33M5ev92Hfi0Q991CvJOfwBUNCsUHMl8q393hEJjitaw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(136003)(366004)(39860400002)(346002)(478600001)(52536014)(6506007)(83380400001)(33656002)(5660300002)(55016002)(8676002)(9686003)(8936002)(53546011)(86362001)(26005)(30864003)(71200400001)(186003)(2906002)(316002)(7696005)(76116006)(110136005)(66446008)(64756008)(66556008)(66476007)(66946007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Y1dBNWcyWkdhSEl4Vm9GclREZXRncjM5dHcyR0tMcnVsYTNQVUJhaDNnK1lZ?= =?utf-8?B?MkRBVXhLdFZJeEhwbXNzNVpQeDk4TzB0eFdqc01DeXQ0bFFVK2s5bDQrVEZj?= =?utf-8?B?Y0RBRkdMUlVxWkZlNFhQM25uRG1tOSs5aHdteGxVdGc0MUZzdXRNMkxZSFZ4?= =?utf-8?B?UmdZSkFUOG9FWXZZRVl4S1cvS0pGOW5nYlB4VTVpWUtMeGY1dzRnWUhiOVk5?= =?utf-8?B?MTA1NTlxNmtzYWdCY2tIdzVEZFRJZUNmV0s3OVVRM05XVGw1U1V4V21Lcng4?= =?utf-8?B?NFh2Yms4R1dNT0J4Y015S2ljVDdmZEFsOXlsZHJPdUN4QWg5ekhWWnltNDR0?= =?utf-8?B?OFpTTFN1bDZEeXNwWHA4OHRzKzJtWGZIc1ZZbHE0UU91VGJrLzBvMURsZ0xa?= =?utf-8?B?NHd1R1NnUzlEUnZjMlJHMzMxSzBWZmlEYlArVUF4Q2dncVVIaVE5YnhGN25O?= =?utf-8?B?L29CUzZJTTNWWFJxOWtmanVYWkVLQUNiMmFlOEZQeDZBWXdCOXI3UFVxRmtC?= =?utf-8?B?ZWlhQm5CdXlDNXRYek1rNVNqZE5QRjRBUHpZdDVCa1k4Mmdpc091WVlINUEx?= =?utf-8?B?V29ncXV5NUVNdU1lZFMxM29EaDVsdXV0ZW5ubUVSazVCVkRWQzBxNzFGVnh2?= =?utf-8?B?ejh3dElxMFhlSFAvMHhRdndRTk92UFl2ZXN2MmMzS3hZT1pNTHBvM0l5SkV2?= =?utf-8?B?TUF0anMwMjlyVDdTWjJPSGJzTVlrYkhqTnF0TytnRy9NQWwxY3V4YUprZzVk?= =?utf-8?B?NnBBRldMQVNUdFRuRG1wdm10TE5jbTF3bW55T3R4VmljaC9LSWxFamxYaTk1?= =?utf-8?B?R3IxdEtCUGducnBwSnlmeHZaZnBmaml4cmxWSUxmK282eUNPeSt1d050WjdG?= =?utf-8?B?N0p6NlhqOG9FVDZ6R21SUjNEZDlCZnZqWHhKL1FCb3NaV084aUc5SnIvOGg3?= =?utf-8?B?ZTQ2OUs2YmJVMHhMZGFXV1hsRDE0QVNpL29IZ1k0ZGFtdFR0Z0h6bWtVV0lQ?= =?utf-8?B?czBhNVJ6Q0tveURodkhDbXFEZjcza1JadUI2UlBSNXFiTFRkM3NvdWNMTGJC?= =?utf-8?B?UWNrYXJGQ2lLeEQ0ZGtqYVJ4SHVyN01ra0F1ZENNd2gweGtNTWVqR016a2lB?= =?utf-8?B?T0tTMFNDQmF3QlFWR2h2OGdxemFIbHlJTEZOY0N6YWtTTmFMQTE2NWx0K1Ft?= =?utf-8?B?VVRjV3BpK1FCZ1Z4RXhET2VCclhGYlBVVDZuUk9mZHB1ZU0zamJtWmpBYWps?= =?utf-8?B?dkVHbUlQUU1DQk5Qa1Y0dzBnemsyZjRDejFoSmF0Ri9BZDFlNDIyb0o4UzFF?= =?utf-8?Q?+MEyvSvB222Is=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b87bce6-da3e-42ca-ee88-08d8beac10a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 08:02:29.4660 (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: s9qyzvoSiiNlCvA4ZhyJINIPualjjHj1/efWHheh3Wc1swUPBqhrxfOSJEToJXCoun+3L2G2n5+GbTyqtrk0qA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3886 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 33/44] net/virtio: add Virtio-user status ops X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMjAs IDIwMjEgNToyNSBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9yZW5vekByZWRoYXQu Y29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUgQ29xdWVsaW4gPG1h eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjIgMzMvNDRdIG5l dC92aXJ0aW86IGFkZCBWaXJ0aW8tdXNlciBzdGF0dXMgb3BzDQo+IA0KPiBUaGlzIHBhdGNoIGlu dHJvZHVjZXMgbmV3IGNhbGxiYWNrcyB0bw0KPiBnZXQgYW5kIHNldCB0aGUgZGV2aWNlIHN0YXR1 cy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGlu QHJlZGhhdC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zo b3N0LmggICAgICAgIHwgICAyICsNCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92 aG9zdF9rZXJuZWwuYyB8ICAxNCArKw0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3Zob3N0X3VzZXIuYyAgIHwgMTIxICsrKysrKysrKysrKystLS0tLQ0KPiAgZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYyAgIHwgIDE2ICsrLQ0KPiAgLi4uL25ldC92 aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMgIHwgIDQyICsrLS0tLQ0KPiAgNSBm aWxlcyBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pDQo+IA0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0LmgNCj4gYi9k cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBpbmRleCAxOTA0MGRmZGMy Li5jODk2ZjA4MzZkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmhvc3QuaA0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Qu aA0KPiBAQCAtMTIxLDYgKzEyMSw4IEBAIHN0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB7 DQo+ICAJaW50ICgqc2V0X3ZyaW5nX2NhbGwpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwg c3RydWN0DQo+IHZob3N0X3ZyaW5nX2ZpbGUgKmZpbGUpOw0KPiAgCWludCAoKnNldF92cmluZ19r aWNrKShzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHN0cnVjdA0KPiB2aG9zdF92cmluZ19m aWxlICpmaWxlKTsNCj4gIAlpbnQgKCpzZXRfdnJpbmdfYWRkcikoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LCBzdHJ1Y3QNCj4gdmhvc3RfdnJpbmdfYWRkciAqYWRkcik7DQo+ICsJaW50ICgq Z2V0X3N0YXR1cykoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50OF90ICpzdGF0dXMp Ow0KPiArCWludCAoKnNldF9zdGF0dXMpKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWlu dDhfdCBzdGF0dXMpOw0KPiAgCWludCAoKnNlbmRfcmVxdWVzdCkoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LA0KPiAgCQkJICAgIGVudW0gdmhvc3RfdXNlcl9yZXF1ZXN0IHJlcSwNCj4gIAkJ CSAgICB2b2lkICphcmcpOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3Zob3N0X2tlcm5lbC5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3Zob3N0X2tlcm5lbC5jDQo+IGluZGV4IDU2NmY0MmYwY2IuLmQ4NTM1OGZjMzQgMTAwNjQ0DQo+ IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWwuYw0KPiAr KysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMNCj4gQEAg LTMxNiw2ICszMTYsMTggQEAgdmhvc3Rfa2VybmVsX3NldF92cmluZ19hZGRyKHN0cnVjdCB2aXJ0 aW9fdXNlcl9kZXYgKmRldiwNCj4gc3RydWN0IHZob3N0X3ZyaW5nX2FkZHINCj4gIAlyZXR1cm4g MDsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF9rZXJuZWxfZ2V0X3N0YXR1cyhz dHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYgX19ydGVfdW51c2VkLCB1aW50OF90DQo+ICpzdGF0 dXMgX19ydGVfdW51c2VkKQ0KPiArew0KPiArCXJldHVybiAtRU5PVFNVUDsNCj4gK30NCj4gKw0K PiArc3RhdGljIGludA0KPiArdmhvc3Rfa2VybmVsX3NldF9zdGF0dXMoc3RydWN0IHZpcnRpb191 c2VyX2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdWludDhfdA0KPiBzdGF0dXMgX19ydGVfdW51c2Vk KQ0KPiArew0KPiArCXJldHVybiAtRU5PVFNVUDsNCj4gK30NCj4gKw0KPiAgc3RhdGljIHVpbnQ2 NF90IHZob3N0X3JlcV91c2VyX3RvX2tlcm5lbFtdID0gew0KPiAgCVtWSE9TVF9VU0VSX1JFU0VU X09XTkVSXSA9IFZIT1NUX1JFU0VUX09XTkVSLA0KPiAgfTsNCj4gQEAgLTQ4Nyw2ICs0OTksOCBA QCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc19rZXJuZWwgPSB7DQo+ ICAJLnNldF92cmluZ19jYWxsID0gdmhvc3Rfa2VybmVsX3NldF92cmluZ19jYWxsLA0KPiAgCS5z ZXRfdnJpbmdfa2ljayA9IHZob3N0X2tlcm5lbF9zZXRfdnJpbmdfa2ljaywNCj4gIAkuc2V0X3Zy aW5nX2FkZHIgPSB2aG9zdF9rZXJuZWxfc2V0X3ZyaW5nX2FkZHIsDQo+ICsJLmdldF9zdGF0dXMg PSB2aG9zdF9rZXJuZWxfZ2V0X3N0YXR1cywNCj4gKwkuc2V0X3N0YXR1cyA9IHZob3N0X2tlcm5l bF9zZXRfc3RhdHVzLA0KPiAgCS5zZW5kX3JlcXVlc3QgPSB2aG9zdF9rZXJuZWxfc2VuZF9yZXF1 ZXN0LA0KPiAgCS5lbmFibGVfcXAgPSB2aG9zdF9rZXJuZWxfZW5hYmxlX3F1ZXVlX3BhaXINCj4g IH07DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rf dXNlci5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYw0K PiBpbmRleCBjYTcwYThhNGU3Li5jYjBjZDFjZWE4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdXNlci5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fdXNlci92aG9zdF91c2VyLmMNCj4gQEAgLTU1OSwxMyArNTU5LDEwMCBAQCB2 aG9zdF91c2VyX3NldF92cmluZ19hZGRyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4g c3RydWN0IHZob3N0X3ZyaW5nX2FkZHIgKg0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiANCj4gK3N0 YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfZ2V0X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYsIHVpbnQ4X3QgKnN0YXR1cykNCj4gK3sNCj4gKwlpbnQgcmV0Ow0KPiArCXN0cnVjdCB2 aG9zdF91c2VyX21zZyBtc2cgPSB7DQo+ICsJCS5yZXF1ZXN0ID0gVkhPU1RfVVNFUl9HRVRfU1RB VFVTLA0KPiArCQkuZmxhZ3MgPSBWSE9TVF9VU0VSX1ZFUlNJT04sDQo+ICsJfTsNCj4gKw0KPiAr CS8qDQo+ICsJICogSWYgZmVhdHVyZXMgaGF2ZSBub3QgYmVlbiBuZWdvdGlhdGVkLCB3ZSBkb24n dCBrbm93IGlmIHRoZSBiYWNrZW5kDQo+ICsJICogc3VwcG9ydHMgcHJvdG9jb2wgZmVhdHVyZXMN Cj4gKwkgKi8NCj4gKwlpZiAoIShkZXYtPnN0YXR1cyAmIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZF QVRVUkVTX09LKSkNCj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPiArDQo+ICsJLyogU3RhdHVzIHBy b3RvY29sIGZlYXR1cmUgcmVxdWlyZXMgcHJvdG9jb2wgZmVhdHVyZXMgc3VwcG9ydCAqLw0KPiAr CWlmICghKGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RP Q09MX0ZFQVRVUkVTKSkpDQo+ICsJCXJldHVybiAtRU5PVFNVUDsNCj4gKw0KPiArCWlmICghKGRl di0+cHJvdG9jb2xfZmVhdHVyZXMgJiAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RB VFVTKSkpDQo+ICsJCXJldHVybiAtRU5PVFNVUDsNCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJf d3JpdGUoZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gKwlpZiAocmV0IDwgMCkgew0K PiArCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gc2VuZCByZXF1ZXN0Iik7DQo+ICsJCWdv dG8gZXJyOw0KPiArCX0NCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJfcmVhZChkZXYtPnZob3N0 ZmQsICZtc2cpOw0KPiArCWlmIChyZXQgPCAwKSB7DQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZh aWxlZCB0byByZWN2IHJlcXVlc3QiKTsNCj4gKwkJZ290byBlcnI7DQo+ICsJfQ0KPiArDQo+ICsJ aWYgKG1zZy5yZXF1ZXN0ICE9IFZIT1NUX1VTRVJfR0VUX1NUQVRVUykgew0KPiArCQlQTURfRFJW X0xPRyhFUlIsICJVbmV4cGVjdGVkIHJlcXVlc3QgdHlwZSAoJWQpIiwgbXNnLnJlcXVlc3QpOw0K PiArCQlnb3RvIGVycjsNCj4gKwl9DQo+ICsNCj4gKwlpZiAobXNnLnNpemUgIT0gc2l6ZW9mKG1z Zy5wYXlsb2FkLnU2NCkpIHsNCj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiVW5leHBlY3RlZCBwYXls b2FkIHNpemUgKCV1KSIsIG1zZy5zaXplKTsNCj4gKwkJZ290byBlcnI7DQo+ICsJfQ0KPiArDQo+ ICsJKnN0YXR1cyA9ICh1aW50OF90KW1zZy5wYXlsb2FkLnU2NDsNCj4gKw0KPiArCXJldHVybiAw Ow0KPiArZXJyOg0KPiArCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBnZXQgZGV2aWNlIHN0 YXR1cyIpOw0KPiArCXJldHVybiAtMTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmhv c3RfdXNlcl9zZXRfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDhfdCBz dGF0dXMpDQo+ICt7DQo+ICsJaW50IHJldDsNCj4gKwlzdHJ1Y3Qgdmhvc3RfdXNlcl9tc2cgbXNn ID0gew0KPiArCQkucmVxdWVzdCA9IFZIT1NUX1VTRVJfU0VUX1NUQVRVUywNCj4gKwkJLmZsYWdz ID0gVkhPU1RfVVNFUl9WRVJTSU9OLA0KPiArCQkuc2l6ZSA9IHNpemVvZihtc2cucGF5bG9hZC51 NjQpLA0KPiArCQkucGF5bG9hZC51NjQgPSBzdGF0dXMsDQo+ICsJfTsNCj4gKw0KPiArCS8qDQo+ ICsJICogSWYgZmVhdHVyZXMgaGF2ZSBub3QgYmVlbiBuZWdvdGlhdGVkLCB3ZSBkb24ndCBrbm93 IGlmIHRoZSBiYWNrZW5kDQo+ICsJICogc3VwcG9ydHMgcHJvdG9jb2wgZmVhdHVyZXMNCj4gKwkg Ki8NCj4gKwlpZiAoIShkZXYtPnN0YXR1cyAmIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZFQVRVUkVT X09LKSkNCj4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPiArDQo+ICsJLyogU3RhdHVzIHByb3RvY29s IGZlYXR1cmUgcmVxdWlyZXMgcHJvdG9jb2wgZmVhdHVyZXMgc3VwcG9ydCAqLw0KPiArCWlmICgh KGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZF QVRVUkVTKSkpDQo+ICsJCXJldHVybiAtRU5PVFNVUDsNCj4gKw0KPiArCWlmICghKGRldi0+cHJv dG9jb2xfZmVhdHVyZXMgJiAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RBVFVTKSkp DQo+ICsJCXJldHVybiAtRU5PVFNVUDsNCj4gKw0KPiArCWlmIChkZXYtPnByb3RvY29sX2ZlYXR1 cmVzICYgKDFVTEwgPDwgVkhPU1RfVVNFUl9QUk9UT0NPTF9GX1JFUExZX0FDSykpDQo+ICsJCW1z Zy5mbGFncyB8PSBWSE9TVF9VU0VSX05FRURfUkVQTFlfTUFTSzsNCj4gKw0KPiArCXJldCA9IHZo b3N0X3VzZXJfd3JpdGUoZGV2LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gKwlpZiAocmV0 IDwgMCkgew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gc2VuZCBnZXQgc3RhdHVz IHJlcXVlc3QiKTsNCj4gKwkJcmV0dXJuIC0xOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiB2aG9z dF91c2VyX2NoZWNrX3JlcGx5X2FjayhkZXYsICZtc2cpOw0KPiArfQ0KPiANCj4gIHN0YXRpYyBz dHJ1Y3Qgdmhvc3RfdXNlcl9tc2cgbTsNCj4gDQo+ICBjb25zdCBjaGFyICogY29uc3Qgdmhvc3Rf bXNnX3N0cmluZ3NbXSA9IHsNCj4gIAlbVkhPU1RfVVNFUl9SRVNFVF9PV05FUl0gPSAiVkhPU1Rf UkVTRVRfT1dORVIiLA0KPiAtCVtWSE9TVF9VU0VSX1NFVF9TVEFUVVNdID0gIlZIT1NUX1NFVF9T VEFUVVMiLA0KPiAtCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNdID0gIlZIT1NUX0dFVF9TVEFUVVMi LA0KPiAgfTsNCj4gDQo+ICBzdGF0aWMgaW50DQo+IEBAIC01NzYsNyArNjYzLDYgQEAgdmhvc3Rf dXNlcl9zb2NrKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gIAlzdHJ1Y3Qgdmhvc3Rf dXNlcl9tc2cgbXNnOw0KPiAgCXN0cnVjdCB2aG9zdF92cmluZ19maWxlICpmaWxlID0gMDsNCj4g IAlpbnQgbmVlZF9yZXBseSA9IDA7DQo+IC0JaW50IGhhc19yZXBseV9hY2sgPSAwOw0KPiAgCWlu dCBmZHNbVkhPU1RfTUVNT1JZX01BWF9OUkVHSU9OU107DQo+ICAJaW50IGZkX251bSA9IDA7DQo+ ICAJaW50IHZob3N0ZmQgPSBkZXYtPnZob3N0ZmQ7DQo+IEBAIC01ODgsMzEgKzY3NCwxMSBAQCB2 aG9zdF91c2VyX3NvY2soc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCWlmIChkZXYt PmlzX3NlcnZlciAmJiB2aG9zdGZkIDwgMCkNCj4gIAkJcmV0dXJuIC0xOw0KPiANCj4gLQlpZiAo ZGV2LT5wcm90b2NvbF9mZWF0dXJlcyAmICgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9S RVBMWV9BQ0spKQ0KPiAtCQloYXNfcmVwbHlfYWNrID0gMTsNCj4gLQ0KPiAgCW1zZy5yZXF1ZXN0 ID0gcmVxOw0KPiAgCW1zZy5mbGFncyA9IFZIT1NUX1VTRVJfVkVSU0lPTjsNCj4gIAltc2cuc2l6 ZSA9IDA7DQo+IA0KPiAgCXN3aXRjaCAocmVxKSB7DQo+IC0JY2FzZSBWSE9TVF9VU0VSX0dFVF9T VEFUVVM6DQo+IC0JCWlmICghKGRldi0+c3RhdHVzICYgVklSVElPX0NPTkZJR19TVEFUVVNfRkVB VFVSRVNfT0spIHx8DQo+IC0JCSAgICAoIShkZXYtPnByb3RvY29sX2ZlYXR1cmVzICYNCj4gLQkJ CQkoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfU1RBVFVTKSkpKQ0KPiAtCQkJcmV0dXJu IC1FTk9UU1VQOw0KPiAtCQluZWVkX3JlcGx5ID0gMTsNCj4gLQkJYnJlYWs7DQo+IC0NCj4gLQlj YXNlIFZIT1NUX1VTRVJfU0VUX1NUQVRVUzoNCj4gLQkJaWYgKCEoZGV2LT5zdGF0dXMgJiBWSVJU SU9fQ09ORklHX1NUQVRVU19GRUFUVVJFU19PSykgfHwNCj4gLQkJICAgICghKGRldi0+cHJvdG9j b2xfZmVhdHVyZXMgJg0KPiAtCQkJCSgxVUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFU VVMpKSkpDQo+IC0JCQlyZXR1cm4gLUVOT1RTVVA7DQo+IC0NCj4gLQkJaWYgKGhhc19yZXBseV9h Y2spDQo+IC0JCQltc2cuZmxhZ3MgfD0gVkhPU1RfVVNFUl9ORUVEX1JFUExZX01BU0s7DQo+IC0J CS8qIEZhbGx0aHJvdWdoICovDQo+ICAJY2FzZSBWSE9TVF9VU0VSX1NFVF9MT0dfQkFTRToNCj4g IAkJbXNnLnBheWxvYWQudTY0ID0gKigoX191NjQgKilhcmcpOw0KPiAgCQltc2cuc2l6ZSA9IHNp emVvZihtLnBheWxvYWQudTY0KTsNCj4gQEAgLTY2NSwxMyArNzMxLDYgQEAgdmhvc3RfdXNlcl9z b2NrKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gIAkJfQ0KPiANCj4gIAkJc3dpdGNo IChyZXEpIHsNCj4gLQkJY2FzZSBWSE9TVF9VU0VSX0dFVF9TVEFUVVM6DQo+IC0JCQlpZiAobXNn LnNpemUgIT0gc2l6ZW9mKG0ucGF5bG9hZC51NjQpKSB7DQo+IC0JCQkJUE1EX0RSVl9MT0coRVJS LCAiUmVjZWl2ZWQgYmFkIG1zZyBzaXplIik7DQo+IC0JCQkJcmV0dXJuIC0xOw0KPiAtCQkJfQ0K PiAtCQkJKigoX191NjQgKilhcmcpID0gbXNnLnBheWxvYWQudTY0Ow0KPiAtCQkJYnJlYWs7DQo+ ICAJCWRlZmF1bHQ6DQo+ICAJCQkvKiBSZXBseS1hY2sgaGFuZGxpbmcgKi8NCj4gIAkJCWlmICht c2cuc2l6ZSAhPSBzaXplb2YobS5wYXlsb2FkLnU2NCkpIHsNCj4gQEAgLTgwNCw2ICs4NjMsOCBA QCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9vcHMgdmlydGlvX29wc191c2VyID0gew0KPiAg CS5zZXRfdnJpbmdfY2FsbCA9IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2NhbGwsDQo+ICAJLnNldF92 cmluZ19raWNrID0gdmhvc3RfdXNlcl9zZXRfdnJpbmdfa2ljaywNCj4gIAkuc2V0X3ZyaW5nX2Fk ZHIgPSB2aG9zdF91c2VyX3NldF92cmluZ19hZGRyLA0KPiArCS5nZXRfc3RhdHVzID0gdmhvc3Rf dXNlcl9nZXRfc3RhdHVzLA0KPiArCS5zZXRfc3RhdHVzID0gdmhvc3RfdXNlcl9zZXRfc3RhdHVz LA0KPiAgCS5zZW5kX3JlcXVlc3QgPSB2aG9zdF91c2VyX3NvY2ssDQo+ICAJLmVuYWJsZV9xcCA9 IHZob3N0X3VzZXJfZW5hYmxlX3F1ZXVlX3BhaXINCj4gIH07DQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IGIvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiBpbmRleCAxZWM2YmIyNmYyLi44ZWJj Njc5ZjFiIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhv c3RfdmRwYS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92 ZHBhLmMNCj4gQEAgLTM4LDggKzM4LDYgQEANCj4gDQo+ICBzdGF0aWMgdWludDY0X3Qgdmhvc3Rf cmVxX3VzZXJfdG9fdmRwYVtdID0gew0KPiAgCVtWSE9TVF9VU0VSX1JFU0VUX09XTkVSXSA9IFZI T1NUX1JFU0VUX09XTkVSLA0KPiAtCVtWSE9TVF9VU0VSX1NFVF9TVEFUVVNdID0gVkhPU1RfVkRQ QV9TRVRfU1RBVFVTLA0KPiAtCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNdID0gVkhPU1RfVkRQQV9H RVRfU1RBVFVTLA0KPiAgfTsNCj4gDQo+ICAvKiBubyBhbGlnbm1lbnQgcmVxdWlyZW1lbnQgKi8N Cj4gQEAgLTM3OSw2ICszNzcsMTggQEAgdmhvc3RfdmRwYV9zZXRfdnJpbmdfYWRkcihzdHJ1Y3Qg dmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+IHN0cnVjdCB2aG9zdF92cmluZ19hZGRyICoNCj4gIAly ZXR1cm4gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZIT1NUX1NFVF9WUklOR19BRERS LCBhZGRyKTsNCj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBhX2dldF9zdGF0 dXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50OF90ICpzdGF0dXMpDQo+ICt7DQo+ ICsJcmV0dXJuIHZob3N0X3ZkcGFfaW9jdGwoZGV2LT52aG9zdGZkLCBWSE9TVF9WRFBBX0dFVF9T VEFUVVMsIHN0YXR1cyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3ZkcGFf c2V0X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ4X3Qgc3RhdHVzKQ0K PiArew0KPiArCXJldHVybiB2aG9zdF92ZHBhX2lvY3RsKGRldi0+dmhvc3RmZCwgVkhPU1RfVkRQ QV9TRVRfU1RBVFVTLCAmc3RhdHVzKTsNCj4gK30NCj4gKw0KPiAgLyogd2l0aCBiZWxvdyBmZWF0 dXJlcywgdmhvc3QgdmRwYSBkb2VzIG5vdCBuZWVkIHRvIGRvIHRoZSBjaGVja3N1bSBhbmQgVFNP LA0KPiAgICogdGhlc2UgaW5mbyB3aWxsIGJlIHBhc3NlZCB0byB2aXJ0aW9fdXNlciB0aHJvdWdo IHZpcnRpbyBuZXQgaGVhZGVyLg0KPiAgICovDQo+IEBAIC00OTAsNiArNTAwLDggQEAgc3RydWN0 IHZpcnRpb191c2VyX2JhY2tlbmRfb3BzIHZpcnRpb19vcHNfdmRwYSA9IHsNCj4gIAkuc2V0X3Zy aW5nX2NhbGwgPSB2aG9zdF92ZHBhX3NldF92cmluZ19jYWxsLA0KPiAgCS5zZXRfdnJpbmdfa2lj ayA9IHZob3N0X3ZkcGFfc2V0X3ZyaW5nX2tpY2ssDQo+ICAJLnNldF92cmluZ19hZGRyID0gdmhv c3RfdmRwYV9zZXRfdnJpbmdfYWRkciwNCj4gKwkuZ2V0X3N0YXR1cyA9IHZob3N0X3ZkcGFfZ2V0 X3N0YXR1cywNCj4gKwkuc2V0X3N0YXR1cyA9IHZob3N0X3ZkcGFfc2V0X3N0YXR1cywNCj4gIAku c2VuZF9yZXF1ZXN0ID0gdmhvc3RfdmRwYV9zZW5kX3JlcXVlc3QsDQo+ICAJLmVuYWJsZV9xcCA9 IHZob3N0X3ZkcGFfZW5hYmxlX3F1ZXVlX3BhaXIsDQo+ICAJLmRtYV9tYXAgPSB2aG9zdF92ZHBh X2RtYV9tYXBfYmF0Y2gsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3Vz ZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gaW5kZXggN2UzNjVkMDU3MC4uMzNhMjVmNDY4NCAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rl di5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9k ZXYuYw0KPiBAQCAtODE0LDIxICs4MTQsMTIgQEAgaW50DQo+ICB2aXJ0aW9fdXNlcl9kZXZfc2V0 X3N0YXR1cyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ4X3Qgc3RhdHVzKQ0KPiAg ew0KPiAgCWludCByZXQ7DQo+IC0JdWludDY0X3QgYXJnID0gc3RhdHVzOw0KPiANCj4gIAlwdGhy ZWFkX211dGV4X2xvY2soJmRldi0+bXV0ZXgpOw0KPiAgCWRldi0+c3RhdHVzID0gc3RhdHVzOw0K PiAtCWlmIChkZXYtPmJhY2tlbmRfdHlwZSA9PSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1VT RVIpDQo+IC0JCXJldCA9IGRldi0+b3BzLT5zZW5kX3JlcXVlc3QoZGV2LA0KPiAtCQkJCVZIT1NU X1VTRVJfU0VUX1NUQVRVUywgJmFyZyk7DQo+IC0JZWxzZSBpZiAoZGV2LT5iYWNrZW5kX3R5cGUg PT0gVklSVElPX1VTRVJfQkFDS0VORF9WSE9TVF9WRFBBKQ0KPiAtCQlyZXQgPSBkZXYtPm9wcy0+ c2VuZF9yZXF1ZXN0KGRldiwNCj4gLQkJCQlWSE9TVF9VU0VSX1NFVF9TVEFUVVMsICZzdGF0dXMp Ow0KPiAtCWVsc2UNCj4gLQkJcmV0ID0gLUVOT1RTVVA7DQo+IC0NCj4gKwlyZXQgPSBkZXYtPm9w cy0+c2V0X3N0YXR1cyhkZXYsIHN0YXR1cyk7DQo+ICAJaWYgKHJldCAmJiByZXQgIT0gLUVOT1RT VVApIHsNCj4gLQkJUE1EX0lOSVRfTE9HKEVSUiwgIlZIT1NUX1VTRVJfU0VUX1NUQVRVUyBmYWls ZWQgKCVkKTogJXMiLCByZXQsDQo+ICsJCVBNRF9JTklUX0xPRyhFUlIsICJWaXJ0aW8tdXNlciBz ZXQgc3RhdHVzIGZhaWxlZCAoJWQpOiAlcyIsIHJldCwNCj4gIAkJCSAgICAgc3RyZXJyb3IoZXJy bm8pKTsNCj4gIAl9DQo+IA0KPiBAQCAtODM5LDI5ICs4MzAsMTMgQEAgdmlydGlvX3VzZXJfZGV2 X3NldF9zdGF0dXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiB1aW50OF90IHN0YXR1 cykNCj4gIGludA0KPiAgdmlydGlvX3VzZXJfZGV2X3VwZGF0ZV9zdGF0dXMoc3RydWN0IHZpcnRp b191c2VyX2RldiAqZGV2KQ0KPiAgew0KPiAtCXVpbnQ2NF90IHJldDsNCj4gKwlpbnQgcmV0Ow0K PiAgCXVpbnQ4X3Qgc3RhdHVzOw0KPiAtCWludCBlcnI7DQo+IA0KPiAgCXB0aHJlYWRfbXV0ZXhf bG9jaygmZGV2LT5tdXRleCk7DQo+IC0JaWYgKGRldi0+YmFja2VuZF90eXBlID09IFZJUlRJT19V U0VSX0JBQ0tFTkRfVkhPU1RfVVNFUikgew0KPiAtCQllcnIgPSBkZXYtPm9wcy0+c2VuZF9yZXF1 ZXN0KGRldiwgVkhPU1RfVVNFUl9HRVRfU1RBVFVTLCAmcmV0KTsNCj4gLQkJaWYgKCFlcnIgJiYg cmV0ID4gVUlOVDhfTUFYKSB7DQo+IC0JCQlQTURfSU5JVF9MT0coRVJSLCAiSW52YWxpZCBWSE9T VF9VU0VSX0dFVF9TVEFUVVMgIg0KPiAtCQkJCQkicmVzcG9uc2UgMHglIiBQUkl4NjQgIlxuIiwg cmV0KTsNCj4gLQkJCWVyciA9IC0xOw0KPiAtCQkJZ290byBlcnJvcjsNCj4gLQkJfQ0KPiANCj4g LQkJc3RhdHVzID0gcmV0Ow0KPiAtCX0gZWxzZSBpZiAoZGV2LT5iYWNrZW5kX3R5cGUgPT0gVklS VElPX1VTRVJfQkFDS0VORF9WSE9TVF9WRFBBKSB7DQo+IC0JCWVyciA9IGRldi0+b3BzLT5zZW5k X3JlcXVlc3QoZGV2LCBWSE9TVF9VU0VSX0dFVF9TVEFUVVMsDQo+IC0JCQkJJnN0YXR1cyk7DQo+ IC0JfSBlbHNlIHsNCj4gLQkJZXJyID0gLUVOT1RTVVA7DQo+IC0JfQ0KPiAtDQo+IC0JaWYgKCFl cnIpIHsNCj4gKwlyZXQgPSBkZXYtPm9wcy0+Z2V0X3N0YXR1cyhkZXYsICZzdGF0dXMpOw0KPiAr CWlmICghcmV0KSB7DQo+ICAJCWRldi0+c3RhdHVzID0gc3RhdHVzOw0KPiAgCQlQTURfSU5JVF9M T0coREVCVUcsICJVcGRhdGVkIERldmljZSBTdGF0dXMoMHglMDh4KTpcbiINCj4gIAkJCSJcdC1S RVNFVDogJXVcbiINCj4gQEAgLTg3OSwxMiArODU0LDExIEBAIHZpcnRpb191c2VyX2Rldl91cGRh dGVfc3RhdHVzKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYNCj4gKmRldikNCj4gIAkJCSEhKGRldi0+ c3RhdHVzICYgVklSVElPX0NPTkZJR19TVEFUVVNfRkVBVFVSRVNfT0spLA0KPiAgCQkJISEoZGV2 LT5zdGF0dXMgJiBWSVJUSU9fQ09ORklHX1NUQVRVU19ERVZfTkVFRF9SRVNFVCksDQo+ICAJCQkh IShkZXYtPnN0YXR1cyAmIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZBSUxFRCkpOw0KPiAtCX0gZWxz ZSBpZiAoZXJyICE9IC1FTk9UU1VQKSB7DQo+IC0JCVBNRF9JTklUX0xPRyhFUlIsICJWSE9TVF9V U0VSX0dFVF9TVEFUVVMgZmFpbGVkICglZCk6ICVzIiwgZXJyLA0KPiArCX0gZWxzZSBpZiAocmV0 ICE9IC1FTk9UU1VQKSB7DQo+ICsJCVBNRF9JTklUX0xPRyhFUlIsICJWaXJ0aW8tdXNlciBnZXQg c3RhdHVzIGZhaWxlZCAoJWQpOiAlcyIsIHJldCwNCj4gIAkJCSAgICAgc3RyZXJyb3IoZXJybm8p KTsNCj4gIAl9DQo+IA0KPiAtZXJyb3I6DQo+ICAJcHRocmVhZF9tdXRleF91bmxvY2soJmRldi0+ bXV0ZXgpOw0KPiAtCXJldHVybiBlcnI7DQo+ICsJcmV0dXJuIHJldDsNCj4gIH0NCj4gLS0NCj4g Mi4yOS4yDQoNClJldmlld2VkLWJ5OiBDaGVuYm8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4N Cg==