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.133.124]) by mail.toke.dk (Postfix) with ESMTPS id 408C0B57AF9 for ; Mon, 05 Jan 2026 13:51:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1767617499; 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=pX3ABv6iI2/B5PgTsExWPgiK6cSF5NREquQbOQIGOr0=; b=hehEQghZM2PreTW85n0LfFdC2fv9Ju1DqvM2eNY0CJWi74IdkJmrejAVrkAVwiempcb/WQ w4aRd4Y81aPlHV4TwTMnP/HIN5lh6dAmnxvnVknSjnPhcaKFqG+dEy6OTbWVcu1YMWsHN3 U9isgC2Kl+I+wXq+bu7l0WbzPivQKgc= Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-402-Scz0LJ0eOHyPIr-bHT7cQg-1; Mon, 05 Jan 2026 07:51:36 -0500 X-MC-Unique: Scz0LJ0eOHyPIr-bHT7cQg-1 X-Mimecast-MFC-AGG-ID: Scz0LJ0eOHyPIr-bHT7cQg_1767617495 Received: by mail-ed1-f70.google.com with SMTP id 4fb4d7f45d1cf-64d1982d980so15329164a12.2 for ; Mon, 05 Jan 2026 04:51:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767617495; x=1768222295; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=pX3ABv6iI2/B5PgTsExWPgiK6cSF5NREquQbOQIGOr0=; b=Y2buAE6aCf3MuzykCR0KkCaOW19ujYNuMDf8n8j5LAMtykiy7jnDdKHsF310YLHsKQ NFSUQenAAD2urShEKl5mmwkDRYRTHbMa/mzKfmNq7lNgN0GmW5hPzwxDyJRl77+mbFf/ T5kys4QML3Zuajr2E0Mgk78OX67BJcqX3P7rExMaiofqyD0w0NUBg69nA9ECJCM30388 TFuP3b1Dzq8QbNhAu9koRyCWeIjX364JZCWmcnDy3DxbXY3cr8hMz3LHnkhAn4lEA8AI CH9GxWJAUCcrV22jySzYC7OgLNKaYVTQaclxVCPzdg6QPT0T3yIavqhc3hvqm4iZwmHA ab1g== X-Forwarded-Encrypted: i=1; AJvYcCVpCnLPuFFI7bLVyAa22rA79eBHcgdP8gHH+Q8VdWCvdtu30hm/EQsL5Y6/dZJy2SiR7pAu@lists.bufferbloat.net X-Gm-Message-State: AOJu0Yzo4CkxuFDevtSrmq8WkDZmjGo4bb1TsAj2jbB0RRclTs7mZ4Sg //USe24R1FPYhGbWLiTwoB7vfFysm4WungGi7Ykpsydi/ITQQJRTZJed5ghRtDp8V2EZ41Er8lT 5p0MZc0iyG1Mrlkxz78vFU/ziAtPVHP9lYE9BuU6x8eelJHnwoXNfpdhmls4qjEs= X-Gm-Gg: AY/fxX59EwAFydX3acPR2/N2zfs2l24VbGBeCAUJpziRlx6yO1qblAMU1ue6OZ0bWRK qgnjOibSTwiB8EVTHlwrjx4vv41JSh25O9PSz8Td4syZ7sY4V0Z1+Gd0YZGVZVfcqaY7F3UXKup 8RezxHI6iytxV4h+xylN6t2G6sI8E3yMmNoaFDHB+XcWUJHwLaBL614tUyFgDSHnt96zTsMPgtr RQzrwwcm7nzOuHSqTzFFNZUsarVeUN70D60tCYZ2s/hOJHpyT7xLz9mLZAA7Km6M9tt3ScxAfqR K8ElC4FWp1pe8/lystknZVE35WLrJr7lK5ZhoCzEB2zyxOuwPLuk/prlsKUkUPDB9o/ZwcmssJW 5/JiZj8cIgFgMkIdcPWQ3ItCG94Ksb2FZI30n X-Received: by 2002:a17:907:1c17:b0:b76:4c16:6afa with SMTP id a640c23a62f3a-b8036f637d8mr5198876566b.28.1767617494707; Mon, 05 Jan 2026 04:51:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IGlS7wXEiFtaDcuX+Gy85lp8QI5blBkRIyWKPn1Px6WC2eVbxSqkIeQF77MI8BVzZ689YXnWQ== X-Received: by 2002:a17:907:1c17:b0:b76:4c16:6afa with SMTP id a640c23a62f3a-b8036f637d8mr5198875266b.28.1767617494224; Mon, 05 Jan 2026 04:51:34 -0800 (PST) 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-b8037de0b38sm5465863666b.32.2026.01.05.04.51.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 04:51:33 -0800 (PST) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 51070407E95; Mon, 05 Jan 2026 13:51:32 +0100 (CET) From: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Date: Mon, 05 Jan 2026 13:50:29 +0100 MIME-Version: 1.0 Message-Id: <20260105-mq-cake-sub-qdisc-v5-4-8a99b9db05e6@redhat.com> References: <20260105-mq-cake-sub-qdisc-v5-0-8a99b9db05e6@redhat.com> In-Reply-To: <20260105-mq-cake-sub-qdisc-v5-0-8a99b9db05e6@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.3 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: ON-FjWpCSIXeWUohg_vSWGmdxIjo5wuDXund6xcr0uE_1767617495 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: 3FE3YOKHRCBMTO55I6KKTLCC4KLYSHEL X-Message-ID-Hash: 3FE3YOKHRCBMTO55I6KKTLCC4KLYSHEL 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 net-next v5 4/6] 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 bT4NCi0tLQ0KIG5ldC9zY2hlZC9zY2hfY2FrZS5jIHwgMTczICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxMzMgaW5z ZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvc2No X2Nha2UuYyBiL25ldC9zY2hlZC9zY2hfY2FrZS5jDQppbmRleCBmYTAxYzM1MmY1YTUuLmY5ZGFm YTY4Nzk1MCAxMDA2NDQNCi0tLSBhL25ldC9zY2hlZC9zY2hfY2FrZS5jDQorKysgYi9uZXQvc2No ZWQvc2NoX2Nha2UuYw0KQEAgLTIxMiw2ICsyMTIsNyBAQCBzdHJ1Y3QgY2FrZV9zY2hlZF9jb25m aWcgew0KIAl1OAkJZmxvd19tb2RlOw0KIAl1OAkJYXRtX21vZGU7DQogCXU4CQlhY2tfZmlsdGVy Ow0KKwl1OAkJaXNfc2hhcmVkOw0KIH07DQogDQogc3RydWN0IGNha2Vfc2NoZWRfZGF0YSB7DQpA QCAtMjU4NywxNCArMjU4OCwxMiBAQCBzdGF0aWMgdm9pZCBjYWtlX3JlY29uZmlndXJlKHN0cnVj dCBRZGlzYyAqc2NoKQ0KIAkJCQkgICBxLT5idWZmZXJfY29uZmlnX2xpbWl0KSk7DQogfQ0KIA0K LXN0YXRpYyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIg Km9wdCwNCi0JCSAgICAgICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spDQorc3RhdGlj IGludCBjYWtlX2NvbmZpZ19jaGFuZ2Uoc3RydWN0IGNha2Vfc2NoZWRfY29uZmlnICpxLCBzdHJ1 Y3QgbmxhdHRyICpvcHQsDQorCQkJICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNr LCBib29sICpvdmVyaGVhZF9jaGFuZ2VkKQ0KIHsNCi0Jc3RydWN0IGNha2Vfc2NoZWRfZGF0YSAq cWQgPSBxZGlzY19wcml2KHNjaCk7DQotCXN0cnVjdCBjYWtlX3NjaGVkX2NvbmZpZyAqcSA9IHFk LT5jb25maWc7DQogCXN0cnVjdCBubGF0dHIgKnRiW1RDQV9DQUtFX01BWCArIDFdOw0KLQl1MTYg cmF0ZV9mbGFnczsNCi0JdTggZmxvd19tb2RlOw0KKwl1MTYgcmF0ZV9mbGFncyA9IHEtPnJhdGVf ZmxhZ3M7DQorCXU4IGZsb3dfbW9kZSA9IHEtPmZsb3dfbW9kZTsNCiAJaW50IGVycjsNCiANCiAJ ZXJyID0gbmxhX3BhcnNlX25lc3RlZF9kZXByZWNhdGVkKHRiLCBUQ0FfQ0FLRV9NQVgsIG9wdCwg Y2FrZV9wb2xpY3ksDQpAQCAtMjYwMiw3ICsyNjAxLDYgQEAgc3RhdGljIGludCBjYWtlX2NoYW5n ZShzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KIAlpZiAoZXJyIDwgMCkN CiAJCXJldHVybiBlcnI7DQogDQotCWZsb3dfbW9kZSA9IHEtPmZsb3dfbW9kZTsNCiAJaWYgKHRi W1RDQV9DQUtFX05BVF0pIHsNCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfTkZfQ09OTlRSQUNLKQ0K IAkJZmxvd19tb2RlICY9IH5DQUtFX0ZMT1dfTkFUX0ZMQUc7DQpAQCAtMjYxNSw2ICsyNjEzLDE5 IEBAIHN0YXRpYyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0 dHIgKm9wdCwNCiAjZW5kaWYNCiAJfQ0KIA0KKwlpZiAodGJbVENBX0NBS0VfQVVUT1JBVEVdKSB7 DQorCQlpZiAoISFubGFfZ2V0X3UzMih0YltUQ0FfQ0FLRV9BVVRPUkFURV0pKSB7DQorCQkJaWYg KHEtPmlzX3NoYXJlZCkgew0KKwkJCQlOTF9TRVRfRVJSX01TR19BVFRSKGV4dGFjaywgdGJbVENB X0NBS0VfTkFUXSwNCisJCQkJCQkgICAgIkNhbid0IHVzZSBhdXRvcmF0ZS1pbmdyZXNzIHdpdGgg Y2FrZV9tcSIpOw0KKwkJCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQorCQkJfQ0KKwkJCXJhdGVfZmxh Z3MgfD0gQ0FLRV9GTEFHX0FVVE9SQVRFX0lOR1JFU1M7DQorCQl9IGVsc2Ugew0KKwkJCXJhdGVf ZmxhZ3MgJj0gfkNBS0VfRkxBR19BVVRPUkFURV9JTkdSRVNTOw0KKwkJfQ0KKwl9DQorDQogCWlm ICh0YltUQ0FfQ0FLRV9CQVNFX1JBVEU2NF0pDQogCQlXUklURV9PTkNFKHEtPnJhdGVfYnBzLA0K IAkJCSAgIG5sYV9nZXRfdTY0KHRiW1RDQV9DQUtFX0JBU0VfUkFURTY0XSkpOw0KQEAgLTI2MjMs NyArMjYzNCw2IEBAIHN0YXRpYyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpzY2gsIHN0 cnVjdCBubGF0dHIgKm9wdCwNCiAJCVdSSVRFX09OQ0UocS0+dGluX21vZGUsDQogCQkJICAgbmxh X2dldF91MzIodGJbVENBX0NBS0VfRElGRlNFUlZfTU9ERV0pKTsNCiANCi0JcmF0ZV9mbGFncyA9 IHEtPnJhdGVfZmxhZ3M7DQogCWlmICh0YltUQ0FfQ0FLRV9XQVNIXSkgew0KIAkJaWYgKCEhbmxh X2dldF91MzIodGJbVENBX0NBS0VfV0FTSF0pKQ0KIAkJCXJhdGVfZmxhZ3MgfD0gQ0FLRV9GTEFH X1dBU0g7DQpAQCAtMjY0NCwyMCArMjY1NCwxMiBAQCBzdGF0aWMgaW50IGNha2VfY2hhbmdlKHN0 cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsDQogCQlXUklURV9PTkNFKHEtPnJh dGVfb3ZlcmhlYWQsDQogCQkJICAgbmxhX2dldF9zMzIodGJbVENBX0NBS0VfT1ZFUkhFQURdKSk7 DQogCQlyYXRlX2ZsYWdzIHw9IENBS0VfRkxBR19PVkVSSEVBRDsNCi0NCi0JCXFkLT5tYXhfbmV0 bGVuID0gMDsNCi0JCXFkLT5tYXhfYWRqbGVuID0gMDsNCi0JCXFkLT5taW5fbmV0bGVuID0gfjA7 DQotCQlxZC0+bWluX2FkamxlbiA9IH4wOw0KKwkJKm92ZXJoZWFkX2NoYW5nZWQgPSB0cnVlOw0K IAl9DQogDQogCWlmICh0YltUQ0FfQ0FLRV9SQVddKSB7DQogCQlyYXRlX2ZsYWdzICY9IH5DQUtF X0ZMQUdfT1ZFUkhFQUQ7DQotDQotCQlxZC0+bWF4X25ldGxlbiA9IDA7DQotCQlxZC0+bWF4X2Fk amxlbiA9IDA7DQotCQlxZC0+bWluX25ldGxlbiA9IH4wOw0KLQkJcWQtPm1pbl9hZGpsZW4gPSB+ MDsNCisJCSpvdmVyaGVhZF9jaGFuZ2VkID0gdHJ1ZTsNCiAJfQ0KIA0KIAlpZiAodGJbVENBX0NB S0VfTVBVXSkNCkBAIC0yNjc2LDEzICsyNjc4LDYgQEAgc3RhdGljIGludCBjYWtlX2NoYW5nZShz dHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KIAkJV1JJVEVfT05DRShxLT50 YXJnZXQsIG1heCh0YXJnZXQsIDFVKSk7DQogCX0NCiANCi0JaWYgKHRiW1RDQV9DQUtFX0FVVE9S QVRFXSkgew0KLQkJaWYgKCEhbmxhX2dldF91MzIodGJbVENBX0NBS0VfQVVUT1JBVEVdKSkNCi0J CQlyYXRlX2ZsYWdzIHw9IENBS0VfRkxBR19BVVRPUkFURV9JTkdSRVNTOw0KLQkJZWxzZQ0KLQkJ CXJhdGVfZmxhZ3MgJj0gfkNBS0VfRkxBR19BVVRPUkFURV9JTkdSRVNTOw0KLQl9DQotDQogCWlm ICh0YltUQ0FfQ0FLRV9JTkdSRVNTXSkgew0KIAkJaWYgKCEhbmxhX2dldF91MzIodGJbVENBX0NB S0VfSU5HUkVTU10pKQ0KIAkJCXJhdGVfZmxhZ3MgfD0gQ0FLRV9GTEFHX0lOR1JFU1M7DQpAQCAt MjcxMyw2ICsyNzA4LDM0IEBAIHN0YXRpYyBpbnQgY2FrZV9jaGFuZ2Uoc3RydWN0IFFkaXNjICpz Y2gsIHN0cnVjdCBubGF0dHIgKm9wdCwNCiANCiAJV1JJVEVfT05DRShxLT5yYXRlX2ZsYWdzLCBy YXRlX2ZsYWdzKTsNCiAJV1JJVEVfT05DRShxLT5mbG93X21vZGUsIGZsb3dfbW9kZSk7DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IGNha2VfY2hhbmdlKHN0cnVjdCBRZGlzYyAq c2NoLCBzdHJ1Y3QgbmxhdHRyICpvcHQsDQorCQkgICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2Fj ayAqZXh0YWNrKQ0KK3sNCisJc3RydWN0IGNha2Vfc2NoZWRfZGF0YSAqcWQgPSBxZGlzY19wcml2 KHNjaCk7DQorCXN0cnVjdCBjYWtlX3NjaGVkX2NvbmZpZyAqcSA9IHFkLT5jb25maWc7DQorCWJv b2wgb3ZlcmhlYWRfY2hhbmdlZCA9IGZhbHNlOw0KKwlpbnQgcmV0Ow0KKw0KKwlpZiAocS0+aXNf c2hhcmVkKSB7DQorCQlOTF9TRVRfRVJSX01TRyhleHRhY2ssICJjYW4ndCByZWNvbmZpZ3VyZSBj YWtlX21xIHN1Yi1xZGlzY3MiKTsNCisJCXJldHVybiAtRU9QTk9UU1VQUDsNCisJfQ0KKw0KKwly ZXQgPSBjYWtlX2NvbmZpZ19jaGFuZ2UocSwgb3B0LCBleHRhY2ssICZvdmVyaGVhZF9jaGFuZ2Vk KTsNCisJaWYgKHJldCkNCisJCXJldHVybiByZXQ7DQorDQorCWlmIChvdmVyaGVhZF9jaGFuZ2Vk KSB7DQorCQlxZC0+bWF4X25ldGxlbiA9IDA7DQorCQlxZC0+bWF4X2FkamxlbiA9IDA7DQorCQlx ZC0+bWluX25ldGxlbiA9IH4wOw0KKwkJcWQtPm1pbl9hZGpsZW4gPSB+MDsNCisJfQ0KKw0KIAlp ZiAocWQtPnRpbnMpIHsNCiAJCXNjaF90cmVlX2xvY2soc2NoKTsNCiAJCWNha2VfcmVjb25maWd1 cmUoc2NoKTsNCkBAIC0yNzI5LDcgKzI3NTIsMjMgQEAgc3RhdGljIHZvaWQgY2FrZV9kZXN0cm95 KHN0cnVjdCBRZGlzYyAqc2NoKQ0KIAlxZGlzY193YXRjaGRvZ19jYW5jZWwoJnEtPndhdGNoZG9n KTsNCiAJdGNmX2Jsb2NrX3B1dChxLT5ibG9jayk7DQogCWt2ZnJlZShxLT50aW5zKTsNCi0Ja3Zm cmVlKHEtPmNvbmZpZyk7DQorCWlmIChxLT5jb25maWcgJiYgIXEtPmNvbmZpZy0+aXNfc2hhcmVk KQ0KKwkJa3ZmcmVlKHEtPmNvbmZpZyk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGNha2VfY29uZmln X2luaXQoc3RydWN0IGNha2Vfc2NoZWRfY29uZmlnICpxLCBib29sIGlzX3NoYXJlZCkNCit7DQor CXEtPnRpbl9tb2RlID0gQ0FLRV9ESUZGU0VSVl9ESUZGU0VSVjM7DQorCXEtPmZsb3dfbW9kZSAg PSBDQUtFX0ZMT1dfVFJJUExFOw0KKw0KKwlxLT5yYXRlX2JwcyA9IDA7IC8qIHVubGltaXRlZCBi eSBkZWZhdWx0ICovDQorDQorCXEtPmludGVydmFsID0gMTAwMDAwOyAvKiAxMDBtcyBkZWZhdWx0 ICovDQorCXEtPnRhcmdldCAgID0gICA1MDAwOyAvKiA1bXM6IGNvZGVsIFJGQyBhcmd1ZXMNCisJ CQkgICAgICAgKiBmb3IgNSB0byAxMCUgb2YgaW50ZXJ2YWwNCisJCQkgICAgICAgKi8NCisJcS0+ cmF0ZV9mbGFncyB8PSBDQUtFX0ZMQUdfU1BMSVRfR1NPOw0KKwlxLT5pc19zaGFyZWQgPSBpc19z aGFyZWQ7DQogfQ0KIA0KIHN0YXRpYyBpbnQgY2FrZV9pbml0KHN0cnVjdCBRZGlzYyAqc2NoLCBz dHJ1Y3QgbmxhdHRyICpvcHQsDQpAQCAtMjc0MywxOSArMjc4MiwxMSBAQCBzdGF0aWMgaW50IGNh a2VfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KIAlpZiAoIXEp DQogCQlyZXR1cm4gLUVOT01FTTsNCiANCisJY2FrZV9jb25maWdfaW5pdChxLCBmYWxzZSk7DQor DQogCXNjaC0+bGltaXQgPSAxMDI0MDsNCiAJc2NoLT5mbGFncyB8PSBUQ1FfRl9ERVFVRVVFX0RS T1BTOw0KIA0KLQlxLT50aW5fbW9kZSA9IENBS0VfRElGRlNFUlZfRElGRlNFUlYzOw0KLQlxLT5m bG93X21vZGUgID0gQ0FLRV9GTE9XX1RSSVBMRTsNCi0NCi0JcS0+cmF0ZV9icHMgPSAwOyAvKiB1 bmxpbWl0ZWQgYnkgZGVmYXVsdCAqLw0KLQ0KLQlxLT5pbnRlcnZhbCA9IDEwMDAwMDsgLyogMTAw bXMgZGVmYXVsdCAqLw0KLQlxLT50YXJnZXQgICA9ICAgNTAwMDsgLyogNW1zOiBjb2RlbCBSRkMg YXJndWVzDQotCQkJICAgICAgICogZm9yIDUgdG8gMTAlIG9mIGludGVydmFsDQotCQkJICAgICAg ICovDQotCXEtPnJhdGVfZmxhZ3MgfD0gQ0FLRV9GTEFHX1NQTElUX0dTTzsNCiAJcWQtPmN1cl90 aW4gPSAwOw0KIAlxZC0+Y3VyX2Zsb3cgID0gMDsNCiAJcWQtPmNvbmZpZyA9IHE7DQpAQCAtMjgx OCwxMCArMjg0OSwyMSBAQCBzdGF0aWMgaW50IGNha2VfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwg c3RydWN0IG5sYXR0ciAqb3B0LA0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgaW50IGNh a2VfZHVtcChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCitzdGF0aWMg dm9pZCBjYWtlX2NvbmZpZ19yZXBsYWNlKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgY2FrZV9z Y2hlZF9jb25maWcgKmNmZykNCiB7DQogCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEgKnFkID0gcWRp c2NfcHJpdihzY2gpOw0KIAlzdHJ1Y3QgY2FrZV9zY2hlZF9jb25maWcgKnEgPSBxZC0+Y29uZmln Ow0KKw0KKwlxZC0+Y29uZmlnID0gY2ZnOw0KKw0KKwlpZiAoIXEtPmlzX3NoYXJlZCkNCisJCWt2 ZnJlZShxKTsNCisNCisJY2FrZV9yZWNvbmZpZ3VyZShzY2gpOw0KK30NCisNCitzdGF0aWMgaW50 IGNha2VfY29uZmlnX2R1bXAoc3RydWN0IGNha2Vfc2NoZWRfY29uZmlnICpxLCBzdHJ1Y3Qgc2tf YnVmZiAqc2tiKQ0KK3sNCiAJc3RydWN0IG5sYXR0ciAqb3B0czsNCiAJdTE2IHJhdGVfZmxhZ3M7 DQogCXU4IGZsb3dfbW9kZTsNCkBAIC0yODk3LDYgKzI5MzksMTMgQEAgc3RhdGljIGludCBjYWtl X2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19idWZmICpza2IpDQogCXJldHVybiAt MTsNCiB9DQogDQorc3RhdGljIGludCBjYWtlX2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVj dCBza19idWZmICpza2IpDQorew0KKwlzdHJ1Y3QgY2FrZV9zY2hlZF9kYXRhICpxZCA9IHFkaXNj X3ByaXYoc2NoKTsNCisNCisJcmV0dXJuIGNha2VfY29uZmlnX2R1bXAocWQtPmNvbmZpZywgc2ti KTsNCit9DQorDQogc3RhdGljIGludCBjYWtlX2R1bXBfc3RhdHMoc3RydWN0IFFkaXNjICpzY2gs IHN0cnVjdCBnbmV0X2R1bXAgKmQpDQogew0KIAlzdHJ1Y3QgbmxhdHRyICpzdGF0cyA9IG5sYV9u ZXN0X3N0YXJ0X25vZmxhZyhkLT5za2IsIFRDQV9TVEFUU19BUFApOw0KQEAgLTMxNjAsNiArMzIw OSw3IEBAIE1PRFVMRV9BTElBU19ORVRfU0NIKCJjYWtlIik7DQogDQogc3RydWN0IGNha2VfbXFf c2NoZWQgew0KIAlzdHJ1Y3QgbXFfc2NoZWQgbXFfcHJpdjsgLyogbXVzdCBiZSBmaXJzdCAqLw0K KwlzdHJ1Y3QgY2FrZV9zY2hlZF9jb25maWcgY2FrZV9jb25maWc7DQogfTsNCiANCiBzdGF0aWMg dm9pZCBjYWtlX21xX2Rlc3Ryb3koc3RydWN0IFFkaXNjICpzY2gpDQpAQCAtMzE3MCwyNSArMzIy MCw2OCBAQCBzdGF0aWMgdm9pZCBjYWtlX21xX2Rlc3Ryb3koc3RydWN0IFFkaXNjICpzY2gpDQog c3RhdGljIGludCBjYWtlX21xX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIg Km9wdCwNCiAJCQlzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spDQogew0KLQlpbnQgcmV0 Ow0KKwlzdHJ1Y3QgY2FrZV9tcV9zY2hlZCAqcHJpdiA9IHFkaXNjX3ByaXYoc2NoKTsNCisJc3Ry dWN0IG5ldF9kZXZpY2UgKmRldiA9IHFkaXNjX2RldihzY2gpOw0KKwlpbnQgcmV0LCBudHg7DQor CWJvb2wgX3VudXNlZDsNCisNCisJY2FrZV9jb25maWdfaW5pdCgmcHJpdi0+Y2FrZV9jb25maWcs IHRydWUpOw0KKwlpZiAob3B0KSB7DQorCQlyZXQgPSBjYWtlX2NvbmZpZ19jaGFuZ2UoJnByaXYt PmNha2VfY29uZmlnLCBvcHQsIGV4dGFjaywgJl91bnVzZWQpOw0KKwkJaWYgKHJldCkNCisJCQly ZXR1cm4gcmV0Ow0KKwl9DQogDQogCXJldCA9IG1xX2luaXRfY29tbW9uKHNjaCwgb3B0LCBleHRh Y2ssICZjYWtlX3FkaXNjX29wcyk7DQogCWlmIChyZXQpDQogCQlyZXR1cm4gcmV0Ow0KIA0KKwlm b3IgKG50eCA9IDA7IG50eCA8IGRldi0+bnVtX3R4X3F1ZXVlczsgbnR4KyspDQorCQljYWtlX2Nv bmZpZ19yZXBsYWNlKHByaXYtPm1xX3ByaXYucWRpc2NzW250eF0sICZwcml2LT5jYWtlX2NvbmZp Zyk7DQorDQogCXJldHVybiAwOw0KIH0NCiANCiBzdGF0aWMgaW50IGNha2VfbXFfZHVtcChzdHJ1 Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCiB7DQorCXN0cnVjdCBjYWtlX21x X3NjaGVkICpwcml2ID0gcWRpc2NfcHJpdihzY2gpOw0KKw0KIAltcV9kdW1wX2NvbW1vbihzY2gs IHNrYik7DQotCXJldHVybiAwOw0KKwlyZXR1cm4gY2FrZV9jb25maWdfZHVtcCgmcHJpdi0+Y2Fr ZV9jb25maWcsIHNrYik7DQogfQ0KIA0KIHN0YXRpYyBpbnQgY2FrZV9tcV9jaGFuZ2Uoc3RydWN0 IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9wdCwNCiAJCQkgIHN0cnVjdCBuZXRsaW5rX2V4 dF9hY2sgKmV4dGFjaykNCiB7DQotCXJldHVybiAtRU9QTk9UU1VQUDsNCisJc3RydWN0IGNha2Vf bXFfc2NoZWQgKnByaXYgPSBxZGlzY19wcml2KHNjaCk7DQorCXN0cnVjdCBuZXRfZGV2aWNlICpk ZXYgPSBxZGlzY19kZXYoc2NoKTsNCisJYm9vbCBvdmVyaGVhZF9jaGFuZ2VkID0gZmFsc2U7DQor CXVuc2lnbmVkIGludCBudHg7DQorCWludCByZXQ7DQorDQorCXJldCA9IGNha2VfY29uZmlnX2No YW5nZSgmcHJpdi0+Y2FrZV9jb25maWcsIG9wdCwgZXh0YWNrLCAmb3ZlcmhlYWRfY2hhbmdlZCk7 DQorCWlmIChyZXQpDQorCQlyZXR1cm4gcmV0Ow0KKw0KKwlmb3IgKG50eCA9IDA7IG50eCA8IGRl di0+bnVtX3R4X3F1ZXVlczsgbnR4KyspIHsNCisJCXN0cnVjdCBRZGlzYyAqY2hsZCA9IHJ0bmxf ZGVyZWZlcmVuY2UobmV0ZGV2X2dldF90eF9xdWV1ZShkZXYsIG50eCktPnFkaXNjX3NsZWVwaW5n KTsNCisJCXN0cnVjdCBjYWtlX3NjaGVkX2RhdGEgKnFkID0gcWRpc2NfcHJpdihjaGxkKTsNCisN CisJCWlmIChvdmVyaGVhZF9jaGFuZ2VkKSB7DQorCQkJcWQtPm1heF9uZXRsZW4gPSAwOw0KKwkJ CXFkLT5tYXhfYWRqbGVuID0gMDsNCisJCQlxZC0+bWluX25ldGxlbiA9IH4wOw0KKwkJCXFkLT5t aW5fYWRqbGVuID0gfjA7DQorCQl9DQorDQorCQlpZiAocWQtPnRpbnMpIHsNCisJCQlzY2hfdHJl ZV9sb2NrKGNobGQpOw0KKwkJCWNha2VfcmVjb25maWd1cmUoY2hsZCk7DQorCQkJc2NoX3RyZWVf dW5sb2NrKGNobGQpOw0KKwkJfQ0KKwl9DQorDQorCXJldHVybiAwOw0KIH0NCiANCiBzdGF0aWMg aW50IGNha2VfbXFfZ3JhZnQoc3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxvbmcgY2wsIHN0 cnVjdCBRZGlzYyAqbmV3LA0KDQotLSANCjIuNTIuMA0KDQo=