From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=none smtp.mailfrom=mojatatu.com; dkim=pass header.d=mojatatu-com.20230601.gappssmtp.com; arc=pass; dmarc=none Received: from mail-yx1-xb12b.google.com (mail-yx1-xb12b.google.com [IPv6:2607:f8b0:4864:20::b12b]) by mail.toke.dk (Postfix) with ESMTPS id D03A0F0B0C6 for ; Fri, 27 Mar 2026 14:58:22 +0100 (CET) Received: by mail-yx1-xb12b.google.com with SMTP id 956f58d0204a3-64ea73e7b60so2259064d50.3 for ; Fri, 27 Mar 2026 06:58:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774619901; cv=none; d=google.com; s=arc-20240605; b=YGJMj5wuAfV9Z3/JleHXrLbx0xmO08qYM6Q43ZmYyyMuCCnAiPh4zp/JOc30SIieG0 upTc8hPb1i1ABAvWV5aNhJXSwXH2HCJSATusCROEyj7jm9XuWEuzxACTsOXEJR5fq9Nm JvkjBbwvqtg3854j/H/hKOLdGPY60LGlcrbJTNYuXghyGCCe5MXLcVfj6njaYXGSEprc NXLo+nt5RQSFXJlqvxQgWFgi7WbDpWh6RQZirDqhs8RBs3uqKDFRHnV7MMn1xkcmpD0o OR5Fa+EkXsSam6j7fzQ9Qs62jEunt17o+6kXv30E4tMzjnvmS6KIDqtyjtnREbT3sfeJ HAzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=pUo2IQFe+f/MujS6VFh95qsNE99wNjDHaJmpmU3TV2o=; fh=kxmgoLOwq0qVqmUPkL04hPexpDj5e9uOzNKTl+rJhNo=; b=E5oc6PI/0ILpYOwuP4rcSBwMlvjJuq/vxYCbDXNSVqu4FurY/r7IgUJRwdwbFvDPUz BMV3Pk9u72n2OICAuyRufB/+l5VICoJ/HvTifXHiaJhM04NtV+CtxcMmy6M7OwIavjrH WQviigwmC52eGOBgUQzxn32BKMweNzEc/UoAxqRZ7go9QL/xntUV9Ij6dzco1fl13x8z /W7Z7szSmUsGckW6sCyGcbu/h+7Ga/A92Iq/TWfmITc6vO4vRikFFNt8ujFDziHJq15y kzynxjgd6DiqVFSx3yB5XkOzm+3MUWHhHFiPszGirOO9gB2lgjv/46eyxaLLZ+dlj94I 1YyQ==; darn=lists.bufferbloat.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu-com.20230601.gappssmtp.com; s=20230601; t=1774619901; x=1775224701; darn=lists.bufferbloat.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=pUo2IQFe+f/MujS6VFh95qsNE99wNjDHaJmpmU3TV2o=; b=ubOSEQga0OudNeHTeRd7DN43D7S8y+fB8uJrNH+jeEzpcM7XIMAdzM0UZsoaYXhDVg 0VKa7etx1qw6z8nIgVXl4YUclOuaEkDdll0mTsX8XEKkJpq7HVjkxNk3fkI385KPscZ4 DdbZaUft5V++quzaob4el6SXm4KE48G8CwyxxpxF1lKCYYokETLBCBOZ4Ti67/isexEf o0N9dY2x2U0hATwEOZQT9cEDxW8EV9R2TeJrj1pUecfvgz9yOhNn33LeBqiy24TVXbxP XHTKz7W2RKeX+85EzAfUZvokQojDj7Rldw0AjR/Tr/ZEcvHp8AurLr+ntlVNYyZPbiU3 BvzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774619901; x=1775224701; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pUo2IQFe+f/MujS6VFh95qsNE99wNjDHaJmpmU3TV2o=; b=sarWYy3VaEwZbuYesGKObbgzNMTgrOGaJ3kqbJ7hC3VaKCivR1FH1IZUSD34L128Bm QvpekSosHeF+vz2qcK8aIh+A9EXjRR8OYpWCNVQPMIqSyY/l63MhmhibYorL3fdYcz0Y 6XNxmAancZ1Y3SKsm/xhgarKUJEdiF69VUUpFmn+LrgWummyK6p/hgVutb5ldeDaQDl/ jK4rUNtmvP5FvX/6oI14lS2kWEODDHe5Vk7v1nlfLKcOQMWhNrnaTQl8SIZFpOIFYDC1 nT370d9nHH/xQMPsyLRgvrln+lRPQDMGVxDgD2Rap8XxuUe8wX1tIO86t/4XANg7POxJ PC2g== X-Forwarded-Encrypted: i=1; AJvYcCWsoBpx91rqWuFglMOS9JU5Sfcl+K5Ym8bBz66JSVhPnWd8koMBtxErcXb4OvyPCIOezn54@lists.bufferbloat.net X-Gm-Message-State: AOJu0YxoW4wqgA9AmphQArCynLNR6DzJYn+qBJD7vDVmo2XR8HUz9Yzt I9VZ2T3F+mLWsdZAO0B/2jwzYT6QBNab9w2iLgcbCq44MYRoZTk3Oho8p2/g7DPXHNe+y0+XFch RxmvYjK6YnDusV7OpIgzejlwO4WMuoOmir9yrtJOO X-Gm-Gg: ATEYQzwg4TCOOq6fB/Qx5feMDTx9EFQQxnqHwXDpsZ8ts7MITM2L9D27ggO6tPpOT7D A8iGCFLFSN8K2n8Lzq4FvmPQNn9RCQusWXfZos5015+sxIg2DXXNTisZZ8RM4ZmNMEeLvyfrq6Z /9vZ9OPss35nKnJO7tycB6YFVCZMUbAB9iVmvmrYau5x8Fp+Cf/Xe7+BXZ/3MkU2fQaHfCqJVEZ J1ucqA7zVnASDUB3QSF+Mf74MB5BTLp1sZXswBFWppbXapqH6mkmfwPqo8RJKUci6QmXLLZAZ/G 1qzLyV//HRU1gciIFgQ= X-Received: by 2002:a05:690c:e4ed:b0:798:78fd:fed8 with SMTP id 00721157ae682-79bde02da76mr22406907b3.33.1774619900373; Fri, 27 Mar 2026 06:58:20 -0700 (PDT) MIME-Version: 1.0 References: <20260307212058.169511-1-jhs@mojatatu.com> <20260310184713.7e810431@kernel.org> <20260311175249.54abe1b6@kernel.org> <20260312165113.773a5f44@kernel.org> <20260314080004.3e8575d8@kernel.org> In-Reply-To: From: Jamal Hadi Salim Date: Fri, 27 Mar 2026 09:58:07 -0400 X-Gm-Features: AQROBzDrrPdi990AGAg6-F0M0OF5N4NAsjLwSdwbFH-zTceO6WslvkHOrccP0Mc Message-ID: To: Jakub Kicinski Cc: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, horms@kernel.org, jiri@resnulli.us, toke@toke.dk, vinicius.gomes@intel.com, stephen@networkplumber.org, vladbu@nvidia.com, cake@lists.bufferbloat.net, bpf@vger.kernel.org, ghandatmanas@gmail.com, km.kim1503@gmail.com, security@kernel.org, Victor Nogueira Message-ID-Hash: ANBKGSB2H7G7DZDMKTHWV3JDJMVVMJMR X-Message-ID-Hash: ANBKGSB2H7G7DZDMKTHWV3JDJMVVMJMR X-MailFrom: jhs@mojatatu.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] Re: [PATCH net] net/sched: Mark qdisc for deletion if graft cannot delete List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gU3VuLCBNYXIgMTUsIDIwMjYgYXQgMTE6NTbigK9BTSBKYW1hbCBIYWRpIFNhbGltIDxqaHNA bW9qYXRhdHUuY29tPiB3cm90ZToNCj4NCj4gT24gU2F0LCBNYXIgMTQsIDIwMjYgYXQgMTE6MDDi gK9BTSBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPiB3cm90ZToNCj4gPg0KPiA+IE9u IEZyaSwgMTMgTWFyIDIwMjYgMTU6MzY6MjggLTA0MDAgSmFtYWwgSGFkaSBTYWxpbSB3cm90ZToN Cj4gPiA+IEluIHRoaXMgc3BlY2lmaWMgZXhhbXBsZSwgdGhlIGlzc3VlIGlzIHRoYXQgdGhlIGNs YXNzaWZpZXIgY29kZSBwYXRoDQo+ID4gPiBjYW4ndCByZWxlYXNlIHRoZSBydG5sX2xvY2sgd2hp bGUgdGhlIHFkaXNjJ3MgcmVmY250IGlzIGJpZ2dlciB0aGFuIDEuDQo+ID4gPg0KPiA+ID4gRG9l cyB0aGlzIG1ha2UgbW9yZSBzZW5zZT8NCj4gPiA+IFRoZSByZWFzb24gd2Ugd2VudCB3aXRoIHRo ZSAibWFyayBmb3IgZGVsZXRlIiBhcHByb2FjaCBpcyBhdCB0aW1lIHgrMw0KPiA+ID4gdGhlICJx ZGlzYyBhZGQiIHdvbnQgYmUgYWJsZSB0byBmaW5kIHRoaXMgcWRpc2MuIFRoaXMgaXMgdGhlIGNv bW1vbg0KPiA+ID4gb2JzZXJ2ZWQgcGF0dGVybiAtIGZvciBleGFtcGxlIGRlc2NyaWJlZCBpbiB0 aGUgY29tbWl0IG1lc3NhZ2Ugd2hlcmUNCj4gPiA+IHdlIGdldCBoYXZlIGEgc2xpZ2h0bHkgZGlm ZmVyZW50IGZsb3cgd2l0aCAicWRpc2MgZGVsIiBiZWZvcmUgImZpbHRlcg0KPiA+ID4gYWRkIi4N Cj4gPg0KPiA+IE1heWJlIGEgKGNvbXBsZXRlbHkgdW50ZXN0ZWQpIGRpZmYgd2lsbCBoZWxwIGls bHVzdHJhdGUgbXkgdGhpbmtpbmcNCj4gPiBiZXR0ZXIgdGhhbiB3b3JkczoNCj4gPg0KPg0KPiBE b250IGhhdmUgbXVjaCB0aW1lIHRvZGF5IC0gYnV0IHdpbGwgdHJ5IGluIHRoZSB1cGNvbWluZyBk YXlzLg0KPg0KDQpTb3JyeSAtIHdhcyBhIGJpdCBsb2FkZWQgd2l0aCB3b3JrLiBTbyBmaW5hbGx5 IHRyaWVkIHRoaXMgaWRlYSAtIHNlZQ0KYXR0YWNoZWQuIENvbW1lbnRzOg0KDQpUaGUgYmlnZ2Vy IGNoYWxsZW5nZSBpcyB3aGVuIHdlIGVuY291bnRlciBhIHBob255IGFjdGlvbiAob25lIHRoYXQN CmRvZXMgbm90IGV4aXN0KS4gVGhpcyBnZXRzIGV4YWNlcmJhdGVkIHdoZW4geW91IGhhdmUgYSBs aXN0IG9mIGFjdGlvbnMNCmFuZCB0aGUgcGhvbnkgb25lIGlzIGluIHRoZSBtaWRkbGUuDQogT25l IGF0dGVtcHQgdG8gcmVzb2x2ZSB0aGlzIGludm9sdmVzIGtlZXBpbmcgdGhlIHRyYW5zYWN0aW9u IHN0YXRlIG9mDQp0aGUgbGFzdCBmYWlsZWQgYWN0aW9uIGxvYWRpbmc7IHNlZSB0aGUgdmFyaWFi bGUgcnRubF9mYWlsZWRfYWN0X251bQ0KKGFub3RoZXIgZ2xvYmFsIHZhcmlhYmxlKS4NCg0KVGhl IGdsb2JhbCB2YXJpYWJsZXMgbGVhdmUgYSBzdGVuY2ggKGFuZCB3ZSBzaG91bGQgbm90IGV2ZW4g Y29uc2lkZXINCnN1Y2ggYW4gYXBwcm9hY2gpLCBidXQgdGhpcyBzZWVtcyByZXNvbHZhYmxlIGJ5 IHJldHVybmluZyBiYWNrIGENCiJyZXRyeSBjb250ZXh0Ii4NCg0KdGJoLCBJIGFtIG5vdCBzdXJl IGFib3V0IHRoaXMgYXBwcm9hY2g7IHdoaWxlIHdlIGNhbiBtYWtlIGl0IHdvcmssIHdlDQphcmUg YWRkaW5nIHVubmVjZXNzYXJ5IGNvbXBsZXhpdHkgdG8gYW4gYWxyZWFkeSBjb21wbGV4IHBpZWNl IG9mIGNvZGUuDQoNCmNoZWVycywNCmphbWFsDQoNCj4gY2hlZXJzLA0KPiBqYW1hbA0KPg0KPiA+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9wa3RfY2xzLmggYi9pbmNsdWRlL25ldC9wa3RfY2xz LmgNCj4gPiBpbmRleCA5OWFjNzQ3Yjc5MDYuLmMxM2M5ZTg2MTllNCAxMDA2NDQNCj4gPiAtLS0g YS9pbmNsdWRlL25ldC9wa3RfY2xzLmgNCj4gPiArKysgYi9pbmNsdWRlL25ldC9wa3RfY2xzLmgN Cj4gPiBAQCAtMjcsNiArMjcsOSBAQCB2b2lkIHVucmVnaXN0ZXJfdGNmX3Byb3RvX29wcyhzdHJ1 Y3QgdGNmX3Byb3RvX29wcyAqb3BzKTsNCj4gPiAgI2RlZmluZSBORVRfQ0xTX0FMSUFTX1BSRUZJ WCAibmV0LWNscy0iDQo+ID4gICNkZWZpbmUgTU9EVUxFX0FMSUFTX05FVF9DTFMoa2luZCkgICAg IE1PRFVMRV9BTElBUyhORVRfQ0xTX0FMSUFTX1BSRUZJWCBraW5kKQ0KPiA+DQo+ID4gK2V4dGVy biBjaGFyICpydG5sX2xvYWRfbW9kOw0KPiA+ICt2b2lkIHJ0bmxfbG9hZF9tb2RfY2hlY2sodm9p ZCk7DQo+ID4gKw0KPiA+ICBzdHJ1Y3QgdGNmX2Jsb2NrX2V4dF9pbmZvIHsNCj4gPiAgICAgICAg IGVudW0gZmxvd19ibG9ja19iaW5kZXJfdHlwZSBiaW5kZXJfdHlwZTsNCj4gPiAgICAgICAgIHRj Zl9jaGFpbl9oZWFkX2NoYW5nZV90ICpjaGFpbl9oZWFkX2NoYW5nZTsNCj4gPiBkaWZmIC0tZ2l0 IGEvbmV0L3NjaGVkL2FjdF9hcGkuYyBiL25ldC9zY2hlZC9hY3RfYXBpLmMNCj4gPiBpbmRleCAz MzJmZDk2OTVlNTQuLmMyMWRkMmUzNjU5MiAxMDA2NDQNCj4gPiAtLS0gYS9uZXQvc2NoZWQvYWN0 X2FwaS5jDQo+ID4gKysrIGIvbmV0L3NjaGVkL2FjdF9hcGkuYw0KPiA+IEBAIC0xMzY4LDExICsx MzY4LDE1IEBAIHN0cnVjdCB0Y19hY3Rpb25fb3BzICp0Y19hY3Rpb25fbG9hZF9vcHMoc3RydWN0 IG5sYXR0ciAqbmxhLCB1MzIgZmxhZ3MsDQo+ID4gICNpZmRlZiBDT05GSUdfTU9EVUxFUw0KPiA+ ICAgICAgICAgICAgICAgICBib29sIHJ0bmxfaGVsZCA9ICEoZmxhZ3MgJiBUQ0FfQUNUX0ZMQUdT X05PX1JUTkwpOw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgIGlmIChydG5sX2hlbGQpDQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgcnRubF91bmxvY2soKTsNCj4gPiArICAgICAgICAgICAg ICAgaWYgKHJ0bmxfaGVsZCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChXQVJO X09OX09OQ0UocnRubF9sb2FkX21vZCkpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICBydG5sX2xvYWRfbW9kID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORVRfQUNUX0FMSUFTX1BSRUZJ WCAiJXMiLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYWN0X25hbWUpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUlJf UFRSKC1FQUdBSU4pOw0KPiA+ICsgICAgICAgICAgICAgICB9DQo+ID4gICAgICAgICAgICAgICAg IHJlcXVlc3RfbW9kdWxlKE5FVF9BQ1RfQUxJQVNfUFJFRklYICIlcyIsIGFjdF9uYW1lKTsNCj4g PiAtICAgICAgICAgICAgICAgaWYgKHJ0bmxfaGVsZCkNCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICBydG5sX2xvY2soKTsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICBhX28gPSB0Y19sb29r dXBfYWN0aW9uX24oYWN0X25hbWUpOw0KPiA+DQo+ID4gQEAgLTIxMDcsNiArMjExMSw5IEBAIHN0 YXRpYyBpbnQgdGNmX2FjdGlvbl9hZGQoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpu bGEsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXR0cl9zaXpl LCBmbGFncywgMCwgZXh0YWNrKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCAhPSAtRUFH QUlOKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgICAgICAg ICAgICBydG5sX3VubG9jaygpOw0KPiA+ICsgICAgICAgICAgICAgICBydG5sX2xvYWRfbW9kX2No ZWNrKCk7DQo+ID4gKyAgICAgICAgICAgICAgIHJ0bmxfbG9jaygpOw0KPiA+ICAgICAgICAgfQ0K PiA+DQo+ID4gICAgICAgICBpZiAocmV0IDwgMCkNCj4gPiBkaWZmIC0tZ2l0IGEvbmV0L3NjaGVk L2Nsc19hcGkuYyBiL25ldC9zY2hlZC9jbHNfYXBpLmMNCj4gPiBpbmRleCA0ODI5YzI3NDQ2ZTMu LjFiMGY3NjJkNmU0YiAxMDA2NDQNCj4gPiAtLS0gYS9uZXQvc2NoZWQvY2xzX2FwaS5jDQo+ID4g KysrIGIvbmV0L3NjaGVkL2Nsc19hcGkuYw0KPiA+IEBAIC00Niw2ICs0NiwxOSBAQA0KPiA+ICAv KiBUaGUgbGlzdCBvZiBhbGwgaW5zdGFsbGVkIGNsYXNzaWZpZXIgdHlwZXMgKi8NCj4gPiAgc3Rh dGljIExJU1RfSEVBRCh0Y2ZfcHJvdG9fYmFzZSk7DQo+ID4NCj4gPiArY2hhciAqcnRubF9sb2Fk X21vZDsNCj4gPiArDQo+ID4gK3ZvaWQgcnRubF9sb2FkX21vZF9jaGVjayh2b2lkKQ0KPiA+ICt7 DQo+ID4gKyAgICAgICBjaGFyICptb2QgPSBydG5sX2xvYWRfbW9kOw0KPiA+ICsNCj4gPiArICAg ICAgIGlmIChtb2QpIHsNCj4gPiArICAgICAgICAgICAgICAgcnRubF9sb2FkX21vZCA9IE5VTEw7 DQo+ID4gKyAgICAgICAgICAgICAgIHJlcXVlc3RfbW9kdWxlKCIlcyIsIG1vZCk7DQo+ID4gKyAg ICAgICAgICAgICAgIGtmcmVlKG1vZCk7DQo+ID4gKyAgICAgICB9DQo+ID4gK30NCj4gPiArDQo+ ID4gIC8qIFByb3RlY3RzIGxpc3Qgb2YgcmVnaXN0ZXJlZCBUQyBtb2R1bGVzLiBJdCBpcyBwdXJl IFNNUCBsb2NrLiAqLw0KPiA+ICBzdGF0aWMgREVGSU5FX1JXTE9DSyhjbHNfbW9kX2xvY2spOw0K PiA+DQo+ID4gQEAgLTI1NSwxNyArMjY4LDE1IEBAIHRjZl9wcm90b19sb29rdXBfb3BzKGNvbnN0 IGNoYXIgKmtpbmQsIGJvb2wgcnRubF9oZWxkLA0KPiA+ICAgICAgICAgaWYgKG9wcykNCj4gPiAg ICAgICAgICAgICAgICAgcmV0dXJuIG9wczsNCj4gPiAgI2lmZGVmIENPTkZJR19NT0RVTEVTDQo+ ID4gLSAgICAgICBpZiAocnRubF9oZWxkKQ0KPiA+IC0gICAgICAgICAgICAgICBydG5sX3VubG9j aygpOw0KPiA+ICsgICAgICAgaWYgKHJ0bmxfaGVsZCkgew0KPiA+ICsgICAgICAgICAgICAgICBp ZiAoV0FSTl9PTl9PTkNFKHJ0bmxfbG9hZF9tb2QpKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOw0KPiA+ICsgICAgICAgICAgICAgICBydG5sX2xv YWRfbW9kID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTkVUX0NMU19BTElBU19QUkVGSVggIiVzIiwga2luZCk7DQo+ ID4gKyAgICAgICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FQUdBSU4pOw0KPiA+ICsgICAgICAg fQ0KPiA+ICAgICAgICAgcmVxdWVzdF9tb2R1bGUoTkVUX0NMU19BTElBU19QUkVGSVggIiVzIiwg a2luZCk7DQo+ID4gLSAgICAgICBpZiAocnRubF9oZWxkKQ0KPiA+IC0gICAgICAgICAgICAgICBy dG5sX2xvY2soKTsNCj4gPiAgICAgICAgIG9wcyA9IF9fdGNmX3Byb3RvX2xvb2t1cF9vcHMoa2lu ZCk7DQo+ID4gLSAgICAgICAvKiBXZSBkcm9wcGVkIHRoZSBSVE5MIHNlbWFwaG9yZSBpbiBvcmRl ciB0byBwZXJmb3JtDQo+ID4gLSAgICAgICAgKiB0aGUgbW9kdWxlIGxvYWQuIFNvLCBldmVuIGlm IHdlIHN1Y2NlZWRlZCBpbiBsb2FkaW5nDQo+ID4gLSAgICAgICAgKiB0aGUgbW9kdWxlIHdlIGhh dmUgdG8gcmVwbGF5IHRoZSByZXF1ZXN0LiBXZSBpbmRpY2F0ZQ0KPiA+IC0gICAgICAgICogdGhp cyB1c2luZyAtRUFHQUlOLg0KPiA+IC0gICAgICAgICovDQo+ID4gICAgICAgICBpZiAob3BzKSB7 DQo+ID4gICAgICAgICAgICAgICAgIG1vZHVsZV9wdXQob3BzLT5vd25lcik7DQo+ID4gICAgICAg ICAgICAgICAgIHJldHVybiBFUlJfUFRSKC1FQUdBSU4pOw0KPiA+IEBAIC0yNDU5LDYgKzI0NzAs NyBAQCBzdGF0aWMgaW50IHRjX25ld190ZmlsdGVyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVj dCBubG1zZ2hkciAqbiwNCj4gPiAgICAgICAgICAgICAgICAgICogb2YgdGFyZ2V0IGNoYWluLg0K PiA+ICAgICAgICAgICAgICAgICAgKi8NCj4gPiAgICAgICAgICAgICAgICAgcnRubF9oZWxkID0g dHJ1ZTsNCj4gPiArICAgICAgICAgICAgICAgcnRubF9sb2FkX21vZF9jaGVjaygpOw0KPiA+ICAg ICAgICAgICAgICAgICAvKiBSZXBsYXkgdGhlIHJlcXVlc3QuICovDQo+ID4gICAgICAgICAgICAg ICAgIGdvdG8gcmVwbGF5Ow0KPiA+ICAgICAgICAgfQ0KPiA+IEBAIC0zMjMwLDkgKzMyNDIsMTMg QEAgc3RhdGljIGludCB0Y19jdGxfY2hhaW4oc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5s bXNnaGRyICpuLA0KPiA+ICAgICAgICAgdGNmX2NoYWluX3B1dChjaGFpbik7DQo+ID4gIGVycm91 dF9ibG9jazoNCj4gPiAgICAgICAgIHRjZl9ibG9ja19yZWxlYXNlKHEsIGJsb2NrLCB0cnVlKTsN Cj4gPiAtICAgICAgIGlmIChlcnIgPT0gLUVBR0FJTikNCj4gPiArICAgICAgIGlmIChlcnIgPT0g LUVBR0FJTikgew0KPiA+ICsgICAgICAgICAgICAgICBydG5sX3VubG9jaygpOw0KPiA+ICsgICAg ICAgICAgICAgICBydG5sX2xvYWRfbW9kX2NoZWNrKCk7DQo+ID4gKyAgICAgICAgICAgICAgIHJ0 bmxfbG9jaygpOw0KPiA+ICAgICAgICAgICAgICAgICAvKiBSZXBsYXkgdGhlIHJlcXVlc3QuICov DQo+ID4gICAgICAgICAgICAgICAgIGdvdG8gcmVwbGF5Ow0KPiA+ICsgICAgICAgfQ0KPiA+ICAg ICAgICAgcmV0dXJuIGVycjsNCj4gPg0KPiA+ICBlcnJvdXRfYmxvY2tfbG9ja2VkOg0K