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=-16.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT 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 CDFE0C2BA1E for ; Mon, 15 Mar 2021 13:26:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4502B64EF4 for ; Mon, 15 Mar 2021 13:26:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231292AbhCON0b (ORCPT ); Mon, 15 Mar 2021 09:26:31 -0400 Received: from mail-dm6nam12on2047.outbound.protection.outlook.com ([40.107.243.47]:2753 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229830AbhCON0F (ORCPT ); Mon, 15 Mar 2021 09:26:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NSCXMXGm+cBPpGAcHKTvMpqh4FMcfNlVvGLa5Hk8uFf+1c6DmP4un5/1T1Ic+p1f+x6NRZ/rp2yDCAmbi5qQEZZR4tUGeT8T+17d8J3lrdzOPfOjHt02oH8g6Pl8cC0/owuFeVrPmTUJj7kZYAsUPD8dp/eLAHC9beGlurbHaufBtHxUDmSgpMTT0fch685gc1ona2pJfIlJn/hDgEy+0dJmDfnZU+zGfNMzftKHg5wM01EYcyKpAMyXu5Oo6wlSytoyqZvS3WKPE8dKDErof3tZtz/zcPHNr+krUxH/CWqfqoUlkpF9FV6H74DxGTK5NgsYJKBxGkhz/DERry2czA== 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=XGiAjmdFqkzEwqeANs72tUGoQwsiHdsIMoxNbghOPUo=; b=gu8Vk7sqOXnotWm/fzSZg1fVFOdFwSwQvLN/Yg/XK/cJvycAoBDkAFDnmNIQoFGn+wuunwyhbEOWlQMZXp9se8gjAPfY1DZpQqzNOe6v46SqiRvDqxHogewQvNDzT8UJw/PGgvND54N84ecV49vG+w0quScsV5uyxKWX8OqfZTsguNqBpzK77nGjm7l9i3j0MSsEX7OaDjJyTsN1E9YMlCowlimvhiJkz2OAV8gmzyO3ZxfYx0vspq0N5hoC1zginQkCmkFxX4RlrmlpoqCUBte++6VZf8HDrsw5nVowqmMaFKCAk0+tmHW2P2CRuU8jLhgjeLTy7efTb6vD1ykltw== 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=XGiAjmdFqkzEwqeANs72tUGoQwsiHdsIMoxNbghOPUo=; b=AAVbbajvvmhY+nbCvfBmBND9ANx81ENDK86YXzxwPLxUlx95cx4ZmHmx30KWv9fMUsb75HzjIM2qnR74nwtxbSs1rBvcCgAb9n5RPoW/OMbHvZnj6cZRLWURjAdSOATKrGIlg60p+RZ7otGlAJb8whl95l7wncT8P9hb/+wzoCk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4544.namprd11.prod.outlook.com (2603:10b6:806:92::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32; Mon, 15 Mar 2021 13:26:01 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::41bc:5ce:dfa0:9701]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::41bc:5ce:dfa0:9701%7]) with mapi id 15.20.3933.032; Mon, 15 Mar 2021 13:26:01 +0000 From: Jerome Pouiller To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , devicetree@vger.kernel.org, Rob Herring , linux-mmc@vger.kernel.org, =?UTF-8?q?Pali=20Roh=C3=A1r?= , Ulf Hansson , =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Subject: [PATCH v5 14/24] wfx: add key.c/key.h Date: Mon, 15 Mar 2021 14:24:51 +0100 Message-Id: <20210315132501.441681-15-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315132501.441681-1-Jerome.Pouiller@silabs.com> References: <20210315132501.441681-1-Jerome.Pouiller@silabs.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Originating-IP: [2a01:e35:2435:66a0:544b:f17b:7ae8:fb7] X-ClientProxiedBy: SN4PR0801CA0014.namprd08.prod.outlook.com (2603:10b6:803:29::24) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.silabs.com (2a01:e35:2435:66a0:544b:f17b:7ae8:fb7) by SN4PR0801CA0014.namprd08.prod.outlook.com (2603:10b6:803:29::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32 via Frontend Transport; Mon, 15 Mar 2021 13:25:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8921d9b6-cb35-4aae-1ab0-08d8e7b5e062 X-MS-TrafficTypeDiagnostic: SA0PR11MB4544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:376; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JMeqmY+T5mCI/bMKKA2fEknxllWRjF8eyCF47tqbIy3SaIGslEaBBmkyhqiPIV5+AojBK75B7P+rxVSc2dCdEi7lcivadiroE9iEfEEe+ilGlNmiyvZhtb1VfcuvTmrAkKBLGx+71kOObE/x1/grawn11yrhIbZVVpw4gyGMzKox5DodgRL+9EcZv9xQbbtrRl/cZeq1KP9vA+orHfxU7oKgaDa3Az44s51IPqXGlD4mZD/efETjt5Cx8poGOUOKuIUSPKVhh54dcpm9DW2hFs6vcKdMCKE7cOIZauC2fbQ3sb3GO1Ytv3wVqc1fDsdoaQJr1G/gR3moa2jKNE4CByVx3KAgICbTw85XhmCuU5CYxLi3+tm9O32r/0el+t9yBPcKrmRWtcvze0TyzqQJLwmzxEyk9jAuO75gA5DPMMOW29CtHjHcuElIb4pPsy6fYdKvlDqRgpsjLXKhNhVP1JMTyZnQpLdJD+9RrZpCqm1FWn43FK4Q6cPDpiD/m1paBHGZvgFOXxxFE3DWLIsC2JZYEY4NibDv4k9tuEttgm8NZCCmQw9MOA7vneBdDaCf X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB2718.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39850400004)(136003)(66574015)(8676002)(186003)(52116002)(86362001)(5660300002)(6486002)(7696005)(2906002)(83380400001)(4326008)(66476007)(16526019)(2616005)(107886003)(66946007)(8936002)(66556008)(1076003)(478600001)(6666004)(36756003)(7416002)(316002)(54906003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?UGJqT3I3VEhuM0hrWldNWnlyQkk2SEFRR0NFTUIza0lDMWJpNkxrclVsQjhE?= =?utf-8?B?eFBOakIvQVlPRC8vMXVJQ1BZRXBObUJTNWJqeGE0U0piSm1QanJmQ1pIUlBW?= =?utf-8?B?MUhUWVArUzNiK0hybk9iYnplSWlxVDViSUFLamFuKzNPanl6SXpTUW93WGNm?= =?utf-8?B?bmwyU0pwYlNOQUhXQmptd08rOGJqMHdXOVl2Y1NDeUhtODhSV3JxM0tWd05K?= =?utf-8?B?VldhaXVKdHMvRzgzMndtWDB4Skh0UTBRL285ZEVGNGtaekNEV0phKzl0Rko3?= =?utf-8?B?WTl6bnRrbkxSWkU0YXdnUkJwdkZLaFlJOStGWVFOYnA5SXcrbGgwM1VUeFBs?= =?utf-8?B?ZEdQWmhuTSt4dmlYcG84dTF0V2RHbmdKanZ6RHFqNDlNeTFsRjQ0ZktaUEFD?= =?utf-8?B?R1RCOHFva25tKzFMMmZWS3VVZ2FtMjN5K2ZrZ2pMRHdtaVVvam1KUGZSMXFa?= =?utf-8?B?NGd6SDB2dGEra00rSUdBRnRENFpEbExQWGRUUUJ6cHZJa3JZOGptT3JXakt5?= =?utf-8?B?Vmluc2VlVDdvV2RCM1htUWxyRm0xQ0tVWlU5TmlBNWdmbXpqM3RqclRmMEhW?= =?utf-8?B?aVF5bWtXM3B4NnNnZGdUcmJGOWt2VXhWaFEycFdmQmMvUUR4b2g2T09pcnZE?= =?utf-8?B?cGlnSVNPSWErU1VhZGRCK1pOcHZ3Q1VyRVlVUzBZd0pub3p0R3ZVYzBRNkFB?= =?utf-8?B?WW5oRjJXWm9mZWJyVGJpNkFNM3ZKd1A5cEZZMVBaeWcrM1F2MFk3blNzWHB3?= =?utf-8?B?NksxZ1ErY1M4eUk2WE5mR1JxcSt0MEtqdmVPZHVnODZGQlBPZ3BPVWRsTlN5?= =?utf-8?B?Z1BqTHZlUVduV1Nvek5kQVhRLzZRR2tJcGo0U0d1UkRIM2lENXVyKzl4dnRv?= =?utf-8?B?ZDRONkkxS01WQU1EV3l2WElvR1NWSzBkVzUzaDQ2d2VSSUtiaCtjckJ6K3VX?= =?utf-8?B?OVdtK0tvdm95V0owMGlGUUpLbG0yekRPd2hsZk1DSDh0OGFLVW51clFENWow?= =?utf-8?B?UU93eFo2d2tjUHY2Vk5vanJBU05wSmtOSGtKSUpMejlrdE9kQ01BZGtBRm1M?= =?utf-8?B?cU0wUkZGZ1NLcTVNZ3ZqTDZESkRhdmVUVE9FN0ZPK2k1Lzd5aUN0SktBVWYy?= =?utf-8?B?WDZsamZQRHBUU0J6RE8vQUlyRGc0U3VNVnlTSDY0dlJCUVQ0emZSMURYQmFG?= =?utf-8?B?SDZ3ellLbFJBOWFpRytBMTF3Ri9UNVlad1lBU2t3b0dXalBuMHN5cEovK3dV?= =?utf-8?B?K2p1UnNwNmo0RStNNlhXSTZHTEJOd3YyZTJ2bitaekp0OW01WjU1bjkrWVNq?= =?utf-8?B?WkY0UzdMYkFheVViODlFUzFENzQ3d3Q5bWd1WFVyck5QMkdEdTFRSm1tZi85?= =?utf-8?B?VFNBTjlwQkxLVndZQ3lHNGtGQzlzbVRiL3BsRitHZWVzWGd1MDRQdkJ3VzVi?= =?utf-8?B?dlNvSHhDZEdlWENVUUhWOFFyQXMwNDRoVytyZVlBVkpDR0FTRkJaRG1vUXBS?= =?utf-8?B?bGkyeWxvREdtekxjRHl1b0Z6bDQySXpqZjBNSzI4a25qSFVzaWhvV295ME1V?= =?utf-8?B?bS90RTNhTEFLNldybWFHN0szdUEwU3I5YWppSURkcHdPNkFZTGhnaHBPakJS?= =?utf-8?B?dVdibFkvUFRCZGFQRVUrSmN0dHhwdk1VcG1sSDlMOFlWdEJOVTZVMjladEJj?= =?utf-8?B?cVd1ZXVXZGM5U1g2dHZwdXdkb0ZtMUdVTDBvVDBsU3dsbm5xcmQ0aENWYmYy?= =?utf-8?B?MExsaS9ZVUtnZE0wQVZjSithcHo1cHd5clhWbXArREE1TjV4MFYvUWw5Yjll?= =?utf-8?B?ZjVqZmhBaVltMS92Ym9ad21PK1l4SGdiaXRxeENrQmV0SDdTMmZxMVlHd2RJ?= =?utf-8?Q?fJgXeZJJobfz/?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8921d9b6-cb35-4aae-1ab0-08d8e7b5e062 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2021 13:26:01.5096 (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: xt3nrQQiOETo05+ZSRBY88UtziQJgJ6V0mHVtoUkjGS1/4gx+qhvbvfBAGOhXh25wZNX3VPheFrI6H5kHRiXUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4544 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKU2ln bmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29t PgotLS0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmMgfCAyNDEgKysrKysr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5 LmggfCAgMjAgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI2MSBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmgKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9zaWxhYnMvd2Z4L2tleS5jIGIvZHJpdmVycy9u ZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjY1MTM0YTE3NDY4MwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmMKQEAgLTAsMCArMSwyNDEgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8qCisgKiBLZXkgbWFuYWdlbWVudCByZWxh dGVkIGZ1bmN0aW9ucy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMCwgU2lsaWNvbiBM YWJvcmF0b3JpZXMsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxMCwgU1QtRXJpY3Nzb24KKyAq LworI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CisjaW5jbHVkZSA8bmV0L21hYzgwMjEx Lmg+CisKKyNpbmNsdWRlICJrZXkuaCIKKyNpbmNsdWRlICJ3ZnguaCIKKyNpbmNsdWRlICJoaWZf dHhfbWliLmgiCisKK3N0YXRpYyBpbnQgd2Z4X2FsbG9jX2tleShzdHJ1Y3Qgd2Z4X2RldiAqd2Rl dikKK3sKKwlpbnQgaWR4OworCisJaWR4ID0gZmZzKH53ZGV2LT5rZXlfbWFwKSAtIDE7CisJaWYg KGlkeCA8IDAgfHwgaWR4ID49IE1BWF9LRVlfRU5UUklFUykKKwkJcmV0dXJuIC0xOworCisJd2Rl di0+a2V5X21hcCB8PSBCSVQoaWR4KTsKKwlyZXR1cm4gaWR4OworfQorCitzdGF0aWMgdm9pZCB3 ZnhfZnJlZV9rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYsIGludCBpZHgpCit7CisJV0FSTighKHdk ZXYtPmtleV9tYXAgJiBCSVQoaWR4KSksICJpbmNvbnNpc3RlbnQga2V5IGFsbG9jYXRpb24iKTsK Kwl3ZGV2LT5rZXlfbWFwICY9IH5CSVQoaWR4KTsKK30KKworc3RhdGljIHU4IGZpbGxfd2VwX3Bh aXIoc3RydWN0IGhpZl93ZXBfcGFpcndpc2Vfa2V5ICptc2csCisJCQlzdHJ1Y3QgaWVlZTgwMjEx X2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7CisJV0FSTihrZXktPmtleWxlbiA+IHNp emVvZihtc2ctPmtleV9kYXRhKSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbXNnLT5rZXlfbGVu Z3RoID0ga2V5LT5rZXlsZW47CisJbWVtY3B5KG1zZy0+a2V5X2RhdGEsIGtleS0+a2V5LCBrZXkt PmtleWxlbik7CisJZXRoZXJfYWRkcl9jb3B5KG1zZy0+cGVlcl9hZGRyZXNzLCBwZWVyX2FkZHIp OworCXJldHVybiBISUZfS0VZX1RZUEVfV0VQX1BBSVJXSVNFOworfQorCitzdGF0aWMgdTggZmls bF93ZXBfZ3JvdXAoc3RydWN0IGhpZl93ZXBfZ3JvdXBfa2V5ICptc2csCisJCQkgc3RydWN0IGll ZWU4MDIxMV9rZXlfY29uZiAqa2V5KQoreworCVdBUk4oa2V5LT5rZXlsZW4gPiBzaXplb2YobXNn LT5rZXlfZGF0YSksICJpbmNvbnNpc3RlbnQgZGF0YSIpOworCW1zZy0+a2V5X2lkID0ga2V5LT5r ZXlpZHg7CisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5LT5rZXlsZW47CisJbWVtY3B5KG1zZy0+a2V5 X2RhdGEsIGtleS0+a2V5LCBrZXktPmtleWxlbik7CisJcmV0dXJuIEhJRl9LRVlfVFlQRV9XRVBf REVGQVVMVDsKK30KKworc3RhdGljIHU4IGZpbGxfdGtpcF9wYWlyKHN0cnVjdCBoaWZfdGtpcF9w YWlyd2lzZV9rZXkgKm1zZywKKwkJCSBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4 ICpwZWVyX2FkZHIpCit7CisJdTggKmtleWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtl eWxlbiAhPSBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+ dHhfbWljX2tleSkKKwkJCSAgICArIHNpemVvZihtc2ctPnJ4X21pY19rZXkpLCAiaW5jb25zaXN0 ZW50IGRhdGEiKTsKKwltZW1jcHkobXNnLT50a2lwX2tleV9kYXRhLCBrZXlidWYsIHNpemVvZiht c2ctPnRraXBfa2V5X2RhdGEpKTsKKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0 YSk7CisJbWVtY3B5KG1zZy0+dHhfbWljX2tleSwga2V5YnVmLCBzaXplb2YobXNnLT50eF9taWNf a2V5KSk7CisJa2V5YnVmICs9IHNpemVvZihtc2ctPnR4X21pY19rZXkpOworCW1lbWNweShtc2ct PnJ4X21pY19rZXksIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+cnhfbWljX2tleSkpOworCWV0aGVyX2Fk ZHJfY29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsKKwlyZXR1cm4gSElGX0tFWV9U WVBFX1RLSVBfUEFJUldJU0U7Cit9CisKK3N0YXRpYyB1OCBmaWxsX3RraXBfZ3JvdXAoc3RydWN0 IGhpZl90a2lwX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25m ICprZXksCisJCQkgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAqc2VxLAorCQkJICBlbnVtIG5s ODAyMTFfaWZ0eXBlIGlmdHlwZSkKK3sKKwl1OCAqa2V5YnVmID0ga2V5LT5rZXk7CisKKwlXQVJO KGtleS0+a2V5bGVuICE9IHNpemVvZihtc2ctPnRraXBfa2V5X2RhdGEpCisJCQkgICAgKyAyICog c2l6ZW9mKG1zZy0+cnhfbWljX2tleSksICJpbmNvbnNpc3RlbnQgZGF0YSIpOworCW1zZy0+a2V5 X2lkID0ga2V5LT5rZXlpZHg7CisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciwKKwkg ICAgICAgJnNlcS0+dGtpcC5pdjE2LCBzaXplb2Yoc2VxLT50a2lwLml2MTYpKTsKKwltZW1jcHko bXNnLT5yeF9zZXF1ZW5jZV9jb3VudGVyICsgc2l6ZW9mKHUxNiksCisJICAgICAgICZzZXEtPnRr aXAuaXYzMiwgc2l6ZW9mKHNlcS0+dGtpcC5pdjMyKSk7CisJbWVtY3B5KG1zZy0+dGtpcF9rZXlf ZGF0YSwga2V5YnVmLCBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKSk7CisJa2V5YnVmICs9IHNp emVvZihtc2ctPnRraXBfa2V5X2RhdGEpOworCWlmIChpZnR5cGUgPT0gTkw4MDIxMV9JRlRZUEVf QVApCisJCS8qIFVzZSBUeCBNSUMgS2V5ICovCisJCW1lbWNweShtc2ctPnJ4X21pY19rZXksIGtl eWJ1ZiArIDAsIHNpemVvZihtc2ctPnJ4X21pY19rZXkpKTsKKwllbHNlCisJCS8qIFVzZSBSeCBN SUMgS2V5ICovCisJCW1lbWNweShtc2ctPnJ4X21pY19rZXksIGtleWJ1ZiArIDgsIHNpemVvZiht c2ctPnJ4X21pY19rZXkpKTsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX1RLSVBfR1JPVVA7Cit9CisK K3N0YXRpYyB1OCBmaWxsX2NjbXBfcGFpcihzdHJ1Y3QgaGlmX2Flc19wYWlyd2lzZV9rZXkgKm1z ZywKKwkJCSBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7 CisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5hZXNfa2V5X2RhdGEpLCAiaW5jb25z aXN0ZW50IGRhdGEiKTsKKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJf YWRkcik7CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4p OworCXJldHVybiBISUZfS0VZX1RZUEVfQUVTX1BBSVJXSVNFOworfQorCitzdGF0aWMgdTggZmls bF9jY21wX2dyb3VwKHN0cnVjdCBoaWZfYWVzX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3Qg aWVlZTgwMjExX2tleV9jb25mICprZXksCisJCQkgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAq c2VxKQoreworCVdBUk4oa2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+YWVzX2tleV9kYXRhKSwg ImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtl eSwga2V5LT5rZXlsZW4pOworCW1lbWNweShtc2ctPnJ4X3NlcXVlbmNlX2NvdW50ZXIsIHNlcS0+ Y2NtcC5wbiwgc2l6ZW9mKHNlcS0+Y2NtcC5wbikpOworCW1lbXJldmVyc2UobXNnLT5yeF9zZXF1 ZW5jZV9jb3VudGVyLCBzaXplb2Yoc2VxLT5jY21wLnBuKSk7CisJbXNnLT5rZXlfaWQgPSBrZXkt PmtleWlkeDsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX0FFU19HUk9VUDsKK30KKworc3RhdGljIHU4 IGZpbGxfc21zNF9wYWlyKHN0cnVjdCBoaWZfd2FwaV9wYWlyd2lzZV9rZXkgKm1zZywKKwkJCSBz dHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7CisJdTggKmtl eWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT53YXBp X2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRhKSwgImluY29uc2lz dGVudCBkYXRhIik7CisJZXRoZXJfYWRkcl9jb3B5KG1zZy0+cGVlcl9hZGRyZXNzLCBwZWVyX2Fk ZHIpOworCW1lbWNweShtc2ctPndhcGlfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+d2Fw aV9rZXlfZGF0YSkpOworCWtleWJ1ZiArPSBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKTsKKwlt ZW1jcHkobXNnLT5taWNfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRh KSk7CisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX1dB UElfUEFJUldJU0U7Cit9CisKK3N0YXRpYyB1OCBmaWxsX3NtczRfZ3JvdXAoc3RydWN0IGhpZl93 YXBpX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkp Cit7CisJdTggKmtleWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtleWxlbiAhPSBzaXpl b2YobXNnLT53YXBpX2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRh KSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+d2FwaV9rZXlfZGF0YSwga2V5 YnVmLCBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKSk7CisJa2V5YnVmICs9IHNpemVvZihtc2ct PndhcGlfa2V5X2RhdGEpOworCW1lbWNweShtc2ctPm1pY19rZXlfZGF0YSwga2V5YnVmLCBzaXpl b2YobXNnLT5taWNfa2V5X2RhdGEpKTsKKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4OworCXJl dHVybiBISUZfS0VZX1RZUEVfV0FQSV9HUk9VUDsKK30KKworc3RhdGljIHU4IGZpbGxfYWVzX2Nt YWNfZ3JvdXAoc3RydWN0IGhpZl9pZ3RrX2dyb3VwX2tleSAqbXNnLAorCQkJICAgICAgc3RydWN0 IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5LAorCQkJICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlf c2VxICpzZXEpCit7CisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5pZ3RrX2tleV9k YXRhKSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+aWd0a19rZXlfZGF0YSwg a2V5LT5rZXksIGtleS0+a2V5bGVuKTsKKwltZW1jcHkobXNnLT5pcG4sIHNlcS0+YWVzX2NtYWMu cG4sIHNpemVvZihzZXEtPmFlc19jbWFjLnBuKSk7CisJbWVtcmV2ZXJzZShtc2ctPmlwbiwgc2l6 ZW9mKHNlcS0+YWVzX2NtYWMucG4pKTsKKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4OworCXJl dHVybiBISUZfS0VZX1RZUEVfSUdUS19HUk9VUDsKK30KKworc3RhdGljIGludCB3ZnhfYWRkX2tl eShzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwKKwkJICAg ICAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSkKK3sKKwlpbnQgcmV0OworCXN0cnVj dCBoaWZfcmVxX2FkZF9rZXkgayA9IHsgfTsKKwlzdHJ1Y3QgaWVlZTgwMjExX2tleV9zZXEgc2Vx OworCXN0cnVjdCB3ZnhfZGV2ICp3ZGV2ID0gd3ZpZi0+d2RldjsKKwlpbnQgaWR4ID0gd2Z4X2Fs bG9jX2tleSh3dmlmLT53ZGV2KTsKKwlib29sIHBhaXJ3aXNlID0ga2V5LT5mbGFncyAmIElFRUU4 MDIxMV9LRVlfRkxBR19QQUlSV0lTRTsKKworCVdBUk4oa2V5LT5mbGFncyAmIElFRUU4MDIxMV9L RVlfRkxBR19QQUlSV0lTRSAmJiAhc3RhLCAiaW5jb25zaXN0ZW50IGRhdGEiKTsKKwlpZWVlODAy MTFfZ2V0X2tleV9yeF9zZXEoa2V5LCAwLCAmc2VxKTsKKwlpZiAoaWR4IDwgMCkKKwkJcmV0dXJu IC1FSU5WQUw7CisJay5pbnRfaWQgPSB3dmlmLT5pZDsKKwlrLmVudHJ5X2luZGV4ID0gaWR4Owor CWlmIChrZXktPmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9XRVA0MCB8fAorCSAgICBrZXkt PmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9XRVAxMDQpIHsKKwkJaWYgKHBhaXJ3aXNlKQor CQkJay50eXBlID0gZmlsbF93ZXBfcGFpcigmay5rZXkud2VwX3BhaXJ3aXNlX2tleSwga2V5LAor CQkJCQkgICAgICAgc3RhLT5hZGRyKTsKKwkJZWxzZQorCQkJay50eXBlID0gZmlsbF93ZXBfZ3Jv dXAoJmsua2V5LndlcF9ncm91cF9rZXksIGtleSk7CisJfSBlbHNlIGlmIChrZXktPmNpcGhlciA9 PSBXTEFOX0NJUEhFUl9TVUlURV9US0lQKSB7CisJCWlmIChwYWlyd2lzZSkKKwkJCWsudHlwZSA9 IGZpbGxfdGtpcF9wYWlyKCZrLmtleS50a2lwX3BhaXJ3aXNlX2tleSwga2V5LAorCQkJCQkJc3Rh LT5hZGRyKTsKKwkJZWxzZQorCQkJay50eXBlID0gZmlsbF90a2lwX2dyb3VwKCZrLmtleS50a2lw X2dyb3VwX2tleSwga2V5LAorCQkJCQkJICZzZXEsIHd2aWYtPnZpZi0+dHlwZSk7CisJfSBlbHNl IGlmIChrZXktPmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9DQ01QKSB7CisJCWlmIChwYWly d2lzZSkKKwkJCWsudHlwZSA9IGZpbGxfY2NtcF9wYWlyKCZrLmtleS5hZXNfcGFpcndpc2Vfa2V5 LCBrZXksCisJCQkJCQlzdGEtPmFkZHIpOworCQllbHNlCisJCQlrLnR5cGUgPSBmaWxsX2NjbXBf Z3JvdXAoJmsua2V5LmFlc19ncm91cF9rZXksIGtleSwKKwkJCQkJCSAmc2VxKTsKKwl9IGVsc2Ug aWYgKGtleS0+Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX1NNUzQpIHsKKwkJaWYgKHBhaXJ3 aXNlKQorCQkJay50eXBlID0gZmlsbF9zbXM0X3BhaXIoJmsua2V5LndhcGlfcGFpcndpc2Vfa2V5 LCBrZXksCisJCQkJCQlzdGEtPmFkZHIpOworCQllbHNlCisJCQlrLnR5cGUgPSBmaWxsX3NtczRf Z3JvdXAoJmsua2V5LndhcGlfZ3JvdXBfa2V5LCBrZXkpOworCX0gZWxzZSBpZiAoa2V5LT5jaXBo ZXIgPT0gV0xBTl9DSVBIRVJfU1VJVEVfQUVTX0NNQUMpIHsKKwkJay50eXBlID0gZmlsbF9hZXNf Y21hY19ncm91cCgmay5rZXkuaWd0a19ncm91cF9rZXksIGtleSwgJnNlcSk7CisJCWtleS0+Zmxh Z3MgfD0gSUVFRTgwMjExX0tFWV9GTEFHX0dFTkVSQVRFX01NSUU7CisJfSBlbHNlIHsKKwkJZGV2 X3dhcm4od2Rldi0+ZGV2LCAidW5zdXBwb3J0ZWQga2V5IHR5cGUgJWRcbiIsIGtleS0+Y2lwaGVy KTsKKwkJd2Z4X2ZyZWVfa2V5KHdkZXYsIGlkeCk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9 CisJcmV0ID0gaGlmX2FkZF9rZXkod2RldiwgJmspOworCWlmIChyZXQpIHsKKwkJd2Z4X2ZyZWVf a2V5KHdkZXYsIGlkeCk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisJa2V5LT5mbGFncyB8 PSBJRUVFODAyMTFfS0VZX0ZMQUdfUFVUX0lWX1NQQUNFIHwKKwkJICAgICAgSUVFRTgwMjExX0tF WV9GTEFHX1JFU0VSVkVfVEFJTFJPT007CisJa2V5LT5od19rZXlfaWR4ID0gaWR4OworCXJldHVy biAwOworfQorCitzdGF0aWMgaW50IHdmeF9yZW1vdmVfa2V5KHN0cnVjdCB3ZnhfdmlmICp3dmlm LCBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkpCit7CisJV0FSTihrZXktPmh3X2tleV9p ZHggPj0gTUFYX0tFWV9FTlRSSUVTLCAiY29ycnVwdGVkIGh3X2tleV9pZHgiKTsKKwl3ZnhfZnJl ZV9rZXkod3ZpZi0+d2Rldiwga2V5LT5od19rZXlfaWR4KTsKKwlyZXR1cm4gaGlmX3JlbW92ZV9r ZXkod3ZpZi0+d2Rldiwga2V5LT5od19rZXlfaWR4KTsKK30KKworaW50IHdmeF9zZXRfa2V5KHN0 cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBlbnVtIHNldF9rZXlfY21kIGNtZCwKKwkJc3RydWN0IGll ZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwKKwkJc3RydWN0IGll ZWU4MDIxMV9rZXlfY29uZiAqa2V5KQoreworCWludCByZXQgPSAtRU9QTk9UU1VQUDsKKwlzdHJ1 Y3Qgd2Z4X3ZpZiAqd3ZpZiA9IChzdHJ1Y3Qgd2Z4X3ZpZiAqKXZpZi0+ZHJ2X3ByaXY7CisKKwlt dXRleF9sb2NrKCZ3dmlmLT53ZGV2LT5jb25mX211dGV4KTsKKwlpZiAoY21kID09IFNFVF9LRVkp CisJCXJldCA9IHdmeF9hZGRfa2V5KHd2aWYsIHN0YSwga2V5KTsKKwlpZiAoY21kID09IERJU0FC TEVfS0VZKQorCQlyZXQgPSB3ZnhfcmVtb3ZlX2tleSh3dmlmLCBrZXkpOworCW11dGV4X3VubG9j aygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuaCBiL2RyaXZlcnMvbmV0L3dp cmVsZXNzL3NpbGFicy93Zngva2V5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5lYmE3YWM1NjA4MGMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL25ldC93aXJl bGVzcy9zaWxhYnMvd2Z4L2tleS5oCkBAIC0wLDAgKzEsMjAgQEAKKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qCisgKiBJbXBsZW1lbnRhdGlvbiBvZiBtYWM4 MDIxMSBBUEkuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjAsIFNpbGljb24gTGFib3Jh dG9yaWVzLCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNzc29uCisgKi8KKyNp Zm5kZWYgV0ZYX0tFWV9ICisjZGVmaW5lIFdGWF9LRVlfSAorCisjaW5jbHVkZSA8bmV0L21hYzgw MjExLmg+CisKK3N0cnVjdCB3ZnhfZGV2Oworc3RydWN0IHdmeF92aWY7CisKK2ludCB3Znhfc2V0 X2tleShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgZW51bSBzZXRfa2V5X2NtZCBjbWQsCisJCXN0 cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsIHN0cnVjdCBpZWVlODAyMTFfc3RhICpzdGEsCisJCXN0 cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSk7CisKKyNlbmRpZgotLSAKMi4zMC4yCgo= 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT 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 63013C433E0 for ; Mon, 15 Mar 2021 13:28:29 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (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 13E9764ED2 for ; Mon, 15 Mar 2021 13:28:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 13E9764ED2 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 smtp2.osuosl.org (Postfix) with ESMTP id C8E4C430F0; Mon, 15 Mar 2021 13:28:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tIoDDtY6Y8t5; Mon, 15 Mar 2021 13:28:27 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id 8FDFF430F2; Mon, 15 Mar 2021 13:28:27 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id E36001BF31D for ; Mon, 15 Mar 2021 13:26:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id D2BAC430EB for ; Mon, 15 Mar 2021 13:26:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rysuC6lLRFte for ; Mon, 15 Mar 2021 13:26:03 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2071.outbound.protection.outlook.com [40.107.94.71]) by smtp2.osuosl.org (Postfix) with ESMTPS id C5393430EE for ; Mon, 15 Mar 2021 13:26:02 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NSCXMXGm+cBPpGAcHKTvMpqh4FMcfNlVvGLa5Hk8uFf+1c6DmP4un5/1T1Ic+p1f+x6NRZ/rp2yDCAmbi5qQEZZR4tUGeT8T+17d8J3lrdzOPfOjHt02oH8g6Pl8cC0/owuFeVrPmTUJj7kZYAsUPD8dp/eLAHC9beGlurbHaufBtHxUDmSgpMTT0fch685gc1ona2pJfIlJn/hDgEy+0dJmDfnZU+zGfNMzftKHg5wM01EYcyKpAMyXu5Oo6wlSytoyqZvS3WKPE8dKDErof3tZtz/zcPHNr+krUxH/CWqfqoUlkpF9FV6H74DxGTK5NgsYJKBxGkhz/DERry2czA== 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=XGiAjmdFqkzEwqeANs72tUGoQwsiHdsIMoxNbghOPUo=; b=gu8Vk7sqOXnotWm/fzSZg1fVFOdFwSwQvLN/Yg/XK/cJvycAoBDkAFDnmNIQoFGn+wuunwyhbEOWlQMZXp9se8gjAPfY1DZpQqzNOe6v46SqiRvDqxHogewQvNDzT8UJw/PGgvND54N84ecV49vG+w0quScsV5uyxKWX8OqfZTsguNqBpzK77nGjm7l9i3j0MSsEX7OaDjJyTsN1E9YMlCowlimvhiJkz2OAV8gmzyO3ZxfYx0vspq0N5hoC1zginQkCmkFxX4RlrmlpoqCUBte++6VZf8HDrsw5nVowqmMaFKCAk0+tmHW2P2CRuU8jLhgjeLTy7efTb6vD1ykltw== 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=XGiAjmdFqkzEwqeANs72tUGoQwsiHdsIMoxNbghOPUo=; b=AAVbbajvvmhY+nbCvfBmBND9ANx81ENDK86YXzxwPLxUlx95cx4ZmHmx30KWv9fMUsb75HzjIM2qnR74nwtxbSs1rBvcCgAb9n5RPoW/OMbHvZnj6cZRLWURjAdSOATKrGIlg60p+RZ7otGlAJb8whl95l7wncT8P9hb/+wzoCk= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=silabs.com; Received: from SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) by SA0PR11MB4544.namprd11.prod.outlook.com (2603:10b6:806:92::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32; Mon, 15 Mar 2021 13:26:01 +0000 Received: from SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::41bc:5ce:dfa0:9701]) by SN6PR11MB2718.namprd11.prod.outlook.com ([fe80::41bc:5ce:dfa0:9701%7]) with mapi id 15.20.3933.032; Mon, 15 Mar 2021 13:26:01 +0000 From: Jerome Pouiller To: linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v5 14/24] wfx: add key.c/key.h Date: Mon, 15 Mar 2021 14:24:51 +0100 Message-Id: <20210315132501.441681-15-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315132501.441681-1-Jerome.Pouiller@silabs.com> References: <20210315132501.441681-1-Jerome.Pouiller@silabs.com> X-Originating-IP: [2a01:e35:2435:66a0:544b:f17b:7ae8:fb7] X-ClientProxiedBy: SN4PR0801CA0014.namprd08.prod.outlook.com (2603:10b6:803:29::24) To SN6PR11MB2718.namprd11.prod.outlook.com (2603:10b6:805:63::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.silabs.com (2a01:e35:2435:66a0:544b:f17b:7ae8:fb7) by SN4PR0801CA0014.namprd08.prod.outlook.com (2603:10b6:803:29::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3933.32 via Frontend Transport; Mon, 15 Mar 2021 13:25:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8921d9b6-cb35-4aae-1ab0-08d8e7b5e062 X-MS-TrafficTypeDiagnostic: SA0PR11MB4544: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:376; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JMeqmY+T5mCI/bMKKA2fEknxllWRjF8eyCF47tqbIy3SaIGslEaBBmkyhqiPIV5+AojBK75B7P+rxVSc2dCdEi7lcivadiroE9iEfEEe+ilGlNmiyvZhtb1VfcuvTmrAkKBLGx+71kOObE/x1/grawn11yrhIbZVVpw4gyGMzKox5DodgRL+9EcZv9xQbbtrRl/cZeq1KP9vA+orHfxU7oKgaDa3Az44s51IPqXGlD4mZD/efETjt5Cx8poGOUOKuIUSPKVhh54dcpm9DW2hFs6vcKdMCKE7cOIZauC2fbQ3sb3GO1Ytv3wVqc1fDsdoaQJr1G/gR3moa2jKNE4CByVx3KAgICbTw85XhmCuU5CYxLi3+tm9O32r/0el+t9yBPcKrmRWtcvze0TyzqQJLwmzxEyk9jAuO75gA5DPMMOW29CtHjHcuElIb4pPsy6fYdKvlDqRgpsjLXKhNhVP1JMTyZnQpLdJD+9RrZpCqm1FWn43FK4Q6cPDpiD/m1paBHGZvgFOXxxFE3DWLIsC2JZYEY4NibDv4k9tuEttgm8NZCCmQw9MOA7vneBdDaCf X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2718.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(396003)(366004)(376002)(39850400004)(136003)(66574015)(8676002)(186003)(52116002)(86362001)(5660300002)(6486002)(7696005)(2906002)(83380400001)(4326008)(66476007)(16526019)(2616005)(107886003)(66946007)(8936002)(66556008)(1076003)(478600001)(6666004)(36756003)(7416002)(316002)(54906003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?UGJqT3I3VEhuM0hrWldNWnlyQkk2SEFRR0NFTUIza0lDMWJpNkxrclVsQjhE?= =?utf-8?B?eFBOakIvQVlPRC8vMXVJQ1BZRXBObUJTNWJqeGE0U0piSm1QanJmQ1pIUlBW?= =?utf-8?B?MUhUWVArUzNiK0hybk9iYnplSWlxVDViSUFLamFuKzNPanl6SXpTUW93WGNm?= =?utf-8?B?bmwyU0pwYlNOQUhXQmptd08rOGJqMHdXOVl2Y1NDeUhtODhSV3JxM0tWd05K?= =?utf-8?B?VldhaXVKdHMvRzgzMndtWDB4Skh0UTBRL285ZEVGNGtaekNEV0phKzl0Rko3?= =?utf-8?B?WTl6bnRrbkxSWkU0YXdnUkJwdkZLaFlJOStGWVFOYnA5SXcrbGgwM1VUeFBs?= =?utf-8?B?ZEdQWmhuTSt4dmlYcG84dTF0V2RHbmdKanZ6RHFqNDlNeTFsRjQ0ZktaUEFD?= =?utf-8?B?R1RCOHFva25tKzFMMmZWS3VVZ2FtMjN5K2ZrZ2pMRHdtaVVvam1KUGZSMXFa?= =?utf-8?B?NGd6SDB2dGEra00rSUdBRnRENFpEbExQWGRUUUJ6cHZJa3JZOGptT3JXakt5?= =?utf-8?B?Vmluc2VlVDdvV2RCM1htUWxyRm0xQ0tVWlU5TmlBNWdmbXpqM3RqclRmMEhW?= =?utf-8?B?aVF5bWtXM3B4NnNnZGdUcmJGOWt2VXhWaFEycFdmQmMvUUR4b2g2T09pcnZE?= =?utf-8?B?cGlnSVNPSWErU1VhZGRCK1pOcHZ3Q1VyRVlVUzBZd0pub3p0R3ZVYzBRNkFB?= =?utf-8?B?WW5oRjJXWm9mZWJyVGJpNkFNM3ZKd1A5cEZZMVBaeWcrM1F2MFk3blNzWHB3?= =?utf-8?B?NksxZ1ErY1M4eUk2WE5mR1JxcSt0MEtqdmVPZHVnODZGQlBPZ3BPVWRsTlN5?= =?utf-8?B?Z1BqTHZlUVduV1Nvek5kQVhRLzZRR2tJcGo0U0d1UkRIM2lENXVyKzl4dnRv?= =?utf-8?B?ZDRONkkxS01WQU1EV3l2WElvR1NWSzBkVzUzaDQ2d2VSSUtiaCtjckJ6K3VX?= =?utf-8?B?OVdtK0tvdm95V0owMGlGUUpLbG0yekRPd2hsZk1DSDh0OGFLVW51clFENWow?= =?utf-8?B?UU93eFo2d2tjUHY2Vk5vanJBU05wSmtOSGtKSUpMejlrdE9kQ01BZGtBRm1M?= =?utf-8?B?cU0wUkZGZ1NLcTVNZ3ZqTDZESkRhdmVUVE9FN0ZPK2k1Lzd5aUN0SktBVWYy?= =?utf-8?B?WDZsamZQRHBUU0J6RE8vQUlyRGc0U3VNVnlTSDY0dlJCUVQ0emZSMURYQmFG?= =?utf-8?B?SDZ3ellLbFJBOWFpRytBMTF3Ri9UNVlad1lBU2t3b0dXalBuMHN5cEovK3dV?= =?utf-8?B?K2p1UnNwNmo0RStNNlhXSTZHTEJOd3YyZTJ2bitaekp0OW01WjU1bjkrWVNq?= =?utf-8?B?WkY0UzdMYkFheVViODlFUzFENzQ3d3Q5bWd1WFVyck5QMkdEdTFRSm1tZi85?= =?utf-8?B?VFNBTjlwQkxLVndZQ3lHNGtGQzlzbVRiL3BsRitHZWVzWGd1MDRQdkJ3VzVi?= =?utf-8?B?dlNvSHhDZEdlWENVUUhWOFFyQXMwNDRoVytyZVlBVkpDR0FTRkJaRG1vUXBS?= =?utf-8?B?bGkyeWxvREdtekxjRHl1b0Z6bDQySXpqZjBNSzI4a25qSFVzaWhvV295ME1V?= =?utf-8?B?bS90RTNhTEFLNldybWFHN0szdUEwU3I5YWppSURkcHdPNkFZTGhnaHBPakJS?= =?utf-8?B?dVdibFkvUFRCZGFQRVUrSmN0dHhwdk1VcG1sSDlMOFlWdEJOVTZVMjladEJj?= =?utf-8?B?cVd1ZXVXZGM5U1g2dHZwdXdkb0ZtMUdVTDBvVDBsU3dsbm5xcmQ0aENWYmYy?= =?utf-8?B?MExsaS9ZVUtnZE0wQVZjSithcHo1cHd5clhWbXArREE1TjV4MFYvUWw5Yjll?= =?utf-8?B?ZjVqZmhBaVltMS92Ym9ad21PK1l4SGdiaXRxeENrQmV0SDdTMmZxMVlHd2RJ?= =?utf-8?Q?fJgXeZJJobfz/?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8921d9b6-cb35-4aae-1ab0-08d8e7b5e062 X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2718.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2021 13:26:01.5096 (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: xt3nrQQiOETo05+ZSRBY88UtziQJgJ6V0mHVtoUkjGS1/4gx+qhvbvfBAGOhXh25wZNX3VPheFrI6H5kHRiXUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4544 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: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, Ulf Hansson , Greg Kroah-Hartman , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring , =?UTF-8?q?Pali=20Roh=C3=A1r?= , "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" RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKU2ln bmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29t PgotLS0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmMgfCAyNDEgKysrKysr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5 LmggfCAgMjAgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI2MSBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmgKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9zaWxhYnMvd2Z4L2tleS5jIGIvZHJpdmVycy9u ZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjY1MTM0YTE3NDY4MwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL3NpbGFicy93Zngva2V5LmMKQEAgLTAsMCArMSwyNDEgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8qCisgKiBLZXkgbWFuYWdlbWVudCByZWxh dGVkIGZ1bmN0aW9ucy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAyMCwgU2lsaWNvbiBM YWJvcmF0b3JpZXMsIEluYy4KKyAqIENvcHlyaWdodCAoYykgMjAxMCwgU1QtRXJpY3Nzb24KKyAq LworI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CisjaW5jbHVkZSA8bmV0L21hYzgwMjEx Lmg+CisKKyNpbmNsdWRlICJrZXkuaCIKKyNpbmNsdWRlICJ3ZnguaCIKKyNpbmNsdWRlICJoaWZf dHhfbWliLmgiCisKK3N0YXRpYyBpbnQgd2Z4X2FsbG9jX2tleShzdHJ1Y3Qgd2Z4X2RldiAqd2Rl dikKK3sKKwlpbnQgaWR4OworCisJaWR4ID0gZmZzKH53ZGV2LT5rZXlfbWFwKSAtIDE7CisJaWYg KGlkeCA8IDAgfHwgaWR4ID49IE1BWF9LRVlfRU5UUklFUykKKwkJcmV0dXJuIC0xOworCisJd2Rl di0+a2V5X21hcCB8PSBCSVQoaWR4KTsKKwlyZXR1cm4gaWR4OworfQorCitzdGF0aWMgdm9pZCB3 ZnhfZnJlZV9rZXkoc3RydWN0IHdmeF9kZXYgKndkZXYsIGludCBpZHgpCit7CisJV0FSTighKHdk ZXYtPmtleV9tYXAgJiBCSVQoaWR4KSksICJpbmNvbnNpc3RlbnQga2V5IGFsbG9jYXRpb24iKTsK Kwl3ZGV2LT5rZXlfbWFwICY9IH5CSVQoaWR4KTsKK30KKworc3RhdGljIHU4IGZpbGxfd2VwX3Bh aXIoc3RydWN0IGhpZl93ZXBfcGFpcndpc2Vfa2V5ICptc2csCisJCQlzdHJ1Y3QgaWVlZTgwMjEx X2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7CisJV0FSTihrZXktPmtleWxlbiA+IHNp emVvZihtc2ctPmtleV9kYXRhKSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbXNnLT5rZXlfbGVu Z3RoID0ga2V5LT5rZXlsZW47CisJbWVtY3B5KG1zZy0+a2V5X2RhdGEsIGtleS0+a2V5LCBrZXkt PmtleWxlbik7CisJZXRoZXJfYWRkcl9jb3B5KG1zZy0+cGVlcl9hZGRyZXNzLCBwZWVyX2FkZHIp OworCXJldHVybiBISUZfS0VZX1RZUEVfV0VQX1BBSVJXSVNFOworfQorCitzdGF0aWMgdTggZmls bF93ZXBfZ3JvdXAoc3RydWN0IGhpZl93ZXBfZ3JvdXBfa2V5ICptc2csCisJCQkgc3RydWN0IGll ZWU4MDIxMV9rZXlfY29uZiAqa2V5KQoreworCVdBUk4oa2V5LT5rZXlsZW4gPiBzaXplb2YobXNn LT5rZXlfZGF0YSksICJpbmNvbnNpc3RlbnQgZGF0YSIpOworCW1zZy0+a2V5X2lkID0ga2V5LT5r ZXlpZHg7CisJbXNnLT5rZXlfbGVuZ3RoID0ga2V5LT5rZXlsZW47CisJbWVtY3B5KG1zZy0+a2V5 X2RhdGEsIGtleS0+a2V5LCBrZXktPmtleWxlbik7CisJcmV0dXJuIEhJRl9LRVlfVFlQRV9XRVBf REVGQVVMVDsKK30KKworc3RhdGljIHU4IGZpbGxfdGtpcF9wYWlyKHN0cnVjdCBoaWZfdGtpcF9w YWlyd2lzZV9rZXkgKm1zZywKKwkJCSBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4 ICpwZWVyX2FkZHIpCit7CisJdTggKmtleWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtl eWxlbiAhPSBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+ dHhfbWljX2tleSkKKwkJCSAgICArIHNpemVvZihtc2ctPnJ4X21pY19rZXkpLCAiaW5jb25zaXN0 ZW50IGRhdGEiKTsKKwltZW1jcHkobXNnLT50a2lwX2tleV9kYXRhLCBrZXlidWYsIHNpemVvZiht c2ctPnRraXBfa2V5X2RhdGEpKTsKKwlrZXlidWYgKz0gc2l6ZW9mKG1zZy0+dGtpcF9rZXlfZGF0 YSk7CisJbWVtY3B5KG1zZy0+dHhfbWljX2tleSwga2V5YnVmLCBzaXplb2YobXNnLT50eF9taWNf a2V5KSk7CisJa2V5YnVmICs9IHNpemVvZihtc2ctPnR4X21pY19rZXkpOworCW1lbWNweShtc2ct PnJ4X21pY19rZXksIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+cnhfbWljX2tleSkpOworCWV0aGVyX2Fk ZHJfY29weShtc2ctPnBlZXJfYWRkcmVzcywgcGVlcl9hZGRyKTsKKwlyZXR1cm4gSElGX0tFWV9U WVBFX1RLSVBfUEFJUldJU0U7Cit9CisKK3N0YXRpYyB1OCBmaWxsX3RraXBfZ3JvdXAoc3RydWN0 IGhpZl90a2lwX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25m ICprZXksCisJCQkgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAqc2VxLAorCQkJICBlbnVtIG5s ODAyMTFfaWZ0eXBlIGlmdHlwZSkKK3sKKwl1OCAqa2V5YnVmID0ga2V5LT5rZXk7CisKKwlXQVJO KGtleS0+a2V5bGVuICE9IHNpemVvZihtc2ctPnRraXBfa2V5X2RhdGEpCisJCQkgICAgKyAyICog c2l6ZW9mKG1zZy0+cnhfbWljX2tleSksICJpbmNvbnNpc3RlbnQgZGF0YSIpOworCW1zZy0+a2V5 X2lkID0ga2V5LT5rZXlpZHg7CisJbWVtY3B5KG1zZy0+cnhfc2VxdWVuY2VfY291bnRlciwKKwkg ICAgICAgJnNlcS0+dGtpcC5pdjE2LCBzaXplb2Yoc2VxLT50a2lwLml2MTYpKTsKKwltZW1jcHko bXNnLT5yeF9zZXF1ZW5jZV9jb3VudGVyICsgc2l6ZW9mKHUxNiksCisJICAgICAgICZzZXEtPnRr aXAuaXYzMiwgc2l6ZW9mKHNlcS0+dGtpcC5pdjMyKSk7CisJbWVtY3B5KG1zZy0+dGtpcF9rZXlf ZGF0YSwga2V5YnVmLCBzaXplb2YobXNnLT50a2lwX2tleV9kYXRhKSk7CisJa2V5YnVmICs9IHNp emVvZihtc2ctPnRraXBfa2V5X2RhdGEpOworCWlmIChpZnR5cGUgPT0gTkw4MDIxMV9JRlRZUEVf QVApCisJCS8qIFVzZSBUeCBNSUMgS2V5ICovCisJCW1lbWNweShtc2ctPnJ4X21pY19rZXksIGtl eWJ1ZiArIDAsIHNpemVvZihtc2ctPnJ4X21pY19rZXkpKTsKKwllbHNlCisJCS8qIFVzZSBSeCBN SUMgS2V5ICovCisJCW1lbWNweShtc2ctPnJ4X21pY19rZXksIGtleWJ1ZiArIDgsIHNpemVvZiht c2ctPnJ4X21pY19rZXkpKTsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX1RLSVBfR1JPVVA7Cit9CisK K3N0YXRpYyB1OCBmaWxsX2NjbXBfcGFpcihzdHJ1Y3QgaGlmX2Flc19wYWlyd2lzZV9rZXkgKm1z ZywKKwkJCSBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7 CisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5hZXNfa2V5X2RhdGEpLCAiaW5jb25z aXN0ZW50IGRhdGEiKTsKKwlldGhlcl9hZGRyX2NvcHkobXNnLT5wZWVyX2FkZHJlc3MsIHBlZXJf YWRkcik7CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtleSwga2V5LT5rZXlsZW4p OworCXJldHVybiBISUZfS0VZX1RZUEVfQUVTX1BBSVJXSVNFOworfQorCitzdGF0aWMgdTggZmls bF9jY21wX2dyb3VwKHN0cnVjdCBoaWZfYWVzX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3Qg aWVlZTgwMjExX2tleV9jb25mICprZXksCisJCQkgIHN0cnVjdCBpZWVlODAyMTFfa2V5X3NlcSAq c2VxKQoreworCVdBUk4oa2V5LT5rZXlsZW4gIT0gc2l6ZW9mKG1zZy0+YWVzX2tleV9kYXRhKSwg ImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+YWVzX2tleV9kYXRhLCBrZXktPmtl eSwga2V5LT5rZXlsZW4pOworCW1lbWNweShtc2ctPnJ4X3NlcXVlbmNlX2NvdW50ZXIsIHNlcS0+ Y2NtcC5wbiwgc2l6ZW9mKHNlcS0+Y2NtcC5wbikpOworCW1lbXJldmVyc2UobXNnLT5yeF9zZXF1 ZW5jZV9jb3VudGVyLCBzaXplb2Yoc2VxLT5jY21wLnBuKSk7CisJbXNnLT5rZXlfaWQgPSBrZXkt PmtleWlkeDsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX0FFU19HUk9VUDsKK30KKworc3RhdGljIHU4 IGZpbGxfc21zNF9wYWlyKHN0cnVjdCBoaWZfd2FwaV9wYWlyd2lzZV9rZXkgKm1zZywKKwkJCSBz dHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXksIHU4ICpwZWVyX2FkZHIpCit7CisJdTggKmtl eWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT53YXBp X2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRhKSwgImluY29uc2lz dGVudCBkYXRhIik7CisJZXRoZXJfYWRkcl9jb3B5KG1zZy0+cGVlcl9hZGRyZXNzLCBwZWVyX2Fk ZHIpOworCW1lbWNweShtc2ctPndhcGlfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+d2Fw aV9rZXlfZGF0YSkpOworCWtleWJ1ZiArPSBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKTsKKwlt ZW1jcHkobXNnLT5taWNfa2V5X2RhdGEsIGtleWJ1Ziwgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRh KSk7CisJbXNnLT5rZXlfaWQgPSBrZXktPmtleWlkeDsKKwlyZXR1cm4gSElGX0tFWV9UWVBFX1dB UElfUEFJUldJU0U7Cit9CisKK3N0YXRpYyB1OCBmaWxsX3NtczRfZ3JvdXAoc3RydWN0IGhpZl93 YXBpX2dyb3VwX2tleSAqbXNnLAorCQkJICBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkp Cit7CisJdTggKmtleWJ1ZiA9IGtleS0+a2V5OworCisJV0FSTihrZXktPmtleWxlbiAhPSBzaXpl b2YobXNnLT53YXBpX2tleV9kYXRhKQorCQkJICAgICsgc2l6ZW9mKG1zZy0+bWljX2tleV9kYXRh KSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+d2FwaV9rZXlfZGF0YSwga2V5 YnVmLCBzaXplb2YobXNnLT53YXBpX2tleV9kYXRhKSk7CisJa2V5YnVmICs9IHNpemVvZihtc2ct PndhcGlfa2V5X2RhdGEpOworCW1lbWNweShtc2ctPm1pY19rZXlfZGF0YSwga2V5YnVmLCBzaXpl b2YobXNnLT5taWNfa2V5X2RhdGEpKTsKKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4OworCXJl dHVybiBISUZfS0VZX1RZUEVfV0FQSV9HUk9VUDsKK30KKworc3RhdGljIHU4IGZpbGxfYWVzX2Nt YWNfZ3JvdXAoc3RydWN0IGhpZl9pZ3RrX2dyb3VwX2tleSAqbXNnLAorCQkJICAgICAgc3RydWN0 IGllZWU4MDIxMV9rZXlfY29uZiAqa2V5LAorCQkJICAgICAgc3RydWN0IGllZWU4MDIxMV9rZXlf c2VxICpzZXEpCit7CisJV0FSTihrZXktPmtleWxlbiAhPSBzaXplb2YobXNnLT5pZ3RrX2tleV9k YXRhKSwgImluY29uc2lzdGVudCBkYXRhIik7CisJbWVtY3B5KG1zZy0+aWd0a19rZXlfZGF0YSwg a2V5LT5rZXksIGtleS0+a2V5bGVuKTsKKwltZW1jcHkobXNnLT5pcG4sIHNlcS0+YWVzX2NtYWMu cG4sIHNpemVvZihzZXEtPmFlc19jbWFjLnBuKSk7CisJbWVtcmV2ZXJzZShtc2ctPmlwbiwgc2l6 ZW9mKHNlcS0+YWVzX2NtYWMucG4pKTsKKwltc2ctPmtleV9pZCA9IGtleS0+a2V5aWR4OworCXJl dHVybiBISUZfS0VZX1RZUEVfSUdUS19HUk9VUDsKK30KKworc3RhdGljIGludCB3ZnhfYWRkX2tl eShzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwKKwkJICAg ICAgIHN0cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSkKK3sKKwlpbnQgcmV0OworCXN0cnVj dCBoaWZfcmVxX2FkZF9rZXkgayA9IHsgfTsKKwlzdHJ1Y3QgaWVlZTgwMjExX2tleV9zZXEgc2Vx OworCXN0cnVjdCB3ZnhfZGV2ICp3ZGV2ID0gd3ZpZi0+d2RldjsKKwlpbnQgaWR4ID0gd2Z4X2Fs bG9jX2tleSh3dmlmLT53ZGV2KTsKKwlib29sIHBhaXJ3aXNlID0ga2V5LT5mbGFncyAmIElFRUU4 MDIxMV9LRVlfRkxBR19QQUlSV0lTRTsKKworCVdBUk4oa2V5LT5mbGFncyAmIElFRUU4MDIxMV9L RVlfRkxBR19QQUlSV0lTRSAmJiAhc3RhLCAiaW5jb25zaXN0ZW50IGRhdGEiKTsKKwlpZWVlODAy MTFfZ2V0X2tleV9yeF9zZXEoa2V5LCAwLCAmc2VxKTsKKwlpZiAoaWR4IDwgMCkKKwkJcmV0dXJu IC1FSU5WQUw7CisJay5pbnRfaWQgPSB3dmlmLT5pZDsKKwlrLmVudHJ5X2luZGV4ID0gaWR4Owor CWlmIChrZXktPmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9XRVA0MCB8fAorCSAgICBrZXkt PmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9XRVAxMDQpIHsKKwkJaWYgKHBhaXJ3aXNlKQor CQkJay50eXBlID0gZmlsbF93ZXBfcGFpcigmay5rZXkud2VwX3BhaXJ3aXNlX2tleSwga2V5LAor CQkJCQkgICAgICAgc3RhLT5hZGRyKTsKKwkJZWxzZQorCQkJay50eXBlID0gZmlsbF93ZXBfZ3Jv dXAoJmsua2V5LndlcF9ncm91cF9rZXksIGtleSk7CisJfSBlbHNlIGlmIChrZXktPmNpcGhlciA9 PSBXTEFOX0NJUEhFUl9TVUlURV9US0lQKSB7CisJCWlmIChwYWlyd2lzZSkKKwkJCWsudHlwZSA9 IGZpbGxfdGtpcF9wYWlyKCZrLmtleS50a2lwX3BhaXJ3aXNlX2tleSwga2V5LAorCQkJCQkJc3Rh LT5hZGRyKTsKKwkJZWxzZQorCQkJay50eXBlID0gZmlsbF90a2lwX2dyb3VwKCZrLmtleS50a2lw X2dyb3VwX2tleSwga2V5LAorCQkJCQkJICZzZXEsIHd2aWYtPnZpZi0+dHlwZSk7CisJfSBlbHNl IGlmIChrZXktPmNpcGhlciA9PSBXTEFOX0NJUEhFUl9TVUlURV9DQ01QKSB7CisJCWlmIChwYWly d2lzZSkKKwkJCWsudHlwZSA9IGZpbGxfY2NtcF9wYWlyKCZrLmtleS5hZXNfcGFpcndpc2Vfa2V5 LCBrZXksCisJCQkJCQlzdGEtPmFkZHIpOworCQllbHNlCisJCQlrLnR5cGUgPSBmaWxsX2NjbXBf Z3JvdXAoJmsua2V5LmFlc19ncm91cF9rZXksIGtleSwKKwkJCQkJCSAmc2VxKTsKKwl9IGVsc2Ug aWYgKGtleS0+Y2lwaGVyID09IFdMQU5fQ0lQSEVSX1NVSVRFX1NNUzQpIHsKKwkJaWYgKHBhaXJ3 aXNlKQorCQkJay50eXBlID0gZmlsbF9zbXM0X3BhaXIoJmsua2V5LndhcGlfcGFpcndpc2Vfa2V5 LCBrZXksCisJCQkJCQlzdGEtPmFkZHIpOworCQllbHNlCisJCQlrLnR5cGUgPSBmaWxsX3NtczRf Z3JvdXAoJmsua2V5LndhcGlfZ3JvdXBfa2V5LCBrZXkpOworCX0gZWxzZSBpZiAoa2V5LT5jaXBo ZXIgPT0gV0xBTl9DSVBIRVJfU1VJVEVfQUVTX0NNQUMpIHsKKwkJay50eXBlID0gZmlsbF9hZXNf Y21hY19ncm91cCgmay5rZXkuaWd0a19ncm91cF9rZXksIGtleSwgJnNlcSk7CisJCWtleS0+Zmxh Z3MgfD0gSUVFRTgwMjExX0tFWV9GTEFHX0dFTkVSQVRFX01NSUU7CisJfSBlbHNlIHsKKwkJZGV2 X3dhcm4od2Rldi0+ZGV2LCAidW5zdXBwb3J0ZWQga2V5IHR5cGUgJWRcbiIsIGtleS0+Y2lwaGVy KTsKKwkJd2Z4X2ZyZWVfa2V5KHdkZXYsIGlkeCk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9 CisJcmV0ID0gaGlmX2FkZF9rZXkod2RldiwgJmspOworCWlmIChyZXQpIHsKKwkJd2Z4X2ZyZWVf a2V5KHdkZXYsIGlkeCk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKwl9CisJa2V5LT5mbGFncyB8 PSBJRUVFODAyMTFfS0VZX0ZMQUdfUFVUX0lWX1NQQUNFIHwKKwkJICAgICAgSUVFRTgwMjExX0tF WV9GTEFHX1JFU0VSVkVfVEFJTFJPT007CisJa2V5LT5od19rZXlfaWR4ID0gaWR4OworCXJldHVy biAwOworfQorCitzdGF0aWMgaW50IHdmeF9yZW1vdmVfa2V5KHN0cnVjdCB3ZnhfdmlmICp3dmlm LCBzdHJ1Y3QgaWVlZTgwMjExX2tleV9jb25mICprZXkpCit7CisJV0FSTihrZXktPmh3X2tleV9p ZHggPj0gTUFYX0tFWV9FTlRSSUVTLCAiY29ycnVwdGVkIGh3X2tleV9pZHgiKTsKKwl3ZnhfZnJl ZV9rZXkod3ZpZi0+d2Rldiwga2V5LT5od19rZXlfaWR4KTsKKwlyZXR1cm4gaGlmX3JlbW92ZV9r ZXkod3ZpZi0+d2Rldiwga2V5LT5od19rZXlfaWR4KTsKK30KKworaW50IHdmeF9zZXRfa2V5KHN0 cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBlbnVtIHNldF9rZXlfY21kIGNtZCwKKwkJc3RydWN0IGll ZWU4MDIxMV92aWYgKnZpZiwgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSwKKwkJc3RydWN0IGll ZWU4MDIxMV9rZXlfY29uZiAqa2V5KQoreworCWludCByZXQgPSAtRU9QTk9UU1VQUDsKKwlzdHJ1 Y3Qgd2Z4X3ZpZiAqd3ZpZiA9IChzdHJ1Y3Qgd2Z4X3ZpZiAqKXZpZi0+ZHJ2X3ByaXY7CisKKwlt dXRleF9sb2NrKCZ3dmlmLT53ZGV2LT5jb25mX211dGV4KTsKKwlpZiAoY21kID09IFNFVF9LRVkp CisJCXJldCA9IHdmeF9hZGRfa2V5KHd2aWYsIHN0YSwga2V5KTsKKwlpZiAoY21kID09IERJU0FC TEVfS0VZKQorCQlyZXQgPSB3ZnhfcmVtb3ZlX2tleSh3dmlmLCBrZXkpOworCW11dGV4X3VubG9j aygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRleCk7CisJcmV0dXJuIHJldDsKK30KKwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9rZXkuaCBiL2RyaXZlcnMvbmV0L3dp cmVsZXNzL3NpbGFicy93Zngva2V5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5lYmE3YWM1NjA4MGMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL25ldC93aXJl bGVzcy9zaWxhYnMvd2Z4L2tleS5oCkBAIC0wLDAgKzEsMjAgQEAKKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qCisgKiBJbXBsZW1lbnRhdGlvbiBvZiBtYWM4 MDIxMSBBUEkuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjAsIFNpbGljb24gTGFib3Jh dG9yaWVzLCBJbmMuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNzc29uCisgKi8KKyNp Zm5kZWYgV0ZYX0tFWV9ICisjZGVmaW5lIFdGWF9LRVlfSAorCisjaW5jbHVkZSA8bmV0L21hYzgw MjExLmg+CisKK3N0cnVjdCB3ZnhfZGV2Oworc3RydWN0IHdmeF92aWY7CisKK2ludCB3Znhfc2V0 X2tleShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgZW51bSBzZXRfa2V5X2NtZCBjbWQsCisJCXN0 cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsIHN0cnVjdCBpZWVlODAyMTFfc3RhICpzdGEsCisJCXN0 cnVjdCBpZWVlODAyMTFfa2V5X2NvbmYgKmtleSk7CisKKyNlbmRpZgotLSAKMi4zMC4yCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkZXZlbCBtYWlsaW5n IGxpc3QKZGV2ZWxAbGludXhkcml2ZXJwcm9qZWN0Lm9yZwpodHRwOi8vZHJpdmVyZGV2LmxpbnV4 ZHJpdmVycHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcml2ZXJkZXYtZGV2ZWwK