From nobody Wed Apr 15 08:25:03 2026 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 364ECC43334 for ; Sat, 23 Jul 2022 04:22:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235365AbiGWEWh (ORCPT ); Sat, 23 Jul 2022 00:22:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236596AbiGWEW3 (ORCPT ); Sat, 23 Jul 2022 00:22:29 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C38381B3E for ; Fri, 22 Jul 2022 21:22:27 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id t2-20020a17090a4e4200b001f21572f3a4so5764304pjl.0 for ; Fri, 22 Jul 2022 21:22:27 -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=MwI6QfmSUHHXFMoVRud0AW7IQvYOoBMo1+xevF34wZ0=; b=KkdolU1gP+FSPAtuetuSpG+FeM+3tvkIQK1F3McxHmOg7bjXkAwxpuC2Thhy5x/V2y hemzkpzCieDomt2W4VJ2W58OUtfPd9ciFpNEiOdWUQYKF/dLKJo9/fVzcfFj7+3DJCoS 0mJwFoE/EfdSz+ymi0LcAFFgrioDf2xZLkF6w= 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=MwI6QfmSUHHXFMoVRud0AW7IQvYOoBMo1+xevF34wZ0=; b=V54FRZXzyGBxVYrHH4OdaZPuCBotS3B/0AvWNJSFZrdfAPTFGiyXOXZfwKB/LQluux UXOS2yN2AEVUFYS7hN614F+6pT0YR0kiYvJDyFFDDoogcu9nDIFBdM3o6kQ6eWLBK0/1 a01H2pRBFXCsZVi8meAUfgPYYYx4iD2OcRauqmrtND2jZvEyhcSEKFVm3/TTtlXNJoi4 PjvL8zzXD/95+XbLAVSVREcpAnjI1gw1QFkZnYx2rjYAY6stkH+7EMGCNmYHMpOIGgrf 6IudRZ/gi1Pyr6R4LQEWUqz+XTBwjndi6H4fl/7eFHuRroR46mhEKekigT2UlDFNU2oi Ty+w== X-Gm-Message-State: AJIora+tSdolrwwNS83pwi2wekhPygL3zrk1907ZQQHFCI2+fsgtoV4Y T+OyVCnjWowG+z1KlNrPYiLerQ== X-Google-Smtp-Source: AGRyM1st8B2YJV+8bJ1cmZzM768hA6NIIjLVougppv4uCwXwBXX+b7XXVgCsObjiPaKsbp29Hl337A== X-Received: by 2002:a17:902:ab96:b0:16a:6db6:2715 with SMTP id f22-20020a170902ab9600b0016a6db62715mr2707881plr.141.1658550146463; Fri, 22 Jul 2022 21:22:26 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id h184-20020a6283c1000000b0052531985e3esm4807287pfe.22.2022.07.22.21.22.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 21:22:25 -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 v6 1/2] devlink: introduce framework for selftests Date: Sat, 23 Jul 2022 09:52:05 +0530 Message-Id: <20220723042206.8104-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220723042206.8104-1-vikas.gupta@broadcom.com> References: <20220723042206.8104-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000005991cd05e4714c32" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --0000000000005991cd05e4714c32 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 LmM2ZTZjNjAxMzk5MQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2lu Zy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdApAQCAtMCwwICsxLDM4IEBACisuLiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCisKKz0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorRGV2bGlu ayBTZWxmdGVzdHMKKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRAorCitUaGUgYGBkZXZsaW5rLXNlbGZ0ZXN0c2BgIEFQSSBhbGxvd3MgZXhlY3V0aW5n IHNlbGZ0ZXN0cyBvbiB0aGUgZGV2aWNlLgorCitUZXN0cyBNYXNrCis9M0Q9M0Q9M0Q9M0Q9M0Q9 M0Q9M0Q9M0Q9M0Q9M0QKK1RoZSBgYGRldmxpbmstc2VsZnRlc3RzYGAgY29tbWFuZCBzaG91bGQg YmUgcnVuIHdpdGggYSBtYXNrIGluZGljYXRpbmcKK3RoZSB0ZXN0cyB0byBiZSBleGVjdXRlZC4K KworVGVzdHMgRGVzY3JpcHRpb24KKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRAorVGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgdGVzdHMgdGhhdCBk cml2ZXJzIG1heSBleGVjdXRlLgorCisuLiBsaXN0LXRhYmxlOjogTGlzdCBvZiB0ZXN0cworICAg OndpZHRoczogNSA5MAorCisgICAqIC0gTmFtZQorICAgICAtIERlc2NyaXB0aW9uCisgICAqIC0g YGBERVZMSU5LX1NFTEZURVNUX0ZMQVNIYGAKKyAgICAgLSBEZXZpY2VzIG1heSBoYXZlIHRoZSBm aXJtd2FyZSBvbiBub24tdm9sYXRpbGUgbWVtb3J5IG9uIHRoZSBib2FyZCwgPQplLmcuCisgICAg ICAgZmxhc2guIFRoaXMgcGFydGljdWxhciB0ZXN0IGhlbHBzIHRvIHJ1biBhIGZsYXNoIHNlbGZ0 ZXN0IG9uIHRoZSBkZT0KdmljZS4KKyAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgdGVzdCBp cyBsZWZ0IHRvIHRoZSBkcml2ZXIvZmlybXdhcmUuCisKK2V4YW1wbGUgdXNhZ2UKKy0tLS0tLS0t LS0tLS0KKworLi4gY29kZTo6IHNoZWxsCisKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0 ZWQgb24gdGhlIGRldmxpbmsgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgc2hv dyBERVYKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24gYWxsIGRldmxpbmsgZGV2 aWNlcworICAgICQgZGV2bGluayBkZXYgc2VsZnRlc3RzIHNob3cKKyAgICAjIEV4ZWN1dGVzIHNl bGZ0ZXN0cyBvbiB0aGUgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBzZWxmdGVzdHMgcnVuIERF ViB0ZXN0X2lkIGZsYXNoCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9kZXZsaW5rLmggYi9pbmNs dWRlL25ldC9kZXZsaW5rLmgKaW5kZXggODhjNzAxYjM3NWEyLi5lNWQ5OTkyMTdjOGQgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvbmV0L2RldmxpbmsuaAorKysgYi9pbmNsdWRlL25ldC9kZXZsaW5rLmgK QEAgLTE1MDksNiArMTUwOSwyNyBAQCBzdHJ1Y3QgZGV2bGlua19vcHMgewogCQkJCSAgICBzdHJ1 Y3QgZGV2bGlua19yYXRlICpwYXJlbnQsCiAJCQkJICAgIHZvaWQgKnByaXZfY2hpbGQsIHZvaWQg KnByaXZfcGFyZW50LAogCQkJCSAgICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spOwor CS8qKgorCSAqIHNlbGZ0ZXN0c19jaGVjaygpIC0gcXVlcmllcyBpZiBzZWxmdGVzdCBpcyBzdXBw b3J0ZWQKKwkgKiBAZGV2bGluazogZGV2bGluayBpbnN0YW5jZQorCSAqIEB0ZXN0X2lkOiB0ZXN0 IGluZGV4CisJICogQGV4dGFjazogZXh0YWNrIGZvciByZXBvcnRpbmcgZXJyb3IgbWVzc2FnZXMK KwkgKgorCSAqIFJldHVybjogdHJ1ZSBpZiB0ZXN0IGlzIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVy CisJICovCisJYm9vbCAoKnNlbGZ0ZXN0X2NoZWNrKShzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywg dW5zaWduZWQgaW50IHRlc3RfaWQsCisJCQkgICAgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAq ZXh0YWNrKTsKKwkvKioKKwkgKiBzZWxmdGVzdF9ydW4oKSAtIFJ1bnMgYSBzZWxmdGVzdAorCSAq IEBkZXZsaW5rOiBkZXZsaW5rIGluc3RhbmNlCisJICogQHRlc3RfaWQ6IHRlc3QgaW5kZXgKKwkg KiBAZXh0YWNrOiBleHRhY2sgZm9yIHJlcG9ydGluZyBlcnJvciBtZXNzYWdlcworCSAqCisJICog UmV0dXJuOiBzdGF0dXMgb2YgdGhlIHRlc3QKKwkgKi8KKwllbnVtIGRldmxpbmtfc2VsZnRlc3Rf dGVzdF9zdGF0dXMKKwkoKnNlbGZ0ZXN0X3J1bikoc3RydWN0IGRldmxpbmsgKmRldmxpbmssIHVu c2lnbmVkIGludCB0ZXN0X2lkLAorCQkJc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsK IH07Cj0yMAogdm9pZCAqZGV2bGlua19wcml2KHN0cnVjdCBkZXZsaW5rICpkZXZsaW5rKTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmggYi9pbmNsdWRlL3VhcGkvbGlu dXgvZGV2bGluay5oCmluZGV4IGIzZDQwYTVkNzJmZi4uZmNmNTM4OWU4MzA1IDEwMDY0NAotLS0g YS9pbmNsdWRlL3VhcGkvbGludXgvZGV2bGluay5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9k ZXZsaW5rLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBlbnVtIGRldmxpbmtfY29tbWFuZCB7CiAJREVW TElOS19DTURfTElORUNBUkRfTkVXLAogCURFVkxJTktfQ01EX0xJTkVDQVJEX0RFTCwKPTIwCisJ REVWTElOS19DTURfU0VMRlRFU1RTX0dFVCwJLyogY2FuIGR1bXAgKi8KKwlERVZMSU5LX0NNRF9T RUxGVEVTVFNfUlVOLAorCiAJLyogYWRkIG5ldyBjb21tYW5kcyBhYm92ZSBoZXJlICovCiAJX19E RVZMSU5LX0NNRF9NQVgsCiAJREVWTElOS19DTURfTUFYID0zRCBfX0RFVkxJTktfQ01EX01BWCAt IDEKQEAgLTI3Niw2ICsyNzksMzQgQEAgZW51bSB7CiAjZGVmaW5lIERFVkxJTktfU1VQUE9SVEVE X0ZMQVNIX09WRVJXUklURV9TRUNUSU9OUyBcCiAJKF9CSVRVTChfX0RFVkxJTktfRkxBU0hfT1ZF UldSSVRFX01BWF9CSVQpIC0gMSkKPTIwCitlbnVtIGRldmxpbmtfYXR0cl9zZWxmdGVzdF90ZXN0 X2lkIHsKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQRUMsCisJREVWTElOS19B VFRSX1NFTEZURVNUX1RFU1RfSURfRkxBU0gsCS8qIGZsYWcgKi8KKworCV9fREVWTElOS19BVFRS X1NFTEZURVNUX1RFU1RfSURfTUFYLAorCURFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01B WCA9M0QgX19ERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9NQVg9CiAtIDEKK307CisKK2Vu dW0gZGV2bGlua19zZWxmdGVzdF90ZXN0X3N0YXR1cyB7CisJREVWTElOS19TRUxGVEVTVF9URVNU X1NUQVRVU19TS0lQLAorCURFVkxJTktfU0VMRlRFU1RfVEVTVF9TVEFUVVNfUEFTUywKKwlERVZM SU5LX1NFTEZURVNUX1RFU1RfU1RBVFVTX0ZBSUwKK307CisKK2VudW0gZGV2bGlua19hdHRyX3Nl bGZ0ZXN0X3Jlc3VsdCB7CisJREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9VTlNQRUMsCisJ REVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVCwJCQkvKiBuZXN0ZWQgKi8KKwlERVZMSU5LX0FU VFJfU0VMRlRFU1RfUkVTVUxUX1RFU1RfSUQsCQkvKiB1MzIsCisJCQkJCQkJICogZW51bSBkZXZs aW5rX2F0dHJfc2VsZnRlc3RfdGVzdF9pZAorCQkJCQkJCSAqLworCURFVkxJTktfQVRUUl9TRUxG VEVTVF9SRVNVTFRfVEVTVF9TVEFUVVMsCS8qIHU4LAorCQkJCQkJCSAqIGVudW0gZGV2bGlua19z ZWxmdGVzdF90ZXN0X3N0YXR1cworCQkJCQkJCSAqLworCisJX19ERVZMSU5LX0FUVFJfU0VMRlRF U1RfUkVTVUxUX01BWCwKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUX01BWCA9M0QgX19E RVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUX01BWCAtPQogMQorfTsKKwogLyoqCiAgKiBlbnVt IGRldmxpbmtfdHJhcF9hY3Rpb24gLSBQYWNrZXQgdHJhcCBhY3Rpb24uCiAgKiBAREVWTElOS19U UkFQX0FDVElPTl9EUk9QOiBQYWNrZXQgaXMgZHJvcHBlZCBieSB0aGUgZGV2aWNlIGFuZCBhIGNv cHkgaT0KcyBub3QKQEAgLTU3Niw2ICs2MDcsNyBAQCBlbnVtIGRldmxpbmtfYXR0ciB7CiAJREVW TElOS19BVFRSX0xJTkVDQVJEX1RZUEUsCQkvKiBzdHJpbmcgKi8KIAlERVZMSU5LX0FUVFJfTElO RUNBUkRfU1VQUE9SVEVEX1RZUEVTLAkvKiBuZXN0ZWQgKi8KPTIwCisJREVWTElOS19BVFRSX1NF TEZURVNUU19JTkZPLAkJLyogbmVzdGVkICovCiAJLyogYWRkIG5ldyBhdHRyaWJ1dGVzIGFib3Zl IGhlcmUsIHVwZGF0ZSB0aGUgcG9saWN5IGluIGRldmxpbmsuYyAqLwo9MjAKIAlfX0RFVkxJTktf QVRUUl9NQVgsCmRpZmYgLS1naXQgYS9uZXQvY29yZS9kZXZsaW5rLmMgYi9uZXQvY29yZS9kZXZs aW5rLmMKaW5kZXggYTk3NzZlYTkyM2FlLi4zNzQ1ZDY3YjAxN2UgMTAwNjQ0Ci0tLSBhL25ldC9j b3JlL2RldmxpbmsuYworKysgYi9uZXQvY29yZS9kZXZsaW5rLmMKQEAgLTE5OCw2ICsxOTgsMTAg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IGRldmxpbmtfZnVuY3Rpb25fbmxfcG9s PQppY3lbREVWTElOS19QT1JUX0ZVTkNUSU9OXwogCQkJCSBERVZMSU5LX1BPUlRfRk5fU1RBVEVf QUNUSVZFKSwKIH07Cj0yMAorc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IGRldmxpbmtf c2VsZnRlc3RfbmxfcG9saWN5W0RFVkxJTktfQVRUUl9TRUw9CkZURVNUX1RFU1RfSURfTUFYICsg MV0gPTNEIHsKKwlbREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfRkxBU0hdID0zRCB7IC50 eXBlID0zRCBOTEFfRkxBRyB9LAorfTsKKwogc3RhdGljIERFRklORV9YQVJSQVlfRkxBR1MoZGV2 bGlua3MsIFhBX0ZMQUdTX0FMTE9DKTsKICNkZWZpbmUgREVWTElOS19SRUdJU1RFUkVEIFhBX01B UktfMQo9MjAKQEAgLTQ3OTEsNiArNDc5NSwyMTMgQEAgc3RhdGljIGludCBkZXZsaW5rX25sX2Nt ZF9mbGFzaF91cGRhdGUoc3RydWN0IHNrX2J1PQpmZiAqc2tiLAogCXJldHVybiByZXQ7CiB9Cj0y MAorc3RhdGljIGludAorZGV2bGlua19ubF9zZWxmdGVzdHNfZmlsbChzdHJ1Y3Qgc2tfYnVmZiAq bXNnLCBzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywKKwkJCSAgdTMyIHBvcnRpZCwgdTMyIHNlcSwg aW50IGZsYWdzLAorCQkJICBzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRhY2spCit7CisJc3Ry dWN0IG5sYXR0ciAqc2VsZnRlc3RzX2xpc3Q7CisJdm9pZCAqaGRyOworCWludCBlcnI7CisJaW50 IGk7CisKKwloZHIgPTNEIGdlbmxtc2dfcHV0KG1zZywgcG9ydGlkLCBzZXEsICZkZXZsaW5rX25s X2ZhbWlseSwgZmxhZ3MsCisJCQkgIERFVkxJTktfQ01EX1NFTEZURVNUU19HRVQpOworCWlmICgh aGRyKQorCQlyZXR1cm4gLUVNU0dTSVpFOworCisJZXJyID0zRCAtRU1TR1NJWkU7CisJaWYgKGRl dmxpbmtfbmxfcHV0X2hhbmRsZShtc2csIGRldmxpbmspKQorCQlnb3RvIGVycl9jYW5jZWxfbXNn OworCisJc2VsZnRlc3RzX2xpc3QgPTNEIG5sYV9uZXN0X3N0YXJ0KG1zZywgREVWTElOS19BVFRS X1NFTEZURVNUU19JTkZPKTsKKwlpZiAoIXNlbGZ0ZXN0c19saXN0KQorCQlnb3RvIGVycl9jYW5j ZWxfbXNnOworCisJZm9yIChpID0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQ RUMgKyAxOworCSAgICAgaSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01BWDsg aSsrKSB7CisJCWlmIChkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2NoZWNrKGRldmxpbmssIGksIGV4 dGFjaykpIHsKKwkJCWVyciA9M0QgbmxhX3B1dF9mbGFnKG1zZywgaSk7CisJCQlpZiAoZXJyKQor CQkJCWdvdG8gZXJyX2NhbmNlbF9tc2c7CisJCX0KKwl9CisKKwlubGFfbmVzdF9lbmQobXNnLCBz ZWxmdGVzdHNfbGlzdCk7CisJZ2VubG1zZ19lbmQobXNnLCBoZHIpOworCXJldHVybiAwOworCitl cnJfY2FuY2VsX21zZzoKKwlnZW5sbXNnX2NhbmNlbChtc2csIGhkcik7CisJcmV0dXJuIGVycjsK K30KKworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfZ2V0X2RvaXQoc3RydWN0 IHNrX2J1ZmYgKnNrYiwKKwkJCQkJICAgICBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQoreworCXN0 cnVjdCBkZXZsaW5rICpkZXZsaW5rID0zRCBpbmZvLT51c2VyX3B0clswXTsKKwlzdHJ1Y3Qgc2tf YnVmZiAqbXNnOworCWludCBlcnI7CisKKwlpZiAoIWRldmxpbmstPm9wcy0+c2VsZnRlc3RfY2hl Y2spCisJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCW1zZyA9M0Qgbmxtc2dfbmV3KE5MTVNHX0RF RkFVTFRfU0laRSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFtc2cpCisJCXJldHVybiAtRU5PTUVNOwor CisJZXJyID0zRCBkZXZsaW5rX25sX3NlbGZ0ZXN0c19maWxsKG1zZywgZGV2bGluaywgaW5mby0+ c25kX3BvcnRpZCwKKwkJCQkJaW5mby0+c25kX3NlcSwgMCwgaW5mby0+ZXh0YWNrKTsKKwlpZiAo ZXJyKSB7CisJCW5sbXNnX2ZyZWUobXNnKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4g Z2VubG1zZ19yZXBseShtc2csIGluZm8pOworfQorCitzdGF0aWMgaW50IGRldmxpbmtfbmxfY21k X3NlbGZ0ZXN0c19nZXRfZHVtcGl0KHN0cnVjdCBza19idWZmICptc2csCisJCQkJCSAgICAgICBz dHJ1Y3QgbmV0bGlua19jYWxsYmFjayAqY2IpCit7CisJc3RydWN0IGRldmxpbmsgKmRldmxpbms7 CisJaW50IHN0YXJ0ID0zRCBjYi0+YXJnc1swXTsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWlu dCBpZHggPTNEIDA7CisJaW50IGVyciA9M0QgMDsKKworCW11dGV4X2xvY2soJmRldmxpbmtfbXV0 ZXgpOworCXhhX2Zvcl9lYWNoX21hcmtlZCgmZGV2bGlua3MsIGluZGV4LCBkZXZsaW5rLCBERVZM SU5LX1JFR0lTVEVSRUQpIHsKKwkJaWYgKCFkZXZsaW5rX3RyeV9nZXQoZGV2bGluaykpCisJCQlj b250aW51ZTsKKworCQlpZiAoIW5ldF9lcShkZXZsaW5rX25ldChkZXZsaW5rKSwgc29ja19uZXQo bXNnLT5zaykpKQorCQkJZ290byByZXRyeTsKKworCQlpZiAoaWR4IDwgc3RhcnQgfHwgIWRldmxp bmstPm9wcy0+c2VsZnRlc3RfY2hlY2spCisJCQlnb3RvIGluYzsKKworCQltdXRleF9sb2NrKCZk ZXZsaW5rLT5sb2NrKTsKKwkJZXJyID0zRCBkZXZsaW5rX25sX3NlbGZ0ZXN0c19maWxsKG1zZywg ZGV2bGluaywKKwkJCQkJCU5FVExJTktfQ0IoY2ItPnNrYikucG9ydGlkLAorCQkJCQkJY2ItPm5s aC0+bmxtc2dfc2VxLCBOTE1fRl9NVUxUSSwKKwkJCQkJCWNiLT5leHRhY2spOworCQltdXRleF91 bmxvY2soJmRldmxpbmstPmxvY2spOworCQlpZiAoZXJyKSB7CisJCQlkZXZsaW5rX3B1dChkZXZs aW5rKTsKKwkJCWJyZWFrOworCQl9CitpbmM6CisJCWlkeCsrOworcmV0cnk6CisJCWRldmxpbmtf cHV0KGRldmxpbmspOworCX0KKwltdXRleF91bmxvY2soJmRldmxpbmtfbXV0ZXgpOworCisJaWYg KGVyciAhPTNEIC1FTVNHU0laRSkKKwkJcmV0dXJuIGVycjsKKworCWNiLT5hcmdzWzBdID0zRCBp ZHg7CisJcmV0dXJuIG1zZy0+bGVuOworfQorCitzdGF0aWMgaW50IGRldmxpbmtfc2VsZnRlc3Rf cmVzdWx0X3B1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBpbnQgdD0KZXN0X2lkLAor CQkJCSAgICAgICBlbnVtIGRldmxpbmtfc2VsZnRlc3RfdGVzdF9zdGF0dXMgdGVzdF9zdGF0dXMp Cit7CisJc3RydWN0IG5sYXR0ciAqcmVzdWx0X2F0dHI7CisKKwlyZXN1bHRfYXR0ciA9M0Qgbmxh X25lc3Rfc3RhcnQoc2tiLCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUKTsKKwlpZiAoIXJl c3VsdF9hdHRyKQorCQlyZXR1cm4gLUVNU0dTSVpFOworCisJaWYgKG5sYV9wdXRfdTMyKHNrYiwg REVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9URVNUX0lELCB0ZXN0X2lkKSB8fAorCSAgICBu bGFfcHV0X3U4KHNrYiwgREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9URVNUX1NUQVRVUywK KwkJICAgICAgIHRlc3Rfc3RhdHVzKSkKKwkJZ290byBubGFfcHV0X2ZhaWx1cmU7CisKKwlubGFf bmVzdF9lbmQoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJuIDA7CisKK25sYV9wdXRfZmFpbHVy ZToKKwlubGFfbmVzdF9jYW5jZWwoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJuIC1FTVNHU0la RTsKK30KKworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVuKHN0cnVjdCBz a19idWZmICpza2IsCisJCQkJCXN0cnVjdCBnZW5sX2luZm8gKmluZm8pCit7CisJc3RydWN0IG5s YXR0ciAqdGJbREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfTUFYICsgMV07CisJc3RydWN0 IGRldmxpbmsgKmRldmxpbmsgPTNEIGluZm8tPnVzZXJfcHRyWzBdOworCXN0cnVjdCBubGF0dHIg KmF0dHJzLCAqdGVzdHNfaW5mbzsKKwlzdHJ1Y3Qgc2tfYnVmZiAqbXNnOworCXZvaWQgKmhkcjsK KwlpbnQgZXJyOworCWludCBpOworCisJaWYgKCFkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X3J1biB8 fCAhZGV2bGluay0+b3BzLT5zZWxmdGVzdF9jaGVjaykKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwor CisJaWYgKCFpbmZvLT5hdHRyc1tERVZMSU5LX0FUVFJfU0VMRlRFU1RTX0lORk9dKSB7CisJCU5M X1NFVF9FUlJfTVNHX01PRChpbmZvLT5leHRhY2ssICJzZWxmdGVzdCBpbmZvcm1hdGlvbiByZXF1 aXJlZCIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlhdHRycyA9M0QgaW5mby0+YXR0cnNb REVWTElOS19BVFRSX1NFTEZURVNUU19JTkZPXTsKKworCWVyciA9M0QgbmxhX3BhcnNlX25lc3Rl ZCh0YiwgREVWTElOS19BVFRSX1NFTEZURVNUX1RFU1RfSURfTUFYLCBhdHRycywKKwkJCSAgICAg ICBkZXZsaW5rX3NlbGZ0ZXN0X25sX3BvbGljeSwgaW5mby0+ZXh0YWNrKTsKKwlpZiAoZXJyIDwg MCkKKwkJcmV0dXJuIGVycjsKKworCW1zZyA9M0Qgbmxtc2dfbmV3KE5MTVNHX0RFRkFVTFRfU0la RSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFtc2cpCisJCXJldHVybiAtRU5PTUVNOworCisJZXJyID0z RCAtRU1TR1NJWkU7CisJaGRyID0zRCBnZW5sbXNnX3B1dChtc2csIGluZm8tPnNuZF9wb3J0aWQs IGluZm8tPnNuZF9zZXEsCisJCQkgICZkZXZsaW5rX25sX2ZhbWlseSwgMCwgREVWTElOS19DTURf U0VMRlRFU1RTX1JVTik7CisJaWYgKCFoZHIpCisJCWdvdG8gZnJlZV9tc2c7CisKKwlpZiAoZGV2 bGlua19ubF9wdXRfaGFuZGxlKG1zZywgZGV2bGluaykpCisJCWdvdG8gZ2VubG1zZ19jYW5jZWw7 CisKKwl0ZXN0c19pbmZvID0zRCBubGFfbmVzdF9zdGFydChtc2csIERFVkxJTktfQVRUUl9TRUxG VEVTVFNfSU5GTyk7CisJaWYgKCF0ZXN0c19pbmZvKQorCQlnb3RvIGdlbmxtc2dfY2FuY2VsOwor CisJZm9yIChpID0zRCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfVEVTVF9JRF9VTlNQRUMgKyAxOwor CSAgICAgaSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9URVNUX0lEX01BWDsgaSsrKSB7CisJ CWVudW0gZGV2bGlua19zZWxmdGVzdF90ZXN0X3N0YXR1cyB0ZXN0X3N0YXR1czsKKworCQlpZiAo bmxhX2dldF9mbGFnKHRiW2ldKSkgeworCQkJaWYgKCFkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2No ZWNrKGRldmxpbmssIGksCisJCQkJCQkJICBpbmZvLT5leHRhY2spKSB7CisJCQkJaWYgKGRldmxp bmtfc2VsZnRlc3RfcmVzdWx0X3B1dChtc2csIGksCisJCQkJCQkJCURFVkxJTktfU0VMRlRFU1Rf VEVTVF9TVEFUVVNfU0tJUCkpCisJCQkJCWdvdG8gc2VsZnRlc3RzX2luZm9fbmVzdF9jYW5jZWw7 CisJCQkJY29udGludWU7CisJCQl9CisKKwkJCXRlc3Rfc3RhdHVzID0zRCBkZXZsaW5rLT5vcHMt PnNlbGZ0ZXN0X3J1bihkZXZsaW5rLCBpLAorCQkJCQkJCQkgaW5mby0+ZXh0YWNrKTsKKwkJCWlm IChkZXZsaW5rX3NlbGZ0ZXN0X3Jlc3VsdF9wdXQobXNnLCBpLCB0ZXN0X3N0YXR1cykpCisJCQkJ Z290byBzZWxmdGVzdHNfaW5mb19uZXN0X2NhbmNlbDsKKwkJfQorCX0KKworCW5sYV9uZXN0X2Vu ZChtc2csIHRlc3RzX2luZm8pOworCWdlbmxtc2dfZW5kKG1zZywgaGRyKTsKKwlyZXR1cm4gZ2Vu bG1zZ19yZXBseShtc2csIGluZm8pOworCitzZWxmdGVzdHNfaW5mb19uZXN0X2NhbmNlbDoKKwlu bGFfbmVzdF9jYW5jZWwobXNnLCB0ZXN0c19pbmZvKTsKK2dlbmxtc2dfY2FuY2VsOgorCWdlbmxt c2dfY2FuY2VsKG1zZywgaGRyKTsKK2ZyZWVfbXNnOgorCW5sbXNnX2ZyZWUobXNnKTsKKwlyZXR1 cm4gZXJyOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldmxpbmtfcGFyYW0gZGV2bGlua19w YXJhbV9nZW5lcmljW10gPTNEIHsKIAl7CiAJCS5pZCA9M0QgREVWTElOS19QQVJBTV9HRU5FUklD X0lEX0lOVF9FUlJfUkVTRVQsCkBAIC04OTk3LDYgKzkyMDgsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IG5sYV9wb2xpY3kgZGV2bGlua19ubF9wb2xpY3lbREVWTD0KSU5LX0FUVFJfTUFYICsgMV0g PTNEIHsKIAlbREVWTElOS19BVFRSX1JBVEVfUEFSRU5UX05PREVfTkFNRV0gPTNEIHsgLnR5cGUg PTNEIE5MQV9OVUxfU1RSSU5HIH0sCiAJW0RFVkxJTktfQVRUUl9MSU5FQ0FSRF9JTkRFWF0gPTNE IHsgLnR5cGUgPTNEIE5MQV9VMzIgfSwKIAlbREVWTElOS19BVFRSX0xJTkVDQVJEX1RZUEVdID0z RCB7IC50eXBlID0zRCBOTEFfTlVMX1NUUklORyB9LAorCVtERVZMSU5LX0FUVFJfU0VMRlRFU1RT X0lORk9dID0zRCB7IC50eXBlID0zRCBOTEFfTkVTVEVEIH0sCiB9Owo9MjAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19ubF9vcHNbXSA9M0QgewpAQCAtOTM1Niw2 ICs5NTY4LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19u bF9vcHNbXSA9Cj0zRCB7CiAJCS5kb2l0ID0zRCBkZXZsaW5rX25sX2NtZF90cmFwX3BvbGljZXJf c2V0X2RvaXQsCiAJCS5mbGFncyA9M0QgR0VOTF9BRE1JTl9QRVJNLAogCX0sCisJeworCQkuY21k ID0zRCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfR0VULAorCQkuZG9pdCA9M0QgZGV2bGlua19ubF9j bWRfc2VsZnRlc3RzX2dldF9kb2l0LAorCQkuZHVtcGl0ID0zRCBkZXZsaW5rX25sX2NtZF9zZWxm dGVzdHNfZ2V0X2R1bXBpdAorCQkvKiBjYW4gYmUgcmV0cmlldmVkIGJ5IHVucHJpdmlsZWdlZCB1 c2VycyAqLworCX0sCisJeworCQkuY21kID0zRCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfUlVOLAor CQkuZG9pdCA9M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3J1biwKKwkJLmZsYWdzID0zRCBH RU5MX0FETUlOX1BFUk0sCisJfSwKIH07Cj0yMAogc3RhdGljIHN0cnVjdCBnZW5sX2ZhbWlseSBk ZXZsaW5rX25sX2ZhbWlseSBfX3JvX2FmdGVyX2luaXQgPTNEIHsKLS09MjAKMi4zMS4xCg== --0000000000005991cd05e4714c32 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 YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIOkHJUcL3lkR7ssjG3noxqHT9mK8JW0IkeGa eVe5gTc4MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyMzA0 MjIyNlowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQB8e/uvwiuvugu9TB5wVe03ybptQQzt7iYIBrq9lCEZzum2S55mBxFY F7bQnuI018I953CDY3xmLK0b4f80PZWnzmfIeCAilhmQJIXZdQ+0OOjuFg3dYT3FuQjfLKAfJOAx 6NkopQjmt29bg/Vb6ZELd9nz/yOf6m8SZmbk+s7GdFb8xqcNvuOzxjY9dtgX1ElB8TbAt8LZlIHV OMRXGBnbktxUnlar2qJ4Rmpu8tK38uBwj53S8I/WxlB5AvS3N2ixpZqXY29mNK502YzEE6ER7Ly7 XhnTD4R8xa/xvR50dXn6fFotQ+65D/xmUcbpkZB1O0+J8hM2oi/lQ6R4HI15 --0000000000005991cd05e4714c32-- From nobody Wed Apr 15 08:25:03 2026 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 69A89C43334 for ; Sat, 23 Jul 2022 04:22:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236820AbiGWEWn (ORCPT ); Sat, 23 Jul 2022 00:22:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39920 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236698AbiGWEWd (ORCPT ); Sat, 23 Jul 2022 00:22:33 -0400 Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D971CA876A for ; Fri, 22 Jul 2022 21:22:31 -0700 (PDT) Received: by mail-pf1-x42d.google.com with SMTP id c3so5943595pfb.13 for ; Fri, 22 Jul 2022 21:22:31 -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=e6Ga5Kcr967ra94hqWTUh0bf1gAh9zw8FHe81RIKBns=; b=N4pXSCFPHAzydh/O8Gv3pWgfQ0WbtIjq4ePuRfB9aNtCTis8wowhY9TIdIlIAiK5PU oy0eEjZFE1KWAdwJb6qjfbZmsu+NuJOsGwYyRyF4Eozu/THrN8ptgiPz1Pj5IOvxcipH y16jMZCgU3ev/NyOKWIjdNyJ2ux+fSWnFGyac= 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=e6Ga5Kcr967ra94hqWTUh0bf1gAh9zw8FHe81RIKBns=; b=YFTm3vvVg7i6qJSdMilAnuORr5gE5+yv2qqbfWowDr8XzZ73jZl+JO4WslnrhCieGQ d5uznU5UtlYRZ4UXKaZz9a5HcmatTFJs+z65jyLWs5W7kNPEuVvXHukihGhwLbttBZD0 7aLcn373VOA3cRJv2bkQxoAL3YsDbbjA1TvN4m+iKoWARxMDby4YA0ZV+2p3vngG9ZA1 JWm+no8kLB1LigDIABhpP7axVstEbkHvh9IjtiDpiWZ1I457qDnGjugJbtKzm4BaON/p pkkegpCDz8n2XP+wiY3IEDfNYSy8YNhzhEzryrpBgm9FR/B2xX+NhZZRZavdfwKcVpnq lLUA== X-Gm-Message-State: AJIora+BcyD4OBRSOiz0EVuGnREfQC5bJhIzzZVg/slpRAYR8avTqh7J 3ld/4Ico1uHiBZPaXQmnTmlG9g== X-Google-Smtp-Source: AGRyM1vjW6k2bLBMe13rAMX4T2LbAp+0mWrPZKkAQ/VWruUeoTgrjZYbhQ/ihYUwr/ERU7VQIHoaIQ== X-Received: by 2002:a63:1361:0:b0:41a:861c:f870 with SMTP id 33-20020a631361000000b0041a861cf870mr2527769pgt.463.1658550151107; Fri, 22 Jul 2022 21:22:31 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id h184-20020a6283c1000000b0052531985e3esm4807287pfe.22.2022.07.22.21.22.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 21:22:30 -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 v6 2/2] bnxt_en: implement callbacks for devlink selftests Date: Sat, 23 Jul 2022 09:52:06 +0530 Message-Id: <20220723042206.8104-3-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220723042206.8104-1-vikas.gupta@broadcom.com> References: <20220723042206.8104-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000a16c5e05e4714cac" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --000000000000a16c5e05e4714cac 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 --000000000000a16c5e05e4714cac 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 TxWZ6URlMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyMzA0 MjIzMVowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQCmHxa9SGR1YK60lhlmg9Nwu+27xEB3uIY8Ju+canpZPl6zRymsrRfy LWfU/5C2Bo/8Tz9jt9P2QYIoac5TuHsRHi+AzikUydnXY5A5/PJkxoMbzdPUgjEPc8kXDKtz/7tG 4PK0itdL89wvZcsL5RxZZkrjf3myeKaxxRGQKzhcfLr49E/MAW0cLx9yD7HZxyr1aajLEkaeBV/Y vlH33GQg+vjWHqqSMLm/wwxAxgR7c0UBBZfRQ9B8YqlpPMHr3iPjjvqVRupE8ajyvrx7p95knxwf 8Q4re/kE/K1tNzcjP8zrpoMMPA0FarCSLi2hAmx/pLhlKUPW0BBgq1uq8wD5 --000000000000a16c5e05e4714cac--