From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69323C49ED7 for ; Thu, 19 Sep 2019 14:26:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2B53E20882 for ; Thu, 19 Sep 2019 14:26:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="mFjPQwwW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732567AbfISO0T (ORCPT ); Thu, 19 Sep 2019 10:26:19 -0400 Received: from mail-eopbgr810073.outbound.protection.outlook.com ([40.107.81.73]:42736 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2390687AbfISOZ4 (ORCPT ); Thu, 19 Sep 2019 10:25:56 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UQ8Jsi1Z7tHxJnZHEFXIhgvzJmoF/7iNIQKXHlzAFyp/QXMkTifZzRCoTwEvxEzp6stP+/h0blZn9L7UtTirBPH7VAkP7pX+lMs1IZp5opQfLm2TPxVBXx6N4vyMUzRocrDay+SN9pTD7c+gFv3H+tAlPN6ac3Ttp3cr3/qfZgDSWN4ayjWrVO7iroPcLCOvFKQg/rwO9i9lUKXrgykj2bo+MgecNTUi4lsl6/DLNDOkI0kYKK2Jvf9o88faxSvO4zgC+4tK7r726liAYZ4F/SS4pLNcxD0AYCx4GTgeVgbcvQEDBYa1Y4sum35G/jEOFIbl5PEwbgNaKXbyhBUSuQ== 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=L5zfFvYt4YtgAT9RTGZVISqSZaXMjQvEx7bM9im/ntQ=; b=BuSJo5TLgqZlUKlizamsaNMzoQZketJguk5nFCnrgFFSvjXLGyOTYnEVfBt7q3ryF8igx+V8L/et5aMlHkDzpfLag7PKBUD3awnpV22jaA8+RLthfATOBU5xMcvCnrHmSBF6ybRFsongRDL1A2ngEmS4E0kLgTsioiRtsEKcvZKMhvi9hNsoiATHNVS+bqGgUcvQds4OmJybjprx2FXaz9toaZ2JY+o25f/vYgMVvRa6LCKUbIM17H7+1go26gBnCHmM68frApW5qAGVwsRC8x7cKRh3+mbT8LnxvlEjfBASnizKTGkVGq2OX/EgVdgThv+ydO9NAQObDsCUFhdlkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L5zfFvYt4YtgAT9RTGZVISqSZaXMjQvEx7bM9im/ntQ=; b=mFjPQwwWy+KO8YU7q6FcFitohifRFCqPii2mHALcOA+g7pH8Is+8Rbh/FAUJ8Z+EjNlzM4H8lzLSM44IjJTq0/8P2kgJfHEcygpg9dw8aIhYxEpl0dhPxcFDReHLdNliL7jgibwgTUAtSyTy6n2SX7K/dPbWrxGd9tUzXJajSFY= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (20.179.149.217) by MN2PR11MB3807.namprd11.prod.outlook.com (20.178.254.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18; Thu, 19 Sep 2019 14:25:49 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8%3]) with mapi id 15.20.2263.023; Thu, 19 Sep 2019 14:25:49 +0000 From: Jerome Pouiller To: "devel@driverdev.osuosl.org" , "linux-wireless@vger.kernel.org" CC: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , David Le Goff , Jerome Pouiller Subject: [PATCH v3 19/20] staging: wfx: implement 802.11 key handling Thread-Topic: [PATCH v3 19/20] staging: wfx: implement 802.11 key handling Thread-Index: AQHVbvYhh6wNulAAOkmsdnSGCph+fQ== Date: Thu, 19 Sep 2019 14:25:47 +0000 Message-ID: <20190919142527.31797-20-Jerome.Pouiller@silabs.com> References: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c729ae2d-d0d8-490e-baa9-08d73d0d4499 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MN2PR11MB3807; x-ms-traffictypediagnostic: MN2PR11MB3807: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:419; x-forefront-prvs: 016572D96D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(366004)(396003)(346002)(39850400004)(376002)(199004)(189003)(486006)(30864003)(76176011)(66066001)(66946007)(66556008)(91956017)(66476007)(2906002)(5660300002)(71200400001)(76116006)(8936002)(36756003)(476003)(110136005)(54906003)(2616005)(25786009)(316002)(11346002)(81166006)(81156014)(8676002)(446003)(102836004)(6506007)(2501003)(14444005)(256004)(6116002)(3846002)(107886003)(26005)(6486002)(66574012)(64756008)(71190400001)(6436002)(6512007)(66446008)(1076003)(7736002)(86362001)(186003)(99286004)(4326008)(14454004)(478600001)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR11MB3807;H:MN2PR11MB4063.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: tyU7lQb+fh5Od4yiEQXBRa6RMGeF+vMGSQe29QAzdctjmxlFBUOSKpuMIPthG4U7FaoqwxhIA8asXegLEbad6O+yfPqkrkTzqxAD3kdXPDmxJ9NJ2GB7D4kCHPN6h1MNG6k2VwjpuzHWiw3o+RTBM7tv8lNaorh5xDVtgs+n37smYkO3hzycUa8j5cYTkHrdSl5YoiPpJzJF03SUwBigsMfjhr2+XsKcng/T+WPODAo/yBNVh3MMDhs4GXKQYTwgw9W+7UfQIixMosZUlMPxI3z67HVfoI7Oq5dY2bwTzVH5YT6nrbFO2xFXSfnkAlx1/PPEFF/ZQHOpHbZwjtBW9ae3WTBD4i8tECYut/q0ZnyZUwivXeEyJ+ySJtLso9wWFfO9O5OyfgwhG4vhzOdkMUldE6tkFoMckSsz3Fw+kyo= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: c729ae2d-d0d8-490e-baa9-08d73d0d4499 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2019 14:25:47.4948 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rEI10JmlgN4RkHKJImAzw6668oMi0ogNrjAB7uDePhWRI0OwJfwSvNQsoO6BcnJSSy55kvM5BHOHZAM7eaVFVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3807 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KDQp3 Znhfc2V0X2tleSgpIG1vc3RseSBjb3B5IGJ5dGVzIG9uIGNvcnJlY3Qgb2Zmc2V0cy4gQSBiaWcg cGllY2Ugb2YgY29kZQ0KZm9yIGEgc2ltcGxlIHdvcmsuIFVuZm9ydHVuYXRlbHksIEkgZGlkIG5v dCBmb3VuZCBhbnkgd2F5IHRvIGZhY3Rvcml6ZQ0KaXQuDQoNClNpZ25lZC1vZmYtYnk6IErDqXLD tG1lIFBvdWlsbGVyIDxqZXJvbWUucG91aWxsZXJAc2lsYWJzLmNvbT4NCi0tLQ0KIGRyaXZlcnMv c3RhZ2luZy93ZngvTWFrZWZpbGUgfCAgIDEgKw0KIGRyaXZlcnMvc3RhZ2luZy93Zngva2V5LmMg ICAgfCAyNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBkcml2ZXJzL3N0 YWdpbmcvd2Z4L2tleS5oICAgIHwgIDIyICsrKw0KIGRyaXZlcnMvc3RhZ2luZy93ZngvbWFpbi5j ICAgfCAgIDIgKw0KIGRyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMgICAgfCAgIDQgKw0KIGRyaXZl cnMvc3RhZ2luZy93Zngvd2Z4LmggICAgfCAgMTkgKysrDQogNiBmaWxlcyBjaGFuZ2VkLCAzMDYg aW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcvd2Z4L2tl eS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy93Zngva2V5LmgNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUgYi9kcml2ZXJzL3N0YWdpbmcv d2Z4L01ha2VmaWxlDQppbmRleCAyYjhhNWZhODZmYWMuLjBkOWMxZWQwOTJmNiAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93 ZngvTWFrZWZpbGUNCkBAIC0xNCw2ICsxNCw3IEBAIHdmeC15IDo9IFwNCiAJZGF0YV9yeC5vIFwN CiAJc2Nhbi5vIFwNCiAJc3RhLm8gXA0KKwlrZXkubyBcDQogCW1haW4ubyBcDQogCXN0YS5vIFwN CiAJZGVidWcubw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93Zngva2V5LmMgYi9kcml2 ZXJzL3N0YWdpbmcvd2Z4L2tleS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMDAwLi40ZTdkMmI1MTBhOWMNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvc3RhZ2lu Zy93Zngva2V5LmMNCkBAIC0wLDAgKzEsMjU4IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQ0KKy8qDQorICogS2V5IG1hbmFnZW1lbnQgcmVsYXRlZCBmdW5jdGlv bnMuDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSwgU2lsaWNvbiBMYWJvcmF0b3Jp ZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNzc29uDQorICovDQorI2lu Y2x1ZGUgPG5ldC9tYWM4MDIxMS5oPg0KKw0KKyNpbmNsdWRlICJrZXkuaCINCisjaW5jbHVkZSAi d2Z4LmgiDQorI2luY2x1ZGUgImhpZl90eF9taWIuaCINCisNCitzdGF0aWMgaW50IHdmeF9hbGxv Y19rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYpDQorew0KKwlpbnQgaWR4Ow0KKw0KKwlpZHggPSBm ZnMofndkZXYtPmtleV9tYXApIC0gMTsNCisJaWYgKGlkeCA8IDAgfHwgaWR4ID49IE1BWF9LRVlf RU5UUklFUykNCisJCXJldHVybiAtMTsNCisNCisJd2Rldi0+a2V5X21hcCB8PSBCSVQoaWR4KTsN CisJd2Rldi0+a2V5c1tpZHhdLmVudHJ5X2luZGV4ID0gaWR4Ow0KKwlyZXR1cm4gaWR4Ow0KK30N CisNCitzdGF0aWMgdm9pZCB3ZnhfZnJlZV9rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYsIGludCBp ZHgpDQorew0KKwlCVUdfT04oISh3ZGV2LT5rZXlfbWFwICYgQklUKGlkeCkpKTsNCisJbWVtc2V0 KCZ3ZGV2LT5rZXlzW2lkeF0sIDAsIHNpemVvZih3ZGV2LT5rZXlzW2lkeF0pKTsNCisJd2Rldi0+ a2V5X21hcCAmPSB+QklUKGlkeCk7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfd2VwX3Bh aXIoc3RydWN0IGhpZl93ZXBfcGFpcndpc2Vfa2V5ICptc2csDQorCQkJICAgICBzdHJ1Y3QgaWVl ZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpDQorew0KKwlXQVJOX09OKGtleS0+ a2V5bGVuID4gc2l6ZW9mKG1zZy0+a2V5X2RhdGEpKTsNCisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5 LT5rZXlsZW47DQorCW1lbWNweShtc2ctPmtleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4p Ow0KKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJfYWRkcik7DQorCXJl dHVybiBISUZfS0VZX1RZUEVfV0VQX1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBm aWxsX3dlcF9ncm91cChzdHJ1Y3QgaGlmX3dlcF9ncm91cF9rZXkgKm1zZywNCisJCQkgICAgICBz dHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkpDQorew0KKwlXQVJOX09OKGtleS0+a2V5bGVu ID4gc2l6ZW9mKG1zZy0+a2V5X2RhdGEpKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsN CisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5LT5rZXlsZW47DQorCW1lbWNweShtc2ctPmtleV9kYXRh LCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX1dFUF9ERUZB VUxUOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBmaWxsX3RraXBfcGFpcihzdHJ1Y3QgaGlmX3Rr aXBfcGFpcndpc2Vfa2V5ICptc2csDQorCQkJICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlfY29u ZiAqa2V5LCB1OCAqcGVlcl9hZGRyKQ0KK3sNCisJdWludDhfdCAqa2V5YnVmID0ga2V5LT5rZXk7 DQorDQorCVdBUk5fT04oa2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0YSkN CisJCQkgICAgICAgKyBzaXplb2YobXNnLT50eF9taWNfa2V5KQ0KKwkJCSAgICAgICArIHNpemVv Zihtc2ctPnJ4X21pY19rZXkpKTsNCisJbWVtY3B5KG1zZy0+dGtpcF9rZXlfZGF0YSwga2V5YnVm LCBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKSk7DQorCWtleWJ1ZiArPSBzaXplb2YobXNnLT50 a2lwX2tleV9kYXRhKTsNCisJbWVtY3B5KG1zZy0+dHhfbWljX2tleSwga2V5YnVmLCBzaXplb2Yo bXNnLT50eF9taWNfa2V5KSk7DQorCWtleWJ1ZiArPSBzaXplb2YobXNnLT50eF9taWNfa2V5KTsN CisJbWVtY3B5KG1zZy0+cnhfbWljX2tleSwga2V5YnVmLCBzaXplb2YobXNnLT5yeF9taWNfa2V5 KSk7DQorCWV0aGVyX2FkZHJfY29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsNCisJ cmV0dXJuIEhJRl9LRVlfVFlQRV9US0lQX1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhf dCBmaWxsX3RraXBfZ3JvdXAoc3RydWN0IGhpZl90a2lwX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAg ICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksDQorCQkJICAgICAgIHN0cnVjdCBp ZWVlODAyMTFfa2V5X3NlcSAqc2VxLA0KKwkJCSAgICAgICBlbnVtIG5sODAyMTFfaWZ0eXBlIGlm dHlwZSkNCit7DQorCXVpbnQ4X3QgKmtleWJ1ZiA9IGtleS0+a2V5Ow0KKw0KKwlXQVJOX09OKGtl eS0+a2V5bGVuICE9IHNpemVvZihtc2ctPnRraXBfa2V5X2RhdGEpDQorCQkJICAgICAgICsgMiAq IHNpemVvZihtc2ctPnJ4X21pY19rZXkpKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsN CisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciwgJnNlcS0+dGtpcC5pdjE2LCBzaXpl b2Yoc2VxLT50a2lwLml2MTYpKTsNCisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciAr IHNpemVvZih1aW50MTZfdCksICZzZXEtPnRraXAuaXYzMiwgc2l6ZW9mKHNlcS0+dGtpcC5pdjMy KSk7DQorCW1lbWNweShtc2ctPnRraXBfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+dGtp cF9rZXlfZGF0YSkpOw0KKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0YSk7DQor CWlmIChpZnR5cGUgPT0gTkw4MDIxMV9JRlRZUEVfQVApDQorCQkvLyBVc2UgVHggTUlDIEtleQ0K KwkJbWVtY3B5KG1zZy0+cnhfbWljX2tleSwga2V5YnVmICsgMCwgc2l6ZW9mKG1zZy0+cnhfbWlj X2tleSkpOw0KKwllbHNlDQorCQkvLyBVc2UgUnggTUlDIEtleQ0KKwkJbWVtY3B5KG1zZy0+cnhf bWljX2tleSwga2V5YnVmICsgOCwgc2l6ZW9mKG1zZy0+cnhfbWljX2tleSkpOw0KKwlyZXR1cm4g SElGX0tFWV9UWVBFX1RLSVBfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfY2Nt cF9wYWlyKHN0cnVjdCBoaWZfYWVzX3BhaXJ3aXNlX2tleSAqbXNnLA0KKwkJCSAgICAgIHN0cnVj dCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSwgdTggKnBlZXJfYWRkcikNCit7DQorCVdBUk5fT04o a2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+YWVzX2tleV9kYXRhKSk7DQorCWV0aGVyX2FkZHJf Y29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsNCisJbWVtY3B5KG1zZy0+YWVzX2tl eV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX0FF U19QQUlSV0lTRTsNCit9DQorDQorc3RhdGljIHVpbnQ4X3QgZmlsbF9jY21wX2dyb3VwKHN0cnVj dCBoaWZfYWVzX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAgICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tl eV9jb25mICprZXksDQorCQkJICAgICAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAqc2VxKQ0K K3sNCisJV0FSTl9PTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5hZXNfa2V5X2RhdGEpKTsN CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlt ZW1jcHkobXNnLT5yeF9zZXF1ZW5jZV9jb3VudGVyLCBzZXEtPmNjbXAucG4sIHNpemVvZihzZXEt PmNjbXAucG4pKTsNCisJbWVtcmV2ZXJzZShtc2ctPnJ4X3NlcXVlbmNlX2NvdW50ZXIsIHNpemVv ZihzZXEtPmNjbXAucG4pKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsNCisJcmV0dXJu IEhJRl9LRVlfVFlQRV9BRVNfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfc21z NF9wYWlyKHN0cnVjdCBoaWZfd2FwaV9wYWlyd2lzZV9rZXkgKm1zZywNCisJCQkgICAgICBzdHJ1 Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpDQorew0KKwl1aW50OF90 ICprZXlidWYgPSBrZXktPmtleTsNCisNCisJV0FSTl9PTihrZXktPmtleWxlbiAhPSBzaXplb2Yo bXNnLT53YXBpX2tleV9kYXRhKQ0KKwkJCSAgICAgICArIHNpemVvZihtc2ctPm1pY19rZXlfZGF0 YSkpOw0KKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJfYWRkcik7DQor CW1lbWNweShtc2ctPndhcGlfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+d2FwaV9rZXlf ZGF0YSkpOw0KKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+d2FwaV9rZXlfZGF0YSk7DQorCW1lbWNw eShtc2ctPm1pY19rZXlfZGF0YSwga2V5YnVmLCBzaXplb2YobXNnLT5taWNfa2V5X2RhdGEpKTsN CisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsNCisJcmV0dXJuIEhJRl9LRVlfVFlQRV9XQVBJ X1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBmaWxsX3NtczRfZ3JvdXAoc3RydWN0 IGhpZl93YXBpX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAgICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tl eV9jb25mICprZXkpDQorew0KKwl1aW50OF90ICprZXlidWYgPSBrZXktPmtleTsNCisNCisJV0FS Tl9PTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKQ0KKwkJCSAgICAg ICArIHNpemVvZihtc2ctPm1pY19rZXlfZGF0YSkpOw0KKwltZW1jcHkobXNnLT53YXBpX2tleV9k YXRhLCBrZXlidWYsIHNpemVvZihtc2ctPndhcGlfa2V5X2RhdGEpKTsNCisJa2V5YnVmICs9IHNp emVvZihtc2ctPndhcGlfa2V5X2RhdGEpOw0KKwltZW1jcHkobXNnLT5taWNfa2V5X2RhdGEsIGtl eWJ1Ziwgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRhKSk7DQorCW1zZy0+a2V5X2lkID0ga2V5LT5r ZXlpZHg7DQorCXJldHVybiBISUZfS0VZX1RZUEVfV0FQSV9HUk9VUDsNCit9DQorDQorc3RhdGlj IHVpbnQ4X3QgZmlsbF9hZXNfY21hY19ncm91cChzdHJ1Y3QgaGlmX2lndGtfZ3JvdXBfa2V5ICpt c2csDQorCQkJCSAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSwNCisJCQkJICAgc3Ry dWN0IGllZWU4MDIxMV9rZXlfc2VxICpzZXEpDQorew0KKwlXQVJOX09OKGtleS0+a2V5bGVuICE9 IHNpemVvZihtc2ctPmlndGtfa2V5X2RhdGEpKTsNCisJbWVtY3B5KG1zZy0+aWd0a19rZXlfZGF0 YSwga2V5LT5rZXksIGtleS0+a2V5bGVuKTsNCisJbWVtY3B5KG1zZy0+aXBuLCBzZXEtPmFlc19j bWFjLnBuLCBzaXplb2Yoc2VxLT5hZXNfY21hYy5wbikpOw0KKwltZW1yZXZlcnNlKG1zZy0+aXBu LCBzaXplb2Yoc2VxLT5hZXNfY21hYy5wbikpOw0KKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4 Ow0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX0lHVEtfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyBpbnQg d2Z4X2FkZF9rZXkoc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBpZWVlODAyMTFfc3RhICpz dGEsDQorCQkgICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5KQ0KK3sNCisJaW50 IHJldDsNCisJc3RydWN0IGhpZl9yZXFfYWRkX2tleSAqazsNCisJc3RydWN0IGllZWU4MDIxMV9r ZXlfc2VxIHNlcTsNCisJc3RydWN0IHdmeF9kZXYgKndkZXYgPSB3dmlmLT53ZGV2Ow0KKwlpbnQg aWR4ID0gd2Z4X2FsbG9jX2tleSh3dmlmLT53ZGV2KTsNCisJYm9vbCBwYWlyd2lzZSA9IGtleS0+ ZmxhZ3MgJiBJRUVFODAyMTFfS0VZX0ZMQUdfUEFJUldJU0U7DQorDQorCVdBUk5fT04oa2V5LT5m bGFncyAmIElFRUU4MDIxMV9LRVlfRkxBR19QQUlSV0lTRSAmJiAhc3RhKTsNCisJaWVlZTgwMjEx X2dldF9rZXlfcnhfc2VxKGtleSwgMCwgJnNlcSk7DQorCWlmIChpZHggPCAwKQ0KKwkJcmV0dXJu IC1FSU5WQUw7DQorCWsgPSAmd2Rldi0+a2V5c1tpZHhdOw0KKwlrLT5pbnRfaWQgPSB3dmlmLT5p ZDsNCisJaWYgKGtleS0+Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX1dFUDQwIHx8IGtleS0+ Y2lwaGVyID09ICBXTEFOX0NJUEhFUl9TVUlURV9XRVAxMDQpIHsNCisJCWlmIChwYWlyd2lzZSkN CisJCQlrLT50eXBlID0gZmlsbF93ZXBfcGFpcigmay0+a2V5LndlcF9wYWlyd2lzZV9rZXksIGtl eSwgc3RhLT5hZGRyKTsNCisJCWVsc2UNCisJCQlrLT50eXBlID0gZmlsbF93ZXBfZ3JvdXAoJmst PmtleS53ZXBfZ3JvdXBfa2V5LCBrZXkpOw0KKwl9IGVsc2UgaWYgKGtleS0+Y2lwaGVyID09IFdM QU5fQ0lQSEVSX1NVSVRFX1RLSVApIHsNCisJCWlmIChwYWlyd2lzZSkNCisJCQlrLT50eXBlID0g ZmlsbF90a2lwX3BhaXIoJmstPmtleS50a2lwX3BhaXJ3aXNlX2tleSwga2V5LCBzdGEtPmFkZHIp Ow0KKwkJZWxzZQ0KKwkJCWstPnR5cGUgPSBmaWxsX3RraXBfZ3JvdXAoJmstPmtleS50a2lwX2dy b3VwX2tleSwga2V5LCAmc2VxLCB3dmlmLT52aWYtPnR5cGUpOw0KKwl9IGVsc2UgaWYgKGtleS0+ Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX0NDTVApIHsNCisJCWlmIChwYWlyd2lzZSkNCisJ CQlrLT50eXBlID0gZmlsbF9jY21wX3BhaXIoJmstPmtleS5hZXNfcGFpcndpc2Vfa2V5LCBrZXks IHN0YS0+YWRkcik7DQorCQllbHNlDQorCQkJay0+dHlwZSA9IGZpbGxfY2NtcF9ncm91cCgmay0+ a2V5LmFlc19ncm91cF9rZXksIGtleSwgJnNlcSk7DQorCX0gZWxzZSBpZiAoa2V5LT5jaXBoZXIg PT0gIFdMQU5fQ0lQSEVSX1NVSVRFX1NNUzQpIHsNCisJCWlmIChwYWlyd2lzZSkNCisJCQlrLT50 eXBlID0gZmlsbF9zbXM0X3BhaXIoJmstPmtleS53YXBpX3BhaXJ3aXNlX2tleSwga2V5LCBzdGEt PmFkZHIpOw0KKwkJZWxzZQ0KKwkJCWstPnR5cGUgPSBmaWxsX3NtczRfZ3JvdXAoJmstPmtleS53 YXBpX2dyb3VwX2tleSwga2V5KTsNCisJfSBlbHNlIGlmIChrZXktPmNpcGhlciA9PSAgV0xBTl9D SVBIRVJfU1VJVEVfQUVTX0NNQUMpIHsNCisJCWstPnR5cGUgPSBmaWxsX2Flc19jbWFjX2dyb3Vw KCZrLT5rZXkuaWd0a19ncm91cF9rZXksIGtleSwgJnNlcSk7DQorCX0gZWxzZSB7DQorCQlkZXZf d2Fybih3ZGV2LT5kZXYsICJ1bnN1cHBvcnRlZCBrZXkgdHlwZSAlZFxuIiwga2V5LT5jaXBoZXIp Ow0KKwkJd2Z4X2ZyZWVfa2V5KHdkZXYsIGlkeCk7DQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQor CX0NCisJcmV0ID0gaGlmX2FkZF9rZXkod2Rldiwgayk7DQorCWlmIChyZXQpIHsNCisJCXdmeF9m cmVlX2tleSh3ZGV2LCBpZHgpOw0KKwkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KKwl9DQorCWtleS0+ ZmxhZ3MgfD0gSUVFRTgwMjExX0tFWV9GTEFHX1BVVF9JVl9TUEFDRSB8DQorCQkgICAgICBJRUVF ODAyMTFfS0VZX0ZMQUdfUkVTRVJWRV9UQUlMUk9PTTsNCisJa2V5LT5od19rZXlfaWR4ID0gaWR4 Ow0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCB3ZnhfcmVtb3ZlX2tleShzdHJ1Y3Qg d2Z4X3ZpZiAqd3ZpZiwgc3RydWN0IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5KQ0KK3sNCisJV0FS TihrZXktPmh3X2tleV9pZHggPj0gTUFYX0tFWV9FTlRSSUVTLCAiY29ycnVwdGVkIGh3X2tleV9p ZHgiKTsNCisJd2Z4X2ZyZWVfa2V5KHd2aWYtPndkZXYsIGtleS0+aHdfa2V5X2lkeCk7DQorCXJl dHVybiBoaWZfcmVtb3ZlX2tleSh3dmlmLT53ZGV2LCBrZXktPmh3X2tleV9pZHgpOw0KK30NCisN CitpbnQgd2Z4X3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0gc2V0X2tleV9j bWQgY21kLA0KKwkJc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGllZWU4MDIxMV9z dGEgKnN0YSwNCisJCXN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSkNCit7DQorCWludCBy ZXQgPSAtRU9QTk9UU1VQUDsNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSAoc3RydWN0IHdmeF92 aWYgKikgdmlmLT5kcnZfcHJpdjsNCisNCisJbXV0ZXhfbG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9t dXRleCk7DQorCWlmIChjbWQgPT0gU0VUX0tFWSkNCisJCXJldCA9IHdmeF9hZGRfa2V5KHd2aWYs IHN0YSwga2V5KTsNCisJaWYgKGNtZCA9PSBESVNBQkxFX0tFWSkNCisJCXJldCA9IHdmeF9yZW1v dmVfa2V5KHd2aWYsIGtleSk7DQorCW11dGV4X3VubG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRl eCk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK2ludCB3ZnhfdXBsb2FkX2tleXMoc3RydWN0IHdm eF92aWYgKnd2aWYpDQorew0KKwlpbnQgaTsNCisJc3RydWN0IGhpZl9yZXFfYWRkX2tleSAqa2V5 Ow0KKwlzdHJ1Y3Qgd2Z4X2RldiAqd2RldiA9IHd2aWYtPndkZXY7DQorDQorCWZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKHdkZXYtPmtleXMpOyBpKyspIHsNCisJCWlmICh3ZGV2LT5rZXlfbWFw ICYgQklUKGkpKSB7DQorCQkJa2V5ID0gJndkZXYtPmtleXNbaV07DQorCQkJaWYgKGtleS0+aW50 X2lkID09IHd2aWYtPmlkKQ0KKwkJCQloaWZfYWRkX2tleSh3ZGV2LCBrZXkpOw0KKwkJfQ0KKwl9 DQorCXJldHVybiAwOw0KK30NCisNCit2b2lkIHdmeF93ZXBfa2V5X3dvcmsoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQ0KK3sNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSBjb250YWluZXJfb2Yo d29yaywgc3RydWN0IHdmeF92aWYsIHdlcF9rZXlfd29yayk7DQorDQorCXdmeF90eF9mbHVzaCh3 dmlmLT53ZGV2KTsNCisJaGlmX3dlcF9kZWZhdWx0X2tleV9pZCh3dmlmLCB3dmlmLT53ZXBfZGVm YXVsdF9rZXlfaWQpOw0KKwl3ZnhfcGVuZGluZ19yZXF1ZXVlKHd2aWYtPndkZXYsIHd2aWYtPndl cF9wZW5kaW5nX3NrYik7DQorCXd2aWYtPndlcF9wZW5kaW5nX3NrYiA9IE5VTEw7DQorCXdmeF90 eF91bmxvY2sod3ZpZi0+d2Rldik7DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93 Zngva2V5LmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2tleS5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwMDAwLi45NDM2Y2NkZjRkM2INCi0tLSAvZGV2L251bGwNCisrKyBi L2RyaXZlcnMvc3RhZ2luZy93Zngva2V5LmgNCkBAIC0wLDAgKzEsMjIgQEANCisvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQorLyoNCisgKiBJbXBsZW1lbnRhdGlv biBvZiBtYWM4MDIxMSBBUEkuDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSwgU2ls aWNvbiBMYWJvcmF0b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNz c29uDQorICovDQorI2lmbmRlZiBXRlhfS0VZX0gNCisjZGVmaW5lIFdGWF9LRVlfSA0KKw0KKyNp bmNsdWRlIDxuZXQvbWFjODAyMTEuaD4NCisNCitzdHJ1Y3Qgd2Z4X2RldjsNCitzdHJ1Y3Qgd2Z4 X3ZpZjsNCisNCitpbnQgd2Z4X3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0g c2V0X2tleV9jbWQgY21kLA0KKwkJc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGll ZWU4MDIxMV9zdGEgKnN0YSwNCisJCXN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSk7DQor aW50IHdmeF91cGxvYWRfa2V5cyhzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZik7DQordm9pZCB3Znhfd2Vw X2tleV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7DQorDQorI2VuZGlmIC8qIFdGWF9T VEFfSCAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvbWFpbi5jIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9tYWluLmMNCmluZGV4IDA2MjIwYmFjNWI3NS4uZTdiYmEyNGFhZTBiIDEw MDY0NA0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMNCisrKyBiL2RyaXZlcnMvc3Rh Z2luZy93ZngvbWFpbi5jDQpAQCAtMjcsNiArMjcsNyBAQA0KICNpbmNsdWRlICJidXMuaCINCiAj aW5jbHVkZSAiYmguaCINCiAjaW5jbHVkZSAic3RhLmgiDQorI2luY2x1ZGUgImtleS5oIg0KICNp bmNsdWRlICJkZWJ1Zy5oIg0KICNpbmNsdWRlICJkYXRhX3R4LmgiDQogI2luY2x1ZGUgInNlY3Vy ZV9saW5rLmgiDQpAQCAtNTYsNiArNTcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGllZWU4MDIx MV9vcHMgd2Z4X29wcyA9IHsNCiAJLnJlbW92ZV9pbnRlcmZhY2UJPSB3ZnhfcmVtb3ZlX2ludGVy ZmFjZSwNCiAJLnR4CQkJPSB3ZnhfdHgsDQogCS5od19zY2FuCQk9IHdmeF9od19zY2FuLA0KKwku c2V0X2tleQkJPSB3Znhfc2V0X2tleSwNCiB9Ow0KIA0KIGJvb2wgd2Z4X2FwaV9vbGRlcl90aGFu KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBpbnQgbWFqb3IsIGludCBtaW5vcikNCmRpZmYgLS1naXQg YS9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0K aW5kZXggNWE4MTQwMTAwZTk3Li4yZTcwOWI4YTNiZjQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3N0 YWdpbmcvd2Z4L3N0YS5jDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5jDQpAQCAtOSw2 ICs5LDcgQEANCiANCiAjaW5jbHVkZSAic3RhLmgiDQogI2luY2x1ZGUgIndmeC5oIg0KKyNpbmNs dWRlICJrZXkuaCINCiAjaW5jbHVkZSAic2Nhbi5oIg0KICNpbmNsdWRlICJoaWZfdHhfbWliLmgi DQogDQpAQCAtMTYyLDYgKzE2Myw5IEBAIGludCB3ZnhfYWRkX2ludGVyZmFjZShzdHJ1Y3QgaWVl ZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZikNCiAJSU5JVF9XT1JLKCZ3 dmlmLT5tY2FzdF9zdG9wX3dvcmssIHdmeF9tY2FzdF9zdG9wX3dvcmspOw0KIAl0aW1lcl9zZXR1 cCgmd3ZpZi0+bWNhc3RfdGltZW91dCwgd2Z4X21jYXN0X3RpbWVvdXQsIDApOw0KIA0KKwl3dmlm LT53ZXBfZGVmYXVsdF9rZXlfaWQgPSAtMTsNCisJSU5JVF9XT1JLKCZ3dmlmLT53ZXBfa2V5X3dv cmssIHdmeF93ZXBfa2V5X3dvcmspOw0KKw0KIAlzZW1hX2luaXQoJnd2aWYtPnNjYW4ubG9jaywg MSk7DQogCUlOSVRfV09SSygmd3ZpZi0+c2Nhbi53b3JrLCB3Znhfc2Nhbl93b3JrKTsNCiAJSU5J VF9ERUxBWUVEX1dPUksoJnd2aWYtPnNjYW4udGltZW91dCwgd2Z4X3NjYW5fdGltZW91dCk7DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC93ZnguaCBiL2RyaXZlcnMvc3RhZ2luZy93 Zngvd2Z4LmgNCmluZGV4IDUwYzBkOWMwZTUyOC4uYTg2ZGRmYWVkODI1IDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9zdGFnaW5nL3dmeC93ZnguaA0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC93Zngu aA0KQEAgLTQ4LDYgKzQ4LDkgQEAgc3RydWN0IHdmeF9kZXYgew0KIAlpbnQJCQl0eF9idXJzdF9p ZHg7DQogCWF0b21pY190CQl0eF9sb2NrOw0KIA0KKwl1MzIJCQlrZXlfbWFwOw0KKwlzdHJ1Y3Qg aGlmX3JlcV9hZGRfa2V5CWtleXNbTUFYX0tFWV9FTlRSSUVTXTsNCisNCiAJc3RydWN0IGhpZl9y eF9zdGF0cwlyeF9zdGF0czsNCiAJc3RydWN0IG11dGV4CQlyeF9zdGF0c19sb2NrOw0KIA0KQEAg LTczLDYgKzc2LDkgQEAgc3RydWN0IHdmeF92aWYgew0KIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJbWNh c3Rfc3RhcnRfd29yazsNCiAJc3RydWN0IHdvcmtfc3RydWN0CW1jYXN0X3N0b3Bfd29yazsNCiAN CisJczgJCQl3ZXBfZGVmYXVsdF9rZXlfaWQ7DQorCXN0cnVjdCBza19idWZmCQkqd2VwX3BlbmRp bmdfc2tiOw0KKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJd2VwX2tleV93b3JrOw0KIA0KIAlzdHJ1Y3Qg dHhfcG9saWN5X2NhY2hlCXR4X3BvbGljeV9jYWNoZTsNCiAJc3RydWN0IHdvcmtfc3RydWN0CXR4 X3BvbGljeV91cGxvYWRfd29yazsNCkBAIC0xMjAsNiArMTI2LDE5IEBAIHN0YXRpYyBpbmxpbmUg c3RydWN0IHdmeF92aWYgKnd2aWZfaXRlcmF0ZShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0 IHdmeF92aWYNCiAJcmV0dXJuIE5VTEw7DQogfQ0KIA0KK3N0YXRpYyBpbmxpbmUgdm9pZCBtZW1y ZXZlcnNlKHVpbnQ4X3QgKnNyYywgdWludDhfdCBsZW5ndGgpDQorew0KKwl1aW50OF90ICpsbyA9 IHNyYzsNCisJdWludDhfdCAqaGkgPSBzcmMgKyBsZW5ndGggLSAxOw0KKwl1aW50OF90IHN3YXA7 DQorDQorCXdoaWxlIChsbyA8IGhpKSB7DQorCQlzd2FwID0gKmxvOw0KKwkJKmxvKysgPSAqaGk7 DQorCQkqaGktLSA9IHN3YXA7DQorCX0NCit9DQorDQogc3RhdGljIGlubGluZSBpbnQgbWVtemNt cCh2b2lkICpzcmMsIHVuc2lnbmVkIGludCBzaXplKQ0KIHsNCiAJdWludDhfdCAqYnVmID0gc3Jj Ow0KLS0gDQoyLjIwLjENCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7612EC3A5A6 for ; Thu, 19 Sep 2019 14:27:05 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4ADF020882 for ; Thu, 19 Sep 2019 14:27:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="mFjPQwwW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4ADF020882 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 37B928665D; Thu, 19 Sep 2019 14:27:05 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xyo8fHj760Qa; Thu, 19 Sep 2019 14:26:56 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id AD8EF869C9; Thu, 19 Sep 2019 14:26:10 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 303D51BF23C for ; Thu, 19 Sep 2019 14:26:10 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 2325C86B3B for ; Thu, 19 Sep 2019 14:26:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OOLA2uZs2Ew7 for ; Thu, 19 Sep 2019 14:26:00 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-eopbgr810085.outbound.protection.outlook.com [40.107.81.85]) by whitealder.osuosl.org (Postfix) with ESMTPS id 7AEC386B48 for ; Thu, 19 Sep 2019 14:25:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UQ8Jsi1Z7tHxJnZHEFXIhgvzJmoF/7iNIQKXHlzAFyp/QXMkTifZzRCoTwEvxEzp6stP+/h0blZn9L7UtTirBPH7VAkP7pX+lMs1IZp5opQfLm2TPxVBXx6N4vyMUzRocrDay+SN9pTD7c+gFv3H+tAlPN6ac3Ttp3cr3/qfZgDSWN4ayjWrVO7iroPcLCOvFKQg/rwO9i9lUKXrgykj2bo+MgecNTUi4lsl6/DLNDOkI0kYKK2Jvf9o88faxSvO4zgC+4tK7r726liAYZ4F/SS4pLNcxD0AYCx4GTgeVgbcvQEDBYa1Y4sum35G/jEOFIbl5PEwbgNaKXbyhBUSuQ== 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=L5zfFvYt4YtgAT9RTGZVISqSZaXMjQvEx7bM9im/ntQ=; b=BuSJo5TLgqZlUKlizamsaNMzoQZketJguk5nFCnrgFFSvjXLGyOTYnEVfBt7q3ryF8igx+V8L/et5aMlHkDzpfLag7PKBUD3awnpV22jaA8+RLthfATOBU5xMcvCnrHmSBF6ybRFsongRDL1A2ngEmS4E0kLgTsioiRtsEKcvZKMhvi9hNsoiATHNVS+bqGgUcvQds4OmJybjprx2FXaz9toaZ2JY+o25f/vYgMVvRa6LCKUbIM17H7+1go26gBnCHmM68frApW5qAGVwsRC8x7cKRh3+mbT8LnxvlEjfBASnizKTGkVGq2OX/EgVdgThv+ydO9NAQObDsCUFhdlkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L5zfFvYt4YtgAT9RTGZVISqSZaXMjQvEx7bM9im/ntQ=; b=mFjPQwwWy+KO8YU7q6FcFitohifRFCqPii2mHALcOA+g7pH8Is+8Rbh/FAUJ8Z+EjNlzM4H8lzLSM44IjJTq0/8P2kgJfHEcygpg9dw8aIhYxEpl0dhPxcFDReHLdNliL7jgibwgTUAtSyTy6n2SX7K/dPbWrxGd9tUzXJajSFY= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (20.179.149.217) by MN2PR11MB3807.namprd11.prod.outlook.com (20.178.254.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18; Thu, 19 Sep 2019 14:25:49 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8%3]) with mapi id 15.20.2263.023; Thu, 19 Sep 2019 14:25:49 +0000 From: Jerome Pouiller To: "devel@driverdev.osuosl.org" , "linux-wireless@vger.kernel.org" Subject: [PATCH v3 19/20] staging: wfx: implement 802.11 key handling Thread-Topic: [PATCH v3 19/20] staging: wfx: implement 802.11 key handling Thread-Index: AQHVbvYhh6wNulAAOkmsdnSGCph+fQ== Date: Thu, 19 Sep 2019 14:25:47 +0000 Message-ID: <20190919142527.31797-20-Jerome.Pouiller@silabs.com> References: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c729ae2d-d0d8-490e-baa9-08d73d0d4499 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR11MB3807; x-ms-traffictypediagnostic: MN2PR11MB3807: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:419; x-forefront-prvs: 016572D96D x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(396003)(346002)(39850400004)(376002)(199004)(189003)(486006)(30864003)(76176011)(66066001)(66946007)(66556008)(91956017)(66476007)(2906002)(5660300002)(71200400001)(76116006)(8936002)(36756003)(476003)(110136005)(54906003)(2616005)(25786009)(316002)(11346002)(81166006)(81156014)(8676002)(446003)(102836004)(6506007)(2501003)(14444005)(256004)(6116002)(3846002)(107886003)(26005)(6486002)(66574012)(64756008)(71190400001)(6436002)(6512007)(66446008)(1076003)(7736002)(86362001)(186003)(99286004)(4326008)(14454004)(478600001)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3807; H:MN2PR11MB4063.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: tyU7lQb+fh5Od4yiEQXBRa6RMGeF+vMGSQe29QAzdctjmxlFBUOSKpuMIPthG4U7FaoqwxhIA8asXegLEbad6O+yfPqkrkTzqxAD3kdXPDmxJ9NJ2GB7D4kCHPN6h1MNG6k2VwjpuzHWiw3o+RTBM7tv8lNaorh5xDVtgs+n37smYkO3hzycUa8j5cYTkHrdSl5YoiPpJzJF03SUwBigsMfjhr2+XsKcng/T+WPODAo/yBNVh3MMDhs4GXKQYTwgw9W+7UfQIixMosZUlMPxI3z67HVfoI7Oq5dY2bwTzVH5YT6nrbFO2xFXSfnkAlx1/PPEFF/ZQHOpHbZwjtBW9ae3WTBD4i8tECYut/q0ZnyZUwivXeEyJ+ySJtLso9wWFfO9O5OyfgwhG4vhzOdkMUldE6tkFoMckSsz3Fw+kyo= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: c729ae2d-d0d8-490e-baa9-08d73d0d4499 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2019 14:25:47.4948 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rEI10JmlgN4RkHKJImAzw6668oMi0ogNrjAB7uDePhWRI0OwJfwSvNQsoO6BcnJSSy55kvM5BHOHZAM7eaVFVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3807 X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman , David Le Goff , "David S . Miller" , Kalle Valo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KDQp3 Znhfc2V0X2tleSgpIG1vc3RseSBjb3B5IGJ5dGVzIG9uIGNvcnJlY3Qgb2Zmc2V0cy4gQSBiaWcg cGllY2Ugb2YgY29kZQ0KZm9yIGEgc2ltcGxlIHdvcmsuIFVuZm9ydHVuYXRlbHksIEkgZGlkIG5v dCBmb3VuZCBhbnkgd2F5IHRvIGZhY3Rvcml6ZQ0KaXQuDQoNClNpZ25lZC1vZmYtYnk6IErDqXLD tG1lIFBvdWlsbGVyIDxqZXJvbWUucG91aWxsZXJAc2lsYWJzLmNvbT4NCi0tLQ0KIGRyaXZlcnMv c3RhZ2luZy93ZngvTWFrZWZpbGUgfCAgIDEgKw0KIGRyaXZlcnMvc3RhZ2luZy93Zngva2V5LmMg ICAgfCAyNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBkcml2ZXJzL3N0 YWdpbmcvd2Z4L2tleS5oICAgIHwgIDIyICsrKw0KIGRyaXZlcnMvc3RhZ2luZy93ZngvbWFpbi5j ICAgfCAgIDIgKw0KIGRyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMgICAgfCAgIDQgKw0KIGRyaXZl cnMvc3RhZ2luZy93Zngvd2Z4LmggICAgfCAgMTkgKysrDQogNiBmaWxlcyBjaGFuZ2VkLCAzMDYg aW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcvd2Z4L2tl eS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy93Zngva2V5LmgNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUgYi9kcml2ZXJzL3N0YWdpbmcv d2Z4L01ha2VmaWxlDQppbmRleCAyYjhhNWZhODZmYWMuLjBkOWMxZWQwOTJmNiAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93 ZngvTWFrZWZpbGUNCkBAIC0xNCw2ICsxNCw3IEBAIHdmeC15IDo9IFwNCiAJZGF0YV9yeC5vIFwN CiAJc2Nhbi5vIFwNCiAJc3RhLm8gXA0KKwlrZXkubyBcDQogCW1haW4ubyBcDQogCXN0YS5vIFwN CiAJZGVidWcubw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93Zngva2V5LmMgYi9kcml2 ZXJzL3N0YWdpbmcvd2Z4L2tleS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMDAwLi40ZTdkMmI1MTBhOWMNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvc3RhZ2lu Zy93Zngva2V5LmMNCkBAIC0wLDAgKzEsMjU4IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQ0KKy8qDQorICogS2V5IG1hbmFnZW1lbnQgcmVsYXRlZCBmdW5jdGlv bnMuDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSwgU2lsaWNvbiBMYWJvcmF0b3Jp ZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNzc29uDQorICovDQorI2lu Y2x1ZGUgPG5ldC9tYWM4MDIxMS5oPg0KKw0KKyNpbmNsdWRlICJrZXkuaCINCisjaW5jbHVkZSAi d2Z4LmgiDQorI2luY2x1ZGUgImhpZl90eF9taWIuaCINCisNCitzdGF0aWMgaW50IHdmeF9hbGxv Y19rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYpDQorew0KKwlpbnQgaWR4Ow0KKw0KKwlpZHggPSBm ZnMofndkZXYtPmtleV9tYXApIC0gMTsNCisJaWYgKGlkeCA8IDAgfHwgaWR4ID49IE1BWF9LRVlf RU5UUklFUykNCisJCXJldHVybiAtMTsNCisNCisJd2Rldi0+a2V5X21hcCB8PSBCSVQoaWR4KTsN CisJd2Rldi0+a2V5c1tpZHhdLmVudHJ5X2luZGV4ID0gaWR4Ow0KKwlyZXR1cm4gaWR4Ow0KK30N CisNCitzdGF0aWMgdm9pZCB3ZnhfZnJlZV9rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYsIGludCBp ZHgpDQorew0KKwlCVUdfT04oISh3ZGV2LT5rZXlfbWFwICYgQklUKGlkeCkpKTsNCisJbWVtc2V0 KCZ3ZGV2LT5rZXlzW2lkeF0sIDAsIHNpemVvZih3ZGV2LT5rZXlzW2lkeF0pKTsNCisJd2Rldi0+ a2V5X21hcCAmPSB+QklUKGlkeCk7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfd2VwX3Bh aXIoc3RydWN0IGhpZl93ZXBfcGFpcndpc2Vfa2V5ICptc2csDQorCQkJICAgICBzdHJ1Y3QgaWVl ZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpDQorew0KKwlXQVJOX09OKGtleS0+ a2V5bGVuID4gc2l6ZW9mKG1zZy0+a2V5X2RhdGEpKTsNCisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5 LT5rZXlsZW47DQorCW1lbWNweShtc2ctPmtleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4p Ow0KKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJfYWRkcik7DQorCXJl dHVybiBISUZfS0VZX1RZUEVfV0VQX1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBm aWxsX3dlcF9ncm91cChzdHJ1Y3QgaGlmX3dlcF9ncm91cF9rZXkgKm1zZywNCisJCQkgICAgICBz dHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkpDQorew0KKwlXQVJOX09OKGtleS0+a2V5bGVu ID4gc2l6ZW9mKG1zZy0+a2V5X2RhdGEpKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsN CisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5LT5rZXlsZW47DQorCW1lbWNweShtc2ctPmtleV9kYXRh LCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX1dFUF9ERUZB VUxUOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBmaWxsX3RraXBfcGFpcihzdHJ1Y3QgaGlmX3Rr aXBfcGFpcndpc2Vfa2V5ICptc2csDQorCQkJICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlfY29u ZiAqa2V5LCB1OCAqcGVlcl9hZGRyKQ0KK3sNCisJdWludDhfdCAqa2V5YnVmID0ga2V5LT5rZXk7 DQorDQorCVdBUk5fT04oa2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0YSkN CisJCQkgICAgICAgKyBzaXplb2YobXNnLT50eF9taWNfa2V5KQ0KKwkJCSAgICAgICArIHNpemVv Zihtc2ctPnJ4X21pY19rZXkpKTsNCisJbWVtY3B5KG1zZy0+dGtpcF9rZXlfZGF0YSwga2V5YnVm LCBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKSk7DQorCWtleWJ1ZiArPSBzaXplb2YobXNnLT50 a2lwX2tleV9kYXRhKTsNCisJbWVtY3B5KG1zZy0+dHhfbWljX2tleSwga2V5YnVmLCBzaXplb2Yo bXNnLT50eF9taWNfa2V5KSk7DQorCWtleWJ1ZiArPSBzaXplb2YobXNnLT50eF9taWNfa2V5KTsN CisJbWVtY3B5KG1zZy0+cnhfbWljX2tleSwga2V5YnVmLCBzaXplb2YobXNnLT5yeF9taWNfa2V5 KSk7DQorCWV0aGVyX2FkZHJfY29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsNCisJ cmV0dXJuIEhJRl9LRVlfVFlQRV9US0lQX1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhf dCBmaWxsX3RraXBfZ3JvdXAoc3RydWN0IGhpZl90a2lwX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAg ICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksDQorCQkJICAgICAgIHN0cnVjdCBp ZWVlODAyMTFfa2V5X3NlcSAqc2VxLA0KKwkJCSAgICAgICBlbnVtIG5sODAyMTFfaWZ0eXBlIGlm dHlwZSkNCit7DQorCXVpbnQ4X3QgKmtleWJ1ZiA9IGtleS0+a2V5Ow0KKw0KKwlXQVJOX09OKGtl eS0+a2V5bGVuICE9IHNpemVvZihtc2ctPnRraXBfa2V5X2RhdGEpDQorCQkJICAgICAgICsgMiAq IHNpemVvZihtc2ctPnJ4X21pY19rZXkpKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsN CisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciwgJnNlcS0+dGtpcC5pdjE2LCBzaXpl b2Yoc2VxLT50a2lwLml2MTYpKTsNCisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciAr IHNpemVvZih1aW50MTZfdCksICZzZXEtPnRraXAuaXYzMiwgc2l6ZW9mKHNlcS0+dGtpcC5pdjMy KSk7DQorCW1lbWNweShtc2ctPnRraXBfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+dGtp cF9rZXlfZGF0YSkpOw0KKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0YSk7DQor CWlmIChpZnR5cGUgPT0gTkw4MDIxMV9JRlRZUEVfQVApDQorCQkvLyBVc2UgVHggTUlDIEtleQ0K KwkJbWVtY3B5KG1zZy0+cnhfbWljX2tleSwga2V5YnVmICsgMCwgc2l6ZW9mKG1zZy0+cnhfbWlj X2tleSkpOw0KKwllbHNlDQorCQkvLyBVc2UgUnggTUlDIEtleQ0KKwkJbWVtY3B5KG1zZy0+cnhf bWljX2tleSwga2V5YnVmICsgOCwgc2l6ZW9mKG1zZy0+cnhfbWljX2tleSkpOw0KKwlyZXR1cm4g SElGX0tFWV9UWVBFX1RLSVBfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfY2Nt cF9wYWlyKHN0cnVjdCBoaWZfYWVzX3BhaXJ3aXNlX2tleSAqbXNnLA0KKwkJCSAgICAgIHN0cnVj dCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSwgdTggKnBlZXJfYWRkcikNCit7DQorCVdBUk5fT04o a2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+YWVzX2tleV9kYXRhKSk7DQorCWV0aGVyX2FkZHJf Y29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsNCisJbWVtY3B5KG1zZy0+YWVzX2tl eV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX0FF U19QQUlSV0lTRTsNCit9DQorDQorc3RhdGljIHVpbnQ4X3QgZmlsbF9jY21wX2dyb3VwKHN0cnVj dCBoaWZfYWVzX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAgICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tl eV9jb25mICprZXksDQorCQkJICAgICAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAqc2VxKQ0K K3sNCisJV0FSTl9PTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5hZXNfa2V5X2RhdGEpKTsN CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4pOw0KKwlt ZW1jcHkobXNnLT5yeF9zZXF1ZW5jZV9jb3VudGVyLCBzZXEtPmNjbXAucG4sIHNpemVvZihzZXEt PmNjbXAucG4pKTsNCisJbWVtcmV2ZXJzZShtc2ctPnJ4X3NlcXVlbmNlX2NvdW50ZXIsIHNpemVv ZihzZXEtPmNjbXAucG4pKTsNCisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsNCisJcmV0dXJu IEhJRl9LRVlfVFlQRV9BRVNfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyB1aW50OF90IGZpbGxfc21z NF9wYWlyKHN0cnVjdCBoaWZfd2FwaV9wYWlyd2lzZV9rZXkgKm1zZywNCisJCQkgICAgICBzdHJ1 Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpDQorew0KKwl1aW50OF90 ICprZXlidWYgPSBrZXktPmtleTsNCisNCisJV0FSTl9PTihrZXktPmtleWxlbiAhPSBzaXplb2Yo bXNnLT53YXBpX2tleV9kYXRhKQ0KKwkJCSAgICAgICArIHNpemVvZihtc2ctPm1pY19rZXlfZGF0 YSkpOw0KKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJfYWRkcik7DQor CW1lbWNweShtc2ctPndhcGlfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+d2FwaV9rZXlf ZGF0YSkpOw0KKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+d2FwaV9rZXlfZGF0YSk7DQorCW1lbWNw eShtc2ctPm1pY19rZXlfZGF0YSwga2V5YnVmLCBzaXplb2YobXNnLT5taWNfa2V5X2RhdGEpKTsN CisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsNCisJcmV0dXJuIEhJRl9LRVlfVFlQRV9XQVBJ X1BBSVJXSVNFOw0KK30NCisNCitzdGF0aWMgdWludDhfdCBmaWxsX3NtczRfZ3JvdXAoc3RydWN0 IGhpZl93YXBpX2dyb3VwX2tleSAqbXNnLA0KKwkJCSAgICAgICBzdHJ1Y3QgaWVlZTgwMjExX2tl eV9jb25mICprZXkpDQorew0KKwl1aW50OF90ICprZXlidWYgPSBrZXktPmtleTsNCisNCisJV0FS Tl9PTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKQ0KKwkJCSAgICAg ICArIHNpemVvZihtc2ctPm1pY19rZXlfZGF0YSkpOw0KKwltZW1jcHkobXNnLT53YXBpX2tleV9k YXRhLCBrZXlidWYsIHNpemVvZihtc2ctPndhcGlfa2V5X2RhdGEpKTsNCisJa2V5YnVmICs9IHNp emVvZihtc2ctPndhcGlfa2V5X2RhdGEpOw0KKwltZW1jcHkobXNnLT5taWNfa2V5X2RhdGEsIGtl eWJ1Ziwgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRhKSk7DQorCW1zZy0+a2V5X2lkID0ga2V5LT5r ZXlpZHg7DQorCXJldHVybiBISUZfS0VZX1RZUEVfV0FQSV9HUk9VUDsNCit9DQorDQorc3RhdGlj IHVpbnQ4X3QgZmlsbF9hZXNfY21hY19ncm91cChzdHJ1Y3QgaGlmX2lndGtfZ3JvdXBfa2V5ICpt c2csDQorCQkJCSAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSwNCisJCQkJICAgc3Ry dWN0IGllZWU4MDIxMV9rZXlfc2VxICpzZXEpDQorew0KKwlXQVJOX09OKGtleS0+a2V5bGVuICE9 IHNpemVvZihtc2ctPmlndGtfa2V5X2RhdGEpKTsNCisJbWVtY3B5KG1zZy0+aWd0a19rZXlfZGF0 YSwga2V5LT5rZXksIGtleS0+a2V5bGVuKTsNCisJbWVtY3B5KG1zZy0+aXBuLCBzZXEtPmFlc19j bWFjLnBuLCBzaXplb2Yoc2VxLT5hZXNfY21hYy5wbikpOw0KKwltZW1yZXZlcnNlKG1zZy0+aXBu LCBzaXplb2Yoc2VxLT5hZXNfY21hYy5wbikpOw0KKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4 Ow0KKwlyZXR1cm4gSElGX0tFWV9UWVBFX0lHVEtfR1JPVVA7DQorfQ0KKw0KK3N0YXRpYyBpbnQg d2Z4X2FkZF9rZXkoc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBpZWVlODAyMTFfc3RhICpz dGEsDQorCQkgICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5KQ0KK3sNCisJaW50 IHJldDsNCisJc3RydWN0IGhpZl9yZXFfYWRkX2tleSAqazsNCisJc3RydWN0IGllZWU4MDIxMV9r ZXlfc2VxIHNlcTsNCisJc3RydWN0IHdmeF9kZXYgKndkZXYgPSB3dmlmLT53ZGV2Ow0KKwlpbnQg aWR4ID0gd2Z4X2FsbG9jX2tleSh3dmlmLT53ZGV2KTsNCisJYm9vbCBwYWlyd2lzZSA9IGtleS0+ ZmxhZ3MgJiBJRUVFODAyMTFfS0VZX0ZMQUdfUEFJUldJU0U7DQorDQorCVdBUk5fT04oa2V5LT5m bGFncyAmIElFRUU4MDIxMV9LRVlfRkxBR19QQUlSV0lTRSAmJiAhc3RhKTsNCisJaWVlZTgwMjEx X2dldF9rZXlfcnhfc2VxKGtleSwgMCwgJnNlcSk7DQorCWlmIChpZHggPCAwKQ0KKwkJcmV0dXJu IC1FSU5WQUw7DQorCWsgPSAmd2Rldi0+a2V5c1tpZHhdOw0KKwlrLT5pbnRfaWQgPSB3dmlmLT5p ZDsNCisJaWYgKGtleS0+Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX1dFUDQwIHx8IGtleS0+ Y2lwaGVyID09ICBXTEFOX0NJUEhFUl9TVUlURV9XRVAxMDQpIHsNCisJCWlmIChwYWlyd2lzZSkN CisJCQlrLT50eXBlID0gZmlsbF93ZXBfcGFpcigmay0+a2V5LndlcF9wYWlyd2lzZV9rZXksIGtl eSwgc3RhLT5hZGRyKTsNCisJCWVsc2UNCisJCQlrLT50eXBlID0gZmlsbF93ZXBfZ3JvdXAoJmst PmtleS53ZXBfZ3JvdXBfa2V5LCBrZXkpOw0KKwl9IGVsc2UgaWYgKGtleS0+Y2lwaGVyID09IFdM QU5fQ0lQSEVSX1NVSVRFX1RLSVApIHsNCisJCWlmIChwYWlyd2lzZSkNCisJCQlrLT50eXBlID0g ZmlsbF90a2lwX3BhaXIoJmstPmtleS50a2lwX3BhaXJ3aXNlX2tleSwga2V5LCBzdGEtPmFkZHIp Ow0KKwkJZWxzZQ0KKwkJCWstPnR5cGUgPSBmaWxsX3RraXBfZ3JvdXAoJmstPmtleS50a2lwX2dy b3VwX2tleSwga2V5LCAmc2VxLCB3dmlmLT52aWYtPnR5cGUpOw0KKwl9IGVsc2UgaWYgKGtleS0+ Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX0NDTVApIHsNCisJCWlmIChwYWlyd2lzZSkNCisJ CQlrLT50eXBlID0gZmlsbF9jY21wX3BhaXIoJmstPmtleS5hZXNfcGFpcndpc2Vfa2V5LCBrZXks IHN0YS0+YWRkcik7DQorCQllbHNlDQorCQkJay0+dHlwZSA9IGZpbGxfY2NtcF9ncm91cCgmay0+ a2V5LmFlc19ncm91cF9rZXksIGtleSwgJnNlcSk7DQorCX0gZWxzZSBpZiAoa2V5LT5jaXBoZXIg PT0gIFdMQU5fQ0lQSEVSX1NVSVRFX1NNUzQpIHsNCisJCWlmIChwYWlyd2lzZSkNCisJCQlrLT50 eXBlID0gZmlsbF9zbXM0X3BhaXIoJmstPmtleS53YXBpX3BhaXJ3aXNlX2tleSwga2V5LCBzdGEt PmFkZHIpOw0KKwkJZWxzZQ0KKwkJCWstPnR5cGUgPSBmaWxsX3NtczRfZ3JvdXAoJmstPmtleS53 YXBpX2dyb3VwX2tleSwga2V5KTsNCisJfSBlbHNlIGlmIChrZXktPmNpcGhlciA9PSAgV0xBTl9D SVBIRVJfU1VJVEVfQUVTX0NNQUMpIHsNCisJCWstPnR5cGUgPSBmaWxsX2Flc19jbWFjX2dyb3Vw KCZrLT5rZXkuaWd0a19ncm91cF9rZXksIGtleSwgJnNlcSk7DQorCX0gZWxzZSB7DQorCQlkZXZf d2Fybih3ZGV2LT5kZXYsICJ1bnN1cHBvcnRlZCBrZXkgdHlwZSAlZFxuIiwga2V5LT5jaXBoZXIp Ow0KKwkJd2Z4X2ZyZWVfa2V5KHdkZXYsIGlkeCk7DQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQor CX0NCisJcmV0ID0gaGlmX2FkZF9rZXkod2Rldiwgayk7DQorCWlmIChyZXQpIHsNCisJCXdmeF9m cmVlX2tleSh3ZGV2LCBpZHgpOw0KKwkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KKwl9DQorCWtleS0+ ZmxhZ3MgfD0gSUVFRTgwMjExX0tFWV9GTEFHX1BVVF9JVl9TUEFDRSB8DQorCQkgICAgICBJRUVF ODAyMTFfS0VZX0ZMQUdfUkVTRVJWRV9UQUlMUk9PTTsNCisJa2V5LT5od19rZXlfaWR4ID0gaWR4 Ow0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCB3ZnhfcmVtb3ZlX2tleShzdHJ1Y3Qg d2Z4X3ZpZiAqd3ZpZiwgc3RydWN0IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5KQ0KK3sNCisJV0FS TihrZXktPmh3X2tleV9pZHggPj0gTUFYX0tFWV9FTlRSSUVTLCAiY29ycnVwdGVkIGh3X2tleV9p ZHgiKTsNCisJd2Z4X2ZyZWVfa2V5KHd2aWYtPndkZXYsIGtleS0+aHdfa2V5X2lkeCk7DQorCXJl dHVybiBoaWZfcmVtb3ZlX2tleSh3dmlmLT53ZGV2LCBrZXktPmh3X2tleV9pZHgpOw0KK30NCisN CitpbnQgd2Z4X3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0gc2V0X2tleV9j bWQgY21kLA0KKwkJc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGllZWU4MDIxMV9z dGEgKnN0YSwNCisJCXN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSkNCit7DQorCWludCBy ZXQgPSAtRU9QTk9UU1VQUDsNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSAoc3RydWN0IHdmeF92 aWYgKikgdmlmLT5kcnZfcHJpdjsNCisNCisJbXV0ZXhfbG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9t dXRleCk7DQorCWlmIChjbWQgPT0gU0VUX0tFWSkNCisJCXJldCA9IHdmeF9hZGRfa2V5KHd2aWYs IHN0YSwga2V5KTsNCisJaWYgKGNtZCA9PSBESVNBQkxFX0tFWSkNCisJCXJldCA9IHdmeF9yZW1v dmVfa2V5KHd2aWYsIGtleSk7DQorCW11dGV4X3VubG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRl eCk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK2ludCB3ZnhfdXBsb2FkX2tleXMoc3RydWN0IHdm eF92aWYgKnd2aWYpDQorew0KKwlpbnQgaTsNCisJc3RydWN0IGhpZl9yZXFfYWRkX2tleSAqa2V5 Ow0KKwlzdHJ1Y3Qgd2Z4X2RldiAqd2RldiA9IHd2aWYtPndkZXY7DQorDQorCWZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKHdkZXYtPmtleXMpOyBpKyspIHsNCisJCWlmICh3ZGV2LT5rZXlfbWFw ICYgQklUKGkpKSB7DQorCQkJa2V5ID0gJndkZXYtPmtleXNbaV07DQorCQkJaWYgKGtleS0+aW50 X2lkID09IHd2aWYtPmlkKQ0KKwkJCQloaWZfYWRkX2tleSh3ZGV2LCBrZXkpOw0KKwkJfQ0KKwl9 DQorCXJldHVybiAwOw0KK30NCisNCit2b2lkIHdmeF93ZXBfa2V5X3dvcmsoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQ0KK3sNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSBjb250YWluZXJfb2Yo d29yaywgc3RydWN0IHdmeF92aWYsIHdlcF9rZXlfd29yayk7DQorDQorCXdmeF90eF9mbHVzaCh3 dmlmLT53ZGV2KTsNCisJaGlmX3dlcF9kZWZhdWx0X2tleV9pZCh3dmlmLCB3dmlmLT53ZXBfZGVm YXVsdF9rZXlfaWQpOw0KKwl3ZnhfcGVuZGluZ19yZXF1ZXVlKHd2aWYtPndkZXYsIHd2aWYtPndl cF9wZW5kaW5nX3NrYik7DQorCXd2aWYtPndlcF9wZW5kaW5nX3NrYiA9IE5VTEw7DQorCXdmeF90 eF91bmxvY2sod3ZpZi0+d2Rldik7DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93 Zngva2V5LmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2tleS5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwMDAwLi45NDM2Y2NkZjRkM2INCi0tLSAvZGV2L251bGwNCisrKyBi L2RyaXZlcnMvc3RhZ2luZy93Zngva2V5LmgNCkBAIC0wLDAgKzEsMjIgQEANCisvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQorLyoNCisgKiBJbXBsZW1lbnRhdGlv biBvZiBtYWM4MDIxMSBBUEkuDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSwgU2ls aWNvbiBMYWJvcmF0b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNz c29uDQorICovDQorI2lmbmRlZiBXRlhfS0VZX0gNCisjZGVmaW5lIFdGWF9LRVlfSA0KKw0KKyNp bmNsdWRlIDxuZXQvbWFjODAyMTEuaD4NCisNCitzdHJ1Y3Qgd2Z4X2RldjsNCitzdHJ1Y3Qgd2Z4 X3ZpZjsNCisNCitpbnQgd2Z4X3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0g c2V0X2tleV9jbWQgY21kLA0KKwkJc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGll ZWU4MDIxMV9zdGEgKnN0YSwNCisJCXN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSk7DQor aW50IHdmeF91cGxvYWRfa2V5cyhzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZik7DQordm9pZCB3Znhfd2Vw X2tleV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7DQorDQorI2VuZGlmIC8qIFdGWF9T VEFfSCAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvbWFpbi5jIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9tYWluLmMNCmluZGV4IDA2MjIwYmFjNWI3NS4uZTdiYmEyNGFhZTBiIDEw MDY0NA0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMNCisrKyBiL2RyaXZlcnMvc3Rh Z2luZy93ZngvbWFpbi5jDQpAQCAtMjcsNiArMjcsNyBAQA0KICNpbmNsdWRlICJidXMuaCINCiAj aW5jbHVkZSAiYmguaCINCiAjaW5jbHVkZSAic3RhLmgiDQorI2luY2x1ZGUgImtleS5oIg0KICNp bmNsdWRlICJkZWJ1Zy5oIg0KICNpbmNsdWRlICJkYXRhX3R4LmgiDQogI2luY2x1ZGUgInNlY3Vy ZV9saW5rLmgiDQpAQCAtNTYsNiArNTcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGllZWU4MDIx MV9vcHMgd2Z4X29wcyA9IHsNCiAJLnJlbW92ZV9pbnRlcmZhY2UJPSB3ZnhfcmVtb3ZlX2ludGVy ZmFjZSwNCiAJLnR4CQkJPSB3ZnhfdHgsDQogCS5od19zY2FuCQk9IHdmeF9od19zY2FuLA0KKwku c2V0X2tleQkJPSB3Znhfc2V0X2tleSwNCiB9Ow0KIA0KIGJvb2wgd2Z4X2FwaV9vbGRlcl90aGFu KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBpbnQgbWFqb3IsIGludCBtaW5vcikNCmRpZmYgLS1naXQg YS9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0K aW5kZXggNWE4MTQwMTAwZTk3Li4yZTcwOWI4YTNiZjQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3N0 YWdpbmcvd2Z4L3N0YS5jDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5jDQpAQCAtOSw2 ICs5LDcgQEANCiANCiAjaW5jbHVkZSAic3RhLmgiDQogI2luY2x1ZGUgIndmeC5oIg0KKyNpbmNs dWRlICJrZXkuaCINCiAjaW5jbHVkZSAic2Nhbi5oIg0KICNpbmNsdWRlICJoaWZfdHhfbWliLmgi DQogDQpAQCAtMTYyLDYgKzE2Myw5IEBAIGludCB3ZnhfYWRkX2ludGVyZmFjZShzdHJ1Y3QgaWVl ZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZikNCiAJSU5JVF9XT1JLKCZ3 dmlmLT5tY2FzdF9zdG9wX3dvcmssIHdmeF9tY2FzdF9zdG9wX3dvcmspOw0KIAl0aW1lcl9zZXR1 cCgmd3ZpZi0+bWNhc3RfdGltZW91dCwgd2Z4X21jYXN0X3RpbWVvdXQsIDApOw0KIA0KKwl3dmlm LT53ZXBfZGVmYXVsdF9rZXlfaWQgPSAtMTsNCisJSU5JVF9XT1JLKCZ3dmlmLT53ZXBfa2V5X3dv cmssIHdmeF93ZXBfa2V5X3dvcmspOw0KKw0KIAlzZW1hX2luaXQoJnd2aWYtPnNjYW4ubG9jaywg MSk7DQogCUlOSVRfV09SSygmd3ZpZi0+c2Nhbi53b3JrLCB3Znhfc2Nhbl93b3JrKTsNCiAJSU5J VF9ERUxBWUVEX1dPUksoJnd2aWYtPnNjYW4udGltZW91dCwgd2Z4X3NjYW5fdGltZW91dCk7DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC93ZnguaCBiL2RyaXZlcnMvc3RhZ2luZy93 Zngvd2Z4LmgNCmluZGV4IDUwYzBkOWMwZTUyOC4uYTg2ZGRmYWVkODI1IDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9zdGFnaW5nL3dmeC93ZnguaA0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC93Zngu aA0KQEAgLTQ4LDYgKzQ4LDkgQEAgc3RydWN0IHdmeF9kZXYgew0KIAlpbnQJCQl0eF9idXJzdF9p ZHg7DQogCWF0b21pY190CQl0eF9sb2NrOw0KIA0KKwl1MzIJCQlrZXlfbWFwOw0KKwlzdHJ1Y3Qg aGlmX3JlcV9hZGRfa2V5CWtleXNbTUFYX0tFWV9FTlRSSUVTXTsNCisNCiAJc3RydWN0IGhpZl9y eF9zdGF0cwlyeF9zdGF0czsNCiAJc3RydWN0IG11dGV4CQlyeF9zdGF0c19sb2NrOw0KIA0KQEAg LTczLDYgKzc2LDkgQEAgc3RydWN0IHdmeF92aWYgew0KIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJbWNh c3Rfc3RhcnRfd29yazsNCiAJc3RydWN0IHdvcmtfc3RydWN0CW1jYXN0X3N0b3Bfd29yazsNCiAN CisJczgJCQl3ZXBfZGVmYXVsdF9rZXlfaWQ7DQorCXN0cnVjdCBza19idWZmCQkqd2VwX3BlbmRp bmdfc2tiOw0KKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QJd2VwX2tleV93b3JrOw0KIA0KIAlzdHJ1Y3Qg dHhfcG9saWN5X2NhY2hlCXR4X3BvbGljeV9jYWNoZTsNCiAJc3RydWN0IHdvcmtfc3RydWN0CXR4 X3BvbGljeV91cGxvYWRfd29yazsNCkBAIC0xMjAsNiArMTI2LDE5IEBAIHN0YXRpYyBpbmxpbmUg c3RydWN0IHdmeF92aWYgKnd2aWZfaXRlcmF0ZShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0 IHdmeF92aWYNCiAJcmV0dXJuIE5VTEw7DQogfQ0KIA0KK3N0YXRpYyBpbmxpbmUgdm9pZCBtZW1y ZXZlcnNlKHVpbnQ4X3QgKnNyYywgdWludDhfdCBsZW5ndGgpDQorew0KKwl1aW50OF90ICpsbyA9 IHNyYzsNCisJdWludDhfdCAqaGkgPSBzcmMgKyBsZW5ndGggLSAxOw0KKwl1aW50OF90IHN3YXA7 DQorDQorCXdoaWxlIChsbyA8IGhpKSB7DQorCQlzd2FwID0gKmxvOw0KKwkJKmxvKysgPSAqaGk7 DQorCQkqaGktLSA9IHN3YXA7DQorCX0NCit9DQorDQogc3RhdGljIGlubGluZSBpbnQgbWVtemNt cCh2b2lkICpzcmMsIHVuc2lnbmVkIGludCBzaXplKQ0KIHsNCiAJdWludDhfdCAqYnVmID0gc3Jj Ow0KLS0gDQoyLjIwLjENCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRldmVsIG1haWxpbmcgbGlzdApkZXZlbEBsaW51eGRyaXZlcnByb2plY3Qub3JnCmh0 dHA6Ly9kcml2ZXJkZXYubGludXhkcml2ZXJwcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aXZlcmRldi1kZXZlbAo=