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=-9.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,USER_AGENT_GIT 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 05FA3C43603 for ; Tue, 17 Dec 2019 16:15:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B2DE221582 for ; Tue, 17 Dec 2019 16:15:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="C03kAHLB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728813AbfLQQPL (ORCPT ); Tue, 17 Dec 2019 11:15:11 -0500 Received: from mail-bn8nam11on2073.outbound.protection.outlook.com ([40.107.236.73]:39265 "EHLO NAM11-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728718AbfLQQPH (ORCPT ); Tue, 17 Dec 2019 11:15:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dYqVKNUYYgQWNPojGyW6Wmg+pwV7Er25sI6o+KZ42aBH7dWnG269sGOJpcEb2dx9/FysA5vkamLrWx9UY9c6jRa9JA47enbzsWqcYetZWwkBzbc3q1oPVe1UZ5bCDwlcEikOrA5O6qaOnrIghvMn4FTr9J65TUx5Uaqw9iUOMXiC7rpQrvwQUj4aBs7WsILdwmoKro25hhPGhk9jWFL/T2v07v+E5ha4Yc5wN/vnRqrjPI8UWIQNzREfB6HWsyMbBIJrSblU3xwoCVmQS4a3QwVmUC9G7arkQByR/DcoMJpUgC3aGAZU84O7gDRSzpUQba4+IdwS4RW/Pluow5SvBA== 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=RFeO5NsyAkZGTCN6PuOM7BmGUjPAqGJZtSFoWSYkslU=; b=eZMD26rru+SOFvuNFhDbVOKX5SfB5f83XRIxfVbUvucr/olzYOQX2i6D/6LFtf3HdccUyl4XYkdDMakNR6HJYx0gM7Z2qZXKL/r7UUL9pHc7WFrtu1mt4cHyr2S+BiQlEjcko1o9OgTkU5iYDDw9pvgGxncZfYz2gn3ds9LO5XWNkHWjtZBrFHdhD/EgCM1mRfoj6HCp8Q0y9Y6je0HWrayZ73BLLqzkHqjb94wEtRNUiMut54hMLphEj8y1MaQ3Zhvl0VmheEYW1VWjflbhxPGj8Dl8nzkDZweqvaw9cgEBMn1iRShxR+Gnhv2w3kycIJ5JFZsJQ0pp22mLXYTV9Q== 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=RFeO5NsyAkZGTCN6PuOM7BmGUjPAqGJZtSFoWSYkslU=; b=C03kAHLBZjH42J0rKtMStRzpU8gPcK0wMdpeuF5kMomSklgilAy+v4ZtjIR25qv0iJTMLjZhtYJ0fOMS6RPrS2NjVnFqBW3RngiEGaxUwQXB/6NyOrxM7u0+wGmId903T/Wje3evo8kBzbapotYVG4NrIHP4CLWMbhGgLhqNktQ= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (10.255.180.22) by MN2PR11MB4208.namprd11.prod.outlook.com (52.135.36.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.20; Tue, 17 Dec 2019 16:14:59 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::f46c:e5b4:2a85:f0bf%4]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019 16:14:59 +0000 From: =?utf-8?B?SsOpcsO0bWUgUG91aWxsZXI=?= 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" , =?utf-8?B?SsOpcsO0bWUgUG91aWxsZXI=?= Subject: [PATCH v2 22/55] staging: wfx: ensure that received hif messages are never modified Thread-Topic: [PATCH v2 22/55] staging: wfx: ensure that received hif messages are never modified Thread-Index: AQHVtPUhkZeRFXFsYE2DspeYg3LT4w== Date: Tue, 17 Dec 2019 16:14:59 +0000 Message-ID: <20191217161318.31402-23-Jerome.Pouiller@silabs.com> References: <20191217161318.31402-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20191217161318.31402-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PR0P264CA0174.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1c::18) To MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.24.0 x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d09a0683-48ad-4695-906b-08d7830c439b x-ms-traffictypediagnostic: MN2PR11MB4208: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-forefront-prvs: 02543CD7CD x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39850400004)(396003)(366004)(136003)(376002)(346002)(199004)(189003)(5660300002)(316002)(6506007)(85182001)(478600001)(71200400001)(2906002)(36756003)(186003)(26005)(81166006)(54906003)(1076003)(110136005)(66574012)(4326008)(8676002)(86362001)(6486002)(15650500001)(52116002)(6512007)(30864003)(64756008)(85202003)(66946007)(66476007)(66446008)(66556008)(8936002)(107886003)(2616005)(81156014);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR11MB4208;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: BCL:0; x-microsoft-antispam-message-info: Rq7yx8xi1r2ltHF+mFuiP4ebgdWXC1cW85pS1O4CmI/xbPqnkBAbAivVqlyniihBCkQWFGwYDkza0KwvXOCPzQlGPuJ1KLb/3j9NnV79fTEIFMY4PAK3e8LJX3Je+VbFZJfWl0WAQOH8A2pEFnoUNVODXp0Jz4p3JElEexbUCzlnOtY67q5pvl3IvFufeXdBsuC5RNUu7jCh9BjiN9pWsl3Aw4ps57o+hEi2/cKxwqNoYmxV7RkD5K4XCVoh8cehcmxCtE+zWKxIg/UM+A4s42Kz3/3FpXFXqy6hPi/nF9p7Ua5WXaZLRA6s2slaM6fZNeAq2wX8tcMKtYQeubA7EBKMWfbLM4H5GNKTnNNriqOK31B5ehPSZDP9LvDKNPcg5yJAww96y6TNqJfn7eK9ygt45x+aQC0QaForQBsq1xdfupnKim8rLggYV8TenqdU 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: d09a0683-48ad-4695-906b-08d7830c439b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 16:14:59.5088 (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: FGPFFJwUcItTQqE4E4tPaJhABQKFQFwRYBIO4Avek4s2oJCcuqbTxkeGUONXcCf454W3AC0hm0Yu9bbfq8ZiTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4208 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKVGhl cmUgYXJlIG5vIHJlYWwgcmVhc29uIHRvIG1vZGlmeSB0aGUgZGF0YSByZWNlaXZlZCBmcm9tIGRl dmljZS4gU28sCmxldCdzIG1hcmsgdGhlIGFyZ3VtZW50cyBjb25zdGFudC4KClNpZ25lZC1vZmYt Ynk6IErDqXLDtG1lIFBvdWlsbGVyIDxqZXJvbWUucG91aWxsZXJAc2lsYWJzLmNvbT4KLS0tCiBk cml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfcnguYyAgICAgfCAgOCArKy0KIGRyaXZlcnMvc3RhZ2lu Zy93ZngvZGF0YV9yeC5oICAgICB8ICA0ICstCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHgu YyAgICAgfCAgMiArLQogZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3R4LmggICAgIHwgIDIgKy0K IGRyaXZlcnMvc3RhZ2luZy93ZngvaGlmX3J4LmMgICAgICB8IDk0ICsrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy93Zngvc2Nhbi5jICAgICAgICB8ICAzICst CiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uaCAgICAgICAgfCAgMyArLQogZHJpdmVycy9zdGFn aW5nL3dmeC9zZWN1cmVfbGluay5oIHwgIDggKystCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5j ICAgICAgICAgfCAgMiArLQogZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaCAgICAgICAgIHwgIDIg Ky0KIDEwIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV9yeC5jIGIvZHJpdmVycy9zdGFn aW5nL3dmeC9kYXRhX3J4LmMKaW5kZXggZTdmY2NlOGQwY2M0Li5kNDYwYzBmZmNhMWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV9yeC5jCisrKyBiL2RyaXZlcnMvc3RhZ2lu Zy93ZngvZGF0YV9yeC5jCkBAIC00OCw3ICs0OCw5IEBAIHN0YXRpYyBpbnQgd2Z4X2hhbmRsZV9w c3BvbGwoc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBza19idWZmICpza2IpCiAJcmV0dXJu IDA7CiB9CiAKLXN0YXRpYyBpbnQgd2Z4X2Ryb3BfZW5jcnlwdF9kYXRhKHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2LCBzdHJ1Y3QgaGlmX2luZF9yeCAqYXJnLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQorc3Rh dGljIGludCB3ZnhfZHJvcF9lbmNyeXB0X2RhdGEoc3RydWN0IHdmeF9kZXYgKndkZXYsCisJCQkJ IGNvbnN0IHN0cnVjdCBoaWZfaW5kX3J4ICphcmcsCisJCQkJIHN0cnVjdCBza19idWZmICpza2Ip CiB7CiAJc3RydWN0IGllZWU4MDIxMV9oZHIgKmZyYW1lID0gKHN0cnVjdCBpZWVlODAyMTFfaGRy ICopIHNrYi0+ZGF0YTsKIAlzaXplX3QgaGRybGVuID0gaWVlZTgwMjExX2hkcmxlbihmcmFtZS0+ ZnJhbWVfY29udHJvbCk7CkBAIC05OCw4ICsxMDAsOCBAQCBzdGF0aWMgaW50IHdmeF9kcm9wX2Vu Y3J5cHRfZGF0YShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9pbmRfcnggKmFyZywg cwogCiB9CiAKLXZvaWQgd2Z4X3J4X2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlm X2luZF9yeCAqYXJnLAotCSAgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQordm9pZCB3Znhfcnhf Y2Ioc3RydWN0IHdmeF92aWYgKnd2aWYsCisJICAgICAgIGNvbnN0IHN0cnVjdCBoaWZfaW5kX3J4 ICphcmcsIHN0cnVjdCBza19idWZmICpza2IpCiB7CiAJaW50IGxpbmtfaWQgPSBhcmctPnJ4X2Zs YWdzLnBlZXJfc3RhX2lkOwogCXN0cnVjdCBpZWVlODAyMTFfcnhfc3RhdHVzICpoZHIgPSBJRUVF ODAyMTFfU0tCX1JYQ0Ioc2tiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0 YV9yeC5oIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3J4LmgKaW5kZXggYTUwY2UzNTJiYzVl Li42MWMyOGJmZDJhMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV9yeC5o CisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV9yeC5oCkBAIC0xMyw3ICsxMyw3IEBACiBz dHJ1Y3Qgd2Z4X3ZpZjsKIHN0cnVjdCBza19idWZmOwogCi12b2lkIHdmeF9yeF9jYihzdHJ1Y3Qg d2Z4X3ZpZiAqd3ZpZiwgc3RydWN0IGhpZl9pbmRfcnggKmFyZywKLQkgICAgICAgc3RydWN0IHNr X2J1ZmYgKnNrYik7Cit2b2lkIHdmeF9yeF9jYihzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwKKwkgICAg ICAgY29uc3Qgc3RydWN0IGhpZl9pbmRfcnggKmFyZywgc3RydWN0IHNrX2J1ZmYgKnNrYik7CiAK ICNlbmRpZiAvKiBXRlhfREFUQV9SWF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcv d2Z4L2RhdGFfdHguYyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV90eC5jCmluZGV4IGM5ZGVh NjI3NjYxZi4uYTQ1MjQzYTdmMTVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2Rh dGFfdHguYworKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHguYwpAQCAtNzIwLDcgKzcy MCw3IEBAIHZvaWQgd2Z4X3R4KHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgw MjExX3R4X2NvbnRyb2wgKmNvbnRyb2wsCiAJaWVlZTgwMjExX3R4X3N0YXR1c19pcnFzYWZlKHdk ZXYtPmh3LCBza2IpOwogfQogCi12b2lkIHdmeF90eF9jb25maXJtX2NiKHN0cnVjdCB3Znhfdmlm ICp3dmlmLCBzdHJ1Y3QgaGlmX2NuZl90eCAqYXJnKQordm9pZCB3ZnhfdHhfY29uZmlybV9jYihz dHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgY29uc3Qgc3RydWN0IGhpZl9jbmZfdHggKmFyZykKIHsKIAlp bnQgaTsKIAlpbnQgdHhfY291bnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2Rh dGFfdHguaCBiL2RyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV90eC5oCmluZGV4IDBmYzM4OGRiNjJl MC4uMDc4ZDBjZmM1MjFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHgu aAorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHguaApAQCAtNjUsNyArNjUsNyBAQCB2 b2lkIHdmeF90eF9wb2xpY3lfdXBsb2FkX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsK IAogdm9pZCB3ZnhfdHgoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFf dHhfY29udHJvbCAqY29udHJvbCwKIAkgICAgc3RydWN0IHNrX2J1ZmYgKnNrYik7Ci12b2lkIHdm eF90eF9jb25maXJtX2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlmX2NuZl90eCAq YXJnKTsKK3ZvaWQgd2Z4X3R4X2NvbmZpcm1fY2Ioc3RydWN0IHdmeF92aWYgKnd2aWYsIGNvbnN0 IHN0cnVjdCBoaWZfY25mX3R4ICphcmcpOwogdm9pZCB3Znhfc2tiX2R0b3Ioc3RydWN0IHdmeF9k ZXYgKndkZXYsIHN0cnVjdCBza19idWZmICpza2IpOwogCiBpbnQgd2Z4X3VubWFwX2xpbmsoc3Ry dWN0IHdmeF92aWYgKnd2aWYsIGludCBsaW5rX2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy93ZngvaGlmX3J4LmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2hpZl9yeC5jCmluZGV4IDE0 OTRhZDVhNTA3Yi4uOGEzY2NkYzYwYjdkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4 L2hpZl9yeC5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvaGlmX3J4LmMKQEAgLTE4LDggKzE4 LDggQEAKICNpbmNsdWRlICJzZWN1cmVfbGluay5oIgogI2luY2x1ZGUgImhpZl9hcGlfY21kLmgi CiAKLXN0YXRpYyBpbnQgaGlmX2dlbmVyaWNfY29uZmlybShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwg c3RydWN0IGhpZl9tc2cgKmhpZiwKLQkJCSAgICAgICB2b2lkICpidWYpCitzdGF0aWMgaW50IGhp Zl9nZW5lcmljX2NvbmZpcm0oc3RydWN0IHdmeF9kZXYgKndkZXYsCisJCQkgICAgICAgY29uc3Qg c3RydWN0IGhpZl9tc2cgKmhpZiwgY29uc3Qgdm9pZCAqYnVmKQogewogCS8vIEFsbCBjb25maXJt IG1lc3NhZ2VzIHN0YXJ0IHdpdGggc3RhdHVzCiAJaW50IHN0YXR1cyA9IGxlMzJfdG9fY3B1KCoo KF9fbGUzMiAqKSBidWYpKTsKQEAgLTU5LDkgKzU5LDEwIEBAIHN0YXRpYyBpbnQgaGlmX2dlbmVy aWNfY29uZmlybShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwKIAly ZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMgaW50IGhpZl90eF9jb25maXJtKHN0cnVjdCB3Znhf ZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCB2b2lkICpidWYpCitzdGF0aWMgaW50IGhp Zl90eF9jb25maXJtKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAorCQkJICBjb25zdCBzdHJ1Y3QgaGlm X21zZyAqaGlmLCBjb25zdCB2b2lkICpidWYpCiB7Ci0Jc3RydWN0IGhpZl9jbmZfdHggKmJvZHkg PSBidWY7CisJY29uc3Qgc3RydWN0IGhpZl9jbmZfdHggKmJvZHkgPSBidWY7CiAJc3RydWN0IHdm eF92aWYgKnd2aWYgPSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOwogCiAJV0FS Tl9PTighd3ZpZik7CkBAIC03MiwxMSArNzMsMTIgQEAgc3RhdGljIGludCBoaWZfdHhfY29uZmly bShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGhpZl9tdWx0aV90eF9jb25maXJtKHN0cnVjdCB3 ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLAotCQkJCXZvaWQgKmJ1ZikKK3N0YXRp YyBpbnQgaGlmX211bHRpX3R4X2NvbmZpcm0oc3RydWN0IHdmeF9kZXYgKndkZXYsCisJCQkJY29u c3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwgY29uc3Qgdm9pZCAqYnVmKQogewotCXN0cnVjdCBoaWZf Y25mX211bHRpX3RyYW5zbWl0ICpib2R5ID0gYnVmOwotCXN0cnVjdCBoaWZfY25mX3R4ICpidWZf bG9jID0gKHN0cnVjdCBoaWZfY25mX3R4ICopICZib2R5LT50eF9jb25mX3BheWxvYWQ7CisJY29u c3Qgc3RydWN0IGhpZl9jbmZfbXVsdGlfdHJhbnNtaXQgKmJvZHkgPSBidWY7CisJY29uc3Qgc3Ry dWN0IGhpZl9jbmZfdHggKmJ1Zl9sb2MgPQorCQkoY29uc3Qgc3RydWN0IGhpZl9jbmZfdHggKikm Ym9keS0+dHhfY29uZl9wYXlsb2FkOwogCXN0cnVjdCB3ZnhfdmlmICp3dmlmID0gd2Rldl90b193 dmlmKHdkZXYsIGhpZi0+aW50ZXJmYWNlKTsKIAlpbnQgY291bnQgPSBib2R5LT5udW1fdHhfY29u ZnM7CiAJaW50IGk7CkBAIC05MywxMCArOTUsMTAgQEAgc3RhdGljIGludCBoaWZfbXVsdGlfdHhf Y29uZmlybShzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwKIAlyZXR1 cm4gMDsKIH0KIAotc3RhdGljIGludCBoaWZfc3RhcnR1cF9pbmRpY2F0aW9uKHN0cnVjdCB3Znhf ZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLAotCQkJCSAgdm9pZCAqYnVmKQorc3RhdGlj IGludCBoaWZfc3RhcnR1cF9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAorCQkJCSAg Y29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwgY29uc3Qgdm9pZCAqYnVmKQogewotCXN0cnVjdCBo aWZfaW5kX3N0YXJ0dXAgKmJvZHkgPSBidWY7CisJY29uc3Qgc3RydWN0IGhpZl9pbmRfc3RhcnR1 cCAqYm9keSA9IGJ1ZjsKIAogCWlmIChib2R5LT5zdGF0dXMgfHwgYm9keS0+ZmlybXdhcmVfdHlw ZSA+IDQpIHsKIAkJZGV2X2Vycih3ZGV2LT5kZXYsICJyZWNlaXZlZCBpbnZhbGlkIHN0YXJ0dXAg aW5kaWNhdGlvbiIpOwpAQCAtMTEyLDggKzExNCw4IEBAIHN0YXRpYyBpbnQgaGlmX3N0YXJ0dXBf aW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBoaWZfd2FrZXVwX2luZGljYXRpb24oc3RydWN0IHdm eF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYsCi0JCQkJIHZvaWQgKmJ1ZikKK3N0YXRp YyBpbnQgaGlmX3dha2V1cF9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAorCQkJCSBj b25zdCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCBjb25zdCB2b2lkICpidWYpCiB7CiAJaWYgKCF3ZGV2 LT5wZGF0YS5ncGlvX3dha2V1cAogCSAgICB8fCAhZ3Bpb2RfZ2V0X3ZhbHVlKHdkZXYtPnBkYXRh LmdwaW9fd2FrZXVwKSkgewpAQCAtMTIzLDI1ICsxMjUsMjcgQEAgc3RhdGljIGludCBoaWZfd2Fr ZXVwX2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYs CiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaGlmX2tleXNfaW5kaWNhdGlvbihzdHJ1Y3Qg d2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwKLQkJCSAgICAgICB2b2lkICpidWYp CitzdGF0aWMgaW50IGhpZl9rZXlzX2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndkZXYsCisJ CQkgICAgICAgY29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwgY29uc3Qgdm9pZCAqYnVmKQogewot CXN0cnVjdCBoaWZfaW5kX3NsX2V4Y2hhbmdlX3B1Yl9rZXlzICpib2R5ID0gYnVmOworCWNvbnN0 IHN0cnVjdCBoaWZfaW5kX3NsX2V4Y2hhbmdlX3B1Yl9rZXlzICpib2R5ID0gYnVmOworCXU4IHB1 YmtleVtBUElfTkNQX1BVQl9LRVlfU0laRV07CiAKLQkvLyBDb21wYXRpYmlsaXR5IHdpdGggbGVn YWN5IHNlY3VyZSBsaW5rCi0JaWYgKGJvZHktPnN0YXR1cyA9PSBTTF9QVUJfS0VZX0VYQ0hBTkdF X1NUQVRVU19TVUNDRVNTKQotCQlib2R5LT5zdGF0dXMgPSAwOwotCWlmIChib2R5LT5zdGF0dXMp CisJLy8gU0xfUFVCX0tFWV9FWENIQU5HRV9TVEFUVVNfU1VDQ0VTUyBpcyB1c2VkIGJ5IGxlZ2Fj eSBzZWN1cmUgbGluaworCWlmIChib2R5LT5zdGF0dXMgJiYgYm9keS0+c3RhdHVzICE9IFNMX1BV Ql9LRVlfRVhDSEFOR0VfU1RBVFVTX1NVQ0NFU1MpCiAJCWRldl93YXJuKHdkZXYtPmRldiwgInNl Y3VyZSBsaW5rIG5lZ29jaWF0aW9uIGVycm9yXG4iKTsKLQl3Znhfc2xfY2hlY2tfcHVia2V5KHdk ZXYsIGJvZHktPm5jcF9wdWJfa2V5LCBib2R5LT5uY3BfcHViX2tleV9tYWMpOworCW1lbWNweShw dWJrZXksIGJvZHktPm5jcF9wdWJfa2V5LCBzaXplb2YocHVia2V5KSk7CisJbWVtcmV2ZXJzZShw dWJrZXksIHNpemVvZihwdWJrZXkpKTsKKwl3Znhfc2xfY2hlY2tfcHVia2V5KHdkZXYsIHB1Ymtl eSwgYm9keS0+bmNwX3B1Yl9rZXlfbWFjKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBo aWZfcmVjZWl2ZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21z ZyAqaGlmLAotCQkJCSAgdm9pZCAqYnVmLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQorc3RhdGljIGlu dCBoaWZfcmVjZWl2ZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAorCQkJCSAgY29u c3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwKKwkJCQkgIGNvbnN0IHZvaWQgKmJ1Ziwgc3RydWN0IHNr X2J1ZmYgKnNrYikKIHsKIAlzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiA9IHdkZXZfdG9fd3ZpZih3ZGV2 LCBoaWYtPmludGVyZmFjZSk7Ci0Jc3RydWN0IGhpZl9pbmRfcnggKmJvZHkgPSBidWY7CisJY29u c3Qgc3RydWN0IGhpZl9pbmRfcnggKmJvZHkgPSBidWY7CiAKIAlpZiAoIXd2aWYpIHsKIAkJZGV2 X3dhcm4od2Rldi0+ZGV2LCAiaWdub3JlIHJ4IGRhdGEgZm9yIG5vbi1leGlzdGVudCB2aWYgJWRc biIsCkBAIC0xNTQsMTEgKzE1OCwxMSBAQCBzdGF0aWMgaW50IGhpZl9yZWNlaXZlX2luZGljYXRp b24oc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYsCiAJcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyBpbnQgaGlmX2V2ZW50X2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndk ZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYsCi0JCQkJdm9pZCAqYnVmKQorc3RhdGljIGludCBoaWZf ZXZlbnRfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKKwkJCQljb25zdCBzdHJ1Y3Qg aGlmX21zZyAqaGlmLCBjb25zdCB2b2lkICpidWYpCiB7CiAJc3RydWN0IHdmeF92aWYgKnd2aWYg PSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOwotCXN0cnVjdCBoaWZfaW5kX2V2 ZW50ICpib2R5ID0gYnVmOworCWNvbnN0IHN0cnVjdCBoaWZfaW5kX2V2ZW50ICpib2R5ID0gYnVm OwogCXN0cnVjdCB3ZnhfaGlmX2V2ZW50ICpldmVudDsKIAlpbnQgZmlyc3Q7CiAKQEAgLTE4Myw3 ICsxODcsOCBAQCBzdGF0aWMgaW50IGhpZl9ldmVudF9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLAogfQogCiBzdGF0aWMgaW50IGhpZl9wbV9tb2Rl X2NvbXBsZXRlX2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndkZXYsCi0JCQkJCSAgIHN0cnVj dCBoaWZfbXNnICpoaWYsIHZvaWQgKmJ1ZikKKwkJCQkJICAgY29uc3Qgc3RydWN0IGhpZl9tc2cg KmhpZiwKKwkJCQkJICAgY29uc3Qgdm9pZCAqYnVmKQogewogCXN0cnVjdCB3ZnhfdmlmICp3dmlm ID0gd2Rldl90b193dmlmKHdkZXYsIGhpZi0+aW50ZXJmYWNlKTsKIApAQCAtMTk0LDEwICsxOTks MTEgQEAgc3RhdGljIGludCBoaWZfcG1fbW9kZV9jb21wbGV0ZV9pbmRpY2F0aW9uKHN0cnVjdCB3 ZnhfZGV2ICp3ZGV2LAogfQogCiBzdGF0aWMgaW50IGhpZl9zY2FuX2NvbXBsZXRlX2luZGljYXRp b24oc3RydWN0IHdmeF9kZXYgKndkZXYsCi0JCQkJCXN0cnVjdCBoaWZfbXNnICpoaWYsIHZvaWQg KmJ1ZikKKwkJCQkJY29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwKKwkJCQkJY29uc3Qgdm9pZCAq YnVmKQogewogCXN0cnVjdCB3ZnhfdmlmICp3dmlmID0gd2Rldl90b193dmlmKHdkZXYsIGhpZi0+ aW50ZXJmYWNlKTsKLQlzdHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmJvZHkgPSBidWY7CisJY29u c3Qgc3RydWN0IGhpZl9pbmRfc2Nhbl9jbXBsICpib2R5ID0gYnVmOwogCiAJV0FSTl9PTighd3Zp Zik7CiAJd2Z4X3NjYW5fY29tcGxldGVfY2Iod3ZpZiwgYm9keSk7CkBAIC0yMDYsNyArMjEyLDgg QEAgc3RhdGljIGludCBoaWZfc2Nhbl9jb21wbGV0ZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2LAogfQogCiBzdGF0aWMgaW50IGhpZl9qb2luX2NvbXBsZXRlX2luZGljYXRpb24oc3Ry dWN0IHdmeF9kZXYgKndkZXYsCi0JCQkJCXN0cnVjdCBoaWZfbXNnICpoaWYsIHZvaWQgKmJ1ZikK KwkJCQkJY29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiwKKwkJCQkJY29uc3Qgdm9pZCAqYnVmKQog ewogCXN0cnVjdCB3ZnhfdmlmICp3dmlmID0gd2Rldl90b193dmlmKHdkZXYsIGhpZi0+aW50ZXJm YWNlKTsKIApAQCAtMjE3LDEwICsyMjQsMTEgQEAgc3RhdGljIGludCBoaWZfam9pbl9jb21wbGV0 ZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAogfQogCiBzdGF0aWMgaW50IGhpZl9z dXNwZW5kX3Jlc3VtZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAotCQkJCQkgc3Ry dWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQorCQkJCQkgY29uc3Qgc3RydWN0IGhpZl9tc2cg KmhpZiwKKwkJCQkJIGNvbnN0IHZvaWQgKmJ1ZikKIHsKIAlzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiA9 IHdkZXZfdG9fd3ZpZih3ZGV2LCBoaWYtPmludGVyZmFjZSk7Ci0Jc3RydWN0IGhpZl9pbmRfc3Vz cGVuZF9yZXN1bWVfdHggKmJvZHkgPSBidWY7CisJY29uc3Qgc3RydWN0IGhpZl9pbmRfc3VzcGVu ZF9yZXN1bWVfdHggKmJvZHkgPSBidWY7CiAKIAlXQVJOX09OKCF3dmlmKTsKIAl3Znhfc3VzcGVu ZF9yZXN1bWUod3ZpZiwgYm9keSk7CkBAIC0yMjgsMTAgKzIzNiwxMCBAQCBzdGF0aWMgaW50IGhp Zl9zdXNwZW5kX3Jlc3VtZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LAogCXJldHVy biAwOwogfQogCi1zdGF0aWMgaW50IGhpZl9lcnJvcl9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLAotCQkJCXZvaWQgKmJ1ZikKK3N0YXRpYyBpbnQg aGlmX2Vycm9yX2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndkZXYsCisJCQkJY29uc3Qgc3Ry dWN0IGhpZl9tc2cgKmhpZiwgY29uc3Qgdm9pZCAqYnVmKQogewotCXN0cnVjdCBoaWZfaW5kX2Vy cm9yICpib2R5ID0gYnVmOworCWNvbnN0IHN0cnVjdCBoaWZfaW5kX2Vycm9yICpib2R5ID0gYnVm OwogCXU4ICpwUm9sbGJhY2sgPSAodTggKikgYm9keS0+ZGF0YTsKIAl1MzIgKnBTdGF0dXMgPSAo dTMyICopIGJvZHktPmRhdGE7CiAKQEAgLTI2OCwxMCArMjc2LDEwIEBAIHN0YXRpYyBpbnQgaGlm X2Vycm9yX2luZGljYXRpb24oc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpo aWYsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaGlmX2dlbmVyaWNfaW5kaWNhdGlvbihz dHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwKLQkJCQkgIHZvaWQgKmJ1 ZikKK3N0YXRpYyBpbnQgaGlmX2dlbmVyaWNfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4X2RldiAqd2Rl diwKKwkJCQkgIGNvbnN0IHN0cnVjdCBoaWZfbXNnICpoaWYsIGNvbnN0IHZvaWQgKmJ1ZikKIHsK LQlzdHJ1Y3QgaGlmX2luZF9nZW5lcmljICpib2R5ID0gYnVmOworCWNvbnN0IHN0cnVjdCBoaWZf aW5kX2dlbmVyaWMgKmJvZHkgPSBidWY7CiAKIAlzd2l0Y2ggKGJvZHktPmluZGljYXRpb25fdHlw ZSkgewogCWNhc2UgSElGX0dFTkVSSUNfSU5ESUNBVElPTl9UWVBFX1JBVzoKQEAgLTI5OSw5ICsz MDcsMTAgQEAgc3RhdGljIGludCBoaWZfZ2VuZXJpY19pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLAogfQogCiBzdGF0aWMgaW50IGhpZl9leGNlcHRp b25faW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKLQkJCQkgICAgc3RydWN0IGhpZl9t c2cgKmhpZiwgdm9pZCAqYnVmKQorCQkJCSAgICBjb25zdCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCBj b25zdCB2b2lkICpidWYpCiB7CiAJc2l6ZV90IGxlbiA9IGhpZi0+bGVuIC0gNDsgLy8gZHJvcCBo ZWFkZXIKKwogCWRldl9lcnIod2Rldi0+ZGV2LCAiZmlybXdhcmUgZXhjZXB0aW9uXG4iKTsKIAlw cmludF9oZXhfZHVtcF9ieXRlcygiRHVtcDogIiwgRFVNUF9QUkVGSVhfTk9ORSwgYnVmLCBsZW4p OwogCXdkZXYtPmNoaXBfZnJvemVuID0gMTsKQEAgLTMxMSw3ICszMjAsOCBAQCBzdGF0aWMgaW50 IGhpZl9leGNlcHRpb25faW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKIAogc3RhdGlj IGNvbnN0IHN0cnVjdCB7CiAJaW50IG1zZ19pZDsKLQlpbnQgKCpoYW5kbGVyKShzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKTsKKwlpbnQgKCpoYW5k bGVyKShzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBoaWZfbXNn ICpoaWYsIGNvbnN0IHZvaWQgKmJ1Zik7CiB9IGhpZl9oYW5kbGVyc1tdID0gewogCS8qIENvbmZp cm1hdGlvbnMgKi8KIAl7IEhJRl9DTkZfSURfVFgsICAgICAgICAgICAgICAgICAgIGhpZl90eF9j b25maXJtIH0sCkBAIC0zMzUsNyArMzQ1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiB2b2lk IHdmeF9oYW5kbGVfcngoc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBza19idWZmICpza2Ip CiB7CiAJaW50IGk7Ci0Jc3RydWN0IGhpZl9tc2cgKmhpZiA9IChzdHJ1Y3QgaGlmX21zZyAqKSBz a2ItPmRhdGE7CisJY29uc3Qgc3RydWN0IGhpZl9tc2cgKmhpZiA9IChjb25zdCBzdHJ1Y3QgaGlm X21zZyAqKXNrYi0+ZGF0YTsKIAlpbnQgaGlmX2lkID0gaGlmLT5pZDsKIAogCWlmIChoaWZfaWQg PT0gSElGX0lORF9JRF9SWCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2Fu LmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uYwppbmRleCBhNmM5MzQwMGE3YmEuLjQ1ZTc4 YzU3MjJmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmMKKysrIGIvZHJp dmVycy9zdGFnaW5nL3dmeC9zY2FuLmMKQEAgLTI2Nyw3ICsyNjcsOCBAQCB2b2lkIHdmeF9zY2Fu X2ZhaWxlZF9jYihzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZikKIAl9CiB9CiAKLXZvaWQgd2Z4X3NjYW5f Y29tcGxldGVfY2Ioc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBoaWZfaW5kX3NjYW5fY21w bCAqYXJnKQordm9pZCB3Znhfc2Nhbl9jb21wbGV0ZV9jYihzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwK KwkJCSAgY29uc3Qgc3RydWN0IGhpZl9pbmRfc2Nhbl9jbXBsICphcmcpCiB7CiAJaWYgKGNhbmNl bF9kZWxheWVkX3dvcmtfc3luYygmd3ZpZi0+c2Nhbi50aW1lb3V0KSA+IDApIHsKIAkJd3ZpZi0+ c2Nhbi5zdGF0dXMgPSAxOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmgg Yi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uaAppbmRleCBiNGRkZDA3NzFhOWIuLmM3YzBhYjE3 OGM4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmgKKysrIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9zY2FuLmgKQEAgLTM2LDcgKzM2LDggQEAgaW50IHdmeF9od19zY2FuKHN0 cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLAogCQlzdHJ1 Y3QgaWVlZTgwMjExX3NjYW5fcmVxdWVzdCAqcmVxKTsKIHZvaWQgd2Z4X3NjYW5fd29yayhzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogdm9pZCB3Znhfc2Nhbl90aW1lb3V0KHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yayk7Ci12b2lkIHdmeF9zY2FuX2NvbXBsZXRlX2NiKHN0cnVjdCB3Znhfdmlm ICp3dmlmLCBzdHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmFyZyk7Cit2b2lkIHdmeF9zY2FuX2Nv bXBsZXRlX2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLAorCQkJICBjb25zdCBzdHJ1Y3QgaGlmX2lu ZF9zY2FuX2NtcGwgKmFyZyk7CiB2b2lkIHdmeF9zY2FuX2ZhaWxlZF9jYihzdHJ1Y3Qgd2Z4X3Zp ZiAqd3ZpZik7CiAKICNlbmRpZiAvKiBXRlhfU0NBTl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJz L3N0YWdpbmcvd2Z4L3NlY3VyZV9saW5rLmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NlY3VyZV9s aW5rLmgKaW5kZXggNjY2YjI2ZTUzMDhkLi5jM2QwNTViMmY4YjEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvc3RhZ2luZy93Zngvc2VjdXJlX2xpbmsuaAorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3Nl Y3VyZV9saW5rLmgKQEAgLTI1LDE0ICsyNSwxNiBAQCBzdGF0aWMgaW5saW5lIGludCB3Znhfc2xf ZGVjb2RlKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX3NsX21zZyAqbSkKIAlyZXR1 cm4gLUVJTzsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgd2Z4X3NsX2VuY29kZShzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmlucHV0LAorc3RhdGljIGlubGluZSBpbnQgd2Z4 X3NsX2VuY29kZShzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKKwkJCQljb25zdCBzdHJ1Y3QgaGlmX21z ZyAqaW5wdXQsCiAJCQkJc3RydWN0IGhpZl9zbF9tc2cgKm91dHB1dCkKIHsKIAlyZXR1cm4gLUVJ TzsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgd2Z4X3NsX2NoZWNrX3B1YmtleShzdHJ1Y3Qgd2Z4 X2RldiAqd2RldiwgdTggKm5jcF9wdWJrZXksCi0JCQkJICAgICAgdTggKm5jcF9wdWJtYWMpCitz dGF0aWMgaW5saW5lIGludCB3Znhfc2xfY2hlY2tfcHVia2V5KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2 LAorCQkJCSAgICAgIGNvbnN0IHU4ICpuY3BfcHVia2V5LAorCQkJCSAgICAgIGNvbnN0IHU4ICpu Y3BfcHVibWFjKQogewogCXJldHVybiAtRUlPOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFn aW5nL3dmeC9zdGEuYyBiL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMKaW5kZXggN2Y0ZWFhOGU2 ZDg0Li5iNGJiNWI2NTNlNjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMK KysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYwpAQCAtMTM0NSw3ICsxMzQ1LDcgQEAgaW50 IHdmeF9hbXBkdV9hY3Rpb24oc3RydWN0IGllZWU4MDIxMV9odyAqaHcsCiB9CiAKIHZvaWQgd2Z4 X3N1c3BlbmRfcmVzdW1lKHN0cnVjdCB3ZnhfdmlmICp3dmlmLAotCQkJc3RydWN0IGhpZl9pbmRf c3VzcGVuZF9yZXN1bWVfdHggKmFyZykKKwkJCWNvbnN0IHN0cnVjdCBoaWZfaW5kX3N1c3BlbmRf cmVzdW1lX3R4ICphcmcpCiB7CiAJaWYgKGFyZy0+c3VzcGVuZF9yZXN1bWVfZmxhZ3MuYmNfbWNf b25seSkgewogCQlib29sIGNhbmNlbF90bW8gPSBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv c3RhZ2luZy93Zngvc3RhLmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5oCmluZGV4IDRjY2Yx YjE3NjMyYi4uNzIxYjdjZWU5YzEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0 YS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmgKQEAgLTkyLDcgKzkyLDcgQEAgdm9p ZCB3ZnhfdW5hc3NpZ25fdmlmX2NoYW5jdHgoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsCiAKIC8v IFdTTSBDYWxsYmFja3MKIHZvaWQgd2Z4X3N1c3BlbmRfcmVzdW1lKHN0cnVjdCB3ZnhfdmlmICp3 dmlmLAotCQkJc3RydWN0IGhpZl9pbmRfc3VzcGVuZF9yZXN1bWVfdHggKmFyZyk7CisJCQljb25z dCBzdHJ1Y3QgaGlmX2luZF9zdXNwZW5kX3Jlc3VtZV90eCAqYXJnKTsKIAogLy8gT3RoZXIgSGVs cGVycwogdm9pZCB3ZnhfY3FtX2Jzc2xvc3Nfc20oc3RydWN0IHdmeF92aWYgKnd2aWYsIGludCBp bml0LCBpbnQgZ29vZCwgaW50IGJhZCk7Ci0tIAoyLjI0LjAKCg==