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 E9DA3C48BD5 for ; Tue, 25 Jun 2019 17:48:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B3C51208CA for ; Tue, 25 Jun 2019 17:48:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="lY+iLwBW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732685AbfFYRsX (ORCPT ); Tue, 25 Jun 2019 13:48:23 -0400 Received: from mail-eopbgr80085.outbound.protection.outlook.com ([40.107.8.85]:15870 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732645AbfFYRsT (ORCPT ); Tue, 25 Jun 2019 13:48:19 -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=WKt5F0Eqw62KdvYSxvTaYAM6RZVk46DZBHsDwhtxvl4=; b=lY+iLwBW5CrvtcPLAQs+0yXhFWRvpYcewUmi8SkjH/3Tl1au9wWrsTo1oN8Ur3vxPnAQgZlsePO57B17dMS+nQsFX5h/8K0L3tlpo5kWuH7D7R1MqeUCR5t1+GRx4ikhwOQNk0QVqIo/lO+xV5LzCJ5Jj5E+ayxomK6h5di/Ogo= 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:10 +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:10 +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 11/13] net/mlx5: E-Switch, Add match on vport metadata for rule in slow path Thread-Topic: [PATCH V2 mlx5-next 11/13] net/mlx5: E-Switch, Add match on vport metadata for rule in slow path Thread-Index: AQHVK34n77AkoxOdcEirzDC3VUqE6w== Date: Tue, 25 Jun 2019 17:48:09 +0000 Message-ID: <20190625174727.20309-12-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: fa38df56-2682-4dfb-8824-08d6f995495a 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:2331; 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)(68736007)(386003)(8936002)(2906002)(3846002)(6436002)(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: n6v22vjU9Mpv9lVCjbGrpECecjXxK7p/mGB2kudGR+8Q0HHitGnF9PaJu+2ei0giiyH0WFHeijorIL6wlNneTC5DmsuFcoINGCxj/yKeZJG+mr1h2xaiJBRY99NOoigMVAV7Y+In3jNB0fxGN4cftPq4Hqt1nwRCbnhwXUpaF4vMOeKUG47ZdU9NP+p8P+LtJjfsRBq0N6x/GOmIi0Bg5wMTuQYO8Xaf4QCh+FGdkql6ngFlMhl8I1bWzP9W3+kJ9Io3+965cwk0f3nCKFehhVWdngdL3c6DcC+hQ8JHwn8NtjZOMUekNML3RcIzxj0WlnpiGOvNhEHAHIUJLab4xjZz1sEeWlIPZsye6l3x1HaGP0Xcty2nWbEtU5AHIQl7YzU3FEVHbnNp94riokOVgQcn7RzcXHeE//OOmxDbxAk= 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: fa38df56-2682-4dfb-8824-08d6f995495a X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 17:48:09.9760 (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+DQoNCkluIHNsb3cgcGF0aCwg cGFja2V0IHRoYXQgbm90IG1hdGNoZWQgYnkgYW55IG9mZmxvYWRlZCBydWxlIGlzDQpmb3J3YXJk ZWQgdG8gZXN3aXRjaCB2cG9ydCBtYW5hZ2VyIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuDQpBZGQg bWF0Y2hpbmcgb24gbWV0YWRhdGEgZm9yIHBlZXIgbWlzcyBydWxlcyBpbiBGREIsIGFuZCBydWxl cyB3aGljaA0KZm9yd2FyZCBwYWNrZXQgdG8gY29ycmVjdCByZXByZXNlbnRvciBpbiBlc3cgbWFu YWdlciBOSUNfUlggdGFibGUuDQoNClNpZ25lZC1vZmYtYnk6IEppYW5ibyBMaXUgPGppYW5ib2xA bWVsbGFub3guY29tPg0KUmV2aWV3ZWQtYnk6IEVsaSBCcml0c3RlaW4gPGVsaWJyQG1lbGxhbm94 LmNvbT4NClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPg0KUmV2aWV3 ZWQtYnk6IE1hcmsgQmxvY2ggPG1hcmtiQG1lbGxhbm94LmNvbT4NClNpZ25lZC1vZmYtYnk6IFNh ZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4uL21lbGxhbm94L21s eDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgMTQyICsrKysrKysrKysrKystLS0tLQ0K IDEgZmlsZSBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vz d2l0Y2hfb2ZmbG9hZHMuYw0KaW5kZXggMTc4ZmY5YjA1MjU4Li45NGI1NWQwYmRkYTkgMTAwNjQ0 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=