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=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 EEED6C3A59D for ; Thu, 22 Aug 2019 09:16:24 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A89CD21848 for ; Thu, 22 Aug 2019 09:16:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="EFA3XPES" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A89CD21848 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0jCI-0000an-T7; Thu, 22 Aug 2019 09:15:58 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0jCH-0000ai-I2 for xen-devel@lists.xenproject.org; Thu, 22 Aug 2019 09:15:57 +0000 X-Inumbo-ID: 72777ee8-c4bd-11e9-b95f-bc764e2007e4 Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 72777ee8-c4bd-11e9-b95f-bc764e2007e4; Thu, 22 Aug 2019 09:15:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1566465357; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=KRYSNZNzSiTvq1pri7u4uv1BBXs+w/AQ2FBx4Slke0E=; b=EFA3XPESEy8FLPNHShllPEYmCnQBztTo/SoWZc1SmW8o/0n4OzeqykQm kJNgKwgCF05OUZTITBuNEGq7zS2HETPPK0LUUwIpxwVZrGXhlpGSxK8jP ypEZ7ckM8+TZmDSSbhflof5S9DgzTWLwYQQvh6d7ZCU3oQvAjxd7sqjVi I=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=Paul.Durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of Paul.Durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 6n8uj+uM6k6/uJzsUnW0hwfqmOXmqSMl8q3kaTUlKkk2nwu6PVThZ3X3dpGDYGV3DN/t3Y5FNJ 0ToMGLVx4yW7pYeXR8vUM0G7ElMNjkOYTW3sl5jWERiuyY1wHAP3iyKeeSSx25YIvxYxScAPgx Wz4iRtVb2I8vEE+f34TD545rTqO5rf75mSpd7WaxF4aSUTYQLLdX47jpOQ23PcVRTtsMJbgTQi gHQ7SCntTtiJUC4PGhQ4Eq0eICYMNGkWhDkyDw+7MElB5KRLp35txK/V19AaTDPWzB6D6JXnct /PA= X-SBRS: 2.7 X-MesageID: 4587337 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,416,1559534400"; d="scan'208";a="4587337" From: Paul Durrant To: Roger Pau Monne , "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH 7/7] ioreq: provide support for long-running operations... Thread-Index: AQHVWDEVqX2PnQiKcEWyODkgruWJcKcG4uVw Date: Thu, 22 Aug 2019 09:15:50 +0000 Message-ID: References: <20190821145903.45934-1-roger.pau@citrix.com> <20190821145903.45934-8-roger.pau@citrix.com> In-Reply-To: <20190821145903.45934-8-roger.pau@citrix.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted MIME-Version: 1.0 Subject: Re: [Xen-devel] [PATCH 7/7] ioreq: provide support for long-running operations... X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , Andrew Cooper , "Tim \(Xen.org\)" , George Dunlap , Julien Grall , Jan Beulich , Ian Jackson , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Archived-At: List-Archive: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSb2dlciBQYXUgTW9ubmUgPHJv Z2VyLnBhdUBjaXRyaXguY29tPg0KPiBTZW50OiAyMSBBdWd1c3QgMjAxOSAxNTo1OQ0KPiBUbzog eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBSb2dlciBQYXUgTW9ubmUgPHJv Z2VyLnBhdUBjaXRyaXguY29tPjsgUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNv bT47IEphbiBCZXVsaWNoDQo+IDxqYmV1bGljaEBzdXNlLmNvbT47IEFuZHJldyBDb29wZXIgPEFu ZHJldy5Db29wZXIzQGNpdHJpeC5jb20+OyBXZWkgTGl1IDx3bEB4ZW4ub3JnPjsgR2VvcmdlIER1 bmxhcA0KPiA8R2VvcmdlLkR1bmxhcEBjaXRyaXguY29tPjsgSWFuIEphY2tzb24gPElhbi5KYWNr c29uQGNpdHJpeC5jb20+OyBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPjsNCj4g S29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPjsgU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgVGltDQo+IChYZW4ub3JnKSA8dGlt QHhlbi5vcmc+DQo+IFN1YmplY3Q6IFtQQVRDSCA3LzddIGlvcmVxOiBwcm92aWRlIHN1cHBvcnQg Zm9yIGxvbmctcnVubmluZyBvcGVyYXRpb25zLi4uDQo+IA0KPiAuLi5hbmQgc3dpdGNoIHZQQ0kg dG8gdXNlIHRoaXMgaW5mcmFzdHJ1Y3R1cmUgZm9yIGxvbmcgcnVubmluZw0KPiBwaHlzbWFwIG1v ZGlmaWNhdGlvbiBvcGVyYXRpb25zLg0KPiANCj4gVGhpcyBhbGxvd3MgdG8gZ2V0IHJpZCBvZiB0 aGUgdlBDSSBzcGVjaWZpYyBtb2RpZmljYXRpb25zIGRvbmUgdG8NCj4gaGFuZGxlX2h2bV9pb19j b21wbGV0aW9uIGFuZCBhbGxvd3MgZ2VuZXJhbGl6aW5nIHRoZSBzdXBwb3J0IGZvcg0KPiBsb25n LXJ1bm5pbmcgb3BlcmF0aW9ucyB0byBvdGhlciBpbnRlcm5hbCBpb3JlcSBzZXJ2ZXJzLiBTdWNo IHN1cHBvcnQNCj4gaXMgaW1wbGVtZW50ZWQgYXMgYSBzcGVjaWZpYyBoYW5kbGVyIHRoYXQgY2Fu IGJlIHJlZ2lzdGVycyBieSBpbnRlcm5hbA0KPiBpb3JlcSBzZXJ2ZXJzIGFuZCB0aGF0IHdpbGwg YmUgY2FsbGVkIHRvIGNoZWNrIGZvciBwZW5kaW5nIHdvcmsuDQo+IFJldHVybmluZyB0cnVlIGZy b20gdGhpcyBoYW5kbGVyIHdpbGwgcHJldmVudCB0aGUgdmNwdSBmcm9tIHJ1bm5pbmcNCj4gdW50 aWwgdGhlIGhhbmRsZXIgcmV0dXJucyBmYWxzZS4NCg0KUmF0aGVyIHRoYW4gaGF2aW5nIGFub3Ro ZXIgY2FsbGJhY2sgY2FuIHRoZSBoYW5kbGVyIG5vdCBiZSByZS1jYWxsZWQgd2l0aCBzYW1lIGlv cmVxPyBJdCBjb3VsZCByZXR1cm4gZGlmZmVyZW50IHZhbHVlcyBkZXBlbmRpbmcgb24gd2hldGhl ciB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gKHJlcXVpcmluZyBhbm90aGVyIGNhbGwpIG9yIHdo ZXRoZXIgaXQgaXMgZG9uZSBhbmQgdGhlIHZjcHUgY2FuIGJlIHJlc3VtZWQuIFdvdWxkIHRoYXQg d29yaz8NCg0KICBQYXVsDQoNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kg PHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiAtLS0NCj4gIHhlbi9hcmNoL3g4Ni9odm0vaW9yZXEu YyAgICAgICAgIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gIHhlbi9k cml2ZXJzL3ZwY2kvdnBjaS5jICAgICAgICAgIHwgIDMgKysNCj4gIHhlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL2RvbWFpbi5oIHwgIDEgKw0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEu aCAgfCAgMiArKw0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYyBiL3hl bi9hcmNoL3g4Ni9odm0vaW9yZXEuYw0KPiBpbmRleCBiMjU4MmJkM2EwLi44ZTE2MGEwYTE0IDEw MDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMNCj4gKysrIGIveGVuL2FyY2gv eDg2L2h2bS9pb3JlcS5jDQo+IEBAIC0xODYsMTggKzE4NiwyOSBAQCBib29sIGhhbmRsZV9odm1f aW9fY29tcGxldGlvbihzdHJ1Y3QgdmNwdSAqdikNCj4gICAgICBlbnVtIGh2bV9pb19jb21wbGV0 aW9uIGlvX2NvbXBsZXRpb247DQo+ICAgICAgdW5zaWduZWQgaW50IGlkOw0KPiANCj4gLSAgICBp ZiAoIGhhc192cGNpKGQpICYmIHZwY2lfcHJvY2Vzc19wZW5kaW5nKHYpICkNCj4gLSAgICB7DQo+ IC0gICAgICAgIHJhaXNlX3NvZnRpcnEoU0NIRURVTEVfU09GVElSUSk7DQo+IC0gICAgICAgIHJl dHVybiBmYWxzZTsNCj4gLSAgICB9DQo+IC0NCj4gICAgICBGT1JfRUFDSF9JT1JFUV9TRVJWRVIo ZCwgaWQsIHMpDQo+ICAgICAgew0KPiAgICAgICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUgKnN2 Ow0KPiANCj4gICAgICAgICAgaWYgKCBzLT5pbnRlcm5hbCApDQo+ICsgICAgICAgIHsNCj4gKyAg ICAgICAgICAgIGlmICggcy0+cGVuZGluZyAmJiBzLT5wZW5kaW5nKHYpICkNCj4gKyAgICAgICAg ICAgIHsNCj4gKyAgICAgICAgICAgICAgICAvKg0KPiArICAgICAgICAgICAgICAgICAqIE5lZWQg dG8gcmFpc2UgYSBzY2hlZHVsZXIgaXJxIGluIG9yZGVyIHRvIHByZXZlbnQgdGhlIGd1ZXN0DQo+ ICsgICAgICAgICAgICAgICAgICogdmNwdSBmcm9tIHJlc3VtaW5nIGV4ZWN1dGlvbi4NCj4gKyAg ICAgICAgICAgICAgICAgKg0KPiArICAgICAgICAgICAgICAgICAqIE5vdGUgdGhpcyBpcyBub3Qg cmVxdWlyZWQgZm9yIGV4dGVybmFsIGlvcmVxIG9wZXJhdGlvbnMNCj4gKyAgICAgICAgICAgICAg ICAgKiBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgdmNwdSBpcyBtYXJrZWQgYXMgYmxvY2tlZCwg YnV0IHRoaXMNCj4gKyAgICAgICAgICAgICAgICAgKiBjYW5ub3QgYmUgZG9uZSBmb3IgbG9uZy1y dW5uaW5nIGludGVybmFsIG9wZXJhdGlvbnMsIHNpbmNlDQo+ICsgICAgICAgICAgICAgICAgICog aXQgd291bGQgcHJldmVudCB0aGUgdmNwdSBmcm9tIGJlaW5nIHNjaGVkdWxlZCBhbmQgdGh1cyB0 aGUNCj4gKyAgICAgICAgICAgICAgICAgKiBsb25nIHJ1bm5pbmcgb3BlcmF0aW9uIGZyb20gZmlu aXNoaW5nLg0KPiArICAgICAgICAgICAgICAgICAqLw0KPiArICAgICAgICAgICAgICAgIHJhaXNl X3NvZnRpcnEoU0NIRURVTEVfU09GVElSUSk7DQo+ICsgICAgICAgICAgICAgICAgcmV0dXJuIGZh bHNlOw0KPiArICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgY29udGludWU7DQo+ICsgICAg ICAgIH0NCj4gDQo+ICAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBzdiwNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZzLT5pb3JlcV92Y3B1X2xpc3QsDQo+IEBAIC01MTgs NiArNTI5LDM4IEBAIGludCBodm1fYWRkX2lvcmVxX2hhbmRsZXIoc3RydWN0IGRvbWFpbiAqZCwg aW9zZXJ2aWRfdCBpZCwNCj4gICAgICByZXR1cm4gcmM7DQo+ICB9DQo+IA0KPiAraW50IGh2bV9h ZGRfaW9yZXFfcGVuZGluZ19oYW5kbGVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAoKnBlbmRpbmcpKHN0 cnVjdCB2Y3B1ICp2KSkNCj4gK3sNCj4gKyAgICBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqczsN Cj4gKyAgICBpbnQgcmMgPSAwOw0KPiArDQo+ICsgICAgc3Bpbl9sb2NrX3JlY3Vyc2l2ZSgmZC0+ YXJjaC5odm0uaW9yZXFfc2VydmVyLmxvY2spOw0KPiArICAgIHMgPSBnZXRfaW9yZXFfc2VydmVy KGQsIGlkKTsNCj4gKyAgICBpZiAoICFzICkNCj4gKyAgICB7DQo+ICsgICAgICAgIHJjID0gLUVO T0VOVDsNCj4gKyAgICAgICAgZ290byBvdXQ7DQo+ICsgICAgfQ0KPiArICAgIGlmICggIXMtPmlu dGVybmFsICkNCj4gKyAgICB7DQo+ICsgICAgICAgIHJjID0gLUVJTlZBTDsNCj4gKyAgICAgICAg Z290byBvdXQ7DQo+ICsgICAgfQ0KPiArICAgIGlmICggcy0+cGVuZGluZyAhPSBOVUxMICkNCj4g KyAgICB7DQo+ICsgICAgICAgIHJjID0gLUVCVVNZOw0KPiArICAgICAgICBnb3RvIG91dDsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBzLT5wZW5kaW5nID0gcGVuZGluZzsNCj4gKw0KPiArIG91dDoN Cj4gKyAgICBzcGluX3VubG9ja19yZWN1cnNpdmUoJmQtPmFyY2guaHZtLmlvcmVxX3NlcnZlci5s b2NrKTsNCj4gKw0KPiArICAgIHJldHVybiByYzsNCj4gK30NCj4gKw0KPiAgc3RhdGljIHZvaWQg aHZtX3VwZGF0ZV9pb3JlcV9ldnRjaG4oc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaHZtX2lvcmVxX3ZjcHUg KnN2KQ0KPiAgew0KPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgYi94ZW4v ZHJpdmVycy92cGNpL3ZwY2kuYw0KPiBpbmRleCA1MTBlM2VlNzcxLi41NGIwZjMxNjEyIDEwMDY0 NA0KPiAtLS0gYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYw0KPiArKysgYi94ZW4vZHJpdmVycy92 cGNpL3ZwY2kuYw0KPiBAQCAtNTA4LDYgKzUwOCw5IEBAIGludCB2cGNpX3JlZ2lzdGVyX2lvcmVx KHN0cnVjdCBkb21haW4gKmQpDQo+ICAgICAgICAgIHJldHVybiByYzsNCj4gDQo+ICAgICAgcmMg PSBodm1fYWRkX2lvcmVxX2hhbmRsZXIoZCwgaWQsIGlvcmVxX2hhbmRsZXIpOw0KPiArICAgIGlm ICggcmMgKQ0KPiArICAgICAgICByZXR1cm4gcmM7DQo+ICsgICAgcmMgPSBodm1fYWRkX2lvcmVx X3BlbmRpbmdfaGFuZGxlcihkLCBpZCwgdnBjaV9wcm9jZXNzX3BlbmRpbmcpOw0KPiAgICAgIGlm ICggcmMgKQ0KPiAgICAgICAgICByZXR1cm4gcmM7DQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9kb21h aW4uaA0KPiBpbmRleCBmMGJlMzAzNTE3Li44MGEzOGZmZTQ4IDEwMDY0NA0KPiAtLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS9kb21haW4uaA0KPiArKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9kb21haW4uaA0KPiBAQCAtNzMsNiArNzMsNyBAQCBzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZl ciB7DQo+ICAgICAgICAgIH07DQo+ICAgICAgICAgIHN0cnVjdCB7DQo+ICAgICAgICAgICAgICBp bnQgKCpoYW5kbGVyKShzdHJ1Y3QgdmNwdSAqdiwgaW9yZXFfdCAqKTsNCj4gKyAgICAgICAgICAg IGJvb2wgKCpwZW5kaW5nKShzdHJ1Y3QgdmNwdSAqdik7DQo+ICAgICAgICAgIH07DQo+ICAgICAg fTsNCj4gIH07DQo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaA0KPiBpbmRleCAxMGI5NTg2ODg1Li5j YzNlMjdkMDU5IDEwMDY0NA0KPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9pb3JlcS5o DQo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmgNCj4gQEAgLTU3LDYgKzU3 LDggQEAgdm9pZCBodm1faW9yZXFfaW5pdChzdHJ1Y3QgZG9tYWluICpkKTsNCj4gDQo+ICBpbnQg aHZtX2FkZF9pb3JlcV9oYW5kbGVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAoKmhhbmRsZXIpKHN0cnVjdCB2Y3B1ICp2 LCBpb3JlcV90ICopKTsNCj4gK2ludCBodm1fYWRkX2lvcmVxX3BlbmRpbmdfaGFuZGxlcihzdHJ1 Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgKCpwZW5kaW5nKShzdHJ1Y3QgdmNwdSAqdikpOw0KPiANCj4gIGludCBo dm1faW9yZXFfcmVnaXN0ZXJfbW1jZmcoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBhZGRyLA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3RhcnRfYnVzLCB1 bnNpZ25lZCBpbnQgZW5kX2J1cywNCj4gLS0NCj4gMi4yMi4wDQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv bWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=