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.9 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,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 0CEAFC48BD5 for ; Tue, 25 Jun 2019 17:48:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C694B208E3 for ; Tue, 25 Jun 2019 17:48:14 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="onn5AMwq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732654AbfFYRsN (ORCPT ); Tue, 25 Jun 2019 13:48:13 -0400 Received: from mail-eopbgr80078.outbound.protection.outlook.com ([40.107.8.78]:51759 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729493AbfFYRsM (ORCPT ); Tue, 25 Jun 2019 13:48:12 -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=zm0BVSIifiyJQc3DdjtFL/96JvxesWVZmvwvJLn1mnc=; b=onn5AMwqLgtKqhQab76Nw89kPKBBa0SKC2ceLbEy8dg7qMFrRQpVENfS0VwzsW0Cd3QSb06BTw1vwLJCIMsU+VRlcqSHQswzPSSc7CIwzuHKQ540mcpiI0BaYAjxcDQaMg748blYra8QZlA7Y690+znBr3LTRjbFmrGYOF3uaGI= Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com (10.172.227.7) by DB6PR0501MB2216.eurprd05.prod.outlook.com (10.168.55.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Tue, 25 Jun 2019 17:48:00 +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.2008.014; Tue, 25 Jun 2019 17:48:00 +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 V2 mlx5-next 06/13] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Topic: [PATCH V2 mlx5-next 06/13] net/mlx5: E-Switch, Tag packet with vport number in VF vports and uplink ingress ACLs Thread-Index: AQHVK34hzewqZ9W9+EqpedeVyCyjjw== Date: Tue, 25 Jun 2019 17:48:00 +0000 Message-ID: <20190625174727.20309-7-saeedm@mellanox.com> References: <20190625174727.20309-1-saeedm@mellanox.com> In-Reply-To: <20190625174727.20309-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: BY5PR04CA0026.namprd04.prod.outlook.com (2603:10b6:a03:1d0::36) 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: 0c925737-d150-4478-619d-08d6f99543ac 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:DB6PR0501MB2216; x-ms-traffictypediagnostic: DB6PR0501MB2216: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4125; x-forefront-prvs: 0079056367 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(136003)(346002)(396003)(376002)(39860400002)(189003)(199004)(36756003)(26005)(76176011)(1076003)(86362001)(14454004)(50226002)(52116002)(110136005)(6116002)(186003)(6506007)(5660300002)(30864003)(68736007)(386003)(8936002)(2906002)(3846002)(6436002)(14444005)(256004)(316002)(102836004)(478600001)(81166006)(53936002)(6512007)(107886003)(450100002)(4326008)(486006)(7736002)(8676002)(11346002)(66556008)(64756008)(66946007)(73956011)(99286004)(446003)(66476007)(66446008)(66066001)(2616005)(305945005)(81156014)(71190400001)(54906003)(71200400001)(476003)(6636002)(25786009)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2216;H:DB6PR0501MB2759.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A: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: NIOTu3gnF8f8qYT4BDZnXedMOGB9uWWd9o2JGbdUXuQi8d1h/qPDew+CcBkdN+ArZGSDjeowmuLj61Vq/purzeqmP5XkgX/e4p9+AX+KlqQ1aold03XmwqX7sfrG7BNhaEQbmyfA+KbQlneA6wJzL6W3u9QRFhBk6IZ7jqRfdh1Q56xW5o9TA8Co9imT6c7AiTxejcLZHIr8fIbccbaOQQ1G7xb4JaGj32VLESPxjD3V8iMJVcqUtHi0BryJO5AszQ5DIzb6V4Nt8SktVn2adAaJwfCAYPYvl2lp6yvKQ6QCJje0JOSmGLMWvW5rp/vkPjvATsoxza+jazd5UbsCoGbhvLZ9s8L+6WG93ZIIm7d1ABhb2KOUva6/KINH2+f2EvhJYOdNCIFP5BCWoypCja33wrUn4WlvOuGCfG48sFY= 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: 0c925737-d150-4478-619d-08d6f99543ac X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 17:48:00.5512 (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: DB6PR0501MB2216 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 Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgMTgwICsrKysrKysrKysrKysrLS0tLQ0KIGlu Y2x1ZGUvbGludXgvbWx4NS9lc3dpdGNoLmggICAgICAgICAgICAgICAgICB8ICAxNyArKw0KIDQg ZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQ0KDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2gu YyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmMNCmlu ZGV4IGE0MmEyM2U1MDVkZi4uMTIzNWZkODRhZTNhIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYw0KKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guYw0KQEAgLTExNjgsNiArMTE2OCw4 IEBAIHZvaWQgZXN3X3Zwb3J0X2NsZWFudXBfaW5ncmVzc19ydWxlcyhzdHJ1Y3QgbWx4NV9lc3dp dGNoICplc3csDQogDQogCXZwb3J0LT5pbmdyZXNzLmRyb3BfcnVsZSA9IE5VTEw7DQogCXZwb3J0 LT5pbmdyZXNzLmFsbG93X3J1bGUgPSBOVUxMOw0KKw0KKwllc3dfdnBvcnRfZGVsX2luZ3Jlc3Nf YWNsX21vZGlmeV9tZXRhZGF0YShlc3csIHZwb3J0KTsNCiB9DQogDQogdm9pZCBlc3dfdnBvcnRf ZGlzYWJsZV9pbmdyZXNzX2FjbChzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaCBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoLmgNCmluZGV4IDk5 ZGMyNTYzMDYyOS4uNTFlNzFiODI0YWJmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaA0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2guaA0KQEAgLTY4LDYgKzY4LDggQEAgc3RydWN0 IHZwb3J0X2luZ3Jlc3Mgew0KIAlzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICphbGxvd19zcG9vZmNo a19vbmx5X2dycDsNCiAJc3RydWN0IG1seDVfZmxvd19ncm91cCAqYWxsb3dfdW50YWdnZWRfb25s eV9ncnA7DQogCXN0cnVjdCBtbHg1X2Zsb3dfZ3JvdXAgKmRyb3BfZ3JwOw0KKwlpbnQgbW9kaWZ5 X21ldGFkYXRhX2lkOw0KKwlzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZSAgKm1vZGlmeV9tZXRhZGF0 YV9ydWxlOw0KIAlzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZSAgKmFsbG93X3J1bGU7DQogCXN0cnVj dCBtbHg1X2Zsb3dfaGFuZGxlICAqZHJvcF9ydWxlOw0KIAlzdHJ1Y3QgbWx4NV9mYyAgICAgICAg ICAgKmRyb3BfY291bnRlcjsNCkBAIC0xOTYsNiArMTk4LDEwIEBAIHN0cnVjdCBtbHg1X2Vzd19m dW5jdGlvbnMgew0KIAl1MTYJCQludW1fdmZzOw0KIH07DQogDQorZW51bSB7DQorCU1MWDVfRVNX SVRDSF9WUE9SVF9NQVRDSF9NRVRBREFUQSA9IEJJVCgwKSwNCit9Ow0KKw0KIHN0cnVjdCBtbHg1 X2Vzd2l0Y2ggew0KIAlzdHJ1Y3QgbWx4NV9jb3JlX2RldiAgICAqZGV2Ow0KIAlzdHJ1Y3QgbWx4 NV9uYiAgICAgICAgICBuYjsNCkBAIC0yMDMsNiArMjA5LDcgQEAgc3RydWN0IG1seDVfZXN3aXRj aCB7DQogCXN0cnVjdCBobGlzdF9oZWFkICAgICAgIG1jX3RhYmxlW01MWDVfTDJfQUREUl9IQVNI X1NJWkVdOw0KIAlzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqd29ya19xdWV1ZTsNCiAJc3RydWN0 IG1seDVfdnBvcnQgICAgICAgKnZwb3J0czsNCisJdTMyIGZsYWdzOw0KIAlpbnQgICAgICAgICAg ICAgICAgICAgICB0b3RhbF92cG9ydHM7DQogCWludCAgICAgICAgICAgICAgICAgICAgIGVuYWJs ZWRfdnBvcnRzOw0KIAkvKiBTeW5jaHJvbml6ZSBiZXR3ZWVuIHZwb3J0IGNoYW5nZSBldmVudHMN CkBAIC0yNDAsNiArMjQ3LDggQEAgdm9pZCBlc3dfdnBvcnRfZGlzYWJsZV9lZ3Jlc3NfYWNsKHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJCQkJICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQp Ow0KIHZvaWQgZXN3X3Zwb3J0X2Rpc2FibGVfaW5ncmVzc19hY2woc3RydWN0IG1seDVfZXN3aXRj aCAqZXN3LA0KIAkJCQkgICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpOw0KK3ZvaWQgZXN3X3Zw b3J0X2RlbF9pbmdyZXNzX2FjbF9tb2RpZnlfbWV0YWRhdGEoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LA0KKwkJCQkJICAgICAgIHN0cnVjdCBtbHg1X3Zwb3J0ICp2cG9ydCk7DQogDQogLyogRS1T d2l0Y2ggQVBJICovDQogaW50IG1seDVfZXN3aXRjaF9pbml0KHN0cnVjdCBtbHg1X2NvcmVfZGV2 ICpkZXYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZXN3aXRjaF9vZmZsb2Fkcy5jDQppbmRleCBjMWM0MmMxMzcwYjguLjRiY2JjODcy Y2QwOCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lc3dpdGNoX29mZmxvYWRzLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMNCkBAIC0xNTU1LDMyICsxNTU1LDE2IEBAIHN0 YXRpYyB2b2lkIGVzd19vZmZsb2Fkc19kZXZjb21fY2xlYW51cChzdHJ1Y3QgbWx4NV9lc3dpdGNo ICplc3cpDQogc3RhdGljIGludCBlc3dfdnBvcnRfaW5ncmVzc19wcmlvX3RhZ19jb25maWcoc3Ry dWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAkJCQkJICAgICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBv cnQpDQogew0KLQlzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2ID0gZXN3LT5kZXY7DQogCXN0cnVj dCBtbHg1X2Zsb3dfYWN0IGZsb3dfYWN0ID0gezB9Ow0KIAlzdHJ1Y3QgbWx4NV9mbG93X3NwZWMg KnNwZWM7DQogCWludCBlcnIgPSAwOw0KIA0KIAkvKiBGb3IgcHJpbyB0YWcgbW9kZSwgdGhlcmUg aXMgb25seSAxIEZURXM6DQotCSAqIDEpIFVudGFnZ2VkIHBhY2tldHMgLSBwdXNoIHByaW8gdGFn IFZMQU4sIGFsbG93DQorCSAqIDEpIFVudGFnZ2VkIHBhY2tldHMgLSBwdXNoIHByaW8gdGFnIFZM QU4gYW5kIG1vZGlmeSBtZXRhZGF0YSBpZg0KKwkgKiByZXF1aXJlZCwgYWxsb3cNCiAJICogVW5t YXRjaGVkIHRyYWZmaWMgaXMgYWxsb3dlZCBieSBkZWZhdWx0DQogCSAqLw0KIA0KLQlpZiAoIU1M WDVfQ0FQX0VTV19JTkdSRVNTX0FDTChkZXYsIGZ0X3N1cHBvcnQpKQ0KLQkJcmV0dXJuIC1FT1BO T1RTVVBQOw0KLQ0KLQllc3dfdnBvcnRfY2xlYW51cF9pbmdyZXNzX3J1bGVzKGVzdywgdnBvcnQp Ow0KLQ0KLQllcnIgPSBlc3dfdnBvcnRfZW5hYmxlX2luZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0K LQlpZiAoZXJyKSB7DQotCQltbHg1X2NvcmVfd2Fybihlc3ctPmRldiwNCi0JCQkgICAgICAgImZh aWxlZCB0byBlbmFibGUgcHJpbyB0YWcgaW5ncmVzcyBhY2wgKCVkKSBvbiB2cG9ydFslZF1cbiIs DQotCQkJICAgICAgIGVyciwgdnBvcnQtPnZwb3J0KTsNCi0JCXJldHVybiBlcnI7DQotCX0NCi0N Ci0JZXN3X2RlYnVnKGVzdy0+ZGV2LA0KLQkJICAidnBvcnRbJWRdIGNvbmZpZ3VyZSBpbmdyZXNz IHJ1bGVzXG4iLCB2cG9ydC0+dnBvcnQpOw0KLQ0KIAlzcGVjID0ga3Z6YWxsb2Moc2l6ZW9mKCpz cGVjKSwgR0ZQX0tFUk5FTCk7DQogCWlmICghc3BlYykgew0KIAkJZXJyID0gLUVOT01FTTsNCkBA IC0xNTk2LDYgKzE1ODAsMTIgQEAgc3RhdGljIGludCBlc3dfdnBvcnRfaW5ncmVzc19wcmlvX3Rh Z19jb25maWcoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAlmbG93X2FjdC52bGFuWzBdLmV0 aHR5cGUgPSBFVEhfUF84MDIxUTsNCiAJZmxvd19hY3QudmxhblswXS52aWQgPSAwOw0KIAlmbG93 X2FjdC52bGFuWzBdLnByaW8gPSAwOw0KKw0KKwlpZiAodnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21l dGFkYXRhX3J1bGUpIHsNCisJCWZsb3dfYWN0LmFjdGlvbiB8PSBNTFg1X0ZMT1dfQ09OVEVYVF9B Q1RJT05fTU9EX0hEUjsNCisJCWZsb3dfYWN0Lm1vZGlmeV9pZCA9IHZwb3J0LT5pbmdyZXNzLm1v ZGlmeV9tZXRhZGF0YV9pZDsNCisJfQ0KKw0KIAl2cG9ydC0+aW5ncmVzcy5hbGxvd19ydWxlID0N CiAJCW1seDVfYWRkX2Zsb3dfcnVsZXModnBvcnQtPmluZ3Jlc3MuYWNsLCBzcGVjLA0KIAkJCQkg ICAgJmZsb3dfYWN0LCBOVUxMLCAwKTsNCkBAIC0xNjE2LDYgKzE2MDYsNTggQEAgc3RhdGljIGlu dCBlc3dfdnBvcnRfaW5ncmVzc19wcmlvX3RhZ19jb25maWcoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LA0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCitzdGF0aWMgaW50IGVzd192cG9ydF9hZGRfaW5n cmVzc19hY2xfbW9kaWZ5X21ldGFkYXRhKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCisJCQkJ CQkgICAgIHN0cnVjdCBtbHg1X3Zwb3J0ICp2cG9ydCkNCit7DQorCXU4IGFjdGlvbltNTFg1X1VO X1NaX0JZVEVTKHNldF9hY3Rpb25faW5fYWRkX2FjdGlvbl9pbl9hdXRvKV0gPSB7fTsNCisJc3Ry dWN0IG1seDVfZmxvd19hY3QgZmxvd19hY3QgPSB7fTsNCisJc3RydWN0IG1seDVfZmxvd19zcGVj IHNwZWMgPSB7fTsNCisJaW50IGVyciA9IDA7DQorDQorCU1MWDVfU0VUKHNldF9hY3Rpb25faW4s IGFjdGlvbiwgYWN0aW9uX3R5cGUsIE1MWDVfQUNUSU9OX1RZUEVfU0VUKTsNCisJTUxYNV9TRVQo c2V0X2FjdGlvbl9pbiwgYWN0aW9uLCBmaWVsZCwgTUxYNV9BQ1RJT05fSU5fRklFTERfTUVUQURB VEFfUkVHX0NfMCk7DQorCU1MWDVfU0VUKHNldF9hY3Rpb25faW4sIGFjdGlvbiwgZGF0YSwNCisJ CSBtbHg1X2Vzd2l0Y2hfZ2V0X3Zwb3J0X21ldGFkYXRhX2Zvcl9tYXRjaChlc3csIHZwb3J0LT52 cG9ydCkpOw0KKw0KKwllcnIgPSBtbHg1X21vZGlmeV9oZWFkZXJfYWxsb2MoZXN3LT5kZXYsIE1M WDVfRkxPV19OQU1FU1BBQ0VfRVNXX0lOR1JFU1MsDQorCQkJCSAgICAgICAxLCBhY3Rpb24sICZ2 cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfaWQpOw0KKwlpZiAoZXJyKSB7DQorCQllc3df d2Fybihlc3ctPmRldiwNCisJCQkgImZhaWxlZCB0byBhbGxvYyBtb2RpZnkgaGVhZGVyIGZvciB2 cG9ydCAlZCBpbmdyZXNzIGFjbCAoJWQpXG4iLA0KKwkJCSB2cG9ydC0+dnBvcnQsIGVycik7DQor CQlyZXR1cm4gZXJyOw0KKwl9DQorDQorCWZsb3dfYWN0LmFjdGlvbiA9IE1MWDVfRkxPV19DT05U RVhUX0FDVElPTl9NT0RfSERSIHwgTUxYNV9GTE9XX0NPTlRFWFRfQUNUSU9OX0FMTE9XOw0KKwlm bG93X2FjdC5tb2RpZnlfaWQgPSB2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfaWQ7DQor CXZwb3J0LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlID0gbWx4NV9hZGRfZmxvd19ydWxl cyh2cG9ydC0+aW5ncmVzcy5hY2wsDQorCQkJCQkJCQkgICZzcGVjLCAmZmxvd19hY3QsIE5VTEws IDApOw0KKwlpZiAoSVNfRVJSKHZwb3J0LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlKSkg ew0KKwkJZXJyID0gUFRSX0VSUih2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfcnVsZSk7 DQorCQllc3dfd2Fybihlc3ctPmRldiwNCisJCQkgImZhaWxlZCB0byBhZGQgc2V0dGluZyBtZXRh ZGF0YSBydWxlIGZvciB2cG9ydCAlZCBpbmdyZXNzIGFjbCwgZXJyKCVkKVxuIiwNCisJCQkgdnBv cnQtPnZwb3J0LCBlcnIpOw0KKwkJdnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21ldGFkYXRhX3J1bGUg PSBOVUxMOw0KKwkJZ290byBvdXQ7DQorCX0NCisNCitvdXQ6DQorCWlmIChlcnIpDQorCQltbHg1 X21vZGlmeV9oZWFkZXJfZGVhbGxvYyhlc3ctPmRldiwgdnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21l dGFkYXRhX2lkKTsNCisJcmV0dXJuIGVycjsNCit9DQorDQordm9pZCBlc3dfdnBvcnRfZGVsX2lu Z3Jlc3NfYWNsX21vZGlmeV9tZXRhZGF0YShzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQorCQkJ CQkgICAgICAgc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0KQ0KK3sNCisJaWYgKHZwb3J0LT5pbmdy ZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlKSB7DQorCQltbHg1X2RlbF9mbG93X3J1bGVzKHZwb3J0 LT5pbmdyZXNzLm1vZGlmeV9tZXRhZGF0YV9ydWxlKTsNCisJCW1seDVfbW9kaWZ5X2hlYWRlcl9k ZWFsbG9jKGVzdy0+ZGV2LCB2cG9ydC0+aW5ncmVzcy5tb2RpZnlfbWV0YWRhdGFfaWQpOw0KKw0K KwkJdnBvcnQtPmluZ3Jlc3MubW9kaWZ5X21ldGFkYXRhX3J1bGUgPSBOVUxMOw0KKwl9DQorfQ0K Kw0KIHN0YXRpYyBpbnQgZXN3X3Zwb3J0X2VncmVzc19wcmlvX3RhZ19jb25maWcoc3RydWN0IG1s eDVfZXN3aXRjaCAqZXN3LA0KIAkJCQkJICAgIHN0cnVjdCBtbHg1X3Zwb3J0ICp2cG9ydCkNCiB7 DQpAQCAtMTYyMyw2ICsxNjY1LDkgQEAgc3RhdGljIGludCBlc3dfdnBvcnRfZWdyZXNzX3ByaW9f dGFnX2NvbmZpZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQogCXN0cnVjdCBtbHg1X2Zsb3df c3BlYyAqc3BlYzsNCiAJaW50IGVyciA9IDA7DQogDQorCWlmICghTUxYNV9DQVBfR0VOKGVzdy0+ ZGV2LCBwcmlvX3RhZ19yZXF1aXJlZCkpDQorCQlyZXR1cm4gMDsNCisNCiAJLyogRm9yIHByaW8g dGFnIG1vZGUsIHRoZXJlIGlzIG9ubHkgMSBGVEVzOg0KIAkgKiAxKSBwcmlvIHRhZyBwYWNrZXRz IC0gcG9wIHRoZSBwcmlvIHRhZyBWTEFOLCBhbGxvdw0KIAkgKiBVbm1hdGNoZWQgdHJhZmZpYyBp cyBhbGxvd2VkIGJ5IGRlZmF1bHQNCkBAIC0xNjc2LDI3ICsxNzIxLDc1IEBAIHN0YXRpYyBpbnQg ZXN3X3Zwb3J0X2VncmVzc19wcmlvX3RhZ19jb25maWcoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3 LA0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgaW50IGVzd19wcmlvX3RhZ19hY2xzX2Nv bmZpZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBvcnRzKQ0KK3N0YXRpYyBpbnQg ZXN3X3Zwb3J0X2luZ3Jlc3NfY29tbW9uX2NvbmZpZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3cs DQorCQkJCQkgICBzdHJ1Y3QgbWx4NV92cG9ydCAqdnBvcnQpDQogew0KLQlzdHJ1Y3QgbWx4NV92 cG9ydCAqdnBvcnQgPSBOVUxMOw0KLQlpbnQgaSwgajsNCiAJaW50IGVycjsNCiANCi0JbWx4NV9l c3dfZm9yX2VhY2hfdmZfdnBvcnQoZXN3LCBpLCB2cG9ydCwgbnZwb3J0cykgew0KKwlpZiAoIW1s eDVfZXN3aXRjaF92cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGVzdykgJiYNCisJICAgICFN TFg1X0NBUF9HRU4oZXN3LT5kZXYsIHByaW9fdGFnX3JlcXVpcmVkKSkNCisJCXJldHVybiAwOw0K Kw0KKwllc3dfdnBvcnRfY2xlYW51cF9pbmdyZXNzX3J1bGVzKGVzdywgdnBvcnQpOw0KKw0KKwll cnIgPSBlc3dfdnBvcnRfZW5hYmxlX2luZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0KKwlpZiAoZXJy KSB7DQorCQllc3dfd2Fybihlc3ctPmRldiwNCisJCQkgImZhaWxlZCB0byBlbmFibGUgaW5ncmVz cyBhY2wgKCVkKSBvbiB2cG9ydFslZF1cbiIsDQorCQkJIGVyciwgdnBvcnQtPnZwb3J0KTsNCisJ CXJldHVybiBlcnI7DQorCX0NCisNCisJZXN3X2RlYnVnKGVzdy0+ZGV2LA0KKwkJICAidnBvcnRb JWRdIGNvbmZpZ3VyZSBpbmdyZXNzIHJ1bGVzXG4iLCB2cG9ydC0+dnBvcnQpOw0KKw0KKwlpZiAo bWx4NV9lc3dpdGNoX3Zwb3J0X21hdGNoX21ldGFkYXRhX2VuYWJsZWQoZXN3KSkgew0KKwkJZXJy ID0gZXN3X3Zwb3J0X2FkZF9pbmdyZXNzX2FjbF9tb2RpZnlfbWV0YWRhdGEoZXN3LCB2cG9ydCk7 DQorCQlpZiAoZXJyKQ0KKwkJCWdvdG8gb3V0Ow0KKwl9DQorDQorCWlmIChNTFg1X0NBUF9HRU4o ZXN3LT5kZXYsIHByaW9fdGFnX3JlcXVpcmVkKSAmJg0KKwkgICAgbWx4NV9lc3dpdGNoX2lzX3Zm X3Zwb3J0KGVzdywgdnBvcnQtPnZwb3J0KSkgew0KIAkJZXJyID0gZXN3X3Zwb3J0X2luZ3Jlc3Nf cHJpb190YWdfY29uZmlnKGVzdywgdnBvcnQpOw0KIAkJaWYgKGVycikNCi0JCQlnb3RvIGVycl9p bmdyZXNzOw0KLQkJZXJyID0gZXN3X3Zwb3J0X2VncmVzc19wcmlvX3RhZ19jb25maWcoZXN3LCB2 cG9ydCk7DQorCQkJZ290byBvdXQ7DQorCX0NCisNCitvdXQ6DQorCWlmIChlcnIpDQorCQllc3df dnBvcnRfZGlzYWJsZV9pbmdyZXNzX2FjbChlc3csIHZwb3J0KTsNCisJcmV0dXJuIGVycjsNCit9 DQorDQorc3RhdGljIGludCBlc3dfY3JlYXRlX29mZmxvYWRzX2FjbF90YWJsZXMoc3RydWN0IG1s eDVfZXN3aXRjaCAqZXN3KQ0KK3sNCisJc3RydWN0IG1seDVfdnBvcnQgKnZwb3J0Ow0KKwlpbnQg aSwgajsNCisJaW50IGVycjsNCisNCisJbWx4NV9lc3dfZm9yX2FsbF92cG9ydHMoZXN3LCBpLCB2 cG9ydCkgew0KKwkJZXJyID0gZXN3X3Zwb3J0X2luZ3Jlc3NfY29tbW9uX2NvbmZpZyhlc3csIHZw b3J0KTsNCiAJCWlmIChlcnIpDQotCQkJZ290byBlcnJfZWdyZXNzOw0KKwkJCWdvdG8gZXJyX2lu Z3Jlc3M7DQorDQorCQlpZiAobWx4NV9lc3dpdGNoX2lzX3ZmX3Zwb3J0KGVzdywgdnBvcnQtPnZw b3J0KSkgew0KKwkJCWVyciA9IGVzd192cG9ydF9lZ3Jlc3NfcHJpb190YWdfY29uZmlnKGVzdywg dnBvcnQpOw0KKwkJCWlmIChlcnIpDQorCQkJCWdvdG8gZXJyX2VncmVzczsNCisJCX0NCiAJfQ0K IA0KKwlpZiAobWx4NV9lc3dpdGNoX3Zwb3J0X21hdGNoX21ldGFkYXRhX2VuYWJsZWQoZXN3KSkN CisJCWVzd19pbmZvKGVzdy0+ZGV2LCAiVXNlIG1ldGFkYXRhIHJlZ19jIGFzIHNvdXJjZSB2cG9y dCB0byBtYXRjaFxuIik7DQorDQogCXJldHVybiAwOw0KIA0KIGVycl9lZ3Jlc3M6DQogCWVzd192 cG9ydF9kaXNhYmxlX2luZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0KIGVycl9pbmdyZXNzOg0KLQlt bHg1X2Vzd19mb3JfZWFjaF92Zl92cG9ydF9yZXZlcnNlKGVzdywgaiwgdnBvcnQsIGkgLSAxKSB7 DQorCWZvciAoaiA9IE1MWDVfVlBPUlRfUEY7IGogPCBpOyBqKyspIHsNCisJCXZwb3J0ID0gJmVz dy0+dnBvcnRzW2pdOw0KIAkJZXN3X3Zwb3J0X2Rpc2FibGVfZWdyZXNzX2FjbChlc3csIHZwb3J0 KTsNCiAJCWVzd192cG9ydF9kaXNhYmxlX2luZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0KIAl9DQpA QCAtMTcwNCwxNSArMTc5NywxNyBAQCBzdGF0aWMgaW50IGVzd19wcmlvX3RhZ19hY2xzX2NvbmZp ZyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBvcnRzKQ0KIAlyZXR1cm4gZXJyOw0K IH0NCiANCi1zdGF0aWMgdm9pZCBlc3dfcHJpb190YWdfYWNsc19jbGVhbnVwKHN0cnVjdCBtbHg1 X2Vzd2l0Y2ggKmVzdykNCitzdGF0aWMgdm9pZCBlc3dfZGVzdHJveV9vZmZsb2Fkc19hY2xfdGFi bGVzKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykNCiB7DQogCXN0cnVjdCBtbHg1X3Zwb3J0ICp2 cG9ydDsNCiAJaW50IGk7DQogDQotCW1seDVfZXN3X2Zvcl9lYWNoX3ZmX3Zwb3J0KGVzdywgaSwg dnBvcnQsIGVzdy0+bnZwb3J0cykgew0KKwltbHg1X2Vzd19mb3JfYWxsX3Zwb3J0cyhlc3csIGks IHZwb3J0KSB7DQogCQllc3dfdnBvcnRfZGlzYWJsZV9lZ3Jlc3NfYWNsKGVzdywgdnBvcnQpOw0K IAkJZXN3X3Zwb3J0X2Rpc2FibGVfaW5ncmVzc19hY2woZXN3LCB2cG9ydCk7DQogCX0NCisNCisJ ZXN3LT5mbGFncyAmPSB+TUxYNV9FU1dJVENIX1ZQT1JUX01BVENIX01FVEFEQVRBOw0KIH0NCiAN CiBzdGF0aWMgaW50IGVzd19vZmZsb2Fkc19zdGVlcmluZ19pbml0KHN0cnVjdCBtbHg1X2Vzd2l0 Y2ggKmVzdywgaW50IG52cG9ydHMpDQpAQCAtMTcyMiwxNSArMTgxNywxMyBAQCBzdGF0aWMgaW50 IGVzd19vZmZsb2Fkc19zdGVlcmluZ19pbml0KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50 IG52cG9ydHMpDQogCW1lbXNldCgmZXN3LT5mZGJfdGFibGUub2ZmbG9hZHMsIDAsIHNpemVvZihz dHJ1Y3Qgb2ZmbG9hZHNfZmRiKSk7DQogCW11dGV4X2luaXQoJmVzdy0+ZmRiX3RhYmxlLm9mZmxv YWRzLmZkYl9wcmlvX2xvY2spOw0KIA0KLQlpZiAoTUxYNV9DQVBfR0VOKGVzdy0+ZGV2LCBwcmlv X3RhZ19yZXF1aXJlZCkpIHsNCi0JCWVyciA9IGVzd19wcmlvX3RhZ19hY2xzX2NvbmZpZyhlc3cs IG52cG9ydHMpOw0KLQkJaWYgKGVycikNCi0JCQlyZXR1cm4gZXJyOw0KLQl9DQorCWVyciA9IGVz d19jcmVhdGVfb2ZmbG9hZHNfYWNsX3RhYmxlcyhlc3cpOw0KKwlpZiAoZXJyKQ0KKwkJcmV0dXJu IGVycjsNCiANCiAJZXJyID0gZXN3X2NyZWF0ZV9vZmZsb2Fkc19mZGJfdGFibGVzKGVzdywgbnZw b3J0cyk7DQogCWlmIChlcnIpDQotCQlyZXR1cm4gZXJyOw0KKwkJZ290byBjcmVhdGVfZmRiX2Vy cjsNCiANCiAJZXJyID0gZXN3X2NyZWF0ZV9vZmZsb2Fkc190YWJsZShlc3csIG52cG9ydHMpOw0K IAlpZiAoZXJyKQ0KQEAgLTE3NDgsNiArMTg0MSw5IEBAIHN0YXRpYyBpbnQgZXN3X29mZmxvYWRz X3N0ZWVyaW5nX2luaXQoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LCBpbnQgbnZwb3J0cykNCiBj cmVhdGVfZnRfZXJyOg0KIAllc3dfZGVzdHJveV9vZmZsb2Fkc19mZGJfdGFibGVzKGVzdyk7DQog DQorY3JlYXRlX2ZkYl9lcnI6DQorCWVzd19kZXN0cm95X29mZmxvYWRzX2FjbF90YWJsZXMoZXN3 KTsNCisNCiAJcmV0dXJuIGVycjsNCiB9DQogDQpAQCAtMTc1Niw4ICsxODUyLDcgQEAgc3RhdGlj IHZvaWQgZXN3X29mZmxvYWRzX3N0ZWVyaW5nX2NsZWFudXAoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3KQ0KIAllc3dfZGVzdHJveV92cG9ydF9yeF9ncm91cChlc3cpOw0KIAllc3dfZGVzdHJveV9v ZmZsb2Fkc190YWJsZShlc3cpOw0KIAllc3dfZGVzdHJveV9vZmZsb2Fkc19mZGJfdGFibGVzKGVz dyk7DQotCWlmIChNTFg1X0NBUF9HRU4oZXN3LT5kZXYsIHByaW9fdGFnX3JlcXVpcmVkKSkNCi0J CWVzd19wcmlvX3RhZ19hY2xzX2NsZWFudXAoZXN3KTsNCisJZXN3X2Rlc3Ryb3lfb2ZmbG9hZHNf YWNsX3RhYmxlcyhlc3cpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBlc3dfZnVuY3Rpb25zX2NoYW5n ZWRfZXZlbnRfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQpAQCAtMjI5NiwzICsy MzkxLDE2IEBAIGJvb2wgbWx4NV9lc3dpdGNoX2lzX3ZmX3Zwb3J0KGNvbnN0IHN0cnVjdCBtbHg1 X2Vzd2l0Y2ggKmVzdywgdTE2IHZwb3J0X251bSkNCiAJcmV0dXJuIHZwb3J0X251bSA+PSBNTFg1 X1ZQT1JUX0ZJUlNUX1ZGICYmDQogCSAgICAgICB2cG9ydF9udW0gPD0gZXN3LT5kZXYtPnByaXYu c3Jpb3YubWF4X3ZmczsNCiB9DQorDQorYm9vbCBtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0 YWRhdGFfZW5hYmxlZChjb25zdCBzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3cpDQorew0KKwlyZXR1 cm4gISEoZXN3LT5mbGFncyAmIE1MWDVfRVNXSVRDSF9WUE9SVF9NQVRDSF9NRVRBREFUQSk7DQor fQ0KK0VYUE9SVF9TWU1CT0wobWx4NV9lc3dpdGNoX3Zwb3J0X21hdGNoX21ldGFkYXRhX2VuYWJs ZWQpOw0KKw0KK3UzMiBtbHg1X2Vzd2l0Y2hfZ2V0X3Zwb3J0X21ldGFkYXRhX2Zvcl9tYXRjaChj b25zdCBzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQorCQkJCQkgICAgICB1MTYgdnBvcnRfbnVt KQ0KK3sNCisJcmV0dXJuICgoTUxYNV9DQVBfR0VOKGVzdy0+ZGV2LCB2aGNhX2lkKSAmIDB4ZmZm ZikgPDwgMTYpIHwgdnBvcnRfbnVtOw0KK30NCitFWFBPUlRfU1lNQk9MKG1seDVfZXN3aXRjaF9n ZXRfdnBvcnRfbWV0YWRhdGFfZm9yX21hdGNoKTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L21seDUvZXN3aXRjaC5oIGIvaW5jbHVkZS9saW51eC9tbHg1L2Vzd2l0Y2guaA0KaW5kZXggMTc0 ZWVjMDg3MWQ5Li5hZWNlM2FlMTkwMmQgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L21seDUv ZXN3aXRjaC5oDQorKysgYi9pbmNsdWRlL2xpbnV4L21seDUvZXN3aXRjaC5oDQpAQCAtNjcsMTEg KzY3LDI4IEBAIG1seDVfZXN3aXRjaF9hZGRfc2VuZF90b192cG9ydF9ydWxlKHN0cnVjdCBtbHg1 X2Vzd2l0Y2ggKmVzdywNCiAjaWZkZWYgQ09ORklHX01MWDVfRVNXSVRDSA0KIGVudW0gZGV2bGlu a19lc3dpdGNoX2VuY2FwX21vZGUNCiBtbHg1X2Vzd2l0Y2hfZ2V0X2VuY2FwX21vZGUoY29uc3Qg c3RydWN0IG1seDVfY29yZV9kZXYgKmRldik7DQorDQorYm9vbCBtbHg1X2Vzd2l0Y2hfdnBvcnRf bWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChjb25zdCBzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3cpOw0K K3UzMiBtbHg1X2Vzd2l0Y2hfZ2V0X3Zwb3J0X21ldGFkYXRhX2Zvcl9tYXRjaChjb25zdCBzdHJ1 Y3QgbWx4NV9lc3dpdGNoICplc3csDQorCQkJCQkgICAgICB1MTYgdnBvcnRfbnVtKTsNCiAjZWxz ZSAgLyogQ09ORklHX01MWDVfRVNXSVRDSCAqLw0KIHN0YXRpYyBpbmxpbmUgZW51bSBkZXZsaW5r X2Vzd2l0Y2hfZW5jYXBfbW9kZQ0KIG1seDVfZXN3aXRjaF9nZXRfZW5jYXBfbW9kZShjb25zdCBz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIHsNCiAJcmV0dXJuIERFVkxJTktfRVNXSVRDSF9F TkNBUF9NT0RFX05PTkU7DQogfQ0KKw0KK3N0YXRpYyBpbmxpbmUgYm9vbA0KK21seDVfZXN3aXRj aF92cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGNvbnN0IHN0cnVjdCBtbHg1X2Vzd2l0Y2gg KmVzdykNCit7DQorCXJldHVybiBmYWxzZTsNCit9Ow0KKw0KK3N0YXRpYyBpbmxpbmUgdTMyDQor bWx4NV9lc3dpdGNoX2dldF92cG9ydF9tZXRhZGF0YV9mb3JfbWF0Y2goY29uc3Qgc3RydWN0IG1s eDVfZXN3aXRjaCAqZXN3LA0KKwkJCQkJICBpbnQgdnBvcnRfbnVtKQ0KK3sNCisJcmV0dXJuIDA7 DQorfTsNCiAjZW5kaWYgLyogQ09ORklHX01MWDVfRVNXSVRDSCAqLw0KICNlbmRpZg0KLS0gDQoy LjIxLjANCg0K