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.133.124])
	by passt.top (Postfix) with ESMTP id 6EE0A5A02CF
	for <passt-dev@passt.top>; Thu, 16 May 2024 05:04:00 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1715828639;
	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=kpEeQfSrrPpTpk6z99wZguDaezUPV3uhv+ktflSc3I4=;
	b=egyt+q20EacwYKE2v5DnVOOzxQKpTKS7UvHe3S9Uv0vLSsSSYJqmY1X6Sq13QBXFBKMn4A
	RwZgOjsq/UrL6AgvM0DnbfPjdz4r3N1HSFOMN2lKxKhRZYkqIwtIDiYMzii2gObMnLqWsA
	UNB0nS8yDnmMDnw0dC2oPVYEOVG+Bqw=
Received: from mail-yb1-f199.google.com (mail-yb1-f199.google.com
 [209.85.219.199]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-602-D_YlvJZ4PS-uQ6kjfxybCA-1; Wed, 15 May 2024 23:03:57 -0400
X-MC-Unique: D_YlvJZ4PS-uQ6kjfxybCA-1
Received: by mail-yb1-f199.google.com with SMTP id 3f1490d57ef6-ddaf165a8d9so10725941276.1
        for <passt-dev@passt.top>; Wed, 15 May 2024 20:03:57 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1715828637; x=1716433437;
        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=kpEeQfSrrPpTpk6z99wZguDaezUPV3uhv+ktflSc3I4=;
        b=FPrxIcEBv1LRoyHuvoEF7BGRdjs0qqjqfVpbujslCAZiwoklrLUW2fPC54/QhJzdab
         YXcHcUWLyi0zhJyZ1LZ3ZBWptbPs03DjYkBiGN6gTt+0EunOJAYgVOD9BmOMi38+B7LF
         JFrp8b02sNGlH//mHxs+pPidwMxzsGsUEAD2AHsScoCB6P3wa9szH4IZuQARn8K9ujJ9
         Aya/VPUAJhjj4ID2/R6Mr0XN40gZhrjCkBCJ+tlLTLvgsCIy4yqizZGBhmhWN3XJOb2h
         U6VRsF5akNTqbwEiYTmLHfW5HMojdR8IePz5tXXu8oCMgxWK27KfzElHnx5xppaslr6M
         SyHw==
X-Gm-Message-State: AOJu0Yx8n3XvMZmhe8IzHLM2/2eHqTak405Ed3S2vFXO/uyhIUmhtPr6
	Iw1uhN/C6r7NEuKDQWfojiJ22np3UdE6Nm5SHdQAgQNmIKFq40lBzIeK6mIqmk6CEJm5u6MEh0G
	xYRigbtaEb2eBKQyByRjeVBqFmbSPVNAXjg5bJyp3Gg3MRWHzvg==
X-Received: by 2002:a05:6902:527:b0:df4:2beb:344e with SMTP id 3f1490d57ef6-df42beb3567mr2301174276.2.1715828637127;
        Wed, 15 May 2024 20:03:57 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGn+OVQeqNJtpWDi6PRG+hUchpCvdF06B0s7LqkhPMineFSDZAhcFGGHTfATD6jVPBm07AQZA==
X-Received: by 2002:a05:6902:527:b0:df4:2beb:344e with SMTP id 3f1490d57ef6-df42beb3567mr2301140276.2.1715828636472;
        Wed, 15 May 2024 20:03:56 -0700 (PDT)
Received: from [10.0.0.97] ([24.225.234.80])
        by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6a15f1cd266sm70750386d6.80.2024.05.15.20.03.55
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Wed, 15 May 2024 20:03:56 -0700 (PDT)
Message-ID: <18faf981-5f52-0a82-8066-12b8b35fab6c@redhat.com>
Date: Wed, 15 May 2024 23:03:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v4 2/3] tcp: leverage support of SO_PEEK_OFF socket option
 when available
To: David Gibson <david@gibson.dropbear.id.au>
References: <20240515153429.859185-1-jmaloy@redhat.com>
 <20240515153429.859185-3-jmaloy@redhat.com> <ZkVvpVN_qqz9lZkI@zatzit>
