From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mail.toke.dk (Postfix) with ESMTPS id CFDF599E2F0 for ; Thu, 8 Sep 2022 17:04:48 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=C5Uy5ikJ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1662649487; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mBJ6ROdPX0g4m7N1nAlcmBG0Oq4I/T9yWEpREjh3gHQ=; b=C5Uy5ikJO7+RtnIcdXLyT9zKqwt5keOo2BEEFTAYGHJ+ZJlogXma1FUBZcid2rxZkSIfZ7 8tMyoTeoTsfX6uZNjY6j3mzD37roAOh6PQzod8dGUbhJMJcA8U2MgEFeCcR0NTKAAtAJXf rwucC1rw++mwvBHAbcxyX33yJzh1PSc= Received: from mail-lf1-f70.google.com (mail-lf1-f70.google.com [209.85.167.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-375-Ove4R3KKPbuKGXMY99_0HA-1; Thu, 08 Sep 2022 11:04:45 -0400 X-MC-Unique: Ove4R3KKPbuKGXMY99_0HA-1 Received: by mail-lf1-f70.google.com with SMTP id a24-20020ac25e78000000b00497ad54b081so868485lfr.2 for ; Thu, 08 Sep 2022 08:04:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date; bh=mBJ6ROdPX0g4m7N1nAlcmBG0Oq4I/T9yWEpREjh3gHQ=; b=bTetKLoS2hCXxTDp/kfnr8S7FxkwhyOtVXvY+IShRerooMyuxfYAlZQLmGyp1eBwLC PaUuV4SRr1ksxcnzTJAFZuvidICJJFWCtv4UHr1oo72rrHT2/MgrIbRAgjBWx7tpOqDY cDA8kRmiEeXwpQAnG0/acHwpPKkeRSnBYGYDwEGwKDTDaXQGdr/xc3VHORN7vvpB1i2f +syEH7NR8ufzpIxQoQp/Jccq+DQw18sBsDSy0OwAvYTCKsbWOBrRK9x2SvyKI2JSGCHh fmCP4TeTYTxhfZ72CJ3vVzHhPLiUXldwzjZPWDzm6qOhT3qMf8ZIQezVm4iguK6JaXU0 8Q5Q== X-Gm-Message-State: ACgBeo02zrwUvoRLK834nFbktNNU3ZTOVV9A/6do4E/nui1EoGfxgUHm vRF3OAEdm8v0p/CCtus5JPuc8bqInDNhAVb22mfCKjZ4LM+fS7cGm03TTBxa1oEfPyeIZ5JyRnH JRRHDnClOZI6wuF6hgOCm X-Received: by 2002:a05:651c:1146:b0:261:d36a:7ff8 with SMTP id h6-20020a05651c114600b00261d36a7ff8mr2780214ljo.363.1662649483947; Thu, 08 Sep 2022 08:04:43 -0700 (PDT) X-Google-Smtp-Source: AA6agR7CK20FTdB+XkXWCfE1133Hsl1hhN7e9RFclguwY6lDjHxFzUyQMCb/Elui4yOx7Tl0SSbljg== X-Received: by 2002:a05:651c:1146:b0:261:d36a:7ff8 with SMTP id h6-20020a05651c114600b00261d36a7ff8mr2780180ljo.363.1662649483588; Thu, 08 Sep 2022 08:04:43 -0700 (PDT) Received: from [192.168.41.81] (83-90-141-187-cable.dk.customer.tdc.net. [83.90.141.187]) by smtp.gmail.com with ESMTPSA id 139-20020a2e0591000000b0026ace57a971sm1004055ljf.18.2022.09.08.08.04.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 08 Sep 2022 08:04:42 -0700 (PDT) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: <9aab9ef1-446d-57ab-5789-afffe27801f4@redhat.com> Date: Thu, 8 Sep 2022 17:04:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 To: Maryam Tahhan , Magnus Karlsson References: <166256538687.1434226.15760041133601409770.stgit@firesoul> <166256558657.1434226.7390735974413846384.stgit@firesoul> In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: VYK7AWD64CVZKDS2AQQWGKRVQB2YJYW6 X-Message-ID-Hash: VYK7AWD64CVZKDS2AQQWGKRVQB2YJYW6 X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, bpf@vger.kernel.org, netdev@vger.kernel.org, xdp-hints@xdp-project.net, larysa.zaremba@intel.com, memxor@gmail.com, Lorenzo Bianconi , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , dave@dtucker.co.uk, Magnus Karlsson , bjorn@kernel.org X-Mailman-Version: 3.3.5 Precedence: list Subject: [xdp-hints] Re: [PATCH RFCv2 bpf-next 17/18] xsk: AF_XDP xdp-hints support in desc options List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQpPbiAwOC8wOS8yMDIyIDEyLjEwLCBNYXJ5YW0gVGFoaGFuIHdyb3RlOg0KPiBPbiAwOC8wOS8y MDIyIDA5OjA2LCBNYWdudXMgS2FybHNzb24gd3JvdGU6DQo+PiBPbiBXZWQsIFNlcCA3LCAyMDIy IGF0IDU6NDggUE0gSmVzcGVyIERhbmdhYXJkIEJyb3VlciANCj4+IDxicm91ZXJAcmVkaGF0LmNv bT4gd3JvdGU6DQo+Pj4NCj4+PiBGcm9tOiBNYXJ5YW0gVGFoaGFuIDxtdGFoaGFuQHJlZGhhdC5j b20+DQo+Pj4NCj4+PiBTaW1wbHkgc2V0IEFGX1hEUCBkZXNjcmlwdG9yIG9wdGlvbnMgdG8gWERQ IGZsYWdzLg0KPj4+DQo+Pj4gSmVzcGVyOiBXaWxsIHRoaXMgcmVhbGx5IGJlIGFjY2VwdGFibGUg YnkgQUZfWERQIG1haW50YWluZXJzPw0KPj4NCj4+IE1hcnlhbSwgeW91IGd1ZXNzZWQgY29ycmVj dGx5IHRoYXQgZGVkaWNhdGluZyBhbGwgdGhlc2Ugb3B0aW9ucyBiaXRzDQo+PiBmb3IgYSBzaW5n bGUgZmVhdHVyZSB3aWxsIG5vdCBiZSBvayA6LSkuIEUuZy4sIEkgd2FudCBvbmUgYml0IGZvciB0 aGUNCj4+IEFGX1hEUCBtdWx0aS1idWZmZXIgc3VwcG9ydCBhbmQgd2hvIGtub3dzIHdoYXQgb3Ro ZXIgdXNlcyB0aGVyZSBtaWdodA0KPj4gYmUgZm9yIHRoaXMgb3B0aW9ucyBmaWVsZCBpbiB0aGUg ZnV0dXJlLiBMZXQgdXMgdHJ5IHRvIHNvbHZlIHRoaXMgaW4NCj4+IHNvbWUgb3RoZXIgd2F5LiBI ZXJlIGFyZSBzb21lIHN1Z2dlc3Rpb25zLCBhbGwgd2l0aCB0aGVpciBwcm9zIGFuZA0KPj4gY29u cy4NCj4+DQo+IA0KPiBUQkggaXQgd2FzIEplc3BlcnMgcXVlc3Rpb24gOikNCg0KVHJ1ZS4gSSdt IGdlbmVyYWxseSBxdWVzdGlvbmluZyB0aGlzIHBhdGNoLi4uDQouLi4gYW5kIGluZGlyZWN0bHkg YXNraW5nIE1hZ251cy4gIChJZiB5b3Ugbm90aWNlZCwgSSBkaWRuJ3QgYWRkIG15IFNvQikNCg0K Pj4gKiBQdXQgdGhpcyBmZWF0dXJlIGZsYWcgYXQgYSBrbm93biBwbGFjZSBpbiB0aGUgbWV0YWRh dGEgYXJlYSwgZm9yDQo+PiBleGFtcGxlIGp1c3QgYmVmb3JlIHRoZSBCVEYgSUQuIE5vIG5lZWQg dG8gZmlsbCB0aGlzIGluIGlmIHlvdSBhcmUgbm90DQo+PiByZWRpcmVjdGluZyB0byBBRl9YRFAs IGJ1dCBhdCBhIHJlZGlyZWN0IHRvIEFGX1hEUCwgdGhlIFhEUCBmbGFncyBhcmUNCj4+IGNvcGll ZCBpbnRvIHRoaXMgdTMyIGluIHRoZSBtZXRhZGF0YSBhcmVhIHNvIHRoYXQgdXNlci1zcGFjZSBj YW4NCj4+IGNvbnN1bWUgaXQuIFdpbGwgY29zdCA0IGJ5dGVzIG9mIHRoZSBtZXRhZGF0YSBhcmVh IHRob3VnaC4NCj4gDQo+IElmIEplc3BlciBhZ3JlZXMgSSB0aGluayB0aGlzIGFwcHJvYWNoIHdv dWxkIG1ha2Ugc2Vuc2UuIFRyeWluZyB0bw0KPiB0cmFuc2xhdGUgZW5jb2RpbmdzIGludG8gc29t ZSBvdGhlciBmbGFncyBmb3IgQUZfWERQIEkgdGhpbmsgd2lsbCBsZWFkDQo+IHRvIGEgZ3Jvd2lu ZyBzZXQgb2YgdHJhbnNsYXRpb25zIGFzIG1vcmUgb3B0aW9ucyBjb21lIGFsb25nLg0KPiBUaGUg b3RoZXIgdGhpbmcgdG8gYmUgYXdhcmUgb2YgaXMganVzdCBtYWtpbmcgc3VyZSB0byBjbGVhci96 ZXJvIHRoZSANCj4gbWV0YWRhdGEgc3BhY2UgaW4gdGhlIGJ1ZmZlcnMgYXQgc29tZSBwb2ludCAo aWRlYWxseSB3aGVuIHRoZSBkZXNjcmlwdG9yIA0KPiBpcyByZXR1cm5lZCBmcm9tIHRoZSBhcHBs aWNhdGlvbikgc28gd2hlbiB0aGUgYnVmZmVycyBhcmUgdXNlZCBhZ2Fpbg0KPiB0aGV5IGFyZSBh bHJlYWR5IGluIGEgInJlc2V0IiBzdGF0ZS4NCg0KSSBkb24ndCBsaWtlIHRoaXMgb3B0aW9uIDst KQ0KDQpGaXJzdCBvZiBhbGwgYmVjYXVzZSB0aGlzIGNhbiBnaXZlIGZhbHNlIHBvc2l0aXZlcywg aWYgIlhEUCBmbGFncyBjb3BpZWQNCmludG8gbWV0YWRhdGEgYXJlYSIgaXMgdXNlZCBmb3Igc29t ZXRoaW5nIGVsc2UuICBUaGlzIGNhbiBlYXNpbHkgaGFwcGVuDQphcyBYRFAgQlBGLXByb2dzIGFy ZSBmcmVlIHRvIG1ldGFkYXRhIGZvciBzb21ldGhpbmcgZWxzZS4NCg0KU2Vjb25kIHJlYXNvbiwg YmVjYXVzZSBpdCB3b3VsZCByZXF1aXJlIEFGX1hEUCB0byBhbHdheXMgcmVhZCB0aGUNCm1ldGFk YXRhIGNhY2hlLWxpbmUgKGFuZCB3cml0ZSwgaWYgY2xlYXJpbmcgb24gInJldHVybiIpLiAgTm90 IGEgZ29vZA0Kb3B0aW9vbiwgZ2l2ZW4gaG93IHBlcmZvcm1hbmNlIHNlbnNpdGl2ZSBBRl9YRFAg d29ya2xvYWRzIChhdCBsZWFzdA0KYmVuY2htYXJrcykuDQoNCj4+DQo+PiAqIEluc3RlYWQgZW5j b2RlIHRoaXMgaW5mb3JtYXRpb24gaW50byBlYWNoIG1ldGFkYXRhIGVudHJ5IGluIHRoZQ0KPj4g bWV0YWRhdGEgYXJlYSwgaW4gc29tZSB3YXkgc28gdGhhdCBhIGZsYWdzIGZpZWxkIGlzIG5vdCBu ZWVkZWQgKC0xDQo+PiBzaWduaWZpZXMgbm90IHZhbGlkLCBvciB3aGF0ZXZlciBoYXBwZW5zIHRv IG1ha2Ugc2Vuc2UpLiBUaGlzIGhhcyB0aGUNCj4+IGRyYXdiYWNrIHRoYXQgdGhlIHVzZXIgbWln aHQgaGF2ZSB0byBsb29rIGF0IGEgbGFyZ2UgbnVtYmVyIG9mIGVudHJpZXMNCj4+IGp1c3QgdG8g ZmluZCBvdXQgdGhlcmUgaXMgbm90aGluZyB2YWxpZCB0byByZWFkLiBUbyBhbGxldmlhdGUgdGhp cywgaXQNCj4+IGNvdWxkIGJlIGNvbWJpbmVkIHdpdGggdGhlIG5leHQgc3VnZ2VzdGlvbi4NCj4+ DQo+PiAqIERlZGljYXRlIG9uZSBiaXQgaW4gdGhlIG9wdGlvbnMgZmllbGQgdG8gaW5kaWNhdGUg dGhhdCB0aGVyZSBpcyBhdA0KPj4gbGVhc3Qgb25lIHZhbGlkIG1ldGFkYXRhIGVudHJ5IGluIHRo ZSBtZXRhZGF0YSBhcmVhLiBUaGlzIGNvdWxkIGJlDQo+PiBjb21iaW5lZCB3aXRoIHRoZSB0d28g YXBwcm9hY2hlcyBhYm92ZS4gSG93ZXZlciwgZGVwZW5kaW5nIG9uIHdoYXQNCj4+IG1ldGFkYXRh IHlvdSBoYXZlIGVuYWJsZWQsIHRoaXMgYml0IG1pZ2h0IGJlIHBvaW50bGVzcy4gSWYgc29tZQ0K Pj4gbWV0YWRhdGEgaXMgYWx3YXlzIHZhbGlkLCB0aGVuIGl0IHNlcnZlcyBubyBwdXJwb3NlLiBC dXQgaXQgbWlnaHQgaWYNCj4+IGFsbCBlbmFibGVkIG1ldGFkYXRhIGlzIHJhcmVseSB2YWxpZCwg ZS5nLiwgaWYgeW91IGdldCBhbiBSeCB0aW1lc3RhbXANCj4+IG9uIG9uZSBwYWNrZXQgb3V0IG9m IG9uZSB0aG91c2FuZC4NCj4+DQoNCkkgbGlrZSB0aGlzIG9wdGlvbiBiZXR0ZXIhIEV4Y2VwdCB0 aGF0IEkgaGF2ZSBob3BlZCB0byBnZXQgMiBiaXRzIDstKQ0KDQpUaGUgcGVyZm9ybWFuY2UgYWR2 YW50YWdlIGlzIHRoYXQgdGhlIEFGX1hEUCBkZXNjcmlwdG9yIGJpdHMgd2lsbCANCmFscmVhZHkg YmUgY2FjaGUtaG90LCBhbmQgaWYgaXQgaW5kaWNhdGVzIG5vLW1ldGFkYXRhLWhpbnRzIHRoZSBB Rl9YRFAgDQphcHBsaWNhdGlvbiBjYW4gYXZvaWQgcmVhZGluZyB0aGUgbWV0YWRhdGEgY2FjaGUt bGluZSA6LSkuDQoNCldoZW4gbWV0YWRhdGEgaXMgdmFsaWQgYW5kIGNvbnRhaW5zIHZhbGlkIFhE UC1oaW50cyBjYW4gY2hhbmdlIGJldHdlZW4gDQp0d28gcGFja2V0cy4gIEUuZy4gWERQLWhpbnRz IGNhbiBiZSBlbmFibGVkL2Rpc2FibGVkIHZpYSBldGh0b29sLCBhbmQgDQp0aGUgY29udGVudCBj YW4gYmUgZW5hYmxlZC9kaXNhYmxlZCBieSBvdGhlciBldGh0b29sIGNvbW1hbmRzLCBhbmQgZXZl biANCnNldHNvY2tvcHQgY2FsbHMgKGUuZyB0aW1lc3RhbXBpbmcpLiAgQW4gWERQIHByb2cgY2Fu IGFsc28gY2hvb3NlIHRvIHVzZSANCnRoZSBhcmVhIGZvciBzb21ldGhpbmcgZWxzZSBmb3IgYSBz dWJzZXQgb2YgdGhlIHBhY2tldHMuDQoNCkl0IGlzIGEgZGVzaWduIGNob2ljZSBpbiB0aGlzIHBh dGNoc2V0IHRvIGF2b2lkIGxvY2tpbmcgZG93biB0aGUgTklDIA0KZHJpdmVyIHRvIGEgZml4ZWQg WERQLWhpbnRzIGxheW91dCwgYW5kIGF2b2lkIGxvY2tpbmcvZGlzYWJsaW5nIG90aGVyIA0KZXRo dG9vbCBjb25maWcgc2V0dGluZyB0byBrZWVwaW5nIFhEUC1oaW50cyBsYXlvdXQgc3RhYmxlLiAg T3JpZ2luYWxseSBJIA0Kd2FudGVkIHRoaXMsIGJ1dCBJIHJlYWxpemVkIHRoYXQgaXQgd291bGQg YmUgaW1wb3NzaWJsZSAoYW5kIGFubm95aW5nIA0KZm9yIHVzZXJzKSBpZiB3ZSBoYWQgdG8gY29u dHJvbCBldmVyeSBjb25maWcgaW50ZXJmYWNlIHRvIE5JQyBoYXJkd2FyZSANCm9mZmxvYWQgaGlu dHMsIHRvIGtlZXAgWERQLWhpbnRzICJhbHdheXMtdmFsaWQiLg0KDQotLUplc3Blcg0KDQo+Pj4g U2lnbmVkLW9mZi1ieTogTWFyeWFtIFRhaGhhbiA8bXRhaGhhbkByZWRoYXQuY29tPg0KPj4+IC0t LQ0KPj4+IMKgIGluY2x1ZGUvdWFwaS9saW51eC9pZl94ZHAuaCB8wqDCoMKgIDIgKy0NCj4+PiDC oCBuZXQveGRwL3hzay5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgIDIgKy0N Cj4+PiDCoCBuZXQveGRwL3hza19xdWV1ZS5owqDCoMKgwqDCoMKgwqDCoCB8wqDCoMKgIDMgKyst DQo+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p DQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2lmX3hkcC5oIGIvaW5j bHVkZS91YXBpL2xpbnV4L2lmX3hkcC5oDQo+Pj4gaW5kZXggYTc4YTgwOTZmNGNlLi45MzM1YjU2 NDc0ZTcgMTAwNjQ0DQo+Pj4gLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L2lmX3hkcC5oDQo+Pj4g KysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lmX3hkcC5oDQo+Pj4gQEAgLTEwMyw3ICsxMDMsNyBA QCBzdHJ1Y3QgeGRwX29wdGlvbnMgew0KPj4+IMKgIHN0cnVjdCB4ZHBfZGVzYyB7DQo+Pj4gwqDC oMKgwqDCoMKgwqDCoCBfX3U2NCBhZGRyOw0KPj4+IMKgwqDCoMKgwqDCoMKgwqAgX191MzIgbGVu Ow0KPj4+IC3CoMKgwqDCoMKgwqAgX191MzIgb3B0aW9uczsNCj4+PiArwqDCoMKgwqDCoMKgIF9f dTMyIG9wdGlvbnM7IC8qIHNldCB0byB0aGUgdmFsdWVzIG9mIHhkcF9oaW50c19mbGFncyovDQo+ Pj4gwqAgfTsNCj4+Pg0KPj4+IMKgIC8qIFVNRU0gZGVzY3JpcHRvciBpcyBfX3U2NCAqLw0KPj4+ IGRpZmYgLS1naXQgYS9uZXQveGRwL3hzay5jIGIvbmV0L3hkcC94c2suYw0KPj4+IGluZGV4IDVi NGNlNmJhMWJjNy4uMzIwOTVkNzhmMDZiIDEwMDY0NA0KPj4+IC0tLSBhL25ldC94ZHAveHNrLmMN Cj4+PiArKysgYi9uZXQveGRwL3hzay5jDQo+Pj4gQEAgLTE0MSw3ICsxNDEsNyBAQCBzdGF0aWMg aW50IF9feHNrX3Jjdl96YyhzdHJ1Y3QgeGRwX3NvY2sgKnhzLCANCj4+PiBzdHJ1Y3QgeGRwX2J1 ZmYgKnhkcCwgdTMyIGxlbikNCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGludCBlcnI7DQo+Pj4NCj4+ PiDCoMKgwqDCoMKgwqDCoMKgIGFkZHIgPSB4cF9nZXRfaGFuZGxlKHhza2IpOw0KPj4+IC3CoMKg wqDCoMKgwqAgZXJyID0geHNrcV9wcm9kX3Jlc2VydmVfZGVzYyh4cy0+cngsIGFkZHIsIGxlbik7 DQo+Pj4gK8KgwqDCoMKgwqDCoCBlcnIgPSB4c2txX3Byb2RfcmVzZXJ2ZV9kZXNjKHhzLT5yeCwg YWRkciwgbGVuLCB4ZHAtPmZsYWdzKTsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGlmIChlcnIpIHsN Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4cy0+cnhfcXVldWVfZnVsbCsr Ow0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7DQo+Pj4g ZGlmZiAtLWdpdCBhL25ldC94ZHAveHNrX3F1ZXVlLmggYi9uZXQveGRwL3hza19xdWV1ZS5oDQo+ Pj4gaW5kZXggZmIyMGJmNzIwN2NmLi43YTY2ZjA4MmY5N2UgMTAwNjQ0DQo+Pj4gLS0tIGEvbmV0 L3hkcC94c2tfcXVldWUuaA0KPj4+ICsrKyBiL25ldC94ZHAveHNrX3F1ZXVlLmgNCj4+PiBAQCAt MzY4LDcgKzM2OCw3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIA0KPj4+IHhza3FfcHJvZF9yZXNlcnZl X2FkZHJfYmF0Y2goc3RydWN0IHhza19xdWV1ZSAqcSwgc3RydWN0IHhkcF9kDQo+Pj4gwqAgfQ0K Pj4+DQo+Pj4gwqAgc3RhdGljIGlubGluZSBpbnQgeHNrcV9wcm9kX3Jlc2VydmVfZGVzYyhzdHJ1 Y3QgeHNrX3F1ZXVlICpxLA0KPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0IGFkZHIsIHUz MiBsZW4pDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1NjQgYWRkciwgdTMyIGxlbiwgdTMy IGZsYWdzKQ0KPj4+IMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB4ZHBfcnh0eF9y aW5nICpyaW5nID0gKHN0cnVjdCB4ZHBfcnh0eF9yaW5nICopcS0+cmluZzsNCj4+PiDCoMKgwqDC oMKgwqDCoMKgIHUzMiBpZHg7DQo+Pj4gQEAgLTM4MCw2ICszODAsNyBAQCBzdGF0aWMgaW5saW5l IGludCB4c2txX3Byb2RfcmVzZXJ2ZV9kZXNjKHN0cnVjdCANCj4+PiB4c2tfcXVldWUgKnEsDQo+ Pj4gwqDCoMKgwqDCoMKgwqDCoCBpZHggPSBxLT5jYWNoZWRfcHJvZCsrICYgcS0+cmluZ19tYXNr Ow0KPj4+IMKgwqDCoMKgwqDCoMKgwqAgcmluZy0+ZGVzY1tpZHhdLmFkZHIgPSBhZGRyOw0KPj4+ IMKgwqDCoMKgwqDCoMKgwqAgcmluZy0+ZGVzY1tpZHhdLmxlbiA9IGxlbjsNCj4+PiArwqDCoMKg wqDCoMKgIHJpbmctPmRlc2NbaWR4XS5vcHRpb25zID0gZmxhZ3M7DQo+Pj4NCj4+PiDCoMKgwqDC oMKgwqDCoMKgIHJldHVybiAwOw0KPj4+IMKgIH0NCj4+Pg0KPj4+DQo+Pg0KPiANCg0K