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 B87119E8D75 for ; Sun, 30 Nov 2025 21:37:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764535053; 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=XuaBOxVGfv3i0x8OoHvnBN3obdERZLRjIu9QG7xhJvM=; b=aSPDKkLnJdxqFw2AKoX9z+lt0Ka9pybgR5O8h8vO2bgLvfiMDZwyHsZ0K7j3IDTMHxiOFz AorunsZSWnt1mUojXvL8IfJfoyPQHvI7ROx6FyBFbLBeT05MTqszZ0sNfrGt94prxnUEcH 4rZtpG0gHwS0nvnDpxqnGYaPgSgz4h0= Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-449-SFoYMQM7NB2rfvKrpsZ_yA-1; Sun, 30 Nov 2025 15:37:30 -0500 X-MC-Unique: SFoYMQM7NB2rfvKrpsZ_yA-1 X-Mimecast-MFC-AGG-ID: SFoYMQM7NB2rfvKrpsZ_yA_1764535049 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-640ed3ad89bso5311625a12.3 for ; Sun, 30 Nov 2025 12:37:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764535049; x=1765139849; 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=XuaBOxVGfv3i0x8OoHvnBN3obdERZLRjIu9QG7xhJvM=; b=osIkcal7X0q57ptQ79+q2xJy2gc1zeCqOt97UhD2Y1JXDt0z5MS2vAmzgTa4CGpMrN eduWLnAWeTDk/Pu75KW+2+c6eaDzN030IzRJIos7siDYEe96oRsbqDxlNJFcJkWXgy2J jEcdnuZxysFImNMhr/9hFOt2RQT5RpsiqU89er5Qn5nYm4UkYZXhbqsjjU7aw0/XZLUM GMCU3JBIwcUVenBoSDAnSNOjTnRxXUYy99deNCEBeoiWyleriRHDSZe+PiMQdsvVvbNN SEi1Rm6yRaHp/Wmka/mN+uy0zJ+v6xN4aBBeNzR3pxqVz94H2wzuv7pTJKDx5esWozWK gs8w== X-Forwarded-Encrypted: i=1; AJvYcCXZSnjUSz6yphxDYQLBFy1CJSnuEUmg5rKCP6aJockwayT2ISSMJUWcq5aCqaiJCSuhAVe9@lists.bufferbloat.net X-Gm-Message-State: AOJu0Yyo1awYtqR02W9CGPq1KIvHODcGOKsIziTjvjy2pL+nH7qr81gC iIkh8Cb1cENBGS/JzhTk5fHn+YmGOF7G0+K5CR/SWFHNXn7y/8un0DAnMgrSb0SSsw+Y+/XhcQw kV+Fz8JZ9OULKfw5jsNhf9dBM8QHiLXs3sGo4CXSg3azeyEkqmqD/pd1vhVudzAQ= X-Gm-Gg: ASbGnctX2o5W8IMo7OjBQ3+JcARis3JynmTbgNNv1xRpE0Bskpofp/rnPyvX/P879mV /OIgw33QdsLCbkPUXAnG/jq5hwv5J/Fwdrd4o6vfAuOXL3OO4fHpLKghr0KIpRM4No9A/sDu1wF Q//7iwwK1VVmn67yQw0kvk+K8Y6kPUuW1Zkr9/nfOwEaHgzRX2iQ9uPPJ1m8koeN+JgIO/w7/7o UJOSyKytnl0eYVkTSkEWRrv4n5YyxJxM70oJKV5LvPH8HhT4f5ReBZzWzxR3n5mDYjJQ+MfYv+I dL1PjQ4RkdN8EaToiVrF47eCssQ/EC3ecYOUos1B0oVmYdtniAgAN18O4K3dq/MWWJ+dZViYFk2 SygiJ30cWTp0p4oECWzF/tkbsKoYBEwEgFw== X-Received: by 2002:a05:6402:1d54:b0:647:57d5:6af6 with SMTP id 4fb4d7f45d1cf-64757d56b0amr9589867a12.6.1764535049162; Sun, 30 Nov 2025 12:37:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IFkDApVv3/OcM+GvAVWyG75ZHChEZkM3/EWGsMTy10NmN4iMuN+sJGSVZjWBaMvmIsd7NWGwA== X-Received: by 2002:a05:6402:1d54:b0:647:57d5:6af6 with SMTP id 4fb4d7f45d1cf-64757d56b0amr9589856a12.6.1764535048791; Sun, 30 Nov 2025 12:37:28 -0800 (PST) Received: from alrua-x1.borgediget.toke.dk ([45.145.92.2]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64750a90c93sm10255087a12.9.2025.11.30.12.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Nov 2025 12:37:28 -0800 (PST) Received: by alrua-x1.borgediget.toke.dk (Postfix, from userid 1000) id 3B44F395C23; Sun, 30 Nov 2025 21:37:26 +0100 (CET) From: =?utf-8?q?Toke_H=C3=B8iland-J=C3=B8rgensen?= Date: Sun, 30 Nov 2025 21:37:18 +0100 MIME-Version: 1.0 Message-Id: <20251130-mq-cake-sub-qdisc-v3-1-5f66c548ecdc@redhat.com> References: <20251130-mq-cake-sub-qdisc-v3-0-5f66c548ecdc@redhat.com> In-Reply-To: <20251130-mq-cake-sub-qdisc-v3-0-5f66c548ecdc@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: DY0c7-IpP28fq8FGwLDkQF4xMwABjklMfra4hkSP98k_1764535049 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: ML5TLDX7T2CP6HXDVBECO2NAZA76HZWH X-Message-ID-Hash: ML5TLDX7T2CP6HXDVBECO2NAZA76HZWH 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 v3 1/5] net/sched: Export mq functions for reuse List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VG8gZW5hYmxlIHRoZSBjYWtlX21xIHFkaXNjIHRvIHJldXNlIGNvZGUgZnJvbSB0aGUgbXEgcWRp c2MsIGV4cG9ydCBhDQpidW5jaCBvZiBmdW5jdGlvbnMgZnJvbSBzY2hfbXEuIFNwbGl0IGNvbW1v biBmdW5jdGlvbmFsaXR5IG91dCBmcm9tIHNvbWUNCmZ1bmN0aW9ucyBzbyBpdCBjYW4gYmUgY29t cG9zZWQgd2l0aCBvdGhlciBjb2RlLCBhbmQgZXhwb3J0IG90aGVyDQpmdW5jdGlvbnMgd2hvbGVz YWxlLg0KDQpObyBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRlZC4NCg0KU2lnbmVkLW9mZi1ieTog VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHJlZGhhdC5jb20+DQotLS0NCiBpbmNsdWRl L25ldC9zY2hfZ2VuZXJpYy5oIHwgMTkgKysrKysrKysrKysrKw0KIG5ldC9zY2hlZC9zY2hfbXEu YyAgICAgICAgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0p DQoNCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9zY2hfZ2VuZXJpYy5oIGIvaW5jbHVkZS9uZXQv c2NoX2dlbmVyaWMuaA0KaW5kZXggYzNhNzI2OGI1NjdlLi5mMjI4MTkxNGQ5NjIgMTAwNjQ0DQot LS0gYS9pbmNsdWRlL25ldC9zY2hfZ2VuZXJpYy5oDQorKysgYi9pbmNsdWRlL25ldC9zY2hfZ2Vu ZXJpYy5oDQpAQCAtMTQxOSw3ICsxNDE5LDI2IEBAIHZvaWQgbWluaV9xZGlzY19wYWlyX2luaXQo c3RydWN0IG1pbmlfUWRpc2NfcGFpciAqbWluaXFwLCBzdHJ1Y3QgUWRpc2MgKnFkaXNjLA0KIHZv aWQgbWluaV9xZGlzY19wYWlyX2Jsb2NrX2luaXQoc3RydWN0IG1pbmlfUWRpc2NfcGFpciAqbWlu aXFwLA0KIAkJCQlzdHJ1Y3QgdGNmX2Jsb2NrICpibG9jayk7DQogDQorc3RydWN0IG1xX3NjaGVk IHsNCisJc3RydWN0IFFkaXNjCQkqKnFkaXNjczsNCit9Ow0KKw0KK2ludCBtcV9pbml0X2NvbW1v bihzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KKwkJICAgc3RydWN0IG5l dGxpbmtfZXh0X2FjayAqZXh0YWNrLA0KKwkJICAgY29uc3Qgc3RydWN0IFFkaXNjX29wcyAqcWRp c2Nfb3BzKTsNCit2b2lkIG1xX2Rlc3Ryb3lfY29tbW9uKHN0cnVjdCBRZGlzYyAqc2NoKTsNCit2 b2lkIG1xX2F0dGFjaChzdHJ1Y3QgUWRpc2MgKnNjaCk7DQogdm9pZCBtcV9jaGFuZ2VfcmVhbF9u dW1fdHgoc3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGludCBuZXdfcmVhbF90eCk7DQordm9p ZCBtcV9kdW1wX2NvbW1vbihzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYik7 DQorc3RydWN0IG5ldGRldl9xdWV1ZSAqbXFfc2VsZWN0X3F1ZXVlKHN0cnVjdCBRZGlzYyAqc2No LA0KKwkJCQkgICAgIHN0cnVjdCB0Y21zZyAqdGNtKTsNCitzdHJ1Y3QgUWRpc2MgKm1xX2xlYWYo c3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxvbmcgY2wpOw0KK3Vuc2lnbmVkIGxvbmcgbXFf ZmluZChzdHJ1Y3QgUWRpc2MgKnNjaCwgdTMyIGNsYXNzaWQpOw0KK2ludCBtcV9kdW1wX2NsYXNz KHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsLA0KKwkJICBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCBzdHJ1Y3QgdGNtc2cgKnRjbSk7DQoraW50IG1xX2R1bXBfY2xhc3Nfc3RhdHMoc3Ry dWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxvbmcgY2wsDQorCQkJc3RydWN0IGduZXRfZHVtcCAq ZCk7DQordm9pZCBtcV93YWxrKHN0cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgcWRpc2Nfd2Fsa2Vy ICphcmcpOw0KIA0KIGludCBzY2hfZnJhZ194bWl0X2hvb2soc3RydWN0IHNrX2J1ZmYgKnNrYiwg aW50ICgqeG1pdCkoc3RydWN0IHNrX2J1ZmYgKnNrYikpOw0KIA0KZGlmZiAtLWdpdCBhL25ldC9z Y2hlZC9zY2hfbXEuYyBiL25ldC9zY2hlZC9zY2hfbXEuYw0KaW5kZXggYzg2MDExOWE4ZjA5Li4w YmNhYmRjZDFmNDQgMTAwNjQ0DQotLS0gYS9uZXQvc2NoZWQvc2NoX21xLmMNCisrKyBiL25ldC9z Y2hlZC9zY2hfbXEuYw0KQEAgLTE3LDEwICsxNyw2IEBADQogI2luY2x1ZGUgPG5ldC9wa3Rfc2No ZWQuaD4NCiAjaW5jbHVkZSA8bmV0L3NjaF9nZW5lcmljLmg+DQogDQotc3RydWN0IG1xX3NjaGVk IHsNCi0Jc3RydWN0IFFkaXNjCQkqKnFkaXNjczsNCi19Ow0KLQ0KIHN0YXRpYyBpbnQgbXFfb2Zm bG9hZChzdHJ1Y3QgUWRpc2MgKnNjaCwgZW51bSB0Y19tcV9jb21tYW5kIGNtZCkNCiB7DQogCXN0 cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBxZGlzY19kZXYoc2NoKTsNCkBAIC00OSwyMyArNDUsMjkg QEAgc3RhdGljIGludCBtcV9vZmZsb2FkX3N0YXRzKHN0cnVjdCBRZGlzYyAqc2NoKQ0KIAlyZXR1 cm4gcWRpc2Nfb2ZmbG9hZF9kdW1wX2hlbHBlcihzY2gsIFRDX1NFVFVQX1FESVNDX01RLCAmb3B0 KTsNCiB9DQogDQotc3RhdGljIHZvaWQgbXFfZGVzdHJveShzdHJ1Y3QgUWRpc2MgKnNjaCkNCit2 b2lkIG1xX2Rlc3Ryb3lfY29tbW9uKHN0cnVjdCBRZGlzYyAqc2NoKQ0KIHsNCiAJc3RydWN0IG5l dF9kZXZpY2UgKmRldiA9IHFkaXNjX2RldihzY2gpOw0KIAlzdHJ1Y3QgbXFfc2NoZWQgKnByaXYg PSBxZGlzY19wcml2KHNjaCk7DQogCXVuc2lnbmVkIGludCBudHg7DQogDQotCW1xX29mZmxvYWQo c2NoLCBUQ19NUV9ERVNUUk9ZKTsNCi0NCiAJaWYgKCFwcml2LT5xZGlzY3MpDQogCQlyZXR1cm47 DQogCWZvciAobnR4ID0gMDsgbnR4IDwgZGV2LT5udW1fdHhfcXVldWVzICYmIHByaXYtPnFkaXNj c1tudHhdOyBudHgrKykNCiAJCXFkaXNjX3B1dChwcml2LT5xZGlzY3NbbnR4XSk7DQogCWtmcmVl KHByaXYtPnFkaXNjcyk7DQogfQ0KK0VYUE9SVF9TWU1CT0wobXFfZGVzdHJveV9jb21tb24pOw0K IA0KLXN0YXRpYyBpbnQgbXFfaW5pdChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAq b3B0LA0KLQkJICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQ0KK3N0YXRpYyB2b2lk IG1xX2Rlc3Ryb3koc3RydWN0IFFkaXNjICpzY2gpDQorew0KKwltcV9vZmZsb2FkKHNjaCwgVENf TVFfREVTVFJPWSk7DQorCW1xX2Rlc3Ryb3lfY29tbW9uKHNjaCk7DQorfQ0KKw0KK2ludCBtcV9p bml0X2NvbW1vbihzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KKwkJICAg c3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrLA0KKwkJICAgY29uc3Qgc3RydWN0IFFkaXNj X29wcyAqcWRpc2Nfb3BzKQ0KIHsNCiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHFkaXNjX2Rl dihzY2gpOw0KIAlzdHJ1Y3QgbXFfc2NoZWQgKnByaXYgPSBxZGlzY19wcml2KHNjaCk7DQpAQCAt ODcsNyArODksOCBAQCBzdGF0aWMgaW50IG1xX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVj dCBubGF0dHIgKm9wdCwNCiANCiAJZm9yIChudHggPSAwOyBudHggPCBkZXYtPm51bV90eF9xdWV1 ZXM7IG50eCsrKSB7DQogCQlkZXZfcXVldWUgPSBuZXRkZXZfZ2V0X3R4X3F1ZXVlKGRldiwgbnR4 KTsNCi0JCXFkaXNjID0gcWRpc2NfY3JlYXRlX2RmbHQoZGV2X3F1ZXVlLCBnZXRfZGVmYXVsdF9x ZGlzY19vcHMoZGV2LCBudHgpLA0KKwkJcWRpc2MgPSBxZGlzY19jcmVhdGVfZGZsdChkZXZfcXVl dWUsDQorCQkJCQkgIHFkaXNjX29wcyA/OiBnZXRfZGVmYXVsdF9xZGlzY19vcHMoZGV2LCBudHgp LA0KIAkJCQkJICBUQ19IX01BS0UoVENfSF9NQUooc2NoLT5oYW5kbGUpLA0KIAkJCQkJCSAgICBU Q19IX01JTihudHggKyAxKSksDQogCQkJCQkgIGV4dGFjayk7DQpAQCAtOTgsMTIgKzEwMSwyNCBA QCBzdGF0aWMgaW50IG1xX2luaXQoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBubGF0dHIgKm9w dCwNCiAJfQ0KIA0KIAlzY2gtPmZsYWdzIHw9IFRDUV9GX01RUk9PVDsNCisJcmV0dXJuIDA7DQor fQ0KK0VYUE9SVF9TWU1CT0wobXFfaW5pdF9jb21tb24pOw0KKw0KK3N0YXRpYyBpbnQgbXFfaW5p dChzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IG5sYXR0ciAqb3B0LA0KKwkJICAgc3RydWN0IG5l dGxpbmtfZXh0X2FjayAqZXh0YWNrKQ0KK3sNCisJaW50IHJldDsNCisNCisJcmV0ID0gbXFfaW5p dF9jb21tb24oc2NoLCBvcHQsIGV4dGFjaywgTlVMTCk7DQorCWlmIChyZXQpDQorCQlyZXR1cm4g cmV0Ow0KIA0KIAltcV9vZmZsb2FkKHNjaCwgVENfTVFfQ1JFQVRFKTsNCiAJcmV0dXJuIDA7DQog fQ0KIA0KLXN0YXRpYyB2b2lkIG1xX2F0dGFjaChzdHJ1Y3QgUWRpc2MgKnNjaCkNCit2b2lkIG1x X2F0dGFjaChzdHJ1Y3QgUWRpc2MgKnNjaCkNCiB7DQogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYg PSBxZGlzY19kZXYoc2NoKTsNCiAJc3RydWN0IG1xX3NjaGVkICpwcml2ID0gcWRpc2NfcHJpdihz Y2gpOw0KQEAgLTEyNCw4ICsxMzksOSBAQCBzdGF0aWMgdm9pZCBtcV9hdHRhY2goc3RydWN0IFFk aXNjICpzY2gpDQogCWtmcmVlKHByaXYtPnFkaXNjcyk7DQogCXByaXYtPnFkaXNjcyA9IE5VTEw7 DQogfQ0KK0VYUE9SVF9TWU1CT0wobXFfYXR0YWNoKTsNCiANCi1zdGF0aWMgaW50IG1xX2R1bXAo c3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19idWZmICpza2IpDQordm9pZCBtcV9kdW1wX2Nv bW1vbihzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCiB7DQogCXN0cnVj dCBuZXRfZGV2aWNlICpkZXYgPSBxZGlzY19kZXYoc2NoKTsNCiAJc3RydWN0IFFkaXNjICpxZGlz YzsNCkBAIC0xNTIsNyArMTY4LDEyIEBAIHN0YXRpYyBpbnQgbXFfZHVtcChzdHJ1Y3QgUWRpc2Mg KnNjaCwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCiANCiAJCXNwaW5fdW5sb2NrX2JoKHFkaXNjX2xv Y2socWRpc2MpKTsNCiAJfQ0KK30NCitFWFBPUlRfU1lNQk9MKG1xX2R1bXBfY29tbW9uKTsNCiAN CitzdGF0aWMgaW50IG1xX2R1bXAoc3RydWN0IFFkaXNjICpzY2gsIHN0cnVjdCBza19idWZmICpz a2IpDQorew0KKwltcV9kdW1wX2NvbW1vbihzY2gsIHNrYik7DQogCXJldHVybiBtcV9vZmZsb2Fk X3N0YXRzKHNjaCk7DQogfQ0KIA0KQEAgLTE2NiwxMSArMTg3LDEyIEBAIHN0YXRpYyBzdHJ1Y3Qg bmV0ZGV2X3F1ZXVlICptcV9xdWV1ZV9nZXQoc3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxv bmcgY2wpDQogCXJldHVybiBuZXRkZXZfZ2V0X3R4X3F1ZXVlKGRldiwgbnR4KTsNCiB9DQogDQot c3RhdGljIHN0cnVjdCBuZXRkZXZfcXVldWUgKm1xX3NlbGVjdF9xdWV1ZShzdHJ1Y3QgUWRpc2Mg KnNjaCwNCi0JCQkJCSAgICBzdHJ1Y3QgdGNtc2cgKnRjbSkNCitzdHJ1Y3QgbmV0ZGV2X3F1ZXVl ICptcV9zZWxlY3RfcXVldWUoc3RydWN0IFFkaXNjICpzY2gsDQorCQkJCSAgICAgc3RydWN0IHRj bXNnICp0Y20pDQogew0KIAlyZXR1cm4gbXFfcXVldWVfZ2V0KHNjaCwgVENfSF9NSU4odGNtLT50 Y21fcGFyZW50KSk7DQogfQ0KK0VYUE9SVF9TWU1CT0wobXFfc2VsZWN0X3F1ZXVlKTsNCiANCiBz dGF0aWMgaW50IG1xX2dyYWZ0KHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsLCBz dHJ1Y3QgUWRpc2MgKm5ldywNCiAJCSAgICBzdHJ1Y3QgUWRpc2MgKipvbGQsIHN0cnVjdCBuZXRs aW5rX2V4dF9hY2sgKmV4dGFjaykNCkBAIC0xOTgsMTQgKzIyMCwxNSBAQCBzdGF0aWMgaW50IG1x X2dyYWZ0KHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsLCBzdHJ1Y3QgUWRpc2Mg Km5ldywNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLXN0YXRpYyBzdHJ1Y3QgUWRpc2MgKm1xX2xlYWYo c3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxvbmcgY2wpDQorc3RydWN0IFFkaXNjICptcV9s ZWFmKHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsKQ0KIHsNCiAJc3RydWN0IG5l dGRldl9xdWV1ZSAqZGV2X3F1ZXVlID0gbXFfcXVldWVfZ2V0KHNjaCwgY2wpOw0KIA0KIAlyZXR1 cm4gcnRubF9kZXJlZmVyZW5jZShkZXZfcXVldWUtPnFkaXNjX3NsZWVwaW5nKTsNCiB9DQorRVhQ T1JUX1NZTUJPTChtcV9sZWFmKTsNCiANCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBtcV9maW5kKHN0 cnVjdCBRZGlzYyAqc2NoLCB1MzIgY2xhc3NpZCkNCit1bnNpZ25lZCBsb25nIG1xX2ZpbmQoc3Ry dWN0IFFkaXNjICpzY2gsIHUzMiBjbGFzc2lkKQ0KIHsNCiAJdW5zaWduZWQgaW50IG50eCA9IFRD X0hfTUlOKGNsYXNzaWQpOw0KIA0KQEAgLTIxMyw5ICsyMzYsMTAgQEAgc3RhdGljIHVuc2lnbmVk IGxvbmcgbXFfZmluZChzdHJ1Y3QgUWRpc2MgKnNjaCwgdTMyIGNsYXNzaWQpDQogCQlyZXR1cm4g MDsNCiAJcmV0dXJuIG50eDsNCiB9DQorRVhQT1JUX1NZTUJPTChtcV9maW5kKTsNCiANCi1zdGF0 aWMgaW50IG1xX2R1bXBfY2xhc3Moc3RydWN0IFFkaXNjICpzY2gsIHVuc2lnbmVkIGxvbmcgY2ws DQotCQkJIHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB0Y21zZyAqdGNtKQ0KK2ludCBtcV9k dW1wX2NsYXNzKHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsLA0KKwkJICBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgdGNtc2cgKnRjbSkNCiB7DQogCXN0cnVjdCBuZXRkZXZf cXVldWUgKmRldl9xdWV1ZSA9IG1xX3F1ZXVlX2dldChzY2gsIGNsKTsNCiANCkBAIC0yMjQsOSAr MjQ4LDEwIEBAIHN0YXRpYyBpbnQgbXFfZHVtcF9jbGFzcyhzdHJ1Y3QgUWRpc2MgKnNjaCwgdW5z aWduZWQgbG9uZyBjbCwNCiAJdGNtLT50Y21faW5mbyA9IHJ0bmxfZGVyZWZlcmVuY2UoZGV2X3F1 ZXVlLT5xZGlzY19zbGVlcGluZyktPmhhbmRsZTsNCiAJcmV0dXJuIDA7DQogfQ0KK0VYUE9SVF9T WU1CT0wobXFfZHVtcF9jbGFzcyk7DQogDQotc3RhdGljIGludCBtcV9kdW1wX2NsYXNzX3N0YXRz KHN0cnVjdCBRZGlzYyAqc2NoLCB1bnNpZ25lZCBsb25nIGNsLA0KLQkJCSAgICAgICBzdHJ1Y3Qg Z25ldF9kdW1wICpkKQ0KK2ludCBtcV9kdW1wX2NsYXNzX3N0YXRzKHN0cnVjdCBRZGlzYyAqc2No LCB1bnNpZ25lZCBsb25nIGNsLA0KKwkJCXN0cnVjdCBnbmV0X2R1bXAgKmQpDQogew0KIAlzdHJ1 Y3QgbmV0ZGV2X3F1ZXVlICpkZXZfcXVldWUgPSBtcV9xdWV1ZV9nZXQoc2NoLCBjbCk7DQogDQpA QCAtMjM2LDggKzI2MSw5IEBAIHN0YXRpYyBpbnQgbXFfZHVtcF9jbGFzc19zdGF0cyhzdHJ1Y3Qg UWRpc2MgKnNjaCwgdW5zaWduZWQgbG9uZyBjbCwNCiAJCXJldHVybiAtMTsNCiAJcmV0dXJuIDA7 DQogfQ0KK0VYUE9SVF9TWU1CT0wobXFfZHVtcF9jbGFzc19zdGF0cyk7DQogDQotc3RhdGljIHZv aWQgbXFfd2FsayhzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHFkaXNjX3dhbGtlciAqYXJnKQ0K K3ZvaWQgbXFfd2FsayhzdHJ1Y3QgUWRpc2MgKnNjaCwgc3RydWN0IHFkaXNjX3dhbGtlciAqYXJn KQ0KIHsNCiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHFkaXNjX2RldihzY2gpOw0KIAl1bnNp Z25lZCBpbnQgbnR4Ow0KQEAgLTI1MSw2ICsyNzcsNyBAQCBzdGF0aWMgdm9pZCBtcV93YWxrKHN0 cnVjdCBRZGlzYyAqc2NoLCBzdHJ1Y3QgcWRpc2Nfd2Fsa2VyICphcmcpDQogCQkJYnJlYWs7DQog CX0NCiB9DQorRVhQT1JUX1NZTUJPTChtcV93YWxrKTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0 IFFkaXNjX2NsYXNzX29wcyBtcV9jbGFzc19vcHMgPSB7DQogCS5zZWxlY3RfcXVldWUJPSBtcV9z ZWxlY3RfcXVldWUsDQoNCi0tIA0KMi41Mi4wDQoNCg==