From: Jon Maloy <jmaloy@redhat.com>
In-Reply-To: <ZkVvpVN_qqz9lZkI@zatzit>
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: RRILVKECNFYNF56L2UTNF6UMRLIEOHMV
X-Message-ID-Hash: RRILVKECNFYNF56L2UTNF6UMRLIEOHMV
X-MailFrom: jmaloy@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: passt-dev@passt.top, sbrivio@redhat.com, lvivier@redhat.com, dgibson@redhat.com
X-Mailman-Version: 3.3.8
Precedence: list
List-Id: Development discussion and patches for passt <passt-dev.passt.top>
Archived-At: <https://archives.passt.top/passt-dev/18faf981-5f52-0a82-8066-12b8b35fab6c@redhat.com/>
Archived-At: <https://passt.top/hyperkitty/list/passt-dev@passt.top/message/RRILVKECNFYNF56L2UTNF6UMRLIEOHMV/>
List-Archive: <https://archives.passt.top/passt-dev/>
List-Archive: <https://passt.top/hyperkitty/list/passt-dev@passt.top/>
List-Help: <mailto:passt-dev-request@passt.top?subject=help>
List-Owner: <mailto:passt-dev-owner@passt.top>
List-Post: <mailto:passt-dev@passt.top>
List-Subscribe: <mailto:passt-dev-join@passt.top>
List-Unsubscribe: <mailto:passt-dev-leave@passt.top>

