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=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 300D9C31E5B for ; Mon, 17 Jun 2019 19:23:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DFFCE2085A for ; Mon, 17 Jun 2019 19:23:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="F3/pNeBs" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728835AbfFQTXe (ORCPT ); Mon, 17 Jun 2019 15:23:34 -0400 Received: from mail-eopbgr20059.outbound.protection.outlook.com ([40.107.2.59]:14178 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728225AbfFQTXd (ORCPT ); Mon, 17 Jun 2019 15:23:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WNqZh2zsinogbZwHp2L84uC7UPwIpZ4n9Jk4n25aq5U=; b=F3/pNeBsrmT/0cPWhDNDIvfuHujGfIwxvCO5El3jC3jDu09cLTp/NDjoqI7YQNicfkRx6afIMuwWt8yjWQuDkBpIXBIvQw7qDyzcoGbe0B5oWI3FVctcw+W94CI2+y3TkkPmBLnM34lroL18Iqod2BMBHtu61ivvoAfGepVyw1M= Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com (10.172.227.7) by DB6PR0501MB2789.eurprd05.prod.outlook.com (10.172.226.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11; Mon, 17 Jun 2019 19:23:18 +0000 Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278]) by DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278%2]) with mapi id 15.20.1987.014; Mon, 17 Jun 2019 19:23:18 +0000 From: Saeed Mahameed To: Saeed Mahameed , Leon Romanovsky CC: "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Jianbo Liu , Eli Britstein , Roi Dayan , Mark Bloch Subject: [PATCH mlx5-next 05/15] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Topic: [PATCH mlx5-next 05/15] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Index: AQHVJUIe4CH/LI+8A02ewuMUSS8rDg== Date: Mon, 17 Jun 2019 19:23:18 +0000 Message-ID: <20190617192247.25107-6-saeedm@mellanox.com> References: <20190617192247.25107-1-saeedm@mellanox.com> In-Reply-To: <20190617192247.25107-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR03CA0028.namprd03.prod.outlook.com (2603:10b6:a02:a8::41) To DB6PR0501MB2759.eurprd05.prod.outlook.com (2603:10a6:4:84::7) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2a955516-be58-4e04-7152-08d6f359404b x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DB6PR0501MB2789; x-ms-traffictypediagnostic: DB6PR0501MB2789: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-forefront-prvs: 0071BFA85B x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(396003)(366004)(346002)(376002)(136003)(199004)(189003)(2906002)(50226002)(64756008)(66556008)(66446008)(68736007)(256004)(14444005)(6636002)(66476007)(2616005)(476003)(446003)(30864003)(66946007)(73956011)(5660300002)(71200400001)(7736002)(6506007)(386003)(71190400001)(76176011)(102836004)(99286004)(53936002)(305945005)(52116002)(11346002)(1076003)(8676002)(4326008)(450100002)(25786009)(6486002)(3846002)(6116002)(478600001)(186003)(26005)(316002)(110136005)(8936002)(6512007)(81166006)(486006)(81156014)(107886003)(86362001)(14454004)(66066001)(6436002)(36756003)(54906003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2789;H:DB6PR0501MB2759.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: PLd0Uyk6ZyqjzN5czr5A6ZSySuKoXhcf3vXe3MSsQcbwu58CVcpzpFRD0CTkbg0e6CkD4eO7FoHNfQNfQ8ADHnPz2RnzIbwHRatG+F5tRu1GIu82iKJFJxUeqj9tiliPoZ1DZuQ/dfU1sBarDUf38R/gHQTV94UJXq8yU8FjO9aFnfxsbq9cujzkJoirfLnKf7zhfG0eh71/mWAZsh6sfDdcmaS7BMkLpb3T2CsrxljUt1niuXtGIOieWTA+3yY2j6MY0AFltVV2FxSlwI4P3JnPNV+ldo3eQdz7ZJYOIA42Fz3jLlyw8GqcGnHs+nYl8kz5IAjZIxCgtCHvLJJu/yvFih0aZuWW1ZFI1l6qFyPyR3VFEPdmONKQjONSQHiIw6oBrnrfcAQhAtchbKetFZIy7zn7fcupHCpFUifKURg= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a955516-be58-4e04-7152-08d6f359404b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2019 19:23:18.1993 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: saeedm@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2789 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RnJvbTogSmlhbmJvIExpdSA8amlhbmJvbEBtZWxsYW5veC5jb20+DQoNCldoZW4gYSBkdWFsLXBv cnQgVkhDQSBzZW5kcyBhIFJvQ0UgcGFja2V0IG9uIGl0cyBub24tbmF0aXZlIHBvcnQsIGFuZCB0 aGUNCnBhY2tldCBhcnJpdmVzIHRvIGl0cyBhZmZpbGlhdGVkIHZwb3J0IEZEQiwgYSBtaXNtYXRj aCBtaWdodCBvY2N1ciBvbiB0aGUNCnJ1bGVzIHRoYXQgbWF0Y2ggdGhlIHBhY2tldCBzb3VyY2Ug dnBvcnQgYXMgaXQgaXMgbm90IHJlcHJlc2VudGVkIGJ5IHNpbmdsZQ0KVkhDQSBvbmx5IGluIHRo aXMgY2FzZS4gU28gd2UgY2hhbmdlIHRvIG1hdGNoIG9uIG1ldGFkYXRhIGluc3RlYWQgb2Ygc291 cmNlDQp2cG9ydC4NClRvIGRvIHRoYXQsIGEgcnVsZSBpcyBjcmVhdGVkIGluIGFsbCB2cG9ydHMg YW5kIHVwbGluayBpbmdyZXNzIEFDTHMsIHRvDQpzYXZlIHRoZSBzb3VyY2UgdnBvcnQgbnVtYmVy IGFuZCB2aGNhIGlkIGluIHRoZSBwYWNrZXQncyBtZXRhZGF0YSBpbiBvcmRlcg0KdG8gbWF0Y2gg b24gaXQgbGF0ZXIuDQpUaGUgbWV0YWRhdGEgcmVnaXN0ZXIgdXNlZCBpcyB0aGUgZmlyc3Qgb2Yg dGhlIDMyLWJpdCB0eXBlIEMgcmVnaXN0ZXJzLiBJdA0KY2FuIGJlIHVzZWQgZm9yIG1hdGNoaW5n IGFuZCBoZWFkZXIgbW9kaWZ5IG9wZXJhdGlvbnMuIFRoZSBoaWdoZXIgMTYgYml0cw0Kb2YgdGhp cyByZWdpc3RlciBhcmUgZm9yIHZoY2EgaWQsIGFuZCB0aGUgbG93ZXIgMTYgb25lcyBpcyBmb3Ig dnBvcnQNCm51bWJlci4NClRoaXMgY2hhbmdlIGlzIG5vdCBmb3IgZHVhbC1wb3J0IFJvQ0Ugb25s eS4gSWYgSFcgYW5kIEZXIGFsbG93LCB0aGUgdnBvcnQNCm1ldGFkYXRhIG1hdGNoaW5nIGlzIGVu YWJsZWQgYnkgZGVmYXVsdC4NCg0KU2lnbmVkLW9mZi1ieTogSmlhbmJvIExpdSA8amlhbmJvbEBt ZWxsYW5veC5jb20+DQpSZXZpZXdlZC1ieTogRWxpIEJyaXRzdGVpbiA8ZWxpYnJAbWVsbGFub3gu Y29tPg0KUmV2aWV3ZWQtYnk6IFJvaSBEYXlhbiA8cm9pZEBtZWxsYW5veC5jb20+DQpSZXZpZXdl ZC1ieTogTWFyayBCbG9jaCA8bWFya2JAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1ieTogU2Fl ZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+DQotLS0NCiAuLi4vbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMgfCAgIDIgKw0KIC4uLi9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaCB8ICAgOSArDQogLi4uL21lbGxhbm94L21seDUv Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgMTgzICsrKysrKysrKysrKysrLS0tLQ0KIGlu Y2x1ZGUvbGludXgvbWx4NS9lc3dpdGNoLmggICAgICAgICAgICAgICAgICB8ICAgMyArDQogNCBm aWxlcyBjaGFuZ2VkLCAxNjEgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pDQoNCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYw0KaW5k ZXggYTQyYTIzZTUwNWRmLi4xMjM1ZmQ4NGFlM2EgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5jDQorKysgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5jDQpAQCAtMTE2OCw2ICsxMTY4LDgg QEAgdm9pZCBlc3dfdnBvcnRfY2xlYW51cF9pbmdyZXNzX3J1bGVzKHN0cnVjdCBtbHg1X2Vzd2l0 Y2ggKmVzdywNCiANCiAJdnBvcnQtPmluZ3Jlc3MuZHJvcF9ydWxlID0gTlVMTDsNCiAJdnBvcnQt PmluZ3Jlc3MuYWxsb3dfcnVsZSA9IE5VTEw7DQorDQorCWVzd192cG9ydF9kZWxfaW5ncmVzc19h Y2xfbW9kaWZ5X21ldGFkYXRhKGVzdywgdnBvcnQpOw0KIH0NCiANCiB2b2lkIGVzd192cG9ydF9k aXNhYmxlX2luZ3Jlc3NfYWNsKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5oIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaA0KaW5kZXggOGI5 ZjJjZjU4ZTkxLi40NDE3YTE5NTgzMmUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5oDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5oDQpAQCAtNjgsNiArNjgsOCBAQCBzdHJ1Y3Qg dnBvcnRfaW5ncmVzcyB7DQogCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmFsbG93X3Nwb29mY2hr X29ubHlfZ3JwOw0KIAlzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICphbGxvd191bnRhZ2dlZF9vbmx5 X2dycDsNCiAJc3RydWN0IG1seDVfZmxvd19ncm91cCAqZHJvcF9ncnA7DQorCWludCAgICAgICAg ICAgICAgICAgICAgICBtb2RpZnlfbWV0YWRhdGFfaWQ7DQorCXN0cnVjdCBtbHg1X2Zsb3dfaGFu ZGxlICAqbW9kaWZ5X21ldGFkYXRhX3J1bGU7DQogCXN0cnVjdCBtbHg1X2Zsb3dfaGFuZGxlICAq YWxsb3dfcnVsZTsNCiAJc3RydWN0IG1seDVfZmxvd19oYW5kbGUgICpkcm9wX3J1bGU7DQogCXN0 cnVjdCBtbHg1X2ZjICAgICAgICAgICAqZHJvcF9jb3VudGVyOw0KQEAgLTE5Niw2ICsxOTgsMTAg QEAgc3RydWN0IG1seDVfZXN3X2Z1bmN0aW9ucyB7DQogCXUxNgkJCW51bV92ZnM7DQogfTsNCiAN CitlbnVtIHsNCisJTUxYNV9FU1dJVENIX1ZQT1JUX01BVENIX01FVEFEQVRBID0gQklUKDApLA0K K307DQorDQogc3RydWN0IG1seDVfZXN3aXRjaCB7DQogCXN0cnVjdCBtbHg1X2NvcmVfZGV2ICAg ICpkZXY7DQogCXN0cnVjdCBtbHg1X25iICAgICAgICAgIG5iOw0KQEAgLTIwMyw2ICsyMDksNyBA QCBzdHJ1Y3QgbWx4NV9lc3dpdGNoIHsNCiAJc3RydWN0IGhsaXN0X2hlYWQgICAgICAgbWNfdGFi bGVbTUxYNV9MMl9BRERSX0hBU0hfU0laRV07DQogCXN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICp3 b3JrX3F1ZXVlOw0KIAlzdHJ1Y3QgbWx4NV92cG9ydCAgICAgICAqdnBvcnRzOw0KKwl1MzIgICAg ICAgICAgICAgICAgICAgICBmbGFnczsNCiAJaW50ICAgICAgICAgICAgICAgICAgICAgdG90YWxf dnBvcnRzOw0KIAlpbnQgICAgICAgICAgICAgICAgICAgICBlbmFibGVkX3Zwb3J0czsNCiAJLyog U3luY2hyb25pemUgYmV0d2VlbiB2cG9ydCBjaGFuZ2UgZXZlbnRzDQpAQCAtMjQwLDYgKzI0Nyw4 IEBAIHZvaWQgZXN3X3Zwb3J0X2Rpc2FibGVfZWdyZXNzX2FjbChzdHJ1Y3QgbWx4NV9lc3dpdGNo ICplc3csDQogCQkJCSAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KTsNCiB2b2lkIGVzd192cG9y dF9kaXNhYmxlX2luZ3Jlc3NfYWNsKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJCQkJICAg c3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KTsNCit2b2lkIGVzd192cG9ydF9kZWxfaW5ncmVzc19h Y2xfbW9kaWZ5X21ldGFkYXRhKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCisJCQkJCSAgICAg ICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpOw0KIA0KIC8qIEUtU3dpdGNoIEFQSSAqLw0KIGlu dCBtbHg1X2Vzd2l0Y2hfaW5pdChzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KTsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZs b2Fkcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hf b2ZmbG9hZHMuYw0KaW5kZXggMTdhYmI5OGI0OGFmLi44NzFhZTQ0ZGMxMzIgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9vZmZsb2Fk cy5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jDQpAQCAtMTU1NSwzMiArMTU1NSwxNiBAQCBzdGF0aWMgdm9pZCBlc3dfb2Zm bG9hZHNfZGV2Y29tX2NsZWFudXAoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KQ0KIHN0YXRpYyBp bnQgZXN3X3Zwb3J0X2luZ3Jlc3NfcHJpb190YWdfY29uZmlnKHN0cnVjdCBtbHg1X2Vzd2l0Y2gg KmVzdywNCiAJCQkJCSAgICAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KQ0KIHsNCi0Jc3RydWN0 IG1seDVfY29yZV9kZXYgKmRldiA9IGVzdy0+ZGV2Ow0KIAlzdHJ1Y3QgbWx4NV9mbG93X2FjdCBm bG93X2FjdCA9IHswfTsNCiAJc3RydWN0IG1seDVfZmxvd19zcGVjICpzcGVjOw0KIAlpbnQgZXJy ID0gMDsNCiANCiAJLyogRm9yIHByaW8gdGFnIG1vZGUsIHRoZXJlIGlzIG9ubHkgMSBGVEVzOg0K LQkgKiAxKSBVbnRhZ2dlZCBwYWNrZXRzIC0gcHVzaCBwcmlvIHRhZyBWTEFOLCBhbGxvdw0KKwkg KiAxKSBVbnRhZ2dlZCBwYWNrZXRzIC0gcHVzaCBwcmlvIHRhZyBWTEFOIGFuZCBtb2RpZnkgbWV0 YWRhdGEgaWYNCisJICogcmVxdWlyZWQsIGFsbG93DQogCSAqIFVubWF0Y2hlZCB0cmFmZmljIGlz IGFsbG93ZWQgYnkgZGVmYXVsdA0KIAkgKi8NCiANCi0JaWYgKCFNTFg1X0NBUF9FU1dfSU5HUkVT U19BQ0woZGV2LCBmdF9zdXBwb3J0KSkNCi0JCXJldHVybiAtRU9QTk9UU1VQUDsNCi0NCi0JZXN3 X3Zwb3J0X2NsZWFudXBfaW5ncmVzc19ydWxlcyhlc3csIHZwb3J0KTsNCi0NCi0JZXJyID0gZXN3 X3Zwb3J0X2VuYWJsZV9pbmdyZXNzX2FjbChlc3csIHZwb3J0KTsNCi0JaWYgKGVycikgew0KLQkJ bWx4NV9jb3JlX3dhcm4oZXN3LT5kZXYsDQotCQkJICAgICAgICJmYWlsZWQgdG8gZW5hYmxlIHBy aW8gdGFnIGluZ3Jlc3MgYWNsICglZCkgb24gdnBvcnRbJWRdXG4iLA0KLQkJCSAgICAgICBlcnIs IHZwb3J0LT52cG9ydCk7DQotCQlyZXR1cm4gZXJyOw0KLQl9DQotDQotCWVzd19kZWJ1Zyhlc3ct PmRldiwNCi0JCSAgInZwb3J0WyVkXSBjb25maWd1cmUgaW5ncmVzcyBydWxlc1xuIiwgdnBvcnQt PnZwb3J0KTsNCi0NCiAJc3BlYyA9IGt2emFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwp Ow0KIAlpZiAoIXNwZWMpIHsNCiAJCWVyciA9IC1FTk9NRU07DQpAQCAtMTU5Niw2ICsxNTgwLDEy IEBAIHN0YXRpYyBpbnQgZXN3X3Zwb3J0X2luZ3Jlc3NfcHJpb190YWdfY29uZmlnKHN0cnVjdCBt bHg1X2Vzd2l0Y2ggKmVzdywNCiAJZmxvd19hY3QudmxhblswXS5ldGh0eXBlID0gRVRIX1BfODAy MVE7DQogCWZsb3dfYWN0LnZsYW5bMF0udmlkID0gMDsNCiAJZmxvd19hY3QudmxhblswXS5wcmlv ID0gMDsNCisNCisJaWYgKHZwb3J0LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlKSB7DQor CQlmbG93X2FjdC5hY3Rpb24gfD0gTUxYNV9GTE9XX0NPTlRFWFRfQUNUSU9OX01PRF9IRFI7DQor CQlmbG93X2FjdC5tb2RpZnlfaWQgPSB2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfaWQ7 DQorCX0NCisNCiAJdnBvcnQtPmluZ3Jlc3MuYWxsb3dfcnVsZSA9DQogCQltbHg1X2FkZF9mbG93 X3J1bGVzKHZwb3J0LT5pbmdyZXNzLmFjbCwgc3BlYywNCiAJCQkJICAgICZmbG93X2FjdCwgTlVM TCwgMCk7DQpAQCAtMTYxNiw2ICsxNjA2LDU5IEBAIHN0YXRpYyBpbnQgZXN3X3Zwb3J0X2luZ3Jl c3NfcHJpb190YWdfY29uZmlnKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJcmV0dXJuIGVy cjsNCiB9DQogDQorc3RhdGljIGludCBlc3dfdnBvcnRfYWRkX2luZ3Jlc3NfYWNsX21vZGlmeV9t ZXRhZGF0YShzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQorCQkJCQkJICAgICBzdHJ1Y3QgbWx4 NV92cG9ydCAqdnBvcnQpDQorew0KKwl1OCBhY3Rpb25bTUxYNV9VTl9TWl9CWVRFUyhzZXRfYWN0 aW9uX2luX2FkZF9hY3Rpb25faW5fYXV0byldID0ge307DQorCXN0cnVjdCBtbHg1X2Zsb3dfYWN0 IGZsb3dfYWN0ID0ge307DQorCXN0cnVjdCBtbHg1X2Zsb3dfc3BlYyBzcGVjID0ge307DQorCWlu dCBlcnIgPSAwOw0KKw0KKwlNTFg1X1NFVChzZXRfYWN0aW9uX2luLCBhY3Rpb24sIGFjdGlvbl90 eXBlLCBNTFg1X0FDVElPTl9UWVBFX1NFVCk7DQorCU1MWDVfU0VUKHNldF9hY3Rpb25faW4sIGFj dGlvbiwgZmllbGQsIE1MWDVfQUNUSU9OX0lOX0ZJRUxEX01FVEFEQVRBX1JFR19DXzApOw0KKwlN TFg1X1NFVChzZXRfYWN0aW9uX2luLCBhY3Rpb24sIGRhdGEsDQorCQkgbWx4NV9lc3dpdGNoX2dl dF92cG9ydF9tZXRhZGF0YV9mb3JfbWF0Y2goZXN3LCB2cG9ydC0+dnBvcnQpKTsNCisNCisJZXJy ID0gbWx4NV9tb2RpZnlfaGVhZGVyX2FsbG9jKGVzdy0+ZGV2LCBNTFg1X0ZMT1dfTkFNRVNQQUNF X0VTV19JTkdSRVNTLA0KKwkJCQkgICAgICAgMSwgYWN0aW9uLCAmdnBvcnQtPmluZ3Jlc3MubW9k aWZ5X21ldGFkYXRhX2lkKTsNCisNCisJaWYgKGVycikgew0KKwkJZXN3X3dhcm4oZXN3LT5kZXYs DQorCQkJICJmYWlsZWQgdG8gYWxsb2MgbW9kaWZ5IGhlYWRlciBmb3IgdnBvcnQgJWQgaW5ncmVz cyBhY2wgKCVkKVxuIiwNCisJCQkgdnBvcnQtPnZwb3J0LCBlcnIpOw0KKwkJcmV0dXJuIGVycjsN CisJfQ0KKw0KKwlmbG93X2FjdC5hY3Rpb24gPSBNTFg1X0ZMT1dfQ09OVEVYVF9BQ1RJT05fTU9E X0hEUiB8IE1MWDVfRkxPV19DT05URVhUX0FDVElPTl9BTExPVzsNCisJZmxvd19hY3QubW9kaWZ5 X2lkID0gdnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21ldGFkYXRhX2lkOw0KKwl2cG9ydC0+aW5ncmVz cy5tb2RpZnlfbWV0YWRhdGFfcnVsZSA9IG1seDVfYWRkX2Zsb3dfcnVsZXModnBvcnQtPmluZ3Jl c3MuYWNsLA0KKwkJCQkJCQkJICAmc3BlYywgJmZsb3dfYWN0LCBOVUxMLCAwKTsNCisJaWYgKElT X0VSUih2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfcnVsZSkpIHsNCisJCWVyciA9IFBU Ul9FUlIodnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21ldGFkYXRhX3J1bGUpOw0KKwkJZXN3X3dhcm4o ZXN3LT5kZXYsDQorCQkJICJmYWlsZWQgdG8gYWRkIHNldHRpbmcgbWV0YWRhdGEgcnVsZSBmb3Ig dnBvcnQgJWQgaW5ncmVzcyBhY2wsIGVyciglZClcbiIsDQorCQkJIHZwb3J0LT52cG9ydCwgZXJy KTsNCisJCXZwb3J0LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlID0gTlVMTDsNCisJCWdv dG8gb3V0Ow0KKwl9DQorDQorb3V0Og0KKwlpZiAoZXJyKQ0KKwkJbWx4NV9tb2RpZnlfaGVhZGVy X2RlYWxsb2MoZXN3LT5kZXYsIHZwb3J0LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9pZCk7DQor CXJldHVybiBlcnI7DQorfQ0KKw0KK3ZvaWQgZXN3X3Zwb3J0X2RlbF9pbmdyZXNzX2FjbF9tb2Rp ZnlfbWV0YWRhdGEoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KKwkJCQkJICAgICAgIHN0cnVj dCBtbHg1X3Zwb3J0ICp2cG9ydCkNCit7DQorCWlmICh2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0 YWRhdGFfcnVsZSkgew0KKwkJbWx4NV9kZWxfZmxvd19ydWxlcyh2cG9ydC0+aW5ncmVzcy5tb2Rp ZnlfbWV0YWRhdGFfcnVsZSk7DQorCQltbHg1X21vZGlmeV9oZWFkZXJfZGVhbGxvYyhlc3ctPmRl diwgdnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21ldGFkYXRhX2lkKTsNCisNCisJCXZwb3J0LT5pbmdy ZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlID0gTlVMTDsNCisJfQ0KK30NCisNCiBzdGF0aWMgaW50 IGVzd192cG9ydF9lZ3Jlc3NfcHJpb190YWdfY29uZmlnKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVz dywNCiAJCQkJCSAgICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpDQogew0KQEAgLTE2MjMsNiAr MTY2Niw5IEBAIHN0YXRpYyBpbnQgZXN3X3Zwb3J0X2VncmVzc19wcmlvX3RhZ19jb25maWcoc3Ry dWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAlzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWM7DQog CWludCBlcnIgPSAwOw0KIA0KKwlpZiAoIU1MWDVfQ0FQX0dFTihlc3ctPmRldiwgcHJpb190YWdf cmVxdWlyZWQpKQ0KKwkJcmV0dXJuIDA7DQorDQogCS8qIEZvciBwcmlvIHRhZyBtb2RlLCB0aGVy ZSBpcyBvbmx5IDEgRlRFczoNCiAJICogMSkgcHJpbyB0YWcgcGFja2V0cyAtIHBvcCB0aGUgcHJp byB0YWcgVkxBTiwgYWxsb3cNCiAJICogVW5tYXRjaGVkIHRyYWZmaWMgaXMgYWxsb3dlZCBieSBk ZWZhdWx0DQpAQCAtMTY3NiwyNyArMTcyMiw3NyBAQCBzdGF0aWMgaW50IGVzd192cG9ydF9lZ3Jl c3NfcHJpb190YWdfY29uZmlnKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJcmV0dXJuIGVy cjsNCiB9DQogDQotc3RhdGljIGludCBlc3dfcHJpb190YWdfYWNsc19jb25maWcoc3RydWN0IG1s eDVfZXN3aXRjaCAqZXN3LCBpbnQgbnZwb3J0cykNCitzdGF0aWMgaW50IGVzd192cG9ydF9pbmdy ZXNzX2NvbW1vbl9jb25maWcoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KKwkJCQkJICAgc3Ry dWN0IG1seDVfdnBvcnQgKnZwb3J0KQ0KIHsNCi0Jc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0ID0g TlVMTDsNCi0JaW50IGksIGo7DQogCWludCBlcnI7DQogDQotCW1seDVfZXN3X2Zvcl9lYWNoX3Zm X3Zwb3J0KGVzdywgaSwgdnBvcnQsIG52cG9ydHMpIHsNCisJaWYgKCFtbHg1X2Vzd2l0Y2hfdnBv cnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChlc3cpICYmDQorCSAgICAhTUxYNV9DQVBfR0VOKGVz dy0+ZGV2LCBwcmlvX3RhZ19yZXF1aXJlZCkpDQorCQlyZXR1cm4gMDsNCisNCisJZXN3X3Zwb3J0 X2NsZWFudXBfaW5ncmVzc19ydWxlcyhlc3csIHZwb3J0KTsNCisNCisJZXJyID0gZXN3X3Zwb3J0 X2VuYWJsZV9pbmdyZXNzX2FjbChlc3csIHZwb3J0KTsNCisJaWYgKGVycikgew0KKwkJZXN3X3dh cm4oZXN3LT5kZXYsDQorCQkJICJmYWlsZWQgdG8gZW5hYmxlIGluZ3Jlc3MgYWNsICglZCkgb24g dnBvcnRbJWRdXG4iLA0KKwkJCSBlcnIsIHZwb3J0LT52cG9ydCk7DQorCQlyZXR1cm4gZXJyOw0K Kwl9DQorDQorCWVzd19kZWJ1Zyhlc3ctPmRldiwNCisJCSAgInZwb3J0WyVkXSBjb25maWd1cmUg aW5ncmVzcyBydWxlc1xuIiwgdnBvcnQtPnZwb3J0KTsNCisNCisJaWYgKG1seDVfZXN3aXRjaF92 cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGVzdykpIHsNCisJCWVyciA9IGVzd192cG9ydF9h ZGRfaW5ncmVzc19hY2xfbW9kaWZ5X21ldGFkYXRhKGVzdywgdnBvcnQpOw0KKwkJaWYgKGVycikN CisJCQlnb3RvIG91dDsNCisJfQ0KKw0KKwlpZiAoTUxYNV9DQVBfR0VOKGVzdy0+ZGV2LCBwcmlv X3RhZ19yZXF1aXJlZCkgJiYNCisJICAgICh2cG9ydC0+dnBvcnQgPj0gTUxYNV9WUE9SVF9GSVJT VF9WRiAmJg0KKwkgICAgIHZwb3J0LT52cG9ydCA8PSBlc3ctPmRldi0+cHJpdi5zcmlvdi5udW1f dmZzKSkgew0KIAkJZXJyID0gZXN3X3Zwb3J0X2luZ3Jlc3NfcHJpb190YWdfY29uZmlnKGVzdywg dnBvcnQpOw0KIAkJaWYgKGVycikNCi0JCQlnb3RvIGVycl9pbmdyZXNzOw0KLQkJZXJyID0gZXN3 X3Zwb3J0X2VncmVzc19wcmlvX3RhZ19jb25maWcoZXN3LCB2cG9ydCk7DQorCQkJZ290byBvdXQ7 DQorCX0NCisNCitvdXQ6DQorCWlmIChlcnIpDQorCQllc3dfdnBvcnRfZGlzYWJsZV9pbmdyZXNz X2FjbChlc3csIHZwb3J0KTsNCisJcmV0dXJuIGVycjsNCit9DQorDQorc3RhdGljIGludCBlc3df Y3JlYXRlX29mZmxvYWRzX2FjbF90YWJsZXMoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KQ0KK3sN CisJc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0Ow0KKwlpbnQgaSwgajsNCisJaW50IGVycjsNCisN CisJbWx4NV9lc3dfZm9yX2FsbF92cG9ydHMoZXN3LCBpLCB2cG9ydCkgew0KKwkJZXJyID0gZXN3 X3Zwb3J0X2luZ3Jlc3NfY29tbW9uX2NvbmZpZyhlc3csIHZwb3J0KTsNCiAJCWlmIChlcnIpDQot CQkJZ290byBlcnJfZWdyZXNzOw0KKwkJCWdvdG8gZXJyX2luZ3Jlc3M7DQorDQorCQlpZiAodnBv cnQtPnZwb3J0ID49IE1MWDVfVlBPUlRfRklSU1RfVkYgJiYNCisJCSAgICB2cG9ydC0+dnBvcnQg PD0gZXN3LT5kZXYtPnByaXYuc3Jpb3YubnVtX3Zmcykgew0KKwkJCWVyciA9IGVzd192cG9ydF9l Z3Jlc3NfcHJpb190YWdfY29uZmlnKGVzdywgdnBvcnQpOw0KKwkJCWlmIChlcnIpDQorCQkJCWdv dG8gZXJyX2VncmVzczsNCisJCX0NCiAJfQ0KIA0KKwlpZiAobWx4NV9lc3dpdGNoX3Zwb3J0X21h dGNoX21ldGFkYXRhX2VuYWJsZWQoZXN3KSkNCisJCWVzd19pbmZvKGVzdy0+ZGV2LCAiVXNlIG1l dGFkYXRhIHJlZ19jIGFzIHNvdXJjZSB2cG9ydCB0byBtYXRjaFxuIik7DQorDQogCXJldHVybiAw Ow0KIA0KIGVycl9lZ3Jlc3M6DQogCWVzd192cG9ydF9kaXNhYmxlX2luZ3Jlc3NfYWNsKGVzdywg dnBvcnQpOw0KIGVycl9pbmdyZXNzOg0KLQltbHg1X2Vzd19mb3JfZWFjaF92Zl92cG9ydF9yZXZl cnNlKGVzdywgaiwgdnBvcnQsIGkgLSAxKSB7DQorCWZvciAoaiA9IE1MWDVfVlBPUlRfUEY7IGog PCBpOyBqKyspIHsNCisJCXZwb3J0ID0gJmVzdy0+dnBvcnRzW2pdOw0KIAkJZXN3X3Zwb3J0X2Rp c2FibGVfZWdyZXNzX2FjbChlc3csIHZwb3J0KTsNCiAJCWVzd192cG9ydF9kaXNhYmxlX2luZ3Jl c3NfYWNsKGVzdywgdnBvcnQpOw0KIAl9DQpAQCAtMTcwNCwxNSArMTgwMCwxNyBAQCBzdGF0aWMg aW50IGVzd19wcmlvX3RhZ19hY2xzX2NvbmZpZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGlu dCBudnBvcnRzKQ0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBlc3dfcHJpb190 YWdfYWNsc19jbGVhbnVwKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykNCitzdGF0aWMgdm9pZCBl c3dfZGVzdHJveV9vZmZsb2Fkc19hY2xfdGFibGVzKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykN CiB7DQogCXN0cnVjdCBtbHg1X3Zwb3J0ICp2cG9ydDsNCiAJaW50IGk7DQogDQotCW1seDVfZXN3 X2Zvcl9lYWNoX3ZmX3Zwb3J0KGVzdywgaSwgdnBvcnQsIGVzdy0+bnZwb3J0cykgew0KKwltbHg1 X2Vzd19mb3JfYWxsX3Zwb3J0cyhlc3csIGksIHZwb3J0KSB7DQogCQllc3dfdnBvcnRfZGlzYWJs ZV9lZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0KIAkJZXN3X3Zwb3J0X2Rpc2FibGVfaW5ncmVzc19h Y2woZXN3LCB2cG9ydCk7DQogCX0NCisNCisJZXN3LT5mbGFncyAmPSB+TUxYNV9FU1dJVENIX1ZQ T1JUX01BVENIX01FVEFEQVRBOw0KIH0NCiANCiBzdGF0aWMgaW50IGVzd19vZmZsb2Fkc19zdGVl cmluZ19pbml0KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IG52cG9ydHMpDQpAQCAtMTcy MiwxNSArMTgyMCwxMyBAQCBzdGF0aWMgaW50IGVzd19vZmZsb2Fkc19zdGVlcmluZ19pbml0KHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IG52cG9ydHMpDQogCW1lbXNldCgmZXN3LT5mZGJf dGFibGUub2ZmbG9hZHMsIDAsIHNpemVvZihzdHJ1Y3Qgb2ZmbG9hZHNfZmRiKSk7DQogCW11dGV4 X2luaXQoJmVzdy0+ZmRiX3RhYmxlLm9mZmxvYWRzLmZkYl9wcmlvX2xvY2spOw0KIA0KLQlpZiAo TUxYNV9DQVBfR0VOKGVzdy0+ZGV2LCBwcmlvX3RhZ19yZXF1aXJlZCkpIHsNCi0JCWVyciA9IGVz d19wcmlvX3RhZ19hY2xzX2NvbmZpZyhlc3csIG52cG9ydHMpOw0KLQkJaWYgKGVycikNCi0JCQly ZXR1cm4gZXJyOw0KLQl9DQorCWVyciA9IGVzd19jcmVhdGVfb2ZmbG9hZHNfYWNsX3RhYmxlcyhl c3cpOw0KKwlpZiAoZXJyKQ0KKwkJcmV0dXJuIGVycjsNCiANCiAJZXJyID0gZXN3X2NyZWF0ZV9v ZmZsb2Fkc19mZGJfdGFibGVzKGVzdywgbnZwb3J0cyk7DQogCWlmIChlcnIpDQotCQlyZXR1cm4g ZXJyOw0KKwkJZ290byBjcmVhdGVfZmRiX2VycjsNCiANCiAJZXJyID0gZXN3X2NyZWF0ZV9vZmZs b2Fkc190YWJsZShlc3csIG52cG9ydHMpOw0KIAlpZiAoZXJyKQ0KQEAgLTE3NDgsNiArMTg0NCw5 IEBAIHN0YXRpYyBpbnQgZXN3X29mZmxvYWRzX3N0ZWVyaW5nX2luaXQoc3RydWN0IG1seDVfZXN3 aXRjaCAqZXN3LCBpbnQgbnZwb3J0cykNCiBjcmVhdGVfZnRfZXJyOg0KIAllc3dfZGVzdHJveV9v ZmZsb2Fkc19mZGJfdGFibGVzKGVzdyk7DQogDQorY3JlYXRlX2ZkYl9lcnI6DQorCWVzd19kZXN0 cm95X29mZmxvYWRzX2FjbF90YWJsZXMoZXN3KTsNCisNCiAJcmV0dXJuIGVycjsNCiB9DQogDQpA QCAtMTc1Niw4ICsxODU1LDcgQEAgc3RhdGljIHZvaWQgZXN3X29mZmxvYWRzX3N0ZWVyaW5nX2Ns ZWFudXAoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KQ0KIAllc3dfZGVzdHJveV92cG9ydF9yeF9n cm91cChlc3cpOw0KIAllc3dfZGVzdHJveV9vZmZsb2Fkc190YWJsZShlc3cpOw0KIAllc3dfZGVz dHJveV9vZmZsb2Fkc19mZGJfdGFibGVzKGVzdyk7DQotCWlmIChNTFg1X0NBUF9HRU4oZXN3LT5k ZXYsIHByaW9fdGFnX3JlcXVpcmVkKSkNCi0JCWVzd19wcmlvX3RhZ19hY2xzX2NsZWFudXAoZXN3 KTsNCisJZXN3X2Rlc3Ryb3lfb2ZmbG9hZHNfYWNsX3RhYmxlcyhlc3cpOw0KIH0NCiANCiBzdGF0 aWMgdm9pZCBlc3dfZnVuY3Rpb25zX2NoYW5nZWRfZXZlbnRfaGFuZGxlcihzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspDQpAQCAtMjI5MCwzICsyMzg4LDE2IEBAIHN0cnVjdCBtbHg1X2Vzd2l0Y2hf cmVwICptbHg1X2Vzd2l0Y2hfdnBvcnRfcmVwKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJ cmV0dXJuIG1seDVfZXN3aXRjaF9nZXRfcmVwKGVzdywgdnBvcnQpOw0KIH0NCiBFWFBPUlRfU1lN Qk9MKG1seDVfZXN3aXRjaF92cG9ydF9yZXApOw0KKw0KK3UzMiBtbHg1X2Vzd2l0Y2hfdnBvcnRf bWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3cpDQorew0KKwly ZXR1cm4gZXN3LT5mbGFncyAmIE1MWDVfRVNXSVRDSF9WUE9SVF9NQVRDSF9NRVRBREFUQTsNCit9 DQorRVhQT1JUX1NZTUJPTChtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxl ZCk7DQorDQordTMyIG1seDVfZXN3aXRjaF9nZXRfdnBvcnRfbWV0YWRhdGFfZm9yX21hdGNoKHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCisJCQkJCSAgICAgIHUxNiB2cG9ydCkNCit7DQorCXJl dHVybiAoKE1MWDVfQ0FQX0dFTihlc3ctPmRldiwgdmhjYV9pZCkgJiAweGZmZmYpIDw8IDE2KSB8 IHZwb3J0Ow0KK30NCitFWFBPUlRfU1lNQk9MKG1seDVfZXN3aXRjaF9nZXRfdnBvcnRfbWV0YWRh dGFfZm9yX21hdGNoKTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDUvZXN3aXRjaC5o IGIvaW5jbHVkZS9saW51eC9tbHg1L2Vzd2l0Y2guaA0KaW5kZXggMTc0ZWVjMDg3MWQ5Li5kNzI5 ZjVlNGQ3MGEgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L21seDUvZXN3aXRjaC5oDQorKysg Yi9pbmNsdWRlL2xpbnV4L21seDUvZXN3aXRjaC5oDQpAQCAtNjQsNiArNjQsOSBAQCBzdHJ1Y3Qg bWx4NV9mbG93X2hhbmRsZSAqDQogbWx4NV9lc3dpdGNoX2FkZF9zZW5kX3RvX3Zwb3J0X3J1bGUo c3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAkJCQkgICAgaW50IHZwb3J0LCB1MzIgc3FuKTsN CiANCit1MzIgbWx4NV9lc3dpdGNoX3Zwb3J0X21hdGNoX21ldGFkYXRhX2VuYWJsZWQoc3RydWN0 IG1seDVfZXN3aXRjaCAqZXN3KTsNCit1MzIgbWx4NV9lc3dpdGNoX2dldF92cG9ydF9tZXRhZGF0 YV9mb3JfbWF0Y2goc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LCB1MTYgdnBvcnQpOw0KKw0KICNp ZmRlZiBDT05GSUdfTUxYNV9FU1dJVENIDQogZW51bSBkZXZsaW5rX2Vzd2l0Y2hfZW5jYXBfbW9k ZQ0KIG1seDVfZXN3aXRjaF9nZXRfZW5jYXBfbW9kZShjb25zdCBzdHJ1Y3QgbWx4NV9jb3JlX2Rl diAqZGV2KTsNCi0tIA0KMi4yMS4wDQoNCg==