From nobody Sun Dec 14 02:06:14 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92D60C43334 for ; Fri, 22 Jul 2022 09:16:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235782AbiGVJQz (ORCPT ); Fri, 22 Jul 2022 05:16:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235699AbiGVJQG (ORCPT ); Fri, 22 Jul 2022 05:16:06 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA1B8B505F for ; Fri, 22 Jul 2022 02:11:51 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id b10so3854438pjq.5 for ; Fri, 22 Jul 2022 02:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6GrxYFbZa6qFqCDsWB1GFG/2VXeOCdcLWZOzXAYIya4=; b=MlkvBiLwP091/sHOk8DRPUrRf0gU6vsIQAGIGP0H9KPH1F7ddMfbEYkJkIiqHIXOX5 P7SGv63Vg4e0LnALVjREAzdHVj3PAvMQ2IEzX/OVPW6dUIQTulIRoeSJeHUmTIevJ93V TgUhCdf2/K1oNwa8JvwnrCXVKaynG0D437jFg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6GrxYFbZa6qFqCDsWB1GFG/2VXeOCdcLWZOzXAYIya4=; b=CGWlVKof7wGWi81lmj8kZAxamNKEzoDZjsZHRWECRdCEnU7qQzyy8lWTv/QfG1F1wM ONLSgElK0gM2YbgZp1HZDH9hNCYQbOTR6zco6qhDug1tKcY2RCJwhhfAuyP2lmCd9DqS DNv3r2gasXWyNGCCFaN4Ea+xru6P+ISPbQSyOjzKfd1B1LBtSAsiOHHeTfSesj89Sxqf v30SL0pgYWWFYNuqSMigZUd27orvt3mdoUcepBo/nJPoVo6ScyoUocGsafv2g8mnpo3/ jEJWxa5YY0Jb+l7sIUTwtCI/RdWAwg/ZOPp8jasfL+NNzcts8Fpx1eQlLJc6pYRKn2Gp 0v9Q== X-Gm-Message-State: AJIora8GBQ2y5X5fyEYOVduJ4le3+PzyOLwQb2vzPLvrP05/MJufU8fP iAT/ksvtpQnwMJqGXeZpr75ZTg== X-Google-Smtp-Source: AGRyM1tf8OKwgWG5tE7jrOvrF/SMlpJMSY3XPoIafyaHBjzo9uzGjxtANvRRKYQMjmgsTBI/3dx6FA== X-Received: by 2002:a17:902:8605:b0:16b:e755:3c6e with SMTP id f5-20020a170902860500b0016be7553c6emr2450138plo.42.1658481110806; Fri, 22 Jul 2022 02:11:50 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id p64-20020a622943000000b0052b9351737fsm3429978pfp.92.2022.07.22.02.11.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 02:11:50 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v5 1/2] devlink: introduce framework for selftests Date: Fri, 22 Jul 2022 14:41:28 +0530 Message-Id: <20220722091129.2271-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220722091129.2271-1-vikas.gupta@broadcom.com> References: <20220722091129.2271-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="00000000000085b11305e4613953" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --00000000000085b11305e4613953 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGEgZnJhbWV3b3JrIGZvciBydW5uaW5nIHNlbGZ0ZXN0cy4KRnJhbWV3b3JrIGV4cG9zZXMg ZGV2bGluayBjb21tYW5kcyBhbmQgdGVzdCBzdWl0ZShzKSB0byB0aGUgdXNlcgp0byBleGVjdXRl IGFuZCBxdWVyeSB0aGUgc3VwcG9ydGVkIHRlc3RzIGJ5IHRoZSBkcml2ZXIuCgpCZWxvdyBhcmUg bmV3IGVudHJpZXMgaW4gZGV2bGlua19ubF9vcHMKZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3No b3dfZG9pdC9kdW1waXQ6IFRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQKc2VsZnRlc3RzIGJ5IHRoZSBk cml2ZXJzLgpkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVuOiBUbyBleGVjdXRlIHNlbGZ0ZXN0 cy4gVXNlcnMgY2FuCnByb3ZpZGUgYSB0ZXN0IG1hc2sgZm9yIGV4ZWN1dGluZyBncm91cCB0ZXN0 cyBvciBzdGFuZGFsb25lIHRlc3RzLgoKRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2Rldmxpbmsv IHBhdGggaXMgYWxyZWFkeSBwYXJ0IG9mIE1BSU5UQUlORVJTICYKdGhlIG5ldyBmaWxlcyBjb21l IHVuZGVyIHRoaXMgcGF0aC4gSGVuY2Ugbm8gdXBkYXRlIG5lZWRlZCB0byB0aGUKTUFJTlRBSU5F UlMKClNpZ25lZC1vZmYtYnk6IFZpa2FzIEd1cHRhIDx2aWthcy5ndXB0YUBicm9hZGNvbS5jb20+ ClJldmlld2VkLWJ5OiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+ClJl dmlld2VkLWJ5OiBBbmR5IEdvc3BvZGFyZWsgPGFuZHJldy5nb3Nwb2RhcmVrQGJyb2FkY29tLmNv bT4KUmV2aWV3ZWQtYnk6IEppcmkgUGlya28gPGppcmlAbnZpZGlhLmNvbT4KLS0tCiAuLi4vbmV0 d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdCAgfCAgMzggKysrCiBpbmNsdWRl L25ldC9kZXZsaW5rLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjEgKysKIGluY2x1ZGUv dWFwaS9saW51eC9kZXZsaW5rLmggICAgICAgICAgICAgICAgICB8ICAzMiArKysKIG5ldC9jb3Jl L2RldmxpbmsuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIyMyArKysrKysrKysrKysr KysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzE0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEw MDY0NCBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2bGluay9kZXZsaW5rLXNlbGZ0ZXN0cy5y c3QKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2bGluay9kZXZsaW5r LXNlbGZ0ZXN0cy5yc3QgYi9Eb2N1bT0KZW50YXRpb24vbmV0d29ya2luZy9kZXZsaW5rL2Rldmxp bmstc2VsZnRlc3RzLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjBlOTcyNzg5NTk4NwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2lu Zy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdApAQCAtMCwwICsxLDM4IEBACisuLiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCisKKz0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorRGV2bGlu ayBTZWxmdGVzdHMKKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRAorCitUaGUgYGBkZXZsaW5rLXNlbGZ0ZXN0c2BgIEFQSSBhbGxvd3MgZXhlY3V0aW5n IHNlbGZ0ZXN0cyBvbiB0aGUgZGV2aWNlLgorCitUZXN0cyBNYXNrCis9M0Q9M0Q9M0Q9M0Q9M0Q9 M0Q9M0Q9M0Q9M0Q9M0QKK1RoZSBgYGRldmxpbmstc2VsZnRlc3RzYGAgY29tbWFuZCBzaG91bGQg YmUgcnVuIHdpdGggYSBtYXNrIGluZGljYXRpbmcKK3RoZSB0ZXN0cyB0byBiZSBleGVjdXRlZC4K KworVGVzdHMgRGVzY3JpcHRpb24KKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRAorVGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgdGVzdHMgdGhhdCBk cml2ZXJzIG1heSBleGVjdXRlLgorCisuLiBsaXN0LXRhYmxlOjogTGlzdCBvZiB0ZXN0cworICAg OndpZHRoczogNSA5MAorCisgICAqIC0gTmFtZQorICAgICAtIERlc2NyaXB0aW9uCisgICAqIC0g YGBERVZMSU5LX1NFTEZURVNUX0ZMQVNIYGAKKyAgICAgLSBEZXZpY2VzIG1heSBoYXZlIHRoZSBm aXJtd2FyZSBvbiBub24tdm9sYXRpbGUgbWVtb3J5IG9uIHRoZSBib2FyZCwgPQplLmcuCisgICAg ICAgZmxhc2guIFRoaXMgcGFydGljdWxhciB0ZXN0IGhlbHBzIHRvIHJ1biBhIGZsYXNoIHNlbGZ0 ZXN0IG9uIHRoZSBkZT0KdmljZS4KKyAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgdGVzdCBp cyBsZWZ0IHRvIHRoZSBkcml2ZXIvZmlybXdhcmUuCisKK2V4YW1wbGUgdXNhZ2UKKy0tLS0tLS0t LS0tLS0KKworLi4gY29kZTo6IHNoZWxsCisKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0 ZWQgb24gdGhlIGRldmxpbmsgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgc2hv dyBERVYKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24gYWxsIGRldmxpbmsgZGV2 aWNlcworICAgICQgZGV2bGluayBkZXYgc2VsZnRlc3RzIHNob3cKKyAgICAjIEV4ZWN1dGVzIHNl bGZ0ZXN0cyBvbiB0aGUgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgcnVuIERF ViB0ZXN0IGZsYXNoCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9kZXZsaW5rLmggYi9pbmNsdWRl L25ldC9kZXZsaW5rLmgKaW5kZXggODhjNzAxYjM3NWEyLi5lNWQ5OTkyMTdjOGQgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbmV0L2RldmxpbmsuaAorKysgYi9pbmNsdWRlL25ldC9kZXZsaW5rLmgKQEAg LTE1MDksNiArMTUwOSwyNyBAQCBzdHJ1Y3QgZGV2bGlua19vcHMgewogCQkJCSAgICBzdHJ1Y3Qg ZGV2bGlua19yYXRlICpwYXJlbnQsCiAJCQkJICAgIHZvaWQgKnByaXZfY2hpbGQsIHZvaWQgKnBy aXZfcGFyZW50LAogCQkJCSAgICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spOworCS8q KgorCSAqIHNlbGZ0ZXN0c19jaGVjaygpIC0gcXVlcmllcyBpZiBzZWxmdGVzdCBpcyBzdXBwb3J0 ZWQKKwkgKiBAZGV2bGluazogZGV2bGluayBpbnN0YW5jZQorCSAqIEB0ZXN0X2lkOiB0ZXN0IGlu ZGV4CisJICogQGV4dGFjazogZXh0YWNrIGZvciByZXBvcnRpbmcgZXJyb3IgbWVzc2FnZXMKKwkg KgorCSAqIFJldHVybjogdHJ1ZSBpZiB0ZXN0IGlzIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyCisJ ICovCisJYm9vbCAoKnNlbGZ0ZXN0X2NoZWNrKShzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywgdW5z aWduZWQgaW50IHRlc3RfaWQsCisJCQkgICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0 YWNrKTsKKwkvKioKKwkgKiBzZWxmdGVzdF9ydW4oKSAtIFJ1bnMgYSBzZWxmdGVzdAorCSAqIEBk ZXZsaW5rOiBkZXZsaW5rIGluc3RhbmNlCisJICogQHRlc3RfaWQ6IHRlc3QgaW5kZXgKKwkgKiBA ZXh0YWNrOiBleHRhY2sgZm9yIHJlcG9ydGluZyBlcnJvciBtZXNzYWdlcworCSAqCisJICogUmV0 dXJuOiBzdGF0dXMgb2YgdGhlIHRlc3QKKwkgKi8KKwllbnVtIGRldmxpbmtfc2VsZnRlc3RfdGVz dF9zdGF0dXMKKwkoKnNlbGZ0ZXN0X3J1bikoc3RydWN0IGRldmxpbmsgKmRldmxpbmssIHVuc2ln bmVkIGludCB0ZXN0X2lkLAorCQkJc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsKIH07 Cj0yMAogdm9pZCAqZGV2bGlua19wcml2KHN0cnVjdCBkZXZsaW5rICpkZXZsaW5rKTsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmggYi9pbmNsdWRlL3VhcGkvbGludXgv ZGV2bGluay5oCmluZGV4IGIzZDQwYTVkNzJmZi4uZmNmNTM4OWU4MzA1IDEwMDY0NAotLS0gYS9p bmNsdWRlL3VhcGkvbGludXgvZGV2bGluay5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9kZXZs aW5rLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBlbnVtIGRldmxpbmtfY29tbWFuZCB7CiAJREVWTElO S19DTURfTElORUNBUkRfTkVXLAogCURFVkxJTktfQ01EX0xJTkVDQVJEX0RFTCwKPTIwCisJREVW TElOS19DTURfU0VMRlRFU1RTX0dFVCwJLyogY2FuIGR1bXAgKi8KKwlERVZMSU5LX0NNRF9TRUxG VEVTVFNfUlVOLAorCiAJLyogYWRkIG5ldyBjb21tYW5kcyBhYm92ZSBoZXJlICovCiAJX19ERVZM SU5LX0NNRF9NQVgsCiAJREVWTElOS19DTURfTUFYID0zRCBfX0RFVkxJTktfQ01EX01BWCAtIDEK QEAgLTI3Niw2ICsyNzksMzQgQEAgZW51bSB7CiAjZGVmaW5lIERFVkxJTktfU1VQUE9SVEVEX0ZM QVNIX09WRVJXUklURV9TRUNUSU9OUyBcCiAJKF9CSVRVTChfX0RFVkxJTktfRkxBU0hfT1ZFUldS SVRFX01BWF9CSVQpIC0gMSkKPTIwCitlbnVtIGRldmxpbmtfYXR0cl9zZWxmdGVzdF90ZXN0X2lk IHsKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQRUMsCisJREVWTElOS19BVFRS X1NFTEZURVNUX1RFU1RfSURfRkxBU0gsCS8qIGZsYWcgKi8KKworCV9fREVWTElOS19BVFRSX1NF TEZURVNUX1RFU1RfSURfTUFYLAorCURFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01BWCA9 M0QgX19ERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9NQVg9CiAtIDEKK307CisKK2VudW0g ZGV2bGlua19zZWxmdGVzdF90ZXN0X3N0YXR1cyB7CisJREVWTElOS19TRUxGVEVTVF9URVNUX1NU QVRVU19TS0lQLAorCURFVkxJTktfU0VMRlRFU1RfVEVTVF9TVEFUVVNfUEFTUywKKwlERVZMSU5L X1NFTEZURVNUX1RFU1RfU1RBVFVTX0ZBSUwKK307CisKK2VudW0gZGV2bGlua19hdHRyX3NlbGZ0 ZXN0X3Jlc3VsdCB7CisJREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9VTlNQRUMsCisJREVW TElOS19BVFRSX1NFTEZURVNUX1JFU1VMVCwJCQkvKiBuZXN0ZWQgKi8KKwlERVZMSU5LX0FUVFJf U0VMRlRFU1RfUkVTVUxUX1RFU1RfSUQsCQkvKiB1MzIsCisJCQkJCQkJICogZW51bSBkZXZsaW5r X2F0dHJfc2VsZnRlc3RfdGVzdF9pZAorCQkJCQkJCSAqLworCURFVkxJTktfQVRUUl9TRUxGVEVT VF9SRVNVTFRfVEVTVF9TVEFUVVMsCS8qIHU4LAorCQkJCQkJCSAqIGVudW0gZGV2bGlua19zZWxm dGVzdF90ZXN0X3N0YXR1cworCQkJCQkJCSAqLworCisJX19ERVZMSU5LX0FUVFJfU0VMRlRFU1Rf UkVTVUxUX01BWCwKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUX01BWCA9M0QgX19ERVZM SU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUX01BWCAtPQogMQorfTsKKwogLyoqCiAgKiBlbnVtIGRl dmxpbmtfdHJhcF9hY3Rpb24gLSBQYWNrZXQgdHJhcCBhY3Rpb24uCiAgKiBAREVWTElOS19UUkFQ X0FDVElPTl9EUk9QOiBQYWNrZXQgaXMgZHJvcHBlZCBieSB0aGUgZGV2aWNlIGFuZCBhIGNvcHkg aT0KcyBub3QKQEAgLTU3Niw2ICs2MDcsNyBAQCBlbnVtIGRldmxpbmtfYXR0ciB7CiAJREVWTElO S19BVFRSX0xJTkVDQVJEX1RZUEUsCQkvKiBzdHJpbmcgKi8KIAlERVZMSU5LX0FUVFJfTElORUNB UkRfU1VQUE9SVEVEX1RZUEVTLAkvKiBuZXN0ZWQgKi8KPTIwCisJREVWTElOS19BVFRSX1NFTEZU RVNUU19JTkZPLAkJLyogbmVzdGVkICovCiAJLyogYWRkIG5ldyBhdHRyaWJ1dGVzIGFib3ZlIGhl cmUsIHVwZGF0ZSB0aGUgcG9saWN5IGluIGRldmxpbmsuYyAqLwo9MjAKIAlfX0RFVkxJTktfQVRU Ul9NQVgsCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXZsaW5rLmMgYi9uZXQvY29yZS9kZXZsaW5r LmMKaW5kZXggYTk3NzZlYTkyM2FlLi4zNzQ1ZDY3YjAxN2UgMTAwNjQ0Ci0tLSBhL25ldC9jb3Jl L2RldmxpbmsuYworKysgYi9uZXQvY29yZS9kZXZsaW5rLmMKQEAgLTE5OCw2ICsxOTgsMTAgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IGRldmxpbmtfZnVuY3Rpb25fbmxfcG9sPQpp Y3lbREVWTElOS19QT1JUX0ZVTkNUSU9OXwogCQkJCSBERVZMSU5LX1BPUlRfRk5fU1RBVEVfQUNU SVZFKSwKIH07Cj0yMAorc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IGRldmxpbmtfc2Vs ZnRlc3RfbmxfcG9saWN5W0RFVkxJTktfQVRUUl9TRUw9CkZURVNUX1RFU1RfSURfTUFYICsgMV0g PTNEIHsKKwlbREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfRkxBU0hdID0zRCB7IC50eXBl ID0zRCBOTEFfRkxBRyB9LAorfTsKKwogc3RhdGljIERFRklORV9YQVJSQVlfRkxBR1MoZGV2bGlu a3MsIFhBX0ZMQUdTX0FMTE9DKTsKICNkZWZpbmUgREVWTElOS19SRUdJU1RFUkVEIFhBX01BUktf MQo9MjAKQEAgLTQ3OTEsNiArNDc5NSwyMTMgQEAgc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9m bGFzaF91cGRhdGUoc3RydWN0IHNrX2J1PQpmZiAqc2tiLAogCXJldHVybiByZXQ7CiB9Cj0yMAor c3RhdGljIGludAorZGV2bGlua19ubF9zZWxmdGVzdHNfZmlsbChzdHJ1Y3Qgc2tfYnVmZiAqbXNn LCBzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywKKwkJCSAgdTMyIHBvcnRpZCwgdTMyIHNlcSwgaW50 IGZsYWdzLAorCQkJICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJc3RydWN0 IG5sYXR0ciAqc2VsZnRlc3RzX2xpc3Q7CisJdm9pZCAqaGRyOworCWludCBlcnI7CisJaW50IGk7 CisKKwloZHIgPTNEIGdlbmxtc2dfcHV0KG1zZywgcG9ydGlkLCBzZXEsICZkZXZsaW5rX25sX2Zh bWlseSwgZmxhZ3MsCisJCQkgIERFVkxJTktfQ01EX1NFTEZURVNUU19HRVQpOworCWlmICghaGRy KQorCQlyZXR1cm4gLUVNU0dTSVpFOworCisJZXJyID0zRCAtRU1TR1NJWkU7CisJaWYgKGRldmxp bmtfbmxfcHV0X2hhbmRsZShtc2csIGRldmxpbmspKQorCQlnb3RvIGVycl9jYW5jZWxfbXNnOwor CisJc2VsZnRlc3RzX2xpc3QgPTNEIG5sYV9uZXN0X3N0YXJ0KG1zZywgREVWTElOS19BVFRSX1NF TEZURVNUU19JTkZPKTsKKwlpZiAoIXNlbGZ0ZXN0c19saXN0KQorCQlnb3RvIGVycl9jYW5jZWxf bXNnOworCisJZm9yIChpID0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQRUMg KyAxOworCSAgICAgaSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01BWDsgaSsr KSB7CisJCWlmIChkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2NoZWNrKGRldmxpbmssIGksIGV4dGFj aykpIHsKKwkJCWVyciA9M0QgbmxhX3B1dF9mbGFnKG1zZywgaSk7CisJCQlpZiAoZXJyKQorCQkJ CWdvdG8gZXJyX2NhbmNlbF9tc2c7CisJCX0KKwl9CisKKwlubGFfbmVzdF9lbmQobXNnLCBzZWxm dGVzdHNfbGlzdCk7CisJZ2VubG1zZ19lbmQobXNnLCBoZHIpOworCXJldHVybiAwOworCitlcnJf Y2FuY2VsX21zZzoKKwlnZW5sbXNnX2NhbmNlbChtc2csIGhkcik7CisJcmV0dXJuIGVycjsKK30K Kworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfZ2V0X2RvaXQoc3RydWN0IHNr X2J1ZmYgKnNrYiwKKwkJCQkJICAgICBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQoreworCXN0cnVj dCBkZXZsaW5rICpkZXZsaW5rID0zRCBpbmZvLT51c2VyX3B0clswXTsKKwlzdHJ1Y3Qgc2tfYnVm ZiAqbXNnOworCWludCBlcnI7CisKKwlpZiAoIWRldmxpbmstPm9wcy0+c2VsZnRlc3RfY2hlY2sp CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCW1zZyA9M0Qgbmxtc2dfbmV3KE5MTVNHX0RFRkFV TFRfU0laRSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFtc2cpCisJCXJldHVybiAtRU5PTUVNOworCisJ ZXJyID0zRCBkZXZsaW5rX25sX3NlbGZ0ZXN0c19maWxsKG1zZywgZGV2bGluaywgaW5mby0+c25k X3BvcnRpZCwKKwkJCQkJaW5mby0+c25kX3NlcSwgMCwgaW5mby0+ZXh0YWNrKTsKKwlpZiAoZXJy KSB7CisJCW5sbXNnX2ZyZWUobXNnKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gZ2Vu bG1zZ19yZXBseShtc2csIGluZm8pOworfQorCitzdGF0aWMgaW50IGRldmxpbmtfbmxfY21kX3Nl bGZ0ZXN0c19nZXRfZHVtcGl0KHN0cnVjdCBza19idWZmICptc2csCisJCQkJCSAgICAgICBzdHJ1 Y3QgbmV0bGlua19jYWxsYmFjayAqY2IpCit7CisJc3RydWN0IGRldmxpbmsgKmRldmxpbms7CisJ aW50IHN0YXJ0ID0zRCBjYi0+YXJnc1swXTsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWludCBp ZHggPTNEIDA7CisJaW50IGVyciA9M0QgMDsKKworCW11dGV4X2xvY2soJmRldmxpbmtfbXV0ZXgp OworCXhhX2Zvcl9lYWNoX21hcmtlZCgmZGV2bGlua3MsIGluZGV4LCBkZXZsaW5rLCBERVZMSU5L X1JFR0lTVEVSRUQpIHsKKwkJaWYgKCFkZXZsaW5rX3RyeV9nZXQoZGV2bGluaykpCisJCQljb250 aW51ZTsKKworCQlpZiAoIW5ldF9lcShkZXZsaW5rX25ldChkZXZsaW5rKSwgc29ja19uZXQobXNn LT5zaykpKQorCQkJZ290byByZXRyeTsKKworCQlpZiAoaWR4IDwgc3RhcnQgfHwgIWRldmxpbmst Pm9wcy0+c2VsZnRlc3RfY2hlY2spCisJCQlnb3RvIGluYzsKKworCQltdXRleF9sb2NrKCZkZXZs aW5rLT5sb2NrKTsKKwkJZXJyID0zRCBkZXZsaW5rX25sX3NlbGZ0ZXN0c19maWxsKG1zZywgZGV2 bGluaywKKwkJCQkJCU5FVExJTktfQ0IoY2ItPnNrYikucG9ydGlkLAorCQkJCQkJY2ItPm5saC0+ bmxtc2dfc2VxLCBOTE1fRl9NVUxUSSwKKwkJCQkJCWNiLT5leHRhY2spOworCQltdXRleF91bmxv Y2soJmRldmxpbmstPmxvY2spOworCQlpZiAoZXJyKSB7CisJCQlkZXZsaW5rX3B1dChkZXZsaW5r KTsKKwkJCWJyZWFrOworCQl9CitpbmM6CisJCWlkeCsrOworcmV0cnk6CisJCWRldmxpbmtfcHV0 KGRldmxpbmspOworCX0KKwltdXRleF91bmxvY2soJmRldmxpbmtfbXV0ZXgpOworCisJaWYgKGVy ciAhPTNEIC1FTVNHU0laRSkKKwkJcmV0dXJuIGVycjsKKworCWNiLT5hcmdzWzBdID0zRCBpZHg7 CisJcmV0dXJuIG1zZy0+bGVuOworfQorCitzdGF0aWMgaW50IGRldmxpbmtfc2VsZnRlc3RfcmVz dWx0X3B1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBpbnQgdD0KZXN0X2lkLAorCQkJ CSAgICAgICBlbnVtIGRldmxpbmtfc2VsZnRlc3RfdGVzdF9zdGF0dXMgdGVzdF9zdGF0dXMpCit7 CisJc3RydWN0IG5sYXR0ciAqcmVzdWx0X2F0dHI7CisKKwlyZXN1bHRfYXR0ciA9M0QgbmxhX25l c3Rfc3RhcnQoc2tiLCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUKTsKKwlpZiAoIXJlc3Vs dF9hdHRyKQorCQlyZXR1cm4gLUVNU0dTSVpFOworCisJaWYgKG5sYV9wdXRfdTMyKHNrYiwgREVW TElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9URVNUX0lELCB0ZXN0X2lkKSB8fAorCSAgICBubGFf cHV0X3U4KHNrYiwgREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9URVNUX1NUQVRVUywKKwkJ ICAgICAgIHRlc3Rfc3RhdHVzKSkKKwkJZ290byBubGFfcHV0X2ZhaWx1cmU7CisKKwlubGFfbmVz dF9lbmQoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJuIDA7CisKK25sYV9wdXRfZmFpbHVyZToK KwlubGFfbmVzdF9jYW5jZWwoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJuIC1FTVNHU0laRTsK K30KKworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVuKHN0cnVjdCBza19i dWZmICpza2IsCisJCQkJCXN0cnVjdCBnZW5sX2luZm8gKmluZm8pCit7CisJc3RydWN0IG5sYXR0 ciAqdGJbREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfTUFYICsgMV07CisJc3RydWN0IGRl dmxpbmsgKmRldmxpbmsgPTNEIGluZm8tPnVzZXJfcHRyWzBdOworCXN0cnVjdCBubGF0dHIgKmF0 dHJzLCAqdGVzdHNfaW5mbzsKKwlzdHJ1Y3Qgc2tfYnVmZiAqbXNnOworCXZvaWQgKmhkcjsKKwlp bnQgZXJyOworCWludCBpOworCisJaWYgKCFkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X3J1biB8fCAh ZGV2bGluay0+b3BzLT5zZWxmdGVzdF9jaGVjaykKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCisJ aWYgKCFpbmZvLT5hdHRyc1tERVZMSU5LX0FUVFJfU0VMRlRFU1RTX0lORk9dKSB7CisJCU5MX1NF VF9FUlJfTVNHX01PRChpbmZvLT5leHRhY2ssICJzZWxmdGVzdCBpbmZvcm1hdGlvbiByZXF1aXJl ZCIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlhdHRycyA9M0QgaW5mby0+YXR0cnNbREVW TElOS19BVFRSX1NFTEZURVNUU19JTkZPXTsKKworCWVyciA9M0QgbmxhX3BhcnNlX25lc3RlZCh0 YiwgREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfTUFYLCBhdHRycywKKwkJCSAgICAgICBk ZXZsaW5rX3NlbGZ0ZXN0X25sX3BvbGljeSwgaW5mby0+ZXh0YWNrKTsKKwlpZiAoZXJyIDwgMCkK KwkJcmV0dXJuIGVycjsKKworCW1zZyA9M0Qgbmxtc2dfbmV3KE5MTVNHX0RFRkFVTFRfU0laRSwg R0ZQX0tFUk5FTCk7CisJaWYgKCFtc2cpCisJCXJldHVybiAtRU5PTUVNOworCisJZXJyID0zRCAt RU1TR1NJWkU7CisJaGRyID0zRCBnZW5sbXNnX3B1dChtc2csIGluZm8tPnNuZF9wb3J0aWQsIGlu Zm8tPnNuZF9zZXEsCisJCQkgICZkZXZsaW5rX25sX2ZhbWlseSwgMCwgREVWTElOS19DTURfU0VM RlRFU1RTX1JVTik7CisJaWYgKCFoZHIpCisJCWdvdG8gZnJlZV9tc2c7CisKKwlpZiAoZGV2bGlu a19ubF9wdXRfaGFuZGxlKG1zZywgZGV2bGluaykpCisJCWdvdG8gZ2VubG1zZ19jYW5jZWw7CisK Kwl0ZXN0c19pbmZvID0zRCBubGFfbmVzdF9zdGFydChtc2csIERFVkxJTktfQVRUUl9TRUxGVEVT VFNfSU5GTyk7CisJaWYgKCF0ZXN0c19pbmZvKQorCQlnb3RvIGdlbmxtc2dfY2FuY2VsOworCisJ Zm9yIChpID0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQRUMgKyAxOworCSAg ICAgaSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01BWDsgaSsrKSB7CisJCWVu dW0gZGV2bGlua19zZWxmdGVzdF90ZXN0X3N0YXR1cyB0ZXN0X3N0YXR1czsKKworCQlpZiAobmxh X2dldF9mbGFnKHRiW2ldKSkgeworCQkJaWYgKCFkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2NoZWNr KGRldmxpbmssIGksCisJCQkJCQkJICBpbmZvLT5leHRhY2spKSB7CisJCQkJaWYgKGRldmxpbmtf c2VsZnRlc3RfcmVzdWx0X3B1dChtc2csIGksCisJCQkJCQkJCURFVkxJTktfU0VMRlRFU1RfVEVT VF9TVEFUVVNfU0tJUCkpCisJCQkJCWdvdG8gc2VsZnRlc3RzX2luZm9fbmVzdF9jYW5jZWw7CisJ CQkJY29udGludWU7CisJCQl9CisKKwkJCXRlc3Rfc3RhdHVzID0zRCBkZXZsaW5rLT5vcHMtPnNl bGZ0ZXN0X3J1bihkZXZsaW5rLCBpLAorCQkJCQkJCQkgaW5mby0+ZXh0YWNrKTsKKwkJCWlmIChk ZXZsaW5rX3NlbGZ0ZXN0X3Jlc3VsdF9wdXQobXNnLCBpLCB0ZXN0X3N0YXR1cykpCisJCQkJZ290 byBzZWxmdGVzdHNfaW5mb19uZXN0X2NhbmNlbDsKKwkJfQorCX0KKworCW5sYV9uZXN0X2VuZCht c2csIHRlc3RzX2luZm8pOworCWdlbmxtc2dfZW5kKG1zZywgaGRyKTsKKwlyZXR1cm4gZ2VubG1z Z19yZXBseShtc2csIGluZm8pOworCitzZWxmdGVzdHNfaW5mb19uZXN0X2NhbmNlbDoKKwlubGFf bmVzdF9jYW5jZWwobXNnLCB0ZXN0c19pbmZvKTsKK2dlbmxtc2dfY2FuY2VsOgorCWdlbmxtc2df Y2FuY2VsKG1zZywgaGRyKTsKK2ZyZWVfbXNnOgorCW5sbXNnX2ZyZWUobXNnKTsKKwlyZXR1cm4g ZXJyOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldmxpbmtfcGFyYW0gZGV2bGlua19wYXJh bV9nZW5lcmljW10gPTNEIHsKIAl7CiAJCS5pZCA9M0QgREVWTElOS19QQVJBTV9HRU5FUklDX0lE X0lOVF9FUlJfUkVTRVQsCkBAIC04OTk3LDYgKzkyMDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IG5sYV9wb2xpY3kgZGV2bGlua19ubF9wb2xpY3lbREVWTD0KSU5LX0FUVFJfTUFYICsgMV0gPTNE IHsKIAlbREVWTElOS19BVFRSX1JBVEVfUEFSRU5UX05PREVfTkFNRV0gPTNEIHsgLnR5cGUgPTNE IE5MQV9OVUxfU1RSSU5HIH0sCiAJW0RFVkxJTktfQVRUUl9MSU5FQ0FSRF9JTkRFWF0gPTNEIHsg LnR5cGUgPTNEIE5MQV9VMzIgfSwKIAlbREVWTElOS19BVFRSX0xJTkVDQVJEX1RZUEVdID0zRCB7 IC50eXBlID0zRCBOTEFfTlVMX1NUUklORyB9LAorCVtERVZMSU5LX0FUVFJfU0VMRlRFU1RTX0lO Rk9dID0zRCB7IC50eXBlID0zRCBOTEFfTkVTVEVEIH0sCiB9Owo9MjAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19ubF9vcHNbXSA9M0QgewpAQCAtOTM1Niw2ICs5 NTY4LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19ubF9v cHNbXSA9Cj0zRCB7CiAJCS5kb2l0ID0zRCBkZXZsaW5rX25sX2NtZF90cmFwX3BvbGljZXJfc2V0 X2RvaXQsCiAJCS5mbGFncyA9M0QgR0VOTF9BRE1JTl9QRVJNLAogCX0sCisJeworCQkuY21kID0z RCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfR0VULAorCQkuZG9pdCA9M0QgZGV2bGlua19ubF9jbWRf c2VsZnRlc3RzX2dldF9kb2l0LAorCQkuZHVtcGl0ID0zRCBkZXZsaW5rX25sX2NtZF9zZWxmdGVz dHNfZ2V0X2R1bXBpdAorCQkvKiBjYW4gYmUgcmV0cmlldmVkIGJ5IHVucHJpdmlsZWdlZCB1c2Vy cyAqLworCX0sCisJeworCQkuY21kID0zRCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfUlVOLAorCQku ZG9pdCA9M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3J1biwKKwkJLmZsYWdzID0zRCBHRU5M X0FETUlOX1BFUk0sCisJfSwKIH07Cj0yMAogc3RhdGljIHN0cnVjdCBnZW5sX2ZhbWlseSBkZXZs aW5rX25sX2ZhbWlseSBfX3JvX2FmdGVyX2luaXQgPTNEIHsKLS09MjAKMi4zMS4xCg== --00000000000085b11305e4613953 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIB6bsVI1yoJoNM868KIaVkbC7PK8RBuHeg2K WAxYHfprMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyMjA5 MTE1MVowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQAoQxsw11LXUwMrzC6DbzqtsT8OR09D6lZePZYqEBXHJlt3yPyUS+08 JYP7nRGAekAErRQ5sUdRr5f6Hxy0Ccn0Ih76t/1Lg/qGv/aHs9jPtBW97xFSuL7V6PEF+GRkibHI buvVniOS0hKwhqoHbtln3YUJhyKNfRYK348iPcB4wj6Qw/PYp6MtQ/VHF6zyu8heWc9u6R3XY92F pOcmDRCQwzcupIXdURgKEFRVLSF8IWiSR7slIkQERRTGtZ4C3nfLXPRC34zWh8CyGihh1JOuDHpO 3x0K83kMEycwjHRIx2zbs0CrDHbKXpfERU9xcBnWmEVB0cYfGjNAodm8VAhz --00000000000085b11305e4613953-- From nobody Sun Dec 14 02:06:14 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE882C43334 for ; Fri, 22 Jul 2022 09:17:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235790AbiGVJRH (ORCPT ); Fri, 22 Jul 2022 05:17:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235660AbiGVJQU (ORCPT ); Fri, 22 Jul 2022 05:16:20 -0400 Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9FB49B5070 for ; Fri, 22 Jul 2022 02:11:56 -0700 (PDT) Received: by mail-pl1-x62e.google.com with SMTP id g17so4092529plh.2 for ; Fri, 22 Jul 2022 02:11:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=24+TxujgV3rUEF1of+Gq33eXW5NFSbE6j4kj4fO+oaM=; b=Zds9d6bhjfEA5B8w6CLN086P1nk5guHANR55R5Et+tWtTn2F5wJ2CT2a6esYtMXcxZ 09XdCSxaBZDa/2ZRcCsvgxg4XbHn/50131bv4tvgklnIg3ij+3PgA4ruDQlwG4kxvo75 sma+4JrvBO+cv0WBujeZdQd4fRJYZITFVmbo0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=24+TxujgV3rUEF1of+Gq33eXW5NFSbE6j4kj4fO+oaM=; b=YdKbylOgTenbNxXMYVprxcCD1Va0PPIjSX7NjpfW6kNKLTdKsqyd1b6smx0y88rlwZ y/xOWEmI7uz66YSXLQLRUr5oTxkazCpT2iNrMmPTn42XEFITsmkOyXXZMY8CluGO4t5l twmgAxBR/lTGnFBnG7V1hl/Uin/CNwC3R1WP8x+CyXCsR+w2bsqUlWGsK3IDEgy3Zbej /kAwcqAOJiQR9DyuL+vW8bqb+s4qSCSGctBxDY3Mu+4IyxIevEFqY75fwa9msqJIUm0A k8uGtlEtUydfViikcGUJq8jv+YCVX5tXvxztE/JA2p5BlwYyp1v21KWfbIF7f2EJr+1W +wQQ== X-Gm-Message-State: AJIora/54GhQGThbV4L0fabQTKiZ6uDvsOJTKmDKTUBI+GzbbvXhwtCr I1Rxqrppo1LW0n4dxorsyKi+9Q== X-Google-Smtp-Source: AGRyM1vIdS6HyYlM9oBvMWJocM2ed2QJe6CjvpjDFm/v4jAcqI04NcKCeYxzE1cYmvIuDMoEAxKebg== X-Received: by 2002:a17:90a:ea04:b0:1f2:242d:e2af with SMTP id w4-20020a17090aea0400b001f2242de2afmr12332387pjy.45.1658481115707; Fri, 22 Jul 2022 02:11:55 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id p64-20020a622943000000b0052b9351737fsm3429978pfp.92.2022.07.22.02.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 02:11:55 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v5 2/2] bnxt_en: implement callbacks for devlink selftests Date: Fri, 22 Jul 2022 14:41:29 +0530 Message-Id: <20220722091129.2271-3-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220722091129.2271-1-vikas.gupta@broadcom.com> References: <20220722091129.2271-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000cb5e4b05e46139ba" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --000000000000cb5e4b05e46139ba MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGNhbGxiYWNrcwo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKLnNl bGZ0ZXN0X2NoZWNrOiByZXR1cm5zIHRydWUgZm9yIGZsYXNoIHNlbGZ0ZXN0Lgouc2VsZnRlc3Rf cnVuOiBydW5zIGEgZmxhc2ggc2VsZnRlc3QuCgpBbHNvLCByZWZhY3RvciBOVk0gQVBJcyBzbyB0 aGF0IHRoZXkgY2FuIGJlCnVzZWQgd2l0aCBkZXZsaW5rIGFuZCBldGh0b29sIGJvdGguCgpTaWdu ZWQtb2ZmLWJ5OiBWaWthcyBHdXB0YSA8dmlrYXMuZ3VwdGFAYnJvYWRjb20uY29tPgpSZXZpZXdl ZC1ieTogTWljaGFlbCBDaGFuIDxtaWNoYWVsLmNoYW5AYnJvYWRjb20uY29tPgpSZXZpZXdlZC1i eTogQW5keSBHb3Nwb2RhcmVrIDxhbmRyZXcuZ29zcG9kYXJla0Bicm9hZGNvbS5jb20+ClJldmll d2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG52aWRpYS5jb20+Ci0tLQogLi4uL25ldC9ldGhlcm5l dC9icm9hZGNvbS9ibnh0L2JueHRfZGV2bGluay5jIHwgNjEgKysrKysrKysrKysrKysrKysrKwog Li4uL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jIHwgMjQgKysrKy0t LS0KIC4uLi9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2V0aHRvb2wuaCB8IDEyICsr KysKIDMgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2Rldmxp bmsuYyBiL2RyaXZlcnMvbmU9CnQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2Rldmxpbmsu YwppbmRleCA2YjNkNGY0YzJhNzUuLjI3MjE0ZmQxZWU5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYworKysgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZGV2bGluay5jCkBAIC0yMCw2ICsyMCw4IEBA CiAjaW5jbHVkZSAiYm54dF91bHAuaCIKICNpbmNsdWRlICJibnh0X3B0cC5oIgogI2luY2x1ZGUg ImJueHRfY29yZWR1bXAuaCIKKyNpbmNsdWRlICJibnh0X252bV9kZWZzLmgiCisjaW5jbHVkZSAi Ym54dF9ldGh0b29sLmgiCj0yMAogc3RhdGljIHZvaWQgX19ibnh0X2Z3X3JlY292ZXIoc3RydWN0 IGJueHQgKmJwKQogewpAQCAtNjEwLDYgKzYxMiw2MyBAQCBzdGF0aWMgaW50IGJueHRfZGxfcmVs b2FkX3VwKHN0cnVjdCBkZXZsaW5rICpkbCwgZW51bSA9CmRldmxpbmtfcmVsb2FkX2FjdGlvbiBh Y3RpCiAJcmV0dXJuIHJjOwogfQo9MjAKK3N0YXRpYyBib29sIGJueHRfbnZtX3Rlc3Qoc3RydWN0 IGJueHQgKmJwLCBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJdTMyIGRhdGFs ZW47CisJdTE2IGluZGV4OworCXU4ICpidWY7CisKKwlpZiAoYm54dF9maW5kX252cmFtX2l0ZW0o YnAtPmRldiwgQk5YX0RJUl9UWVBFX1ZQRCwKKwkJCQkgQk5YX0RJUl9PUkRJTkFMX0ZJUlNULCBC TlhfRElSX0VYVF9OT05FLAorCQkJCSAmaW5kZXgsIE5VTEwsICZkYXRhbGVuKSB8fCAhZGF0YWxl bikgeworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAibnZtIHRlc3QgdnBkIGVudHJ5IGVy cm9yIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlidWYgPTNEIGt6YWxsb2MoZGF0YWxlbiwg R0ZQX0tFUk5FTCk7CisJaWYgKCFidWYpIHsKKwkJTkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywg Imluc3VmZmljaWVudCBtZW1vcnkgZm9yIG52bSB0ZXN0Iik7CisJCXJldHVybiBmYWxzZTsKKwl9 CisKKwlpZiAoYm54dF9nZXRfbnZyYW1faXRlbShicC0+ZGV2LCBpbmRleCwgMCwgZGF0YWxlbiwg YnVmKSkgeworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAibnZtIHRlc3QgdnBkIHJlYWQg ZXJyb3IiKTsKKwkJZ290byBlcnI7CisJfQorCisJaWYgKGJueHRfZmxhc2hfbnZyYW0oYnAtPmRl diwgQk5YX0RJUl9UWVBFX1ZQRCwgQk5YX0RJUl9PUkRJTkFMX0ZJUlNULAorCQkJICAgICBCTlhf RElSX0VYVF9OT05FLCAwLCAwLCBidWYsIGRhdGFsZW4pKSB7CisJCU5MX1NFVF9FUlJfTVNHX01P RChleHRhY2ssICJudm0gdGVzdCB2cGQgd3JpdGUgZXJyb3IiKTsKKwkJZ290byBlcnI7CisJfQor CisJcmV0dXJuIHRydWU7CisKK2VycjoKKwlrZnJlZShidWYpOworCXJldHVybiBmYWxzZTsKK30K Kworc3RhdGljIGJvb2wgYm54dF9kbF9zZWxmdGVzdF9jaGVjayhzdHJ1Y3QgZGV2bGluayAqZGws IHVuc2lnbmVkIGludCB0ZXN0X2k9CmQsCisJCQkJICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAq ZXh0YWNrKQoreworCXJldHVybiB0ZXN0X2lkID0zRD0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1Rf VEVTVF9JRF9GTEFTSDsKK30KKworc3RhdGljIGVudW0gZGV2bGlua19zZWxmdGVzdF90ZXN0X3N0 YXR1cyBibnh0X2RsX3NlbGZ0ZXN0X3J1bihzdHJ1Y3QgZGV2bGk9Cm5rICpkbCwKKwkJCQkJCQkg ICAgICB1bnNpZ25lZCBpbnQgdGVzdF9pZCwKKwkJCQkJCQkgICAgICBzdHJ1Y3QgbmV0bGlua19l eHRfYWNrICpleHRhY2spCit7CisJc3RydWN0IGJueHQgKmJwID0zRCBibnh0X2dldF9icF9mcm9t X2RsKGRsKTsKKworCWlmICh0ZXN0X2lkID0zRD0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVT VF9JRF9GTEFTSCkKKwkJcmV0dXJuIGJueHRfbnZtX3Rlc3QoYnAsIGV4dGFjaykgPworCQkJCURF VkxJTktfU0VMRlRFU1RfVEVTVF9TVEFUVVNfUEFTUyA6CisJCQkJREVWTElOS19TRUxGVEVTVF9U RVNUX1NUQVRVU19GQUlMOworCisJcmV0dXJuIERFVkxJTktfU0VMRlRFU1RfVEVTVF9TVEFUVVNf U0tJUDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZsaW5rX29wcyBibnh0X2RsX29wcyA9 M0QgewogI2lmZGVmIENPTkZJR19CTlhUX1NSSU9WCiAJLmVzd2l0Y2hfbW9kZV9zZXQgPTNEIGJu eHRfZGxfZXN3aXRjaF9tb2RlX3NldCwKQEAgLTYyMiw2ICs2ODEsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRldmxpbmtfb3BzIGJueHRfZGxfb3BzID0zRCB7CiAJLnJlbG9hZF9saW1pdHMJICA9 M0QgQklUKERFVkxJTktfUkVMT0FEX0xJTUlUX05PX1JFU0VUKSwKIAkucmVsb2FkX2Rvd24JICA9 M0QgYm54dF9kbF9yZWxvYWRfZG93biwKIAkucmVsb2FkX3VwCSAgPTNEIGJueHRfZGxfcmVsb2Fk X3VwLAorCS5zZWxmdGVzdF9jaGVjawkgID0zRCBibnh0X2RsX3NlbGZ0ZXN0X2NoZWNrLAorCS5z ZWxmdGVzdF9ydW4JICA9M0QgYm54dF9kbF9zZWxmdGVzdF9ydW4sCiB9Owo9MjAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZGV2bGlua19vcHMgYm54dF92Zl9kbF9vcHM7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jIGIvZHJpdmVycy9u ZT0KdC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCmluZGV4IDcxOTFlNWQ3 NDIwOC4uODdlYjUzNjJhZDcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9h ZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2JueHQvYm54dF9ldGh0b29sLmMKQEAgLTIxNzYsMTQgKzIxNzYsMTQgQEAgc3RhdGljIHZv aWQgYm54dF9wcmludF9hZG1pbl9lcnIoc3RydWN0IGJueHQgKmJwKQogCW5ldGRldl9pbmZvKGJw LT5kZXYsICJQRiBkb2VzIG5vdCBoYXZlIGFkbWluIHByaXZpbGVnZXMgdG8gZmxhc2ggb3IgcmVz ZXQ9CiB0aGUgZGV2aWNlXG4iKTsKIH0KPTIwCi1zdGF0aWMgaW50IGJueHRfZmluZF9udnJhbV9p dGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3JkaT0KbmFsLAotCQkJ CXUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5ndGgsCi0JCQkJdTMyICpkYXRhX2xl bmd0aCk7CitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg dTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRl bV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCk7Cj0yMAotc3RhdGljIGludCBibnh0X2Zs YXNoX252cmFtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBkaXJfdHlwZSwKLQkJCSAgICB1 MTYgZGlyX29yZGluYWwsIHUxNiBkaXJfZXh0LCB1MTYgZGlyX2F0dHIsCi0JCQkgICAgdTMyIGRp cl9pdGVtX2xlbiwgY29uc3QgdTggKmRhdGEsCi0JCQkgICAgc2l6ZV90IGRhdGFfbGVuKQoraW50 IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRpcl90eXBlLAor CQkgICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRpcl9leHQsIHUxNiBkaXJfYXR0ciwKKwkJICAg ICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAqZGF0YSwKKwkJICAgICBzaXplX3QgZGF0YV9s ZW4pCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBo d3JtX252bV93cml0ZV9pbnB1dCAqcmVxOwpAQCAtMjgzNiw4ICsyODM2LDggQEAgc3RhdGljIGlu dCBibnh0X2dldF9udnJhbV9kaXJlY3Rvcnkoc3RydWN0IG5ldF9kZXZpY2U9CiAqZGV2LCB1MzIg bGVuLCB1OCAqZGF0YSkKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGludCBibnh0X2dldF9u dnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiBpbmRleCwgdTMyIG9mZnM9CmV0 LAotCQkJICAgICAgIHUzMiBsZW5ndGgsIHU4ICpkYXRhKQoraW50IGJueHRfZ2V0X252cmFtX2l0 ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zmc2V0LAorCQkJdTMy IGxlbmd0aCwgdTggKmRhdGEpCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBuZXRkZXZfcHJpdihk ZXYpOwogCWludCByYzsKQEAgLTI4NzEsOSArMjg3MSw5IEBAIHN0YXRpYyBpbnQgYm54dF9nZXRf bnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2PQosIHUzMiBpbmRleCwgdTMyIG9mZnNl dCwKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGludCBibnh0X2ZpbmRfbnZyYW1faXRlbShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgdHlwZSwgdTE2IG9yZGk9Cm5hbCwKLQkJCQl1MTYg ZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAotCQkJCXUzMiAqZGF0YV9sZW5ndGgp CitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IHR5 cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5n dGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCkKIHsKIAlzdHJ1Y3QgaHdybV9udm1fZmluZF9kaXJf ZW50cnlfb3V0cHV0ICpvdXRwdXQ7CiAJc3RydWN0IGh3cm1fbnZtX2ZpbmRfZGlyX2VudHJ5X2lu cHV0ICpyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0 L2JueHRfZXRodG9vbC5oIGIvZHJpdmVycy9uZT0KdC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2Ju eHRfZXRodG9vbC5oCmluZGV4IGE1OTI4NDIxNWU3OC4uYThlY2VmOGFiODJjIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5oCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmgKQEAgLTU4 LDUgKzU4LDE3IEBAIGludCBibnh0X2ZsYXNoX3BhY2thZ2VfZnJvbV9md19vYmooc3RydWN0IG5l dF9kZXZpY2UgKmRlPQp2LCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUKIGludCBibnh0X2dldF9wa2dp bmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGNoYXIgKnZlciwgaW50IHNpemUpOwogdm9pZCBi bnh0X2V0aHRvb2xfaW5pdChzdHJ1Y3QgYm54dCAqYnApOwogdm9pZCBibnh0X2V0aHRvb2xfZnJl ZShzdHJ1Y3QgYm54dCAqYnApOworaW50IGJueHRfZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3JkaW5hbCwKKwkJCSB1MTYgZXh0LCB1MTYgKmlu ZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAorCQkJIHUzMiAqZGF0YV9sZW5ndGgpOworaW50IGJueHRf ZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3Jk aW5hbCwKKwkJCSB1MTYgZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAorCQkJIHUz MiAqZGF0YV9sZW5ndGgpOworaW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwgdTE2IGRpcl90eXBlLAorCQkgICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRpcl9leHQs IHUxNiBkaXJfYXR0ciwKKwkJICAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAqZGF0YSwK KwkJICAgICBzaXplX3QgZGF0YV9sZW4pOworaW50IGJueHRfZ2V0X252cmFtX2l0ZW0oc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zmc2V0LAorCQkJdTMyIGxlbmd0aCwg dTggKmRhdGEpOwo9MjAKICNlbmRpZgotLT0yMAoyLjMxLjEK --000000000000cb5e4b05e46139ba Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIF3Ns1+C0TMCK2i4Z8FtBNupyBr0jMl2KYxv TxWZ6URlMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyMjA5 MTE1NlowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQAhYMZfr2amd1xqRio6zcx2trr0417QuIIFXqMpm+CTysb5nu+WJza5 CuNnk13XHg+U/xvOUSlB5HUqCoh9ZsGM57aZlMe940A+elLPtnNusY+vaj2okJZibA0CCW/jt5lP bSYy4TT21NXh5xBC0IA9OR3gMyRcPo2Vf+YSPA6m6WONVP7vDT5MG0tYeuKJFXAa7wCVN3UYg4QO S5SuD6kl0VjmGr2LYs7nyMFbjB30hf2Z3PzhVBFWAYT5J6zXwWwWtDXyO3g6fm/eK7nPf8WwhYsW DsE2uck4J4kfTwU0TGFBKoMVajUnDPsU1pc2BudwPdsqDVGF5g14O+z91h+M --000000000000cb5e4b05e46139ba--