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 2E96EC31E5B for ; Mon, 17 Jun 2019 19:23:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D91552085A for ; Mon, 17 Jun 2019 19:23:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="arnXvsih" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728815AbfFQTX3 (ORCPT ); Mon, 17 Jun 2019 15:23:29 -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 S1728545AbfFQTX2 (ORCPT ); Mon, 17 Jun 2019 15:23:28 -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=+Qs4K3/Dl0+8R9vdefn8CKwIjEQIEXDqyYDWVb04aj0=; b=arnXvsihBxjrlYrgcqju+InnZcwce4oMGk8XeA5IjFZnWigp/49J7vY9I33QnV36cC5L6Ad+tAA/N3+Na/O3Dt87k2sbmHcxH7OLmxjqBasMDZaNXc6YajqfjGo2tC2fpEPQo7JJ22YGFlzrp11hP3pQ3VLVZni0jVlVDPjSu34= 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:16 +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:16 +0000 From: Saeed Mahameed To: Saeed Mahameed , Leon Romanovsky CC: "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Jianbo Liu , Mark Bloch Subject: [PATCH mlx5-next 04/15] net/mlx5: Add flow context for flow tag Thread-Topic: [PATCH mlx5-next 04/15] net/mlx5: Add flow context for flow tag Thread-Index: AQHVJUIcuUCFO6xh7kWZ6/wZREhtew== Date: Mon, 17 Jun 2019 19:23:15 +0000 Message-ID: <20190617192247.25107-5-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: 62c3ac9e-f025-48a5-458a-08d6f3593ef8 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:6430; 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)(53946003)(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: puVlZJAFSkUqnjScilULEQIouEaFUD3uTqwovO0l9g0K9jvTYKbPE1otY2tvBc53HxZPYUpBcl4tRkWG/dTWfGHG4xmq9TzUL82WeBbhHnjb6ZDRYkDH6muAsZs81NSdEw9TFepOCJStVfskZY3L63cdzQFhCPcFlBRa4TsssoKK7ROlDCpcrWc9iYP1fQheA50mkmbhB15MlvJWmTj+MzfSOn04jF84+rZ0KA2ATP9O56ksOBIPBe3rKySSIKBUKSHo7h0vBsn3v/Ly8h+4cZqD1u9hX41zrh/sSDsPz8gBPs8Qpo/f9tqe0t6s1LZLECVS8iNJN+oHOzCmy3GeI7vBqxk1uXjBEK7nEuo9RK6/0Uf1vmhDVrZdpTBl4E439LL8ISqI9lGe00Bcaifeh7PPTIVG3gK2mWCQXVvxRt8= 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: 62c3ac9e-f025-48a5-458a-08d6f3593ef8 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2019 19:23:15.8735 (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+DQoNClJlZmFjdG9yIHRoZSBm bG93IGRhdGEgc3RydWN0dXJlcywgYWRkIG5ldyBmbG93X2NvbnRleHQgYW5kIG1vdmUNCmZsb3df dGFnIGludG8gaXQsIGFzIGZsb3dfdGFnIGRvZXNuJ3QgYmVsb25nIHRvIHRoZSBydWxlIGFjdGlv bi4NCg0KU2lnbmVkLW9mZi1ieTogSmlhbmJvIExpdSA8amlhbmJvbEBtZWxsYW5veC5jb20+DQpS ZXZpZXdlZC1ieTogTWFyayBCbG9jaCA8bWFya2JAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1i eTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+DQotLS0NCiBkcml2ZXJzL2lu ZmluaWJhbmQvaHcvbWx4NS9mbG93LmMgICAgICAgICAgICAgfCAxMyArKysrLS0tDQogZHJpdmVy cy9pbmZpbmliYW5kL2h3L21seDUvbWFpbi5jICAgICAgICAgICAgIHwgMzAgKysrKysrKysrKy0t LS0tLQ0KIGRyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg1L21seDVfaWIuaCAgICAgICAgICB8ICAx ICsNCiAuLi4vbWVsbGFub3gvbWx4NS9jb3JlL2RpYWcvZnNfdHJhY2Vwb2ludC5oICAgfCAgMiAr LQ0KIC4uLi9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZnNfZXRodG9vbC5jICAgICAgICB8ICAyICst DQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyAgIHwgIDcgKyst LQ0KIC4uLi9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jICB8ICA4ICsr Ky0tDQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY21kLmMgIHwgIDMg Ky0NCiAuLi4vbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMgfCAzNCAr KysrKysrKystLS0tLS0tLS0tDQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZnNfY29yZS5oIHwgIDEgKw0KIGluY2x1ZGUvbGludXgvbWx4NS9mcy5oICAgICAgICAgICAgICAg ICAgICAgICB8IDE1ICsrKysrLS0tDQogMTEgZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygr KSwgNDUgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcv bWx4NS9mbG93LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NS9mbG93LmMNCmluZGV4IDFm YzMwMmQ0MWE1My4uYjg4NDEzNTVmY2Q1IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9pbmZpbmliYW5k L2h3L21seDUvZmxvdy5jDQorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NS9mbG93LmMN CkBAIC02NSwxMSArNjUsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1dmVyYnNfYXR0cl9zcGVj IG1seDVfaWJfZmxvd190eXBlW10gPSB7DQogc3RhdGljIGludCBVVkVSQlNfSEFORExFUihNTFg1 X0lCX01FVEhPRF9DUkVBVEVfRkxPVykoDQogCXN0cnVjdCB1dmVyYnNfYXR0cl9idW5kbGUgKmF0 dHJzKQ0KIHsNCi0Jc3RydWN0IG1seDVfZmxvd19hY3QgZmxvd19hY3QgPSB7LmZsb3dfdGFnID0g TUxYNV9GU19ERUZBVUxUX0ZMT1dfVEFHfTsNCisJc3RydWN0IG1seDVfZmxvd19jb250ZXh0IGZs b3dfY29udGV4dCA9IHsuZmxvd190YWcgPSBNTFg1X0ZTX0RFRkFVTFRfRkxPV19UQUd9Ow0KIAlz dHJ1Y3QgbWx4NV9pYl9mbG93X2hhbmRsZXIgKmZsb3dfaGFuZGxlcjsNCiAJc3RydWN0IG1seDVf aWJfZmxvd19tYXRjaGVyICpmc19tYXRjaGVyOw0KIAlzdHJ1Y3QgaWJfdW9iamVjdCAqKmFycl9m bG93X2FjdGlvbnM7DQogCXN0cnVjdCBpYl91Zmxvd19yZXNvdXJjZXMgKnVmbG93X3JlczsNCisJ c3RydWN0IG1seDVfZmxvd19hY3QgZmxvd19hY3QgPSB7fTsNCiAJdm9pZCAqZGV2eF9vYmo7DQog CWludCBkZXN0X2lkLCBkZXN0X3R5cGU7DQogCXZvaWQgKmNtZF9pbjsNCkBAIC0xNzIsMTcgKzE3 MywxOSBAQCBzdGF0aWMgaW50IFVWRVJCU19IQU5ETEVSKE1MWDVfSUJfTUVUSE9EX0NSRUFURV9G TE9XKSgNCiAJCQkJICAgYXJyX2Zsb3dfYWN0aW9uc1tpXS0+b2JqZWN0KTsNCiAJfQ0KIA0KLQly ZXQgPSB1dmVyYnNfY29weV9mcm9tKCZmbG93X2FjdC5mbG93X3RhZywgYXR0cnMsDQorCXJldCA9 IHV2ZXJic19jb3B5X2Zyb20oJmZsb3dfY29udGV4dC5mbG93X3RhZywgYXR0cnMsDQogCQkJICAg ICAgIE1MWDVfSUJfQVRUUl9DUkVBVEVfRkxPV19UQUcpOw0KIAlpZiAoIXJldCkgew0KLQkJaWYg KGZsb3dfYWN0LmZsb3dfdGFnID49IEJJVCgyNCkpIHsNCisJCWlmIChmbG93X2NvbnRleHQuZmxv d190YWcgPj0gQklUKDI0KSkgew0KIAkJCXJldCA9IC1FSU5WQUw7DQogCQkJZ290byBlcnJfb3V0 Ow0KIAkJfQ0KLQkJZmxvd19hY3QuZmxhZ3MgfD0gRkxPV19BQ1RfSEFTX1RBRzsNCisJCWZsb3df Y29udGV4dC5mbGFncyB8PSBGTE9XX0NPTlRFWFRfSEFTX1RBRzsNCiAJfQ0KIA0KLQlmbG93X2hh bmRsZXIgPSBtbHg1X2liX3Jhd19mc19ydWxlX2FkZChkZXYsIGZzX21hdGNoZXIsICZmbG93X2Fj dCwNCisJZmxvd19oYW5kbGVyID0gbWx4NV9pYl9yYXdfZnNfcnVsZV9hZGQoZGV2LCBmc19tYXRj aGVyLA0KKwkJCQkJICAgICAgICZmbG93X2NvbnRleHQsDQorCQkJCQkgICAgICAgJmZsb3dfYWN0 LA0KIAkJCQkJICAgICAgIGNvdW50ZXJfaWQsDQogCQkJCQkgICAgICAgY21kX2luLCBpbmxlbiwN CiAJCQkJCSAgICAgICBkZXN0X2lkLCBkZXN0X3R5cGUpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv aW5maW5pYmFuZC9ody9tbHg1L21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg1L21h aW4uYw0KaW5kZXggYWJhYzcwYWQ1YzdjLi5iZTRjOWE2ODdkZjcgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL2luZmluaWJhbmQvaHcvbWx4NS9tYWluLmMNCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9o dy9tbHg1L21haW4uYw0KQEAgLTI2NjYsMTEgKzI2NjYsMTUgQEAgaW50IHBhcnNlX2Zsb3dfZmxv d19hY3Rpb24oc3RydWN0IG1seDVfaWJfZmxvd19hY3Rpb24gKm1hY3Rpb24sDQogCX0NCiB9DQog DQotc3RhdGljIGludCBwYXJzZV9mbG93X2F0dHIoc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYs IHUzMiAqbWF0Y2hfYywNCi0JCQkgICB1MzIgKm1hdGNoX3YsIGNvbnN0IHVuaW9uIGliX2Zsb3df c3BlYyAqaWJfc3BlYywNCitzdGF0aWMgaW50IHBhcnNlX2Zsb3dfYXR0cihzdHJ1Y3QgbWx4NV9j b3JlX2RldiAqbWRldiwNCisJCQkgICBzdHJ1Y3QgbWx4NV9mbG93X3NwZWMgKnNwZWMsDQorCQkJ ICAgY29uc3QgdW5pb24gaWJfZmxvd19zcGVjICppYl9zcGVjLA0KIAkJCSAgIGNvbnN0IHN0cnVj dCBpYl9mbG93X2F0dHIgKmZsb3dfYXR0ciwNCiAJCQkgICBzdHJ1Y3QgbWx4NV9mbG93X2FjdCAq YWN0aW9uLCB1MzIgcHJldl90eXBlKQ0KIHsNCisJc3RydWN0IG1seDVfZmxvd19jb250ZXh0ICpm bG93X2NvbnRleHQgPSAmc3BlYy0+Zmxvd19jb250ZXh0Ow0KKwl1MzIgKm1hdGNoX2MgPSBzcGVj LT5tYXRjaF9jcml0ZXJpYTsNCisJdTMyICptYXRjaF92ID0gc3BlYy0+bWF0Y2hfdmFsdWU7DQog CXZvaWQgKm1pc2NfcGFyYW1zX2MgPSBNTFg1X0FERFJfT0YoZnRlX21hdGNoX3BhcmFtLCBtYXRj aF9jLA0KIAkJCQkJICAgbWlzY19wYXJhbWV0ZXJzKTsNCiAJdm9pZCAqbWlzY19wYXJhbXNfdiA9 IE1MWDVfQUREUl9PRihmdGVfbWF0Y2hfcGFyYW0sIG1hdGNoX3YsDQpAQCAtMjk4OSw4ICsyOTkz LDggQEAgc3RhdGljIGludCBwYXJzZV9mbG93X2F0dHIoc3RydWN0IG1seDVfY29yZV9kZXYgKm1k ZXYsIHUzMiAqbWF0Y2hfYywNCiAJCWlmIChpYl9zcGVjLT5mbG93X3RhZy50YWdfaWQgPj0gQklU KDI0KSkNCiAJCQlyZXR1cm4gLUVJTlZBTDsNCiANCi0JCWFjdGlvbi0+Zmxvd190YWcgPSBpYl9z cGVjLT5mbG93X3RhZy50YWdfaWQ7DQotCQlhY3Rpb24tPmZsYWdzIHw9IEZMT1dfQUNUX0hBU19U QUc7DQorCQlmbG93X2NvbnRleHQtPmZsb3dfdGFnID0gaWJfc3BlYy0+Zmxvd190YWcudGFnX2lk Ow0KKwkJZmxvd19jb250ZXh0LT5mbGFncyB8PSBGTE9XX0NPTlRFWFRfSEFTX1RBRzsNCiAJCWJy ZWFrOw0KIAljYXNlIElCX0ZMT1dfU1BFQ19BQ1RJT05fRFJPUDoNCiAJCWlmIChGSUVMRFNfTk9U X1NVUFBPUlRFRChpYl9zcGVjLT5kcm9wLA0KQEAgLTMwODQsNyArMzA4OCw4IEBAIGlzX3ZhbGlk X2VzcF9hZXNfZ2NtKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2LA0KIAkJcmV0dXJuIFZBTElE X1NQRUNfTkE7DQogDQogCXJldHVybiBpc19jcnlwdG8gJiYgaXNfaXBzZWMgJiYNCi0JCSghZWdy ZXNzIHx8ICghaXNfZHJvcCAmJiAhKGZsb3dfYWN0LT5mbGFncyAmIEZMT1dfQUNUX0hBU19UQUcp KSkgPw0KKwkJKCFlZ3Jlc3MgfHwgKCFpc19kcm9wICYmDQorCQkJICAgICAhKHNwZWMtPmZsb3df Y29udGV4dC5mbGFncyAmIEZMT1dfQ09OVEVYVF9IQVNfVEFHKSkpID8NCiAJCVZBTElEX1NQRUNf VkFMSUQgOiBWQUxJRF9TUEVDX0lOVkFMSUQ7DQogfQ0KIA0KQEAgLTM0NzMsNyArMzQ3OCw3IEBA IHN0YXRpYyBzdHJ1Y3QgbWx4NV9pYl9mbG93X2hhbmRsZXIgKl9jcmVhdGVfZmxvd19ydWxlKHN0 cnVjdCBtbHg1X2liX2RldiAqZGV2LA0KIHsNCiAJc3RydWN0IG1seDVfZmxvd190YWJsZQkqZnQg PSBmdF9wcmlvLT5mbG93X3RhYmxlOw0KIAlzdHJ1Y3QgbWx4NV9pYl9mbG93X2hhbmRsZXIgKmhh bmRsZXI7DQotCXN0cnVjdCBtbHg1X2Zsb3dfYWN0IGZsb3dfYWN0ID0gey5mbG93X3RhZyA9IE1M WDVfRlNfREVGQVVMVF9GTE9XX1RBR307DQorCXN0cnVjdCBtbHg1X2Zsb3dfYWN0IGZsb3dfYWN0 ID0ge307DQogCXN0cnVjdCBtbHg1X2Zsb3dfc3BlYyAqc3BlYzsNCiAJc3RydWN0IG1seDVfZmxv d19kZXN0aW5hdGlvbiBkZXN0X2FyclsyXSA9IHt9Ow0KIAlzdHJ1Y3QgbWx4NV9mbG93X2Rlc3Rp bmF0aW9uICpydWxlX2RzdCA9IGRlc3RfYXJyOw0KQEAgLTM1MDQsOCArMzUwOSw3IEBAIHN0YXRp YyBzdHJ1Y3QgbWx4NV9pYl9mbG93X2hhbmRsZXIgKl9jcmVhdGVfZmxvd19ydWxlKHN0cnVjdCBt bHg1X2liX2RldiAqZGV2LA0KIAl9DQogDQogCWZvciAoc3BlY19pbmRleCA9IDA7IHNwZWNfaW5k ZXggPCBmbG93X2F0dHItPm51bV9vZl9zcGVjczsgc3BlY19pbmRleCsrKSB7DQotCQllcnIgPSBw YXJzZV9mbG93X2F0dHIoZGV2LT5tZGV2LCBzcGVjLT5tYXRjaF9jcml0ZXJpYSwNCi0JCQkJICAg ICAgc3BlYy0+bWF0Y2hfdmFsdWUsDQorCQllcnIgPSBwYXJzZV9mbG93X2F0dHIoZGV2LT5tZGV2 LCBzcGVjLA0KIAkJCQkgICAgICBpYl9mbG93LCBmbG93X2F0dHIsICZmbG93X2FjdCwNCiAJCQkJ ICAgICAgcHJldl90eXBlKTsNCiAJCWlmIChlcnIgPCAwKQ0KQEAgLTM1NzIsMTEgKzM1NzYsMTEg QEAgc3RhdGljIHN0cnVjdCBtbHg1X2liX2Zsb3dfaGFuZGxlciAqX2NyZWF0ZV9mbG93X3J1bGUo c3RydWN0IG1seDVfaWJfZGV2ICpkZXYsDQogCQkJCQlNTFg1X0ZMT1dfQ09OVEVYVF9BQ1RJT05f RldEX05FWFRfUFJJTzsNCiAJfQ0KIA0KLQlpZiAoKGZsb3dfYWN0LmZsYWdzICYgRkxPV19BQ1Rf SEFTX1RBRykgICYmDQorCWlmICgoc3BlYy0+Zmxvd19jb250ZXh0LmZsYWdzICYgRkxPV19DT05U RVhUX0hBU19UQUcpICAmJg0KIAkgICAgKGZsb3dfYXR0ci0+dHlwZSA9PSBJQl9GTE9XX0FUVFJf QUxMX0RFRkFVTFQgfHwNCiAJICAgICBmbG93X2F0dHItPnR5cGUgPT0gSUJfRkxPV19BVFRSX01D X0RFRkFVTFQpKSB7DQogCQltbHg1X2liX3dhcm4oZGV2LCAiRmxvdyB0YWcgJXUgYW5kIGF0dHJp YnV0ZSB0eXBlICV4IGlzbid0IGFsbG93ZWQgaW4gbGVmdG92ZXJzXG4iLA0KLQkJCSAgICAgZmxv d19hY3QuZmxvd190YWcsIGZsb3dfYXR0ci0+dHlwZSk7DQorCQkJICAgICBzcGVjLT5mbG93X2Nv bnRleHQuZmxvd190YWcsIGZsb3dfYXR0ci0+dHlwZSk7DQogCQllcnIgPSAtRUlOVkFMOw0KIAkJ Z290byBmcmVlOw0KIAl9DQpAQCAtMzk0Nyw2ICszOTUxLDcgQEAgX2NyZWF0ZV9yYXdfZmxvd19y dWxlKHN0cnVjdCBtbHg1X2liX2RldiAqZGV2LA0KIAkJICAgICAgc3RydWN0IG1seDVfaWJfZmxv d19wcmlvICpmdF9wcmlvLA0KIAkJICAgICAgc3RydWN0IG1seDVfZmxvd19kZXN0aW5hdGlvbiAq ZHN0LA0KIAkJICAgICAgc3RydWN0IG1seDVfaWJfZmxvd19tYXRjaGVyICAqZnNfbWF0Y2hlciwN CisJCSAgICAgIHN0cnVjdCBtbHg1X2Zsb3dfY29udGV4dCAqZmxvd19jb250ZXh0LA0KIAkJICAg ICAgc3RydWN0IG1seDVfZmxvd19hY3QgKmZsb3dfYWN0LA0KIAkJICAgICAgdm9pZCAqY21kX2lu LCBpbnQgaW5sZW4sDQogCQkgICAgICBpbnQgZHN0X251bSkNCkBAIC0zOTY5LDYgKzM5NzQsNyBA QCBfY3JlYXRlX3Jhd19mbG93X3J1bGUoc3RydWN0IG1seDVfaWJfZGV2ICpkZXYsDQogCW1lbWNw eShzcGVjLT5tYXRjaF9jcml0ZXJpYSwgZnNfbWF0Y2hlci0+bWF0Y2hlcl9tYXNrLm1hdGNoX3Bh cmFtcywNCiAJICAgICAgIGZzX21hdGNoZXItPm1hc2tfbGVuKTsNCiAJc3BlYy0+bWF0Y2hfY3Jp dGVyaWFfZW5hYmxlID0gZnNfbWF0Y2hlci0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxlOw0KKwlzcGVj LT5mbG93X2NvbnRleHQgPSAqZmxvd19jb250ZXh0Ow0KIA0KIAloYW5kbGVyLT5ydWxlID0gbWx4 NV9hZGRfZmxvd19ydWxlcyhmdCwgc3BlYywNCiAJCQkJCSAgICBmbG93X2FjdCwgZHN0LCBkc3Rf bnVtKTsNCkBAIC00MDMzLDYgKzQwMzksNyBAQCBzdGF0aWMgYm9vbCByYXdfZnNfaXNfbXVsdGlj YXN0KHN0cnVjdCBtbHg1X2liX2Zsb3dfbWF0Y2hlciAqZnNfbWF0Y2hlciwNCiBzdHJ1Y3QgbWx4 NV9pYl9mbG93X2hhbmRsZXIgKg0KIG1seDVfaWJfcmF3X2ZzX3J1bGVfYWRkKHN0cnVjdCBtbHg1 X2liX2RldiAqZGV2LA0KIAkJCXN0cnVjdCBtbHg1X2liX2Zsb3dfbWF0Y2hlciAqZnNfbWF0Y2hl ciwNCisJCQlzdHJ1Y3QgbWx4NV9mbG93X2NvbnRleHQgKmZsb3dfY29udGV4dCwNCiAJCQlzdHJ1 Y3QgbWx4NV9mbG93X2FjdCAqZmxvd19hY3QsDQogCQkJdTMyIGNvdW50ZXJfaWQsDQogCQkJdm9p ZCAqY21kX2luLCBpbnQgaW5sZW4sIGludCBkZXN0X2lkLA0KQEAgLTQwODUsNyArNDA5Miw4IEBA IG1seDVfaWJfcmF3X2ZzX3J1bGVfYWRkKHN0cnVjdCBtbHg1X2liX2RldiAqZGV2LA0KIAkJZHN0 X251bSsrOw0KIAl9DQogDQotCWhhbmRsZXIgPSBfY3JlYXRlX3Jhd19mbG93X3J1bGUoZGV2LCBm dF9wcmlvLCBkc3QsIGZzX21hdGNoZXIsIGZsb3dfYWN0LA0KKwloYW5kbGVyID0gX2NyZWF0ZV9y YXdfZmxvd19ydWxlKGRldiwgZnRfcHJpbywgZHN0LCBmc19tYXRjaGVyLA0KKwkJCQkJZmxvd19j b250ZXh0LCBmbG93X2FjdCwNCiAJCQkJCWNtZF9pbiwgaW5sZW4sIGRzdF9udW0pOw0KIA0KIAlp ZiAoSVNfRVJSKGhhbmRsZXIpKSB7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3 L21seDUvbWx4NV9pYi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDUvbWx4NV9pYi5oDQpp bmRleCBhMDQzYWY3ZWUzNjYuLjFjMjA1YzJiZDQ4NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvaW5m aW5pYmFuZC9ody9tbHg1L21seDVfaWIuaA0KKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21s eDUvbWx4NV9pYi5oDQpAQCAtMTMxNyw2ICsxMzE3LDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCB1 YXBpX2RlZmluaXRpb24gbWx4NV9pYl9kZXZ4X2RlZnNbXTsNCiBleHRlcm4gY29uc3Qgc3RydWN0 IHVhcGlfZGVmaW5pdGlvbiBtbHg1X2liX2Zsb3dfZGVmc1tdOw0KIHN0cnVjdCBtbHg1X2liX2Zs b3dfaGFuZGxlciAqbWx4NV9pYl9yYXdfZnNfcnVsZV9hZGQoDQogCXN0cnVjdCBtbHg1X2liX2Rl diAqZGV2LCBzdHJ1Y3QgbWx4NV9pYl9mbG93X21hdGNoZXIgKmZzX21hdGNoZXIsDQorCXN0cnVj dCBtbHg1X2Zsb3dfY29udGV4dCAqZmxvd19jb250ZXh0LA0KIAlzdHJ1Y3QgbWx4NV9mbG93X2Fj dCAqZmxvd19hY3QsIHUzMiBjb3VudGVyX2lkLA0KIAl2b2lkICpjbWRfaW4sIGludCBpbmxlbiwg aW50IGRlc3RfaWQsIGludCBkZXN0X3R5cGUpOw0KIGJvb2wgbWx4NV9pYl9kZXZ4X2lzX2Zsb3df ZGVzdCh2b2lkICpvYmosIGludCAqZGVzdF9pZCwgaW50ICpkZXN0X3R5cGUpOw0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2ZzX3RyYWNl cG9pbnQuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2Zz X3RyYWNlcG9pbnQuaA0KaW5kZXggYTRjZjEyM2UzZjE3Li45ZWM0NmVkZjIyYTYgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGlhZy9mc190cmFj ZXBvaW50LmgNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9k aWFnL2ZzX3RyYWNlcG9pbnQuaA0KQEAgLTIwNCw3ICsyMDQsNyBAQCBUUkFDRV9FVkVOVChtbHg1 X2ZzX3NldF9mdGUsDQogCQkJICAgX19lbnRyeS0+aW5kZXggPSBmdGUtPmluZGV4Ow0KIAkJCSAg IF9fZW50cnktPmFjdGlvbiA9IGZ0ZS0+YWN0aW9uLmFjdGlvbjsNCiAJCQkgICBfX2VudHJ5LT5t YXNrX2VuYWJsZSA9IF9fZW50cnktPmZnLT5tYXNrLm1hdGNoX2NyaXRlcmlhX2VuYWJsZTsNCi0J CQkgICBfX2VudHJ5LT5mbG93X3RhZyA9IGZ0ZS0+YWN0aW9uLmZsb3dfdGFnOw0KKwkJCSAgIF9f ZW50cnktPmZsb3dfdGFnID0gZnRlLT5mbG93X2NvbnRleHQuZmxvd190YWc7DQogCQkJICAgbWVt Y3B5KF9fZW50cnktPm1hc2tfb3V0ZXIsDQogCQkJCSAgTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9w YXJhbSwNCiAJCQkJCSAgICAgICAmX19lbnRyeS0+ZmctPm1hc2subWF0Y2hfY3JpdGVyaWEsDQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2Zz X2V0aHRvb2wuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9m c19ldGh0b29sLmMNCmluZGV4IDQ0MjFjMTBmNThhZS4uODM5NjYyNjQ0ZWQzIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2ZzX2V0aHRvb2wu Yw0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2ZzX2V0 aHRvb2wuYw0KQEAgLTQyNiw3ICs0MjYsNyBAQCBhZGRfZXRodG9vbF9mbG93X3J1bGUoc3RydWN0 IG1seDVlX3ByaXYgKnByaXYsDQogCX0NCiANCiAJc3BlYy0+bWF0Y2hfY3JpdGVyaWFfZW5hYmxl ID0gKCFvdXRlcl9oZWFkZXJfemVybyhzcGVjLT5tYXRjaF9jcml0ZXJpYSkpOw0KLQlmbG93X2Fj dC5mbG93X3RhZyA9IE1MWDVfRlNfREVGQVVMVF9GTE9XX1RBRzsNCisJc3BlYy0+Zmxvd19jb250 ZXh0LmZsb3dfdGFnID0gTUxYNV9GU19ERUZBVUxUX0ZMT1dfVEFHOw0KIAlydWxlID0gbWx4NV9h ZGRfZmxvd19ydWxlcyhmdCwgc3BlYywgJmZsb3dfYWN0LCBkc3QsIGRzdCA/IDEgOiAwKTsNCiAJ aWYgKElTX0VSUihydWxlKSkgew0KIAkJZXJyID0gUFRSX0VSUihydWxlKTsNCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jDQppbmRleCAxMjJmNDU3 MDkxYTIuLjhmZjFjYTQ2ZDhkMyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lbl90Yy5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZW5fdGMuYw0KQEAgLTcxNiwxOSArNzE2LDIyIEBAIG1seDVlX3RjX2Fk ZF9uaWNfZmxvdyhzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwNCiAJCSAgICAgIHN0cnVjdCBtbHg1 ZV90Y19mbG93ICpmbG93LA0KIAkJICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNr KQ0KIHsNCisJc3RydWN0IG1seDVfZmxvd19jb250ZXh0ICpmbG93X2NvbnRleHQgPSAmcGFyc2Vf YXR0ci0+c3BlYy5mbG93X2NvbnRleHQ7DQogCXN0cnVjdCBtbHg1X25pY19mbG93X2F0dHIgKmF0 dHIgPSBmbG93LT5uaWNfYXR0cjsNCiAJc3RydWN0IG1seDVfY29yZV9kZXYgKmRldiA9IHByaXYt Pm1kZXY7DQogCXN0cnVjdCBtbHg1X2Zsb3dfZGVzdGluYXRpb24gZGVzdFsyXSA9IHt9Ow0KIAlz dHJ1Y3QgbWx4NV9mbG93X2FjdCBmbG93X2FjdCA9IHsNCiAJCS5hY3Rpb24gPSBhdHRyLT5hY3Rp b24sDQotCQkuZmxvd190YWcgPSBhdHRyLT5mbG93X3RhZywNCiAJCS5yZWZvcm1hdF9pZCA9IDAs DQotCQkuZmxhZ3MgICAgPSBGTE9XX0FDVF9IQVNfVEFHIHwgRkxPV19BQ1RfTk9fQVBQRU5ELA0K KwkJLmZsYWdzICAgID0gRkxPV19BQ1RfTk9fQVBQRU5ELA0KIAl9Ow0KIAlzdHJ1Y3QgbWx4NV9m YyAqY291bnRlciA9IE5VTEw7DQogCWJvb2wgdGFibGVfY3JlYXRlZCA9IGZhbHNlOw0KIAlpbnQg ZXJyLCBkZXN0X2l4ID0gMDsNCiANCisJZmxvd19jb250ZXh0LT5mbGFncyB8PSBGTE9XX0NPTlRF WFRfSEFTX1RBRzsNCisJZmxvd19jb250ZXh0LT5mbG93X3RhZyA9IGF0dHItPmZsb3dfdGFnOw0K Kw0KIAlpZiAoZmxvdy0+ZmxhZ3MgJiBNTFg1RV9UQ19GTE9XX0hBSVJQSU4pIHsNCiAJCWVyciA9 IG1seDVlX2hhaXJwaW5fZmxvd19hZGQocHJpdiwgZmxvdywgcGFyc2VfYXR0ciwgZXh0YWNrKTsN CiAJCWlmIChlcnIpIHsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZnBnYS9pcHNlYy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2ZwZ2EvaXBzZWMuYw0KaW5kZXggNTJjNDdkM2RkNWE1Li5jNzZkYTMwOTUwNmIg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnBn YS9pcHNlYy5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUv ZnBnYS9pcHNlYy5jDQpAQCAtNjM2LDcgKzYzNiw4IEBAIHN0YXRpYyBib29sIG1seDVfaXNfZnBn YV9lZ3Jlc3NfaXBzZWNfcnVsZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LA0KIAkJCQkJICAg dTggbWF0Y2hfY3JpdGVyaWFfZW5hYmxlLA0KIAkJCQkJICAgY29uc3QgdTMyICptYXRjaF9jLA0K IAkJCQkJICAgY29uc3QgdTMyICptYXRjaF92LA0KLQkJCQkJICAgc3RydWN0IG1seDVfZmxvd19h Y3QgKmZsb3dfYWN0KQ0KKwkJCQkJICAgc3RydWN0IG1seDVfZmxvd19hY3QgKmZsb3dfYWN0LA0K KwkJCQkJICAgc3RydWN0IG1seDVfZmxvd19jb250ZXh0ICpmbG93X2NvbnRleHQpDQogew0KIAlj b25zdCB2b2lkICpvdXRlcl9jID0gTUxYNV9BRERSX09GKGZ0ZV9tYXRjaF9wYXJhbSwgbWF0Y2hf YywNCiAJCQkJCSAgIG91dGVyX2hlYWRlcnMpOw0KQEAgLTY1NSw3ICs2NTYsNyBAQCBzdGF0aWMg Ym9vbCBtbHg1X2lzX2ZwZ2FfZWdyZXNzX2lwc2VjX3J1bGUoc3RydWN0IG1seDVfY29yZV9kZXYg KmRldiwNCiAJICAgIChtYXRjaF9jcml0ZXJpYV9lbmFibGUgJg0KIAkgICAgIH4oTUxYNV9NQVRD SF9PVVRFUl9IRUFERVJTIHwgTUxYNV9NQVRDSF9NSVNDX1BBUkFNRVRFUlMpKSB8fA0KIAkgICAg KGZsb3dfYWN0LT5hY3Rpb24gJiB+KE1MWDVfRkxPV19DT05URVhUX0FDVElPTl9FTkNSWVBUIHwg TUxYNV9GTE9XX0NPTlRFWFRfQUNUSU9OX0FMTE9XKSkgfHwNCi0JICAgICAoZmxvd19hY3QtPmZs YWdzICYgRkxPV19BQ1RfSEFTX1RBRykpDQorCSAgICAgKGZsb3dfY29udGV4dC0+ZmxhZ3MgJiBG TE9XX0NPTlRFWFRfSEFTX1RBRykpDQogCQlyZXR1cm4gZmFsc2U7DQogDQogCXJldHVybiB0cnVl Ow0KQEAgLTc2Nyw3ICs3NjgsOCBAQCBtbHg1X2ZwZ2FfaXBzZWNfZnNfY3JlYXRlX3NhX2N0eChz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwNCiAJCQkJCSAgICBmZy0+bWFzay5tYXRjaF9jcml0 ZXJpYV9lbmFibGUsDQogCQkJCQkgICAgZmctPm1hc2subWF0Y2hfY3JpdGVyaWEsDQogCQkJCQkg ICAgZnRlLT52YWwsDQotCQkJCQkgICAgJmZ0ZS0+YWN0aW9uKSkNCisJCQkJCSAgICAmZnRlLT5h Y3Rpb24sDQorCQkJCQkgICAgJmZ0ZS0+Zmxvd19jb250ZXh0KSkNCiAJCXJldHVybiBFUlJfUFRS KC1FSU5WQUwpOw0KIAllbHNlIGlmICghbWx4NV9pc19mcGdhX2lwc2VjX3J1bGUobWRldiwNCiAJ CQkJCSAgZmctPm1hc2subWF0Y2hfY3JpdGVyaWFfZW5hYmxlLA0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jbWQuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jbWQuYw0KaW5kZXggNGYxZDQwMjkyNmYx Li5mYjEzMzVhNDMzYWUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZnNfY21kLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9mc19jbWQuYw0KQEAgLTM5Niw3ICszOTYsOCBAQCBzdGF0aWMgaW50IG1seDVf Y21kX3NldF9mdGUoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldiwNCiAJaW5fZmxvd19jb250ZXh0 ID0gTUxYNV9BRERSX09GKHNldF9mdGVfaW4sIGluLCBmbG93X2NvbnRleHQpOw0KIAlNTFg1X1NF VChmbG93X2NvbnRleHQsIGluX2Zsb3dfY29udGV4dCwgZ3JvdXBfaWQsIGdyb3VwX2lkKTsNCiAN Ci0JTUxYNV9TRVQoZmxvd19jb250ZXh0LCBpbl9mbG93X2NvbnRleHQsIGZsb3dfdGFnLCBmdGUt PmFjdGlvbi5mbG93X3RhZyk7DQorCU1MWDVfU0VUKGZsb3dfY29udGV4dCwgaW5fZmxvd19jb250 ZXh0LCBmbG93X3RhZywNCisJCSBmdGUtPmZsb3dfY29udGV4dC5mbG93X3RhZyk7DQogCU1MWDVf U0VUKGZsb3dfY29udGV4dCwgaW5fZmxvd19jb250ZXh0LCBleHRlbmRlZF9kZXN0aW5hdGlvbiwN CiAJCSBleHRlbmRlZF9kZXN0KTsNCiAJaWYgKGV4dGVuZGVkX2Rlc3QpIHsNCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYw0KaW5kZXggZmI1 YjYxNzI3ZWU3Li45ZjU1NDRhYzZiOGEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jDQpAQCAtNTg0LDcgKzU4NCw3IEBAIHN0YXRp YyBpbnQgaW5zZXJ0X2Z0ZShzdHJ1Y3QgbWx4NV9mbG93X2dyb3VwICpmZywgc3RydWN0IGZzX2Z0 ZSAqZnRlKQ0KIH0NCiANCiBzdGF0aWMgc3RydWN0IGZzX2Z0ZSAqYWxsb2NfZnRlKHN0cnVjdCBt bHg1X2Zsb3dfdGFibGUgKmZ0LA0KLQkJCQl1MzIgKm1hdGNoX3ZhbHVlLA0KKwkJCQlzdHJ1Y3Qg bWx4NV9mbG93X3NwZWMgKnNwZWMsDQogCQkJCXN0cnVjdCBtbHg1X2Zsb3dfYWN0ICpmbG93X2Fj dCkNCiB7DQogCXN0cnVjdCBtbHg1X2Zsb3dfc3RlZXJpbmcgKnN0ZWVyaW5nID0gZ2V0X3N0ZWVy aW5nKCZmdC0+bm9kZSk7DQpAQCAtNTk0LDkgKzU5NCwxMCBAQCBzdGF0aWMgc3RydWN0IGZzX2Z0 ZSAqYWxsb2NfZnRlKHN0cnVjdCBtbHg1X2Zsb3dfdGFibGUgKmZ0LA0KIAlpZiAoIWZ0ZSkNCiAJ CXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOw0KIA0KLQltZW1jcHkoZnRlLT52YWwsIG1hdGNoX3Zh bHVlLCBzaXplb2YoZnRlLT52YWwpKTsNCisJbWVtY3B5KGZ0ZS0+dmFsLCAmc3BlYy0+bWF0Y2hf dmFsdWUsIHNpemVvZihmdGUtPnZhbCkpOw0KIAlmdGUtPm5vZGUudHlwZSA9ICBGU19UWVBFX0ZM T1dfRU5UUlk7DQogCWZ0ZS0+YWN0aW9uID0gKmZsb3dfYWN0Ow0KKwlmdGUtPmZsb3dfY29udGV4 dCA9IHNwZWMtPmZsb3dfY29udGV4dDsNCiANCiAJdHJlZV9pbml0X25vZGUoJmZ0ZS0+bm9kZSwg TlVMTCwgZGVsX3N3X2Z0ZSk7DQogDQpAQCAtMTQyOCw3ICsxNDI5LDkgQEAgc3RhdGljIGJvb2wg Y2hlY2tfY29uZmxpY3RpbmdfYWN0aW9ucyh1MzIgYWN0aW9uMSwgdTMyIGFjdGlvbjIpDQogCXJl dHVybiBmYWxzZTsNCiB9DQogDQotc3RhdGljIGludCBjaGVja19jb25mbGljdGluZ19mdGVzKHN0 cnVjdCBmc19mdGUgKmZ0ZSwgY29uc3Qgc3RydWN0IG1seDVfZmxvd19hY3QgKmZsb3dfYWN0KQ0K K3N0YXRpYyBpbnQgY2hlY2tfY29uZmxpY3RpbmdfZnRlcyhzdHJ1Y3QgZnNfZnRlICpmdGUsDQor CQkJCSAgY29uc3Qgc3RydWN0IG1seDVfZmxvd19jb250ZXh0ICpmbG93X2NvbnRleHQsDQorCQkJ CSAgY29uc3Qgc3RydWN0IG1seDVfZmxvd19hY3QgKmZsb3dfYWN0KQ0KIHsNCiAJaWYgKGNoZWNr X2NvbmZsaWN0aW5nX2FjdGlvbnMoZmxvd19hY3QtPmFjdGlvbiwgZnRlLT5hY3Rpb24uYWN0aW9u KSkgew0KIAkJbWx4NV9jb3JlX3dhcm4oZ2V0X2RldigmZnRlLT5ub2RlKSwNCkBAIC0xNDM2LDEy ICsxNDM5LDEyIEBAIHN0YXRpYyBpbnQgY2hlY2tfY29uZmxpY3RpbmdfZnRlcyhzdHJ1Y3QgZnNf ZnRlICpmdGUsIGNvbnN0IHN0cnVjdCBtbHg1X2Zsb3dfYWN0DQogCQlyZXR1cm4gLUVFWElTVDsN CiAJfQ0KIA0KLQlpZiAoKGZsb3dfYWN0LT5mbGFncyAmIEZMT1dfQUNUX0hBU19UQUcpICYmDQot CSAgICBmdGUtPmFjdGlvbi5mbG93X3RhZyAhPSBmbG93X2FjdC0+Zmxvd190YWcpIHsNCisJaWYg KChmbG93X2NvbnRleHQtPmZsYWdzICYgRkxPV19DT05URVhUX0hBU19UQUcpICYmDQorCSAgICBm dGUtPmZsb3dfY29udGV4dC5mbG93X3RhZyAhPSBmbG93X2NvbnRleHQtPmZsb3dfdGFnKSB7DQog CQltbHg1X2NvcmVfd2FybihnZXRfZGV2KCZmdGUtPm5vZGUpLA0KIAkJCSAgICAgICAiRlRFIGZs b3cgdGFnICV1IGFscmVhZHkgZXhpc3RzIHdpdGggZGlmZmVyZW50IGZsb3cgdGFnICV1XG4iLA0K LQkJCSAgICAgICBmdGUtPmFjdGlvbi5mbG93X3RhZywNCi0JCQkgICAgICAgZmxvd19hY3QtPmZs b3dfdGFnKTsNCisJCQkgICAgICAgZnRlLT5mbG93X2NvbnRleHQuZmxvd190YWcsDQorCQkJICAg ICAgIGZsb3dfY29udGV4dC0+Zmxvd190YWcpOw0KIAkJcmV0dXJuIC1FRVhJU1Q7DQogCX0NCiAN CkBAIC0xNDQ5LDcgKzE0NTIsNyBAQCBzdGF0aWMgaW50IGNoZWNrX2NvbmZsaWN0aW5nX2Z0ZXMo c3RydWN0IGZzX2Z0ZSAqZnRlLCBjb25zdCBzdHJ1Y3QgbWx4NV9mbG93X2FjdA0KIH0NCiANCiBz dGF0aWMgc3RydWN0IG1seDVfZmxvd19oYW5kbGUgKmFkZF9ydWxlX2ZnKHN0cnVjdCBtbHg1X2Zs b3dfZ3JvdXAgKmZnLA0KLQkJCQkJICAgIHUzMiAqbWF0Y2hfdmFsdWUsDQorCQkJCQkgICAgc3Ry dWN0IG1seDVfZmxvd19zcGVjICpzcGVjLA0KIAkJCQkJICAgIHN0cnVjdCBtbHg1X2Zsb3dfYWN0 ICpmbG93X2FjdCwNCiAJCQkJCSAgICBzdHJ1Y3QgbWx4NV9mbG93X2Rlc3RpbmF0aW9uICpkZXN0 LA0KIAkJCQkJICAgIGludCBkZXN0X251bSwNCkBAIC0xNDYwLDcgKzE0NjMsNyBAQCBzdGF0aWMg c3RydWN0IG1seDVfZmxvd19oYW5kbGUgKmFkZF9ydWxlX2ZnKHN0cnVjdCBtbHg1X2Zsb3dfZ3Jv dXAgKmZnLA0KIAlpbnQgaTsNCiAJaW50IHJldDsNCiANCi0JcmV0ID0gY2hlY2tfY29uZmxpY3Rp bmdfZnRlcyhmdGUsIGZsb3dfYWN0KTsNCisJcmV0ID0gY2hlY2tfY29uZmxpY3RpbmdfZnRlcyhm dGUsICZzcGVjLT5mbG93X2NvbnRleHQsIGZsb3dfYWN0KTsNCiAJaWYgKHJldCkNCiAJCXJldHVy biBFUlJfUFRSKHJldCk7DQogDQpAQCAtMTYzNSw3ICsxNjM4LDcgQEAgdHJ5X2FkZF90b19leGlz dGluZ19mZyhzdHJ1Y3QgbWx4NV9mbG93X3RhYmxlICpmdCwNCiAJdTY0ICB2ZXJzaW9uOw0KIAlp bnQgZXJyOw0KIA0KLQlmdGUgPSBhbGxvY19mdGUoZnQsIHNwZWMtPm1hdGNoX3ZhbHVlLCBmbG93 X2FjdCk7DQorCWZ0ZSA9IGFsbG9jX2Z0ZShmdCwgc3BlYywgZmxvd19hY3QpOw0KIAlpZiAoSVNf RVJSKGZ0ZSkpDQogCQlyZXR1cm4gIEVSUl9QVFIoLUVOT01FTSk7DQogDQpAQCAtMTY1MSw4ICsx NjU0LDcgQEAgdHJ5X2FkZF90b19leGlzdGluZ19mZyhzdHJ1Y3QgbWx4NV9mbG93X3RhYmxlICpm dCwNCiAJCWZ0ZV90bXAgPSBsb29rdXBfZnRlX2xvY2tlZChnLCBzcGVjLT5tYXRjaF92YWx1ZSwg dGFrZV93cml0ZSk7DQogCQlpZiAoIWZ0ZV90bXApDQogCQkJY29udGludWU7DQotCQlydWxlID0g YWRkX3J1bGVfZmcoZywgc3BlYy0+bWF0Y2hfdmFsdWUsDQotCQkJCSAgIGZsb3dfYWN0LCBkZXN0 LCBkZXN0X251bSwgZnRlX3RtcCk7DQorCQlydWxlID0gYWRkX3J1bGVfZmcoZywgc3BlYywgZmxv d19hY3QsIGRlc3QsIGRlc3RfbnVtLCBmdGVfdG1wKTsNCiAJCXVwX3dyaXRlX3JlZl9ub2RlKCZm dGVfdG1wLT5ub2RlLCBmYWxzZSk7DQogCQl0cmVlX3B1dF9ub2RlKCZmdGVfdG1wLT5ub2RlLCBm YWxzZSk7DQogCQlrbWVtX2NhY2hlX2ZyZWUoc3RlZXJpbmctPmZ0ZXNfY2FjaGUsIGZ0ZSk7DQpA QCAtMTY5OSw4ICsxNzAxLDcgQEAgdHJ5X2FkZF90b19leGlzdGluZ19mZyhzdHJ1Y3QgbWx4NV9m bG93X3RhYmxlICpmdCwNCiANCiAJCW5lc3RlZF9kb3duX3dyaXRlX3JlZl9ub2RlKCZmdGUtPm5v ZGUsIEZTX0xPQ0tfQ0hJTEQpOw0KIAkJdXBfd3JpdGVfcmVmX25vZGUoJmctPm5vZGUsIGZhbHNl KTsNCi0JCXJ1bGUgPSBhZGRfcnVsZV9mZyhnLCBzcGVjLT5tYXRjaF92YWx1ZSwNCi0JCQkJICAg Zmxvd19hY3QsIGRlc3QsIGRlc3RfbnVtLCBmdGUpOw0KKwkJcnVsZSA9IGFkZF9ydWxlX2ZnKGcs IHNwZWMsIGZsb3dfYWN0LCBkZXN0LCBkZXN0X251bSwgZnRlKTsNCiAJCXVwX3dyaXRlX3JlZl9u b2RlKCZmdGUtPm5vZGUsIGZhbHNlKTsNCiAJCXRyZWVfcHV0X25vZGUoJmZ0ZS0+bm9kZSwgZmFs c2UpOw0KIAkJcmV0dXJuIHJ1bGU7DQpAQCAtMTc4Niw3ICsxNzg3LDcgQEAgX21seDVfYWRkX2Zs b3dfcnVsZXMoc3RydWN0IG1seDVfZmxvd190YWJsZSAqZnQsDQogCWlmIChlcnIpDQogCQlnb3Rv IGVycl9yZWxlYXNlX2ZnOw0KIA0KLQlmdGUgPSBhbGxvY19mdGUoZnQsIHNwZWMtPm1hdGNoX3Zh bHVlLCBmbG93X2FjdCk7DQorCWZ0ZSA9IGFsbG9jX2Z0ZShmdCwgc3BlYywgZmxvd19hY3QpOw0K IAlpZiAoSVNfRVJSKGZ0ZSkpIHsNCiAJCWVyciA9IFBUUl9FUlIoZnRlKTsNCiAJCWdvdG8gZXJy X3JlbGVhc2VfZmc7DQpAQCAtMTgwMCw4ICsxODAxLDcgQEAgX21seDVfYWRkX2Zsb3dfcnVsZXMo c3RydWN0IG1seDVfZmxvd190YWJsZSAqZnQsDQogDQogCW5lc3RlZF9kb3duX3dyaXRlX3JlZl9u b2RlKCZmdGUtPm5vZGUsIEZTX0xPQ0tfQ0hJTEQpOw0KIAl1cF93cml0ZV9yZWZfbm9kZSgmZy0+ bm9kZSwgZmFsc2UpOw0KLQlydWxlID0gYWRkX3J1bGVfZmcoZywgc3BlYy0+bWF0Y2hfdmFsdWUs IGZsb3dfYWN0LCBkZXN0LA0KLQkJCSAgIGRlc3RfbnVtLCBmdGUpOw0KKwlydWxlID0gYWRkX3J1 bGVfZmcoZywgc3BlYywgZmxvd19hY3QsIGRlc3QsIGRlc3RfbnVtLCBmdGUpOw0KIAl1cF93cml0 ZV9yZWZfbm9kZSgmZnRlLT5ub2RlLCBmYWxzZSk7DQogCXRyZWVfcHV0X25vZGUoJmZ0ZS0+bm9k ZSwgZmFsc2UpOw0KIAl0cmVlX3B1dF9ub2RlKCZnLT5ub2RlLCBmYWxzZSk7DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuaCBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmgNCmluZGV4IGEw OGMzZDA5YTUwZi4uYzQ4YzM4MmY5MjZmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuaA0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuaA0KQEAgLTE3MCw2ICsxNzAsNyBAQCBzdHJ1 Y3QgZnNfZnRlIHsNCiAJdTMyCQkJCXZhbFtNTFg1X1NUX1NaX0RXX01BVENIX1BBUkFNXTsNCiAJ dTMyCQkJCWRlc3RzX3NpemU7DQogCXUzMgkJCQlpbmRleDsNCisJc3RydWN0IG1seDVfZmxvd19j b250ZXh0CWZsb3dfY29udGV4dDsNCiAJc3RydWN0IG1seDVfZmxvd19hY3QJCWFjdGlvbjsNCiAJ ZW51bSBmc19mdGVfc3RhdHVzCQlzdGF0dXM7DQogCXN0cnVjdCBtbHg1X2ZjCQkJKmNvdW50ZXI7 DQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbHg1L2ZzLmggYi9pbmNsdWRlL2xpbnV4L21s eDUvZnMuaA0KaW5kZXggMmRkYWE5N2YyMTc5Li45YmY0OWNlMjE4ZmEgMTAwNjQ0DQotLS0gYS9p bmNsdWRlL2xpbnV4L21seDUvZnMuaA0KKysrIGIvaW5jbHVkZS9saW51eC9tbHg1L2ZzLmgNCkBA IC04OCwxMCArODgsMjAgQEAgc3RydWN0IG1seDVfZmxvd19ncm91cDsNCiBzdHJ1Y3QgbWx4NV9m bG93X25hbWVzcGFjZTsNCiBzdHJ1Y3QgbWx4NV9mbG93X2hhbmRsZTsNCiANCitlbnVtIHsNCisJ RkxPV19DT05URVhUX0hBU19UQUcgPSBCSVQoMCksDQorfTsNCisNCitzdHJ1Y3QgbWx4NV9mbG93 X2NvbnRleHQgew0KKwl1MzIgZmxhZ3M7DQorCXUzMiBmbG93X3RhZzsNCit9Ow0KKw0KIHN0cnVj dCBtbHg1X2Zsb3dfc3BlYyB7DQogCXU4ICAgbWF0Y2hfY3JpdGVyaWFfZW5hYmxlOw0KIAl1MzIg IG1hdGNoX2NyaXRlcmlhW01MWDVfU1RfU1pfRFcoZnRlX21hdGNoX3BhcmFtKV07DQogCXUzMiAg bWF0Y2hfdmFsdWVbTUxYNV9TVF9TWl9EVyhmdGVfbWF0Y2hfcGFyYW0pXTsNCisJc3RydWN0IG1s eDVfZmxvd19jb250ZXh0IGZsb3dfY29udGV4dDsNCiB9Ow0KIA0KIGVudW0gew0KQEAgLTE3Mywx MyArMTgzLDExIEBAIHN0cnVjdCBtbHg1X2ZzX3ZsYW4gew0KICNkZWZpbmUgTUxYNV9GU19WTEFO X0RFUFRICTINCiANCiBlbnVtIHsNCi0JRkxPV19BQ1RfSEFTX1RBRyAgID0gQklUKDApLA0KLQlG TE9XX0FDVF9OT19BUFBFTkQgPSBCSVQoMSksDQorCUZMT1dfQUNUX05PX0FQUEVORCA9IEJJVCgw KSwNCiB9Ow0KIA0KIHN0cnVjdCBtbHg1X2Zsb3dfYWN0IHsNCiAJdTMyIGFjdGlvbjsNCi0JdTMy IGZsb3dfdGFnOw0KIAl1MzIgcmVmb3JtYXRfaWQ7DQogCXUzMiBtb2RpZnlfaWQ7DQogCXVpbnRw dHJfdCBlc3BfaWQ7DQpAQCAtMTkwLDcgKzE5OCw2IEBAIHN0cnVjdCBtbHg1X2Zsb3dfYWN0IHsN CiANCiAjZGVmaW5lIE1MWDVfREVDTEFSRV9GTE9XX0FDVChuYW1lKSBcDQogCXN0cnVjdCBtbHg1 X2Zsb3dfYWN0IG5hbWUgPSB7IC5hY3Rpb24gPSBNTFg1X0ZMT1dfQ09OVEVYVF9BQ1RJT05fRldE X0RFU1QsXA0KLQkJCQkgICAgICAuZmxvd190YWcgPSBNTFg1X0ZTX0RFRkFVTFRfRkxPV19UQUcs IFwNCiAJCQkJICAgICAgLnJlZm9ybWF0X2lkID0gMCwgXA0KIAkJCQkgICAgICAubW9kaWZ5X2lk ID0gMCwgXA0KIAkJCQkgICAgICAuZmxhZ3MgPSAgMCwgfQ0KLS0gDQoyLjIxLjANCg0K