From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=; dkim=pass header.d=redhat.com; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=redhat.com policy.dmarc=quarantine Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mail.toke.dk (Postfix) with ESMTPS id 6B7C56E830C for ; Wed, 24 Sep 2025 14:16:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1758716192; 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=TgWVKiJLAS4Ud8Kqxubu98+7O+J1fnq9V+swJWFGqRc=; b=MEfV4p/ovM+jlt2wWCfVF7moBZCy/VFMh6FKzMnjGlpWYceT1llCC+dVM3TaoyqcbLdkDO 1JBhKHWNLslzPA7F0rRZGQkXQD82WdDntGRkXOqWeEntwMpX710DgJ3SGi86KOaLVNXRDT 89T6m42oJwY9zEpwKloXVvbeGwhx/vM= Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-441-XHw4aqSfPkuBLL50ErKOSw-1; Wed, 24 Sep 2025 08:16:30 -0400 X-MC-Unique: XHw4aqSfPkuBLL50ErKOSw-1 X-Mimecast-MFC-AGG-ID: XHw4aqSfPkuBLL50ErKOSw_1758716190 Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-b3023c21e21so177384566b.2 for ; Wed, 24 Sep 2025 05:16:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758716190; x=1759320990; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TgWVKiJLAS4Ud8Kqxubu98+7O+J1fnq9V+swJWFGqRc=; b=uqlb/QctZKaqdrzGtjy8Wzms9oWK6LwqjFEVNIFLuyT5nZx0IYOkba/zPg6I64VHD0 s67u/VTryTDT/VLJrm0GMVNXKgN/rdoIjwtq2S0RWuR04mzPUs0E8VvH8tShEkmzXZNV KwtG0Gs+FBOOrwbG2Mx+19e9455knn0FT1o/crNtavOsWOZXBL9XjqM6qtyjayF75ZF5 6YqqrmVzO22cra9NDTRBLKOhw080LsR3BCW4KkQvpiCJ5S/Medm1TKyBjghlfykprXhQ +ujyhwfZEU4Ga7YWeDC9afGcMgG/tTjfdJ82DWB/E3D7FdhymgURlZP/H+mrxMcGy9Jf o7Eg== X-Forwarded-Encrypted: i=1; AJvYcCW3HGaecSmo3dCzWyuV2QhX1G62Ktk5wjqqjuX3VfZSiGkRzn4cm0NsosI1v+EglXLOJxHY@lists.bufferbloat.net X-Gm-Message-State: AOJu0Yxt6ear6ZOf+ki8qDPTfBdQ7SLSFdA+OnxNyTjP/7C/NZAlZPcl OseILZ6c40Y68yyi7p+NEzR5Rmuby1fUFZejPV1Qm19bZfe44nLrs0JhW6zTSLmSkTF4Ur4efkn mQ3aez8kfti/tCIK1Q23TmGSR80vrijnr6YDUhW38yyyPm0jT+2YHqjfGKYmKUPo= X-Gm-Gg: ASbGnctwYyRTp+1vt36SgIKKT8ao0eOlcXq4jfOAw3hcD3kXwgRxumaOBzlsaaECV9P yjZsMF+p7ujLUxElYoNBjV1tLjCzHneZHR1+RNeekLc+XooImcHfNmHFFAL479VTAeCue2/rIHC tLn6jS+QbqTFlpSQ96EQYD1uNTGKEmJRYgpfIXuHg5N4mc5OwIc1AUKB7Im2tLecPPfxYo7rSh5 6dxPQn0bi4Twc/Ey95MuvvLhuzQZ1LGyorxYOUyav2/BuTOnncYtLL0AT0KnUawgekRVbFzQzTg UUylVMxsppL3sCjo2bPmkDKs8NukghsjV0k6FHSlpM7wL0xoF7KAVlaYLS13MeMQmG8= X-Received: by 2002:a17:906:2744:b0:b1f:ecda:b79f with SMTP id a640c23a62f3a-b302b5104demr526178366b.38.1758716189525; Wed, 24 Sep 2025 05:16:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGuAQ0k3fBcWzUtcZXpArqmNntsZnb7CpupxIROF8pMEVGdT9vqC7HBn4B7HQnqoGWmqQjs9g== X-Received: by 2002:a17:906:2744:b0:b1f:ecda:b79f with SMTP id a640c23a62f3a-b302b5104demr526175866b.38.1758716189073; Wed, 24 Sep 2025 05:16:29 -0700 (PDT) Received: from alrua-x1.borgediget.toke.dk (alrua-x1.borgediget.toke.dk. [2a0c:4d80:42:443::2]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b297f3f426csm948308166b.7.2025.09.24.05.16.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Sep 2025 05:16:27 -0700 (PDT) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 560B6276E2C; Wed, 24 Sep 2025 14:16:26 +0200 (CEST) From: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Date: Wed, 24 Sep 2025 14:16:05 +0200 MIME-Version: 1.0 Message-Id: <20250924-mq-cake-sub-qdisc-v1-3-43a060d1112a@redhat.com> References: <20250924-mq-cake-sub-qdisc-v1-0-43a060d1112a@redhat.com> In-Reply-To: <20250924-mq-cake-sub-qdisc-v1-0-43a060d1112a@redhat.com> To: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= , Jamal Hadi Salim , Cong Wang , Jiri Pirko , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman Cc: =?utf-8?q?Jonas_K=C3=B6ppeler?= , cake@lists.bufferbloat.net, netdev@vger.kernel.org, =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= X-Mailer: b4 0.14.2 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: VnMV-MTOg3nY-T5sNTrSFdBnsat9Y2m_tQMKGfNqnyE_1758716190 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: GSRUYWU7HMXZFSXVAI6TEDBCTXB7KNBC X-Message-ID-Hash: GSRUYWU7HMXZFSXVAI6TEDBCTXB7KNBC X-MailFrom: toke@redhat.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 RFC net-next 3/4] net/sched: sch_cake: Share config across cake_mq sub-qdiscs List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VGhpcyBhZGRzIHN1cHBvcnQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBjYWtlX21xIGluc3RhbmNlIGRp cmVjdGx5LCBzaGFyaW5nDQp0aGUgY29uZmlnIGFjcm9zcyB0aGUgY2FrZSBzdWItcWRpc2NzLg0K DQpTaWduZWQtb2ZmLWJ5OiBUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4gPHRva2VAcmVkaGF0LmNv bT4NCi0tLQ0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jIHwgMTQ3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxMTggaW5z ZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2No X2Nha2UuYyBiL25ldC9zY2hlZC9zY2hfY2FrZS5jDQppbmRleCBkMTdkNzY2OWRlMzg5YmIyMWNh NmNlM2IyMDllMDI3MmNmYWE1MTEyLi43Y2VjY2JmYWE5YjZiNGNkZWFmMTdiNDE2YzJiNjU3MDlj MjJhNjBhIDEwMDY0NA0KLS0tIGEvbmV0L3NjaGVkL3NjaF9jYWtlLmMNCisrKyBiL25ldC9zY2hl ZC9zY2hfY2FrZS5jDQpAQCAtMjExLDYgKzIxMSw3IEBAIHN0cnVjdCBjYWtlX3NjaGVkX2NvbmZp ZyB7DQogCXU4CQlmbG93X21vZGU7DQogCXU4CQlhdG1fbW9kZTsNCiAJdTgJCWFja19maWx0ZXI7 DQorCXU4CQlpc19zaGFyZWQ7DQogfTsNCiANCiBzdHJ1Y3QgY2FrZV9zY2hlZF9kYXRhIHsNCkBA IC0yNTg1LDExICsyNTg2LDkgQEAgc3RhdGljIHZvaWQgY2FrZV9yZWNvbmZpZ3VyZShzdHJ1Y3Qg UWRpc2MgKnNjaCkNCiAJCQkJICAgcS0+YnVmZmVyX2NvbmZpZ19saW1pdCkpOw0KIH0NCiANCi1z dGF0aWMgaW50IGNha2VfY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpv cHQsDQotCQkgICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQ0KK3N0YXRpYyBp bnQgY2FrZV9jb25maWdfY2hhbmdlKHN0cnVjdCBjYWtlX3NjaGVkX2NvbmZpZyAqcSwgc3RydWN0 IG5sYXR0ciAqb3B0LA0KKwkJCSAgICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaywg Ym9vbCAqb3ZlcmhlYWRfY2hhbmdlZCkNCiB7DQotCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEgKnFk ID0gcWRpc2NfcHJpdihzY2gpOw0KLQlzdHJ1Y3QgY2FrZV9zY2hlZF9jb25maWcgKnEgPSBxZC0+ Y29uZmlnOw0KIAlzdHJ1Y3QgbmxhdHRyICp0YltUQ0FfQ0FLRV9NQVggKyAxXTsNCiAJdTE2IHJh dGVfZmxhZ3M7DQogCXU4IGZsb3dfbW9kZTsNCkBAIC0yNjQyLDIwICsyNjQxLDEyIEBAIHN0YXRp YyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwN CiAJCVdSSVRFX09OQ0UocS0+cmF0ZV9vdmVyaGVhZCwNCiAJCQkgICBubGFfZ2V0X3MzMih0YltU Q0FfQ0FLRV9PVkVSSEVBRF0pKTsNCiAJCXJhdGVfZmxhZ3MgfD0gQ0FLRV9GTEFHX09WRVJIRUFE Ow0KLQ0KLQkJcWQtPm1heF9uZXRsZW4gPSAwOw0KLQkJcWQtPm1heF9hZGpsZW4gPSAwOw0KLQkJ cWQtPm1pbl9uZXRsZW4gPSB+MDsNCi0JCXFkLT5taW5fYWRqbGVuID0gfjA7DQorCQkqb3Zlcmhl YWRfY2hhbmdlZCA9IHRydWU7DQogCX0NCiANCiAJaWYgKHRiW1RDQV9DQUtFX1JBV10pIHsNCiAJ CXJhdGVfZmxhZ3MgJj0gfkNBS0VfRkxBR19PVkVSSEVBRDsNCi0NCi0JCXFkLT5tYXhfbmV0bGVu ID0gMDsNCi0JCXFkLT5tYXhfYWRqbGVuID0gMDsNCi0JCXFkLT5taW5fbmV0bGVuID0gfjA7DQot CQlxZC0+bWluX2FkamxlbiA9IH4wOw0KKwkJKm92ZXJoZWFkX2NoYW5nZWQgPSB0cnVlOw0KIAl9 DQogDQogCWlmICh0YltUQ0FfQ0FLRV9NUFVdKQ0KQEAgLTI3MTEsNiArMjcwMiwzNCBAQCBzdGF0 aWMgaW50IGNha2VfY2hhbmdlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQs DQogDQogCVdSSVRFX09OQ0UocS0+cmF0ZV9mbGFncywgcmF0ZV9mbGFncyk7DQogCVdSSVRFX09O Q0UocS0+Zmxvd19tb2RlLCBmbG93X21vZGUpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludCBjYWtlX2NoYW5nZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0 LA0KKwkJICAgICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykNCit7DQorCXN0cnVj dCBjYWtlX3NjaGVkX2RhdGEgKnFkID0gcWRpc2NfcHJpdihzY2gpOw0KKwlzdHJ1Y3QgY2FrZV9z Y2hlZF9jb25maWcgKnEgPSBxZC0+Y29uZmlnOw0KKwlib29sIG92ZXJoZWFkX2NoYW5nZWQgPSBm YWxzZTsNCisJaW50IHJldDsNCisNCisJaWYgKHEtPmlzX3NoYXJlZCkgew0KKwkJTkxfU0VUX0VS Ul9NU0coZXh0YWNrLCAiY2FuJ3QgcmVjb25maWd1cmUgY2FrZV9tcSBzdWItcWRpc2NzIik7DQor CQlyZXR1cm4gLUVPUE5PVFNVUFA7DQorCX0NCisNCisJcmV0ID0gY2FrZV9jb25maWdfY2hhbmdl KHEsIG9wdCwgZXh0YWNrLCAmb3ZlcmhlYWRfY2hhbmdlZCk7DQorCWlmIChyZXQpDQorCQlyZXR1 cm4gcmV0Ow0KKw0KKwlpZiAob3ZlcmhlYWRfY2hhbmdlZCkgew0KKwkJcWQtPm1heF9uZXRsZW4g PSAwOw0KKwkJcWQtPm1heF9hZGpsZW4gPSAwOw0KKwkJcWQtPm1pbl9uZXRsZW4gPSB+MDsNCisJ CXFkLT5taW5fYWRqbGVuID0gfjA7DQorCX0NCisNCiAJaWYgKHFkLT50aW5zKSB7DQogCQlzY2hf dHJlZV9sb2NrKHNjaCk7DQogCQljYWtlX3JlY29uZmlndXJlKHNjaCk7DQpAQCAtMjcyNyw3ICsy NzQ2LDIzIEBAIHN0YXRpYyB2b2lkIGNha2VfZGVzdHJveShzdHJ1Y3QgUWRpc2MgKnNjaCkNCiAJ cWRpc2Nfd2F0Y2hkb2dfY2FuY2VsKCZxLT53YXRjaGRvZyk7DQogCXRjZl9ibG9ja19wdXQocS0+ YmxvY2spOw0KIAlrdmZyZWUocS0+dGlucyk7DQotCWt2ZnJlZShxLT5jb25maWcpOw0KKwlpZiAo IXEtPmNvbmZpZy0+aXNfc2hhcmVkKQ0KKwkJa3ZmcmVlKHEtPmNvbmZpZyk7DQorfQ0KKw0KK3N0 YXRpYyB2b2lkIGNha2VfY29uZmlnX2luaXQoc3RydWN0IGNha2Vfc2NoZWRfY29uZmlnICpxLCBi b29sIGlzX3NoYXJlZCkNCit7DQorCXEtPnRpbl9tb2RlID0gQ0FLRV9ESUZGU0VSVl9ESUZGU0VS VjM7DQorCXEtPmZsb3dfbW9kZSAgPSBDQUtFX0ZMT1dfVFJJUExFOw0KKw0KKwlxLT5yYXRlX2Jw cyA9IDA7IC8qIHVubGltaXRlZCBieSBkZWZhdWx0ICovDQorDQorCXEtPmludGVydmFsID0gMTAw MDAwOyAvKiAxMDBtcyBkZWZhdWx0ICovDQorCXEtPnRhcmdldCAgID0gICA1MDAwOyAvKiA1bXM6 IGNvZGVsIFJGQyBhcmd1ZXMNCisJCQkgICAgICAgKiBmb3IgNSB0byAxMCUgb2YgaW50ZXJ2YWwN CisJCQkgICAgICAgKi8NCisJcS0+cmF0ZV9mbGFncyB8PSBDQUtFX0ZMQUdfU1BMSVRfR1NPOw0K KwlxLT5pc19zaGFyZWQgPSBpc19zaGFyZWQ7DQogfQ0KIA0KIHN0YXRpYyBpbnQgY2FrZV9pbml0 KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsDQpAQCAtMjc0MSwxNyArMjc3 Niw5IEBAIHN0YXRpYyBpbnQgY2FrZV9pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3Qgbmxh dHRyICpvcHQsDQogCWlmICghcSkNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KKwljYWtlX2NvbmZp Z19pbml0KHEsIGZhbHNlKTsNCisNCiAJc2NoLT5saW1pdCA9IDEwMjQwOw0KLQlxLT50aW5fbW9k ZSA9IENBS0VfRElGRlNFUlZfRElGRlNFUlYzOw0KLQlxLT5mbG93X21vZGUgID0gQ0FLRV9GTE9X X1RSSVBMRTsNCi0NCi0JcS0+cmF0ZV9icHMgPSAwOyAvKiB1bmxpbWl0ZWQgYnkgZGVmYXVsdCAq Lw0KLQ0KLQlxLT5pbnRlcnZhbCA9IDEwMDAwMDsgLyogMTAwbXMgZGVmYXVsdCAqLw0KLQlxLT50 YXJnZXQgICA9ICAgNTAwMDsgLyogNW1zOiBjb2RlbCBSRkMgYXJndWVzDQotCQkJICAgICAgICog Zm9yIDUgdG8gMTAlIG9mIGludGVydmFsDQotCQkJICAgICAgICovDQotCXEtPnJhdGVfZmxhZ3Mg fD0gQ0FLRV9GTEFHX1NQTElUX0dTTzsNCiAJcWQtPmN1cl90aW4gPSAwOw0KIAlxZC0+Y3VyX2Zs b3cgID0gMDsNCiAJcWQtPmNvbmZpZyA9IHE7DQpAQCAtMjgxNCwxMCArMjg0MSwyMSBAQCBzdGF0 aWMgaW50IGNha2VfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0K IAlyZXR1cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgaW50IGNha2VfZHVtcChzdHJ1Y3QgUWRpc2Mg KnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCitzdGF0aWMgdm9pZCBjYWtlX2NvbmZpZ19yZXBs YWNlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgY2FrZV9zY2hlZF9jb25maWcgKmNmZykNCiB7 DQogCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEgKnFkID0gcWRpc2NfcHJpdihzY2gpOw0KIAlzdHJ1 Y3QgY2FrZV9zY2hlZF9jb25maWcgKnEgPSBxZC0+Y29uZmlnOw0KKw0KKwlxZC0+Y29uZmlnID0g Y2ZnOw0KKw0KKwlpZiAoIXEtPmlzX3NoYXJlZCkNCisJCWt2ZnJlZShxKTsNCisNCisJY2FrZV9y ZWNvbmZpZ3VyZShzY2gpOw0KK30NCisNCitzdGF0aWMgaW50IGNha2VfY29uZmlnX2R1bXAoc3Ry dWN0IGNha2Vfc2NoZWRfY29uZmlnICpxLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KK3sNCiAJc3Ry dWN0IG5sYXR0ciAqb3B0czsNCiAJdTE2IHJhdGVfZmxhZ3M7DQogCXU4IGZsb3dfbW9kZTsNCkBA IC0yODkzLDYgKzI5MzEsMTQgQEAgc3RhdGljIGludCBjYWtlX2R1bXAoc3RydWN0IFFkaXNjICpz Y2gsIHN0cnVjdCBza19idWZmICpza2IpDQogCXJldHVybiAtMTsNCiB9DQogDQorc3RhdGljIGlu dCBjYWtlX2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19idWZmICpza2IpDQorew0K KwlzdHJ1Y3QgY2FrZV9zY2hlZF9kYXRhICpxZCA9IHFkaXNjX3ByaXYoc2NoKTsNCisJc3RydWN0 IGNha2Vfc2NoZWRfY29uZmlnICpxID0gcWQtPmNvbmZpZzsNCisNCisJcmV0dXJuIGNha2VfY29u ZmlnX2R1bXAocSwgc2tiKTsNCit9DQorDQogc3RhdGljIGludCBjYWtlX2R1bXBfc3RhdHMoc3Ry dWN0IFFkaXNjICpzY2gsIHN0cnVjdCBnbmV0X2R1bXAgKmQpDQogew0KIAlzdHJ1Y3QgbmxhdHRy ICpzdGF0cyA9IG5sYV9uZXN0X3N0YXJ0X25vZmxhZyhkLT5za2IsIFRDQV9TVEFUU19BUFApOw0K QEAgLTMxNTUsNyArMzIwMSw4IEBAIHN0YXRpYyBzdHJ1Y3QgUWRpc2Nfb3BzIGNha2VfcWRpc2Nf b3BzIF9fcmVhZF9tb3N0bHkgPSB7DQogTU9EVUxFX0FMSUFTX05FVF9TQ0goImNha2UiKTsNCiAN CiBzdHJ1Y3QgY2FrZV9tcV9zY2hlZCB7DQotCXN0cnVjdCBRZGlzYwkJKipxZGlzY3M7DQorCXN0 cnVjdCBRZGlzYyAqKnFkaXNjczsNCisJc3RydWN0IGNha2Vfc2NoZWRfY29uZmlnIGNha2VfY29u ZmlnOw0KIH07DQogDQogc3RhdGljIHZvaWQgY2FrZV9tcV9kZXN0cm95KHN0cnVjdCBRZGlzYyAq c2NoKQ0KQEAgLTMxNzksNiArMzIyNiw4IEBAIHN0YXRpYyBpbnQgY2FrZV9tcV9pbml0KHN0cnVj dCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsDQogCXN0cnVjdCBuZXRkZXZfcXVldWUg KmRldl9xdWV1ZTsNCiAJc3RydWN0IFFkaXNjICpxZGlzYzsNCiAJdW5zaWduZWQgaW50IG50eDsN CisJYm9vbCBfdW51c2VkOw0KKwlpbnQgcmV0Ow0KIA0KIAlpZiAoc2NoLT5wYXJlbnQgIT0gVENf SF9ST09UKQ0KIAkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KQEAgLTMxODYsNiArMzIzNSwxMSBAQCBz dGF0aWMgaW50IGNha2VfbXFfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAq b3B0LA0KIAlpZiAoIW5ldGlmX2lzX211bHRpcXVldWUoZGV2KSkNCiAJCXJldHVybiAtRU9QTk9U U1VQUDsNCiANCisJY2FrZV9jb25maWdfaW5pdCgmcHJpdi0+Y2FrZV9jb25maWcsIHRydWUpOw0K KwlyZXQgPSBjYWtlX2NvbmZpZ19jaGFuZ2UoJnByaXYtPmNha2VfY29uZmlnLCBvcHQsIGV4dGFj aywgJl91bnVzZWQpOw0KKwlpZiAocmV0KQ0KKwkJcmV0dXJuIHJldDsNCisNCiAJLyogcHJlLWFs bG9jYXRlIHFkaXNjcywgYXR0YWNobWVudCBjYW4ndCBmYWlsICovDQogCXByaXYtPnFkaXNjcyA9 IGtjYWxsb2MoZGV2LT5udW1fdHhfcXVldWVzLCBzaXplb2YocHJpdi0+cWRpc2NzWzBdKSwNCiAJ CQkgICAgICAgR0ZQX0tFUk5FTCk7DQpAQCAtMzIwNCw2ICszMjU4LDcgQEAgc3RhdGljIGludCBj YWtlX21xX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwNCiAJCX0N CiAJCXByaXYtPnFkaXNjc1tudHhdID0gcWRpc2M7DQogCQlxZGlzYy0+ZmxhZ3MgfD0gVENRX0Zf T05FVFhRVUVVRSB8IFRDUV9GX05PUEFSRU5UOw0KKwkJY2FrZV9jb25maWdfcmVwbGFjZShxZGlz YywgJnByaXYtPmNha2VfY29uZmlnKTsNCiAJfQ0KIA0KIAlzY2gtPmZsYWdzIHw9IFRDUV9GX01R Uk9PVDsNCkBAIC0zMjMyLDggKzMyODcsNDIgQEAgc3RhdGljIHZvaWQgY2FrZV9tcV9hdHRhY2go c3RydWN0IFFkaXNjICpzY2gpDQogCXByaXYtPnFkaXNjcyA9IE5VTEw7DQogfQ0KIA0KK3N0YXRp YyBpbnQgY2FrZV9tcV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9w dCwNCisJCQkgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykNCit7DQorCXN0cnVjdCBu ZXRfZGV2aWNlICpkZXYgPSBxZGlzY19kZXYoc2NoKTsNCisJc3RydWN0IGNha2VfbXFfc2NoZWQg KnByaXYgPSBxZGlzY19wcml2KHNjaCk7DQorCWJvb2wgb3ZlcmhlYWRfY2hhbmdlZCA9IGZhbHNl Ow0KKwl1bnNpZ25lZCBpbnQgbnR4Ow0KKwlpbnQgcmV0Ow0KKw0KKwlyZXQgPSBjYWtlX2NvbmZp Z19jaGFuZ2UoJnByaXYtPmNha2VfY29uZmlnLCBvcHQsIGV4dGFjaywgJm92ZXJoZWFkX2NoYW5n ZWQpOw0KKwlpZiAocmV0KQ0KKwkJcmV0dXJuIHJldDsNCisNCisJc2NoX3RyZWVfbG9jayhzY2gp Ow0KKwlmb3IgKG50eCA9IDA7IG50eCA8IGRldi0+bnVtX3R4X3F1ZXVlczsgbnR4KyspIHsNCisJ CXN0cnVjdCBRZGlzYyAqY2hsZCA9IHJ0bmxfZGVyZWZlcmVuY2UobmV0ZGV2X2dldF90eF9xdWV1 ZShkZXYsIG50eCktPnFkaXNjX3NsZWVwaW5nKTsNCisJCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEg KnFkID0gcWRpc2NfcHJpdihjaGxkKTsNCisNCisJCWlmIChvdmVyaGVhZF9jaGFuZ2VkKSB7DQor CQkJcWQtPm1heF9uZXRsZW4gPSAwOw0KKwkJCXFkLT5tYXhfYWRqbGVuID0gMDsNCisJCQlxZC0+ bWluX25ldGxlbiA9IH4wOw0KKwkJCXFkLT5taW5fYWRqbGVuID0gfjA7DQorCQl9DQorDQorCQlp ZiAocWQtPnRpbnMpDQorCQkJY2FrZV9yZWNvbmZpZ3VyZShjaGxkKTsNCisJfQ0KKwlzY2hfdHJl ZV91bmxvY2soc2NoKTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KIHN0YXRpYyBpbnQgY2FrZV9t cV9kdW1wKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KIHsNCisJc3Ry dWN0IGNha2VfbXFfc2NoZWQgKnFkID0gcWRpc2NfcHJpdihzY2gpOw0KIAlzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2ID0gcWRpc2NfZGV2KHNjaCk7DQogCXN0cnVjdCBRZGlzYyAqcWRpc2M7DQogCXVu c2lnbmVkIGludCBudHg7DQpAQCAtMzI2MCw3ICszMzQ5LDcgQEAgc3RhdGljIGludCBjYWtlX21x X2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19idWZmICpza2IpDQogCQlzcGluX3Vu bG9ja19iaChxZGlzY19sb2NrKHFkaXNjKSk7DQogCX0NCiANCi0JcmV0dXJuIDA7DQorCXJldHVy biBjYWtlX2NvbmZpZ19kdW1wKCZxZC0+Y2FrZV9jb25maWcsIHNrYik7DQogfQ0KIA0KIHN0YXRp YyBzdHJ1Y3QgbmV0ZGV2X3F1ZXVlICpjYWtlX21xX3F1ZXVlX2dldChzdHJ1Y3QgUWRpc2MgKnNj aCwgdW5zaWduZWQgbG9uZyBjbCkNCkBAIC0zMzU3LDcgKzM0NDYsNyBAQCBzdGF0aWMgc3RydWN0 IFFkaXNjX29wcyBjYWtlX21xX3FkaXNjX29wcyBfX3JlYWRfbW9zdGx5ID0gew0KIAkuaW5pdAkJ PQljYWtlX21xX2luaXQsDQogCS5kZXN0cm95CT0JY2FrZV9tcV9kZXN0cm95LA0KIAkuYXR0YWNo CQk9IGNha2VfbXFfYXR0YWNoLA0KLQkvLwkuY2hhbmdlCQk9CWNha2VfbXFfY2hhbmdlLA0KKwku Y2hhbmdlCQk9CWNha2VfbXFfY2hhbmdlLA0KIAkuY2hhbmdlX3JlYWxfbnVtX3R4ID0gbXFfY2hh bmdlX3JlYWxfbnVtX3R4LA0KIAkuZHVtcAkJPQljYWtlX21xX2R1bXAsDQogCS5vd25lcgkJPQlU SElTX01PRFVMRSwNCg0KLS0gDQoyLjUxLjANCg0K