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 C984EC31E5B for ; Mon, 17 Jun 2019 19:23:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 93BCA2085A for ; Mon, 17 Jun 2019 19:23:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="XQbFftUC" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728880AbfFQTXj (ORCPT ); Mon, 17 Jun 2019 15:23:39 -0400 Received: from mail-eopbgr20087.outbound.protection.outlook.com ([40.107.2.87]:28142 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726631AbfFQTXi (ORCPT ); Mon, 17 Jun 2019 15:23:38 -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=91spwJUfVrnmIumxB4PGNs2u3iJO1sYQj3XfOicjzn8=; b=XQbFftUCL0xYgp+bdK/BfOiLdaqb4xLmK5EqgEairCUJg00DOcEaCLJaKtH6QiyCSJ0VSLZlVObsgLL4cAfbMEn6D3+Kkx+9z5UNulhL/7WTPf+ke72u2PwH9Ek1nblB7vGeh3W94BQLhoFyvmjb2G0YWMVqQSrBBmwv2fJWoF8= 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:22 +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:22 +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 07/15] net/mlx5: E-Switch, Add match on vport metadata for rule in fast path Thread-Topic: [PATCH mlx5-next 07/15] net/mlx5: E-Switch, Add match on vport metadata for rule in fast path Thread-Index: AQHVJUIgxm8XVyKnk0K6uhzPrqPwOQ== Date: Mon, 17 Jun 2019 19:23:21 +0000 Message-ID: <20190617192247.25107-8-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: 4e0badac-4d5a-463c-4943-08d6f359428f 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:7219; 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: LMcm2UceZvcnIEzOidiP/Zp3pHX++zyVlXN3Mk1sxIeiuZFX2BgrU6srv/hV/frAPhyrnULPFA/c91kYea8/eQ7MQt/5UNVZrBxiTCgXaj77I/PozCPVGhQJQT/9lGiugKwboA2U697mJYOaCryDvsAOg2J/aEpqp1ZCBdd//uNKwbGjYJpwFgX8gSvAC9jb+DJEbq5YfetMdD86IP8v2LzWoyCTKF5T8VCYZpvMltMWw+pW70tdhba+n51/u6NSP2UBs+bNS4LtfWGWA9Sz2Lo3jK56Eu/XAEIkBcI2alH9DLgFcZ6CsBC+f2tTCjSDGRPDIWg+VXUhnkRG4tc0epK6IzWeDc+Hc16wCwjS8jHmOqcmSGGTZb3bz2T/Kp4eAjKcpOo2Souo234CeWXnrqANl5oaD6owBU8xCWqeiIE= 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: 4e0badac-4d5a-463c-4943-08d6f359428f X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2019 19:23:21.9534 (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+DQoNCklmIEZXJ3MgY2FwYWJp bGl0aWVzIGFuZCBjb25maWd1cmF0aW9ucyBtZWV0IHRoZSByZXF1aXJlbWVudCBvZiB2cG9ydA0K bWV0YWRhdGEgbWF0Y2hpbmcsIHRoaXMgZmVhdHVyZSB3aWxsIGJlIHVzZWQuIEFzIHRoZSBpbmZv cm1hdGlvbg0KYWJvdXQgdnBvcnQgbnVtYmVyIGFuZCB2aGNhX2lkIHJlbGF0ZWQgdG8gcGFja2V0 IGlzIGFscmVhZHkgc3RvcmVkIHRvDQppdHMgbWV0YWRhdGEgcmVnaXN0ZXIsIHdoaWNoIGlzIHVz ZWQgYXMgYW4gaW5kaWNhdG9yIGZvciBwZXJ0aWN1bGFyDQp2cG9ydCwgbm93IHdlIGNhbiBjaGFu Z2UgdG8gbWF0Y2ggb24gdGhpcyBtZXRhZGF0YSBmb3IgYWxsIHRoZQ0Kb2ZmbG9hZGluZyBydWxl cyBpbiBmYXN0IHBhdGguDQoNClNpZ25lZC1vZmYtYnk6IEppYW5ibyBMaXUgPGppYW5ib2xAbWVs bGFub3guY29tPg0KUmV2aWV3ZWQtYnk6IEVsaSBCcml0c3RlaW4gPGVsaWJyQG1lbGxhbm94LmNv bT4NClJldmlld2VkLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPg0KUmV2aWV3ZWQt Ynk6IE1hcmsgQmxvY2ggPG1hcmtiQG1lbGxhbm94LmNvbT4NClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4uL21lbGxhbm94L21seDUv Y29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgODUgKysrKysrKysrKystLS0tLS0tLQ0KIDEg ZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29m ZmxvYWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jDQppbmRleCA4NzFhZTQ0ZGMxMzIuLmVlMTg4OTZkZmQ0NiAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxv YWRzLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dp dGNoX29mZmxvYWRzLmMNCkBAIC04OCw2ICs4OCw1MyBAQCB1MTYgbWx4NV9lc3dpdGNoX2dldF9w cmlvX3JhbmdlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykNCiAJcmV0dXJuIDE7DQogfQ0KIA0K K3N0YXRpYyB2b2lkDQorbWx4NV9lc3dpdGNoX3NldF9ydWxlX3NvdXJjZV9wb3J0KHN0cnVjdCBt bHg1X2Vzd2l0Y2ggKmVzdywNCisJCQkJICBzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsDQor CQkJCSAgc3RydWN0IG1seDVfZXN3X2Zsb3dfYXR0ciAqYXR0cikNCit7DQorCXZvaWQgKm1pc2My Ow0KKwl2b2lkICptaXNjOw0KKw0KKwkvKiBVc2UgbWV0YWRhdGEgbWF0Y2hpbmcgYmVjYXVzZSB2 cG9ydCBpcyBub3QgcmVwcmVzZW50ZWQgYnkgc2luZ2xlDQorCSAqIFZIQ0EgaW4gZHVhbC1wb3J0 IFJvQ0UgbW9kZSwgYW5kIG1hdGNoaW5nIG9uIHNvdXJjZSB2cG9ydCBtYXkgZmFpbC4NCisJICov DQorCWlmIChtbHg1X2Vzd2l0Y2hfdnBvcnRfbWF0Y2hfbWV0YWRhdGFfZW5hYmxlZChlc3cpKSB7 DQorCQltaXNjMiA9IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFyYW0sIHNwZWMtPm1hdGNoX3Zh bHVlLCBtaXNjX3BhcmFtZXRlcnNfMik7DQorCQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2My LCBtaXNjMiwgbWV0YWRhdGFfcmVnX2NfMCwNCisJCQkgbWx4NV9lc3dpdGNoX2dldF92cG9ydF9t ZXRhZGF0YV9mb3JfbWF0Y2goYXR0ci0+aW5fbWRldi0+cHJpdi5lc3dpdGNoLA0KKwkJCQkJCQkJ ICAgYXR0ci0+aW5fcmVwLT52cG9ydCkpOw0KKw0KKwkJbWlzYzIgPSBNTFg1X0FERFJfT0YoZnRl X21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJzXzIpOw0K KwkJTUxYNV9TRVRfVE9fT05FUyhmdGVfbWF0Y2hfc2V0X21pc2MyLCBtaXNjMiwgbWV0YWRhdGFf cmVnX2NfMCk7DQorDQorCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRD SF9NSVNDX1BBUkFNRVRFUlNfMjsNCisJCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3Bh cmFtLCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwgbWlzY19wYXJhbWV0ZXJzKTsNCisJCWlmIChtZW1j aHJfaW52KG1pc2MsIDAsIE1MWDVfU1RfU1pfQllURVMoZnRlX21hdGNoX3NldF9taXNjKSkpDQor CQkJc3BlYy0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxlIHw9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVU RVJTOw0KKwl9IGVsc2Ugew0KKwkJbWlzYyA9IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFyYW0s IHNwZWMtPm1hdGNoX3ZhbHVlLCBtaXNjX3BhcmFtZXRlcnMpOw0KKwkJTUxYNV9TRVQoZnRlX21h dGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9ydCwgYXR0ci0+aW5fcmVwLT52cG9ydCk7DQor DQorCQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJnZWRfZXN3aXRjaCkpDQorCQkJTUxY NV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLA0KKwkJCQkgc291cmNlX2Vzd2l0Y2hfb3du ZXJfdmhjYV9pZCwNCisJCQkJIE1MWDVfQ0FQX0dFTihhdHRyLT5pbl9tZGV2LCB2aGNhX2lkKSk7 DQorDQorCQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hf Y3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVycyk7DQorCQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRj aF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQpOw0KKwkJaWYgKE1MWDVfQ0FQX0VTVyhlc3ct PmRldiwgbWVyZ2VkX2Vzd2l0Y2gpKQ0KKwkJCU1MWDVfU0VUX1RPX09ORVMoZnRlX21hdGNoX3Nl dF9taXNjLCBtaXNjLA0KKwkJCQkJIHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQpOw0KKw0K KwkJc3BlYy0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxlIHw9IE1MWDVfTUFUQ0hfTUlTQ19QQVJBTUVU RVJTOw0KKwl9DQorDQorCWlmIChNTFg1X0NBUF9FU1dfRkxPV1RBQkxFKGVzdy0+ZGV2LCBmbG93 X3NvdXJjZSkgJiYNCisJICAgIGF0dHItPmluX3JlcC0+dnBvcnQgPT0gTUxYNV9WUE9SVF9VUExJ TkspDQorCQlzcGVjLT5mbG93X2NvbnRleHQuZmxvd19zb3VyY2UgPSBNTFg1X0ZMT1dfQ09OVEVY VF9GTE9XX1NPVVJDRV9VUExJTks7DQorfQ0KKw0KIHN0cnVjdCBtbHg1X2Zsb3dfaGFuZGxlICoN CiBtbHg1X2Vzd2l0Y2hfYWRkX29mZmxvYWRlZF9ydWxlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVz dywNCiAJCQkJc3RydWN0IG1seDVfZmxvd19zcGVjICpzcGVjLA0KQEAgLTk5LDcgKzE0Niw2IEBA IG1seDVfZXN3aXRjaF9hZGRfb2ZmbG9hZGVkX3J1bGUoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3 LA0KIAlzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZSAqcnVsZTsNCiAJc3RydWN0IG1seDVfZmxvd190 YWJsZSAqZmRiOw0KIAlpbnQgaiwgaSA9IDA7DQotCXZvaWQgKm1pc2M7DQogDQogCWlmIChlc3ct Pm1vZGUgIT0gU1JJT1ZfT0ZGTE9BRFMpDQogCQlyZXR1cm4gRVJSX1BUUigtRU9QTk9UU1VQUCk7 DQpAQCAtMTU5LDIxICsyMDUsOCBAQCBtbHg1X2Vzd2l0Y2hfYWRkX29mZmxvYWRlZF9ydWxlKHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJCWkrKzsNCiAJfQ0KIA0KLQltaXNjID0gTUxYNV9B RERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgc3BlYy0+bWF0Y2hfdmFsdWUsIG1pc2NfcGFyYW1ldGVy cyk7DQotCU1MWDVfU0VUKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291cmNlX3BvcnQsIGF0 dHItPmluX3JlcC0+dnBvcnQpOw0KLQ0KLQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJn ZWRfZXN3aXRjaCkpDQotCQlNTFg1X1NFVChmdGVfbWF0Y2hfc2V0X21pc2MsIG1pc2MsDQotCQkJ IHNvdXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQsDQotCQkJIE1MWDVfQ0FQX0dFTihhdHRyLT5p bl9tZGV2LCB2aGNhX2lkKSk7DQorCW1seDVfZXN3aXRjaF9zZXRfcnVsZV9zb3VyY2VfcG9ydChl c3csIHNwZWMsIGF0dHIpOw0KIA0KLQltaXNjID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJh bSwgc3BlYy0+bWF0Y2hfY3JpdGVyaWEsIG1pc2NfcGFyYW1ldGVycyk7DQotCU1MWDVfU0VUX1RP X09ORVMoZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLCBzb3VyY2VfcG9ydCk7DQotCWlmIChNTFg1 X0NBUF9FU1coZXN3LT5kZXYsIG1lcmdlZF9lc3dpdGNoKSkNCi0JCU1MWDVfU0VUX1RPX09ORVMo ZnRlX21hdGNoX3NldF9taXNjLCBtaXNjLA0KLQkJCQkgc291cmNlX2Vzd2l0Y2hfb3duZXJfdmhj YV9pZCk7DQotDQotCXNwZWMtPm1hdGNoX2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVfTUFUQ0hfTUlT Q19QQVJBTUVURVJTOw0KIAlpZiAoZmxvd19hY3QuYWN0aW9uICYgTUxYNV9GTE9XX0NPTlRFWFRf QUNUSU9OX0RFQ0FQKSB7DQogCQlpZiAoYXR0ci0+dHVubmVsX21hdGNoX2xldmVsICE9IE1MWDVf TUFUQ0hfTk9ORSkNCiAJCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRD SF9PVVRFUl9IRUFERVJTOw0KQEAgLTIxOSw3ICsyNTIsNiBAQCBtbHg1X2Vzd2l0Y2hfYWRkX2Z3 ZF9ydWxlKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiAJc3RydWN0IG1seDVfZmxvd190YWJs ZSAqZmFzdF9mZGI7DQogCXN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ3ZF9mZGI7DQogCXN0cnVj dCBtbHg1X2Zsb3dfaGFuZGxlICpydWxlOw0KLQl2b2lkICptaXNjOw0KIAlpbnQgaTsNCiANCiAJ ZmFzdF9mZGIgPSBlc3dfZ2V0X3ByaW9fdGFibGUoZXN3LCBhdHRyLT5jaGFpbiwgYXR0ci0+cHJp bywgMCk7DQpAQCAtMjUxLDI1ICsyODMsMTAgQEAgbWx4NV9lc3dpdGNoX2FkZF9md2RfcnVsZShz dHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csDQogCWRlc3RbaV0uZnQgPSBmd2RfZmRiLA0KIAlpKys7 DQogDQotCW1pc2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBzcGVjLT5tYXRjaF92 YWx1ZSwgbWlzY19wYXJhbWV0ZXJzKTsNCi0JTUxYNV9TRVQoZnRlX21hdGNoX3NldF9taXNjLCBt aXNjLCBzb3VyY2VfcG9ydCwgYXR0ci0+aW5fcmVwLT52cG9ydCk7DQotDQotCWlmIChNTFg1X0NB UF9FU1coZXN3LT5kZXYsIG1lcmdlZF9lc3dpdGNoKSkNCi0JCU1MWDVfU0VUKGZ0ZV9tYXRjaF9z ZXRfbWlzYywgbWlzYywNCi0JCQkgc291cmNlX2Vzd2l0Y2hfb3duZXJfdmhjYV9pZCwNCi0JCQkg TUxYNV9DQVBfR0VOKGF0dHItPmluX21kZXYsIHZoY2FfaWQpKTsNCi0NCi0JbWlzYyA9IE1MWDVf QUREUl9PRihmdGVfbWF0Y2hfcGFyYW0sIHNwZWMtPm1hdGNoX2NyaXRlcmlhLCBtaXNjX3BhcmFt ZXRlcnMpOw0KLQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywgc291 cmNlX3BvcnQpOw0KLQlpZiAoTUxYNV9DQVBfRVNXKGVzdy0+ZGV2LCBtZXJnZWRfZXN3aXRjaCkp DQotCQlNTFg1X1NFVF9UT19PTkVTKGZ0ZV9tYXRjaF9zZXRfbWlzYywgbWlzYywNCi0JCQkJIHNv dXJjZV9lc3dpdGNoX293bmVyX3ZoY2FfaWQpOw0KKwltbHg1X2Vzd2l0Y2hfc2V0X3J1bGVfc291 cmNlX3BvcnQoZXN3LCBzcGVjLCBhdHRyKTsNCiANCi0JaWYgKGF0dHItPm1hdGNoX2xldmVsID09 IE1MWDVfTUFUQ0hfTk9ORSkNCi0JCXNwZWMtPm1hdGNoX2NyaXRlcmlhX2VuYWJsZSA9IE1MWDVf TUFUQ0hfTUlTQ19QQVJBTUVURVJTOw0KLQllbHNlDQotCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9l bmFibGUgPSBNTFg1X01BVENIX09VVEVSX0hFQURFUlMgfA0KLQkJCQkJICAgICAgTUxYNV9NQVRD SF9NSVNDX1BBUkFNRVRFUlM7DQorCWlmIChhdHRyLT5tYXRjaF9sZXZlbCAhPSBNTFg1X01BVENI X05PTkUpDQorCQlzcGVjLT5tYXRjaF9jcml0ZXJpYV9lbmFibGUgfD0gTUxYNV9NQVRDSF9PVVRF Ul9IRUFERVJTOw0KIA0KIAlydWxlID0gbWx4NV9hZGRfZmxvd19ydWxlcyhmYXN0X2ZkYiwgc3Bl YywgJmZsb3dfYWN0LCBkZXN0LCBpKTsNCiANCi0tIA0KMi4yMS4wDQoNCg==