From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3F49FA0C47 for ; Wed, 3 Nov 2021 19:58:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1CBB140E5A; Wed, 3 Nov 2021 19:58:44 +0100 (CET) Received: from mail-ot1-f97.google.com (mail-ot1-f97.google.com [209.85.210.97]) by mails.dpdk.org (Postfix) with ESMTP id 99C0F40E0F for ; Wed, 3 Nov 2021 19:58:42 +0100 (CET) Received: by mail-ot1-f97.google.com with SMTP id n13-20020a9d710d000000b005558709b70fso4838548otj.10 for ; Wed, 03 Nov 2021 11:58:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=oj7oWbGadGkG+45cVFP/FTJE92wLlXBbUVwYDS6F9zM=; b=hoOmRNNJELDXc78EjO5lM1w64GonNR3aEiEJ6pVgNHs3chpFiiYloJ9Z4OkSLD/m9+ CnQLM4J/sIwy1S9LJo5BcMiY7xqHlrOMn3sNpmRPRXrs/blz4gSXVt5h6AI49oNScYF8 7eBDHi1+BbvCmkBBPbKp/NAYx3YKDpizHp2TE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=oj7oWbGadGkG+45cVFP/FTJE92wLlXBbUVwYDS6F9zM=; b=mCF/LbTO/lAc24e2Mb/qDupt72d1ynP4mLTVFnzuqGANYWvCkP4pWGk3UV+klWR1Lx VHPxJPOQlinIPtc9ndsnGB33wu2yzNFEwrm9Qd4pgD8VrrRyb+ibe6RmdKtn9rC+xyEV +iG+0zJP4D3v2TzbMIlwpYTC2CScP89hE3Byf9VjI1H714zv4fzsfnVKRnS3+hcLSRxr 91q4DYa5szYdLQox4kJZcF4E0ls785TODhi0qZHrj/2id+iX9FB22pscYYaIoSq+istK gAYlY/VoGMs6MBOwNriUJTnPzeWyLqaw2adCxOvqoRlV3/a+Iais4qf2EUFMHiZmXqjy 4EaQ== X-Gm-Message-State: AOAM532PoCqX3o24YrNqiO9CgCGJsKaSeUXX8eU6ubCR3clVa9I2PeOD I22lADn4uY+zlayXHZtdOxN+Bq0YPGClFKlg+DOjT3qdKuVGaYUB8sANxrXFTP4SQA== X-Google-Smtp-Source: ABdhPJyDpC9ZIlU5am3GLEZrB93NHj448gVJaEXBPWcRlX9AXCfb8LE7RblvDvk1VjpDkSxRQ5h4jgC1l25x X-Received: by 2002:a9d:6c53:: with SMTP id g19mr2989218otq.304.1635965921914; Wed, 03 Nov 2021 11:58:41 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id e7sm803834otp.3.2021.11.03.11.58.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Nov 2021 11:58:41 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from dpdk-ubuntu.dpdklab.iol.unh.edu (targon.iol.unh.edu [132.177.125.242]) by postal.iol.unh.edu (Postfix) with ESMTP id 60695605247D; Wed, 3 Nov 2021 14:58:41 -0400 (EDT) Received: from dpdk-ubuntu.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by dpdk-ubuntu.dpdklab.iol.unh.edu (Postfix) with ESMTP id 5C5DE60796; Wed, 3 Nov 2021 18:58:41 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============1814697933631128793==" MIME-Version: 1.0 From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20211103185841.5C5DE60796@dpdk-ubuntu.dpdklab.iol.unh.edu> Date: Wed, 3 Nov 2021 18:58:41 +0000 (UTC) Subject: [dpdk-test-report] |WARNING| pw103609-103623 [PATCH] [v3, 14/14] net/mlx5: add shared Rx queue port datapath support X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Sender: "test-report" --===============1814697933631128793== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzEwMzYwOQoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IFh1ZW1p bmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4KRGF0ZTogV2VkbmVzZGF5LCBOb3Zl bWJlciAwMyAyMDIxIDA3OjU4OjM4IApBcHBsaWVkIG9uOiBDb21taXRJRDpmODhiMGI4OTIyMDRk MDcxYTQ2YTYyOWIwMDQyNGE4ZDQ3MDU1YmE0CkFwcGx5IHBhdGNoIHNldCAxMDM2MDktMTAzNjIz IGZhaWxlZDoKCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmMuLi4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Cgl9CglyeHEtPnJ4cV9jdHJsID0gcnhxX2N0cmw7 CglyeHFfY3RybC0+dHlwZSA9IE1MWDVfUlhRX1RZUEVfU1RBTkRBUkQ7CglyeHFfY3RybC0+cHJp diA9IHByaXY7CglyeHFfY3RybC0+b2JqID0gcnhxOwoJcnhxX2RhdGEgPSAmcnhxX2N0cmwtPnJ4 cTsKCS8qIENyZWF0ZSBDUSB1c2luZyBEZXZYIEFQSS4gKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmM6OTE4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L21seDUvbWx4NV9yeC5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NV9yeC5oLi4uCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDMxNyAob2Zmc2V0IC00IGxpbmVzKS4KQ2hl Y2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlYy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMuLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMTMwIChv ZmZzZXQgLTEgbGluZXMpLgpIdW5rICMyIHN1Y2NlZWRlZCBhdCAxNDkgKG9mZnNldCAtMSBsaW5l cykuCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDIxMyAob2Zmc2V0IC0xIGxpbmVzKS4KQXBwbHlpbmcg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYyB3aXRoIDEgcmVqZWN0Li4uClJlamVj dGVkIGh1bmsgIzEuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMgY2xl YW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaCBjbGVhbmx5LgpB cHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYyBjbGVhbmx5LgpBcHBsaWVk IHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlYy5jIGNsZWFubHkuCkFwcGxpZWQg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYyBjbGVhbmx5LgpkaWZmIGEvZHJp dmVycy9uZXQvbWx4NS9tbHg1X2RldnguYyBiL2RyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmMJ KHJlamVjdGVkIGh1bmtzKQpAQCAtOTE4LDcgKzkxOCw3IEBAIG1seDVfcnhxX2Rldnhfb2JqX2Ry b3BfY3JlYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQogCX0KIAlyeHEtPnJ4cV9jdHJsID0g cnhxX2N0cmw7CiAJcnhxX2N0cmwtPnR5cGUgPSBNTFg1X1JYUV9UWVBFX1NUQU5EQVJEOwotCXJ4 cV9jdHJsLT5wcml2ID0gcHJpdjsKKwlyeHFfY3RybC0+c2ggPSBwcml2LT5zaDsKIAlyeHFfY3Ry bC0+b2JqID0gcnhxOwogCXJ4cV9kYXRhID0gJnJ4cV9jdHJsLT5yeHE7CiAJLyogQ3JlYXRlIENR IHVzaW5nIERldlggQVBJLiAqLwpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4 L21seDVfdmVyYnMuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDUuaC4u LgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAyOTcgKG9mZnNldCAzIGxpbmVzKS4KSHVuayAjMiBzdWNj ZWVkZWQgYXQgMTIzNCAob2Zmc2V0IC01IGxpbmVzKS4KSHVuayAjMyBzdWNjZWVkZWQgYXQgMTMx NSAob2Zmc2V0IC01IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1 X2RldnguYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyoqCiAqIENyZWF0ZSBhIFJR IG9iamVjdCB1c2luZyBEZXZYLgogKgogKiBAcGFyYW0gZGV2CiAqICAgUG9pbnRlciB0byBFdGhl cm5ldCBkZXZpY2UuCiAqIEBwYXJhbSByeHFfZGF0YQogKiAgIFJYIHF1ZXVlIGRhdGEuCiAqCiAq IEByZXR1cm4KICogICAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb3RoZXJ3 aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0LgogKi8Kc3RhdGljIGludAptbHg1X3J4cV9jcmVhdGVf ZGV2eF9ycV9yZXNvdXJjZXMoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCgkJCQkgIHN0cnVjdCBt bHg1X3J4cV9kYXRhICpyeHFfZGF0YSkKewoJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRldi0+ ZGF0YS0+ZGV2X3ByaXZhdGU7CglzdHJ1Y3QgbWx4NV9jb21tb25fZGV2aWNlICpjZGV2ID0gcHJp di0+c2gtPmNkZXY7CglzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPQoJCWNvbnRhaW5l cl9vZihyeHFfZGF0YSwgc3RydWN0IG1seDVfcnhxX2N0cmwsIHJ4cSk7CglzdHJ1Y3QgbWx4NV9k ZXZ4X2NyZWF0ZV9ycV9hdHRyIHJxX2F0dHIgPSB7IDAgfTsKCXVpbnQxNl90IGxvZ19kZXNjX24g PSByeHFfZGF0YS0+ZWx0c19uIC0gcnhxX2RhdGEtPnNnZXNfbjsKCXVpbnQzMl90IHdxZV9zaXpl LCBsb2dfd3FlX3NpemU7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21s eDVfZGV2eC5jOjIyNAplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXJxX2F0dHIud3FfYXR0 ci5wZCA9IGNkZXYtPnBkbjsKCXJxX2F0dHIuY291bnRlcl9zZXRfaWQgPSBwcml2LT5jb3VudGVy X3NldF9pZDsKCS8qIENyZWF0ZSBSUSB1c2luZyBEZXZYIEFQSS4gKi8KCXJldHVybiBtbHg1X2Rl dnhfcnFfY3JlYXRlKGNkZXYtPmN0eCwgJnJ4cV9jdHJsLT5vYmotPnJxX29iaiwgd3FlX3NpemUs CgkJCQkgICBsb2dfZGVzY19uLCAmcnFfYXR0ciwgcnhxX2N0cmwtPnNvY2tldCk7Cn0KCi8qKgog KiBDcmVhdGUgYSBEZXZYIENRIG9iamVjdCBmb3IgYW4gUnggcXVldWUuCiAqCiAqIEBwYXJhbSBk ZXYKICogICBQb2ludGVyIHRvIEV0aGVybmV0IGRldmljZS4KICogQHBhcmFtIHJ4cV9kYXRhCiAq ICAgUlggcXVldWUgZGF0YS4KICoKICogQHJldHVybgogKiAgIDAgb24gc3VjY2VzcywgYSBuZWdh dGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndpc2UgYW5kIHJ0ZV9lcnJubyBpcyBzZXQuCiAqLwpzdGF0 aWMgaW50Cm1seDVfcnhxX2NyZWF0ZV9kZXZ4X2NxX3Jlc291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwKCQkJCSAgc3RydWN0IG1seDVfcnhxX2RhdGEgKnJ4cV9kYXRhKQp7CglzdHJ1Y3Qg bWx4NV9kZXZ4X2NxICpjcV9vYmogPSAwOwoJc3RydWN0IG1seDVfZGV2eF9jcV9hdHRyIGNxX2F0 dHIgPSB7IDAgfTsKCXN0cnVjdCBtbHg1X3ByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2 YXRlOwoJc3RydWN0IG1seDVfZGV2X2N0eF9zaGFyZWQgKnNoID0gcHJpdi0+c2g7CglzdHJ1Y3Qg bWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPQoJCWNvbnRhaW5lcl9vZihyeHFfZGF0YSwgc3RydWN0 IG1seDVfcnhxX2N0cmwsIHJ4cSk7Cgl1bnNpZ25lZCBpbnQgY3FlX24gPSBtbHg1X3J4cV9jcWVf bnVtKHJ4cV9kYXRhKTsKCXVpbnQzMl90IGxvZ19jcWVfbjsKCXVpbnQxNl90IGV2ZW50X251bXNb MV0gPSB7IDAgfTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9k ZXZ4LmM6MjgxCkh1bmsgIzggc3VjY2VlZGVkIGF0IDM0MCAob2Zmc2V0IDUgbGluZXMpLgpIdW5r ICM5IHN1Y2NlZWRlZCBhdCAzNDkgKG9mZnNldCA1IGxpbmVzKS4KSHVuayAjMTAgc3VjY2VlZGVk IGF0IDM5MiAob2Zmc2V0IDUgbGluZXMpLgpIdW5rICMxMSBzdWNjZWVkZWQgYXQgNDM3IChvZmZz ZXQgNSBsaW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXRtcGwtPmZkID0gbWx4 NV9vc19nZXRfZGV2eF9jaGFubmVsX2ZkKHRtcGwtPmRldnhfY2hhbm5lbCk7Cgl9CgkvKiBDcmVh dGUgQ1EgdXNpbmcgRGV2WCBBUEkuICovCglyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9jcV9y ZXNvdXJjZXMoZGV2LCByeHFfZGF0YSk7CglpZiAocmV0KSB7CgkJRFJWX0xPRyhFUlIsICJGYWls ZWQgdG8gY3JlYXRlIENRLiIpOwoJCWdvdG8gZXJyb3I7Cgl9CgkvKiBDcmVhdGUgUlEgdXNpbmcg RGV2WCBBUEkuICovCglyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9ycV9yZXNvdXJjZXMoZGV2 LCByeHFfZGF0YSk7CglpZiAocmV0KSB7CgkJRFJWX0xPRyhFUlIsICJQb3J0ICV1IFJ4IHF1ZXVl ICV1IFJRIGNyZWF0aW9uIGZhaWx1cmUuIiwKCQkJZGV2LT5kYXRhLT5wb3J0X2lkLCBpZHgpOwoJ CXJ0ZV9lcnJubyA9IEVOT01FTTsKCQlnb3RvIGVycm9yOwoJfQoJLyogQ2hhbmdlIHF1ZXVlIHN0 YXRlIHRvIHJlYWR5LiAqLwoJcmV0ID0gbWx4NV9kZXZ4X21vZGlmeV9ycSh0bXBsLCBNTFg1X1JY UV9NT0RfUlNUMlJEWSk7CglpZiAocmV0KQoJCWdvdG8gZXJyb3I7CglyeHFfZGF0YS0+d3FlcyA9 ICh2b2lkICopKHVpbnRwdHJfdCl0bXBsLT5ycV9vYmoud3EudW1lbV9idWY7CglyeHFfZGF0YS0+ cnFfZGIgPSAodWludDMyX3QgKikodWludHB0cl90KXRtcGwtPnJxX29iai53cS5kYl9yZWM7Cgly eHFfZGF0YS0+Y3FfYXJtX3NuID0gMDsKCXJ4cV9kYXRhLT5jcV9jaSA9IDA7CgltbHg1X3J4cV9p bml0aWFsaXplKHJ4cV9kYXRhKTsKCWRldi0+ZGF0YS0+cnhfcXVldWVfc3RhdGVbaWR4XSA9IFJU RV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRDsKCXJ4cV9jdHJsLT53cW4gPSB0bXBsLT5ycV9vYmou cnEtPmlkOwoJcmV0dXJuIDA7CmVycm9yOgoJcmV0ID0gcnRlX2Vycm5vOyAvKiBTYXZlIHJ0ZV9l cnJubyBiZWZvcmUgY2xlYW51cC4gKi8KCW1seDVfcnhxX2Rldnhfb2JqX3JlbGVhc2UodG1wbCk7 CglydGVfZXJybm8gPSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLwoJcmV0dXJuIC1ydGVf ZXJybm87Cn0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4 LmM6NDk4CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJcnF0X2F0dHItPnJxdF9hY3R1YWxf c2l6ZSA9IHJxdF9uOwoJaWYgKHF1ZXVlcyA9PSBOVUxMKSB7CgkJZm9yIChpID0gMDsgaSA8IHJx dF9uOyBpKyspCgkJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHEt PnJxLT5pZDsKCQlyZXR1cm4gcnF0X2F0dHI7Cgl9Cglmb3IgKGkgPSAwOyBpICE9IHF1ZXVlc19u OyArK2kpIHsKCQlzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhxID0gKCpwcml2LT5yeHFzKVtxdWV1 ZXNbaV1dOwoJCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybCA9CgkJCQljb250YWluZXJf b2YocnhxLCBzdHJ1Y3QgbWx4NV9yeHFfY3RybCwgcnhxKTsKCgkJcnF0X2F0dHItPnJxX2xpc3Rb aV0gPSByeHFfY3RybC0+b2JqLT5ycV9vYmoucnEtPmlkOwoJfQoJTUxYNV9BU1NFUlQoaSA+IDAp OwoJZm9yIChqID0gMDsgaSAhPSBycXRfbjsgKytqLCArK2kpCgplcnJvcjogcGF0Y2ggZmFpbGVk OiBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjU3MQplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKCQkJfQoJCX0KCX0gZWxzZSB7CgkJcnhxX29ial90eXBlID0gcHJpdi0+ZHJvcF9xdWV1 ZS5yeHEtPnJ4cV9jdHJsLT50eXBlOwoJfQoJbWVtc2V0KHRpcl9hdHRyLCAwLCBzaXplb2YoKnRp cl9hdHRyKSk7Cgl0aXJfYXR0ci0+ZGlzcF90eXBlID0gTUxYNV9USVJDX0RJU1BfVFlQRV9JTkRJ UkVDVDsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmM6 NzE5CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgp7CglzdHJ1Y3QgbWx4NV9wcml2ICpwcml2 ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKCWludCBzb2NrZXRfaWQgPSBkZXYtPmRldmljZS0+ bnVtYV9ub2RlOwoJc3RydWN0IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJsOwoJc3RydWN0IG1seDVf cnhxX2RhdGEgKnJ4cV9kYXRhOwoJc3RydWN0IG1seDVfcnhxX29iaiAqcnhxID0gTlVMTDsKCWlu dCByZXQ7CgoJLyoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9k ZXZ4LmM6ODkxCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJICogVGhleSBhcmUgcmVxdWly ZWQgdG8gaG9sZCBwb2ludGVycyBmb3IgY2xlYW51cAoJICogYW5kIGFyZSBvbmx5IGFjY2Vzc2li bGUgdmlhIGRyb3AgcXVldWUgRGV2WCBvYmplY3RzLgoJICovCglyeHFfY3RybCA9IG1seDVfbWFs bG9jKE1MWDVfTUVNX1pFUk8sIHNpemVvZigqcnhxX2N0cmwpLAoJCQkgICAgICAgMCwgc29ja2V0 X2lkKTsKCWlmIChyeHFfY3RybCA9PSBOVUxMKSB7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2 ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjkwMQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoK CQlydGVfZXJybm8gPSBFTk9NRU07CgkJZ290byBlcnJvcjsKCX0KCXJ4cSA9IG1seDVfbWFsbG9j KE1MWDVfTUVNX1pFUk8sIHNpemVvZigqcnhxKSwgMCwgc29ja2V0X2lkKTsKCWlmIChyeHEgPT0g TlVMTCkgewoJCURSVl9MT0coRVJSLCAiUG9ydCAldSBjb3VsZCBub3QgYWxsb2NhdGUgZHJvcCBx dWV1ZSBvYmplY3QiLAoJCQlkZXYtPmRhdGEtPnBvcnRfaWQpOwoJCXJ0ZV9lcnJubyA9IEVOT01F TTsKCQlnb3RvIGVycm9yOwoJfQoJcnhxLT5yeHFfY3RybCA9IHJ4cV9jdHJsOwoJcnhxX2N0cmwt PnR5cGUgPSBNTFg1X1JYUV9UWVBFX1NUQU5EQVJEOwoJcnhxX2N0cmwtPnNoID0gcHJpdi0+c2g7 CglyeHFfY3RybC0+b2JqID0gcnhxOwoJcnhxX2RhdGEgPSAmcnhxX2N0cmwtPnJ4cTsKCS8qIENy ZWF0ZSBDUSB1c2luZyBEZXZYIEFQSS4gKi8KCXJldCA9IG1seDVfcnhxX2NyZWF0ZV9kZXZ4X2Nx X3Jlc291cmNlcyhkZXYsIHJ4cV9kYXRhKTsKCWlmIChyZXQgIT0gMCkgewoJCURSVl9MT0coRVJS LCAiUG9ydCAldSBkcm9wIHF1ZXVlIENRIGNyZWF0aW9uIGZhaWxlZC4iLAoJCQlkZXYtPmRhdGEt PnBvcnRfaWQpOwoJCWdvdG8gZXJyb3I7Cgl9CgkvKiBDcmVhdGUgUlEgdXNpbmcgRGV2WCBBUEku ICovCglyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9ycV9yZXNvdXJjZXMoZGV2LCByeHFfZGF0 YSk7CglpZiAocmV0ICE9IDApIHsKCQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgZHJvcCBxdWV1ZSBS USBjcmVhdGlvbiBmYWlsZWQuIiwKCQkJZGV2LT5kYXRhLT5wb3J0X2lkKTsKCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmM6OTA5CmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJcmV0dXJuIDA7CmVycm9yOgoJcmV0ID0gcnRlX2Vycm5vOyAvKiBTYXZl IHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8KCWlmIChyeHEgIT0gTlVMTCkgewoJCWlmIChy eHEtPnJxX29iai5ycSAhPSBOVUxMKQoJCQltbHg1X2RldnhfcnFfZGVzdHJveSgmcnhxLT5ycV9v YmopOwoJCWlmIChyeHEtPmNxX29iai5jcSAhPSBOVUxMKQoJCQltbHg1X2RldnhfY3FfZGVzdHJv eSgmcnhxLT5jcV9vYmopOwoJCWlmIChyeHEtPmRldnhfY2hhbm5lbCkKCQkJbWx4NV9vc19kZXZ4 X2Rlc3Ryb3lfZXZlbnRfY2hhbm5lbAoJCQkJCQkJKHJ4cS0+ZGV2eF9jaGFubmVsKTsKCQltbHg1 X2ZyZWUocnhxKTsKCX0KCWlmIChyeHFfY3RybCAhPSBOVUxMKQoJCW1seDVfZnJlZShyeHFfY3Ry bCk7CglydGVfZXJybm8gPSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLwoJcmV0dXJuIC1y dGVfZXJybm87Cn0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9k ZXZ4LmM6OTQ1CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgptbHg1X3J4cV9kZXZ4X29ial9k cm9wX3JlbGVhc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpCnsKCXN0cnVjdCBtbHg1X3ByaXYg KnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOwoJc3RydWN0IG1seDVfcnhxX29iaiAqcnhx ID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHE7CglzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwg PSByeHEtPnJ4cV9jdHJsOwoKCW1seDVfcnhxX2Rldnhfb2JqX3JlbGVhc2UocnhxKTsKCW1seDVf ZnJlZShyeHEpOwoJbWx4NV9mcmVlKHJ4cV9jdHJsKTsKCXByaXYtPmRyb3BfcXVldWUucnhxID0g TlVMTDsKfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4 LmM6OTcxCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCW1seDVfZGV2eF90aXJfZGVzdHJv eShocnhxKTsKCWlmIChocnhxLT5pbmRfdGFibGUtPmluZF90YWJsZSAhPSBOVUxMKQoJCW1seDVf ZGV2eF9pbmRfdGFibGVfZGVzdHJveShocnhxLT5pbmRfdGFibGUpOwoJaWYgKHByaXYtPmRyb3Bf cXVldWUucnhxLT5ycSAhPSBOVUxMKQoJCW1seDVfcnhxX2Rldnhfb2JqX2Ryb3BfcmVsZWFzZShk ZXYpOwp9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Rldngu Yzo5OTYKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmguLi4KZXJyb3I6 IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5oOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0 L21seDUvbWx4NV9yeHEuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJp dmVycy9uZXQvbWx4NS9tbHg1X3J4dHguYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9t bHg1L21seDVfdHJpZ2dlci5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dl ci5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1 L21seDVfdmxhbi5jLi4uCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1 X3ZlcmJzLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDUuaCBj bGVhbmx5LgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jIHdpdGgg MTEgcmVqZWN0cy4uLgpIdW5rICMxIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMiBhcHBsaWVkIGNs ZWFubHkuCkh1bmsgIzMgYXBwbGllZCBjbGVhbmx5LgpIdW5rICM0IGFwcGxpZWQgY2xlYW5seS4K SHVuayAjNSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzYuClJlamVjdGVkIGh1bmsg IzcuCkh1bmsgIzggYXBwbGllZCBjbGVhbmx5LgpIdW5rICM5IGFwcGxpZWQgY2xlYW5seS4KSHVu ayAjMTAgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMxMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVk IGh1bmsgIzEyLgpSZWplY3RlZCBodW5rICMxMy4KUmVqZWN0ZWQgaHVuayAjMTQuClJlamVjdGVk IGh1bmsgIzE1LgpSZWplY3RlZCBodW5rICMxNi4KUmVqZWN0ZWQgaHVuayAjMTcuClJlamVjdGVk IGh1bmsgIzE4LgpSZWplY3RlZCBodW5rICMxOS4KUmVqZWN0ZWQgaHVuayAjMjAuCkFwcGxpZWQg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHguYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV92bGFuLmMgY2xlYW5seS4KZGlmZiBhL2RyaXZlcnMvbmV0 L21seDUvbWx4NV9kZXZ4LmMgYi9kcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jCShyZWplY3Rl ZCBodW5rcykKQEAgLTIyNCwyMiArMjE4LDE5IEBAIG1seDVfcnhfZGV2eF9nZXRfZXZlbnQoc3Ry dWN0IG1seDVfcnhxX29iaiAqcnhxX29iaikKIC8qKgogICogQ3JlYXRlIGEgUlEgb2JqZWN0IHVz aW5nIERldlguCiAgKgotICogQHBhcmFtIGRldgotICogICBQb2ludGVyIHRvIEV0aGVybmV0IGRl dmljZS4KLSAqIEBwYXJhbSByeHFfZGF0YQotICogICBSWCBxdWV1ZSBkYXRhLgorICogQHBhcmFt IHJ4cQorICogICBQb2ludGVyIHRvIFJ4IHF1ZXVlLgogICoKICAqIEByZXR1cm4KICAqICAgMCBv biBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIHZhbHVlIG90aGVyd2lzZSBhbmQgcnRlX2Vycm5v IGlzIHNldC4KICAqLwogc3RhdGljIGludAotbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3Vy Y2VzKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAotCQkJCSAgc3RydWN0IG1seDVfcnhxX2RhdGEg KnJ4cV9kYXRhKQorbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2VzKHN0cnVjdCBtbHg1 X3J4cV9wcml2ICpyeHEpCiB7Ci0Jc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRldi0+ZGF0YS0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IHJ4cS0+cHJpdjsKIAlzdHJ1 Y3QgbWx4NV9jb21tb25fZGV2aWNlICpjZGV2ID0gcHJpdi0+c2gtPmNkZXY7Ci0Jc3RydWN0IG1s eDVfcnhxX2N0cmwgKnJ4cV9jdHJsID0KLQkJY29udGFpbmVyX29mKHJ4cV9kYXRhLCBzdHJ1Y3Qg bWx4NV9yeHFfY3RybCwgcnhxKTsKKwlzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPSBy eHEtPmN0cmw7CisJc3RydWN0IG1seDVfcnhxX2RhdGEgKnJ4cV9kYXRhID0gJnJ4cS0+Y3RybC0+ cnhxOwogCXN0cnVjdCBtbHg1X2RldnhfY3JlYXRlX3JxX2F0dHIgcnFfYXR0ciA9IHsgMCB9Owog CXVpbnQxNl90IGxvZ19kZXNjX24gPSByeHFfZGF0YS0+ZWx0c19uIC0gcnhxX2RhdGEtPnNnZXNf bjsKIAl1aW50MzJfdCB3cWVfc2l6ZSwgbG9nX3dxZV9zaXplOwpAQCAtMjgxLDMxICsyNzIsMjkg QEAgbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2VzKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2LAogCXJxX2F0dHIud3FfYXR0ci5wZCA9IGNkZXYtPnBkbjsKIAlycV9hdHRyLmNvdW50ZXJf c2V0X2lkID0gcHJpdi0+Y291bnRlcl9zZXRfaWQ7CiAJLyogQ3JlYXRlIFJRIHVzaW5nIERldlgg QVBJLiAqLwotCXJldHVybiBtbHg1X2RldnhfcnFfY3JlYXRlKGNkZXYtPmN0eCwgJnJ4cV9jdHJs LT5vYmotPnJxX29iaiwgd3FlX3NpemUsCisJcmV0dXJuIG1seDVfZGV2eF9ycV9jcmVhdGUoY2Rl di0+Y3R4LCAmcnhxLT5kZXZ4X3JxLCB3cWVfc2l6ZSwKIAkJCQkgICBsb2dfZGVzY19uLCAmcnFf YXR0ciwgcnhxX2N0cmwtPnNvY2tldCk7CiB9CiAKIC8qKgogICogQ3JlYXRlIGEgRGV2WCBDUSBv YmplY3QgZm9yIGFuIFJ4IHF1ZXVlLgogICoKLSAqIEBwYXJhbSBkZXYKLSAqICAgUG9pbnRlciB0 byBFdGhlcm5ldCBkZXZpY2UuCi0gKiBAcGFyYW0gcnhxX2RhdGEKLSAqICAgUlggcXVldWUgZGF0 YS4KKyAqIEBwYXJhbSByeHEKKyAqICAgUG9pbnRlciB0byBSeCBxdWV1ZS4KICAqCiAgKiBAcmV0 dXJuCiAgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndpc2Ug YW5kIHJ0ZV9lcnJubyBpcyBzZXQuCiAgKi8KIHN0YXRpYyBpbnQKLW1seDVfcnhxX2NyZWF0ZV9k ZXZ4X2NxX3Jlc291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKLQkJCQkgIHN0cnVjdCBt bHg1X3J4cV9kYXRhICpyeHFfZGF0YSkKK21seDVfcnhxX2NyZWF0ZV9kZXZ4X2NxX3Jlc291cmNl cyhzdHJ1Y3QgbWx4NV9yeHFfcHJpdiAqcnhxKQogewogCXN0cnVjdCBtbHg1X2RldnhfY3EgKmNx X29iaiA9IDA7CiAJc3RydWN0IG1seDVfZGV2eF9jcV9hdHRyIGNxX2F0dHIgPSB7IDAgfTsKLQlz dHJ1Y3QgbWx4NV9wcml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3Qg bWx4NV9wcml2ICpwcml2ID0gcnhxLT5wcml2OwogCXN0cnVjdCBtbHg1X2Rldl9jdHhfc2hhcmVk ICpzaCA9IHByaXYtPnNoOwotCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybCA9Ci0JCWNv bnRhaW5lcl9vZihyeHFfZGF0YSwgc3RydWN0IG1seDVfcnhxX2N0cmwsIHJ4cSk7CisJdWludDE2 X3QgcG9ydF9pZCA9IHByaXYtPmRldl9kYXRhLT5wb3J0X2lkOworCXN0cnVjdCBtbHg1X3J4cV9j dHJsICpyeHFfY3RybCA9IHJ4cS0+Y3RybDsKKwlzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhxX2Rh dGEgPSAmcnhxX2N0cmwtPnJ4cTsKIAl1bnNpZ25lZCBpbnQgY3FlX24gPSBtbHg1X3J4cV9jcWVf bnVtKHJ4cV9kYXRhKTsKIAl1aW50MzJfdCBsb2dfY3FlX247CiAJdWludDE2X3QgZXZlbnRfbnVt c1sxXSA9IHsgMCB9OwpAQCAtNDk4LDM0ICs0NzksMzIgQEAgbWx4NV9yeHFfZGV2eF9vYmpfbmV3 KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBpZHgpCiAJCXRtcGwtPmZkID0gbWx4 NV9vc19nZXRfZGV2eF9jaGFubmVsX2ZkKHRtcGwtPmRldnhfY2hhbm5lbCk7CiAJfQogCS8qIENy ZWF0ZSBDUSB1c2luZyBEZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9j cV9yZXNvdXJjZXMoZGV2LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2Rldnhf Y3FfcmVzb3VyY2VzKHJ4cSk7CiAJaWYgKHJldCkgewogCQlEUlZfTE9HKEVSUiwgIkZhaWxlZCB0 byBjcmVhdGUgQ1EuIik7CiAJCWdvdG8gZXJyb3I7CiAJfQogCS8qIENyZWF0ZSBSUSB1c2luZyBE ZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9ycV9yZXNvdXJjZXMoZGV2 LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2VzKHJ4 cSk7CiAJaWYgKHJldCkgewogCQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgUnggcXVldWUgJXUgUlEg Y3JlYXRpb24gZmFpbHVyZS4iLAotCQkJZGV2LT5kYXRhLT5wb3J0X2lkLCBpZHgpOworCQkJcHJp di0+ZGV2X2RhdGEtPnBvcnRfaWQsIHJ4cS0+aWR4KTsKIAkJcnRlX2Vycm5vID0gRU5PTUVNOwog CQlnb3RvIGVycm9yOwogCX0KIAkvKiBDaGFuZ2UgcXVldWUgc3RhdGUgdG8gcmVhZHkuICovCi0J cmV0ID0gbWx4NV9kZXZ4X21vZGlmeV9ycSh0bXBsLCBNTFg1X1JYUV9NT0RfUlNUMlJEWSk7CisJ cmV0ID0gbWx4NV9kZXZ4X21vZGlmeV9ycShyeHEsIE1MWDVfUlhRX01PRF9SU1QyUkRZKTsKIAlp ZiAocmV0KQogCQlnb3RvIGVycm9yOwotCXJ4cV9kYXRhLT53cWVzID0gKHZvaWQgKikodWludHB0 cl90KXRtcGwtPnJxX29iai53cS51bWVtX2J1ZjsKLQlyeHFfZGF0YS0+cnFfZGIgPSAodWludDMy X3QgKikodWludHB0cl90KXRtcGwtPnJxX29iai53cS5kYl9yZWM7Ci0JcnhxX2RhdGEtPmNxX2Fy bV9zbiA9IDA7Ci0JcnhxX2RhdGEtPmNxX2NpID0gMDsKKwlyeHFfZGF0YS0+d3FlcyA9ICh2b2lk ICopKHVpbnRwdHJfdClyeHEtPmRldnhfcnEud3EudW1lbV9idWY7CisJcnhxX2RhdGEtPnJxX2Ri ID0gKHVpbnQzMl90ICopKHVpbnRwdHJfdClyeHEtPmRldnhfcnEud3EuZGJfcmVjOwogCW1seDVf cnhxX2luaXRpYWxpemUocnhxX2RhdGEpOwotCWRldi0+ZGF0YS0+cnhfcXVldWVfc3RhdGVbaWR4 XSA9IFJURV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRDsKLQlyeHFfY3RybC0+d3FuID0gdG1wbC0+ cnFfb2JqLnJxLT5pZDsKKwlwcml2LT5kZXZfZGF0YS0+cnhfcXVldWVfc3RhdGVbcnhxLT5pZHhd ID0gUlRFX0VUSF9RVUVVRV9TVEFURV9TVEFSVEVEOworCXJ4cV9jdHJsLT53cW4gPSByeHEtPmRl dnhfcnEucnEtPmlkOwogCXJldHVybiAwOwogZXJyb3I6CiAJcmV0ID0gcnRlX2Vycm5vOyAvKiBT YXZlIHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8KLQltbHg1X3J4cV9kZXZ4X29ial9yZWxl YXNlKHRtcGwpOworCW1seDVfcnhxX2Rldnhfb2JqX3JlbGVhc2UocnhxKTsKIAlydGVfZXJybm8g PSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLwogCXJldHVybiAtcnRlX2Vycm5vOwogfQpA QCAtNTcxLDE1ICs1NTAsMTUgQEAgbWx4NV9kZXZ4X2luZF90YWJsZV9jcmVhdGVfcnF0X2F0dHIo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCiAJcnF0X2F0dHItPnJxdF9hY3R1YWxfc2l6ZSA9IHJx dF9uOwogCWlmIChxdWV1ZXMgPT0gTlVMTCkgewogCQlmb3IgKGkgPSAwOyBpIDwgcnF0X247IGkr KykKLQkJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHEtPnJxLT5p ZDsKKwkJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0KKwkJCQkJcHJpdi0+ZHJvcF9xdWV1ZS5yeHEt PmRldnhfcnEucnEtPmlkOwogCQlyZXR1cm4gcnF0X2F0dHI7CiAJfQogCWZvciAoaSA9IDA7IGkg IT0gcXVldWVzX247ICsraSkgewotCQlzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhxID0gKCpwcml2 LT5yeHFzKVtxdWV1ZXNbaV1dOwotCQlzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPQot CQkJCWNvbnRhaW5lcl9vZihyeHEsIHN0cnVjdCBtbHg1X3J4cV9jdHJsLCByeHEpOworCQlzdHJ1 Y3QgbWx4NV9yeHFfcHJpdiAqcnhxID0gbWx4NV9yeHFfZ2V0KGRldiwgcXVldWVzW2ldKTsKIAot CQlycXRfYXR0ci0+cnFfbGlzdFtpXSA9IHJ4cV9jdHJsLT5vYmotPnJxX29iai5ycS0+aWQ7CisJ CU1MWDVfQVNTRVJUKHJ4cSAhPSBOVUxMKTsKKwkJcnF0X2F0dHItPnJxX2xpc3RbaV0gPSByeHEt PmRldnhfcnEucnEtPmlkOwogCX0KIAlNTFg1X0FTU0VSVChpID4gMCk7CiAJZm9yIChqID0gMDsg aSAhPSBycXRfbjsgKytqLCArK2kpCkBAIC03MTksNyArNjk4LDcgQEAgbWx4NV9kZXZ4X3Rpcl9h dHRyX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgY29uc3QgdWludDhfdCAqcnNzX2tleSwK IAkJCX0KIAkJfQogCX0gZWxzZSB7Ci0JCXJ4cV9vYmpfdHlwZSA9IHByaXYtPmRyb3BfcXVldWUu cnhxLT5yeHFfY3RybC0+dHlwZTsKKwkJcnhxX29ial90eXBlID0gcHJpdi0+ZHJvcF9xdWV1ZS5y eHEtPmN0cmwtPnR5cGU7CiAJfQogCW1lbXNldCh0aXJfYXR0ciwgMCwgc2l6ZW9mKCp0aXJfYXR0 cikpOwogCXRpcl9hdHRyLT5kaXNwX3R5cGUgPSBNTFg1X1RJUkNfRElTUF9UWVBFX0lORElSRUNU OwpAQCAtODkxLDkgKzg3MCw5IEBAIG1seDVfcnhxX2Rldnhfb2JqX2Ryb3BfY3JlYXRlKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KQogewogCXN0cnVjdCBtbHg1X3ByaXYgKnByaXYgPSBkZXYtPmRh dGEtPmRldl9wcml2YXRlOwogCWludCBzb2NrZXRfaWQgPSBkZXYtPmRldmljZS0+bnVtYV9ub2Rl OwotCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybDsKLQlzdHJ1Y3QgbWx4NV9yeHFfZGF0 YSAqcnhxX2RhdGE7Ci0Jc3RydWN0IG1seDVfcnhxX29iaiAqcnhxID0gTlVMTDsKKwlzdHJ1Y3Qg bWx4NV9yeHFfcHJpdiAqcnhxOworCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybCA9IE5V TEw7CisJc3RydWN0IG1seDVfcnhxX29iaiAqcnhxX29iaiA9IE5VTEw7CiAJaW50IHJldDsKIAog CS8qCkBAIC05MDEsNiArODgwLDEzIEBAIG1seDVfcnhxX2Rldnhfb2JqX2Ryb3BfY3JlYXRlKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2KQogCSAqIFRoZXkgYXJlIHJlcXVpcmVkIHRvIGhvbGQgcG9p bnRlcnMgZm9yIGNsZWFudXAKIAkgKiBhbmQgYXJlIG9ubHkgYWNjZXNzaWJsZSB2aWEgZHJvcCBx dWV1ZSBEZXZYIG9iamVjdHMuCiAJICovCisJcnhxID0gbWx4NV9tYWxsb2MoTUxYNV9NRU1fWkVS Tywgc2l6ZW9mKCpyeHEpLCAwLCBzb2NrZXRfaWQpOworCWlmIChyeHEgPT0gTlVMTCkgeworCQlE UlZfTE9HKEVSUiwgIlBvcnQgJXUgY291bGQgbm90IGFsbG9jYXRlIGRyb3AgcXVldWUgcHJpdmF0 ZSIsCisJCQlkZXYtPmRhdGEtPnBvcnRfaWQpOworCQlydGVfZXJybm8gPSBFTk9NRU07CisJCWdv dG8gZXJyb3I7CisJfQogCXJ4cV9jdHJsID0gbWx4NV9tYWxsb2MoTUxYNV9NRU1fWkVSTywgc2l6 ZW9mKCpyeHFfY3RybCksCiAJCQkgICAgICAgMCwgc29ja2V0X2lkKTsKIAlpZiAocnhxX2N0cmwg PT0gTlVMTCkgewpAQCAtOTA5LDI3ICs4OTUsMjkgQEAgbWx4NV9yeHFfZGV2eF9vYmpfZHJvcF9j cmVhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpCiAJCXJ0ZV9lcnJubyA9IEVOT01FTTsKIAkJ Z290byBlcnJvcjsKIAl9Ci0JcnhxID0gbWx4NV9tYWxsb2MoTUxYNV9NRU1fWkVSTywgc2l6ZW9m KCpyeHEpLCAwLCBzb2NrZXRfaWQpOwotCWlmIChyeHEgPT0gTlVMTCkgeworCXJ4cV9vYmogPSBt bHg1X21hbGxvYyhNTFg1X01FTV9aRVJPLCBzaXplb2YoKnJ4cV9vYmopLCAwLCBzb2NrZXRfaWQp OworCWlmIChyeHFfb2JqID09IE5VTEwpIHsKIAkJRFJWX0xPRyhFUlIsICJQb3J0ICV1IGNvdWxk IG5vdCBhbGxvY2F0ZSBkcm9wIHF1ZXVlIG9iamVjdCIsCiAJCQlkZXYtPmRhdGEtPnBvcnRfaWQp OwogCQlydGVfZXJybm8gPSBFTk9NRU07CiAJCWdvdG8gZXJyb3I7CiAJfQotCXJ4cS0+cnhxX2N0 cmwgPSByeHFfY3RybDsKKwlyeHFfb2JqLT5yeHFfY3RybCA9IHJ4cV9jdHJsOwogCXJ4cV9jdHJs LT50eXBlID0gTUxYNV9SWFFfVFlQRV9TVEFOREFSRDsKIAlyeHFfY3RybC0+c2ggPSBwcml2LT5z aDsKLQlyeHFfY3RybC0+b2JqID0gcnhxOwotCXJ4cV9kYXRhID0gJnJ4cV9jdHJsLT5yeHE7CisJ cnhxX2N0cmwtPm9iaiA9IHJ4cV9vYmo7CisJcnhxLT5jdHJsID0gcnhxX2N0cmw7CisJcnhxLT5w cml2ID0gcHJpdjsKKwlMSVNUX0lOU0VSVF9IRUFEKCZyeHFfY3RybC0+b3duZXJzLCByeHEsIG93 bmVyX2VudHJ5KTsKIAkvKiBDcmVhdGUgQ1EgdXNpbmcgRGV2WCBBUEkuICovCi0JcmV0ID0gbWx4 NV9yeHFfY3JlYXRlX2RldnhfY3FfcmVzb3VyY2VzKGRldiwgcnhxX2RhdGEpOworCXJldCA9IG1s eDVfcnhxX2NyZWF0ZV9kZXZ4X2NxX3Jlc291cmNlcyhyeHEpOwogCWlmIChyZXQgIT0gMCkgewog CQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgZHJvcCBxdWV1ZSBDUSBjcmVhdGlvbiBmYWlsZWQuIiwK IAkJCWRldi0+ZGF0YS0+cG9ydF9pZCk7CiAJCWdvdG8gZXJyb3I7CiAJfQogCS8qIENyZWF0ZSBS USB1c2luZyBEZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9ycV9yZXNv dXJjZXMoZGV2LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVz b3VyY2VzKHJ4cSk7CiAJaWYgKHJldCAhPSAwKSB7CiAJCURSVl9MT0coRVJSLCAiUG9ydCAldSBk cm9wIHF1ZXVlIFJRIGNyZWF0aW9uIGZhaWxlZC4iLAogCQkJZGV2LT5kYXRhLT5wb3J0X2lkKTsK QEAgLTk0NSwxOCArOTMzLDIwIEBAIG1seDVfcnhxX2Rldnhfb2JqX2Ryb3BfY3JlYXRlKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2KQogCXJldHVybiAwOwogZXJyb3I6CiAJcmV0ID0gcnRlX2Vycm5v OyAvKiBTYXZlIHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8KLQlpZiAocnhxICE9IE5VTEwp IHsKLQkJaWYgKHJ4cS0+cnFfb2JqLnJxICE9IE5VTEwpCi0JCQltbHg1X2RldnhfcnFfZGVzdHJv eSgmcnhxLT5ycV9vYmopOwotCQlpZiAocnhxLT5jcV9vYmouY3EgIT0gTlVMTCkKLQkJCW1seDVf ZGV2eF9jcV9kZXN0cm95KCZyeHEtPmNxX29iaik7Ci0JCWlmIChyeHEtPmRldnhfY2hhbm5lbCkK KwlpZiAocnhxICE9IE5VTEwgJiYgcnhxLT5kZXZ4X3JxLnJxICE9IE5VTEwpCisJCW1seDVfZGV2 eF9ycV9kZXN0cm95KCZyeHEtPmRldnhfcnEpOworCWlmIChyeHFfb2JqICE9IE5VTEwpIHsKKwkJ aWYgKHJ4cV9vYmotPmNxX29iai5jcSAhPSBOVUxMKQorCQkJbWx4NV9kZXZ4X2NxX2Rlc3Ryb3ko JnJ4cV9vYmotPmNxX29iaik7CisJCWlmIChyeHFfb2JqLT5kZXZ4X2NoYW5uZWwpCiAJCQltbHg1 X29zX2RldnhfZGVzdHJveV9ldmVudF9jaGFubmVsCi0JCQkJCQkJKHJ4cS0+ZGV2eF9jaGFubmVs KTsKLQkJbWx4NV9mcmVlKHJ4cSk7CisJCQkJCQkJKHJ4cV9vYmotPmRldnhfY2hhbm5lbCk7CisJ CW1seDVfZnJlZShyeHFfb2JqKTsKIAl9CiAJaWYgKHJ4cV9jdHJsICE9IE5VTEwpCiAJCW1seDVf ZnJlZShyeHFfY3RybCk7CisJaWYgKHJ4cSAhPSBOVUxMKQorCQltbHg1X2ZyZWUocnhxKTsKIAly dGVfZXJybm8gPSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLwogCXJldHVybiAtcnRlX2Vy cm5vOwogfQpAQCAtOTcxLDEyICs5NjEsMTMgQEAgc3RhdGljIHZvaWQKIG1seDVfcnhxX2Rldnhf b2JqX2Ryb3BfcmVsZWFzZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikKIHsKIAlzdHJ1Y3QgbWx4 NV9wcml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgbWx4NV9yeHFf b2JqICpyeHEgPSBwcml2LT5kcm9wX3F1ZXVlLnJ4cTsKLQlzdHJ1Y3QgbWx4NV9yeHFfY3RybCAq cnhxX2N0cmwgPSByeHEtPnJ4cV9jdHJsOworCXN0cnVjdCBtbHg1X3J4cV9wcml2ICpyeHEgPSBw cml2LT5kcm9wX3F1ZXVlLnJ4cTsKKwlzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPSBy eHEtPmN0cmw7CiAKIAltbHg1X3J4cV9kZXZ4X29ial9yZWxlYXNlKHJ4cSk7Ci0JbWx4NV9mcmVl KHJ4cSk7CisJbWx4NV9mcmVlKHJ4cV9jdHJsLT5vYmopOwogCW1seDVfZnJlZShyeHFfY3RybCk7 CisJbWx4NV9mcmVlKHJ4cSk7CiAJcHJpdi0+ZHJvcF9xdWV1ZS5yeHEgPSBOVUxMOwogfQogCkBA IC05OTYsNyArOTg3LDcgQEAgbWx4NV9kZXZ4X2Ryb3BfYWN0aW9uX2Rlc3Ryb3koc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYpCiAJCW1seDVfZGV2eF90aXJfZGVzdHJveShocnhxKTsKIAlpZiAoaHJ4 cS0+aW5kX3RhYmxlLT5pbmRfdGFibGUgIT0gTlVMTCkKIAkJbWx4NV9kZXZ4X2luZF90YWJsZV9k ZXN0cm95KGhyeHEtPmluZF90YWJsZSk7Ci0JaWYgKHByaXYtPmRyb3BfcXVldWUucnhxLT5ycSAh PSBOVUxMKQorCWlmIChwcml2LT5kcm9wX3F1ZXVlLnJ4cS0+ZGV2eF9ycS5ycSAhPSBOVUxMKQog CQltbHg1X3J4cV9kZXZ4X29ial9kcm9wX3JlbGVhc2UoZGV2KTsKIH0KIApDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfdmVyYnMuYy4uLgplcnJvcjogZHJpdmVycy9u ZXQvbWx4NS9saW51eC9tbHg1X3ZlcmJzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NS5jLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDE2 ODUgKG9mZnNldCAtMSBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NS5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDUuaDogZG9lcyBub3QgbWF0Y2ggaW5k ZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYy4uLgplcnJvcjog ZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2V0aGRldi5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMuLi4KSHVuayAjMSBzdWNjZWVkZWQgYXQgMTE5 NCAob2Zmc2V0IC02IGxpbmVzKS4KSHVuayAjMiBzdWNjZWVkZWQgYXQgMTI5MCAob2Zmc2V0IC02 IGxpbmVzKS4KSHVuayAjMyBzdWNjZWVkZWQgYXQgMTM1NSAob2Zmc2V0IC02IGxpbmVzKS4KSHVu ayAjNCBzdWNjZWVkZWQgYXQgMTM3OCAob2Zmc2V0IC02IGxpbmVzKS4KSHVuayAjNSBzdWNjZWVk ZWQgYXQgMTU3NyAob2Zmc2V0IC02IGxpbmVzKS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CiAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIGNvZGUgb24gZXJyb3IuCiAqLwpz dGF0aWMgaW50Cm1seDVfdmFsaWRhdGVfcnNzX3F1ZXVlcyhjb25zdCBzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiwKCQkJIGNvbnN0IHVpbnQxNl90ICpxdWV1ZXMsIHVpbnQzMl90IHF1ZXVlc19uLAoJ CQkgY29uc3QgY2hhciAqKmVycm9yLCB1aW50MzJfdCAqcXVldWVfaWR4KQp7CgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOjE2MTIKZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6Cgl1aW50MzJfdCBpOwoKCWZvciAoaSA9IDA7IGkgIT0gcXVldWVzX247 ICsraSkgewoJCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybDsKCgkJaWYgKHF1ZXVlc1tp XSA+PSBwcml2LT5yeHFzX24pIHsKCQkJKmVycm9yID0gInF1ZXVlIGluZGV4IG91dCBvZiByYW5n ZSI7CgkJCSpxdWV1ZV9pZHggPSBpOwoJCQlyZXR1cm4gLUVJTlZBTDsKCQl9CgkJaWYgKCEoKnBy aXYtPnJ4cXMpW3F1ZXVlc1tpXV0pIHsKCQkJKmVycm9yID0gICJxdWV1ZSBpcyBub3QgY29uZmln dXJlZCI7CgkJCSpxdWV1ZV9pZHggPSBpOwoJCQlyZXR1cm4gLUVJTlZBTDsKCQl9CgkJcnhxX2N0 cmwgPSBjb250YWluZXJfb2YoKCpwcml2LT5yeHFzKVtxdWV1ZXNbaV1dLAoJCQkJCXN0cnVjdCBt bHg1X3J4cV9jdHJsLCByeHEpOwoJCWlmIChpID09IDApCgkJCXJ4cV90eXBlID0gcnhxX2N0cmwt PnR5cGU7CgkJaWYgKHJ4cV90eXBlICE9IHJ4cV9jdHJsLT50eXBlKSB7CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jOjE2MjEKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvbWx4NS9tbHg1X3Jzcy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0 L21seDUvbWx4NV9yeC5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguYzogZG9l cyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4 LmguLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5oOiBkb2VzIG5vdCBtYXRjaCBp bmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMuLi4KZXJyb3I6 IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjLmMuLi4KZXJyb3I6IGRyaXZl cnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlYy5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfc3RhdHMuYy4uLgpDaGVja2luZyBwYXRjaCBk cml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1 L21seDVfdHJpZ2dlci5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApBcHBsaWVkIHBhdGNoIGRyaXZl cnMvbmV0L21seDUvbWx4NS5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4 NS9tbHg1X2V0aGRldi5jIGNsZWFubHkuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUv bWx4NV9mbG93LmMgd2l0aCAyIHJlamVjdHMuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuCkh1 bmsgIzIgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMzIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjNCBh cHBsaWVkIGNsZWFubHkuCkh1bmsgIzUgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICM2 LgpSZWplY3RlZCBodW5rICM3LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9y c3MuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9zdGF0cy5j IGNsZWFubHkuCmRpZmYgYS9kcml2ZXJzL25ldC9tbHg1L21seDVfZmxvdy5jIGIvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X2Zsb3cuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0xNjEyLDcgKzE2MTQsNyBA QCBtbHg1X2Zsb3dfdmFsaWRhdGVfYWN0aW9uX3F1ZXVlKGNvbnN0IHN0cnVjdCBydGVfZmxvd19h Y3Rpb24gKmFjdGlvbiwKICAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIGNvZGUg b24gZXJyb3IuCiAgKi8KIHN0YXRpYyBpbnQKLW1seDVfdmFsaWRhdGVfcnNzX3F1ZXVlcyhjb25z dCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKK21seDVfdmFsaWRhdGVfcnNzX3F1ZXVlcyhzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldiwKIAkJCSBjb25zdCB1aW50MTZfdCAqcXVldWVzLCB1aW50MzJf dCBxdWV1ZXNfbiwKIAkJCSBjb25zdCBjaGFyICoqZXJyb3IsIHVpbnQzMl90ICpxdWV1ZV9pZHgp CiB7CkBAIC0xNjIxLDIwICsxNjIzLDE5IEBAIG1seDVfdmFsaWRhdGVfcnNzX3F1ZXVlcyhjb25z dCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKIAl1aW50MzJfdCBpOwogCiAJZm9yIChpID0gMDsg aSAhPSBxdWV1ZXNfbjsgKytpKSB7Ci0JCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybDsK KwkJc3RydWN0IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJsID0gbWx4NV9yeHFfY3RybF9nZXQoZGV2 LAorCQkJCQkJCQkgICBxdWV1ZXNbaV0pOwogCiAJCWlmIChxdWV1ZXNbaV0gPj0gcHJpdi0+cnhx c19uKSB7CiAJCQkqZXJyb3IgPSAicXVldWUgaW5kZXggb3V0IG9mIHJhbmdlIjsKIAkJCSpxdWV1 ZV9pZHggPSBpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KLQkJaWYgKCEoKnByaXYtPnJ4cXMp W3F1ZXVlc1tpXV0pIHsKKwkJaWYgKHJ4cV9jdHJsID09IE5VTEwpIHsKIAkJCSplcnJvciA9ICAi cXVldWUgaXMgbm90IGNvbmZpZ3VyZWQiOwogCQkJKnF1ZXVlX2lkeCA9IGk7CiAJCQlyZXR1cm4g LUVJTlZBTDsKIAkJfQotCQlyeHFfY3RybCA9IGNvbnRhaW5lcl9vZigoKnByaXYtPnJ4cXMpW3F1 ZXVlc1tpXV0sCi0JCQkJCXN0cnVjdCBtbHg1X3J4cV9jdHJsLCByeHEpOwogCQlpZiAoaSA9PSAw KQogCQkJcnhxX3R5cGUgPSByeHFfY3RybC0+dHlwZTsKIAkJaWYgKHJ4cV90eXBlICE9IHJ4cV9j dHJsLT50eXBlKSB7CkNoZWNraW5nIHBhdGNoIGRvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9tbHg1 LmluaS4uLgpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL25pY3MvbWx4NS5yc3QuLi4KSHVuayAj MiBzdWNjZWVkZWQgYXQgNDY1IChvZmZzZXQgLTEgbGluZXMpLgpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfb3MuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9tbHg1L2xpbnV4L21seDVfdmVyYnMuYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9saW51 eC9tbHg1X3ZlcmJzLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L21seDUvbWx4NS5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDUuaDogZG9l cyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Rl dnguYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYzogZG9lcyBub3QgbWF0 Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2V0aGRldi5jLi4u CmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZXRoZGV2LmM6IGRvZXMgbm90IG1hdGNoIGlu ZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5oLi4uCmVycm9yOiBk cml2ZXJzL25ldC9tbHg1L21seDVfcnguaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9t bHg1L21seDVfcnhxLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbWx4 NV90cmlnZ2VyLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkFwcGxpZWQgcGF0Y2ggZG9jL2d1aWRl cy9uaWNzL2ZlYXR1cmVzL21seDUuaW5pIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZG9jL2d1aWRl cy9uaWNzL21seDUucnN0IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9s aW51eC9tbHg1X29zLmMgY2xlYW5seS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9t bHg1X2RldnguYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYzogZG9lcyBu b3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMu Li4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRl eApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMuLi4KZXJyb3I6IGRy aXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcg cGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjX2FsdGl2ZWMuaC4uLgpDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWNfbmVvbi5oLi4uCkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlY19zc2UuaC4uLgpBcHBsaWVkIHBh dGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlY19hbHRpdmVjLmggY2xlYW5seS4KQXBw bGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWNfbmVvbi5oIGNsZWFubHku CkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjX3NzZS5oIGNsZWFu bHkuCgpodHRwczovL2xhYi5kcGRrLm9yZy9yZXN1bHRzL2Rhc2hib2FyZC9wYXRjaHNldHMvMTk5 NTUvCgpVTkgtSU9MIERQREsgQ29tbXVuaXR5IExhYgo= --===============1814697933631128793==--