From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by mail.toke.dk (Postfix) with ESMTPS id 401219DE186 for ; Sun, 15 Jan 2023 07:59:20 +0100 (CET) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=JJLLEQgR Received: by mail-ej1-x629.google.com with SMTP id ud5so61332326ejc.4 for ; Sat, 14 Jan 2023 22:59:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Pxptz55Cwqa7TpAzHO0z5FDEjV2lumpg9wAZM72elNg=; b=JJLLEQgRY8DYBbiWq2xF5D9kdSxHL0qfjS5P89tvbL5voWDJTqILYtQBfZ0c2TC38Q ewlZql/yKF2SCoUBhwX0MQBJFzPUIfWXrByIn+PfqJgAo4XW5gWr6PWJcDbXSftB6EvB 0AH24918SLfEnKtzAQd17nkexOYFfpfARbarIql48bB0zXOqKCASiEjQvT+u6j+lYnMv Ne3dKlMv63QtDIuV5Uk8jXO6qibeWbloLXqczDjZ/MyJwS1sQ336aSBzwkMWg42zfxYy qGLNPI47DK84vLZhGpz/qIvKntQOBMRphV2znK4wpmPU5GHqBlfcZ/C4l5DY0CpUpzW+ EBiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Pxptz55Cwqa7TpAzHO0z5FDEjV2lumpg9wAZM72elNg=; b=HDdianohEXSrrqm4wF9rchu6Tv7pcKYKd+zzl9JhPc6am8AKwi7SZOz1Hxp4NmSwDX lAepTVo/XT37CoQU3EJflr5jeH0BlBHHsx6zWeYK7sX44gHJIIZJsMvWEHK9vUQPzZ65 jyRm88VHPWzhYIfdRtI73AL/h57uocDTMoccGuStF5dW6AX43SMjAQ0+qCW3fVfV6rdg xgm7TcVEFEkGFbe5B2H2wmOOLW9gkysGNgkJPOGmwge8tkMi2uH7Fi6yiS5O0J8EiqZd 9NXpARqAuYT6y0OX22LwYVVv/MgabYeMdYNyAPNR2sCH1CECeB9fikNWpeq9vLmaIsKT m4jA== X-Gm-Message-State: AFqh2kpaEHzbWpe/0Czq0CktMg+7+bo9OzNtWomCTZA42g0w2SvX4H9m 4J5pONhIX4LoL5kSwP7L8nc= X-Google-Smtp-Source: AMrXdXs/4YNUrETD4uk5muY15beC2zfbcOD5E6EY0AZhx7iryPCNpstuSanYkngaPdSTXzRnPHFftw== X-Received: by 2002:a17:906:88b:b0:850:52f8:5ca9 with SMTP id n11-20020a170906088b00b0085052f85ca9mr21257815eje.28.1673765958735; Sat, 14 Jan 2023 22:59:18 -0800 (PST) Received: from [192.168.0.103] ([77.126.105.148]) by smtp.gmail.com with ESMTPSA id kx1-20020a170907774100b0084d368b1628sm9249006ejc.40.2023.01.14.22.59.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 14 Jan 2023 22:59:18 -0800 (PST) Message-ID: <493fd525-10b3-c136-8458-a1560ed2cdcb@gmail.com> Date: Sun, 15 Jan 2023 08:59:15 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US To: =?UTF-8?Q?Toke_H=c3=b8iland-J=c3=b8rgensen?= , Stanislav Fomichev References: <20230112003230.3779451-1-sdf@google.com> <20230112003230.3779451-16-sdf@google.com> <87k01rfojm.fsf@toke.dk> <87h6wvfmfa.fsf@toke.dk> <87358ef7e8.fsf@toke.dk> From: Tariq Toukan In-Reply-To: <87358ef7e8.fsf@toke.dk> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: YXWPMD56PLAK3EECYRNUZXOTHQ3R6WS4 X-Message-ID-Hash: YXWPMD56PLAK3EECYRNUZXOTHQ3R6WS4 X-MailFrom: ttoukan.linux@gmail.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: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, haoluo@google.com, jolsa@kernel.org, Saeed Mahameed , David Ahern , Jakub Kicinski , Willem de Bruijn , Jesper Dangaard Brouer , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, netdev@vger.kernel.org X-Mailman-Version: 3.3.7 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next v7 15/17] net/mlx5e: Introduce wrapper for xdp_buff List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQoNCk9uIDEzLzAxLzIwMjMgMjM6MzEsIFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiB3cm90ZToN Cj4gVGFyaXEgVG91a2FuIDx0dG91a2FuLmxpbnV4QGdtYWlsLmNvbT4gd3JpdGVzOg0KPiANCj4+ IE9uIDEyLzAxLzIwMjMgMjM6NTUsIFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbiB3cm90ZToNCj4+ PiBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gPHRva2VAcmVkaGF0LmNvbT4gd3JpdGVzOg0KPj4+ DQo+Pj4+IFN0YW5pc2xhdiBGb21pY2hldiA8c2RmQGdvb2dsZS5jb20+IHdyaXRlczoNCj4+Pj4N Cj4+Pj4+IE9uIFRodSwgSmFuIDEyLCAyMDIzIGF0IDEyOjA3IEFNIFRhcmlxIFRvdWthbiA8dHRv dWthbi5saW51eEBnbWFpbC5jb20+IHdyb3RlOg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+ Pj4+IE9uIDEyLzAxLzIwMjMgMjozMiwgU3RhbmlzbGF2IEZvbWljaGV2IHdyb3RlOg0KPj4+Pj4+ PiBGcm9tOiBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gPHRva2VAcmVkaGF0LmNvbT4NCj4+Pj4+ Pj4NCj4+Pj4+Pj4gUHJlcGFyYXRpb24gZm9yIGltcGxlbWVudGluZyBIVyBtZXRhZGF0YSBrZnVu Y3MuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBDYzogVGFyaXEgVG91 a2FuIDx0YXJpcXRAbnZpZGlhLmNvbT4NCj4+Pj4+Pj4gQ2M6IFNhZWVkIE1haGFtZWVkIDxzYWVl ZG1AbnZpZGlhLmNvbT4NCj4+Pj4+Pj4gQ2M6IEpvaG4gRmFzdGFiZW5kIDxqb2huLmZhc3RhYmVu ZEBnbWFpbC5jb20+DQo+Pj4+Pj4+IENjOiBEYXZpZCBBaGVybiA8ZHNhaGVybkBnbWFpbC5jb20+ DQo+Pj4+Pj4+IENjOiBNYXJ0aW4gS2FGYWkgTGF1IDxtYXJ0aW4ubGF1QGxpbnV4LmRldj4NCj4+ Pj4+Pj4gQ2M6IEpha3ViIEtpY2luc2tpIDxrdWJhQGtlcm5lbC5vcmc+DQo+Pj4+Pj4+IENjOiBX aWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdvb2dsZS5jb20+DQo+Pj4+Pj4+IENjOiBKZXNwZXIg RGFuZ2FhcmQgQnJvdWVyIDxicm91ZXJAcmVkaGF0LmNvbT4NCj4+Pj4+Pj4gQ2M6IEFuYXRvbHkg QnVyYWtvdiA8YW5hdG9seS5idXJha292QGludGVsLmNvbT4NCj4+Pj4+Pj4gQ2M6IEFsZXhhbmRl ciBMb2Jha2luIDxhbGV4YW5kci5sb2Jha2luQGludGVsLmNvbT4NCj4+Pj4+Pj4gQ2M6IE1hZ251 cyBLYXJsc3NvbiA8bWFnbnVzLmthcmxzc29uQGdtYWlsLmNvbT4NCj4+Pj4+Pj4gQ2M6IE1hcnlh bSBUYWhoYW4gPG10YWhoYW5AcmVkaGF0LmNvbT4NCj4+Pj4+Pj4gQ2M6IHhkcC1oaW50c0B4ZHAt cHJvamVjdC5uZXQNCj4+Pj4+Pj4gQ2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcNCj4+Pj4+Pj4g U2lnbmVkLW9mZi1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+ DQo+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFN0YW5pc2xhdiBGb21pY2hldiA8c2RmQGdvb2dsZS5j b20+DQo+Pj4+Pj4+IC0tLQ0KPj4+Pj4+PiAgICAgZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NS9jb3JlL2VuLmggIHwgIDEgKw0KPj4+Pj4+PiAgICAgLi4uL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMgIHwgIDMgKy0NCj4+Pj4+Pj4gICAgIC4uLi9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5oICB8ICA2ICstDQo+Pj4+Pj4+ICAg ICAuLi4vZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hzay9yeC5jICAgfCAyNSArKysr LS0tLQ0KPj4+Pj4+PiAgICAgLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5f cnguYyAgIHwgNTggKysrKysrKysrLS0tLS0tLS0tLQ0KPj4+Pj4+PiAgICAgNSBmaWxlcyBjaGFu Z2VkLCA1MCBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkNCj4+Pj4+Pj4NCj4+Pj4+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi5o IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuLmgNCj4+Pj4+Pj4g aW5kZXggMmQ3N2ZiOGE4YTAxLi5hZjY2Mzk3OGQxYjQgMTAwNjQ0DQo+Pj4+Pj4+IC0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oDQo+Pj4+Pj4+ICsrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oDQo+Pj4+Pj4+IEBA IC00NjksNiArNDY5LDcgQEAgc3RydWN0IG1seDVlX3R4cXNxIHsNCj4+Pj4+Pj4gICAgIHVuaW9u IG1seDVlX2FsbG9jX3VuaXQgew0KPj4+Pj4+PiAgICAgICAgIHN0cnVjdCBwYWdlICpwYWdlOw0K Pj4+Pj4+PiAgICAgICAgIHN0cnVjdCB4ZHBfYnVmZiAqeHNrOw0KPj4+Pj4+PiArICAgICBzdHJ1 Y3QgbWx4NWVfeGRwX2J1ZmYgKm14YnVmOw0KPj4+Pj4+DQo+Pj4+Pj4gSW4gWFNLIGZpbGVzIGJl bG93IHlvdSBtaXggdXNhZ2Ugb2YgYm90aCBhbGxvY191bml0c1twYWdlX2lkeF0ubXhidWYgYW5k DQo+Pj4+Pj4gYWxsb2NfdW5pdHNbcGFnZV9pZHhdLnhzaywgd2hpbGUgYm90aCBmaWVsZHMgc2hh cmUgdGhlIG1lbW9yeSBvZiBhIHVuaW9uLg0KPj4+Pj4+DQo+Pj4+Pj4gQXMgc3RydWN0IG1seDVl X3hkcF9idWZmIHdyYXBzIHN0cnVjdCB4ZHBfYnVmZiwgSSB0aGluayB0aGF0IHlvdSBqdXN0DQo+ Pj4+Pj4gbmVlZCB0byBjaGFuZ2UgdGhlIGV4aXN0aW5nIHhzayBmaWVsZCB0eXBlIGZyb20gc3Ry dWN0IHhkcF9idWZmICp4c2sNCj4+Pj4+PiBpbnRvIHN0cnVjdCBtbHg1ZV94ZHBfYnVmZiAqeHNr IGFuZCBhbGlnbiB0aGUgdXNhZ2UuDQo+Pj4+Pg0KPj4+Pj4gSG1tbSwgZ29vZCBwb2ludC4gSSdt IGFjdHVhbGx5IG5vdCBzdXJlIGhvdyBpdCB3b3JrcyBjdXJyZW50bHkuDQo+Pj4+PiBtbHg1ZV9h bGxvY191bml0Lm14YnVmIGRvZXNuJ3Qgc2VlbSB0byBiZSBpbml0aWFsaXplZCBhbnl3aGVyZT8g VG9rZSwNCj4+Pj4+IGFtIEkgbWlzc2luZyBzb21ldGhpbmc/DQo+Pj4+DQo+Pj4+IEl0J3MgaW5p dGlhbGlzZWQgcGllY2VtZWFsIGluIGRpZmZlcmVudCBwbGFjZXM7IGJ1dCB5ZWFoLCB3ZSdyZSBt aXhpbmcNCj4+Pj4gdGhpbmdzIGEgYml0Li4uDQo+Pj4+DQo+Pj4+PiBJJ20gdGhpbmtpbmcgYWJv dXQgc29tZXRoaW5nIGxpa2UgdGhpczoNCj4+Pj4+DQo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuLmgNCj4+Pj4+IGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuLmgNCj4+Pj4+IGluZGV4IGFmNjYzOTc4 ZDFiNC4uMmQ3N2ZiOGE4YTAxIDEwMDY0NA0KPj4+Pj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuLmgNCj4+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oDQo+Pj4+PiBAQCAtNDY5LDcgKzQ2OSw2IEBAIHN0 cnVjdCBtbHg1ZV90eHFzcSB7DQo+Pj4+PiAgICB1bmlvbiBtbHg1ZV9hbGxvY191bml0IHsNCj4+ Pj4+ICAgICAgICAgICBzdHJ1Y3QgcGFnZSAqcGFnZTsNCj4+Pj4+ICAgICAgICAgICBzdHJ1Y3Qg eGRwX2J1ZmYgKnhzazsNCj4+Pj4+IC0gICAgICAgc3RydWN0IG1seDVlX3hkcF9idWZmICpteGJ1 ZjsNCj4+Pj4+ICAgIH07DQo+Pj4+DQo+Pj4+IEhtbSwgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhl IG5vbi1YU0sgcGF0aCB3ZSBzaG91bGQgcmF0aGVyIGdvIHRoZSBvdGhlcg0KPj4+PiBkaXJlY3Rp b24gYW5kIGxvc2UgdGhlIHhzayBtZW1iZXIsIG1vdmluZyBldmVyeXRoaW5nIHRvIG14YnVmPyBM ZXQgbWUNCj4+Pj4gZ2l2ZSB0aGF0IGEgc2hvdC4uLg0KPj4+DQo+Pj4gU29tZXRoaW5nIGxpa2Ug dGhlIGJlbG93Pw0KPj4+DQo+Pj4gLVRva2UNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4uaCBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbi5oDQo+Pj4gaW5kZXggNmRlMDJkOGFlYWI4Li5jYjlj ZGI2NDIxYzUgMTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VuLmgNCj4+PiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW4uaA0KPj4+IEBAIC00NjgsNyArNDY4LDYgQEAgc3RydWN0IG1seDVlX3R4cXNx IHsNCj4+PiAgICANCj4+PiAgICB1bmlvbiBtbHg1ZV9hbGxvY191bml0IHsNCj4+PiAgICAJc3Ry dWN0IHBhZ2UgKnBhZ2U7DQo+Pj4gLQlzdHJ1Y3QgeGRwX2J1ZmYgKnhzazsNCj4+PiAgICAJc3Ry dWN0IG1seDVlX3hkcF9idWZmICpteGJ1ZjsNCj4+PiAgICB9Ow0KPj4+ICAgIA0KPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmgg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmgNCj4+PiBp bmRleCBjYjU2OGM2MmFiYTAuLjk1Njk0YTI1ZWMzMSAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmgNCj4+PiArKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmgNCj4+PiBAQCAtMzMs NiArMzMsNyBAQA0KPj4+ICAgICNkZWZpbmUgX19NTFg1X0VOX1hEUF9IX18NCj4+PiAgICANCj4+ PiAgICAjaW5jbHVkZSA8bGludXgvaW5kaXJlY3RfY2FsbF93cmFwcGVyLmg+DQo+Pj4gKyNpbmNs dWRlIDxuZXQveGRwX3NvY2tfZHJ2Lmg+DQo+Pj4gICAgDQo+Pj4gICAgI2luY2x1ZGUgImVuLmgi DQo+Pj4gICAgI2luY2x1ZGUgImVuL3R4cnguaCINCj4+PiBAQCAtMTEyLDYgKzExMywyMSBAQCBz dGF0aWMgaW5saW5lIHZvaWQgbWx4NWVfeG1pdF94ZHBfZG9vcmJlbGwoc3RydWN0IG1seDVlX3hk cHNxICpzcSkNCj4+PiAgICAJfQ0KPj4+ICAgIH0NCj4+PiAgICANCj4+PiArc3RhdGljIGlubGlu ZSBzdHJ1Y3QgbWx4NWVfeGRwX2J1ZmYgKm1seDVlX3hza19idWZmX2FsbG9jKHN0cnVjdCB4c2tf YnVmZl9wb29sICpwb29sKQ0KPj4+ICt7DQo+Pj4gKwlyZXR1cm4gKHN0cnVjdCBtbHg1ZV94ZHBf YnVmZiAqKXhza19idWZmX2FsbG9jKHBvb2wpOw0KPj4NCj4+IFdoYXQgYWJvdXQgdGhlIHNwYWNl IG5lZWRlZCBmb3IgdGhlIHJxIC8gY3FlIGZpZWxkcz8geHNrX2J1ZmZfYWxsb2MNCj4+IHdvbid0 IGFsbG9jYXRlIGl0Lg0KPiANCj4gSXQgd2lsbCEgU2VlIHBhdGNoIDE0IGluIHRoZSBzZXJpZXMg dGhhdCBhZGRzIGEgJ2NiJyBmaWVsZCB0bw0KPiB4ZHBfYnVmZl94c2ssIG1lYW5pbmcgdGhlcmUn cyBhY3R1YWxseSBzcGFjZSBhZnRlciB0aGUgeGRwX2J1ZmYgc3RydWN0DQo+IGJlaW5nIGFsbG9j YXRlZCBieSB0aGUgeHNrX2J1ZmZfYWxsb2MgQVBJLiBUaGUgWFNLX0NIRUNLX1BSSVZfVFlQRSBt YWNybw0KPiBjYWxsIGlzIHRoZXJlIHRvIGVuc3VyZSB0aGUgY2IgZmllbGQgaXMgYmlnIGVub3Vn aCBmb3IgdGhlIHN0cnVjdCB3ZSdyZQ0KPiBjYXN0aW5nIHRvIGluIHRoZSBkcml2ZXIuDQo+IA0K DQpPaCBva2F5LCBnb3QgaXQuDQoNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGlubGluZSB2 b2lkIG1seDVlX3hza19idWZmX2ZyZWUoc3RydWN0IG1seDVlX3hkcF9idWZmICpteGJ1ZikNCj4+ PiArew0KPj4+ICsJeHNrX2J1ZmZfZnJlZSgmbXhidWYtPnhkcCk7DQo+Pj4gK30NCj4+PiArDQo+ Pj4gK3N0YXRpYyBpbmxpbmUgZG1hX2FkZHJfdCBtbHg1ZV94c2tfYnVmZl94ZHBfZ2V0X2ZyYW1l X2RtYShzdHJ1Y3QgbWx4NWVfeGRwX2J1ZmYgKm14YnVmKQ0KPj4+ICt7DQo+Pj4gKwlyZXR1cm4g eHNrX2J1ZmZfeGRwX2dldF9mcmFtZV9kbWEoJm14YnVmLT54ZHApOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICAgIC8qIEVuYWJsZSBpbmxpbmUgV1FFcyB0byBzaGlmdCBzb21lIGxvYWQgZnJvbSBhIGNv bmdlc3RlZCBIQ0EgKEhXKSB0bw0KPj4+ICAgICAqIGEgbGVzcyBjb25nZXN0ZWQgY3B1IChTVyku DQo+Pj4gICAgICovDQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbi94c2svcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbi94c2svcnguYw0KPj4+IGluZGV4IDhiZjMwMjlhYmQzYy4uMWYxNjZkYmI3 ZjIyIDEwMDY0NA0KPj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbi94c2svcnguYw0KPj4+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbi94c2svcnguYw0KPj4+IEBAIC0zLDcgKzMsNiBAQA0KPj4+ICAgIA0KPj4+ ICAgICNpbmNsdWRlICJyeC5oIg0KPj4+ICAgICNpbmNsdWRlICJlbi94ZHAuaCINCj4+PiAtI2lu Y2x1ZGUgPG5ldC94ZHBfc29ja19kcnYuaD4NCj4+PiAgICAjaW5jbHVkZSA8bGludXgvZmlsdGVy Lmg+DQo+Pj4gICAgDQo+Pj4gICAgLyogUlggZGF0YSBwYXRoICovDQo+Pj4gQEAgLTIxLDcgKzIw LDcgQEAgaW50IG1seDVlX3hza19hbGxvY19yeF9tcHdxZShzdHJ1Y3QgbWx4NWVfcnEgKnJxLCB1 MTYgaXgpDQo+Pj4gICAgCWlmICh1bmxpa2VseSgheHNrX2J1ZmZfY2FuX2FsbG9jKHJxLT54c2tf cG9vbCwgcnEtPm1wd3FlLnBhZ2VzX3Blcl93cWUpKSkNCj4+PiAgICAJCWdvdG8gZXJyOw0KPj4+ ICAgIA0KPj4+IC0JQlVJTERfQlVHX09OKHNpemVvZih3aS0+YWxsb2NfdW5pdHNbMF0pICE9IHNp emVvZih3aS0+YWxsb2NfdW5pdHNbMF0ueHNrKSk7DQo+Pj4gKwlCVUlMRF9CVUdfT04oc2l6ZW9m KHdpLT5hbGxvY191bml0c1swXSkgIT0gc2l6ZW9mKHdpLT5hbGxvY191bml0c1swXS5teGJ1Zikp Ow0KPj4+ICAgIAlYU0tfQ0hFQ0tfUFJJVl9UWVBFKHN0cnVjdCBtbHg1ZV94ZHBfYnVmZik7DQo+ Pj4gICAgCWJhdGNoID0geHNrX2J1ZmZfYWxsb2NfYmF0Y2gocnEtPnhza19wb29sLCAoc3RydWN0 IHhkcF9idWZmICoqKXdpLT5hbGxvY191bml0cywNCj4+PiAgICAJCQkJICAgICBycS0+bXB3cWUu cGFnZXNfcGVyX3dxZSk7DQo+Pg0KPj4gVGhpcyBiYXRjaGluZyBBUEkgZ2V0cyBicm9rZW4gYXMg d2VsbC4uLg0KPj4geHNrX2J1ZmZfYWxsb2NfYmF0Y2ggZmlsbHMgYW4gYXJyYXkgb2Ygc3RydWN0 IHhkcF9idWZmIHBvaW50ZXJzLCBpdA0KPj4gY2Fubm90IGNvcnJlY3RseSBhY3Qgb24gdGhlIGFy cmF5IG9mIHN0cnVjdCBtbHg1ZV94ZHBfYnVmZiwgYXMgaXQNCj4+IGNvbnRhaW5zIGFkZGl0aW9u YWwgZmllbGRzLg0KPiANCj4gU2VlIGFib3ZlIGZvciB3aHkgdGhpcyBkb2VzLCBpbiBmYWN0LCB3 b3JrLiBJIGFncmVlIGl0J3Mgbm90IHRvdGFsbHkNCj4gb2J2aW91cywgYW5kIGluIGFueSBjYXNl IHRoZXJlJ3MgZ29pbmcgdG8gYmUgYSBwb2ludCB3aGVyZSB0aGUgY2FzdA0KPiBoYXBwZW5zIHdo ZXJlIHR5cGUgc2FmZXR5IHdpbGwgYnJlYWssIHdoaWNoIGlzIHdoYXQgSSB3YXMgYWxsdWRpbmcg dG8gaW4NCj4gbXkgcmVwbHkgdG8gU3RhbmlzbGF2Lg0KPiANCj4gSSBndWVzcyB3ZSBjb3VsZCB0 cnkgdG8gcmV3b3JrIHRoZSBBUEkgaW4geGRwX3NvY2tfZHJ2LmggdG8gbWFrZSB0aGlzDQo+IG1v cmUgb2J2aW91cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBjYXN0aW5nIGRyaXZlci1zcGVjaWZpYyB3 cmFwcGVycyBJDQo+IHN1Z2dlc3RlZCBoZXJlLiBPciB3ZSBjb3VsZCBnbyB3aXRoIFN0YW5pc2xh didzIHN1Z2dlc3Rpb24gb2Yga2VlcGluZw0KPiBhbGxvY2F0aW9uIGV0YyB1c2luZyB4ZHBfYnVm ZiBhbmQgb25seSBjYXN0aW5nIHRvIG1seDVlX3hkcF9idWZmIGluIHRoZQ0KPiBmdW5jdGlvbiB3 aGVyZSBpdCdzIHVzZWQ7IHRoZW4gd2UgY2FuIGtlZXAgdGhlIGNhc3RpbmcgbG9jYWxpc2VkIHRv IHRoYXQNCj4gZnVuY3Rpb24sIGFuZCBwdXQgYSBjb21tZW50IHRoZXJlIGV4cGxhaW5pbmcgd2h5 IGl0IHdvcmtzPw0KPiANCg0KU3RhbmlzbGF2J3MgcHJvcG9zYWwgTEdUTS4NCkxldCdzIGtlZXAg dGhlIGNhc3RpbmcgbG9jYWxpc2VkLCBhbmQgbWFrZSBzdXJlIHRoZXJlJ3MgYSBjb21tZW50IHRo ZXJlLg0KDQo+PiBNYXliZSBsZXR0aW5nIG1seDVlX3hkcF9idWZmIHBvaW50IHRvIGl0cyBzdHJ1 Y3QgeGRwX2J1ZmYgKGluc3RlYWQgb2YNCj4+IHdyYXBwaW5nIGl0KSB3aWxsIHNvbHZlIHRoZSBw cm9ibGVtcyBoZXJlLCB0aGVuIHdlJ2xsIGxvb3Agb3ZlciB0aGUNCj4+IHhkcF9idWZmICogYXJy YXkgYW5kIGNvcHkgdGhlIHBvaW50ZXJzIGludG8gdGhlIHN0cnVjdCBtbHg1ZV94ZHBfYnVmZiAq DQo+PiBhcnJheS4NCj4+IE5lZWQgdG8gZ2l2ZSBpdCBkZWVwZXIgdGhvdWdodHMuLi4NCj4+DQo+ PiBzdHJ1Y3QgbWx4NWVfeGRwX2J1ZmYgew0KPj4gCXN0cnVjdCB4ZHBfYnVmZiAqeGRwOw0KPj4g CXN0cnVjdCBtbHg1X2NxZTY0ICpjcWU7DQo+PiAJc3RydWN0IG1seDVlX3JxICpycTsNCj4+IH07 DQo+IA0KPiBUaGlzIHdhcyBhY3R1YWxseSBteSBvcmlnaW5hbCBwcm9wb3NhbDsgd2UgZGlzY3Vz c2VkIHRoaXMgYmFjayBvbiB2MiBvZg0KPiB0aGlzIHBhdGNoIHNlcmllcy4gUGVvcGxlIGdlbmVy YWxseSBmZWx0IHRoYXQgdGhlICdjYicgZmllbGQgYXBwcm9hY2gNCj4gKG9yaWdpbmFsbHkgc3Vn Z2VzdGVkIGJ5IEpha3ViKSB3YXMgYmV0dGVyLg0KDQpJIGFncmVlLg0KDQo+IFNlZSB0aGUgZGlz Y3Vzc2lvbiBzdGFydGluZw0KPiBmcm9tIGhlcmU6DQo+IA0KPiBodHRwczovL2xvcmUua2VybmVs Lm9yZy9yLzIwMjIxMTIzMTExNDMxLjdiNTQ2NjhlQGtlcm5lbC5vcmcNCj4gDQo+IC1Ub2tlDQo+ IA0KDQo=