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=cDabVQ0x; arc=none (Message is not ARC signed); dmarc=none Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by mail.toke.dk (Postfix) with ESMTPS id 3538E1889F54 for ; Tue, 20 Oct 2026 13:00:16 +0200 (CEST) Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-5361e313e63so32258981cf.3 for ; Tue, 20 Oct 2026 04:00:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu.com; s=google; t=1792494014; x=1793098814; darn=lists.bufferbloat.net; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=o8s7jLwbwEzkdmp69F3R584GvBbqe/nWZgEc2v9hYWw=; b=cDabVQ0xUGQu2CciekAXoAEXVyxe9cGAwx1UHvVhEPZFR3sCGr5PfhWaKD3lLvo8N9 jjsZWG9BD7Y48D8rWTpnByEHhj0eSyPWQSVvRFQp1WgTlK17HWd0urqveDHmzrspEYal Z2gVljajOAgGZycaQB0eKiKm1OyLh6YTg5Kf0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792494014; x=1793098814; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to: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=o8s7jLwbwEzkdmp69F3R584GvBbqe/nWZgEc2v9hYWw=; b=eLaY/5YqyDjk3vkaKjuUlESSa9wwZ9oslLylVHlrhfuh7ak22926l3Z88uiukf6wlu 5mc4EwPyzGq90bbXGT3RdcBXxS6y6rHoaLZaTTOQKl5ZQq/DYcjmLULoVl5EPVWKo2ug S5DY0GVF3Dp/XHePl8hLtS5UtrM5HrGjijGaDgpJcNOTJllemXxLu6V8LQ3E2pEW8P6Q iofIY4CXvyhK6h8iSdIvzNuEATou8uVmwDZG9ebhrqgEzW/oQeaUwbRLZMMk+KeTk/Tm hXH8P9kbAvX+QtRPpF9U9ggGDVs2e+k8KPaX5qyv+UHo/pVVUaZxULYcsYneCXcwhgf0 V07g== X-Forwarded-Encrypted: i=1; AKwUvByCkGtR+8J14cBf52e8CTnCzH83S7yHbkkUIQJ2HSQxky1DhwZZVbrIJVtIahkBFryoHHtV@lists.bufferbloat.net X-Gm-Message-State: AFq9FYL1zGJVtWaU1J3GBA8k6d2SlCDszQA8Lz0jyCRDMyP61u2tyAMx grRHjfQqCTUBqCQ669Y0EVjSM35M7DVIirgRykbF4+T7HqMRQCjslC89CrFgOvwhnQ== X-Gm-Gg: AYBFou0JUi1J05J/uSkiZBBF2cHtpY2mbhur187Ax3bLuoevmB6DSXLlDXWHixLKX/f mL+EUv5Zrr9/VorC2rqjaSe0EK2uI3wf+2IEIdNPUE/LON8S4iGFSS0Zw2PmsG8aSQJBoqvF+iJ 21xJTe/+i6V/bsLLJjunZOP+V96ew/sQ5zWbPFLu58A+HUtYTC6DqbYAY9t9irsIp3Qfmez+Ki1 ncKUgNIvVvnh0cE2sOEqf7Rj96Wj0gt8lKoIY3jQHj3k9Xeel0N9Cb67BYsjM2eMbuR8CFxjXQ+ GDsIfYrMb/A+kOVmPmoPa4uecW8p5osCZ6JO+qad9lszbwBBoez/oOv8nbM6qsLFGchg3I+fmDi gfmfgdp8+HbgJQxvGyGm+271EWBQgOQ894w1Mn1RbidkhNOXppEQhsuavtu1YpVz9SKk8h317Pt OiyVj2YmyXwqBYb5wdKZ7HNIhCBHaBS2eyLdQu1Luuhd+lyacRl5tBZ7og4tCRMcjSNFZYpFWt1 u14ZUXw4GHJ7zXhbyJVC2c3AWGVOsfuK2y3dCmaq6TGNLU6zSFyrnU= X-Received: by 2002:a05:622a:4187:b0:536:6ff4:652e with SMTP id d75a77b69052e-5366ff472a9mr70980151cf.56.1792494014493; Tue, 20 Oct 2026 04:00:14 -0700 (PDT) Received: from mbili.waya ([64.203.83.2]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-91c040e6667sm23382356d6.39.2026.10.20.04.00.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Oct 2026 04:00:13 -0700 (PDT) From: Jamal Hadi Salim To: netdev@vger.kernel.org Cc: Jamal Hadi Salim , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Jiri Pirko , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , cake@lists.bufferbloat.net, Victor Nogueira , Sashiko Date: Tue, 20 Oct 2026 07:00:05 -0400 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: 4V4OTQU5ZS6MZW32OANUGWARSV4VPT5R X-Message-ID-Hash: 4V4OTQU5ZS6MZW32OANUGWARSV4VPT5R 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 v3 1/4] net/sched/sch_cake: serialize reconfiguration with the datapath List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VGhpcyBpcyBhIGZvbGxvdy11cCB0byBjb21taXQgN2NiZmIxODA5NDVjICgibmV0L3NjaGVkOiBz Y2hfY2FrZTogZml4DQphdXRvcmF0ZSByZWNvbmZpZ3VyYXRpb24gdGhyb3R0bGluZyIpLiAgVGhh dCBjaGFuZ2Ugb25seSBzdG9yZWQNCmxhc3RfcmVjb25maWdfdGltZTsgaXQgZGlkIG5vdCBhZGRy ZXNzIHRoZSBjb25jdXJyZW5jeSBiZXR3ZWVuIHRoZQ0KYXV0b3JhdGUgcmF0ZSB1cGRhdGUgaW4g Y2FrZV9lbnF1ZXVlKCkgYW5kIHRoZSBuZXRsaW5rIHJlY29uZmlndXJhdGlvbg0KcGF0aCwgd2hp Y2ggdGhlIG9yaWdpbmFsIHJldmlldyBmbGFnZ2VkLg0KDQpUaGUgaXNzdWU6DQpjYWtlX2NoYW5n ZSgpIC0+IGNha2VfY29uZmlnX2NoYW5nZSgpIHVwZGF0ZXMgdGhlIGZpZWxkcyBvZiB0aGUgc2hh cmVkDQpzdHJ1Y3QgY2FrZV9zY2hlZF9jb25maWcgdW5kZXIgUlROTCBidXQgbm90IHVuZGVyIHRo ZSBxZGlzYyBsb2NrOiBpdCBvbmx5DQp0b29rIHNjaF90cmVlX2xvY2soKSBsYXRlciwgYXJvdW5k IGNha2VfcmVjb25maWd1cmUoKS4gIFRoZSBkYXRhcGF0aCBpbg0KdHVybiBzZXJpYWxpemVzIGNh a2VfZW5xdWV1ZSgpIHdpdGggaXRzZWxmIHVuZGVyIHRoZSBxZGlzYyBsb2NrLCBhbmQgaXRzDQph dXRvcmF0ZS1pbmdyZXNzIHBhdGggc3RvcmVzIHRoZSBlc3RpbWF0ZWQgcmF0ZSBpbnRvDQpxLT5j b25maWctPnJhdGVfYnBzLiAgVHdvIHdyaXRlcnMgdGhlcmVmb3JlIHVwZGF0ZSB0aGUgc2FtZSBy YXRlIHdpdGggbm8NCmNvbW1vbiBsb2NrOg0KDQogIENQVTA6IGNha2VfZW5xdWV1ZSgpIHNlZXMg Q0FLRV9GTEFHX0FVVE9SQVRFX0lOR1JFU1MsIGNvbXB1dGVzIGFuDQogICAgICAgIGVzdGltYXRl LCBhbmQgaXMgYWJvdXQgdG8gc3RvcmUgaXQuDQogIENQVTE6ICd0YyBxZGlzYyBjaGFuZ2UgLi4u IGJhbmR3aWR0aCBYJyBjbGVhcnMgYXV0b3JhdGUgaW4gaXRzIGxvY2FsDQogICAgICAgIHJhdGVf ZmxhZ3MsIHdyaXRlcyByYXRlX2JwcyA9IFgsIHB1Ymxpc2hlcyB0aGUgY2xlYXJlZCBmbGFnLCBh bmQNCiAgICAgICAgd2FpdHMgaW4gc2NoX3RyZWVfbG9jaygpLg0KICBDUFUwOiBzdG9yZXMgdGhl IGVzdGltYXRlLCBjYWxscyBjYWtlX3JlY29uZmlndXJlKCksIGFuZCB1bmxvY2tzLg0KICBDUFUx OiByZWNvbmZpZ3VyZXMgZnJvbSB0aGUgZXN0aW1hdGUgYW5kIHJldHVybnMuDQoNClRoZSBxZGlz YyBpcyBsZWZ0IHdpdGggYXV0b3JhdGUgZGlzYWJsZWQgYnV0IHdpdGggdGhlIGVzdGltYXRlIGlu c3RhbGxlZA0KaW5zdGVhZCBvZiBYLg0KDQpUaGUgZml4Og0KQ29tbWl0IHRoZSBwYXJzZWQgY29u ZmlndXJhdGlvbiBhbmQgcmVjb25maWd1cmUgd2hpbGUgaG9sZGluZyB0aGUgc2FtZQ0KcWRpc2Mg bG9jayB0aGF0IHNlcmlhbGl6ZXMgdGhlIGRhdGFwYXRoLCBzbyB0aGUgbmV0bGluayB3cml0ZXIg YW5kIHRoZQ0KYXV0b3JhdGUgd3JpdGVyIGNhbiBubyBsb25nZXIgaW50ZXJsZWF2ZS4gIHJhdGVf YnBzIG5lZWRzIG5vIGF0b21pYzogaXQgaXMNCm9ubHkgZXZlciBsb2FkZWQgYW5kIHN0b3JlZCwg c28gcGxhaW4gUkVBRF9PTkNFKCkvV1JJVEVfT05DRSgpIGFubm90YXRpb25zDQphcmUgZW5vdWdo IGZvciB0aGUgYWNjZXNzZXMgdGhhdCBydW4gb3V0c2lkZSB0aGUgbG9jay4gIFRoZSBsb2NrbGVz cw0KcGF0aHMgcmVhZCB0aGUgcmF0ZSBvbmNlIGludG8gYSBsb2NhbCBhbmQgcmV1c2UgdGhhdCB2 YWx1ZSwgc28gYSBzaW5nbGUNCmNvaGVyZW50IHNuYXBzaG90IGlzIHVzZWQgcGVyIG9wZXJhdGlv bi4NCg0KVGhlIGFubm90YXRpb25zIGRvIG5vdCBtYWtlIGEgNjQtYml0IGFjY2VzcyBzaW5nbGUt Y29weSBhdG9taWMgb24gMzItYml0Og0KUkVBRF9PTkNFKCkvV1JJVEVfT05DRSgpIGFyZSBzdGls bCB0d28gMzItYml0IGFjY2Vzc2VzIHRoZXJlLiAgVGhlIGxvY2tsZXNzDQpyZWFkZXJzIC0tIGNh a2VfY29uZmlnX2R1bXAoKSBhbmQgdGhlIGNha2VfbXEgY2hpbGRyZW4sIHdoaWNoIG9ic2VydmUg dGhlDQpzaGFyZWQgY29uZmlnIHVuZGVyIGEgZGlmZmVyZW50IGNoaWxkJ3MgbG9jayAtLSBjYW4g dGhlcmVmb3JlIHN0aWxsIHNlZSBhDQp0b3JuIHJhdGUgb24gMzItYml0LiAgVGhhdCByYXRlIGlz IGFuIGFkdmlzb3J5IHNoYXBlciB2YWx1ZSBhbmQgaXMgYWNjZXB0ZWQNCmFzIGJlc3QtZWZmb3J0 OyB0aGUgc3RhdGUgdGhhdCBtdXN0IGJlIGNvbnNpc3RlbnQgKHRoZSBjb25maWd1cmVkIHJhdGUg YW5kDQp0aGUgYXV0b3JhdGUgZmxhZykgaXMgd3JpdHRlbiB1bmRlciB0aGUgcWRpc2MgbG9jay4N Cg0KQ29uZGl0aW9ucyB0byByZWNyZWF0ZSB0aGUgYnVnOg0KVGhlIGxvc3QgdXBkYXRlIChhKSBu ZWVkcyBubyBzYW5pdGl6ZXIuIFB1dCBjYWtlIGluIGF1dG9yYXRlLWluZ3Jlc3Mgb24gYQ0KZGV2 aWNlLCBkcml2ZSBidXJzdHkgdHJhZmZpYyB3aXRoIGdhcHMgc28gdGhlIDI1MCBtcyBhdXRvcmF0 ZSByZWNvbmZpZ3VyYXRpb24NCmZpcmVzLCBhbmQgY29uY3VycmVudGx5IGxvb3AgJ3RjIHFkaXNj IGNoYW5nZSAuLi4gY2FrZSBiYW5kd2lkdGggPE4+a2JpdCcNCndpdGhvdXQgYXV0b3JhdGUtaW5n cmVzcyAoc3BlY2lmeWluZyBhIGJhbmR3aWR0aCBjbGVhcnMgdGhlIGZsYWcpLg0KSWYgdGhlIGF1 dG9yYXRlIHN0b3JlIGxhbmRzIGFmdGVyIHRoZSBjaGFuZ2Ugd3JvdGUgaXRzIHJhdGUgYnV0IGJl Zm9yZSB0aGUNCmNoYW5nZSByZWNvbmZpZ3VyZXMsIHRoZSBxZGlzYyBlbmRzIHVwIHdpdGggYXV0 b3JhdGUgZGlzYWJsZWQgYW5kIHRoZSBlc3RpbWF0ZQ0KaW5zdGFsbGVkIGluc3RlYWQgb2YgPE4+ OyByZWFkaW5nIHRoZSByYXRlIGJhY2sgdGhlbiBzaG93cyB0aGUgZXN0aW1hdGUsIHdoaWNoDQph biB1bmZpeGVkIGtlcm5lbCBjYW4gZG8gYW5kIGEgZml4ZWQgb25lIGNhbm5vdC4NCihiKSBUaGUg dW5zeW5jaHJvbml6ZWQgYWNjZXNzIGlzIHJlcG9ydGVkIGJ5IEtDU0FOOiBidWlsZCB3aXRoIENP TkZJR19LQ1NBTj15DQphbmQgcnVuIHRoZSBzYW1lIHRyaWdnZXIgd2l0aCB0aGUgY2hhbmdlIGxv b3Aga2VlcGluZyBhdXRvcmF0ZS1pbmdyZXNzIHNldDsNCktDU0FOIHJlcG9ydHMgYSBkYXRhIHJh Y2UgaW4gY2FrZV9jb25maWdfY2hhbmdlIC8gY2FrZV9lbnF1ZXVlLg0KVGhlIG5vbi1hdG9taWMg NjQtYml0IHN0b3JlIG9ubHkgc2hvd3MgdXAgYXMgdGVhcmluZyBvbiBhIDMyLWJpdCBtYWNoaW5l Ow0Kb24gNjQtYml0IHRoZSBzdG9yZSBpcyBhdG9taWMgYW5kIEtDU0FOIGZsYWdzIHRoZSBhY2Nl c3MgZGlzY2lwbGluZSBpbnN0ZWFkLg0KDQpSZXBvcnRlZC1ieTogU2FzaGlrbyAoZ2VtaW5pKSA8 c2FzaGlrby1ib3RAa2VybmVsLm9yZz4NCkxpbms6IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRj aHNldC8yMDI2MDgxNjAxMjEwOS4yODY1MjIzLTEtb29vbmVhQGdtYWlsLmNvbQ0KTGluazogaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2LzIwMjYwODE2MDEyMTA5LjI4NjUyMjMtMS1vb29u ZWFAZ21haWwuY29tLw0KTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbmV0ZGV2Lzg3NXd6 Y3Rza3kuZnNmQHRva2UuZGsvDQpMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9uZXRkZXYv ODdsZDd0M2tsMy5mc2ZAYWxsLnlvdXIuYmFzZS5hcmUuYmVsb25nLnRvLnVzLw0KUmV2aWV3ZWQt Ynk6IFZpY3RvciBOb2d1ZWlyYSA8dmljdG9yQG1vamF0YXR1LmNvbT4NClNpZ25lZC1vZmYtYnk6 IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0dS5jb20+DQotLS0NCg0KdjIgLT4gdjM6DQot IFJldXNlIHRoZSByYXRlIHNuYXBzaG90IGluIGNha2VfZGVxdWV1ZSgpIGFuZCBjYWtlX3JlY29u ZmlndXJlKCkgaW5zdGVhZA0KICBvZiBhIHNlY29uZCBSRUFEX09OQ0UoKSBwZXIgdXNlLCBhbmQg b3JkZXIgdGhlIGRlY2xhcmF0aW9ucyBsb25nZXN0LWZpcnN0DQogIChCasO2cm4gVMO2cGVsKS4N Ci0gQ29tbWl0IGxvZzogc2NvcGUgdGhlIGFubm90YXRpb24gY2xhaW0uICBSRUFEX09OQ0UoKS9X UklURV9PTkNFKCkgZG8gbm90DQogIG1ha2UgYSA2NC1iaXQgYWNjZXNzIHNpbmdsZS1jb3B5IGF0 b21pYyBvbiAzMi1iaXQsIHNvIHRoZSBsb2NrbGVzcw0KICBjYWtlX2NvbmZpZ19kdW1wKCkvY2Fr ZV9tcSByZWFkZXJzIHJlbWFpbiBiZXN0LWVmZm9ydCAoU2FzaGlrbyBuaXBhKS4NCi0gQ29uZGl0 aW9uczogbWFrZSByZWNpcGUgKGEpIGRpc3Rpbmd1aXNoIGZpeGVkIGZyb20gdW5maXhlZCAodGhl IGNoYW5nZQ0KICBtdXN0IGNsZWFyIGF1dG9yYXRlKSBhbmQgc2VwYXJhdGUgdGhlIEtDU0FOLW9u bHkgZWZmZWN0IChiKS4NCg0KdjEgLT4gdjI6DQotIERyb3AgYXRvbWljNjRfdCBmb3IgcmF0ZV9i cHMuICBQZXIgVG9rZSdzIHYxIHJldmlldywgcmF0ZV9icHMgdGFrZXMgb25seQ0KICBub24tUk1X IG9wcywgc28gcGVyIGF0b21pY190LnR4dCBTRU1BTlRJQ1MgYSBwbGFpbiB1NjQgd2l0aCBSRUFE X09OQ0UoKS8NCiAgV1JJVEVfT05DRSgpIGFubm90YXRpb25zIGlzIHRoZSByaWdodCBzaGFwZSAo bm8gYXRvbWljIG5lZWRlZCkuICBSZXZlcnRzDQogIHRoZSBzdHJ1Y3QgZmllbGQgdG8gdTY0IGFu ZCBldmVyeSBhdG9taWM2NF8qIGJhY2sgdG8gUkVBRF9PTkNFKCkvDQogIFdSSVRFX09OQ0UoKS4g IFRoZSBjYWtlX2NoYW5nZSgpIGNvbW1pdC1hbmQtcmVjb25maWd1cmUtdW5kZXItc2NoX3RyZWVf bG9jaw0KICBmaXggKHRoZSByZWFsIHJhY2UgZml4KSBpcyB1bmNoYW5nZWQuDQoNCiBuZXQvc2No ZWQvc2NoX2Nha2UuYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tDQogMSBm aWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0t Z2l0IGEvbmV0L3NjaGVkL3NjaF9jYWtlLmMgYi9uZXQvc2NoZWQvc2NoX2Nha2UuYw0KaW5kZXgg ZGM5MzI2NzAyOWU3Li5kNzE2MTdhYTU2ZDkgMTAwNjQ0DQotLS0gYS9uZXQvc2NoZWQvc2NoX2Nh a2UuYw0KKysrIGIvbmV0L3NjaGVkL3NjaF9jYWtlLmMNCkBAIC0xOTA2LDcgKzE5MDYsOCBAQCBz dGF0aWMgczMyIGNha2VfZW5xdWV1ZShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgUWRpc2Mg KnNjaCwNCiAJCQlpZiAoa3RpbWVfYWZ0ZXIobm93LA0KIAkJCQkJa3RpbWVfYWRkX21zKHEtPmxh c3RfcmVjb25maWdfdGltZSwNCiAJCQkJCQkgICAgIDI1MCkpKSB7DQotCQkJCXEtPmNvbmZpZy0+ cmF0ZV9icHMgPSAocS0+YXZnX3BlYWtfYmFuZHdpZHRoICogMTUpID4+IDQ7DQorCQkJCVdSSVRF X09OQ0UocS0+Y29uZmlnLT5yYXRlX2JwcywNCisJCQkJCSAgIChxLT5hdmdfcGVha19iYW5kd2lk dGggKiAxNSkgPj4gNCk7DQogCQkJCXEtPmxhc3RfcmVjb25maWdfdGltZSA9IG5vdzsNCiAJCQkJ Y2FrZV9yZWNvbmZpZ3VyZShzY2gpOw0KIAkJCX0NCkBAIC0yMDE5LDkgKzIwMjAsOSBAQCBzdGF0 aWMgc3RydWN0IHNrX2J1ZmYgKmNha2VfZGVxdWV1ZShzdHJ1Y3QgUWRpc2MgKnNjaCkNCiANCiAJ aWYgKHEtPmNvbmZpZy0+aXNfc2hhcmVkICYmIHEtPnJhdGVfbnMgJiYNCiAJICAgIG5vdyAtIHEt Pmxhc3RfY2hlY2tlZF9hY3RpdmUgPj0gcS0+Y29uZmlnLT5zeW5jX3RpbWUpIHsNCisJCXU2NCBu ZXdfcmF0ZSA9IFJFQURfT05DRShxLT5jb25maWctPnJhdGVfYnBzKTsNCiAJCXN0cnVjdCBuZXRf ZGV2aWNlICpkZXYgPSBxZGlzY19kZXYoc2NoKTsNCiAJCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEg Km90aGVyX3ByaXY7DQotCQl1NjQgbmV3X3JhdGUgPSBxLT5jb25maWctPnJhdGVfYnBzOw0KIAkJ dTY0IG90aGVyX3FsZW4sIG90aGVyX2xhc3RfYWN0aXZlOw0KIAkJc3RydWN0IFFkaXNjICpvdGhl cl9zY2g7DQogCQl1MzIgbnVtX2FjdGl2ZV9xcyA9IDE7DQpAQCAtMjA0Miw3ICsyMDQzLDcgQEAg c3RhdGljIHN0cnVjdCBza19idWZmICpjYWtlX2RlcXVldWUoc3RydWN0IFFkaXNjICpzY2gpDQog CQl9DQogDQogCQlpZiAobnVtX2FjdGl2ZV9xcyA+IDEpDQotCQkJbmV3X3JhdGUgPSBkaXY2NF91 NjQocS0+Y29uZmlnLT5yYXRlX2JwcywgbnVtX2FjdGl2ZV9xcyk7DQorCQkJbmV3X3JhdGUgPSBk aXY2NF91NjQobmV3X3JhdGUsIG51bV9hY3RpdmVfcXMpOw0KIA0KIAkJY2FrZV9jb25maWd1cmVf cmF0ZXMoc2NoLCBuZXdfcmF0ZSwgdHJ1ZSk7DQogCQlxLT5sYXN0X2NoZWNrZWRfYWN0aXZlID0g bm93Ow0KQEAgLTI2MjUsMTMgKzI2MjYsMTUgQEAgc3RhdGljIHZvaWQgY2FrZV9yZWNvbmZpZ3Vy ZShzdHJ1Y3QgUWRpc2MgKnNjaCkNCiAJc3RydWN0IGNha2Vfc2NoZWRfZGF0YSAqcWQgPSBxZGlz Y19wcml2KHNjaCk7DQogCXN0cnVjdCBjYWtlX3NjaGVkX2NvbmZpZyAqcSA9IHFkLT5jb25maWc7 DQogCXUzMiBidWZmZXJfbGltaXQ7DQorCXU2NCByYXRlX2JwczsNCiANCi0JY2FrZV9jb25maWd1 cmVfcmF0ZXMoc2NoLCBxZC0+Y29uZmlnLT5yYXRlX2JwcywgZmFsc2UpOw0KKwlyYXRlX2JwcyA9 IFJFQURfT05DRShxZC0+Y29uZmlnLT5yYXRlX2Jwcyk7DQorCWNha2VfY29uZmlndXJlX3JhdGVz KHNjaCwgcmF0ZV9icHMsIGZhbHNlKTsNCiANCiAJaWYgKHEtPmJ1ZmZlcl9jb25maWdfbGltaXQp IHsNCiAJCWJ1ZmZlcl9saW1pdCA9IHEtPmJ1ZmZlcl9jb25maWdfbGltaXQ7DQotCX0gZWxzZSBp ZiAocS0+cmF0ZV9icHMpIHsNCi0JCXU2NCB0ID0gcS0+cmF0ZV9icHMgKiBxLT5pbnRlcnZhbDsN CisJfSBlbHNlIGlmIChyYXRlX2Jwcykgew0KKwkJdTY0IHQgPSByYXRlX2JwcyAqIHEtPmludGVy dmFsOw0KIA0KIAkJZG9fZGl2KHQsIFVTRUNfUEVSX1NFQyAvIDQpOw0KIAkJYnVmZmVyX2xpbWl0 ID0gbWF4X3QodTMyLCB0LCA0VSA8PCAyMCk7DQpAQCAtMjc4NCw5ICsyNzg3LDE2IEBAIHN0YXRp YyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwN CiAJCXJldHVybiAtRU9QTk9UU1VQUDsNCiAJfQ0KIA0KKwkvKiBPbmNlIHRoZSBxZGlzYyBpcyBs aXZlLCBjb21taXQgYW5kIHJlY29uZmlndXJlIHVuZGVyIHRoZSBsb2NrIHRoYXQNCisJICogc2Vy aWFsaXplcyB0aGUgZGF0YXBhdGgsIHNvIGEgY29uY3VycmVudCAndGMgcWRpc2MgY2hhbmdlJyBh bmQgdGhlDQorCSAqIGF1dG9yYXRlIHVwZGF0ZSBjYW5ub3QgbG9zZSB0aGUgY29uZmlndXJlZCBy YXRlLg0KKwkgKi8NCisJaWYgKHFkLT50aW5zKQ0KKwkJc2NoX3RyZWVfbG9jayhzY2gpOw0KKw0K IAlyZXQgPSBjYWtlX2NvbmZpZ19jaGFuZ2UocSwgb3B0LCBleHRhY2ssICZvdmVyaGVhZF9jaGFu Z2VkKTsNCiAJaWYgKHJldCkNCi0JCXJldHVybiByZXQ7DQorCQlnb3RvIHVubG9jazsNCiANCiAJ aWYgKG92ZXJoZWFkX2NoYW5nZWQpIHsNCiAJCVdSSVRFX09OQ0UocWQtPm1heF9uZXRsZW4sIDAp Ow0KQEAgLTI3OTUsMTMgKzI4MDUsMTMgQEAgc3RhdGljIGludCBjYWtlX2NoYW5nZShzdHJ1Y3Qg UWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KIAkJV1JJVEVfT05DRShxZC0+bWluX2Fk amxlbiwgfjApOw0KIAl9DQogDQotCWlmIChxZC0+dGlucykgew0KLQkJc2NoX3RyZWVfbG9jayhz Y2gpOw0KKwlpZiAocWQtPnRpbnMpDQogCQljYWtlX3JlY29uZmlndXJlKHNjaCk7DQordW5sb2Nr Og0KKwlpZiAocWQtPnRpbnMpDQogCQlzY2hfdHJlZV91bmxvY2soc2NoKTsNCi0JfQ0KIA0KLQly ZXR1cm4gMDsNCisJcmV0dXJuIHJldDsNCiB9DQogDQogc3RhdGljIHZvaWQgY2FrZV9kZXN0cm95 KHN0cnVjdCBRZGlzYyAqc2NoKQ0KLS0gDQoyLjQzLjANCg0K