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 48F96C31E5B for ; Mon, 17 Jun 2019 19:23:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EE7AB2085A for ; Mon, 17 Jun 2019 19:23:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="rMMYF62N" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728856AbfFQTXp (ORCPT ); Mon, 17 Jun 2019 15:23:45 -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 S1728870AbfFQTXm (ORCPT ); Mon, 17 Jun 2019 15:23:42 -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=FuJuYSIyy+TichjdZI0+eFsoMaOrlUdfVeAeiwONppM=; b=rMMYF62NKQ1oNtw3j/MWKL/OOXW2YN7ZD269ptfJMSdrn1fpG3GsnP7sxbnWpT1DP0Tz2D8meK++aGZTSpZ+JG1zsOztkJ9jaNAWmIk9BOe1tQldbKaPA/peBB+9vHV3pvRHJ0M+M922jFb7W8qRoNlAKWsoreVE4S3Lk5mV750= 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:28 +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:28 +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 10/15] net/mlx5: E-Switch, Add match on vport metadata for rule in slow path Thread-Topic: [PATCH mlx5-next 10/15] net/mlx5: E-Switch, Add match on vport metadata for rule in slow path Thread-Index: AQHVJUIkxVPeINgt2UereBaT+nbI6A== Date: Mon, 17 Jun 2019 19:23:28 +0000 Message-ID: <20190617192247.25107-11-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: f613670a-68e3-4eab-446d-08d6f3594692 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:2331; 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)(6636002)(66476007)(2616005)(476003)(446003)(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: DIuhDz5ITSokJpnh09N1NBBz9K2ymP2BApeR5RzHXwf2tn9ipEyIYYfw4p+Na1xRidLUdtLpTUJtMYFuVIJl+dx0zp7xrYeCqPAMIOmvLO7p+M/0F/kg7HRitN1XE3wnWwHR15mBrEnYalIwVijB4l6DUFXWxOk0hS0DJefehtPQG1VxM0PelS/GP027UnROlX7HPNc+Ts45ArBsznLO7yFd/btQcVPI2xenv/nVx41chOOdtGJmUOv8ojtdkw0zQntWTV4ievxcamVvmD7HhYMlvmtFnRJqYTstrXDXp9cDyKDEcB8e/UpcpGj5iULA7zZIdD3GE06zaGymJ/KNMq+cZl4SljGisiiJpSE2/PrSzZUqQZeod2HPyv3o1WQM5fZezzC4Cd6akOgQ4F6YOGEofeIZhEnHc92DsAafyz0= 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: f613670a-68e3-4eab-446d-08d6f3594692 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2019 19:23:28.6367 (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+DQoNCkluIHNsb3cgcGF0aCwg cGFja2V0IHRoYXQgbm90IG1hdGNoZWQgYnkgYW55IG9mZmxvYWRlZCBydWxlIGlzDQpmb3J3YXJk ZWQgdG8gZXN3aXRjaCB2cG9ydCBtYW5hZ2VyIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuDQpBZGQg bWF0Y2hpbmcgb24gbWV0YWRhdGEgZm9yIHBlZXIgbWlzcyBydWxlcyBpbiBGREIsIGFuZCBydWxl cyB3aGljaA0KZm9yd2FyZCBwYWNrZXQgdG8gY29ycmVjdCByZXByZXNlbnRvciBpbiBlc3cgbWFu YWdlciBOSUNfUlggdGFibGUuDQoNClNpZ25lZC1vZmYtYnk6IEppYW5ibyBMaXUgPGppYW5ib2xA bWVsbGFub3guY29tPg0KUmV2aWV3ZWQtYnk6IEVsaSBCcml0c3RlaW4gPGVsaWJyQG1lbGxhbm94 LmNvbT4NClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPg0KUmV2aWV3 ZWQtYnk6IE1hcmsgQmxvY2ggPG1hcmtiQG1lbGxhbm94LmNvbT4NClNpZ25lZC1vZmYtYnk6IFNh ZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4uL21lbGxhbm94L21s eDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgMTQyICsrKysrKysrKysrKystLS0tLQ0K IDEgZmlsZSBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vz d2l0Y2hfb2ZmbG9hZHMuYw0KaW5kZXggZjdmZDJhZmFjNDYxLi4zNjM1MTdlMjlkNGMgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaF9v ZmZsb2Fkcy5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZXN3aXRjaF9vZmZsb2Fkcy5jDQpAQCAtNjI3LDIzICs2MjcsMzQgQEAgc3RhdGljIGludCBtbHg1 X2Vzd2l0Y2hfZGlzYWJsZV9wYXNzaW5nX3Zwb3J0X21ldGFkYXRhKHN0cnVjdCBtbHg1X2Vzd2l0 Y2ggKmVzdykNCiAJCQkJCQkgICAgIGluLCBzaXplb2YoaW4pKTsNCiB9DQogDQotc3RhdGljIHZv aWQgcGVlcl9taXNzX3J1bGVzX3NldHVwKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpwZWVyX2RldiwN CitzdGF0aWMgdm9pZCBwZWVyX21pc3NfcnVsZXNfc2V0dXAoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LA0KKwkJCQkgIHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpwZWVyX2RldiwNCiAJCQkJICBzdHJ1 Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsDQogCQkJCSAgc3RydWN0IG1seDVfZmxvd19kZXN0aW5h dGlvbiAqZGVzdCkNCiB7DQotCXZvaWQgKm1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3Bh cmFtLCBzcGVjLT5tYXRjaF92YWx1ZSwNCi0JCQkJICBtaXNjX3BhcmFtZXRlcnMpOw0KKwl2b2lk ICptaXNjOw0KIA0KLQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2MsIG1pc2MsIHNvdXJjZV9l c3dpdGNoX293bmVyX3ZoY2FfaWQsDQotCQkgTUxYNV9DQVBfR0VOKHBlZXJfZGV2LCB2aGNhX2lk KSk7DQorCWlmIChtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChlc3cp KSB7DQorCQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hf Y3JpdGVyaWEsDQorCQkJCSAgICBtaXNjX3BhcmFtZXRlcnNfMik7DQorCQlNTFg1X1NFVF9UT19P TkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYzIsIG1pc2MsIG1ldGFkYXRhX3JlZ19jXzApOw0KIA0KLQlz cGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgPSBNTFg1X01BVENIX01JU0NfUEFSQU1FVEVSUzsN CisJCXNwZWMtPm1hdGNoX2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVU RVJTXzI7DQorCX0gZWxzZSB7DQorCQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJh bSwgc3BlYy0+bWF0Y2hfdmFsdWUsDQorCQkJCSAgICBtaXNjX3BhcmFtZXRlcnMpOw0KIA0KLQlt aXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfY3JpdGVyaWEs DQotCQkJICAgIG1pc2NfcGFyYW1ldGVycyk7DQotCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNo X3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9ydCk7DQotCU1MWDVfU0VUX1RPX09ORVMoZnRlX21h dGNoX3NldF9taXNjLCBtaXNjLA0KLQkJCSBzb3VyY2VfZXN3aXRjaF9vd25lcl92aGNhX2lkKTsN CisJCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX2Vzd2l0Y2hfb3du ZXJfdmhjYV9pZCwNCisJCQkgTUxYNV9DQVBfR0VOKHBlZXJfZGV2LCB2aGNhX2lkKSk7DQorDQor CQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgPSBNTFg1X01BVENIX01JU0NfUEFSQU1FVEVS UzsNCisNCisJCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRj aF9jcml0ZXJpYSwNCisJCQkJICAgIG1pc2NfcGFyYW1ldGVycyk7DQorCQlNTFg1X1NFVF9UT19P TkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQpOw0KKwkJTUxYNV9TRVRf VE9fT05FUyhmdGVfbWF0Y2hfc2V0X21pc2MsIG1pc2MsDQorCQkJCSBzb3VyY2VfZXN3aXRjaF9v d25lcl92aGNhX2lkKTsNCisJfQ0KIA0KIAlkZXN0LT50eXBlID0gTUxYNV9GTE9XX0RFU1RJTkFU SU9OX1RZUEVfVlBPUlQ7DQogCWRlc3QtPnZwb3J0Lm51bSA9IHBlZXJfZGV2LT5wcml2LmVzd2l0 Y2gtPm1hbmFnZXJfdnBvcnQ7DQpAQCAtNjUxLDYgKzY2MiwyNiBAQCBzdGF0aWMgdm9pZCBwZWVy X21pc3NfcnVsZXNfc2V0dXAoc3RydWN0IG1seDVfY29yZV9kZXYgKnBlZXJfZGV2LA0KIAlkZXN0 LT52cG9ydC5mbGFncyB8PSBNTFg1X0ZMT1dfREVTVF9WUE9SVF9WSENBX0lEOw0KIH0NCiANCitz dGF0aWMgdm9pZCBlc3dfc2V0X3BlZXJfbWlzc19ydWxlX3NvdXJjZV9wb3J0KHN0cnVjdCBtbHg1 X2Vzd2l0Y2ggKmVzdywNCisJCQkJCSAgICAgICBzdHJ1Y3QgbWx4NV9lc3dpdGNoICpwZWVyX2Vz dywNCisJCQkJCSAgICAgICBzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsDQorCQkJCQkgICAg ICAgdTE2IHZwb3J0KQ0KK3sNCisJdm9pZCAqbWlzYzsNCisNCisJaWYgKG1seDVfZXN3aXRjaF92 cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGVzdykpIHsNCisJCW1pc2MgPSBNTFg1X0FERFJf T0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92YWx1ZSwNCisJCQkJICAgIG1pc2NfcGFy YW1ldGVyc18yKTsNCisJCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYzIsIG1pc2MsIG1ldGFk YXRhX3JlZ19jXzAsDQorCQkJIG1seDVfZXN3aXRjaF9nZXRfdnBvcnRfbWV0YWRhdGFfZm9yX21h dGNoKHBlZXJfZXN3LA0KKwkJCQkJCQkJICAgdnBvcnQpKTsNCisJfSBlbHNlIHsNCisJCW1pc2Mg PSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92YWx1ZSwNCisJCQkJ ICAgIG1pc2NfcGFyYW1ldGVycyk7DQorCQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2MsIG1p c2MsIHNvdXJjZV9wb3J0LCB2cG9ydCk7DQorCX0NCit9DQorDQogc3RhdGljIGludCBlc3dfYWRk X2ZkYl9wZWVyX21pc3NfcnVsZXMoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAkJCQkgICAg ICAgc3RydWN0IG1seDVfY29yZV9kZXYgKnBlZXJfZGV2KQ0KIHsNCkBAIC02NjgsNyArNjk5LDcg QEAgc3RhdGljIGludCBlc3dfYWRkX2ZkYl9wZWVyX21pc3NfcnVsZXMoc3RydWN0IG1seDVfZXN3 aXRjaCAqZXN3LA0KIAlpZiAoIXNwZWMpDQogCQlyZXR1cm4gLUVOT01FTTsNCiANCi0JcGVlcl9t aXNzX3J1bGVzX3NldHVwKHBlZXJfZGV2LCBzcGVjLCAmZGVzdCk7DQorCXBlZXJfbWlzc19ydWxl c19zZXR1cChlc3csIHBlZXJfZGV2LCBzcGVjLCAmZGVzdCk7DQogDQogCWZsb3dzID0ga3Z6YWxs b2MobnZwb3J0cyAqIHNpemVvZigqZmxvd3MpLCBHRlBfS0VSTkVMKTsNCiAJaWYgKCFmbG93cykg ew0KQEAgLTY4MSw3ICs3MTIsOSBAQCBzdGF0aWMgaW50IGVzd19hZGRfZmRiX3BlZXJfbWlzc19y dWxlcyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQogCQkJICAgIG1pc2NfcGFyYW1ldGVycyk7 DQogDQogCWlmIChtbHg1X2NvcmVfaXNfZWNwZl9lc3dfbWFuYWdlcihlc3ctPmRldikpIHsNCi0J CU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQsIE1MWDVfVlBP UlRfUEYpOw0KKwkJZXN3X3NldF9wZWVyX21pc3NfcnVsZV9zb3VyY2VfcG9ydChlc3csIHBlZXJf ZGV2LT5wcml2LmVzd2l0Y2gsDQorCQkJCQkJICAgc3BlYywgTUxYNV9WUE9SVF9QRik7DQorDQog CQlmbG93ID0gbWx4NV9hZGRfZmxvd19ydWxlcyhlc3ctPmZkYl90YWJsZS5vZmZsb2Fkcy5zbG93 X2ZkYiwNCiAJCQkJCSAgIHNwZWMsICZmbG93X2FjdCwgJmRlc3QsIDEpOw0KIAkJaWYgKElTX0VS UihmbG93KSkgew0KQEAgLTcwMyw3ICs3MzYsMTAgQEAgc3RhdGljIGludCBlc3dfYWRkX2ZkYl9w ZWVyX21pc3NfcnVsZXMoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LA0KIAl9DQogDQogCW1seDVf ZXN3X2Zvcl9lYWNoX3ZmX3Zwb3J0X251bShlc3csIGksIG1seDVfY29yZV9tYXhfdmZzKGVzdy0+ ZGV2KSkgew0KLQkJTUxYNV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9y dCwgaSk7DQorCQllc3dfc2V0X3BlZXJfbWlzc19ydWxlX3NvdXJjZV9wb3J0KGVzdywNCisJCQkJ CQkgICBwZWVyX2Rldi0+cHJpdi5lc3dpdGNoLA0KKwkJCQkJCSAgIHNwZWMsIGkpOw0KKw0KIAkJ ZmxvdyA9IG1seDVfYWRkX2Zsb3dfcnVsZXMoZXN3LT5mZGJfdGFibGUub2ZmbG9hZHMuc2xvd19m ZGIsDQogCQkJCQkgICBzcGVjLCAmZmxvd19hY3QsICZkZXN0LCAxKTsNCiAJCWlmIChJU19FUlIo ZmxvdykpIHsNCkBAIC05ODcsNiArMTAyMywzMCBAQCBzdGF0aWMgdm9pZCBlc3dfZGVzdHJveV9v ZmZsb2Fkc19mYXN0X2ZkYl90YWJsZXMoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KQ0KICNkZWZp bmUgTUFYX1BGX1NRIDI1Ng0KICNkZWZpbmUgTUFYX1NRX05WUE9SVFMgMzINCiANCitzdGF0aWMg dm9pZCBlc3dfc2V0X2Zsb3dfZ3JvdXBfc291cmNlX3BvcnQoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LA0KKwkJCQkJICAgdTMyICpmbG93X2dyb3VwX2luKQ0KK3sNCisJdm9pZCAqbWF0Y2hfY3Jp dGVyaWEgPSBNTFg1X0FERFJfT0YoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4sDQorCQkJCQkgICAgZmxv d19ncm91cF9pbiwNCisJCQkJCSAgICBtYXRjaF9jcml0ZXJpYSk7DQorDQorCWlmIChtbHg1X2Vz d2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChlc3cpKSB7DQorCQlNTFg1X1NFVChj cmVhdGVfZmxvd19ncm91cF9pbiwgZmxvd19ncm91cF9pbiwNCisJCQkgbWF0Y2hfY3JpdGVyaWFf ZW5hYmxlLA0KKwkJCSBNTFg1X01BVENIX01JU0NfUEFSQU1FVEVSU18yKTsNCisNCisJCU1MWDVf U0VUX1RPX09ORVMoZnRlX21hdGNoX3BhcmFtLCBtYXRjaF9jcml0ZXJpYSwNCisJCQkJIG1pc2Nf cGFyYW1ldGVyc18yLm1ldGFkYXRhX3JlZ19jXzApOw0KKwl9IGVsc2Ugew0KKwkJTUxYNV9TRVQo Y3JlYXRlX2Zsb3dfZ3JvdXBfaW4sIGZsb3dfZ3JvdXBfaW4sDQorCQkJIG1hdGNoX2NyaXRlcmlh X2VuYWJsZSwNCisJCQkgTUxYNV9NQVRDSF9NSVNDX1BBUkFNRVRFUlMpOw0KKw0KKwkJTUxYNV9T RVRfVE9fT05FUyhmdGVfbWF0Y2hfcGFyYW0sIG1hdGNoX2NyaXRlcmlhLA0KKwkJCQkgbWlzY19w YXJhbWV0ZXJzLnNvdXJjZV9wb3J0KTsNCisJfQ0KK30NCisNCiBzdGF0aWMgaW50IGVzd19jcmVh dGVfb2ZmbG9hZHNfZmRiX3RhYmxlcyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBv cnRzKQ0KIHsNCiAJaW50IGlubGVuID0gTUxYNV9TVF9TWl9CWVRFUyhjcmVhdGVfZmxvd19ncm91 cF9pbik7DQpAQCAtMTA4NCwxOSArMTE0NCwyMSBAQCBzdGF0aWMgaW50IGVzd19jcmVhdGVfb2Zm bG9hZHNfZmRiX3RhYmxlcyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBvcnRzKQ0K IA0KIAkvKiBjcmVhdGUgcGVlciBlc3cgbWlzcyBncm91cCAqLw0KIAltZW1zZXQoZmxvd19ncm91 cF9pbiwgMCwgaW5sZW4pOw0KLQlNTFg1X1NFVChjcmVhdGVfZmxvd19ncm91cF9pbiwgZmxvd19n cm91cF9pbiwgbWF0Y2hfY3JpdGVyaWFfZW5hYmxlLA0KLQkJIE1MWDVfTUFUQ0hfTUlTQ19QQVJB TUVURVJTKTsNCiANCi0JbWF0Y2hfY3JpdGVyaWEgPSBNTFg1X0FERFJfT0YoY3JlYXRlX2Zsb3df Z3JvdXBfaW4sIGZsb3dfZ3JvdXBfaW4sDQotCQkJCSAgICAgIG1hdGNoX2NyaXRlcmlhKTsNCisJ ZXN3X3NldF9mbG93X2dyb3VwX3NvdXJjZV9wb3J0KGVzdywgZmxvd19ncm91cF9pbik7DQorDQor CWlmICghbWx4NV9lc3dpdGNoX3Zwb3J0X21hdGNoX21ldGFkYXRhX2VuYWJsZWQoZXN3KSkgew0K KwkJbWF0Y2hfY3JpdGVyaWEgPSBNTFg1X0FERFJfT0YoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4sDQor CQkJCQkgICAgICBmbG93X2dyb3VwX2luLA0KKwkJCQkJICAgICAgbWF0Y2hfY3JpdGVyaWEpOw0K IA0KLQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRjaF9wYXJhbSwgbWF0Y2hfY3JpdGVyaWEsDQot CQkJIG1pc2NfcGFyYW1ldGVycy5zb3VyY2VfcG9ydCk7DQotCU1MWDVfU0VUX1RPX09ORVMoZnRl X21hdGNoX3BhcmFtLCBtYXRjaF9jcml0ZXJpYSwNCi0JCQkgbWlzY19wYXJhbWV0ZXJzLnNvdXJj ZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQpOw0KKwkJTUxYNV9TRVRfVE9fT05FUyhmdGVfbWF0Y2hf cGFyYW0sIG1hdGNoX2NyaXRlcmlhLA0KKwkJCQkgbWlzY19wYXJhbWV0ZXJzLnNvdXJjZV9lc3dp dGNoX293bmVyX3ZoY2FfaWQpOw0KKw0KKwkJTUxYNV9TRVQoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4s IGZsb3dfZ3JvdXBfaW4sDQorCQkJIHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWRfdmFsaWQs IDEpOw0KKwl9DQogDQotCU1MWDVfU0VUKGNyZWF0ZV9mbG93X2dyb3VwX2luLCBmbG93X2dyb3Vw X2luLA0KLQkJIHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWRfdmFsaWQsIDEpOw0KIAlNTFg1 X1NFVChjcmVhdGVfZmxvd19ncm91cF9pbiwgZmxvd19ncm91cF9pbiwgc3RhcnRfZmxvd19pbmRl eCwgaXgpOw0KIAlNTFg1X1NFVChjcmVhdGVfZmxvd19ncm91cF9pbiwgZmxvd19ncm91cF9pbiwg ZW5kX2Zsb3dfaW5kZXgsDQogCQkgaXggKyBlc3ctPnRvdGFsX3Zwb3J0cyAtIDEpOw0KQEAgLTEy MTAsNyArMTI3Miw2IEBAIHN0YXRpYyBpbnQgZXN3X2NyZWF0ZV92cG9ydF9yeF9ncm91cChzdHJ1 Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBvcnRzKQ0KIAlpbnQgaW5sZW4gPSBNTFg1X1NU X1NaX0JZVEVTKGNyZWF0ZV9mbG93X2dyb3VwX2luKTsNCiAJc3RydWN0IG1seDVfZmxvd19ncm91 cCAqZzsNCiAJdTMyICpmbG93X2dyb3VwX2luOw0KLQl2b2lkICptYXRjaF9jcml0ZXJpYSwgKm1p c2M7DQogCWludCBlcnIgPSAwOw0KIA0KIAludnBvcnRzID0gbnZwb3J0cyArIE1MWDVfRVNXX01J U1NfRkxPV1M7DQpAQCAtMTIyMCwxMiArMTI4MSw4IEBAIHN0YXRpYyBpbnQgZXN3X2NyZWF0ZV92 cG9ydF9yeF9ncm91cChzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBudnBvcnRzKQ0KIA0K IAkvKiBjcmVhdGUgdnBvcnQgcnggZ3JvdXAgKi8NCiAJbWVtc2V0KGZsb3dfZ3JvdXBfaW4sIDAs IGlubGVuKTsNCi0JTUxYNV9TRVQoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4sIGZsb3dfZ3JvdXBfaW4s IG1hdGNoX2NyaXRlcmlhX2VuYWJsZSwNCi0JCSBNTFg1X01BVENIX01JU0NfUEFSQU1FVEVSUyk7 DQogDQotCW1hdGNoX2NyaXRlcmlhID0gTUxYNV9BRERSX09GKGNyZWF0ZV9mbG93X2dyb3VwX2lu LCBmbG93X2dyb3VwX2luLCBtYXRjaF9jcml0ZXJpYSk7DQotCW1pc2MgPSBNTFg1X0FERFJfT0Yo ZnRlX21hdGNoX3BhcmFtLCBtYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJzKTsNCi0JTUxY NV9TRVRfVE9fT05FUyhmdGVfbWF0Y2hfc2V0X21pc2MsIG1pc2MsIHNvdXJjZV9wb3J0KTsNCisJ ZXN3X3NldF9mbG93X2dyb3VwX3NvdXJjZV9wb3J0KGVzdywgZmxvd19ncm91cF9pbik7DQogDQog CU1MWDVfU0VUKGNyZWF0ZV9mbG93X2dyb3VwX2luLCBmbG93X2dyb3VwX2luLCBzdGFydF9mbG93 X2luZGV4LCAwKTsNCiAJTUxYNV9TRVQoY3JlYXRlX2Zsb3dfZ3JvdXBfaW4sIGZsb3dfZ3JvdXBf aW4sIGVuZF9mbG93X2luZGV4LCBudnBvcnRzIC0gMSk7DQpAQCAtMTI2NCwxMyArMTMyMSwyNCBA QCBtbHg1X2Vzd2l0Y2hfY3JlYXRlX3Zwb3J0X3J4X3J1bGUoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LCBpbnQgdnBvcnQsDQogCQlnb3RvIG91dDsNCiAJfQ0KIA0KLQltaXNjID0gTUxYNV9BRERS X09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfdmFsdWUsIG1pc2NfcGFyYW1ldGVycyk7 DQotCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQsIHZwb3J0 KTsNCisJaWYgKG1seDVfZXN3aXRjaF92cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGVzdykp IHsNCisJCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92 YWx1ZSwgbWlzY19wYXJhbWV0ZXJzXzIpOw0KKwkJTUxYNV9TRVQoZnRlX21hdGNoX3NldF9taXNj MiwgbWlzYywgbWV0YWRhdGFfcmVnX2NfMCwNCisJCQkgbWx4NV9lc3dpdGNoX2dldF92cG9ydF9t ZXRhZGF0YV9mb3JfbWF0Y2goZXN3LCB2cG9ydCkpOw0KIA0KLQltaXNjID0gTUxYNV9BRERSX09G KGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfY3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVycyk7 DQotCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9y dCk7DQorCQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hf Y3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVyc18yKTsNCisJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21h dGNoX3NldF9taXNjMiwgbWlzYywgbWV0YWRhdGFfcmVnX2NfMCk7DQogDQotCXNwZWMtPm1hdGNo X2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVURVJTOw0KKwkJc3BlYy0+ bWF0Y2hfY3JpdGVyaWFfZW5hYmxlID0gTUxYNV9NQVRDSF9NSVNDX1BBUkFNRVRFUlNfMjsNCisJ fSBlbHNlIHsNCisJCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5t YXRjaF92YWx1ZSwgbWlzY19wYXJhbWV0ZXJzKTsNCisJCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRf bWlzYywgbWlzYywgc291cmNlX3BvcnQsIHZwb3J0KTsNCisNCisJCW1pc2MgPSBNTFg1X0FERFJf T0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJz KTsNCisJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2Vf cG9ydCk7DQorDQorCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgPSBNTFg1X01BVENIX01J U0NfUEFSQU1FVEVSUzsNCisJfQ0KIA0KIAlmbG93X2FjdC5hY3Rpb24gPSBNTFg1X0ZMT1dfQ09O VEVYVF9BQ1RJT05fRldEX0RFU1Q7DQogCWZsb3dfcnVsZSA9IG1seDVfYWRkX2Zsb3dfcnVsZXMo ZXN3LT5vZmZsb2Fkcy5mdF9vZmZsb2Fkcywgc3BlYywNCkBAIC0xNTU3LDYgKzE2MjUsMTAgQEAg c3RhdGljIGludCBtbHg1X2Vzd19vZmZsb2Fkc19kZXZjb21fZXZlbnQoaW50IGV2ZW50LA0KIA0K IAlzd2l0Y2ggKGV2ZW50KSB7DQogCWNhc2UgRVNXX09GRkxPQURTX0RFVkNPTV9QQUlSOg0KKwkJ aWYgKG1seDVfZXN3aXRjaF92cG9ydF9tYXRjaF9tZXRhZGF0YV9lbmFibGVkKGVzdykgIT0NCisJ CSAgICBtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChwZWVyX2Vzdykp DQorCQkJYnJlYWs7DQorDQogCQllcnIgPSBtbHg1X2Vzd19vZmZsb2Fkc19wYWlyKGVzdywgcGVl cl9lc3cpOw0KIAkJaWYgKGVycikNCiAJCQlnb3RvIGVycl9vdXQ7DQotLSANCjIuMjEuMA0KDQo=