From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 45FD7A00E6 for ; Wed, 17 Apr 2019 17:45:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E47351B758; Wed, 17 Apr 2019 17:45:35 +0200 (CEST) Received: from NAM05-CO1-obe.outbound.protection.outlook.com (mail-eopbgr720087.outbound.protection.outlook.com [40.107.72.87]) by dpdk.org (Postfix) with ESMTP id BF2821B73C for ; Wed, 17 Apr 2019 17:45:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nksbjvBauA0gTfCl1rbWL94FpDS4sPVvYht+d211IVE=; b=jQhlX2nQHfvHqDd+gARloWK5LewRSOLok+ZlLQ4qjGywHVxjwm+RtlvGGeffk+nX5+OCiXXLRWwfKWVuoIaxogp1ajLpiRB2xwsC2qTVnT8k5fL5AvBYBqLRInhsMAZKctDwEOnNqn/U5QEmALdXymeNALR6B49cEfgn2OJRDl4= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3466.namprd11.prod.outlook.com (20.176.123.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Wed, 17 Apr 2019 15:45:30 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653%3]) with mapi id 15.20.1813.011; Wed, 17 Apr 2019 15:45:30 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: "ferruh.yigit@intel.com" , "thomas@monjalon.net" , "arybchenko@solarflare.com" , "konstantin.ananyev@intel.com" , Igor Russkikh , Pavel Belous Thread-Topic: [PATCH v2 2/7] net/atlantic: enable macsec configuration Thread-Index: AQHU9TSWmJUDzQe65EupVNTWzaYyAg== Date: Wed, 17 Apr 2019 15:45:30 +0000 Message-ID: <75675c055efff4b0ea26bf32049cabd98c252c8f.1555515863.git.igor.russkikh@aquantia.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR07CA0027.namprd07.prod.outlook.com (2603:10b6:a02:bc::40) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c8b652f3-b3c9-4078-6fd0-08d6c34bb884 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600140)(711020)(4605104)(2017052603328)(7193020); SRVR:DM6PR11MB3466; x-ms-traffictypediagnostic: DM6PR11MB3466: x-microsoft-antispam-prvs: x-forefront-prvs: 0010D93EFE x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(346002)(396003)(39850400004)(136003)(199004)(189003)(118296001)(2616005)(5660300002)(76176011)(71190400001)(256004)(476003)(6486002)(71200400001)(97736004)(6436002)(11346002)(446003)(14444005)(486006)(44832011)(26005)(186003)(2501003)(52116002)(6506007)(66066001)(4326008)(102836004)(478600001)(86362001)(386003)(25786009)(6512007)(68736007)(72206003)(5640700003)(107886003)(8936002)(2351001)(106356001)(2906002)(6116002)(8676002)(1730700003)(36756003)(7736002)(54906003)(53936002)(3846002)(14454004)(305945005)(99286004)(50226002)(105586002)(316002)(81156014)(81166006)(6916009); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3466; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qjLiEoRi4BwnQ6qecE5Qup45XLD4uNUCXCoHZzuXsQnSonEauKmnwt88mTq/acIamIXD0cD4/LhtNIwQnfsT99o98bdzLncMDr261GtYvLPCpQ81DuvByqCqHN5W4z4K9h4ka7jqobLktKYyDo32HS/qvC4cGlFRMrcyZOGk7ZMxg7wN4zTsrPHkRQxUlS4fijJd1crr0CpF7TL/KjA5fy7R0yrxq1Z5M0CufklzL2SUTLlbc3Q6971w7F7OSsV2ZK3bM9lIRjBTErRF8FWH46DLaTB9BRvMGdFd+xiuhwzb+b/eNoRyMSprMA9RbClLtXbrFYBa2wt41O/iC/yQZvIfxrs7z0t+4W2VQAMG6n3Al8uPT8gnEpnrKM39IXfOlp8LN2MyIzQf6U9fim70rkBYARzCXQwvUHy3AwgnN/8= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8b652f3-b3c9-4078-6fd0-08d6c34bb884 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2019 15:45:30.7556 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3466 Subject: [dpdk-dev] [PATCH v2 2/7] net/atlantic: enable macsec configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Message-ID: <20190417154530.RJORo882PX7LM4p6TZj6MAEseEpFiLmd3B8Lov4wdNU@z> RnJvbTogUGF2ZWwgQmVsb3VzIDxwYXZlbC5iZWxvdXNAYXF1YW50aWEuY29tPg0KDQpUaGlzIGlz IGEgZHJpdmVyIHNpZGUgb2YgbWFjc2VjIGNvbmZpZ3VyYXRpb24gcm91dGluZXMuDQpJdCBmaWxs cyBpbiBjb25maWcgc3RydWN0dXJlcyBhbmQgc2VuZHMgcmVxdWVzdHMgdG8gRlcNCmZvciBjb25m aWd1cmF0aW9uIGFjdGl2aXRpZXMuDQoNCldlIGRlY2xhcmUgbWFjc2VjIG9mZmxvYWQgYml0cyBp biBEUERLIG9mZmxvYWQgY2FwYWJpbGl0aWVzLg0KDQpBbHNvIHVwZGF0ZSBkb2N1bWVudGF0aW9u IHdpdGggZmVhdHVyZSBtYXRyaXggZm9yIHRoZQ0KZW5hYmxlZCBmZWF0dXJlLg0KDQpTaWduZWQt b2ZmLWJ5OiBQYXZlbCBCZWxvdXMgPHBhdmVsLmJlbG91c0BhcXVhbnRpYS5jb20+DQpTaWduZWQt b2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxpZ29yLnJ1c3NraWtoQGFxdWFudGlhLmNvbT4NCi0tLQ0K IGRvYy9ndWlkZXMvbmljcy9hdGxhbnRpYy5yc3QgICAgICAgICAgfCAgIDYgKw0KIGRvYy9ndWlk ZXMvbmljcy9mZWF0dXJlcy9hdGxhbnRpYy5pbmkgfCAgIDEgKw0KIGRyaXZlcnMvbmV0L2F0bGFu dGljL2F0bF9ldGhkZXYuYyAgICAgfCAyMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBk cml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmggICAgIHwgIDEyICsrDQogNCBmaWxlcyBj aGFuZ2VkLCAyMzUgaW5zZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9uaWNz L2F0bGFudGljLnJzdCBiL2RvYy9ndWlkZXMvbmljcy9hdGxhbnRpYy5yc3QNCmluZGV4IDgwNTkx YjEzYzE4NS4uMjJmMjQxMGQwZTlhIDEwMDY0NA0KLS0tIGEvZG9jL2d1aWRlcy9uaWNzL2F0bGFu dGljLnJzdA0KKysrIGIvZG9jL2d1aWRlcy9uaWNzL2F0bGFudGljLnJzdA0KQEAgLTE5LDYgKzE5 LDEyIEBAIFN1cHBvcnRlZCBmZWF0dXJlcw0KIC0gUlNTIChSZWNlaXZlIFNpZGUgU2NhbGluZykN CiAtIENoZWNrc3VtIG9mZmxvYWQNCiAtIEp1bWJvIEZyYW1lIHVwdG8gMTZLDQorLSBNQUNTRUMg b2ZmbG9hZA0KKw0KK0V4cGVyaW1lbnRhbCBBUEkgZmVhdHVyZXMNCiteXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eDQorDQorLSBNQUNTRUMgUE1EIEFQSSBpcyBjb25zaWRlcmVkIGFzIGV4cGVyaW1l bnRhbCBhbmQgaXMgc3ViamVjdCB0byBjaGFuZ2UvcmVtb3ZhbCBpbiBuZXh0IERQREsgcmVsZWFz ZXMuDQogDQogQ29uZmlndXJhdGlvbiBJbmZvcm1hdGlvbg0KIF5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl4NCmRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMvYXRsYW50aWMuaW5p IGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2F0bGFudGljLmluaQ0KaW5kZXggNWVkMDk1YjE0 MzIzLi4yYmI4ZWNjMDE3ODkgMTAwNjQ0DQotLS0gYS9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMv YXRsYW50aWMuaW5pDQorKysgYi9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMvYXRsYW50aWMuaW5p DQpAQCAtMjAsNiArMjAsNyBAQCBWTEFOIGZpbHRlciAgICAgICAgICA9IFkNCiBGbG93IGNvbnRy b2wgICAgICAgICA9IFkNCiBDUkMgb2ZmbG9hZCAgICAgICAgICA9IFkNCiBWTEFOIG9mZmxvYWQg ICAgICAgICA9IFkNCitNQUNzZWMgb2ZmbG9hZCAgICAgICA9IFkNCiBMMyBjaGVja3N1bSBvZmZs b2FkICA9IFkNCiBMNCBjaGVja3N1bSBvZmZsb2FkICA9IFkNCiBQYWNrZXQgdHlwZSBwYXJzaW5n ICA9IFkNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMgYi9k cml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCmluZGV4IDgzMjc4NjNjZDliNi4uMWU5 MWYxNjJmNmMyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5j DQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCkBAIC0xNjcsNiArMTY3 LDcgQEAgc3RhdGljIHN0cnVjdCBydGVfcGNpX2RyaXZlciBydGVfYXRsX3BtZCA9IHsNCiAJCQl8 IERFVl9SWF9PRkZMT0FEX1VEUF9DS1NVTSBcDQogCQkJfCBERVZfUlhfT0ZGTE9BRF9UQ1BfQ0tT VU0gXA0KIAkJCXwgREVWX1JYX09GRkxPQURfSlVNQk9fRlJBTUUgXA0KKwkJCXwgREVWX1JYX09G RkxPQURfTUFDU0VDX1NUUklQIFwNCiAJCQl8IERFVl9SWF9PRkZMT0FEX1ZMQU5fRklMVEVSKQ0K IA0KICNkZWZpbmUgQVRMX1RYX09GRkxPQURTIChERVZfVFhfT0ZGTE9BRF9WTEFOX0lOU0VSVCBc DQpAQCAtMTc0LDYgKzE3NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgcnRlX2F0 bF9wbWQgPSB7DQogCQkJfCBERVZfVFhfT0ZGTE9BRF9VRFBfQ0tTVU0gXA0KIAkJCXwgREVWX1RY X09GRkxPQURfVENQX0NLU1VNIFwNCiAJCQl8IERFVl9UWF9PRkZMT0FEX1RDUF9UU08gXA0KKwkJ CXwgREVWX1RYX09GRkxPQURfTUFDU0VDX0lOU0VSVCBcDQogCQkJfCBERVZfVFhfT0ZGTE9BRF9N VUxUSV9TRUdTKQ0KIA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9kZXNjX2xpbSByeF9k ZXNjX2xpbSA9IHsNCkBAIC02OTgsNiArNzAwLDIwNSBAQCBhdGxfZGV2X3Jlc2V0KHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2KQ0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCitzdGF0aWMgaW50DQorYXRs X2Rldl9jb25maWd1cmVfbWFjc2VjKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KK3sNCisJc3Ry dWN0IGFxX2h3X3MgKmh3ID0gQVRMX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpOw0KKwlzdHJ1Y3QgYXFfaHdfY2ZnX3MgKmNmID0gQVRMX0RFVl9QUklWQVRFX1RPX0NG RyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCisJc3RydWN0IGFxX21hY3NlY19jb25maWcgKmFx Y2ZnID0gJmNmLT5hcV9tYWNzZWM7DQorCXN0cnVjdCBtYWNzZWNfbXNnX2Z3X3JlcXVlc3QgbXNn X21hY3NlYzsNCisJc3RydWN0IG1hY3NlY19tc2dfZndfcmVzcG9uc2UgcmVzcG9uc2U7DQorDQor CWlmICghYXFjZmctPmNvbW1vbi5tYWNzZWNfZW5hYmxlZCB8fA0KKwkgICAgaHctPmFxX2Z3X29w cy0+c2VuZF9tYWNzZWNfcmVxID09IE5VTEwpDQorCQlyZXR1cm4gMDsNCisNCisJbWVtc2V0KCZt c2dfbWFjc2VjLCAwLCBzaXplb2YobXNnX21hY3NlYykpOw0KKw0KKwkvKiBDcmVhdGluZyBzZXQg b2Ygc2Mvc2Egc3RydWN0dXJlcyBmcm9tIHBhcmFtZXRlcnMgcHJvdmlkZWQgYnkgRFBESyAqLw0K Kw0KKwkvKiBDb25maWd1cmUgbWFjc2VjICovDQorCW1zZ19tYWNzZWMubXNnX3R5cGUgPSBtYWNz ZWNfY2ZnX21zZzsNCisJbXNnX21hY3NlYy5jZmcuZW5hYmxlZCA9IGFxY2ZnLT5jb21tb24ubWFj c2VjX2VuYWJsZWQ7DQorCW1zZ19tYWNzZWMuY2ZnLmludGVycnVwdHNfZW5hYmxlZCA9IDE7DQor DQorCWh3LT5hcV9md19vcHMtPnNlbmRfbWFjc2VjX3JlcShodywgJm1zZ19tYWNzZWMsICZyZXNw b25zZSk7DQorDQorCWlmIChyZXNwb25zZS5yZXN1bHQpDQorCQlyZXR1cm4gLTE7DQorDQorCW1l bXNldCgmbXNnX21hY3NlYywgMCwgc2l6ZW9mKG1zZ19tYWNzZWMpKTsNCisNCisJLyogQ29uZmln dXJlIFRYIFNDICovDQorDQorCW1zZ19tYWNzZWMubXNnX3R5cGUgPSBtYWNzZWNfYWRkX3R4X3Nj X21zZzsNCisJbXNnX21hY3NlYy50eHNjLmluZGV4ID0gMDsgLyogVFhTQyBhbHdheXMgb25lICg/ PykgKi8NCisJbXNnX21hY3NlYy50eHNjLnByb3RlY3QgPSBhcWNmZy0+Y29tbW9uLmVuY3J5cHRp b25fZW5hYmxlZDsNCisNCisJLyogTUFDIGFkZHIgZm9yIFRYICovDQorCW1zZ19tYWNzZWMudHhz Yy5tYWNfc2FbMF0gPSBydGVfYnN3YXAzMihhcWNmZy0+dHhzYy5tYWNbMV0pOw0KKwltc2dfbWFj c2VjLnR4c2MubWFjX3NhWzFdID0gcnRlX2Jzd2FwMzIoYXFjZmctPnR4c2MubWFjWzBdKTsNCisJ bXNnX21hY3NlYy50eHNjLnNhX21hc2sgPSAweDNmOw0KKw0KKwltc2dfbWFjc2VjLnR4c2MuZGFf bWFzayA9IDA7DQorCW1zZ19tYWNzZWMudHhzYy50Y2kgPSAweDBCOw0KKwltc2dfbWFjc2VjLnR4 c2MuY3Vycl9hbiA9IDA7IC8qIFNBIGluZGV4IHdoaWNoIGN1cnJlbnRseSB1c2VkICovDQorDQor CS8qDQorCSAqIENyZWF0aW5nIFNDSSAoU2VjdXJlIENoYW5uZWwgSWRlbnRpZmllcikuDQorCSAq IFNDSSBjb25zdHJ1Y3RlZCBmcm9tIFNvdXJjZSBNQUMgYW5kIFBvcnQgaWRlbnRpZmllcg0KKwkg Ki8NCisJdWludDMyX3Qgc2NpX2hpX3BhcnQgPSAobXNnX21hY3NlYy50eHNjLm1hY19zYVsxXSA8 PCAxNikgfA0KKwkJCSAgICAgICAobXNnX21hY3NlYy50eHNjLm1hY19zYVswXSA+PiAxNik7DQor CXVpbnQzMl90IHNjaV9sb3dfcGFydCA9IChtc2dfbWFjc2VjLnR4c2MubWFjX3NhWzBdIDw8IDE2 KTsNCisNCisJdWludDMyX3QgcG9ydF9pZGVudGlmaWVyID0gMTsNCisNCisJbXNnX21hY3NlYy50 eHNjLnNjaVsxXSA9IHNjaV9oaV9wYXJ0Ow0KKwltc2dfbWFjc2VjLnR4c2Muc2NpWzBdID0gc2Np X2xvd19wYXJ0IHwgcG9ydF9pZGVudGlmaWVyOw0KKw0KKwlody0+YXFfZndfb3BzLT5zZW5kX21h Y3NlY19yZXEoaHcsICZtc2dfbWFjc2VjLCAmcmVzcG9uc2UpOw0KKw0KKwlpZiAocmVzcG9uc2Uu cmVzdWx0KQ0KKwkJcmV0dXJuIC0xOw0KKw0KKwltZW1zZXQoJm1zZ19tYWNzZWMsIDAsIHNpemVv Zihtc2dfbWFjc2VjKSk7DQorDQorCS8qIENvbmZpZ3VyZSBSWCBTQyAqLw0KKw0KKwltc2dfbWFj c2VjLm1zZ190eXBlID0gbWFjc2VjX2FkZF9yeF9zY19tc2c7DQorCW1zZ19tYWNzZWMucnhzYy5p bmRleCA9IGFxY2ZnLT5yeHNjLnBpOw0KKwltc2dfbWFjc2VjLnJ4c2MucmVwbGF5X3Byb3RlY3Qg PQ0KKwkJYXFjZmctPmNvbW1vbi5yZXBsYXlfcHJvdGVjdGlvbl9lbmFibGVkOw0KKwltc2dfbWFj c2VjLnJ4c2MuYW50aV9yZXBsYXlfd2luZG93ID0gMDsNCisNCisJLyogTUFDIGFkZHIgZm9yIFJY ICovDQorCW1zZ19tYWNzZWMucnhzYy5tYWNfZGFbMF0gPSBydGVfYnN3YXAzMihhcWNmZy0+cnhz Yy5tYWNbMV0pOw0KKwltc2dfbWFjc2VjLnJ4c2MubWFjX2RhWzFdID0gcnRlX2Jzd2FwMzIoYXFj ZmctPnJ4c2MubWFjWzBdKTsNCisJbXNnX21hY3NlYy5yeHNjLmRhX21hc2sgPSAwOy8vMHgzZjsN CisNCisJbXNnX21hY3NlYy5yeHNjLnNhX21hc2sgPSAwOw0KKw0KKwlody0+YXFfZndfb3BzLT5z ZW5kX21hY3NlY19yZXEoaHcsICZtc2dfbWFjc2VjLCAmcmVzcG9uc2UpOw0KKw0KKwlpZiAocmVz cG9uc2UucmVzdWx0KQ0KKwkJcmV0dXJuIC0xOw0KKw0KKwltZW1zZXQoJm1zZ19tYWNzZWMsIDAs IHNpemVvZihtc2dfbWFjc2VjKSk7DQorDQorCS8qIENvbmZpZ3VyZSBSWCBTQyAqLw0KKw0KKwlt c2dfbWFjc2VjLm1zZ190eXBlID0gbWFjc2VjX2FkZF90eF9zYV9tc2c7DQorCW1zZ19tYWNzZWMu dHhzYS5pbmRleCA9IGFxY2ZnLT50eHNhLmlkeDsNCisJbXNnX21hY3NlYy50eHNhLm5leHRfcG4g PSBhcWNmZy0+dHhzYS5wbjsNCisNCisJbXNnX21hY3NlYy50eHNhLmtleVswXSA9IHJ0ZV9ic3dh cDMyKGFxY2ZnLT50eHNhLmtleVszXSk7DQorCW1zZ19tYWNzZWMudHhzYS5rZXlbMV0gPSBydGVf YnN3YXAzMihhcWNmZy0+dHhzYS5rZXlbMl0pOw0KKwltc2dfbWFjc2VjLnR4c2Eua2V5WzJdID0g cnRlX2Jzd2FwMzIoYXFjZmctPnR4c2Eua2V5WzFdKTsNCisJbXNnX21hY3NlYy50eHNhLmtleVsz XSA9IHJ0ZV9ic3dhcDMyKGFxY2ZnLT50eHNhLmtleVswXSk7DQorDQorCWh3LT5hcV9md19vcHMt PnNlbmRfbWFjc2VjX3JlcShodywgJm1zZ19tYWNzZWMsICZyZXNwb25zZSk7DQorDQorCWlmIChy ZXNwb25zZS5yZXN1bHQpDQorCQlyZXR1cm4gLTE7DQorDQorCW1lbXNldCgmbXNnX21hY3NlYywg MCwgc2l6ZW9mKG1zZ19tYWNzZWMpKTsNCisNCisJLyogQ29uZmlndXJlIFJYIFNBICovDQorDQor CW1zZ19tYWNzZWMubXNnX3R5cGUgPSBtYWNzZWNfYWRkX3J4X3NhX21zZzsNCisJbXNnX21hY3Nl Yy5yeHNhLmluZGV4ID0gYXFjZmctPnJ4c2EuaWR4Ow0KKwltc2dfbWFjc2VjLnJ4c2EubmV4dF9w biA9IGFxY2ZnLT5yeHNhLnBuOw0KKw0KKwltc2dfbWFjc2VjLnJ4c2Eua2V5WzBdID0gcnRlX2Jz d2FwMzIoYXFjZmctPnJ4c2Eua2V5WzNdKTsNCisJbXNnX21hY3NlYy5yeHNhLmtleVsxXSA9IHJ0 ZV9ic3dhcDMyKGFxY2ZnLT5yeHNhLmtleVsyXSk7DQorCW1zZ19tYWNzZWMucnhzYS5rZXlbMl0g PSBydGVfYnN3YXAzMihhcWNmZy0+cnhzYS5rZXlbMV0pOw0KKwltc2dfbWFjc2VjLnJ4c2Eua2V5 WzNdID0gcnRlX2Jzd2FwMzIoYXFjZmctPnJ4c2Eua2V5WzBdKTsNCisNCisJaHctPmFxX2Z3X29w cy0+c2VuZF9tYWNzZWNfcmVxKGh3LCAmbXNnX21hY3NlYywgJnJlc3BvbnNlKTsNCisNCisJaWYg KHJlc3BvbnNlLnJlc3VsdCkNCisJCXJldHVybiAtMTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0K K2ludCBhdGxfbWFjc2VjX2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCisJCSAgICAg IHVpbnQ4X3QgZW5jciwgdWludDhfdCByZXBsX3Byb3QpDQorew0KKwlzdHJ1Y3QgYXFfaHdfY2Zn X3MgKmNmZyA9DQorCQlBVExfREVWX1BSSVZBVEVfVE9fQ0ZHKGRldi0+ZGF0YS0+ZGV2X3ByaXZh dGUpOw0KKw0KKwljZmctPmFxX21hY3NlYy5jb21tb24ubWFjc2VjX2VuYWJsZWQgPSAxOw0KKwlj ZmctPmFxX21hY3NlYy5jb21tb24uZW5jcnlwdGlvbl9lbmFibGVkID0gZW5jcjsNCisJY2ZnLT5h cV9tYWNzZWMuY29tbW9uLnJlcGxheV9wcm90ZWN0aW9uX2VuYWJsZWQgPSByZXBsX3Byb3Q7DQor DQorCXJldHVybiAwOw0KK30NCisNCitpbnQgYXRsX21hY3NlY19kaXNhYmxlKHN0cnVjdCBydGVf ZXRoX2RldiAqZGV2KQ0KK3sNCisJc3RydWN0IGFxX2h3X2NmZ19zICpjZmcgPQ0KKwkJQVRMX0RF Vl9QUklWQVRFX1RPX0NGRyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCisNCisJY2ZnLT5hcV9t YWNzZWMuY29tbW9uLm1hY3NlY19lbmFibGVkID0gMDsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0K K2ludCBhdGxfbWFjc2VjX2NvbmZpZ190eHNjKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50 OF90ICptYWMpDQorew0KKwlzdHJ1Y3QgYXFfaHdfY2ZnX3MgKmNmZyA9DQorCQlBVExfREVWX1BS SVZBVEVfVE9fQ0ZHKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKw0KKwltZW1zZXQoJmNmZy0+ YXFfbWFjc2VjLnR4c2MubWFjLCAwLCBzaXplb2YoY2ZnLT5hcV9tYWNzZWMudHhzYy5tYWMpKTsN CisJbWVtY3B5KCh1aW50OF90ICopJmNmZy0+YXFfbWFjc2VjLnR4c2MubWFjICsgMiwgbWFjLCBF VEhFUl9BRERSX0xFTik7DQorDQorCXJldHVybiAwOw0KK30NCisNCitpbnQgYXRsX21hY3NlY19j b25maWdfcnhzYyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCisJCQkgICB1aW50OF90ICptYWMs IHVpbnQxNl90IHBpKQ0KK3sNCisJc3RydWN0IGFxX2h3X2NmZ19zICpjZmcgPQ0KKwkJQVRMX0RF Vl9QUklWQVRFX1RPX0NGRyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCisNCisJbWVtc2V0KCZj ZmctPmFxX21hY3NlYy5yeHNjLm1hYywgMCwgc2l6ZW9mKGNmZy0+YXFfbWFjc2VjLnJ4c2MubWFj KSk7DQorCW1lbWNweSgodWludDhfdCAqKSZjZmctPmFxX21hY3NlYy5yeHNjLm1hYyArIDIsIG1h YywgRVRIRVJfQUREUl9MRU4pOw0KKwljZmctPmFxX21hY3NlYy5yeHNjLnBpID0gcGk7DQorDQor CXJldHVybiAwOw0KK30NCisNCitpbnQgYXRsX21hY3NlY19zZWxlY3RfdHhzYShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwNCisJCQkgICB1aW50OF90IGlkeCwgdWludDhfdCBhbiwNCisJCQkgICB1 aW50MzJfdCBwbiwgdWludDhfdCAqa2V5KQ0KK3sNCisJc3RydWN0IGFxX2h3X2NmZ19zICpjZmcg PQ0KKwkJQVRMX0RFVl9QUklWQVRFX1RPX0NGRyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCisN CisJY2ZnLT5hcV9tYWNzZWMudHhzYS5pZHggPSBpZHg7DQorCWNmZy0+YXFfbWFjc2VjLnR4c2Eu cG4gPSBwbjsNCisJY2ZnLT5hcV9tYWNzZWMudHhzYS5hbiA9IGFuOw0KKw0KKwltZW1jcHkoJmNm Zy0+YXFfbWFjc2VjLnR4c2Eua2V5LCBrZXksIDE2KTsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK2lu dCBhdGxfbWFjc2VjX3NlbGVjdF9yeHNhKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KKwkJCSAg IHVpbnQ4X3QgaWR4LCB1aW50OF90IGFuLA0KKwkJCSAgIHVpbnQzMl90IHBuLCB1aW50OF90ICpr ZXkpDQorew0KKwlzdHJ1Y3QgYXFfaHdfY2ZnX3MgKmNmZyA9DQorCQlBVExfREVWX1BSSVZBVEVf VE9fQ0ZHKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKw0KKwljZmctPmFxX21hY3NlYy5yeHNh LmlkeCA9IGlkeDsNCisJY2ZnLT5hcV9tYWNzZWMucnhzYS5wbiA9IHBuOw0KKwljZmctPmFxX21h Y3NlYy5yeHNhLmFuID0gYW47DQorDQorCW1lbWNweSgmY2ZnLT5hcV9tYWNzZWMucnhzYS5rZXks IGtleSwgMTYpOw0KKwlyZXR1cm4gMDsNCit9DQogDQogc3RhdGljIGludA0KIGF0bF9kZXZfc3Rh dHNfZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QgcnRlX2V0aF9zdGF0cyAqc3Rh dHMpDQpAQCAtMTUzMiw2ICsxNzMzLDIxIEBAIGF0bF9yc3NfaGFzaF9jb25mX2dldChzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRpYyBib29sDQoraXNf ZGV2aWNlX3N1cHBvcnRlZChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgc3RydWN0IHJ0ZV9wY2lf ZHJpdmVyICpkcnYpDQorew0KKwlpZiAoc3RyY21wKGRldi0+ZGV2aWNlLT5kcml2ZXItPm5hbWUs IGRydi0+ZHJpdmVyLm5hbWUpKQ0KKwkJcmV0dXJuIGZhbHNlOw0KKw0KKwlyZXR1cm4gdHJ1ZTsN Cit9DQorDQorYm9vbA0KK2lzX2F0bGFudGljX3N1cHBvcnRlZChzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldikNCit7DQorCXJldHVybiBpc19kZXZpY2Vfc3VwcG9ydGVkKGRldiwgJnJ0ZV9hdGxfcG1k KTsNCit9DQorDQogUlRFX1BNRF9SRUdJU1RFUl9QQ0kobmV0X2F0bGFudGljLCBydGVfYXRsX3Bt ZCk7DQogUlRFX1BNRF9SRUdJU1RFUl9QQ0lfVEFCTEUobmV0X2F0bGFudGljLCBwY2lfaWRfYXRs X21hcCk7DQogUlRFX1BNRF9SRUdJU1RFUl9LTU9EX0RFUChuZXRfYXRsYW50aWMsICIqIGlnYl91 aW8gfCB1aW9fcGNpX2dlbmVyaWMiKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRp Yy9hdGxfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmgNCmluZGV4 IDFlMjk5OTliNTM5Yy4uYjE2MjEzOGM1OWQzIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvYXRs YW50aWMvYXRsX2V0aGRldi5oDQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2 LmgNCkBAIC0xMDQsNCArMTA0LDE2IEBAIHVpbnQxNl90IGF0bF94bWl0X3BrdHModm9pZCAqdHhf cXVldWUsIHN0cnVjdCBydGVfbWJ1ZiAqKnR4X3BrdHMsDQogdWludDE2X3QgYXRsX3ByZXBfcGt0 cyh2b2lkICp0eF9xdWV1ZSwgc3RydWN0IHJ0ZV9tYnVmICoqdHhfcGt0cywNCiAJCXVpbnQxNl90 IG5iX3BrdHMpOw0KIA0KK2ludCBhdGxfbWFjc2VjX2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYg KmRldiwgdWludDhfdCBlbmNyLCB1aW50OF90IHJlcGxfcHJvdCk7DQoraW50IGF0bF9tYWNzZWNf ZGlzYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQoraW50IGF0bF9tYWNzZWNfY29uZmln X3R4c2Moc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQ4X3QgKm1hYyk7DQoraW50IGF0bF9t YWNzZWNfY29uZmlnX3J4c2Moc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQorCQkJICAgdWludDhf dCAqbWFjLCB1aW50MTZfdCBwaSk7DQoraW50IGF0bF9tYWNzZWNfc2VsZWN0X3R4c2Eoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQ4X3QgaWR4LA0KKwkJCSAgIHVpbnQ4X3QgYW4sIHVpbnQz Ml90IHBuLCB1aW50OF90ICprZXkpOw0KK2ludCBhdGxfbWFjc2VjX3NlbGVjdF9yeHNhKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LCB1aW50OF90IGlkeCwNCisJCQkgICB1aW50OF90IGFuLCB1aW50 MzJfdCBwbiwgdWludDhfdCAqa2V5KTsNCisNCitib29sIGlzX2F0bGFudGljX3N1cHBvcnRlZChz dHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQorDQogI2VuZGlmIC8qIF9BVExBTlRJQ19FVEhERVZf SF8gKi8NCi0tIA0KMi4xNy4xDQoNCg==