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=unavailable 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 E558DC31E5E for ; Tue, 18 Jun 2019 12:00:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BEEEC2070B for ; Tue, 18 Jun 2019 12:00:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="pc9Zh9Nx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729002AbfFRMA7 (ORCPT ); Tue, 18 Jun 2019 08:00:59 -0400 Received: from mail-eopbgr140058.outbound.protection.outlook.com ([40.107.14.58]:20207 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726023AbfFRMA6 (ORCPT ); Tue, 18 Jun 2019 08:00:58 -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=+DoxYSlDk3Wy+iSZxGHxZs1Min8JXT+g7Wh4BhxPmZg=; b=pc9Zh9NxUoqu2QKOrkafuiwwsTyDyI4rV6EiNuuZLkezCSwfFCL/Da/VQVOHK6QwF7g/lca0k9YwKONC/ExUMBr6K/4NU4SIYxFSWnSuowE4lZjfqys1wHUR6edKRcL+IlgXxShNOh0U6vuHxnN6Lqy1fGWHVjtTztj5L86QuDc= Received: from AM6PR05MB5879.eurprd05.prod.outlook.com (20.179.0.76) by AM6PR05MB5333.eurprd05.prod.outlook.com (20.177.197.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.13; Tue, 18 Jun 2019 12:00:51 +0000 Received: from AM6PR05MB5879.eurprd05.prod.outlook.com ([fe80::9527:fe9d:2a02:41d5]) by AM6PR05MB5879.eurprd05.prod.outlook.com ([fe80::9527:fe9d:2a02:41d5%5]) with mapi id 15.20.1987.014; Tue, 18 Jun 2019 12:00:51 +0000 From: Maxim Mikityanskiy To: Alexei Starovoitov , Daniel Borkmann , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= , Magnus Karlsson CC: "bpf@vger.kernel.org" , "netdev@vger.kernel.org" , "David S. Miller" , Saeed Mahameed , Jonathan Lemon , Tariq Toukan , Martin KaFai Lau , Song Liu , Yonghong Song , Jakub Kicinski , Maciej Fijalkowski , Maxim Mikityanskiy Subject: [PATCH bpf-next v5 06/16] xsk: Return the whole xdp_desc from xsk_umem_consume_tx Thread-Topic: [PATCH bpf-next v5 06/16] xsk: Return the whole xdp_desc from xsk_umem_consume_tx Thread-Index: AQHVJc15kK2oXmZ5ikC0k37vMYwuUA== Date: Tue, 18 Jun 2019 12:00:51 +0000 Message-ID: <20190618120024.16788-7-maximmi@mellanox.com> References: <20190618120024.16788-1-maximmi@mellanox.com> In-Reply-To: <20190618120024.16788-1-maximmi@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0064.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:60::28) To AM6PR05MB5879.eurprd05.prod.outlook.com (2603:10a6:20b:a2::12) authentication-results: spf=none (sender IP is ) smtp.mailfrom=maximmi@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.19.1 x-originating-ip: [141.226.120.58] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: da490862-0e6d-4945-a407-08d6f3e49b99 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:AM6PR05MB5333; x-ms-traffictypediagnostic: AM6PR05MB5333: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-forefront-prvs: 007271867D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(366004)(346002)(39860400002)(136003)(396003)(199004)(189003)(305945005)(66556008)(476003)(11346002)(66476007)(386003)(68736007)(478600001)(2616005)(66066001)(66946007)(73956011)(86362001)(6436002)(66446008)(25786009)(26005)(81156014)(6486002)(64756008)(446003)(6506007)(4326008)(316002)(81166006)(8676002)(102836004)(8936002)(54906003)(486006)(186003)(110136005)(6512007)(7416002)(53936002)(71200400001)(50226002)(76176011)(71190400001)(14444005)(52116002)(36756003)(256004)(14454004)(107886003)(66574012)(6116002)(1076003)(3846002)(5660300002)(7736002)(99286004)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB5333;H:AM6PR05MB5879.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: ZQvvWWsAr7STsn2EYecNCFvPFF+mEZC757LaXLU+JHjdHmOc5UCPJ7VxOYJ3N1i5kV+uSIoRHngRckhQt62sFN9jeWIZJt3XKeNmrwIJlj9ZqjZeIDKr2s0kl83qsiothPSSRLT1TOjQg1fKcI/sB0GDe7eMnT2l2ybVT62BgpMqOWTtcqnSqmdE1udS16ucMl7c+lNh4aKnCy9vgVLV92rLWGgG+hVMBgdB/m3f+XcbotlwIOPLoOJhnAZmk2OjuMMn4MB3qo8reLByCiFhYOuDS/ENHlWoufjrMU1GWhHrYJXALqiudo7b0odK1EnHZEhEKY4GTt2YgZTRwey6QT9M+fNB4NCfgM/PK1vXbjnCoVRytmqEXnMXS6TshfHzfHiqF6gUFC0cpcXCibv74S4RFLCP5CW7JJYHLKflJkg= Content-Type: text/plain; charset="utf-8" Content-ID: <6047E011BB15D7408E515CD9D26CEFDD@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: da490862-0e6d-4945-a407-08d6f3e49b99 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2019 12:00:51.2411 (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: maximmi@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB5333 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org U29tZSBkcml2ZXJzIHdhbnQgdG8gYWNjZXNzIHRoZSBkYXRhIHRyYW5zbWl0dGVkIGluIG9yZGVy IHRvIGltcGxlbWVudA0KYWNjZWxlcmF0aW9uIGZlYXR1cmVzIG9mIHRoZSBOSUNzLiBJdCBpcyBh bHNvIHVzZWZ1bCBpbiBBRl9YRFAgVFggZmxvdy4NCg0KQ2hhbmdlIHRoZSB4c2tfdW1lbV9jb25z dW1lX3R4IEFQSSB0byByZXR1cm4gdGhlIHdob2xlIHhkcF9kZXNjLCB0aGF0DQpjb250YWlucyB0 aGUgZGF0YSBwb2ludGVyLCBsZW5ndGggYW5kIERNQSBhZGRyZXNzLCBpbnN0ZWFkIG9mIG9ubHkg dGhlDQpsYXR0ZXIgdHdvLiBBZGFwdCB0aGUgaW1wbGVtZW50YXRpb24gb2YgaTQwZSBhbmQgaXhn YmUgdG8gdGhpcyBjaGFuZ2UuDQoNClNpZ25lZC1vZmYtYnk6IE1heGltIE1pa2l0eWFuc2tpeSA8 bWF4aW1taUBtZWxsYW5veC5jb20+DQpSZXZpZXdlZC1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRA bWVsbGFub3guY29tPg0KQWNrZWQtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3gu Y29tPg0KQ2M6IEJqw7ZybiBUw7ZwZWwgPGJqb3JuLnRvcGVsQGludGVsLmNvbT4NCkNjOiBNYWdu dXMgS2FybHNzb24gPG1hZ251cy5rYXJsc3NvbkBpbnRlbC5jb20+DQpBY2tlZC1ieTogQmrDtnJu IFTDtnBlbCA8Ympvcm4udG9wZWxAaW50ZWwuY29tPg0KLS0tDQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvaW50ZWwvaTQwZS9pNDBlX3hzay5jICAgfCAxMiArKysrKysrLS0tLS0NCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9pbnRlbC9peGdiZS9peGdiZV94c2suYyB8IDE1ICsrKysrKysrKy0tLS0tLQ0K IGluY2x1ZGUvbmV0L3hkcF9zb2NrLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0t DQogbmV0L3hkcC94c2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKyst LS0tLS0tDQogNCBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMo LSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV94 c2suYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ludGVsL2k0MGUvaTQwZV94c2suYw0KaW5kZXgg MWIxNzQ4NjU0M2FjLi5lYWU2ZmFmYWQxYjggMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhl cm5ldC9pbnRlbC9pNDBlL2k0MGVfeHNrLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2lu dGVsL2k0MGUvaTQwZV94c2suYw0KQEAgLTY0MCw4ICs2NDAsOCBAQCBzdGF0aWMgYm9vbCBpNDBl X3htaXRfemMoc3RydWN0IGk0MGVfcmluZyAqeGRwX3JpbmcsIHVuc2lnbmVkIGludCBidWRnZXQp DQogCXN0cnVjdCBpNDBlX3R4X2Rlc2MgKnR4X2Rlc2MgPSBOVUxMOw0KIAlzdHJ1Y3QgaTQwZV90 eF9idWZmZXIgKnR4X2JpOw0KIAlib29sIHdvcmtfZG9uZSA9IHRydWU7DQorCXN0cnVjdCB4ZHBf ZGVzYyBkZXNjOw0KIAlkbWFfYWRkcl90IGRtYTsNCi0JdTMyIGxlbjsNCiANCiAJd2hpbGUgKGJ1 ZGdldC0tID4gMCkgew0KIAkJaWYgKCF1bmxpa2VseShJNDBFX0RFU0NfVU5VU0VEKHhkcF9yaW5n KSkpIHsNCkBAIC02NTAsMjEgKzY1MCwyMyBAQCBzdGF0aWMgYm9vbCBpNDBlX3htaXRfemMoc3Ry dWN0IGk0MGVfcmluZyAqeGRwX3JpbmcsIHVuc2lnbmVkIGludCBidWRnZXQpDQogCQkJYnJlYWs7 DQogCQl9DQogDQotCQlpZiAoIXhza191bWVtX2NvbnN1bWVfdHgoeGRwX3JpbmctPnhza191bWVt LCAmZG1hLCAmbGVuKSkNCisJCWlmICgheHNrX3VtZW1fY29uc3VtZV90eCh4ZHBfcmluZy0+eHNr X3VtZW0sICZkZXNjKSkNCiAJCQlicmVhazsNCiANCi0JCWRtYV9zeW5jX3NpbmdsZV9mb3JfZGV2 aWNlKHhkcF9yaW5nLT5kZXYsIGRtYSwgbGVuLA0KKwkJZG1hID0geGRwX3VtZW1fZ2V0X2RtYSh4 ZHBfcmluZy0+eHNrX3VtZW0sIGRlc2MuYWRkcik7DQorDQorCQlkbWFfc3luY19zaW5nbGVfZm9y X2RldmljZSh4ZHBfcmluZy0+ZGV2LCBkbWEsIGRlc2MubGVuLA0KIAkJCQkJICAgRE1BX0JJRElS RUNUSU9OQUwpOw0KIA0KIAkJdHhfYmkgPSAmeGRwX3JpbmctPnR4X2JpW3hkcF9yaW5nLT5uZXh0 X3RvX3VzZV07DQotCQl0eF9iaS0+Ynl0ZWNvdW50ID0gbGVuOw0KKwkJdHhfYmktPmJ5dGVjb3Vu dCA9IGRlc2MubGVuOw0KIA0KIAkJdHhfZGVzYyA9IEk0MEVfVFhfREVTQyh4ZHBfcmluZywgeGRw X3JpbmctPm5leHRfdG9fdXNlKTsNCiAJCXR4X2Rlc2MtPmJ1ZmZlcl9hZGRyID0gY3B1X3RvX2xl NjQoZG1hKTsNCiAJCXR4X2Rlc2MtPmNtZF90eXBlX29mZnNldF9ic3ogPQ0KIAkJCWJ1aWxkX2N0 b2IoSTQwRV9UWF9ERVNDX0NNRF9JQ1JDDQogCQkJCSAgIHwgSTQwRV9UWF9ERVNDX0NNRF9FT1As DQotCQkJCSAgIDAsIGxlbiwgMCk7DQorCQkJCSAgIDAsIGRlc2MubGVuLCAwKTsNCiANCiAJCXhk cF9yaW5nLT5uZXh0X3RvX3VzZSsrOw0KIAkJaWYgKHhkcF9yaW5nLT5uZXh0X3RvX3VzZSA9PSB4 ZHBfcmluZy0+Y291bnQpDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwv aXhnYmUvaXhnYmVfeHNrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9peGdiZS9peGdi ZV94c2suYw0KaW5kZXggYmZlOTVjZTBiZDdmLi4wMjk3YTcwYTRlMmQgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9peGdiZS9peGdiZV94c2suYw0KKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvaW50ZWwvaXhnYmUvaXhnYmVfeHNrLmMNCkBAIC02MjEsOCArNjIxLDkg QEAgc3RhdGljIGJvb2wgaXhnYmVfeG1pdF96YyhzdHJ1Y3QgaXhnYmVfcmluZyAqeGRwX3Jpbmcs IHVuc2lnbmVkIGludCBidWRnZXQpDQogCXVuaW9uIGl4Z2JlX2Fkdl90eF9kZXNjICp0eF9kZXNj ID0gTlVMTDsNCiAJc3RydWN0IGl4Z2JlX3R4X2J1ZmZlciAqdHhfYmk7DQogCWJvb2wgd29ya19k b25lID0gdHJ1ZTsNCi0JdTMyIGxlbiwgY21kX3R5cGU7DQorCXN0cnVjdCB4ZHBfZGVzYyBkZXNj Ow0KIAlkbWFfYWRkcl90IGRtYTsNCisJdTMyIGNtZF90eXBlOw0KIA0KIAl3aGlsZSAoYnVkZ2V0 LS0gPiAwKSB7DQogCQlpZiAodW5saWtlbHkoIWl4Z2JlX2Rlc2NfdW51c2VkKHhkcF9yaW5nKSkg fHwNCkBAIC02MzEsMTQgKzYzMiwxNiBAQCBzdGF0aWMgYm9vbCBpeGdiZV94bWl0X3pjKHN0cnVj dCBpeGdiZV9yaW5nICp4ZHBfcmluZywgdW5zaWduZWQgaW50IGJ1ZGdldCkNCiAJCQlicmVhazsN CiAJCX0NCiANCi0JCWlmICgheHNrX3VtZW1fY29uc3VtZV90eCh4ZHBfcmluZy0+eHNrX3VtZW0s ICZkbWEsICZsZW4pKQ0KKwkJaWYgKCF4c2tfdW1lbV9jb25zdW1lX3R4KHhkcF9yaW5nLT54c2tf dW1lbSwgJmRlc2MpKQ0KIAkJCWJyZWFrOw0KIA0KLQkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZp Y2UoeGRwX3JpbmctPmRldiwgZG1hLCBsZW4sDQorCQlkbWEgPSB4ZHBfdW1lbV9nZXRfZG1hKHhk cF9yaW5nLT54c2tfdW1lbSwgZGVzYy5hZGRyKTsNCisNCisJCWRtYV9zeW5jX3NpbmdsZV9mb3Jf ZGV2aWNlKHhkcF9yaW5nLT5kZXYsIGRtYSwgZGVzYy5sZW4sDQogCQkJCQkgICBETUFfQklESVJF Q1RJT05BTCk7DQogDQogCQl0eF9iaSA9ICZ4ZHBfcmluZy0+dHhfYnVmZmVyX2luZm9beGRwX3Jp bmctPm5leHRfdG9fdXNlXTsNCi0JCXR4X2JpLT5ieXRlY291bnQgPSBsZW47DQorCQl0eF9iaS0+ Ynl0ZWNvdW50ID0gZGVzYy5sZW47DQogCQl0eF9iaS0+eGRwZiA9IE5VTEw7DQogDQogCQl0eF9k ZXNjID0gSVhHQkVfVFhfREVTQyh4ZHBfcmluZywgeGRwX3JpbmctPm5leHRfdG9fdXNlKTsNCkBA IC02NDgsMTAgKzY1MSwxMCBAQCBzdGF0aWMgYm9vbCBpeGdiZV94bWl0X3pjKHN0cnVjdCBpeGdi ZV9yaW5nICp4ZHBfcmluZywgdW5zaWduZWQgaW50IGJ1ZGdldCkNCiAJCWNtZF90eXBlID0gSVhH QkVfQURWVFhEX0RUWVBfREFUQSB8DQogCQkJICAgSVhHQkVfQURWVFhEX0RDTURfREVYVCB8DQog CQkJICAgSVhHQkVfQURWVFhEX0RDTURfSUZDUzsNCi0JCWNtZF90eXBlIHw9IGxlbiB8IElYR0JF X1RYRF9DTUQ7DQorCQljbWRfdHlwZSB8PSBkZXNjLmxlbiB8IElYR0JFX1RYRF9DTUQ7DQogCQl0 eF9kZXNjLT5yZWFkLmNtZF90eXBlX2xlbiA9IGNwdV90b19sZTMyKGNtZF90eXBlKTsNCiAJCXR4 X2Rlc2MtPnJlYWQub2xpbmZvX3N0YXR1cyA9DQotCQkJY3B1X3RvX2xlMzIobGVuIDw8IElYR0JF X0FEVlRYRF9QQVlMRU5fU0hJRlQpOw0KKwkJCWNwdV90b19sZTMyKGRlc2MubGVuIDw8IElYR0JF X0FEVlRYRF9QQVlMRU5fU0hJRlQpOw0KIA0KIAkJeGRwX3JpbmctPm5leHRfdG9fdXNlKys7DQog CQlpZiAoeGRwX3JpbmctPm5leHRfdG9fdXNlID09IHhkcF9yaW5nLT5jb3VudCkNCmRpZmYgLS1n aXQgYS9pbmNsdWRlL25ldC94ZHBfc29jay5oIGIvaW5jbHVkZS9uZXQveGRwX3NvY2suaA0KaW5k ZXggYjZmNWViYWU0M2ExLi4wNTdiMTU5ZmY4YjkgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL25ldC94 ZHBfc29jay5oDQorKysgYi9pbmNsdWRlL25ldC94ZHBfc29jay5oDQpAQCAtODEsNyArODEsNyBA QCBib29sIHhza191bWVtX2hhc19hZGRycyhzdHJ1Y3QgeGRwX3VtZW0gKnVtZW0sIHUzMiBjbnQp Ow0KIHU2NCAqeHNrX3VtZW1fcGVla19hZGRyKHN0cnVjdCB4ZHBfdW1lbSAqdW1lbSwgdTY0ICph ZGRyKTsNCiB2b2lkIHhza191bWVtX2Rpc2NhcmRfYWRkcihzdHJ1Y3QgeGRwX3VtZW0gKnVtZW0p Ow0KIHZvaWQgeHNrX3VtZW1fY29tcGxldGVfdHgoc3RydWN0IHhkcF91bWVtICp1bWVtLCB1MzIg bmJfZW50cmllcyk7DQotYm9vbCB4c2tfdW1lbV9jb25zdW1lX3R4KHN0cnVjdCB4ZHBfdW1lbSAq dW1lbSwgZG1hX2FkZHJfdCAqZG1hLCB1MzIgKmxlbik7DQorYm9vbCB4c2tfdW1lbV9jb25zdW1l X3R4KHN0cnVjdCB4ZHBfdW1lbSAqdW1lbSwgc3RydWN0IHhkcF9kZXNjICpkZXNjKTsNCiB2b2lk IHhza191bWVtX2NvbnN1bWVfdHhfZG9uZShzdHJ1Y3QgeGRwX3VtZW0gKnVtZW0pOw0KIHN0cnVj dCB4ZHBfdW1lbV9mcV9yZXVzZSAqeHNrX3JldXNlcV9wcmVwYXJlKHUzMiBuZW50cmllcyk7DQog c3RydWN0IHhkcF91bWVtX2ZxX3JldXNlICp4c2tfcmV1c2VxX3N3YXAoc3RydWN0IHhkcF91bWVt ICp1bWVtLA0KQEAgLTE3NSw4ICsxNzUsOCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeHNrX3VtZW1f Y29tcGxldGVfdHgoc3RydWN0IHhkcF91bWVtICp1bWVtLCB1MzIgbmJfZW50cmllcykNCiB7DQog fQ0KIA0KLXN0YXRpYyBpbmxpbmUgYm9vbCB4c2tfdW1lbV9jb25zdW1lX3R4KHN0cnVjdCB4ZHBf dW1lbSAqdW1lbSwgZG1hX2FkZHJfdCAqZG1hLA0KLQkJCQkgICAgICAgdTMyICpsZW4pDQorc3Rh dGljIGlubGluZSBib29sIHhza191bWVtX2NvbnN1bWVfdHgoc3RydWN0IHhkcF91bWVtICp1bWVt LA0KKwkJCQkgICAgICAgc3RydWN0IHhkcF9kZXNjICpkZXNjKQ0KIHsNCiAJcmV0dXJuIGZhbHNl Ow0KIH0NCmRpZmYgLS1naXQgYS9uZXQveGRwL3hzay5jIGIvbmV0L3hkcC94c2suYw0KaW5kZXgg MzVjYTUzMWFjNzRlLi43NDQxN2E4NTFlZDUgMTAwNjQ0DQotLS0gYS9uZXQveGRwL3hzay5jDQor KysgYi9uZXQveGRwL3hzay5jDQpAQCAtMTcyLDIyICsxNzIsMTggQEAgdm9pZCB4c2tfdW1lbV9j b25zdW1lX3R4X2RvbmUoc3RydWN0IHhkcF91bWVtICp1bWVtKQ0KIH0NCiBFWFBPUlRfU1lNQk9M KHhza191bWVtX2NvbnN1bWVfdHhfZG9uZSk7DQogDQotYm9vbCB4c2tfdW1lbV9jb25zdW1lX3R4 KHN0cnVjdCB4ZHBfdW1lbSAqdW1lbSwgZG1hX2FkZHJfdCAqZG1hLCB1MzIgKmxlbikNCitib29s IHhza191bWVtX2NvbnN1bWVfdHgoc3RydWN0IHhkcF91bWVtICp1bWVtLCBzdHJ1Y3QgeGRwX2Rl c2MgKmRlc2MpDQogew0KLQlzdHJ1Y3QgeGRwX2Rlc2MgZGVzYzsNCiAJc3RydWN0IHhkcF9zb2Nr ICp4czsNCiANCiAJcmN1X3JlYWRfbG9jaygpOw0KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSh4 cywgJnVtZW0tPnhza19saXN0LCBsaXN0KSB7DQotCQlpZiAoIXhza3FfcGVla19kZXNjKHhzLT50 eCwgJmRlc2MpKQ0KKwkJaWYgKCF4c2txX3BlZWtfZGVzYyh4cy0+dHgsIGRlc2MpKQ0KIAkJCWNv bnRpbnVlOw0KIA0KLQkJaWYgKHhza3FfcHJvZHVjZV9hZGRyX2xhenkodW1lbS0+Y3EsIGRlc2Mu YWRkcikpDQorCQlpZiAoeHNrcV9wcm9kdWNlX2FkZHJfbGF6eSh1bWVtLT5jcSwgZGVzYy0+YWRk cikpDQogCQkJZ290byBvdXQ7DQogDQotCQkqZG1hID0geGRwX3VtZW1fZ2V0X2RtYSh1bWVtLCBk ZXNjLmFkZHIpOw0KLQkJKmxlbiA9IGRlc2MubGVuOw0KLQ0KIAkJeHNrcV9kaXNjYXJkX2Rlc2Mo eHMtPnR4KTsNCiAJCXJjdV9yZWFkX3VubG9jaygpOw0KIAkJcmV0dXJuIHRydWU7DQotLSANCjIu MTkuMQ0KDQo=