From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=mojatatu.com header.i=@mojatatu.com header.a=rsa-sha256 header.s=google header.b=KSCehRLP; arc=none (Message is not ARC signed); dmarc=none Received: from mail-qk2-x2b.google.com (mail-qk2-x2b.google.com [IPv6:2607:f8b0:4864:34::2b]) by mail.toke.dk (Postfix) with ESMTPS id 55ADB17039DA for ; Sat, 26 Sep 2026 19:49:17 +0200 (CEST) Received: by mail-qk2-x2b.google.com with SMTP id af79cd13be357-93c65d5e6f8so15879385a.0 for ; Sat, 26 Sep 2026 10:49:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu.com; s=google; t=1790444956; x=1791049756; darn=lists.bufferbloat.net; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=/4LwfMZnrjmSOTF2KrlpJYTkq/+NuFc3IB5nSeQZR7A=; b=KSCehRLPp4beYmIqzoeYMSQoYGXwU7NwMuYigCRX/g6afP25nMZ8shlVjf0n3alGUT FM2sHzXSfNk2N0ir4QDWEji2GknsieIbp4DAj6xpyqLGtpw9+qj67f2icvxS/yjLiMr+ Bmo4W/u1Hb0+X43u/iesGEIC0KYDFk3027MAY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790444956; x=1791049756; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=/4LwfMZnrjmSOTF2KrlpJYTkq/+NuFc3IB5nSeQZR7A=; b=knwQEv1aatukNFBuGDePrgUtZC55r48yih/HIc9XdTr0iHqhpPWAvag5iMjD6eaVkq vCSl/tBc0OOsKYabvzUlMdnNPgxb3WS8JjU58GFLvvGrybNgkF/qOK0eYzEBCJW/J9xR 3ELrbZxLAVQ1yGZwSaqVW5VCk4/g06ldobhRSZ7cH7+t/H1RMNoxmcIkHphYXlqB4aAm /BwIfBHCDal8Q1lV02EhwQvB21FRM43EDbTaUkOg1LoWfHDJmtjVRDtgeK8Gx15F7Dvx MICjP8mqnbTZqsgW1HJWpWtZgMcwPT87x2LZ6p5q3uEiJC5yaPzH3PJLHesp9LxSG7X/ MFnA== X-Forwarded-Encrypted: i=1; AKwUvByK6vMowc9D3zLJ2S9v2+mx+6Mh4aRmAV+HQwkLClb69QqqEfoprfEYnmAEfEo+5WX8Ijk7@lists.bufferbloat.net X-Gm-Message-State: AFuF++k0t0+onaZIhplnhQPn/rmbnlH4VMt7mSPQKahzED0S6IaYh73w 9VUbEzhJVM8URzyacW7HQPLbB0Lhx/AaTYB7od6LpDiXPRFLm5/zHLq02zvd5BVrTw== X-Gm-Gg: AYBFou34NGGQYsORtpJdckkVL8Z8lqOYV+xQ8r8WY/OaKM6zqIw6xjlzVAsTypcR6ym NpNYVci0lpVCRPNv6j/X+GY3yqv9Bfypd2yjHtd1QQdx6wGD/ifCAGPqmyzthF53usIhORB2+tK 9Jol8vVYC8pB7+bn+jIuD1GZDdlgaGv73eEMA+V9kTNjKYYMImYI3eLrqdP/aEVGn5vhse666NL f3O08Pj6joIE9QQJcKi8qt0XchEK7IjJ0gP6h6WqqfKiwW/yUZjKAS1CzQXulojZtjMJmJArc7H 5jjAa+YWS0OOYeeQZ0uO/FNXxe3sbJmpQuYb05P+l+egZD2zYJrClKtlvXR2aQGFssctgouGfeU NFxxMAno3n0yCW3NCZXtEZcJhuq0KuvuShJeY0g+y1xR/0l+DoK2hb0lvjr0gNTfLoAcZoHW9j4 DDPeq7Pp+Y2wXSqSU7ylJF2wsMRbyT+L92XXhtfXKDM8LI4VPQXUj8Xu9kY2ZUYxKCqDAu9T5Jd 0Tb9EI0Pikv2y0JKJjNtAkDEiUlEve238/0Lj5dtMlBl6RGDAtlNWXKSo1O X-Received: by 2002:a05:620a:404d:b0:939:9f51:29a0 with SMTP id af79cd13be357-93c43ce6b41mr1137143885a.50.1790444955590; Sat, 26 Sep 2026 10:49:15 -0700 (PDT) Received: from mbili.tail33bf8.ts.net ([64.203.83.2]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-9144d0bda89sm13676836d6.14.2026.09.26.10.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Sep 2026 10:49:15 -0700 (PDT) From: Jamal Hadi Salim To: netdev@vger.kernel.org Cc: Jamal Hadi Salim , Jiri Pirko , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Victor Nogueira , hybris , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , moeller0@gmx.de, cake@lists.bufferbloat.net, Sashiko Date: Sat, 26 Sep 2026 13:49:12 -0400 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: 63XQRPX3LFRWIKAH4ECEVUMSA5AHLQYS X-Message-ID-Hash: 63XQRPX3LFRWIKAH4ECEVUMSA5AHLQYS 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 X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] [PATCH net-next v2] net/sched: cap the accounted backlog before it can wrap List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: ZnFfY29kZWwsIGNha2UsIGNvZGVsLCBwaWUsIGZxX3BpZSBhbmQgZHVhbHBpMiBhY2NvdW50IGV2 ZXJ5IGVucXVldWVkDQpwYWNrZXQncyBzdGFiLWFkanVzdGVkIGxlbmd0aCBpbnRvIGEgMzItYml0 IHNjaC0+cXN0YXRzLmJhY2tsb2cuDQpmcV9jb2RlbC9jb2RlbCB1c2VzIGl0IGRvIGRlY2lkZSBp ZiB0aGV5IHNob3VsZCBkcm9wIGEgcGFja2V0IGF0IGRlcTsNCmNha2UgdXNlcyBpdCB0byBwcnVu ZSB0aGUgbG9uZ2VzdC1mbG93IGhlYXAgZnJvbSBwZXItZmxvdyBiYWNrbG9nczsNCnBpZSBhbmQg ZnFfcGllIHVzZSBpdCB0byBtYWtlIGVhcmx5IGRyb3AgZGVjaXNpb25zIGFuZCwgZHVhbHBpMiBk ZWNpZGVzDQptdXN0X2Ryb3AoKSBvbiBpdC4gUkVEIGNhbiBjYW4gZGVjaWRlIG9uIGEgY2hpbGQn cyBiYWNrbG9nIGJhc2VkIG9uIGl0Lg0KQSBjcmFmdGVkIHRjIHNpemUgdGFibGUgKFRDX1NUQUIp IGluZmxhdGVzIHFkaXNjX3BrdF9sZW4oKSB1cCB0bw0KUURJU0NfUEtUX0xFTl9NQVggKDEgTWlC KSwgc28gYSBmZXcgdGhvdXNhbmQgcGFja2V0cyB3cmFwIHRoZSBjb3VudGVyDQptb2QgMl4zMi4g VGhlIEFRTSBhbGdvIHRoZW4gcmVhZHMgYSBzbWFsbCBiYWNrbG9nIGFuZCBtYWtlcyB0aGUgd3Jv bmcNCmRyb3AgZGVjaXNpb24sIGFuZCB0aGUgZGVxdWV1ZS1zaWRlIHN1YnRyYWN0aW9ucyBrZWVw IHRoZSBjb3VudGVyIGNvcnJ1cHQuDQoNCkZpeDoNCkRyb3AgYXQgZW5xdWV1ZSBvbmNlIHRoZSBh Y2NvdW50ZWQgYmFja2xvZyB3b3VsZCBjcm9zcyBRRElTQ19NQVhfQkFDS0xPRw0KKFUzMl9NQVgg LSBRRElTQ19QS1RfTEVOX01BWCksIHRoZSBsYXJnZXN0IGJhY2tsb2cgb25lIG1vcmUgbWF4aW11 bS1zaXplDQpwYWNrZXQgY2Fubm90IHdyYXAuICBUaGlzIGZvbGxvd3MgdGhlIGV4aXN0aW5nIGJm aWZvL2dyZWQgYXBwcm9hY2gNCihzYWZlIGJlY2F1c2UgaXRzIGxpbWl0IGlzIGNoZWNrZWQgYWdh aW5zdCB0aGUgYWNjb3VudGVkIHBhY2tldCBsZW5ndGgpOw0KdGhlIGZpeGVkIHFkaXNjcycgbGlt aXRzIGFyZSBwYWNrZXQgY291bnRzIG9yIG90aGVyd2lzZSBkbyBub3QgYm91bmQNCnRoZSBhZ2dy ZWdhdGUgYnl0ZXMsIHNvIHRoZXkgbmVlZCB0aGUgYnl0ZSBib3VuZCBoZXJlLg0KDQpDb25kaXRp b25zIHRvIHJlY3JlYXRlIHRoZSBidWc6IENBUF9ORVRfQURNSU4gaW4gYSB1c2VyIG5hbWVzcGFj ZTsNCkNPTkZJR19ORVRfU0NIX0ZRX0NPREVMPXkuDQoNCiAgaXAgdHVudGFwIGFkZCB0dW4wIG1v ZGUgdHVuDQogIGlwIGxpbmsgc2V0IHR1bjAgdHhxdWV1ZWxlbiAzMiB1cA0KICBpcCBhZGRyIGFk ZCAxMC45OS4wLjEvMjQgZGV2IHR1bjANCiAgdGMgcWRpc2MgYWRkIGRldiB0dW4wIHJvb3QgaGFu ZGxlIDE6IHN0YWIgb3ZlcmhlYWQgMjAwMDAwMDAwMCBcDQogICAgICBmcV9jb2RlbCBmbG93cyAx IGxpbWl0IDIwMDAwIGVjbg0KICAjIGhvbGQgdGhlIHR1biBmZCBvcGVuIHdpdGhvdXQgcmVhZGlu ZyAoSUZGX0JBQ0tQUkVTU1VSRSkgc28gdGhlIHFkaXNjDQogICMgYmFja2xvZyBwZXJzaXN0cywg dGhlbiBzZW5kIDYwMDAgcGFja2V0cy4gQXQgNDA5NiByZXNpZGVudCAxIE1pQg0KICAjIHBhY2tl dHMgdGhlIGNvdW50ZXIgd3JhcHM7IHRoZSB1bmZpeGVkIGtlcm5lbCB0aGVuIHJlcG9ydHMgYSB3 cmFwcGVkDQogICMgYmFja2xvZyBmb3IgNTk2OSByZXNpZGVudCBwYWNrZXRzLCB0aGUgZml4ZWQg b25lIGRyb3BzIGF0IHRoZSBjZWlsaW5nLg0KDQogICMgUkVEIHdpdGggYSBncmFmdGVkIHBhY2tl dC1saW1pdGVkIGNoaWxkIHJlYWRzIHRoZSBjaGlsZCdzIGJhY2tsb2cgdGhlDQogICMgc2FtZSB3 YXk7IHRoZSBkZWZhdWx0IGJmaWZvIGNoaWxkIGlzIGJ5dGUtbGltaXRlZCBhbmQgc2FmZSwgcGZp Zm8gaXMNCiAgIyBwYWNrZXQtbGltaXRlZDoNCiAgdGMgcWRpc2MgYWRkIGRldiB0dW4wIHJvb3Qg aGFuZGxlIDE6IHN0YWIgb3ZlcmhlYWQgMjAwMDAwMDAwMCBcDQogICAgICByZWQgbGltaXQgMTAw MDAwMDAwMCBtaW4gNTAwMCBtYXggMTAwMDAgYXZwa3QgMTAwMCBidXJzdCAzMiBlY24NCiAgdGMg cWRpc2MgYWRkIGRldiB0dW4wIHBhcmVudCAxOjEgaGFuZGxlIDMwOiBwZmlmbyBsaW1pdCAxMDAw MDANCg0KUmVwb3J0ZWQtYnk6IFNhc2hpa28gKG5pcGEpIDxzYXNoaWtvLWJvdEBrZXJuZWwub3Jn Pg0KQ2xvc2VzOiBodHRwczovL25ldGRldi1haS5ib3RzLmxpbnV4LmRldi9zYXNoaWtvLyMvcGF0 Y2hzZXQvMjAyNjA4MTgxMDExMzAuMTYyMDMtMS1qaHNAbW9qYXRhdHUuY29tDQpMaW5rOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9uZXRkZXYvMjAyNjA4MTgxMDExMzAuMTYyMDMtMS1qaHNAbW9q YXRhdHUuY29tLw0KVGVzdGVkLWJ5OiBoeWJyaXMgPGh5YnJpc0Btb2phdGF0dS5haT4NClNpZ25l ZC1vZmYtYnk6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0dS5jb20+DQotLS0NCnYyICgy MDI2LTA5LTI1KSDigJQgYXBwcm9hY2ggcmV3cml0ZSBwZXIgbGlzdCBkaXNjdXNzaW9uIG9mIHYx Og0KDQogIHYxIGFwcHJvYWNoZWQgdGhlIHdyYXAgYnkgd2lkZW5pbmcgdGhlIHBlci1mbG93IGJh Y2tsb2cgY291bnRlcnMgdG8NCiAgdTY0LiBFcmljIER1bWF6ZXQgc2FpZCAiU3RvcmluZyA0R0Ig aW4gYSBxZGlzYyBpcyBhYnNvbHV0ZWx5IGluc2FuZSIgOy0pDQogIGFuZCBhc2tlZCBmb3IgYSBk cm9wIGF0IGVucXVldWUgb25jZSB0aGUgYmFja2xvZyBhcHByb2FjaGVzIHRoZSB3cmFwIHBvaW50 Lg0KICBTZWJhc3RpYW4gTW9lbGxlciBub3RlZCB0Yy1zdGFiIGlzIHRoZSBnZW5lcmljIG92ZXJo ZWFkLWFjY291bnRpbmcgbWVjaGFuaXNtLA0KICBzbyB0aGUgZml4IG11c3Qgbm90IHBlbmFsaXpl IG5vcm1hbCBzdGFiIHVzZS4NCg0KICB2MiByZXBsYWNlcyB0aGUgdTY0IHdpZGVuaW5nIHdpdGgg YW4gZW5xdWV1ZS1zaWRlIHByZS1jaGVjayBhZ2FpbnN0DQogIFFESVNDX01BWF9CQUNLTE9HIChV MzJfTUFYIC0gUURJU0NfUEtUX0xFTl9NQVgpIGFuZCBkcm9wcyB3aXRoDQogIFFESVNDX0RST1Bf T1ZFUkxJTUlULiBObyBjb3VudGVyIGlzIHdpZGVuZWQsIHNvIHRoZSAzMi1iaXQNCiAgc2NoLT5x c3RhdHMuYmFja2xvZyB0aGUgQVFNIHFkaXNjIHJlYWRzIGNhbiBubyBsb25nZXIgd3JhcC4gU2Ft ZSBwYXR0ZXJuDQogIGluIG90aGVyIHFkaXNjcyBmaXhlZCBpbiBvbmUgcGF0Y2g6IGZxX2NvZGVs LCBjYWtlLCBjb2RlbCwgcGllLCBmcV9waWUsDQogIGR1YWxwaTIsIFJFRC4NCiAgTm90ZTogdjEg dG91Y2hlZCBmcV9jb2RlbCBhbmQgY2FrZSBvbmx5Lg0KDQogaW5jbHVkZS9uZXQvcGt0X3NjaGVk LmggIHwgIDUgKysrKysNCiBuZXQvc2NoZWQvc2NoX2Nha2UuYyAgICAgfCAyOCArKysrKysrKysr KysrKysrKysrKysrKysrKy0tDQogbmV0L3NjaGVkL3NjaF9jb2RlbC5jICAgIHwgMTcgKysrKysr KysrKy0tLS0tLS0NCiBuZXQvc2NoZWQvc2NoX2R1YWxwaTIuYyAgfCAgMiArKw0KIG5ldC9zY2hl ZC9zY2hfZnFfY29kZWwuYyB8ICA3ICsrKysrKysNCiBuZXQvc2NoZWQvc2NoX2ZxX3BpZS5jICAg fCAgNCArKystDQogbmV0L3NjaGVkL3NjaF9waWUuYyAgICAgIHwgIDQgKysrLQ0KIG5ldC9zY2hl ZC9zY2hfcmVkLmMgICAgICB8ICA4ICsrKysrKystDQogOCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNl cnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L3Br dF9zY2hlZC5oIGIvaW5jbHVkZS9uZXQvcGt0X3NjaGVkLmgNCmluZGV4IDkwZDNlNzk0M2IxOS4u MzUxYjkyZjk1NmVmIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9uZXQvcGt0X3NjaGVkLmgNCisrKyBi L2luY2x1ZGUvbmV0L3BrdF9zY2hlZC5oDQpAQCAtMTMsNiArMTMsMTEgQEANCiAjZGVmaW5lIERF RkFVTFRfVFhfUVVFVUVfTEVOCTEwMDANCiAjZGVmaW5lIFNUQUJfU0laRV9MT0dfTUFYCTMwDQog I2RlZmluZSBRRElTQ19QS1RfTEVOX01BWAkoMSA8PCAyMCkJLyogMSBNaUIgKi8NCisvKg0KKyAq IExhcmdlc3QgYWNjb3VudGVkIGJhY2tsb2cgZm9yIHdoaWNoIGVucXVldWluZyBvbmUgbW9yZSBt YXhpbXVtLXNpemUNCisgKiBwYWNrZXQgY2Fubm90IHdyYXAgdGhlIDMyLWJpdCBzY2gtPnFzdGF0 cy5iYWNrbG9nLg0KKyAqLw0KKyNkZWZpbmUgUURJU0NfTUFYX0JBQ0tMT0cJKFUzMl9NQVggLSBR RElTQ19QS1RfTEVOX01BWCkNCiANCiBzdHJ1Y3QgcWRpc2Nfd2Fsa2VyIHsNCiAJaW50CXN0b3A7 DQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9jYWtlLmMgYi9uZXQvc2NoZWQvc2NoX2Nha2Uu Yw0KaW5kZXggZGM5MzI2NzAyOWU3Li42YTE2NTQ2YWE1YjAgMTAwNjQ0DQotLS0gYS9uZXQvc2No ZWQvc2NoX2Nha2UuYw0KKysrIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMNCkBAIC0xNzc2LDYgKzE3 NzYsMTQgQEAgc3RhdGljIHMzMiBjYWtlX2VucXVldWUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3Ry dWN0IFFkaXNjICpzY2gsDQogCWlkeC0tOw0KIAlmbG93ID0gJmItPmZsb3dzW2lkeF07DQogDQor CWlmICh1bmxpa2VseSgodTY0KXNjaC0+cXN0YXRzLmJhY2tsb2cgKyBsZW4gPiBRRElTQ19NQVhf QkFDS0xPRykpIHsNCisJCVdSSVRFX09OQ0UoZmxvdy0+ZHJvcHBlZCwgZmxvdy0+ZHJvcHBlZCAr IDEpOw0KKwkJV1JJVEVfT05DRShiLT50aW5fZHJvcHBlZCwgYi0+dGluX2Ryb3BwZWQgKyAxKTsN CisJCXFkaXNjX3FzdGF0c19vdmVybGltaXQoc2NoKTsNCisJCXJldHVybiBxZGlzY19kcm9wX3Jl YXNvbihza2IsIHNjaCwgdG9fZnJlZSwNCisJCQkJCSBRRElTQ19EUk9QX09WRVJMSU1JVCk7DQor CX0NCisNCiAJLyogZW5zdXJlIHNoYXBlciBzdGF0ZSBpc24ndCBzdGFsZSAqLw0KIAlpZiAoIWIt PnRpbl9iYWNrbG9nKSB7DQogCQlpZiAoa3RpbWVfYmVmb3JlKGItPnRpbWVfbmV4dF9wYWNrZXQs IG5vdykpDQpAQCAtMTgwMSw3ICsxODA5LDcgQEAgc3RhdGljIHMzMiBjYWtlX2VucXVldWUoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IFFkaXNjICpzY2gsDQogCQlXUklURV9PTkNFKGItPm1h eF9za2JsZW4sIGxlbik7DQogDQogCWlmIChxZGlzY19wa3Rfc2Vncyhza2IpID4gMSAmJiBxLT5j b25maWctPnJhdGVfZmxhZ3MgJiBDQUtFX0ZMQUdfU1BMSVRfR1NPKSB7DQotCQlzdHJ1Y3Qgc2tf YnVmZiAqc2VncywgKm5za2I7DQorCQlzdHJ1Y3Qgc2tfYnVmZiAqc2VncywgKm5za2IsICpzZWc7 DQogCQluZXRkZXZfZmVhdHVyZXNfdCBmZWF0dXJlcyA9IG5ldGlmX3NrYl9mZWF0dXJlcyhza2Ip Ow0KIAkJdW5zaWduZWQgaW50IHNsZW4gPSAwLCBudW1zZWdzID0gMDsNCiANCkBAIC0xODA5LDYg KzE4MTcsMjMgQEAgc3RhdGljIHMzMiBjYWtlX2VucXVldWUoc3RydWN0IHNrX2J1ZmYgKnNrYiwg c3RydWN0IFFkaXNjICpzY2gsDQogCQlpZiAoSVNfRVJSX09SX05VTEwoc2VncykpDQogCQkJcmV0 dXJuIHFkaXNjX2Ryb3Aoc2tiLCBzY2gsIHRvX2ZyZWUpOw0KIA0KKwkJLyogVGhlIHNlZ21lbnQg bGlzdCBpcyBhY2NvdW50ZWQgYnkgdGhlIHN1bSBvZiBpdHMgbGVuZ3RocywNCisJCSAqIHdoaWNo IGNhbiBleGNlZWQgdGhlIG9yaWdpbmFsIHBhY2tldCdzIGFjY291bnRlZCBsZW5ndGgsIHNvDQor CQkgKiBzdW0gaXQgYmVmb3JlIGxpbmtpbmcgYW55IHNlZ21lbnQgYW5kIGRyb3AgdGhlIHdob2xl IGxpc3QgaWYNCisJCSAqIHRoZSBwb3N0LXNwbGl0IHRvdGFsIHdvdWxkIGNyb3NzIHRoZSBjZWls aW5nLg0KKwkJICovDQorCQlza2JfbGlzdF93YWxrX3NhZmUoc2Vncywgc2VnLCBuc2tiKQ0KKwkJ CXNsZW4gKz0gc2VnLT5sZW47DQorDQorCQlpZiAodW5saWtlbHkoKHU2NClzY2gtPnFzdGF0cy5i YWNrbG9nICsgc2xlbiA+IFFESVNDX01BWF9CQUNLTE9HKSkgew0KKwkJCWtmcmVlX3NrYl9saXN0 X3JlYXNvbihzZWdzLCBTS0JfRFJPUF9SRUFTT05fUURJU0NfRFJPUCk7DQorCQkJV1JJVEVfT05D RShmbG93LT5kcm9wcGVkLCBmbG93LT5kcm9wcGVkICsgMSk7DQorCQkJV1JJVEVfT05DRShiLT50 aW5fZHJvcHBlZCwgYi0+dGluX2Ryb3BwZWQgKyAxKTsNCisJCQlxZGlzY19xc3RhdHNfb3Zlcmxp bWl0KHNjaCk7DQorCQkJcmV0dXJuIHFkaXNjX2Ryb3BfcmVhc29uKHNrYiwgc2NoLCB0b19mcmVl LA0KKwkJCQkJCSBRRElTQ19EUk9QX09WRVJMSU1JVCk7DQorCQl9DQorDQogCQlza2JfbGlzdF93 YWxrX3NhZmUoc2Vncywgc2VncywgbnNrYikgew0KIAkJCXNrYl9tYXJrX25vdF9vbl9saXN0KHNl Z3MpOw0KIAkJCXFkaXNjX3NrYl9jYihzZWdzKS0+cGt0X2xlbiA9IHNlZ3MtPmxlbjsNCkBAIC0x ODIwLDcgKzE4NDUsNiBAQCBzdGF0aWMgczMyIGNha2VfZW5xdWV1ZShzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBzdHJ1Y3QgUWRpc2MgKnNjaCwNCiANCiAJCQlxZGlzY19xbGVuX2luYyhzY2gpOw0KIAkJ CW51bXNlZ3MrKzsNCi0JCQlzbGVuICs9IHNlZ3MtPmxlbjsNCiAJCQlxLT5idWZmZXJfdXNlZCAr PSBzZWdzLT50cnVlc2l6ZTsNCiAJCQlXUklURV9PTkNFKGItPnBhY2tldHMsIGItPnBhY2tldHMg KyAxKTsNCiAJCX0NCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2NvZGVsLmMgYi9uZXQvc2No ZWQvc2NoX2NvZGVsLmMNCmluZGV4IDZhYTU4MjlkNjk2MS4uZjI3NzBhNDM4MDcwIDEwMDY0NA0K LS0tIGEvbmV0L3NjaGVkL3NjaF9jb2RlbC5jDQorKysgYi9uZXQvc2NoZWQvc2NoX2NvZGVsLmMN CkBAIC0xMTYsMTUgKzExNiwxOCBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmNvZGVsX3BlZWso c3RydWN0IFFkaXNjICpzY2gpDQogc3RhdGljIGludCBjb2RlbF9xZGlzY19lbnF1ZXVlKHN0cnVj dCBza19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2NoLA0KIAkJCSAgICAgICBzdHJ1Y3Qgc2tf YnVmZiAqKnRvX2ZyZWUpDQogew0KLQlzdHJ1Y3QgY29kZWxfc2NoZWRfZGF0YSAqcTsNCisJc3Ry dWN0IGNvZGVsX3NjaGVkX2RhdGEgKnEgPSBxZGlzY19wcml2KHNjaCk7DQogDQotCWlmIChsaWtl bHkocWRpc2NfcWxlbihzY2gpIDwgc2NoLT5saW1pdCkpIHsNCi0JCWNvZGVsX3NldF9lbnF1ZXVl X3RpbWUoc2tiKTsNCi0JCXJldHVybiBxZGlzY19lbnF1ZXVlX3RhaWwoc2tiLCBzY2gpOw0KKwlp ZiAodW5saWtlbHkocWRpc2NfcWxlbihzY2gpID49IHNjaC0+bGltaXQpIHx8DQorCSAgICB1bmxp a2VseSgodTY0KXNjaC0+cXN0YXRzLmJhY2tsb2cgKyBxZGlzY19wa3RfbGVuKHNrYikgPg0KKwkJ ICAgICBRRElTQ19NQVhfQkFDS0xPRykpIHsNCisJCVdSSVRFX09OQ0UocS0+ZHJvcF9vdmVybGlt aXQsIHEtPmRyb3Bfb3ZlcmxpbWl0ICsgMSk7DQorCQlyZXR1cm4gcWRpc2NfZHJvcF9yZWFzb24o c2tiLCBzY2gsIHRvX2ZyZWUsDQorCQkJCQkgUURJU0NfRFJPUF9PVkVSTElNSVQpOw0KIAl9DQot CXEgPSBxZGlzY19wcml2KHNjaCk7DQotCVdSSVRFX09OQ0UocS0+ZHJvcF9vdmVybGltaXQsIHEt PmRyb3Bfb3ZlcmxpbWl0ICsgMSk7DQotCXJldHVybiBxZGlzY19kcm9wX3JlYXNvbihza2IsIHNj aCwgdG9fZnJlZSwgUURJU0NfRFJPUF9PVkVSTElNSVQpOw0KKw0KKwljb2RlbF9zZXRfZW5xdWV1 ZV90aW1lKHNrYik7DQorCXJldHVybiBxZGlzY19lbnF1ZXVlX3RhaWwoc2tiLCBzY2gpOw0KIH0N CiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgY29kZWxfcG9saWN5W1RDQV9DT0RF TF9NQVggKyAxXSA9IHsNCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2R1YWxwaTIuYyBiL25l dC9zY2hlZC9zY2hfZHVhbHBpMi5jDQppbmRleCA0OTQ3ZGVmN2M0OWUuLmZmNWQ1NWQ1MDJmMiAx MDA2NDQNCi0tLSBhL25ldC9zY2hlZC9zY2hfZHVhbHBpMi5jDQorKysgYi9uZXQvc2NoZWQvc2No X2R1YWxwaTIuYw0KQEAgLTM5Miw2ICszOTIsOCBAQCBzdGF0aWMgaW50IGR1YWxwaTJfZW5xdWV1 ZV9za2Ioc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IFFkaXNjICpzY2gsDQogCXN0cnVjdCBk dWFscGkyX3NrYl9jYiAqY2I7DQogDQogCWlmICh1bmxpa2VseShxZGlzY19xbGVuKHNjaCkgPj0g c2NoLT5saW1pdCkgfHwNCisJICAgIHVubGlrZWx5KCh1NjQpc2NoLT5xc3RhdHMuYmFja2xvZyAr IHFkaXNjX3BrdF9sZW4oc2tiKSA+DQorCQkgICAgIFFESVNDX01BWF9CQUNLTE9HKSB8fA0KIAkg ICAgdW5saWtlbHkoKHU2NClxLT5tZW1vcnlfdXNlZCArIHNrYi0+dHJ1ZXNpemUgPiBxLT5tZW1v cnlfbGltaXQpKSB7DQogCQlxZGlzY19xc3RhdHNfb3ZlcmxpbWl0KHNjaCk7DQogCQlpZiAoc2ti X2luX2xfcXVldWUoc2tiKSkNCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMg Yi9uZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMNCmluZGV4IDk2OWIyNTEwYjBiOC4uZTk4YmFmYTQ3 ZGEzIDEwMDY0NA0KLS0tIGEvbmV0L3NjaGVkL3NjaF9mcV9jb2RlbC5jDQorKysgYi9uZXQvc2No ZWQvc2NoX2ZxX2NvZGVsLmMNCkBAIC0yMDEsNiArMjAxLDEzIEBAIHN0YXRpYyBpbnQgZnFfY29k ZWxfZW5xdWV1ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgUWRpc2MgKnNjaCwNCiAJfQ0K IAlpZHgtLTsNCiANCisJaWYgKHVubGlrZWx5KCh1NjQpc2NoLT5xc3RhdHMuYmFja2xvZyArIHFk aXNjX3BrdF9sZW4oc2tiKSA+DQorCQkgICAgIFFESVNDX01BWF9CQUNLTE9HKSkgew0KKwkJcS0+ ZHJvcF9vdmVybGltaXQrKzsNCisJCXJldHVybiBxZGlzY19kcm9wX3JlYXNvbihza2IsIHNjaCwg dG9fZnJlZSwNCisJCQkJCSBRRElTQ19EUk9QX09WRVJMSU1JVCk7DQorCX0NCisNCiAJY29kZWxf c2V0X2VucXVldWVfdGltZShza2IpOw0KIAlmbG93ID0gJnEtPmZsb3dzW2lkeF07DQogCWZsb3df cXVldWVfYWRkKGZsb3csIHNrYik7DQpkaWZmIC0tZ2l0IGEvbmV0L3NjaGVkL3NjaF9mcV9waWUu YyBiL25ldC9zY2hlZC9zY2hfZnFfcGllLmMNCmluZGV4IDU5ODI4NDdkZjhmOC4uNmU2MmNlOTkx YzFjIDEwMDY0NA0KLS0tIGEvbmV0L3NjaGVkL3NjaF9mcV9waWUuYw0KKysrIGIvbmV0L3NjaGVk L3NjaF9mcV9waWUuYw0KQEAgLTE1NSw3ICsxNTUsOSBAQCBzdGF0aWMgaW50IGZxX3BpZV9xZGlz Y19lbnF1ZXVlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2NoLA0KIAltZW1v cnlfbGltaXRlZCA9IHEtPm1lbW9yeV91c2FnZSA+IHEtPm1lbW9yeV9saW1pdCArIHNrYi0+dHJ1 ZXNpemU7DQogDQogCS8qIENoZWNrcyBpZiB0aGUgcWRpc2MgaXMgZnVsbCAqLw0KLQlpZiAodW5s aWtlbHkocWRpc2NfcWxlbihzY2gpID49IHNjaC0+bGltaXQpKSB7DQorCWlmICh1bmxpa2VseShx ZGlzY19xbGVuKHNjaCkgPj0gc2NoLT5saW1pdCkgfHwNCisJICAgIHVubGlrZWx5KCh1NjQpc2No LT5xc3RhdHMuYmFja2xvZyArIHFkaXNjX3BrdF9sZW4oc2tiKSA+DQorCQkgICAgIFFESVNDX01B WF9CQUNLTE9HKSkgew0KIAkJcS0+c3RhdHMub3ZlcmxpbWl0Kys7DQogCQlnb3RvIG91dDsNCiAJ fSBlbHNlIGlmICh1bmxpa2VseShtZW1vcnlfbGltaXRlZCkpIHsNCmRpZmYgLS1naXQgYS9uZXQv c2NoZWQvc2NoX3BpZS5jIGIvbmV0L3NjaGVkL3NjaF9waWUuYw0KaW5kZXggM2I3ODYzZmZkMjg0 Li42NDA5NWQyN2RlY2MgMTAwNjQ0DQotLS0gYS9uZXQvc2NoZWQvc2NoX3BpZS5jDQorKysgYi9u ZXQvc2NoZWQvc2NoX3BpZS5jDQpAQCAtODksNyArODksOSBAQCBzdGF0aWMgaW50IHBpZV9xZGlz Y19lbnF1ZXVlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBRZGlzYyAqc2NoLA0KIAlzdHJ1 Y3QgcGllX3NjaGVkX2RhdGEgKnEgPSBxZGlzY19wcml2KHNjaCk7DQogCWJvb2wgZW5xdWV1ZSA9 IGZhbHNlOw0KIA0KLQlpZiAodW5saWtlbHkocWRpc2NfcWxlbihzY2gpID49IHNjaC0+bGltaXQp KSB7DQorCWlmICh1bmxpa2VseShxZGlzY19xbGVuKHNjaCkgPj0gc2NoLT5saW1pdCkgfHwNCisJ ICAgIHVubGlrZWx5KCh1NjQpc2NoLT5xc3RhdHMuYmFja2xvZyArIHFkaXNjX3BrdF9sZW4oc2ti KSA+DQorCQkgICAgIFFESVNDX01BWF9CQUNLTE9HKSkgew0KIAkJV1JJVEVfT05DRShxLT5zdGF0 cy5vdmVybGltaXQsIHEtPnN0YXRzLm92ZXJsaW1pdCArIDEpOw0KIAkJZ290byBvdXQ7DQogCX0N CmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2NoX3JlZC5jIGIvbmV0L3NjaGVkL3NjaF9yZWQuYw0K aW5kZXggZDc1OTgyMTQyNzBiLi5kZmYzZDhiMDU1NmIgMTAwNjQ0DQotLS0gYS9uZXQvc2NoZWQv c2NoX3JlZC5jDQorKysgYi9uZXQvc2NoZWQvc2NoX3JlZC5jDQpAQCAtNzYsNiArNzYsMTMgQEAg c3RhdGljIGludCByZWRfZW5xdWV1ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgUWRpc2Mg KnNjaCwNCiAJdW5zaWduZWQgaW50IGxlbjsNCiAJaW50IHJldDsNCiANCisJbGVuID0gcWRpc2Nf cGt0X2xlbihza2IpOw0KKwlpZiAodW5saWtlbHkoKHU2NClzY2gtPnFzdGF0cy5iYWNrbG9nICsg bGVuID4gUURJU0NfTUFYX0JBQ0tMT0cpKSB7DQorCQlxZGlzY19xc3RhdHNfb3ZlcmxpbWl0KHNj aCk7DQorCQlyZXR1cm4gcWRpc2NfZHJvcF9yZWFzb24oc2tiLCBzY2gsIHRvX2ZyZWUsDQorCQkJ CQkgUURJU0NfRFJPUF9PVkVSTElNSVQpOw0KKwl9DQorDQogCXEtPnZhcnMucWF2ZyA9IHJlZF9j YWxjX3FhdmcoJnEtPnBhcm1zLA0KIAkJCQkgICAgICZxLT52YXJzLA0KIAkJCQkgICAgIGNoaWxk LT5xc3RhdHMuYmFja2xvZyk7DQpAQCAtMTM1LDcgKzE0Miw2IEBAIHN0YXRpYyBpbnQgcmVkX2Vu cXVldWUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IFFkaXNjICpzY2gsDQogCQlicmVhazsN CiAJfQ0KIA0KLQlsZW4gPSBxZGlzY19wa3RfbGVuKHNrYik7DQogCXJldCA9IHFkaXNjX2VucXVl dWUoc2tiLCBjaGlsZCwgdG9fZnJlZSk7DQogCWlmIChsaWtlbHkocmV0ID09IE5FVF9YTUlUX1NV Q0NFU1MpKSB7DQogCQlxc3RhdHNfYmFja2xvZ19hZGQoc2NoLCBsZW4pOw0KLS0gDQoyLjQzLjAN Cg0K