DQoNCk9uIDIwMjQtMDUtMTUgMjI6MjksIERhdmlkIEdpYnNvbiB3cm90ZToNCj4gT24gV2VkLCBN
YXkgMTUsIDIwMjQgYXQgMTE6MzQ6MjhBTSAtMDQwMCwgSm9uIE1hbG95IHdyb3RlOg0KPj4gPkZy
b20gbGludXgtNi45LjAgdGhlIGtlcm5lbCB3aWxsIGNvbnRhaW4NCj4+IGNvbW1pdCAwNWVhNDkx
NjQxZDMgKCJ0Y3A6IGFkZCBzdXBwb3J0IGZvciBTT19QRUVLX09GRiBzb2NrZXQgb3B0aW9uIiku
DQo+Pg0KPj4gVGhpcyBuZXcgZmVhdHVyZSBtYWtlcyBpcyBwb3NzaWJsZSB0byBjYWxsIHJlY3Zf
bXNnKE1TR19QRUVLKSBhbmQgbWFrZQ0KPj4gaXQgc3RhcnQgcmVhZGluZyBkYXRhIGZyb20gYSBn
aXZlbiBvZmZzZXQgc2V0IGJ5IHRoZSBTT19QRUVLX09GRiBzb2NrZXQNCj4+IG9wdGlvbi4gVGhp
cyB3YXksIHdlIGNhbiBhdm9pZCByZXBlYXRlZCByZWFkaW5nIG9mIGFscmVhZHkgcmVhZCBieXRl
cyBvZg0KPj4gYSByZWNlaXZlZCBtZXNzYWdlLCBoZW5jZSBzYXZpbmcgcmVhZCBjeWNsZXMgd2hl
biBmb3J3YXJkaW5nIFRDUA0KPj4gbWVzc2FnZXMgaW4gdGhlIGhvc3QtPm5hbWUgc3BhY2UgZGly
ZWN0aW9uLg0KPj4NCj4+IEluIHRoaXMgY29tbWl0LCB3ZSBhZGQgZnVuY3Rpb25hbGl0eSB0byBs
ZXZlcmFnZSB0aGlzIGZlYXR1cmUgd2hlbg0KPj4gYXZhaWxhYmxlLCB3aGlsZSB3ZSBmYWxsIGJh
Y2sgdG8gdGhlIHByZXZpb3VzIGJlaGF2aW9yIHdoZW4gbm90Lg0KPj4NCj4+IE1lYXN1cmVtZW50
cyB3aXRoIGlwZXJmMyBzaG93cyB0aGF0IHRocm91Z2hwdXQgaW5jcmVhc2VzIHdpdGggMTUtMjAN
Cj4+IHBlcmNlbnQgaW4gdGhlIGhvc3QtPm5hbWVzcGFjZSBkaXJlY3Rpb24gd2hlbiB0aGlzIGZl
YXR1cmUgaXMgdXNlZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKb24gTWFsb3kgPGptYWxveUBy
ZWRoYXQuY29tPg0KPiBJJ20gcHJldHR5IHN1cmUgdGhpcyBuZWVkcyBvbmUgbW9yZSBjYWxsIHRv
IHRjcF9zZXRfcGVla19vZmZzZXQoKQ0KPiBpbnNpZGUgdGhlIHJldmVydCBmdW5jdGlvbiBpbnRy
b2R1Y2VkIGluIHRoZSBwcmV2aW91cyBwYXRjaC4NCj4gT3RoZXJ3aXNlIGxvb2tzIGdvb2QuDQpP
ZiBjb3Vyc2UuIEkgbXVzdCBoYXZlIGRlbGV0ZWQgaXQgYnkgYWNjaWRlbnQgd2hlbiBJIHJlbW92
ZWQgdGhlICdwYXJhbm9pZMK0DQp0ZXN0wqAgU0VRX0dFKGNvbm4tPnNlcV90b190YXAsIGVxdWFs
IGNvbm4tPnNlcV9hY2tfZnJvbV90YXApLg0KSXQgd29ya2VkIGluIG15IHRlc3Qgc2ltcGx5IGJl
Y2F1c2UgdGhpcyBuZXZlciBoYXBwZW5zLiBJIGFjdHVhbGx5IGhhZCANCnRvIHRlc3QgdGhlDQps
b2dpY3MgaW4gYSBzZXBhcmF0ZSBwcm9ncmFtLg0KVGhhbmsgeW91IGZvciBzcG90dGluZyB0aGlz
Lg0KDQovLy9qb24NCj4+IC0tLQ0KPj4gdjI6IC0gU29tZSBzbWFsbGVyIGNoYW5nZXMgYXMgc3Vn
Z2VzdGVkIGJ5IERhdmlkIEdpYnNvbiBhbmQgU3RlZmFubyBCcml2aW8uDQo+PiAgICAgIC0gTW92
ZWQgaW5pdGlhbCBzZXRfcGVla19vZmZzZXQoMCkgdG8gb25seSB0aGUgbG9jYXRpb25zIHdoZXJl
IHRoZSBzb2NrZXQgaXMgc2V0DQo+PiAgICAgICAgdG8gRVNUQUJMSVNIRUQuDQo+PiAgICAgIC0g
UmVtb3ZlZCB0aGUgcGVyLXBhY2tldCBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiBza19wZWVrX29m
ZiBhbmQNCj4+ICAgICAgICBhbHJlYWR5X3NlbnQuIEluc3RlYWQgb25seSBkb2luZyBpdCBpbiBy
ZXRyYW5zbWl0IHNpdHVhdGlvbnMuDQo+PiAgICAgIC0gVGhlIHByb2JsZW0gSSBmb3VuZCB3aGVu
IHRyb3VibGUgc2hvb3RpbmcgdGhlIG9jY2FzaW9uYWxseSBvY2N1cnJpbmcNCj4+ICAgICAgICBv
dXQgb2Ygc3luY2ggdmFsdWVzIGJldHdlZW4gJ2FscmVhZHlfc2VudCcgYW5kICdza19wZWVrX29m
ZnNldCcgbWF5DQo+PiAgICAgICAgaGF2ZSBkZWVwZXIgaW1wbGljYXRpb25zIHRoYXQgd2UgbWF5
IG5lZWQgdG8gYmUgaW52ZXN0aWdhdGUuDQo+Pg0KPj4gdjM6IC0gUmViYXNlZCB0byBtb3N0IHJl
Y2VudCB2ZXJzaW9uIG9mIHRjcC5jLCBwbHVzIHRoZSBwcmV2aW91cw0KPj4gICAgICAgIHBhdGNo
IGluIHRoaXMgc2VyaWVzLg0KPj4gICAgICAtIFNvbWUgY2hhbmdlcyBiYXNlZCBvbiBmZWVkYmFj
ayBmcm9tIFBBU1NUIHRlYW0NCj4+DQo+PiB2NDogLSBTb21lIHNtYWxsIGNoYW5nZXMgYmFzZWQg
b24gZmVlZGJhY2sgZnJvbSBTdGVmYW4vRGF2aWQuDQo+PiAtLS0NCj4+ICAgdGNwLmMgfCA1OCAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t
DQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQ0K
Pj4NCj4+IGRpZmYgLS1naXQgYS90Y3AuYyBiL3RjcC5jDQo+PiBpbmRleCA5NzZkYmE4Li40MTYz
YmY5IDEwMDY0NA0KPj4gLS0tIGEvdGNwLmMNCj4+ICsrKyBiL3RjcC5jDQo+PiBAQCAtNTExLDYg
KzUxMSw5IEBAIHN0YXRpYyBzdHJ1Y3QgaW92ZWMJdGNwNl9sMl9pb3YJCVtUQ1BfRlJBTUVTX01F
TV1bVENQX05VTV9JT1ZTXTsNCj4+ICAgc3RhdGljIHN0cnVjdCBpb3ZlYwl0Y3A0X2wyX2ZsYWdz
X2lvdglbVENQX0ZSQU1FU19NRU1dW1RDUF9OVU1fSU9WU107DQo+PiAgIHN0YXRpYyBzdHJ1Y3Qg
aW92ZWMJdGNwNl9sMl9mbGFnc19pb3YJW1RDUF9GUkFNRVNfTUVNXVtUQ1BfTlVNX0lPVlNdOw0K
Pj4gICANCj4+ICsvKiBEb2VzIHRoZSBrZXJuZWwgc3VwcG9ydCBUQ1BfUEVFS19PRkY/ICovDQo+
PiArc3RhdGljIGJvb2wgcGVla19vZmZzZXRfY2FwOw0KPj4gKw0KPj4gICAvKiBzZW5kbXNnKCkg
dG8gc29ja2V0ICovDQo+PiAgIHN0YXRpYyBzdHJ1Y3QgaW92ZWMJdGNwX2lvdgkJCVtVSU9fTUFY
SU9WXTsNCj4+ICAgDQo+PiBAQCAtNTI2LDYgKzUyOSwyMCBAQCBzdGF0aWNfYXNzZXJ0KEFSUkFZ
X1NJWkUodGNfaGFzaCkgPj0gRkxPV19NQVgsDQo+PiAgIGludCBpbml0X3NvY2tfcG9vbDQJCVtU
Q1BfU09DS19QT09MX1NJWkVdOw0KPj4gICBpbnQgaW5pdF9zb2NrX3Bvb2w2CQlbVENQX1NPQ0tf
UE9PTF9TSVpFXTsNCj4+ICAgDQo+PiArLyoqDQo+PiArICogdGNwX3NldF9wZWVrX29mZnNldCgp
IC0gU2V0IFNPX1BFRUtfT0ZGIG9mZnNldCBvbiBhIHNvY2tldCBpZiBzdXBwb3J0ZWQNCj4+ICsg
KiBAczogICAgICAgICAgU29ja2V0IHRvIHVwZGF0ZQ0KPj4gKyAqIEBvZmZzZXQ6ICAgICBPZmZz
ZXQgaW4gYnl0ZXMNCj4+ICsgKi8NCj4+ICtzdGF0aWMgdm9pZCB0Y3Bfc2V0X3BlZWtfb2Zmc2V0
KGludCBzLCBpbnQgb2Zmc2V0KQ0KPj4gK3sNCj4+ICsJaWYgKCFwZWVrX29mZnNldF9jYXApDQo+
PiArCQlyZXR1cm47DQo+PiArDQo+PiArCWlmIChzZXRzb2Nrb3B0KHMsIFNPTF9TT0NLRVQsIFNP
X1BFRUtfT0ZGLCAmb2Zmc2V0LCBzaXplb2Yob2Zmc2V0KSkpDQo+PiArCQllcnIoIkZhaWxlZCB0
byBzZXQgU09fUEVFS19PRkYgdG8gJXUgaW4gc29ja2V0ICVpIiwgb2Zmc2V0LCBzKTsNCj4+ICt9
DQo+PiArDQo+PiAgIC8qKg0KPj4gICAgKiB0Y3BfY29ubl9lcG9sbF9ldmVudHMoKSAtIGVwb2xs
IGV2ZW50cyBtYXNrIGZvciBnaXZlbiBjb25uZWN0aW9uIHN0YXRlDQo+PiAgICAqIEBldmVudHM6
CUN1cnJlbnQgY29ubmVjdGlvbiBldmVudHMNCj4+IEBAIC0yMTk3LDE0ICsyMjE0LDE1IEBAIHN0
YXRpYyBpbnQgdGNwX2RhdGFfZnJvbV9zb2NrKHN0cnVjdCBjdHggKmMsIHN0cnVjdCB0Y3BfdGFw
X2Nvbm4gKmNvbm4pDQo+PiAgIAl1aW50MzJfdCBhbHJlYWR5X3NlbnQsIHNlcTsNCj4+ICAgCXN0
cnVjdCBpb3ZlYyAqaW92Ow0KPj4gICANCj4+ICsJLyogSG93IG11Y2ggaGF2ZSB3ZSByZWFkL3Nl
bnQgc2luY2UgbGFzdCByZWNlaXZlZCBhY2sgPyAqLw0KPj4gICAJYWxyZWFkeV9zZW50ID0gY29u
bi0+c2VxX3RvX3RhcCAtIGNvbm4tPnNlcV9hY2tfZnJvbV90YXA7DQo+PiAtDQo+PiAgIAlpZiAo
U0VRX0xUKGFscmVhZHlfc2VudCwgMCkpIHsNCj4+ICAgCQkvKiBSRkMgNzYxLCBzZWN0aW9uIDIu
MS4gKi8NCj4+ICAgCQlmbG93X3RyYWNlKGNvbm4sICJBQ0sgc2VxdWVuY2UgZ2FwOiBBQ0sgZm9y
ICV1LCBzZW50OiAldSIsDQo+PiAgIAkJCSAgIGNvbm4tPnNlcV9hY2tfZnJvbV90YXAsIGNvbm4t
PnNlcV90b190YXApOw0KPj4gICAJCWNvbm4tPnNlcV90b190YXAgPSBjb25uLT5zZXFfYWNrX2Zy
b21fdGFwOw0KPj4gICAJCWFscmVhZHlfc2VudCA9IDA7DQo+PiArCQl0Y3Bfc2V0X3BlZWtfb2Zm
c2V0KHMsIDApOw0KPj4gICAJfQ0KPj4gICANCj4+ICAgCWlmICghd25kX3NjYWxlZCB8fCBhbHJl
YWR5X3NlbnQgPj0gd25kX3NjYWxlZCkgew0KPj4gQEAgLTIyMjIsMTEgKzIyNDAsMTYgQEAgc3Rh
dGljIGludCB0Y3BfZGF0YV9mcm9tX3NvY2soc3RydWN0IGN0eCAqYywgc3RydWN0IHRjcF90YXBf
Y29ubiAqY29ubikNCj4+ICAgCQlpb3ZfcmVtID0gKHduZF9zY2FsZWQgLSBhbHJlYWR5X3NlbnQp
ICUgbXNzOw0KPj4gICAJfQ0KPj4gICANCj4+IC0JbWhfc29jay5tc2dfaW92ID0gaW92X3NvY2s7
DQo+PiAtCW1oX3NvY2subXNnX2lvdmxlbiA9IGZpbGxfYnVmcyArIDE7DQo+PiAtDQo+PiAtCWlv
dl9zb2NrWzBdLmlvdl9iYXNlID0gdGNwX2J1Zl9kaXNjYXJkOw0KPj4gLQlpb3Zfc29ja1swXS5p
b3ZfbGVuID0gYWxyZWFkeV9zZW50Ow0KPj4gKwkvKiBQcmVwYXJlIGlvdiBhY2NvcmRpbmcgdG8g
a2VybmVsIGNhcGFiaWxpdHkgKi8NCj4+ICsJaWYgKCFwZWVrX29mZnNldF9jYXApIHsNCj4+ICsJ
CW1oX3NvY2subXNnX2lvdiA9IGlvdl9zb2NrOw0KPj4gKwkJaW92X3NvY2tbMF0uaW92X2Jhc2Ug
PSB0Y3BfYnVmX2Rpc2NhcmQ7DQo+PiArCQlpb3Zfc29ja1swXS5pb3ZfbGVuID0gYWxyZWFkeV9z
ZW50Ow0KPj4gKwkJbWhfc29jay5tc2dfaW92bGVuID0gZmlsbF9idWZzICsgMTsNCj4+ICsJfSBl
bHNlIHsNCj4+ICsJCW1oX3NvY2subXNnX2lvdiA9ICZpb3Zfc29ja1sxXTsNCj4+ICsJCW1oX3Nv
Y2subXNnX2lvdmxlbiA9IGZpbGxfYnVmczsNCj4+ICsJfQ0KPj4gICANCj4+ICAgCWlmICgoIHY0
ICYmIHRjcDRfcGF5bG9hZF91c2VkICsgZmlsbF9idWZzID4gVENQX0ZSQU1FU19NRU0pIHx8DQo+
PiAgIAkgICAgKCF2NCAmJiB0Y3A2X3BheWxvYWRfdXNlZCArIGZpbGxfYnVmcyA+IFRDUF9GUkFN
RVNfTUVNKSkgew0KPj4gQEAgLTIyNjcsNyArMjI5MCwxMCBAQCBzdGF0aWMgaW50IHRjcF9kYXRh
X2Zyb21fc29jayhzdHJ1Y3QgY3R4ICpjLCBzdHJ1Y3QgdGNwX3RhcF9jb25uICpjb25uKQ0KPj4g
ICAJCXJldHVybiAwOw0KPj4gICAJfQ0KPj4gICANCj4+IC0Jc2VuZGxlbiA9IGxlbiAtIGFscmVh
ZHlfc2VudDsNCj4+ICsJc2VuZGxlbiA9IGxlbjsNCj4+ICsJaWYgKCFwZWVrX29mZnNldF9jYXAp
DQo+PiArCQlzZW5kbGVuIC09IGFscmVhZHlfc2VudDsNCj4+ICsNCj4+ICAgCWlmIChzZW5kbGVu
IDw9IDApIHsNCj4+ICAgCQljb25uX2ZsYWcoYywgY29ubiwgU1RBTExFRCk7DQo+PiAgIAkJcmV0
dXJuIDA7DQo+PiBAQCAtMjQzOCw2ICsyNDY0LDcgQEAgc3RhdGljIGludCB0Y3BfZGF0YV9mcm9t
X3RhcChzdHJ1Y3QgY3R4ICpjLCBzdHJ1Y3QgdGNwX3RhcF9jb25uICpjb25uLA0KPj4gICAJCQkg
ICAiZmFzdCByZS10cmFuc21pdCwgQUNLOiAldSwgcHJldmlvdXMgc2VxdWVuY2U6ICV1IiwNCj4+
ICAgCQkJICAgbWF4X2Fja19zZXEsIGNvbm4tPnNlcV90b190YXApOw0KPj4gICAJCWNvbm4tPnNl
cV90b190YXAgPSBtYXhfYWNrX3NlcTsNCj4+ICsJCXRjcF9zZXRfcGVla19vZmZzZXQoY29ubi0+
c29jaywgMCk7DQo+PiAgIAkJdGNwX2RhdGFfZnJvbV9zb2NrKGMsIGNvbm4pOw0KPj4gICAJfQ0K
Pj4gICANCj4+IEBAIC0yNTMwLDYgKzI1NTcsNyBAQCBzdGF0aWMgdm9pZCB0Y3BfY29ubl9mcm9t
X3NvY2tfZmluaXNoKHN0cnVjdCBjdHggKmMsIHN0cnVjdCB0Y3BfdGFwX2Nvbm4gKmNvbm4sDQo+
PiAgIAljb25uLT5zZXFfYWNrX3RvX3RhcCA9IGNvbm4tPnNlcV9mcm9tX3RhcDsNCj4+ICAgDQo+
PiAgIAljb25uX2V2ZW50KGMsIGNvbm4sIEVTVEFCTElTSEVEKTsNCj4+ICsJdGNwX3NldF9wZWVr
X29mZnNldChjb25uLT5zb2NrLCAwKTsNCj4+ICAgDQo+PiAgIAkvKiBUaGUgY2xpZW50IG1pZ2h0
IGhhdmUgc2VudCBkYXRhIGFscmVhZHksIHdoaWNoIHdlIGRpZG4ndA0KPj4gICAJICogZGVxdWV1
ZSB3YWl0aW5nIGZvciBTWU4sQUNLIGZyb20gdGFwIC0tIGNoZWNrIG5vdy4NCj4+IEBAIC0yNjEw
LDYgKzI2MzgsNyBAQCBpbnQgdGNwX3RhcF9oYW5kbGVyKHN0cnVjdCBjdHggKmMsIHVpbnQ4X3Qg
cGlmLCBzYV9mYW1pbHlfdCBhZiwNCj4+ICAgCQkJZ290byByZXNldDsNCj4+ICAgDQo+PiAgIAkJ
Y29ubl9ldmVudChjLCBjb25uLCBFU1RBQkxJU0hFRCk7DQo+PiArCQl0Y3Bfc2V0X3BlZWtfb2Zm
c2V0KGNvbm4tPnNvY2ssIDApOw0KPj4gICANCj4+ICAgCQlpZiAodGgtPmZpbikgew0KPj4gICAJ
CQljb25uLT5zZXFfZnJvbV90YXArKzsNCj4+IEBAIC0yODYzLDYgKzI4OTIsNyBAQCB2b2lkIHRj
cF90aW1lcl9oYW5kbGVyKHN0cnVjdCBjdHggKmMsIHVuaW9uIGVwb2xsX3JlZiByZWYpDQo+PiAg
IAkJCWZsb3dfZGJnKGNvbm4sICJBQ0sgdGltZW91dCwgcmV0cnkiKTsNCj4+ICAgCQkJY29ubi0+
cmV0cmFucysrOw0KPj4gICAJCQljb25uLT5zZXFfdG9fdGFwID0gY29ubi0+c2VxX2Fja19mcm9t
X3RhcDsNCj4+ICsJCQl0Y3Bfc2V0X3BlZWtfb2Zmc2V0KGNvbm4tPnNvY2ssIDApOw0KPj4gICAJ
CQl0Y3BfZGF0YV9mcm9tX3NvY2soYywgY29ubik7DQo+PiAgIAkJCXRjcF90aW1lcl9jdGwoYywg
Y29ubik7DQo+PiAgIAkJfQ0KPj4gQEAgLTMxNTQsNyArMzE4NCw4IEBAIHN0YXRpYyB2b2lkIHRj
cF9zb2NrX3JlZmlsbF9pbml0KGNvbnN0IHN0cnVjdCBjdHggKmMpDQo+PiAgICAqLw0KPj4gICBp
bnQgdGNwX2luaXQoc3RydWN0IGN0eCAqYykNCj4+ICAgew0KPj4gLQl1bnNpZ25lZCBiOw0KPj4g
Kwl1bnNpZ25lZCBpbnQgYiwgb3B0diA9IDA7DQo+PiArCWludCBzOw0KPj4gICANCj4+ICAgCWZv
ciAoYiA9IDA7IGIgPCBUQ1BfSEFTSF9UQUJMRV9TSVpFOyBiKyspDQo+PiAgIAkJdGNfaGFzaFti
XSA9IEZMT1dfU0lEWF9OT05FOw0KPj4gQEAgLTMxNzgsNiArMzIwOSwxNyBAQCBpbnQgdGNwX2lu
aXQoc3RydWN0IGN0eCAqYykNCj4+ICAgCQlOU19DQUxMKHRjcF9uc19zb2Nrc19pbml0LCBjKTsN
Cj4+ICAgCX0NCj4+ICAgDQo+PiArCS8qIFByb2JlIGZvciBTT19QRUVLX09GRiBzdXBwb3J0ICov
DQo+PiArCXMgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0gfCBTT0NLX0NMT0VYRUMsIElQ
UFJPVE9fVENQKTsNCj4+ICsJaWYgKHMgPCAwKSB7DQo+PiArCQl3YXJuKCJUZW1wb3JhcnkgVENQ
IHNvY2tldCBjcmVhdGlvbiBmYWlsZWQiKTsNCj4+ICsJfSBlbHNlIHsNCj4+ICsJCWlmICghc2V0
c29ja29wdChzLCBTT0xfU09DS0VULCBTT19QRUVLX09GRiwgJm9wdHYsIHNpemVvZihpbnQpKSkN
Cj4+ICsJCQlwZWVrX29mZnNldF9jYXAgPSB0cnVlOw0KPj4gKwkJY2xvc2Uocyk7DQo+PiArCX0N
Cj4+ICsJaW5mbygiU09fUEVFS19PRkYlc3N1cHBvcnRlZCIsIHBlZWtfb2Zmc2V0X2NhcCA/ICIg
IiA6ICIgbm90ICIpOw0KPj4gKw0KPj4gICAJcmV0dXJuIDA7DQo+PiAgIH0NCj4+ICAgDQoNCg==