From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9F2CEA2EFC for ; Mon, 14 Oct 2019 07:21:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8DE5F2BAA; Mon, 14 Oct 2019 07:21:56 +0200 (CEST) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-eopbgr810070.outbound.protection.outlook.com [40.107.81.70]) by dpdk.org (Postfix) with ESMTP id 20EBA2BAA; Mon, 14 Oct 2019 07:21:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Midlas9rWKl+YHkaKRSakdKku+87RBFGXbUj1N+kJEG44AzNbee5hoxeupZQ8QukJmkZvY/NoBF28UmvhlTHmpT4CGx/adJi0O0PfNDyJLRiwtX5cBPFcXTKZ+hRSOFaEL6h8Ocp9JRtvg+NQo+0LBJrFnm9vPRMi/PRo7n0V9JFgEc3alDwUt1MAM/Qy20WKT9aMk3ETISf0rQex6hC322DJ0NVVKJUCo5dM2OhZoAi/pvzwVv0lbk+0Pv+omNi4NuWqIEVYuCjozYOCCMM7W6CS4A5iQk5pySIFy6Hde1D79zDoHUKA/DQiDJ/Qef2+YD8dTuIcCDK3qo97W0seA== 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=mE4QTbxYtX1nZEZWVDmUvPxO1FyXdNVfdbb5yVN2+2I=; b=YSre8WlSIZ625JdWwkTA1SeiZLhJ92SUIAvQPwarjSX/Crmh1foZdtK2ozTj7MaRkuir3ENNXuZKAbCDkeSmFofkuFR33gTaHqJyXmykfFOpQEgSMdeWhzqGi+gbeZvj5J8h9KVMRWsiC3BMID+zr+8A+HtWrsJ1SPjy/IWn3uU2lrHyJIGbGx8AnIqY9DBr3wpT2fqzefBj8IO1r0FXzFde53agZ1WoETk+ifjWEBfoREt1XY5Zo1KLlpa+HjBeapkRdVv0de1apJnLgvp0i3OnC/peyGhFwbCWE3BMkcr92Ri0sEWRypIImyzfm+HDXjz+wMZPSN9nXpTtYBwDGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mE4QTbxYtX1nZEZWVDmUvPxO1FyXdNVfdbb5yVN2+2I=; b=OXPPYINWTi1JSlmMQ+NaOyU8TS4VudZdEQgVZoQG2vzEwW0du2vyyMxf6Jgw+zb0cqipYdFWOIyHZYBOwl/qaIxMNkOqI+Ci70gda6qqvRQy1YMk7GxxpWTS5aiyItRnKLdEJEW+VG4POPHYkJEVc8hfFUI8fyN9RcXJ4Jv1LQk= Received: from DM5PR1201MB2474.namprd12.prod.outlook.com (10.172.87.136) by DM5PR1201MB0027.namprd12.prod.outlook.com (10.174.108.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2347.19; Mon, 14 Oct 2019 05:21:53 +0000 Received: from DM5PR1201MB2474.namprd12.prod.outlook.com ([fe80::f3:94a5:9dbc:1fd5]) by DM5PR1201MB2474.namprd12.prod.outlook.com ([fe80::f3:94a5:9dbc:1fd5%12]) with mapi id 15.20.2347.023; Mon, 14 Oct 2019 05:21:53 +0000 From: To: "dev@dpdk.org" CC: "stable@dpdk.org" Thread-Topic: =?utf-8?B?W1BBVENIIHYxIDUvNl0gY3J5cHRvL2NjcDogZW5hYmxlIElPTU1VIGZvciBD?= =?utf-8?B?Q1AgQ0NQIHVzZSB2ZGV2IGZyYW1ld29yaywgYW5kIHZkZXYgZnJhbWV3b3Jr?= =?utf-8?B?IGRvbuKAmXQgc3VwcG9ydCBJT01NVS4gQWRkaW5nIGN1c3RvbSBJT01NVSBz?= =?utf-8?Q?upport_for_AMD_CCP_drives.?= Thread-Index: AQHVgk9KrQeRmnsVQUKySGfdWZX8bw== Date: Mon, 14 Oct 2019 05:21:53 +0000 Message-ID: <20191014052134.12406-1-asomalap@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MAXPR0101CA0016.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:c::26) To DM5PR1201MB2474.namprd12.prod.outlook.com (2603:10b6:3:e3::8) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Amaranath.Somalapuram@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [165.204.156.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2ae32afe-a579-4c75-9ceb-08d750666c4c x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: DM5PR1201MB0027: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:353; x-forefront-prvs: 01901B3451 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(376002)(39860400002)(136003)(396003)(366004)(199004)(189003)(1076003)(14454004)(5660300002)(30864003)(2616005)(66066001)(486006)(4326008)(476003)(99286004)(14444005)(256004)(66556008)(71200400001)(66476007)(64756008)(66946007)(66446008)(71190400001)(6436002)(478600001)(6512007)(5640700003)(2906002)(316002)(450100002)(7736002)(25786009)(2351001)(2501003)(6486002)(6916009)(386003)(6506007)(102836004)(26005)(52116002)(186003)(3846002)(6116002)(36756003)(305945005)(50226002)(81156014)(1730700003)(8936002)(81166006)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR1201MB0027; H:DM5PR1201MB2474.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: F3JtE52o5DN+HnWQqpE14SxnCCpxBjxTthhtO89R7VydsKLbEqClLe/3iY0Lvpn1vDK4liQ0avT9Syu53GY+oCFDmok8F9VXdYwDSKUAxkfXveOh3yL9laEiM/IIrdB/pRpZjfxUJD90arXtQE6My5Qov6JzuqNQtNkH+a7dfATf9Iupxw5Y3jQEy/Oh0LUEgxWecULXgAZnJNprd5GiwnGjFMBgB1qPIoMn7UWQPgzOODWHv2aegoMQDOyIKenTp9M8JczD1ok43rDxiW6QyVlhLt9pW8j4ge8VVDgL2fbWfbLgLVc5y9/4kogSUHtFQw8AVG1aO+mI+Kkz1pwgrRxaGko4ahjdGBGuT3ubmTGsMdMwOkLIrI8/dh10KYTzxDqL19rhdClTkvg9odaTNiv/dxCY7liSTXMQqRTBbtU= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ae32afe-a579-4c75-9ceb-08d750666c4c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Oct 2019 05:21:53.4399 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: H3xY0st5XBaXbUlvjOTFk0fXsTO+Q37rVgo26ECjaQOFPtov0TND4+nxtDf3r+1fTs4YqGe0eWeHqlRsyWPkPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0027 Subject: [dpdk-stable] =?utf-8?q?=5BPATCH_v1_5/6=5D_crypto/ccp=3A_enable_I?= =?utf-8?q?OMMU_for_CCP_CCP_use_vdev_framework=2C_and_vdev_framework_don?= =?utf-8?q?=E2=80=99t_support_IOMMU=2E_Adding_custom_IOMMU_support_for_AMD?= =?utf-8?q?_CCP_drives=2E?= X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" RnJvbTogQW1hcmFuYXRoIFNvbWFsYXB1cmFtIDxhc29tYWxhcEBhbWQuY29tPg0KDQpTaWduZWQt b2ZmLWJ5OiBBbWFyYW5hdGggU29tYWxhcHVyYW0gPGFzb21hbGFwQGFtZC5jb20+DQotLS0NCiBk cml2ZXJzL2NyeXB0by9jY3AvY2NwX2NyeXB0by5jICB8IDI0NCArKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tDQogZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9kZXYuYyAgICAgfCAgNTYgKyst LS0tLQ0KIGRyaXZlcnMvY3J5cHRvL2NjcC9jY3BfZGV2LmggICAgIHwgICAyICstDQogZHJpdmVy cy9jcnlwdG8vY2NwL2NjcF9wY2kuYyAgICAgfCAgIDEgKw0KIGRyaXZlcnMvY3J5cHRvL2NjcC9j Y3BfcGNpLmggICAgIHwgICAxICsNCiBkcml2ZXJzL2NyeXB0by9jY3AvcnRlX2NjcF9wbWQuYyB8 ICAgNSArLQ0KIDYgZmlsZXMgY2hhbmdlZCwgMjExIGluc2VydGlvbnMoKyksIDk4IGRlbGV0aW9u cygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9jcnlwdG8uYyBiL2Ry aXZlcnMvY3J5cHRvL2NjcC9jY3BfY3J5cHRvLmMNCmluZGV4IDE4MzdjODU0My4uYzBlY2U0ZTM3 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9jcnlwdG8uYw0KKysrIGIvZHJp dmVycy9jcnlwdG8vY2NwL2NjcF9jcnlwdG8uYw0KQEAgLTMxLDggKzMxLDExIEBADQogI2luY2x1 ZGUgPG9wZW5zc2wvZXJyLmg+DQogI2luY2x1ZGUgPG9wZW5zc2wvaG1hYy5oPg0KIA0KK2V4dGVy biBpbnQgaW9tbXVfbW9kZTsNCisNCiAvKiBTSEEgaW5pdGlhbCBjb250ZXh0IHZhbHVlcyAqLw0K LXN0YXRpYyB1aW50MzJfdCBjY3Bfc2hhMV9pbml0W1NIQV9DT01NT05fRElHRVNUX1NJWkUgLyBz aXplb2YodWludDMyX3QpXSA9IHsNCit2b2lkICpzaGFfY3R4Ow0KK3VpbnQzMl90IGNjcF9zaGEx X2luaXRbU0hBX0NPTU1PTl9ESUdFU1RfU0laRSAvIHNpemVvZih1aW50MzJfdCldID0gew0KIAlT SEExX0g0LCBTSEExX0gzLA0KIAlTSEExX0gyLCBTSEExX0gxLA0KIAlTSEExX0gwLCAweDBVLA0K QEAgLTc0NCw4ICs3NDcsMTYgQEAgY2NwX2NvbmZpZ3VyZV9zZXNzaW9uX2NpcGhlcihzdHJ1Y3Qg Y2NwX3Nlc3Npb24gKnNlc3MsDQogCQlDQ1BfTE9HX0VSUigiSW52YWxpZCBDQ1AgRW5naW5lIik7 DQogCQlyZXR1cm4gLUVOT1RTVVA7DQogCX0NCi0Jc2Vzcy0+Y2lwaGVyLm5vbmNlX3BoeXMgPSBy dGVfbWVtX3ZpcnQycGh5KHNlc3MtPmNpcGhlci5ub25jZSk7DQotCXNlc3MtPmNpcGhlci5rZXlf cGh5cyA9IHJ0ZV9tZW1fdmlydDJwaHkoc2Vzcy0+Y2lwaGVyLmtleV9jY3ApOw0KKwlpZihpb21t dV9tb2RlID09IDIpDQorCXsNCisJCXNlc3MtPmNpcGhlci5ub25jZV9waHlzID0gcnRlX21lbV92 aXJ0MmlvdmEoc2Vzcy0+Y2lwaGVyLm5vbmNlKTsNCisJCXNlc3MtPmNpcGhlci5rZXlfcGh5cyA9 IHJ0ZV9tZW1fdmlydDJpb3ZhKHNlc3MtPmNpcGhlci5rZXlfY2NwKTsNCisJfQ0KKwllbHNlDQor CXsNCisJCXNlc3MtPmNpcGhlci5ub25jZV9waHlzID0gcnRlX21lbV92aXJ0MnBoeShzZXNzLT5j aXBoZXIubm9uY2UpOw0KKwkJc2Vzcy0+Y2lwaGVyLmtleV9waHlzID0gcnRlX21lbV92aXJ0MnBo eShzZXNzLT5jaXBoZXIua2V5X2NjcCk7DQorCX0NCiAJcmV0dXJuIDA7DQogfQ0KIA0KQEAgLTc4 NCw2ICs3OTUsNyBAQCBjY3BfY29uZmlndXJlX3Nlc3Npb25fYXV0aChzdHJ1Y3QgY2NwX3Nlc3Np b24gKnNlc3MsDQogCQlzZXNzLT5hdXRoLmN0eCA9ICh2b2lkICopY2NwX3NoYTFfaW5pdDsNCiAJ CXNlc3MtPmF1dGguY3R4X2xlbiA9IENDUF9TQl9CWVRFUzsNCiAJCXNlc3MtPmF1dGgub2Zmc2V0 ID0gQ0NQX1NCX0JZVEVTIC0gU0hBMV9ESUdFU1RfU0laRTsNCisJCXJ0ZV9tZW1jcHkoc2hhX2N0 eCxzZXNzLT5hdXRoLmN0eCxTSEFfQ09NTU9OX0RJR0VTVF9TSVpFKTsNCiAJCWJyZWFrOw0KIAlj YXNlIFJURV9DUllQVE9fQVVUSF9TSEExX0hNQUM6DQogCQlpZiAoc2Vzcy0+YXV0aF9vcHQpIHsN CkBAIC04MjIsNiArODM0LDcgQEAgY2NwX2NvbmZpZ3VyZV9zZXNzaW9uX2F1dGgoc3RydWN0IGNj cF9zZXNzaW9uICpzZXNzLA0KIAkJc2Vzcy0+YXV0aC5jdHggPSAodm9pZCAqKWNjcF9zaGEyMjRf aW5pdDsNCiAJCXNlc3MtPmF1dGguY3R4X2xlbiA9IENDUF9TQl9CWVRFUzsNCiAJCXNlc3MtPmF1 dGgub2Zmc2V0ID0gQ0NQX1NCX0JZVEVTIC0gU0hBMjI0X0RJR0VTVF9TSVpFOw0KKwkJcnRlX21l bWNweShzaGFfY3R4LHNlc3MtPmF1dGguY3R4LFNIQTI1Nl9ESUdFU1RfU0laRSk7DQogCQlicmVh azsNCiAJY2FzZSBSVEVfQ1JZUFRPX0FVVEhfU0hBMjI0X0hNQUM6DQogCQlpZiAoc2Vzcy0+YXV0 aF9vcHQpIHsNCkBAIC04ODQsNiArODk3LDcgQEAgY2NwX2NvbmZpZ3VyZV9zZXNzaW9uX2F1dGgo c3RydWN0IGNjcF9zZXNzaW9uICpzZXNzLA0KIAkJc2Vzcy0+YXV0aC5jdHggPSAodm9pZCAqKWNj cF9zaGEyNTZfaW5pdDsNCiAJCXNlc3MtPmF1dGguY3R4X2xlbiA9IENDUF9TQl9CWVRFUzsNCiAJ CXNlc3MtPmF1dGgub2Zmc2V0ID0gQ0NQX1NCX0JZVEVTIC0gU0hBMjU2X0RJR0VTVF9TSVpFOw0K KwkJcnRlX21lbWNweShzaGFfY3R4LHNlc3MtPmF1dGguY3R4LFNIQTI1Nl9ESUdFU1RfU0laRSk7 DQogCQlicmVhazsNCiAJY2FzZSBSVEVfQ1JZUFRPX0FVVEhfU0hBMjU2X0hNQUM6DQogCQlpZiAo c2Vzcy0+YXV0aF9vcHQpIHsNCkBAIC05NDYsNiArOTYwLDcgQEAgY2NwX2NvbmZpZ3VyZV9zZXNz aW9uX2F1dGgoc3RydWN0IGNjcF9zZXNzaW9uICpzZXNzLA0KIAkJc2Vzcy0+YXV0aC5jdHggPSAo dm9pZCAqKWNjcF9zaGEzODRfaW5pdDsNCiAJCXNlc3MtPmF1dGguY3R4X2xlbiA9IENDUF9TQl9C WVRFUyA8PCAxOw0KIAkJc2Vzcy0+YXV0aC5vZmZzZXQgPSAoQ0NQX1NCX0JZVEVTIDw8IDEpIC0g U0hBMzg0X0RJR0VTVF9TSVpFOw0KKwkJcnRlX21lbWNweShzaGFfY3R4LHNlc3MtPmF1dGguY3R4 LFNIQTUxMl9ESUdFU1RfU0laRSk7DQogCQlicmVhazsNCiAJY2FzZSBSVEVfQ1JZUFRPX0FVVEhf U0hBMzg0X0hNQUM6DQogCQlpZiAoc2Vzcy0+YXV0aF9vcHQpIHsNCkBAIC0xMDEwLDYgKzEwMjUs NyBAQCBjY3BfY29uZmlndXJlX3Nlc3Npb25fYXV0aChzdHJ1Y3QgY2NwX3Nlc3Npb24gKnNlc3Ms DQogCQlzZXNzLT5hdXRoLmN0eCA9ICh2b2lkICopY2NwX3NoYTUxMl9pbml0Ow0KIAkJc2Vzcy0+ YXV0aC5jdHhfbGVuID0gQ0NQX1NCX0JZVEVTIDw8IDE7DQogCQlzZXNzLT5hdXRoLm9mZnNldCA9 IChDQ1BfU0JfQllURVMgPDwgMSkgLSBTSEE1MTJfRElHRVNUX1NJWkU7DQorCQlydGVfbWVtY3B5 KHNoYV9jdHgsc2Vzcy0+YXV0aC5jdHgsU0hBNTEyX0RJR0VTVF9TSVpFKTsNCiAJCWJyZWFrOw0K IAljYXNlIFJURV9DUllQVE9fQVVUSF9TSEE1MTJfSE1BQzoNCiAJCWlmIChzZXNzLT5hdXRoX29w dCkgew0KQEAgLTExNTksOCArMTE3NSwxNiBAQCBjY3BfY29uZmlndXJlX3Nlc3Npb25fYWVhZChz dHJ1Y3QgY2NwX3Nlc3Npb24gKnNlc3MsDQogCQlDQ1BfTE9HX0VSUigiVW5zdXBwb3J0ZWQgYWVh ZCBhbGdvIik7DQogCQlyZXR1cm4gLUVOT1RTVVA7DQogCX0NCi0Jc2Vzcy0+Y2lwaGVyLm5vbmNl X3BoeXMgPSBydGVfbWVtX3ZpcnQycGh5KHNlc3MtPmNpcGhlci5ub25jZSk7DQotCXNlc3MtPmNp cGhlci5rZXlfcGh5cyA9IHJ0ZV9tZW1fdmlydDJwaHkoc2Vzcy0+Y2lwaGVyLmtleV9jY3ApOw0K KwlpZihpb21tdV9tb2RlID09IDIpDQorCXsNCisJCXNlc3MtPmNpcGhlci5ub25jZV9waHlzID0g cnRlX21lbV92aXJ0MmlvdmEoc2Vzcy0+Y2lwaGVyLm5vbmNlKTsNCisJCXNlc3MtPmNpcGhlci5r ZXlfcGh5cyA9IHJ0ZV9tZW1fdmlydDJpb3ZhKHNlc3MtPmNpcGhlci5rZXlfY2NwKTsNCisJfQ0K KwllbHNlDQorCXsNCisJCXNlc3MtPmNpcGhlci5ub25jZV9waHlzID0gcnRlX21lbV92aXJ0MnBo eShzZXNzLT5jaXBoZXIubm9uY2UpOw0KKwkJc2Vzcy0+Y2lwaGVyLmtleV9waHlzID0gcnRlX21l bV92aXJ0MnBoeShzZXNzLT5jaXBoZXIua2V5X2NjcCk7DQorCX0NCiAJcmV0dXJuIDA7DQogfQ0K IA0KQEAgLTE1NzEsMTUgKzE1OTUsMjcgQEAgY2NwX3BlcmZvcm1faG1hYyhzdHJ1Y3QgcnRlX2Ny eXB0b19vcCAqb3AsDQogCQkJCQkgY2NwX2NyeXB0b2Rldl9kcml2ZXJfaWQpOw0KIAlhZGRyID0g c2Vzc2lvbi0+YXV0aC5wcmVfY29tcHV0ZTsNCiANCi0Jc3JjX2FkZHIgPSBydGVfcGt0bWJ1Zl9t dG9waHlzX29mZnNldChvcC0+c3ltLT5tX3NyYywNCi0JCQkJCSAgICAgIG9wLT5zeW0tPmF1dGgu ZGF0YS5vZmZzZXQpOw0KIAlhcHBlbmRfcHRyID0gKHZvaWQgKilydGVfcGt0bWJ1Zl9hcHBlbmQo b3AtPnN5bS0+bV9zcmMsDQogCQkJCQkJc2Vzc2lvbi0+YXV0aC5jdHhfbGVuKTsNCi0JZGVzdF9h ZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoYXBwZW5kX3B0cik7DQorCWlmKGlv bW11X21vZGUgPT0gMikNCisJew0KKwkJc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92 aXJ0MmlvdmEoDQorCQkJCXJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLCBw aHlzX2FkZHJfdCosDQorCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpKTsNCisJCWRlc3Rf YWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YShhcHBlbmRfcHRyKTsNCisJCXBz dC5zcmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgodm9pZCAqKWFkZHIp Ow0KKwl9DQorCWVsc2UNCisJew0KKwkJc3JjX2FkZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29m ZnNldChvcC0+c3ltLT5tX3NyYywNCisJCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpOw0K KwkJZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoYXBwZW5kX3B0cik7 DQorCQlwc3Quc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAq KWFkZHIpOw0KKwl9DQogCWRlc3RfYWRkcl90ID0gZGVzdF9hZGRyOw0KIA0KIAkvKiogTG9hZCBQ SGFzaDEgdG8gTFNCKi8NCi0JcHN0LnNyY19hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmly dDJwaHkoKHZvaWQgKilhZGRyKTsNCisNCiAJcHN0LmRlc3RfYWRkciA9IChwaHlzX2FkZHJfdCko Y21kX3EtPnNiX3NoYSAqIENDUF9TQl9CWVRFUyk7DQogCXBzdC5sZW4gPSBzZXNzaW9uLT5hdXRo LmN0eF9sZW47DQogCXBzdC5kaXIgPSAxOw0KQEAgLTE2NTksNyArMTY5NSwxNCBAQCBjY3BfcGVy Zm9ybV9obWFjKHN0cnVjdCBydGVfY3J5cHRvX29wICpvcCwNCiANCiAJLyoqIExvYWQgUEhhc2gy IHRvIExTQiovDQogCWFkZHIgKz0gc2Vzc2lvbi0+YXV0aC5jdHhfbGVuOw0KLQlwc3Quc3JjX2Fk ZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWFkZHIpOw0KKwlpZihp b21tdV9tb2RlID09IDIpDQorCXsNCisJCXBzdC5zcmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVf bWVtX3ZpcnQyaW92YSgodm9pZCAqKWFkZHIpOw0KKwl9DQorCWVsc2UNCisJew0KKwkJcHN0LnNy Y19hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQgKilhZGRyKTsNCisJ fQ0KIAlwc3QuZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KShjbWRfcS0+c2Jfc2hhICogQ0NQX1NC X0JZVEVTKTsNCiAJcHN0LmxlbiA9IHNlc3Npb24tPmF1dGguY3R4X2xlbjsNCiAJcHN0LmRpciA9 IDE7DQpAQCAtMTc0MywxNyArMTc4NiwyNiBAQCBjY3BfcGVyZm9ybV9zaGEoc3RydWN0IHJ0ZV9j cnlwdG9fb3AgKm9wLA0KIAkJCQkJIG9wLT5zeW0tPnNlc3Npb24sDQogCQkJCQljY3BfY3J5cHRv ZGV2X2RyaXZlcl9pZCk7DQogDQotCXNyY19hZGRyID0gcnRlX3BrdG1idWZfbXRvcGh5c19vZmZz ZXQob3AtPnN5bS0+bV9zcmMsDQotCQkJCQkgICAgICBvcC0+c3ltLT5hdXRoLmRhdGEub2Zmc2V0 KTsNCi0NCiAJYXBwZW5kX3B0ciA9ICh2b2lkICopcnRlX3BrdG1idWZfYXBwZW5kKG9wLT5zeW0t Pm1fc3JjLA0KIAkJCQkJCXNlc3Npb24tPmF1dGguY3R4X2xlbik7DQotCWRlc3RfYWRkciA9IChw aHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5KGFwcGVuZF9wdHIpOw0KLQ0KIAkvKiogUGFzc3Ro cnUgc2hhIGNvbnRleHQqLw0KKwlpZihpb21tdV9tb2RlID09IDIpDQorCXsNCisJCXNyY19hZGRy ID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJpb3ZhKA0KKwkJCQlydGVfcGt0bWJ1Zl9tdG9k X29mZnNldChvcC0+c3ltLT5tX3NyYywgdm9pZCosDQorCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5v ZmZzZXQpKTsNCisJCWRlc3RfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YShh cHBlbmRfcHRyKTsNCisJCXBzdC5zcmNfYWRkciA9IChwaHlzX2FkZHJfdClzaGFfY3R4Ow0KKwl9 DQorCWVsc2UNCisJew0KKwkJc3JjX2FkZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChv cC0+c3ltLT5tX3NyYywNCisJCQkJCW9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpOw0KKyAgICAg ICAgICAgICAgICBkZXN0X2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBoeShhcHBl bmRfcHRyKTsNCisgICAgICAgICAgICAgICAgcHN0LnNyY19hZGRyID0gKHBoeXNfYWRkcl90KXJ0 ZV9tZW1fdmlydDJwaHkoKHZvaWQgKikNCisJCQkJCQlzZXNzaW9uLT5hdXRoLmN0eCk7DQorICAg ICAgICB9DQogDQotCXBzdC5zcmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5 KCh2b2lkICopDQotCQkJCQkJICAgICBzZXNzaW9uLT5hdXRoLmN0eCk7DQogCXBzdC5kZXN0X2Fk ZHIgPSAocGh5c19hZGRyX3QpKGNtZF9xLT5zYl9zaGEgKiBDQ1BfU0JfQllURVMpOw0KIAlwc3Qu bGVuID0gc2Vzc2lvbi0+YXV0aC5jdHhfbGVuOw0KIAlwc3QuZGlyID0gMTsNCkBAIC0xODMyLDE4 ICsxODg0LDMyIEBAIGNjcF9wZXJmb3JtX3NoYTNfaG1hYyhzdHJ1Y3QgcnRlX2NyeXB0b19vcCAq b3AsDQogCQkJCQkgb3AtPnN5bS0+c2Vzc2lvbiwNCiAJCQkJCWNjcF9jcnlwdG9kZXZfZHJpdmVy X2lkKTsNCiANCi0Jc3JjX2FkZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChvcC0+c3lt LT5tX3NyYywNCi0JCQkJCSAgICAgIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpOw0KIAlhcHBl bmRfcHRyID0gKHVpbnQ4X3QgKilydGVfcGt0bWJ1Zl9hcHBlbmQob3AtPnN5bS0+bV9zcmMsDQog CQkJCQkJc2Vzc2lvbi0+YXV0aC5jdHhfbGVuKTsNCiAJaWYgKCFhcHBlbmRfcHRyKSB7DQogCQlD Q1BfTE9HX0VSUigiQ0NQIE1CVUYgYXBwZW5kIGZhaWxlZFxuIik7DQogCQlyZXR1cm4gLTE7DQog CX0NCi0JZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQgKilh cHBlbmRfcHRyKTsNCisJaWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwl7DQorCQlzcmNfYWRkciA9IChw aHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgNCisJCQkJcnRlX3BrdG1idWZfbXRvZF9vZmZz ZXQob3AtPnN5bS0+bV9zcmMsIHBoeXNfYWRkcl90KiwNCisJCQkJb3AtPnN5bS0+YXV0aC5kYXRh Lm9mZnNldCkpOw0KKwkJZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJpb3Zh KCh2b2lkICopYXBwZW5kX3B0cik7DQorICAgICAgICAgICAgICAgIGN0eF9wYWRkciA9IChwaHlz X2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgodm9pZA0KKwkJCQkJCSopc2Vzc2lvbi0+YXV0aC5w cmVfY29tcHV0ZSk7DQorCX0NCisJZWxzZQ0KKwl7DQorCQlzcmNfYWRkciA9IHJ0ZV9wa3RtYnVm X210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLA0KKwkJCQkJCW9wLT5zeW0tPmF1dGguZGF0 YS5vZmZzZXQpOw0KKwkJZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHko KHZvaWQgKilhcHBlbmRfcHRyKTsNCisJCWN0eF9wYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVt X3ZpcnQycGh5KCh2b2lkDQorCQkJCQkJKilzZXNzaW9uLT5hdXRoLnByZV9jb21wdXRlKTsNCisJ fQ0KKw0KIAlkZXN0X2FkZHJfdCA9IGRlc3RfYWRkciArIChzZXNzaW9uLT5hdXRoLmN0eF9sZW4g LyAyKTsNCi0JY3R4X3BhZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQN Ci0JCQkJCQkgICAqKXNlc3Npb24tPmF1dGgucHJlX2NvbXB1dGUpOw0KKw0KIAlkZXNjID0gJmNt ZF9xLT5xYmFzZV9kZXNjW2NtZF9xLT5xaWR4XTsNCiAJbWVtc2V0KGRlc2MsIDAsIFFfREVTQ19T SVpFKTsNCiANCkBAIC0xOTY0LDcgKzIwMzAsNyBAQCBjY3BfcGVyZm9ybV9zaGEzKHN0cnVjdCBy dGVfY3J5cHRvX29wICpvcCwNCiAJc3RydWN0IGNjcF9zZXNzaW9uICpzZXNzaW9uOw0KIAl1bmlv biBjY3BfZnVuY3Rpb24gZnVuY3Rpb247DQogCXN0cnVjdCBjY3BfZGVzYyAqZGVzYzsNCi0JdWlu dDhfdCAqY3R4X2FkZHIsICphcHBlbmRfcHRyOw0KKwl1aW50OF90ICpjdHhfYWRkciA9IE5VTEws ICphcHBlbmRfcHRyID0gTlVMTDsNCiAJdWludDMyX3QgdGFpbDsNCiAJcGh5c19hZGRyX3Qgc3Jj X2FkZHIsIGRlc3RfYWRkciwgY3R4X3BhZGRyOw0KIA0KQEAgLTE5NzIsMTggKzIwMzgsMjkgQEAg Y2NwX3BlcmZvcm1fc2hhMyhzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsDQogCQkJCQkgb3AtPnN5 bS0+c2Vzc2lvbiwNCiAJCQkJCWNjcF9jcnlwdG9kZXZfZHJpdmVyX2lkKTsNCiANCi0Jc3JjX2Fk ZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChvcC0+c3ltLT5tX3NyYywNCi0JCQkJCSAg ICAgIG9wLT5zeW0tPmF1dGguZGF0YS5vZmZzZXQpOw0KIAlhcHBlbmRfcHRyID0gKHVpbnQ4X3Qg KilydGVfcGt0bWJ1Zl9hcHBlbmQob3AtPnN5bS0+bV9zcmMsDQogCQkJCQkJc2Vzc2lvbi0+YXV0 aC5jdHhfbGVuKTsNCiAJaWYgKCFhcHBlbmRfcHRyKSB7DQogCQlDQ1BfTE9HX0VSUigiQ0NQIE1C VUYgYXBwZW5kIGZhaWxlZFxuIik7DQogCQlyZXR1cm4gLTE7DQogCX0NCi0JZGVzdF9hZGRyID0g KHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQgKilhcHBlbmRfcHRyKTsNCi0JY3R4 X2FkZHIgPSBzZXNzaW9uLT5hdXRoLnNoYTNfY3R4Ow0KLQljdHhfcGFkZHIgPSAocGh5c19hZGRy X3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWN0eF9hZGRyKTsNCisJaWYoaW9tbXVfbW9kZSA9 PSAyKQ0KKwl7DQorCQlzcmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgN CisJCQkJcnRlX3BrdG1idWZfbXRvZF9vZmZzZXQob3AtPnN5bS0+bV9zcmMsIHBoeXNfYWRkcl90 KiwNCisJCQkJb3AtPnN5bS0+YXV0aC5kYXRhLm9mZnNldCkpOw0KKwkJZGVzdF9hZGRyID0gKHBo eXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJpb3ZhKCh2b2lkICopYXBwZW5kX3B0cik7DQorICAgICAg ICAgICAgICAgIGN0eF9wYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgodm9p ZCAqKWN0eF9hZGRyKTsNCisJfQ0KKwllbHNlDQorCXsNCisJCXNyY19hZGRyID0gcnRlX3BrdG1i dWZfbXRvcGh5c19vZmZzZXQob3AtPnN5bS0+bV9zcmMsDQorCQkJCQlvcC0+c3ltLT5hdXRoLmRh dGEub2Zmc2V0KTsNCisJCWRlc3RfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5 KCh2b2lkICopYXBwZW5kX3B0cik7DQorCQljdHhfcGFkZHIgPSAocGh5c19hZGRyX3QpcnRlX21l bV92aXJ0MnBoeSgodm9pZCAqKWN0eF9hZGRyKTsNCisJfQ0KIA0KKwljdHhfYWRkciA9IHNlc3Np b24tPmF1dGguc2hhM19jdHg7DQogCWRlc2MgPSAmY21kX3EtPnFiYXNlX2Rlc2NbY21kX3EtPnFp ZHhdOw0KIAltZW1zZXQoZGVzYywgMCwgUV9ERVNDX1NJWkUpOw0KIA0KQEAgLTIwMzIsMjAgKzIx MDksMzEgQEAgY2NwX3BlcmZvcm1fYWVzX2NtYWMoc3RydWN0IHJ0ZV9jcnlwdG9fb3AgKm9wLA0K IAlzdHJ1Y3QgY2NwX3Bhc3N0aHJ1IHBzdDsNCiAJc3RydWN0IGNjcF9kZXNjICpkZXNjOw0KIAl1 aW50MzJfdCB0YWlsOw0KLQl1aW50OF90ICpzcmNfdGIsICphcHBlbmRfcHRyLCAqY3R4X2FkZHI7 DQorCXVpbnQ4X3QgKnNyY190YiwgKmFwcGVuZF9wdHIgPSBOVUxMLCAqY3R4X2FkZHI7DQogCXBo eXNfYWRkcl90IHNyY19hZGRyLCBkZXN0X2FkZHIsIGtleV9hZGRyOw0KIAlpbnQgbGVuZ3RoLCBu b25fYWxpZ25fbGVuOw0KIA0KIAlzZXNzaW9uID0gKHN0cnVjdCBjY3Bfc2Vzc2lvbiAqKWdldF9z eW1fc2Vzc2lvbl9wcml2YXRlX2RhdGEoDQogCQkJCQkgb3AtPnN5bS0+c2Vzc2lvbiwNCiAJCQkJ CWNjcF9jcnlwdG9kZXZfZHJpdmVyX2lkKTsNCi0Ja2V5X2FkZHIgPSBydGVfbWVtX3ZpcnQycGh5 KHNlc3Npb24tPmF1dGgua2V5X2NjcCk7DQorCWlmKGlvbW11X21vZGUgPT0gMikNCisJew0KKwkJ a2V5X2FkZHIgPSBydGVfbWVtX3ZpcnQyaW92YShzZXNzaW9uLT5hdXRoLmtleV9jY3ApOw0KKwkJ c3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MmlvdmEoDQorCQkJCXJ0ZV9wa3Rt YnVmX210b2Rfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLCBwaHlzX2FkZHJfdCosDQorCQkJCW9wLT5z eW0tPmF1dGguZGF0YS5vZmZzZXQpKTsNCisJCWRlc3RfYWRkciA9IChwaHlzX2FkZHJfdClydGVf bWVtX3ZpcnQyaW92YSgodm9pZCAqKWFwcGVuZF9wdHIpOw0KKwl9DQorCWVsc2UNCisJew0KKwkJ a2V5X2FkZHIgPSBydGVfbWVtX3ZpcnQycGh5KHNlc3Npb24tPmF1dGgua2V5X2NjcCk7DQorCQlz cmNfYWRkciA9IHJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLA0KKwkJ CQkJb3AtPnN5bS0+YXV0aC5kYXRhLm9mZnNldCk7DQorCQlkZXN0X2FkZHIgPSAocGh5c19hZGRy X3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWFwcGVuZF9wdHIpOw0KKwl9DQogDQotCXNyY19h ZGRyID0gcnRlX3BrdG1idWZfbXRvcGh5c19vZmZzZXQob3AtPnN5bS0+bV9zcmMsDQotCQkJCQkg ICAgICBvcC0+c3ltLT5hdXRoLmRhdGEub2Zmc2V0KTsNCiAJYXBwZW5kX3B0ciA9ICh1aW50OF90 ICopcnRlX3BrdG1idWZfYXBwZW5kKG9wLT5zeW0tPm1fc3JjLA0KIAkJCQkJCXNlc3Npb24tPmF1 dGguY3R4X2xlbik7DQotCWRlc3RfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5 KCh2b2lkICopYXBwZW5kX3B0cik7DQogDQogCWZ1bmN0aW9uLnJhdyA9IDA7DQogCUNDUF9BRVNf RU5DUllQVCgmZnVuY3Rpb24pID0gQ0NQX0NJUEhFUl9ESVJfRU5DUllQVDsNCkBAIC0yMDU2LDcg KzIxNDQsMTAgQEAgY2NwX3BlcmZvcm1fYWVzX2NtYWMoc3RydWN0IHJ0ZV9jcnlwdG9fb3AgKm9w LA0KIA0KIAkJY3R4X2FkZHIgPSBzZXNzaW9uLT5hdXRoLnByZV9jb21wdXRlOw0KIAkJbWVtc2V0 KGN0eF9hZGRyLCAwLCBBRVNfQkxPQ0tfU0laRSk7DQotCQlwc3Quc3JjX2FkZHIgPSAocGh5c19h ZGRyX3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWN0eF9hZGRyKTsNCisJCWlmKGlvbW11X21v ZGUgPT0gMikNCisJCQlwc3Quc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0Mmlv dmEoKHZvaWQgKiljdHhfYWRkcik7DQorCQllbHNlDQorCQkJcHN0LnNyY19hZGRyID0gKHBoeXNf YWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQgKiljdHhfYWRkcik7DQogCQlwc3QuZGVzdF9h ZGRyID0gKHBoeXNfYWRkcl90KShjbWRfcS0+c2JfaXYgKiBDQ1BfU0JfQllURVMpOw0KIAkJcHN0 LmxlbiA9IENDUF9TQl9CWVRFUzsNCiAJCXBzdC5kaXIgPSAxOw0KQEAgLTIwOTQsNyArMjE4NSwx MCBAQCBjY3BfcGVyZm9ybV9hZXNfY21hYyhzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsDQogCX0g ZWxzZSB7DQogCQljdHhfYWRkciA9IHNlc3Npb24tPmF1dGgucHJlX2NvbXB1dGUgKyBDQ1BfU0Jf QllURVM7DQogCQltZW1zZXQoY3R4X2FkZHIsIDAsIEFFU19CTE9DS19TSVpFKTsNCi0JCXBzdC5z cmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5KCh2b2lkICopY3R4X2FkZHIp Ow0KKwkJaWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwkJCXBzdC5zcmNfYWRkciA9IChwaHlzX2FkZHJf dClydGVfbWVtX3ZpcnQyaW92YSgodm9pZCAqKWN0eF9hZGRyKTsNCisJCWVsc2UNCisJCQlwc3Qu c3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWN0eF9hZGRy KTsNCiAJCXBzdC5kZXN0X2FkZHIgPSAocGh5c19hZGRyX3QpKGNtZF9xLT5zYl9pdiAqIENDUF9T Ql9CWVRFUyk7DQogCQlwc3QubGVuID0gQ0NQX1NCX0JZVEVTOw0KIAkJcHN0LmRpciA9IDE7DQpA QCAtMjIyMSwxMSArMjMxNSwyMyBAQCBjY3BfcGVyZm9ybV9hZXMoc3RydWN0IHJ0ZV9jcnlwdG9f b3AgKm9wLA0KIA0KIAlkZXNjID0gJmNtZF9xLT5xYmFzZV9kZXNjW2NtZF9xLT5xaWR4XTsNCiAN Ci0Jc3JjX2FkZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChvcC0+c3ltLT5tX3NyYywN CisJaWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwkJc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21l bV92aXJ0MmlvdmEoDQorCQkJCXJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG9wLT5zeW0tPm1fc3Jj LCB2b2lkICosDQorCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCkpOw0KKwllbHNlDQor CQlzcmNfYWRkciA9IHJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLA0K IAkJCQkJICAgICAgb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0KTsNCiAJaWYgKGxpa2VseShv cC0+c3ltLT5tX2RzdCAhPSBOVUxMKSkNCi0JCWRlc3RfYWRkciA9IHJ0ZV9wa3RtYnVmX210b3Bo eXNfb2Zmc2V0KG9wLT5zeW0tPm1fZHN0LA0KLQkJCQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9m ZnNldCk7DQorCXsNCisJCWlmKGlvbW11X21vZGUgPT0gMikNCisJCQlkZXN0X2FkZHIgPSAocGh5 c19hZGRyX3QpcnRlX21lbV92aXJ0MmlvdmEoDQorCQkJCQlydGVfcGt0bWJ1Zl9tdG9kX29mZnNl dChvcC0+c3ltLT5tX2RzdCwgdm9pZCAqLA0KKwkJCQkJb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zm c2V0KSk7DQorCQllbHNlDQorCQkJZGVzdF9hZGRyID0gcnRlX3BrdG1idWZfbXRvcGh5c19vZmZz ZXQob3AtPnN5bS0+bV9kc3QsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0YS5vZmZzZXQpOw0KKwl9DQog CWVsc2UNCiAJCWRlc3RfYWRkciA9IHNyY19hZGRyOw0KIAlrZXlfYWRkciA9IHNlc3Npb24tPmNp cGhlci5rZXlfcGh5czsNCkBAIC0yMjg5LDcgKzIzOTUsMTEgQEAgY2NwX3BlcmZvcm1fM2Rlcyhz dHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsDQogCQlydGVfbWVtY3B5KGxzYl9idWYgKyAoQ0NQX1NC X0JZVEVTIC0gc2Vzc2lvbi0+aXYubGVuZ3RoKSwNCiAJCQkgICBpdiwgc2Vzc2lvbi0+aXYubGVu Z3RoKTsNCiANCi0JCXBzdC5zcmNfYWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQycGh5 KCh2b2lkICopIGxzYl9idWYpOw0KKwkJaWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwkJCXBzdC5zcmNf YWRkciA9IChwaHlzX2FkZHJfdClydGVfbWVtX3ZpcnQyaW92YSgodm9pZCAqKSBsc2JfYnVmKTsN CisJCWVsc2UNCisJCQlwc3Quc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBo eSgodm9pZCAqKSBsc2JfYnVmKTsNCisNCiAJCXBzdC5kZXN0X2FkZHIgPSAocGh5c19hZGRyX3Qp KGNtZF9xLT5zYl9pdiAqIENDUF9TQl9CWVRFUyk7DQogCQlwc3QubGVuID0gQ0NQX1NCX0JZVEVT Ow0KIAkJcHN0LmRpciA9IDE7DQpAQCAtMjMwMywxNiArMjQxMywzMCBAQCBjY3BfcGVyZm9ybV8z ZGVzKHN0cnVjdCBydGVfY3J5cHRvX29wICpvcCwNCiAJCXJldHVybiAtRU5PVFNVUDsNCiAJfQ0K IA0KLQlzcmNfYWRkciA9IHJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fc3Jj LA0KLQkJCQkJICAgICAgb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0KTsNCisJaWYoaW9tbXVf bW9kZSA9PSAyKQ0KKwkJc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MmlvdmEo DQorCQkJCXJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLCB2b2lkICosDQor CQkJCW9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCkpOw0KKwllbHNlDQorCQlzcmNfYWRkciA9 IHJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5jaXBoZXIuZGF0YS5v ZmZzZXQpOw0KIAlpZiAodW5saWtlbHkob3AtPnN5bS0+bV9kc3QgIT0gTlVMTCkpDQotCQlkZXN0 X2FkZHIgPQ0KLQkJCXJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fZHN0LA0K LQkJCQkJCSAgIG9wLT5zeW0tPmNpcGhlci5kYXRhLm9mZnNldCk7DQorCXsNCisJCWlmKGlvbW11 X21vZGUgPT0gMikNCisJCQlkZXN0X2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0Mmlv dmEoDQorCQkJCQlydGVfcGt0bWJ1Zl9tdG9kX29mZnNldChvcC0+c3ltLT5tX2RzdCwgdm9pZCAq LA0KKwkJCQkJb3AtPnN5bS0+Y2lwaGVyLmRhdGEub2Zmc2V0KSk7DQorCQllbHNlDQorCQkJZGVz dF9hZGRyID0gcnRlX3BrdG1idWZfbXRvcGh5c19vZmZzZXQob3AtPnN5bS0+bV9kc3QsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnN5bS0+ Y2lwaGVyLmRhdGEub2Zmc2V0KTsNCisJfQ0KIAllbHNlDQogCQlkZXN0X2FkZHIgPSBzcmNfYWRk cjsNCiANCi0Ja2V5X2FkZHIgPSBydGVfbWVtX3ZpcnQycGh5KHNlc3Npb24tPmNpcGhlci5rZXlf Y2NwKTsNCisJaWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwkJa2V5X2FkZHIgPSBydGVfbWVtX3ZpcnQy aW92YShzZXNzaW9uLT5jaXBoZXIua2V5X2NjcCk7DQorCWVsc2UNCisJCWtleV9hZGRyID0gcnRl X21lbV92aXJ0MnBoeShzZXNzaW9uLT5jaXBoZXIua2V5X2NjcCk7DQogDQogCWRlc2MgPSAmY21k X3EtPnFiYXNlX2Rlc2NbY21kX3EtPnFpZHhdOw0KIA0KQEAgLTIzODUsMTEgKzI1MDksMjMgQEAg Y2NwX3BlcmZvcm1fYWVzX2djbShzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3AsIHN0cnVjdCBjY3Bf cXVldWUgKmNtZF9xKQ0KIAlpdiA9IHJ0ZV9jcnlwdG9fb3BfY3RvZF9vZmZzZXQob3AsIHVpbnQ4 X3QgKiwgc2Vzc2lvbi0+aXYub2Zmc2V0KTsNCiAJa2V5X2FkZHIgPSBzZXNzaW9uLT5jaXBoZXIu a2V5X3BoeXM7DQogDQotCXNyY19hZGRyID0gcnRlX3BrdG1idWZfbXRvcGh5c19vZmZzZXQob3At PnN5bS0+bV9zcmMsDQotCQkJCQkgICAgICBvcC0+c3ltLT5hZWFkLmRhdGEub2Zmc2V0KTsNCisJ aWYoaW9tbXVfbW9kZSA9PSAyKQ0KKwkJc3JjX2FkZHIgPSAocGh5c19hZGRyX3QpcnRlX21lbV92 aXJ0MmlvdmEoDQorCQkJCXJ0ZV9wa3RtYnVmX210b2Rfb2Zmc2V0KG9wLT5zeW0tPm1fc3JjLCB2 b2lkICosDQorCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5vZmZzZXQpKTsNCisJZWxzZQ0KKwkJc3Jj X2FkZHIgPSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChvcC0+c3ltLT5tX3NyYywNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3AtPnN5bS0+YWVhZC5k YXRhLm9mZnNldCk7DQogCWlmICh1bmxpa2VseShvcC0+c3ltLT5tX2RzdCAhPSBOVUxMKSkNCi0J CWRlc3RfYWRkciA9IHJ0ZV9wa3RtYnVmX210b3BoeXNfb2Zmc2V0KG9wLT5zeW0tPm1fZHN0LA0K LQkJCQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5vZmZzZXQpOw0KKwl7DQorCQlpZihpb21tdV9tb2Rl ID09IDIpDQorCQkJZGVzdF9hZGRyID0gKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJpb3ZhKA0K KwkJCQkJcnRlX3BrdG1idWZfbXRvZF9vZmZzZXQob3AtPnN5bS0+bV9kc3QsIHZvaWQgKiwNCisJ CQkJCW9wLT5zeW0tPmFlYWQuZGF0YS5vZmZzZXQpKTsNCisJCWVsc2UNCisJCQlkZXN0X2FkZHIg PSBydGVfcGt0bWJ1Zl9tdG9waHlzX29mZnNldChvcC0+c3ltLT5tX2RzdCwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+c3ltLT5hZWFkLmRhdGEu b2Zmc2V0KTsNCisJfQ0KIAllbHNlDQogCQlkZXN0X2FkZHIgPSBzcmNfYWRkcjsNCiAJcnRlX3Br dG1idWZfYXBwZW5kKG9wLT5zeW0tPm1fc3JjLCBzZXNzaW9uLT5hdXRoLmN0eF9sZW4pOw0KQEAg LTI3MDQsOCArMjg0MCwxNCBAQCBwcm9jZXNzX29wc190b19lbnF1ZXVlKHN0cnVjdCBjY3BfcXAg KnFwLA0KIAliX2luZm8tPmxzYl9idWZfaWR4ID0gMDsNCiAJYl9pbmZvLT5kZXNjY250ID0gMDsN CiAJYl9pbmZvLT5jbWRfcSA9IGNtZF9xOw0KLQliX2luZm8tPmxzYl9idWZfcGh5cyA9DQotCQko cGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MnBoeSgodm9pZCAqKWJfaW5mby0+bHNiX2J1Zik7DQor DQorCWlmKGlvbW11X21vZGUgPT0gMikNCisJCWJfaW5mby0+bHNiX2J1Zl9waHlzID0NCisgICAg ICAgICAgICAgICAgICAgICAgICAocGh5c19hZGRyX3QpcnRlX21lbV92aXJ0MmlvdmEoKHZvaWQg KiliX2luZm8tPmxzYl9idWYpOw0KKwllbHNlDQorCQliX2luZm8tPmxzYl9idWZfcGh5cyA9DQor CQkJKHBoeXNfYWRkcl90KXJ0ZV9tZW1fdmlydDJwaHkoKHZvaWQgKiliX2luZm8tPmxzYl9idWYp Ow0KKw0KIAlydGVfYXRvbWljNjRfc3ViKCZiX2luZm8tPmNtZF9xLT5mcmVlX3Nsb3RzLCBzbG90 c19yZXEpOw0KIA0KIAliX2luZm8tPmhlYWRfb2Zmc2V0ID0gKHVpbnQzMl90KShjbWRfcS0+cWJh c2VfcGh5c19hZGRyICsgY21kX3EtPnFpZHggKg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRv L2NjcC9jY3BfZGV2LmMgYi9kcml2ZXJzL2NyeXB0by9jY3AvY2NwX2Rldi5jDQppbmRleCA4MGZl NmE0NTMuLjY5YmE2MWEzZCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvY3J5cHRvL2NjcC9jY3BfZGV2 LmMNCisrKyBiL2RyaXZlcnMvY3J5cHRvL2NjcC9jY3BfZGV2LmMNCkBAIC0yMyw2ICsyMyw4IEBA DQogI2luY2x1ZGUgImNjcF9wY2kuaCINCiAjaW5jbHVkZSAiY2NwX3BtZF9wcml2YXRlLmgiDQog DQoraW50IGlvbW11X21vZGUgPSAwOw0KKw0KIHN0cnVjdCBjY3BfbGlzdCBjY3BfbGlzdCA9IFRB SUxRX0hFQURfSU5JVElBTElaRVIoY2NwX2xpc3QpOw0KIHN0YXRpYyBpbnQgY2NwX2Rldl9pZDsN CiANCkBAIC01MTIsNyArNTE0LDcgQEAgY2NwX2FkZF9kZXZpY2Uoc3RydWN0IGNjcF9kZXZpY2Ug KmRldiwgaW50IHR5cGUpDQogDQogCQlDQ1BfV1JJVEVfUkVHKHZhZGRyLCBDTURfQ0xLX0dBVEVf Q1RMX09GRlNFVCwgMHgwMDEwODgyMyk7DQogCX0NCi0JQ0NQX1dSSVRFX1JFRyh2YWRkciwgQ01E X1JFUUlEX0NPTkZJR19PRkZTRVQsIDB4MDAwMDEyNDkpOw0KKwlDQ1BfV1JJVEVfUkVHKHZhZGRy LCBDTURfUkVRSURfQ09ORklHX09GRlNFVCwgMHgwKTsNCiANCiAJLyogQ29weSB0aGUgcHJpdmF0 ZSBMU0IgbWFzayB0byB0aGUgcHVibGljIHJlZ2lzdGVycyAqLw0KIAlzdGF0dXNfbG8gPSBDQ1Bf UkVBRF9SRUcodmFkZHIsIExTQl9QUklWQVRFX01BU0tfTE9fT0ZGU0VUKTsNCkBAIC02NTcsOSAr NjU5LDcgQEAgY2NwX3Byb2JlX2RldmljZShjb25zdCBjaGFyICpkaXJuYW1lLCB1aW50MTZfdCBk b21haW4sDQogCXN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpOw0KIAljaGFyIGZpbGVuYW1lW1BB VEhfTUFYXTsNCiAJdW5zaWduZWQgbG9uZyB0bXA7DQotCWludCB1aW9fZmQgPSAtMSwgaSwgdWlv X251bTsNCi0JY2hhciB1aW9fZGV2bmFtZVtQQVRIX01BWF07DQotCXZvaWQgKm1hcF9hZGRyOw0K KwlpbnQgdWlvX2ZkID0gLTE7DQogDQogCWNjcF9kZXYgPSBydGVfem1hbGxvYygiY2NwX2Rldmlj ZSIsIHNpemVvZigqY2NwX2RldiksDQogCQkJICAgICAgUlRFX0NBQ0hFX0xJTkVfU0laRSk7DQpA QCAtNzEwLDQ2ICs3MTAsMTQgQEAgY2NwX3Byb2JlX2RldmljZShjb25zdCBjaGFyICpkaXJuYW1l LCB1aW50MTZfdCBkb21haW4sDQogCXNucHJpbnRmKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUp LCAiJXMvcmVzb3VyY2UiLCBkaXJuYW1lKTsNCiAJaWYgKGNjcF9wY2lfcGFyc2Vfc3lzZnNfcmVz b3VyY2UoZmlsZW5hbWUsIHBjaSkgPCAwKQ0KIAkJZ290byBmYWlsOw0KKwlpZihpb21tdV9tb2Rl ID09IDIpDQorCQlwY2ktPmtkcnYgPSBSVEVfS0RSVl9WRklPOw0KKwllbHNlIGlmKGlvbW11X21v ZGUgPT0gMCkNCisJCXBjaS0+a2RydiA9IFJURV9LRFJWX0lHQl9VSU87DQorCWVsc2UgaWYgKGlv bW11X21vZGUgPT0gMSkNCisJCXBjaS0+a2RydiA9IFJURV9LRFJWX1VJT19HRU5FUklDOw0KIA0K LQl1aW9fbnVtID0gY2NwX2ZpbmRfdWlvX2Rldm5hbWUoZGlybmFtZSk7DQotCWlmICh1aW9fbnVt IDwgMCkgew0KLQkJLyoNCi0JCSAqIEl0IG1heSB0YWtlIHRpbWUgZm9yIHVpbyBkZXZpY2UgdG8g YXBwZWFyLA0KLQkJICogd2FpdCAgaGVyZSBhbmQgdHJ5IGFnYWluDQotCQkgKi8NCi0JCXVzbGVl cCgxMDAwMDApOw0KLQkJdWlvX251bSA9IGNjcF9maW5kX3Vpb19kZXZuYW1lKGRpcm5hbWUpOw0K LQkJaWYgKHVpb19udW0gPCAwKQ0KLQkJCWdvdG8gZmFpbDsNCi0JfQ0KLQlzbnByaW50Zih1aW9f ZGV2bmFtZSwgc2l6ZW9mKHVpb19kZXZuYW1lKSwgIi9kZXYvdWlvJXUiLCB1aW9fbnVtKTsNCi0N Ci0JdWlvX2ZkID0gb3Blbih1aW9fZGV2bmFtZSwgT19SRFdSIHwgT19OT05CTE9DSyk7DQotCWlm ICh1aW9fZmQgPCAwKQ0KLQkJZ290byBmYWlsOw0KLQlpZiAoZmxvY2sodWlvX2ZkLCBMT0NLX0VY IHwgTE9DS19OQikpDQotCQlnb3RvIGZhaWw7DQotDQotCS8qIE1hcCB0aGUgUENJIG1lbW9yeSBy ZXNvdXJjZSBvZiBkZXZpY2UgKi8NCi0JZm9yIChpID0gMDsgaSA8IFBDSV9NQVhfUkVTT1VSQ0U7 IGkrKykgew0KLQ0KLQkJY2hhciBkZXZuYW1lW1BBVEhfTUFYXTsNCi0JCWludCByZXNfZmQ7DQot DQotCQlpZiAocGNpLT5tZW1fcmVzb3VyY2VbaV0ucGh5c19hZGRyID09IDApDQotCQkJY29udGlu dWU7DQotCQlzbnByaW50ZihkZXZuYW1lLCBzaXplb2YoZGV2bmFtZSksICIlcy9yZXNvdXJjZSVk IiwgZGlybmFtZSwgaSk7DQotCQlyZXNfZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRXUik7DQotCQlp ZiAocmVzX2ZkIDwgMCkNCi0JCQlnb3RvIGZhaWw7DQotCQltYXBfYWRkciA9IG1tYXAoTlVMTCwg cGNpLT5tZW1fcmVzb3VyY2VbaV0ubGVuLA0KLQkJCQlQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLA0K LQkJCQlNQVBfU0hBUkVELCByZXNfZmQsIDApOw0KLQkJaWYgKG1hcF9hZGRyID09IE1BUF9GQUlM RUQpDQotCQkJZ290byBmYWlsOw0KLQ0KLQkJcGNpLT5tZW1fcmVzb3VyY2VbaV0uYWRkciA9IG1h cF9hZGRyOw0KLQl9DQorCXJ0ZV9wY2lfbWFwX2RldmljZShwY2kpOw0KIA0KIAkvKiBkZXZpY2Ug aXMgdmFsaWQsIGFkZCBpbiBsaXN0ICovDQogCWlmIChjY3BfYWRkX2RldmljZShjY3BfZGV2LCBj Y3BfdHlwZSkpIHsNCkBAIC03ODMsNyArNzUxLDcgQEAgY2NwX3Byb2JlX2RldmljZXMoY29uc3Qg c3RydWN0IHJ0ZV9wY2lfaWQgKmNjcF9pZCkNCiAJbW9kdWxlX2lkeCA9IGNjcF9jaGVja19wY2lf dWlvX21vZHVsZSgpOw0KIAlpZiAobW9kdWxlX2lkeCA8IDApDQogCQlyZXR1cm4gLTE7DQotDQor CWlvbW11X21vZGUgPSBtb2R1bGVfaWR4Ow0KIAlUQUlMUV9JTklUKCZjY3BfbGlzdCk7DQogCWRp ciA9IG9wZW5kaXIoU1lTRlNfUENJX0RFVklDRVMpOw0KIAlpZiAoZGlyID09IE5VTEwpDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9kZXYuaCBiL2RyaXZlcnMvY3J5cHRvL2Nj cC9jY3BfZGV2LmgNCmluZGV4IGRlM2U0YmNjNi4uZjRhZDllYWZkIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9jcnlwdG8vY2NwL2NjcF9kZXYuaA0KKysrIGIvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9k ZXYuaA0KQEAgLTU5LDcgKzU5LDcgQEANCiAjZGVmaW5lIENNRF9RX1JVTgkJCTB4MQ0KICNkZWZp bmUgQ01EX1FfU0laRQkJCTB4MUYNCiAjZGVmaW5lIENNRF9RX1NISUZUCQkJMw0KLSNkZWZpbmUg Q09NTUFORFNfUEVSX1FVRVVFCQkyMDQ4DQorI2RlZmluZSBDT01NQU5EU19QRVJfUVVFVUUJCTgx OTINCiANCiAjZGVmaW5lIFFVRVVFX1NJWkVfVkFMICAgICAgICAgICAgICAgICAgKChmZnMoQ09N TUFORFNfUEVSX1FVRVVFKSAtIDIpICYgXA0KIAkJCQkJIENNRF9RX1NJWkUpDQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9wY2kuYyBiL2RyaXZlcnMvY3J5cHRvL2NjcC9jY3Bf cGNpLmMNCmluZGV4IDE3MDJhMDljNC4uMzgwMjlhOTA4IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9j cnlwdG8vY2NwL2NjcF9wY2kuYw0KKysrIGIvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9wY2kuYw0K QEAgLTE1LDYgKzE1LDcgQEANCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVpb19tb2R1bGVf bmFtZXNbXSA9IHsNCiAJImlnYl91aW8iLA0KIAkidWlvX3BjaV9nZW5lcmljIiwNCisJInZmaW9f cGNpIg0KIH07DQogDQogaW50DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9w Y2kuaCBiL2RyaXZlcnMvY3J5cHRvL2NjcC9jY3BfcGNpLmgNCmluZGV4IDdlZDNiYWM0MC4uYmNk ZTFkOTcwIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9wY2kuaA0KKysrIGIv ZHJpdmVycy9jcnlwdG8vY2NwL2NjcF9wY2kuaA0KQEAgLTEyLDYgKzEyLDcgQEANCiAjZGVmaW5l IFNZU0ZTX1BDSV9ERVZJQ0VTICIvc3lzL2J1cy9wY2kvZGV2aWNlcyINCiAjZGVmaW5lIFBST0Nf TU9EVUxFUyAiL3Byb2MvbW9kdWxlcyINCiANCisNCiBpbnQgY2NwX2NoZWNrX3BjaV91aW9fbW9k dWxlKHZvaWQpOw0KIA0KIGludCBjY3BfcGFyc2VfcGNpX2FkZHJfZm9ybWF0KGNvbnN0IGNoYXIg KmJ1ZiwgaW50IGJ1ZnNpemUsIHVpbnQxNl90ICpkb21haW4sDQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9jcnlwdG8vY2NwL3J0ZV9jY3BfcG1kLmMgYi9kcml2ZXJzL2NyeXB0by9jY3AvcnRlX2NjcF9w bWQuYw0KaW5kZXggNDgxMGQ3OTljLi40NTIyMTA5N2QgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2Ny eXB0by9jY3AvcnRlX2NjcF9wbWQuYw0KKysrIGIvZHJpdmVycy9jcnlwdG8vY2NwL3J0ZV9jY3Bf cG1kLmMNCkBAIC0yMiw2ICsyMiw3IEBADQogICovDQogc3RhdGljIHVuc2lnbmVkIGludCBjY3Bf cG1kX2luaXRfZG9uZTsNCiB1aW50OF90IGNjcF9jcnlwdG9kZXZfZHJpdmVyX2lkOw0KK2V4dGVy biB2b2lkICpzaGFfY3R4Ow0KIA0KIHN0cnVjdCBjY3BfcG1kX2luaXRfcGFyYW1zIHsNCiAJc3Ry dWN0IHJ0ZV9jcnlwdG9kZXZfcG1kX2luaXRfcGFyYW1zIGRlZl9wOw0KQEAgLTI3OSw2ICsyODAs NyBAQCBjcnlwdG9kZXZfY2NwX3JlbW92ZShzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpkZXYpDQog DQogCWNjcF9wbWRfaW5pdF9kb25lID0gMDsNCiAJbmFtZSA9IHJ0ZV92ZGV2X2RldmljZV9uYW1l KGRldik7DQorCXJ0ZV9mcmVlKCh2b2lkKikgc2hhX2N0eCk7DQogCWlmIChuYW1lID09IE5VTEwp DQogCQlyZXR1cm4gLUVJTlZBTDsNCiANCkBAIC0yOTYsNyArMjk4LDYgQEAgY3J5cHRvZGV2X2Nj cF9jcmVhdGUoY29uc3QgY2hhciAqbmFtZSwNCiB7DQogCXN0cnVjdCBydGVfY3J5cHRvZGV2ICpk ZXY7DQogCXN0cnVjdCBjY3BfcHJpdmF0ZSAqaW50ZXJuYWxzOw0KLQl1aW50OF90IGNyeXB0b2Rl dl9jbnQgPSAwOw0KIA0KIAlpZiAoaW5pdF9wYXJhbXMtPmRlZl9wLm5hbWVbMF0gPT0gJ1wwJykN CiAJCXN0cmxjcHkoaW5pdF9wYXJhbXMtPmRlZl9wLm5hbWUsIG5hbWUsDQpAQCAtMzYxLDcgKzM2 Miw3IEBAIGNyeXB0b2Rldl9jY3BfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqdmRldikN CiAJCS5hdXRoX29wdCA9IENDUF9QTURfQVVUSF9PUFRfQ0NQLA0KIAl9Ow0KIAljb25zdCBjaGFy ICppbnB1dF9hcmdzOw0KLQ0KKwlzaGFfY3R4ID0gKHZvaWQgKilydGVfbWFsbG9jKE5VTEwsU0hB NTEyX0RJR0VTVF9TSVpFLDY0KTsNCiAJaWYgKGNjcF9wbWRfaW5pdF9kb25lKSB7DQogCQlSVEVf TE9HKElORk8sIFBNRCwgIkNDUCBQTUQgYWxyZWFkeSBpbml0aWFsaXplZFxuIik7DQogCQlyZXR1 cm4gLUVGQVVMVDsNCi0tIA0KMi4xNy4xDQoNCg==