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 E7FE5A034F for ; Sat, 16 Oct 2021 11:29:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A885C410DC; Sat, 16 Oct 2021 11:29:25 +0200 (CEST) Received: from mail-ua1-f100.google.com (mail-ua1-f100.google.com [209.85.222.100]) by mails.dpdk.org (Postfix) with ESMTP id CD4764067C for ; Sat, 16 Oct 2021 11:29:23 +0200 (CEST) Received: by mail-ua1-f100.google.com with SMTP id f3so533148uap.6 for ; Sat, 16 Oct 2021 02:29:23 -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=YCY06tTdFLUynPQuRylJHjKyMpN/Umk/EssFzit/Rns=; b=ZfupQonPRq79rsR3cQnWM2DKadA/tp3sbF7ARXK9BkFiKc9UZB+qNpK8SeuogtwNre NXies09wG5QuRVYS4GDBEPV2HRayOA3GndbPW2XTU0KAHMd4yWbW5s77rNGEAc8KLjPV etJmc/4lFGlEN5Ap9jWSW3ivaBOaTByyLU9QQ= 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=YCY06tTdFLUynPQuRylJHjKyMpN/Umk/EssFzit/Rns=; b=GYfo8T5tU0ysp+J19Zzqn3jsYZZFP5X6DRhuFRQhViFvV6eArg7TcuB8ZsPoIGcRAt u4Mdfkfej2rpqw6vwraN2GMMhmdByjYmCqUNMSGrjIKf4zqlDpW/aNUCFLg9abSpBFxZ +AU8k8DYRqQBdVEwcSRc5FNOJvd4nxkF+8YbctqXorauWRrEqEwWwFhXzuIbCP+gJWc1 5cleuTEFY3f/30bgWKmKTfKiog0yvdMBoKE3YtyY+X6Xqi6DHKSwxL4vxBuJGryyDLfo SMQaDNEYWZj9YcSawGvfdDnFnswgcvMkTVDhXnkBTazoS0YsllEGBX9bg9ua/yMAJX6e FEFQ== X-Gm-Message-State: AOAM532xqJjXHDH9KYu6ykjOQ7WIlCCq8nvO/9jI6E478YHucxVC2t2G XSVJXeFyisaENUnOrdFvPTrSlh60h/moKf6hAD9S1KtvSRb/a+NOMRqhMgYlPZggnA== X-Google-Smtp-Source: ABdhPJzm3dFDJClx12Vkvzdgp2DcLafPj6FAxGYQR4uMR3HmvjKZb9Kn5vX45VWxZGmsmBrp9Eu8jij9KOjW X-Received: by 2002:a67:42c2:: with SMTP id p185mr18751127vsa.41.1634376563231; Sat, 16 Oct 2021 02:29:23 -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 s126sm2499202vkh.0.2021.10.16.02.29.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 Oct 2021 02:29:23 -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 DC92E605247D; Sat, 16 Oct 2021 05:29:22 -0400 (EDT) Received: from dpdk-ubuntu.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by dpdk-ubuntu.dpdklab.iol.unh.edu (Postfix) with ESMTP id D4E566009A; Sat, 16 Oct 2021 09:29:22 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============4286135409125778093==" MIME-Version: 1.0 From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20211016092922.D4E566009A@dpdk-ubuntu.dpdklab.iol.unh.edu> Date: Sat, 16 Oct 2021 09:29:22 +0000 (UTC) Subject: [dpdk-test-report] |WARNING| pw101875-101887 [PATCH] [v2, 13/13] 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" --===============4286135409125778093== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzEwMTg3NQoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IFh1ZW1p bmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4KRGF0ZTogU2F0dXJkYXksIE9jdG9i ZXIgMTYgMjAyMSAwOToxMjoxMyAKQXBwbGllZCBvbjogQ29tbWl0SUQ6ZTkxMjNjNDY3ZGJiNDcx YTJkNDFlYTg5NjQyM2E4MTg4NmVmODlkNwpBcHBseSBwYXRjaCBzZXQgMTAxODc1LTEwMTg4NyBm YWlsZWQ6CgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaC4uLgpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMuLi4KSHVuayAjMTYgc3VjY2Vl ZGVkIGF0IDIxMTUgKG9mZnNldCAtMjAgbGluZXMpLgpIdW5rICMxNyBzdWNjZWVkZWQgYXQgMjE0 NSAob2Zmc2V0IC0xMCBsaW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJCXJldHVy biByZXQ7Cgl9Cglmb3IgKGkgPSAwOyBpIDwgaW5kX3RibC0+cXVldWVzX247IGkrKykKCQltbHg1 X3J4cV9nZXQoZGV2LCBpbmRfdGJsLT5xdWV1ZXNbaV0pOwoJcmV0dXJuIDA7Cn0KCgplcnJvcjog cGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmM6MjEzNQplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKCQlyZXR1cm4gcmV0OwoJfQoJZm9yIChpID0gMDsgaSA8IGluZF90 YmwtPnF1ZXVlc19uOyBpKyspCgkJbWx4NV9yeHFfcmVsZWFzZShkZXYsIGluZF90YmwtPnF1ZXVl c1tpXSk7CglyZXR1cm4gcmV0Owp9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv bWx4NS9tbHg1X3J4cS5jOjIxNzIKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1 X3RyaWdnZXIuYy4uLgpIdW5rICMxIHN1Y2NlZWRlZCBhdCAxNDIgKG9mZnNldCAtMSBsaW5lcyku Ckh1bmsgIzIgc3VjY2VlZGVkIGF0IDIxNiAob2Zmc2V0IC0xIGxpbmVzKS4KSHVuayAjMyBzdWNj ZWVkZWQgYXQgMjYxIChvZmZzZXQgLTEgbGluZXMpLgpIdW5rICM0IHN1Y2NlZWRlZCBhdCAyNzAg KG9mZnNldCAtMSBsaW5lcykuCkh1bmsgIzUgc3VjY2VlZGVkIGF0IDMwNSAob2Zmc2V0IC0xIGxp bmVzKS4KSHVuayAjNiBzdWNjZWVkZWQgYXQgMzgxIChvZmZzZXQgLTEgbGluZXMpLgpIdW5rICM3 IHN1Y2NlZWRlZCBhdCA0MDggKG9mZnNldCAtMSBsaW5lcykuCkh1bmsgIzggc3VjY2VlZGVkIGF0 IDUwNiAob2Zmc2V0IC0xIGxpbmVzKS4KSHVuayAjOSBzdWNjZWVkZWQgYXQgNTM5IChvZmZzZXQg LTEgbGluZXMpLgpIdW5rICMxMCBzdWNjZWVkZWQgYXQgNTQ2IChvZmZzZXQgLTEgbGluZXMpLgpI dW5rICMxMSBzdWNjZWVkZWQgYXQgNTU1IChvZmZzZXQgLTEgbGluZXMpLgpIdW5rICMxMiBzdWNj ZWVkZWQgYXQgNjE5IChvZmZzZXQgLTEgbGluZXMpLgpIdW5rICMxMyBzdWNjZWVkZWQgYXQgNjUy IChvZmZzZXQgLTEgbGluZXMpLgpIdW5rICMxNCBzdWNjZWVkZWQgYXQgOTUzIChvZmZzZXQgLTEg bGluZXMpLgpIdW5rICMxNSBzdWNjZWVkZWQgYXQgOTgxIChvZmZzZXQgLTEgbGluZXMpLgpBcHBs aWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5oIGNsZWFubHkuCkFwcGx5aW5nIHBh dGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYyB3aXRoIDIgcmVqZWN0cy4uLgpIdW5rICMx IGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzMgYXBwbGll ZCBjbGVhbmx5LgpIdW5rICM0IGFwcGxpZWQgY2xlYW5seS4KSHVuayAjNSBhcHBsaWVkIGNsZWFu bHkuCkh1bmsgIzYgYXBwbGllZCBjbGVhbmx5LgpIdW5rICM3IGFwcGxpZWQgY2xlYW5seS4KSHVu ayAjOCBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzkgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMxMCBh cHBsaWVkIGNsZWFubHkuCkh1bmsgIzExIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMTIgYXBwbGll ZCBjbGVhbmx5LgpIdW5rICMxMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzE0IGFwcGxpZWQgY2xl YW5seS4KSHVuayAjMTUgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMxNiBhcHBsaWVkIGNsZWFubHku Ckh1bmsgIzE3IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjMTguClJlamVjdGVkIGh1 bmsgIzE5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmMgY2xl YW5seS4KZGlmZiBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYyBiL2RyaXZlcnMvbmV0L21s eDUvbWx4NV9yeHEuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0yMTM1LDcgKzIxOTIsNyBAQCBtbHg1 X2luZF90YWJsZV9vYmpfYXR0YWNoKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LAogCQlyZXR1cm4g cmV0OwogCX0KIAlmb3IgKGkgPSAwOyBpIDwgaW5kX3RibC0+cXVldWVzX247IGkrKykKLQkJbWx4 NV9yeHFfZ2V0KGRldiwgaW5kX3RibC0+cXVldWVzW2ldKTsKKwkJbWx4NV9yeHFfcmVmKGRldiwg aW5kX3RibC0+cXVldWVzW2ldKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjE3Miw3ICsyMjI5LDcg QEAgbWx4NV9pbmRfdGFibGVfb2JqX2RldGFjaChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKIAkJ cmV0dXJuIHJldDsKIAl9CiAJZm9yIChpID0gMDsgaSA8IGluZF90YmwtPnF1ZXVlc19uOyBpKysp Ci0JCW1seDVfcnhxX3JlbGVhc2UoZGV2LCBpbmRfdGJsLT5xdWV1ZXNbaV0pOworCQltbHg1X3J4 cV9kZXJlZihkZXYsIGluZF90YmwtPnF1ZXVlc1tpXSk7CiAJcmV0dXJuIHJldDsKIH0KIApDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaC4uLgplcnJvcjogZHJpdmVycy9u ZXQvbWx4NS9tbHg1X3J4Lmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRy aXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1 X3J4cS5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9t bHg1L21seDVfdHJpZ2dlci5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dl ci5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1 L21seDVfZGV2eC5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJfQoJcnhxLT5yeHFf Y3RybCA9IHJ4cV9jdHJsOwoJcnhxX2N0cmwtPnR5cGUgPSBNTFg1X1JYUV9UWVBFX1NUQU5EQVJE OwoJcnhxX2N0cmwtPnByaXYgPSBwcml2OwoJcnhxX2N0cmwtPm9iaiA9IHJ4cTsKCXJ4cV9kYXRh ID0gJnJ4cV9jdHJsLT5yeHE7CgkvKiBDcmVhdGUgQ1EgdXNpbmcgRGV2WCBBUEkuICovCgplcnJv cjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjkxNgpDaGVja2lu ZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfbXIuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2 ZXJzL25ldC9tbHg1L21seDVfcnguYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1 L21seDVfcnguaC4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4Lmg6IGRvZXMgbm90 IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHEuYy4u LgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jOiBkb2VzIG5vdCBtYXRjaCBpbmRl eApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWMuYy4uLgpBcHBs eWluZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jIHdpdGggMSByZWplY3QuLi4K UmVqZWN0ZWQgaHVuayAjMS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfbXIu YyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jIGNsZWFu bHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjLmMgY2xlYW5s eS4KZGlmZiBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmMgYi9kcml2ZXJzL25ldC9tbHg1 L21seDVfZGV2eC5jCShyZWplY3RlZCBodW5rcykKQEAgLTkxNiw3ICs5MTYsNyBAQCBtbHg1X3J4 cV9kZXZ4X29ial9kcm9wX2NyZWF0ZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikKIAl9CiAJcnhx LT5yeHFfY3RybCA9IHJ4cV9jdHJsOwogCXJ4cV9jdHJsLT50eXBlID0gTUxYNV9SWFFfVFlQRV9T VEFOREFSRDsKLQlyeHFfY3RybC0+cHJpdiA9IHByaXY7CisJcnhxX2N0cmwtPnNoID0gcHJpdi0+ c2g7CiAJcnhxX2N0cmwtPm9iaiA9IHJ4cTsKIAlyeHFfZGF0YSA9ICZyeHFfY3RybC0+cnhxOwog CS8qIENyZWF0ZSBDUSB1c2luZyBEZXZYIEFQSS4gKi8KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvbWx4NS9saW51eC9tbHg1X3ZlcmJzLmMuLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQv bWx4NS9tbHg1LmguLi4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Rldngu Yy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKLyoqCiAqIENyZWF0ZSBhIFJRIG9iamVj dCB1c2luZyBEZXZYLgogKgogKiBAcGFyYW0gZGV2CiAqICAgUG9pbnRlciB0byBFdGhlcm5ldCBk ZXZpY2UuCiAqIEBwYXJhbSByeHFfZGF0YQogKiAgIFJYIHF1ZXVlIGRhdGEuCiAqCiAqIEByZXR1 cm4KICogICAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb3RoZXJ3aXNlIGFu ZCBydGVfZXJybm8gaXMgc2V0LgogKi8Kc3RhdGljIGludAptbHg1X3J4cV9jcmVhdGVfZGV2eF9y cV9yZXNvdXJjZXMoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCgkJCQkgIHN0cnVjdCBtbHg1X3J4 cV9kYXRhICpyeHFfZGF0YSkKewoJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRldi0+ZGF0YS0+ ZGV2X3ByaXZhdGU7CglzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwgPQoJCWNvbnRhaW5l cl9vZihyeHFfZGF0YSwgc3RydWN0IG1seDVfcnhxX2N0cmwsIHJ4cSk7CglzdHJ1Y3QgbWx4NV9k ZXZ4X2NyZWF0ZV9ycV9hdHRyIHJxX2F0dHIgPSB7IDAgfTsKCXVpbnQxNl90IGxvZ19kZXNjX24g PSByeHFfZGF0YS0+ZWx0c19uIC0gcnhxX2RhdGEtPnNnZXNfbjsKCXVpbnQzMl90IHdxZV9zaXpl LCBsb2dfd3FlX3NpemU7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21s eDVfZGV2eC5jOjIyNApIdW5rICM3IHN1Y2NlZWRlZCBhdCAyNzMgKG9mZnNldCAzIGxpbmVzKS4K ZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6Ci8qKgogKiBDcmVhdGUgYSBEZXZYIENRIG9iamVj dCBmb3IgYW4gUnggcXVldWUuCiAqCiAqIEBwYXJhbSBkZXYKICogICBQb2ludGVyIHRvIEV0aGVy bmV0IGRldmljZS4KICogQHBhcmFtIHJ4cV9kYXRhCiAqICAgUlggcXVldWUgZGF0YS4KICoKICog QHJldHVybgogKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndp c2UgYW5kIHJ0ZV9lcnJubyBpcyBzZXQuCiAqLwpzdGF0aWMgaW50Cm1seDVfcnhxX2NyZWF0ZV9k ZXZ4X2NxX3Jlc291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKCQkJCSAgc3RydWN0IG1s eDVfcnhxX2RhdGEgKnJ4cV9kYXRhKQp7CglzdHJ1Y3QgbWx4NV9kZXZ4X2NxICpjcV9vYmogPSAw OwoJc3RydWN0IG1seDVfZGV2eF9jcV9hdHRyIGNxX2F0dHIgPSB7IDAgfTsKCXN0cnVjdCBtbHg1 X3ByaXYgKnByaXYgPSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOwoJc3RydWN0IG1seDVfZGV2X2N0 eF9zaGFyZWQgKnNoID0gcHJpdi0+c2g7CglzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwg PQoJCWNvbnRhaW5lcl9vZihyeHFfZGF0YSwgc3RydWN0IG1seDVfcnhxX2N0cmwsIHJ4cSk7Cgl1 bnNpZ25lZCBpbnQgY3FlX24gPSBtbHg1X3J4cV9jcWVfbnVtKHJ4cV9kYXRhKTsKCXVpbnQzMl90 IGxvZ19jcWVfbjsKCXVpbnQxNl90IGV2ZW50X251bXNbMV0gPSB7IDAgfTsKCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmM6Mjg3Ckh1bmsgIzkgc3VjY2Vl ZGVkIGF0IDMzOSAob2Zmc2V0IDUgbGluZXMpLgpIdW5rICMxMCBzdWNjZWVkZWQgYXQgMzQ4IChv ZmZzZXQgNSBsaW5lcykuCkh1bmsgIzExIHN1Y2NlZWRlZCBhdCAzOTEgKG9mZnNldCA1IGxpbmVz KS4KSHVuayAjMTIgc3VjY2VlZGVkIGF0IDQzNiAob2Zmc2V0IDUgbGluZXMpLgplcnJvcjogd2hp bGUgc2VhcmNoaW5nIGZvcjoKCQl0bXBsLT5mZCA9IG1seDVfb3NfZ2V0X2RldnhfY2hhbm5lbF9m ZCh0bXBsLT5kZXZ4X2NoYW5uZWwpOwoJfQoJLyogQ3JlYXRlIENRIHVzaW5nIERldlggQVBJLiAq LwoJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfY3FfcmVzb3VyY2VzKGRldiwgcnhxX2RhdGEp OwoJaWYgKHJldCkgewoJCURSVl9MT0coRVJSLCAiRmFpbGVkIHRvIGNyZWF0ZSBDUS4iKTsKCQln b3RvIGVycm9yOwoJfQoJLyogQ3JlYXRlIFJRIHVzaW5nIERldlggQVBJLiAqLwoJcmV0ID0gbWx4 NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2VzKGRldiwgcnhxX2RhdGEpOwoJaWYgKHJldCkg ewoJCURSVl9MT0coRVJSLCAiUG9ydCAldSBSeCBxdWV1ZSAldSBSUSBjcmVhdGlvbiBmYWlsdXJl LiIsCgkJCWRldi0+ZGF0YS0+cG9ydF9pZCwgaWR4KTsKCQlydGVfZXJybm8gPSBFTk9NRU07CgkJ Z290byBlcnJvcjsKCX0KCS8qIENoYW5nZSBxdWV1ZSBzdGF0ZSB0byByZWFkeS4gKi8KCXJldCA9 IG1seDVfZGV2eF9tb2RpZnlfcnEodG1wbCwgTUxYNV9SWFFfTU9EX1JTVDJSRFkpOwoJaWYgKHJl dCkKCQlnb3RvIGVycm9yOwoJcnhxX2RhdGEtPndxZXMgPSAodm9pZCAqKSh1aW50cHRyX3QpdG1w bC0+cnFfb2JqLndxLnVtZW1fYnVmOwoJcnhxX2RhdGEtPnJxX2RiID0gKHVpbnQzMl90ICopKHVp bnRwdHJfdCl0bXBsLT5ycV9vYmoud3EuZGJfcmVjOwoJcnhxX2RhdGEtPmNxX2FybV9zbiA9IDA7 CglyeHFfZGF0YS0+Y3FfY2kgPSAwOwoJbWx4NV9yeHFfaW5pdGlhbGl6ZShyeHFfZGF0YSk7Cglk ZXYtPmRhdGEtPnJ4X3F1ZXVlX3N0YXRlW2lkeF0gPSBSVEVfRVRIX1FVRVVFX1NUQVRFX1NUQVJU RUQ7CglyeHFfY3RybC0+d3FuID0gdG1wbC0+cnFfb2JqLnJxLT5pZDsKCXJldHVybiAwOwplcnJv cjoKCXJldCA9IHJ0ZV9lcnJubzsgLyogU2F2ZSBydGVfZXJybm8gYmVmb3JlIGNsZWFudXAuICov CgltbHg1X3J4cV9kZXZ4X29ial9yZWxlYXNlKHRtcGwpOwoJcnRlX2Vycm5vID0gcmV0OyAvKiBS ZXN0b3JlIHJ0ZV9lcnJuby4gKi8KCXJldHVybiAtcnRlX2Vycm5vOwp9CgplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjQ5NwplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKCXJxdF9hdHRyLT5ycXRfYWN0dWFsX3NpemUgPSBycXRfbjsKCWlmIChxdWV1 ZXMgPT0gTlVMTCkgewoJCWZvciAoaSA9IDA7IGkgPCBycXRfbjsgaSsrKQoJCQlycXRfYXR0ci0+ cnFfbGlzdFtpXSA9IHByaXYtPmRyb3BfcXVldWUucnhxLT5ycS0+aWQ7CgkJcmV0dXJuIHJxdF9h dHRyOwoJfQoJZm9yIChpID0gMDsgaSAhPSBxdWV1ZXNfbjsgKytpKSB7CgkJc3RydWN0IG1seDVf cnhxX2RhdGEgKnJ4cSA9ICgqcHJpdi0+cnhxcylbcXVldWVzW2ldXTsKCQlzdHJ1Y3QgbWx4NV9y eHFfY3RybCAqcnhxX2N0cmwgPQoJCQkJY29udGFpbmVyX29mKHJ4cSwgc3RydWN0IG1seDVfcnhx X2N0cmwsIHJ4cSk7CgoJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0gcnhxX2N0cmwtPm9iai0+cnFf b2JqLnJxLT5pZDsKCX0KCU1MWDVfQVNTRVJUKGkgPiAwKTsKCWZvciAoaiA9IDA7IGkgIT0gcnF0 X247ICsraiwgKytpKQoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQvbWx4NS9tbHg1 X2RldnguYzo1NzAKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCX0KCQl9Cgl9IGVsc2Ug ewoJCXJ4cV9vYmpfdHlwZSA9IHByaXYtPmRyb3BfcXVldWUucnhxLT5yeHFfY3RybC0+dHlwZTsK CX0KCW1lbXNldCh0aXJfYXR0ciwgMCwgc2l6ZW9mKCp0aXJfYXR0cikpOwoJdGlyX2F0dHItPmRp c3BfdHlwZSA9IE1MWDVfVElSQ19ESVNQX1RZUEVfSU5ESVJFQ1Q7CgplcnJvcjogcGF0Y2ggZmFp bGVkOiBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjcxNwplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKewoJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZh dGU7CglpbnQgc29ja2V0X2lkID0gZGV2LT5kZXZpY2UtPm51bWFfbm9kZTsKCXN0cnVjdCBtbHg1 X3J4cV9jdHJsICpyeHFfY3RybDsKCXN0cnVjdCBtbHg1X3J4cV9kYXRhICpyeHFfZGF0YTsKCXN0 cnVjdCBtbHg1X3J4cV9vYmogKnJ4cSA9IE5VTEw7CglpbnQgcmV0OwoKCS8qCgkgKiBJbml0aWFs aXplIGR1bW15IGNvbnRyb2wgc3RydWN0dXJlcy4KCSAqIFRoZXkgYXJlIHJlcXVpcmVkIHRvIGhv bGQgcG9pbnRlcnMgZm9yIGNsZWFudXAKCSAqIGFuZCBhcmUgb25seSBhY2Nlc3NpYmxlIHZpYSBk cm9wIHF1ZXVlIERldlggb2JqZWN0cy4KCSAqLwoJcnhxX2N0cmwgPSBtbHg1X21hbGxvYyhNTFg1 X01FTV9aRVJPLCBzaXplb2YoKnJ4cV9jdHJsKSwKCQkJICAgICAgIDAsIHNvY2tldF9pZCk7Cglp ZiAocnhxX2N0cmwgPT0gTlVMTCkgewoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZHJpdmVycy9uZXQv bWx4NS9tbHg1X2RldnguYzo4ODkKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJcnRlX2Vy cm5vID0gRU5PTUVNOwoJCWdvdG8gZXJyb3I7Cgl9CglyeHEgPSBtbHg1X21hbGxvYyhNTFg1X01F TV9aRVJPLCBzaXplb2YoKnJ4cSksIDAsIHNvY2tldF9pZCk7CglpZiAocnhxID09IE5VTEwpIHsK CQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgY291bGQgbm90IGFsbG9jYXRlIGRyb3AgcXVldWUgb2Jq ZWN0IiwKCQkJZGV2LT5kYXRhLT5wb3J0X2lkKTsKCQlydGVfZXJybm8gPSBFTk9NRU07CgkJZ290 byBlcnJvcjsKCX0KCXJ4cS0+cnhxX2N0cmwgPSByeHFfY3RybDsKCXJ4cV9jdHJsLT50eXBlID0g TUxYNV9SWFFfVFlQRV9TVEFOREFSRDsKCXJ4cV9jdHJsLT5zaCA9IHByaXYtPnNoOwoJcnhxX2N0 cmwtPm9iaiA9IHJ4cTsKCXJ4cV9kYXRhID0gJnJ4cV9jdHJsLT5yeHE7CgkvKiBDcmVhdGUgQ1Eg dXNpbmcgRGV2WCBBUEkuICovCglyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9jcV9yZXNvdXJj ZXMoZGV2LCByeHFfZGF0YSk7CglpZiAocmV0ICE9IDApIHsKCQlEUlZfTE9HKEVSUiwgIlBvcnQg JXUgZHJvcCBxdWV1ZSBDUSBjcmVhdGlvbiBmYWlsZWQuIiwKCQkJZGV2LT5kYXRhLT5wb3J0X2lk KTsKCQlnb3RvIGVycm9yOwoJfQoJLyogQ3JlYXRlIFJRIHVzaW5nIERldlggQVBJLiAqLwoJcmV0 ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2VzKGRldiwgcnhxX2RhdGEpOwoJaWYg KHJldCAhPSAwKSB7CgkJRFJWX0xPRyhFUlIsICJQb3J0ICV1IGRyb3AgcXVldWUgUlEgY3JlYXRp b24gZmFpbGVkLiIsCgkJCWRldi0+ZGF0YS0+cG9ydF9pZCk7CgplcnJvcjogcGF0Y2ggZmFpbGVk OiBkcml2ZXJzL25ldC9tbHg1L21seDVfZGV2eC5jOjkwNwplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKZXJyb3I6CglyZXQgPSBydGVfZXJybm87IC8qIFNhdmUgcnRlX2Vycm5vIGJlZm9yZSBj bGVhbnVwLiAqLwoJaWYgKHJ4cSAhPSBOVUxMKSB7CgkJaWYgKHJ4cS0+cnFfb2JqLnJxICE9IE5V TEwpCgkJCW1seDVfZGV2eF9ycV9kZXN0cm95KCZyeHEtPnJxX29iaik7CgkJaWYgKHJ4cS0+Y3Ff b2JqLmNxICE9IE5VTEwpCgkJCW1seDVfZGV2eF9jcV9kZXN0cm95KCZyeHEtPmNxX29iaik7CgkJ aWYgKHJ4cS0+ZGV2eF9jaGFubmVsKQoJCQltbHg1X29zX2RldnhfZGVzdHJveV9ldmVudF9jaGFu bmVsCgkJCQkJCQkocnhxLT5kZXZ4X2NoYW5uZWwpOwoJCW1seDVfZnJlZShyeHEpOwoJfQoJaWYg KHJ4cV9jdHJsICE9IE5VTEwpCgkJbWx4NV9mcmVlKHJ4cV9jdHJsKTsKCXJ0ZV9lcnJubyA9IHJl dDsgLyogUmVzdG9yZSBydGVfZXJybm8uICovCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJz L25ldC9tbHg1L21seDVfZGV2eC5jOjk0NAplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKbWx4 NV9yeHFfZGV2eF9vYmpfZHJvcF9yZWxlYXNlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQp7Cglz dHJ1Y3QgbWx4NV9wcml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKCXN0cnVjdCBt bHg1X3J4cV9vYmogKnJ4cSA9IHByaXYtPmRyb3BfcXVldWUucnhxOwoJc3RydWN0IG1seDVfcnhx X2N0cmwgKnJ4cV9jdHJsID0gcnhxLT5yeHFfY3RybDsKCgltbHg1X3J4cV9kZXZ4X29ial9yZWxl YXNlKHJ4cSk7CgltbHg1X2ZyZWUocnhxKTsKCW1seDVfZnJlZShyeHFfY3RybCk7Cglwcml2LT5k cm9wX3F1ZXVlLnJ4cSA9IE5VTEw7Cn0KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkcml2ZXJzL25l dC9tbHg1L21seDVfZGV2eC5jOjk2OQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQltbHg1 X2RldnhfdGlyX2Rlc3Ryb3koaHJ4cSk7CglpZiAoaHJ4cS0+aW5kX3RhYmxlLT5pbmRfdGFibGUg IT0gTlVMTCkKCQltbHg1X2RldnhfaW5kX3RhYmxlX2Rlc3Ryb3koaHJ4cS0+aW5kX3RhYmxlKTsK CWlmIChwcml2LT5kcm9wX3F1ZXVlLnJ4cS0+cnEgIT0gTlVMTCkKCQltbHg1X3J4cV9kZXZ4X29i al9kcm9wX3JlbGVhc2UoZGV2KTsKfQoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L21seDUvbWx4NV9kZXZ4LmM6OTk0CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NV9yeC5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaDogZG9lcyBub3QgbWF0 Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jLi4uCmVy cm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNo ZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4LmMuLi4KQ2hlY2tpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYy4uLgplcnJvcjogZHJpdmVycy9uZXQv bWx4NS9tbHg1X3RyaWdnZXIuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvbWx4NS9tbHg1X3ZsYW4uYy4uLgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0 L21seDUvbGludXgvbWx4NV92ZXJicy5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9u ZXQvbWx4NS9tbHg1LmggY2xlYW5seS4KQXBwbHlpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9t bHg1X2RldnguYyB3aXRoIDEwIHJlamVjdHMuLi4KSHVuayAjMSBhcHBsaWVkIGNsZWFubHkuCkh1 bmsgIzIgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMzIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjNCBh cHBsaWVkIGNsZWFubHkuCkh1bmsgIzUgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICM2 LgpIdW5rICM3IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjOC4KSHVuayAjOSBhcHBs aWVkIGNsZWFubHkuCkh1bmsgIzEwIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMTEgYXBwbGllZCBj bGVhbmx5LgpIdW5rICMxMiBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsgIzEzLgpSZWpl Y3RlZCBodW5rICMxNC4KUmVqZWN0ZWQgaHVuayAjMTUuClJlamVjdGVkIGh1bmsgIzE2LgpSZWpl Y3RlZCBodW5rICMxNy4KUmVqZWN0ZWQgaHVuayAjMTguClJlamVjdGVkIGh1bmsgIzE5LgpSZWpl Y3RlZCBodW5rICMyMC4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnh0eC5j IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3ZsYW4uYyBjbGVh bmx5LgpkaWZmIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYyBiL2RyaXZlcnMvbmV0L21s eDUvbWx4NV9kZXZ4LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtMjI0LDIxICsyMTgsMTggQEAgbWx4 NV9yeF9kZXZ4X2dldF9ldmVudChzdHJ1Y3QgbWx4NV9yeHFfb2JqICpyeHFfb2JqKQogLyoqCiAg KiBDcmVhdGUgYSBSUSBvYmplY3QgdXNpbmcgRGV2WC4KICAqCi0gKiBAcGFyYW0gZGV2Ci0gKiAg IFBvaW50ZXIgdG8gRXRoZXJuZXQgZGV2aWNlLgotICogQHBhcmFtIHJ4cV9kYXRhCi0gKiAgIFJY IHF1ZXVlIGRhdGEuCisgKiBAcGFyYW0gcnhxCisgKiAgIFBvaW50ZXIgdG8gUnggcXVldWUuCiAg KgogICogQHJldHVybgogICogICAwIG9uIHN1Y2Nlc3MsIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUg b3RoZXJ3aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0LgogICovCiBzdGF0aWMgaW50Ci1tbHg1X3J4 cV9jcmVhdGVfZGV2eF9ycV9yZXNvdXJjZXMoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCi0JCQkJ ICBzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhxX2RhdGEpCittbHg1X3J4cV9jcmVhdGVfZGV2eF9y cV9yZXNvdXJjZXMoc3RydWN0IG1seDVfcnhxX3ByaXYgKnJ4cSkKIHsKLQlzdHJ1Y3QgbWx4NV9w cml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgbWx4NV9yeHFfY3Ry bCAqcnhxX2N0cmwgPQotCQljb250YWluZXJfb2YocnhxX2RhdGEsIHN0cnVjdCBtbHg1X3J4cV9j dHJsLCByeHEpOworCXN0cnVjdCBtbHg1X3ByaXYgKnByaXYgPSByeHEtPnByaXY7CisJc3RydWN0 IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJsID0gcnhxLT5jdHJsOworCXN0cnVjdCBtbHg1X3J4cV9k YXRhICpyeHFfZGF0YSA9ICZyeHEtPmN0cmwtPnJ4cTsKIAlzdHJ1Y3QgbWx4NV9kZXZ4X2NyZWF0 ZV9ycV9hdHRyIHJxX2F0dHIgPSB7IDAgfTsKIAl1aW50MTZfdCBsb2dfZGVzY19uID0gcnhxX2Rh dGEtPmVsdHNfbiAtIHJ4cV9kYXRhLT5zZ2VzX247CiAJdWludDMyX3Qgd3FlX3NpemUsIGxvZ193 cWVfc2l6ZTsKQEAgLTI4NywyNCArMjc4LDIyIEBAIG1seDVfcnhxX2NyZWF0ZV9kZXZ4X3JxX3Jl c291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKIC8qKgogICogQ3JlYXRlIGEgRGV2WCBD USBvYmplY3QgZm9yIGFuIFJ4IHF1ZXVlLgogICoKLSAqIEBwYXJhbSBkZXYKLSAqICAgUG9pbnRl ciB0byBFdGhlcm5ldCBkZXZpY2UuCi0gKiBAcGFyYW0gcnhxX2RhdGEKLSAqICAgUlggcXVldWUg ZGF0YS4KKyAqIEBwYXJhbSByeHEKKyAqICAgUG9pbnRlciB0byBSeCBxdWV1ZS4KICAqCiAgKiBA cmV0dXJuCiAgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyB2YWx1ZSBvdGhlcndp c2UgYW5kIHJ0ZV9lcnJubyBpcyBzZXQuCiAgKi8KIHN0YXRpYyBpbnQKLW1seDVfcnhxX2NyZWF0 ZV9kZXZ4X2NxX3Jlc291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwKLQkJCQkgIHN0cnVj dCBtbHg1X3J4cV9kYXRhICpyeHFfZGF0YSkKK21seDVfcnhxX2NyZWF0ZV9kZXZ4X2NxX3Jlc291 cmNlcyhzdHJ1Y3QgbWx4NV9yeHFfcHJpdiAqcnhxKQogewogCXN0cnVjdCBtbHg1X2RldnhfY3Eg KmNxX29iaiA9IDA7CiAJc3RydWN0IG1seDVfZGV2eF9jcV9hdHRyIGNxX2F0dHIgPSB7IDAgfTsK LQlzdHJ1Y3QgbWx4NV9wcml2ICpwcml2ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsKKwlzdHJ1 Y3QgbWx4NV9wcml2ICpwcml2ID0gcnhxLT5wcml2OwogCXN0cnVjdCBtbHg1X2Rldl9jdHhfc2hh cmVkICpzaCA9IHByaXYtPnNoOwotCXN0cnVjdCBtbHg1X3J4cV9jdHJsICpyeHFfY3RybCA9Ci0J CWNvbnRhaW5lcl9vZihyeHFfZGF0YSwgc3RydWN0IG1seDVfcnhxX2N0cmwsIHJ4cSk7CisJdWlu dDE2X3QgcG9ydF9pZCA9IHByaXYtPmRldl9kYXRhLT5wb3J0X2lkOworCXN0cnVjdCBtbHg1X3J4 cV9jdHJsICpyeHFfY3RybCA9IHJ4cS0+Y3RybDsKKwlzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhx X2RhdGEgPSAmcnhxX2N0cmwtPnJ4cTsKIAl1bnNpZ25lZCBpbnQgY3FlX24gPSBtbHg1X3J4cV9j cWVfbnVtKHJ4cV9kYXRhKTsKIAl1aW50MzJfdCBsb2dfY3FlX247CiAJdWludDE2X3QgZXZlbnRf bnVtc1sxXSA9IHsgMCB9OwpAQCAtNDk3LDM0ICs0NzgsMzIgQEAgbWx4NV9yeHFfZGV2eF9vYmpf bmV3KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBpZHgpCiAJCXRtcGwtPmZkID0g bWx4NV9vc19nZXRfZGV2eF9jaGFubmVsX2ZkKHRtcGwtPmRldnhfY2hhbm5lbCk7CiAJfQogCS8q IENyZWF0ZSBDUSB1c2luZyBEZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2 eF9jcV9yZXNvdXJjZXMoZGV2LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2Rl dnhfY3FfcmVzb3VyY2VzKHJ4cSk7CiAJaWYgKHJldCkgewogCQlEUlZfTE9HKEVSUiwgIkZhaWxl ZCB0byBjcmVhdGUgQ1EuIik7CiAJCWdvdG8gZXJyb3I7CiAJfQogCS8qIENyZWF0ZSBSUSB1c2lu ZyBEZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9ycV9yZXNvdXJjZXMo ZGV2LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfcnFfcmVzb3VyY2Vz KHJ4cSk7CiAJaWYgKHJldCkgewogCQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgUnggcXVldWUgJXUg UlEgY3JlYXRpb24gZmFpbHVyZS4iLAotCQkJZGV2LT5kYXRhLT5wb3J0X2lkLCBpZHgpOworCQkJ cHJpdi0+ZGV2X2RhdGEtPnBvcnRfaWQsIHJ4cS0+aWR4KTsKIAkJcnRlX2Vycm5vID0gRU5PTUVN OwogCQlnb3RvIGVycm9yOwogCX0KIAkvKiBDaGFuZ2UgcXVldWUgc3RhdGUgdG8gcmVhZHkuICov Ci0JcmV0ID0gbWx4NV9kZXZ4X21vZGlmeV9ycSh0bXBsLCBNTFg1X1JYUV9NT0RfUlNUMlJEWSk7 CisJcmV0ID0gbWx4NV9kZXZ4X21vZGlmeV9ycShyeHEsIE1MWDVfUlhRX01PRF9SU1QyUkRZKTsK IAlpZiAocmV0KQogCQlnb3RvIGVycm9yOwotCXJ4cV9kYXRhLT53cWVzID0gKHZvaWQgKikodWlu dHB0cl90KXRtcGwtPnJxX29iai53cS51bWVtX2J1ZjsKLQlyeHFfZGF0YS0+cnFfZGIgPSAodWlu dDMyX3QgKikodWludHB0cl90KXRtcGwtPnJxX29iai53cS5kYl9yZWM7Ci0JcnhxX2RhdGEtPmNx X2FybV9zbiA9IDA7Ci0JcnhxX2RhdGEtPmNxX2NpID0gMDsKKwlyeHFfZGF0YS0+d3FlcyA9ICh2 b2lkICopKHVpbnRwdHJfdClyeHEtPmRldnhfcnEud3EudW1lbV9idWY7CisJcnhxX2RhdGEtPnJx X2RiID0gKHVpbnQzMl90ICopKHVpbnRwdHJfdClyeHEtPmRldnhfcnEud3EuZGJfcmVjOwogCW1s eDVfcnhxX2luaXRpYWxpemUocnhxX2RhdGEpOwotCWRldi0+ZGF0YS0+cnhfcXVldWVfc3RhdGVb aWR4XSA9IFJURV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRDsKLQlyeHFfY3RybC0+d3FuID0gdG1w bC0+cnFfb2JqLnJxLT5pZDsKKwlwcml2LT5kZXZfZGF0YS0+cnhfcXVldWVfc3RhdGVbcnhxLT5p ZHhdID0gUlRFX0VUSF9RVUVVRV9TVEFURV9TVEFSVEVEOworCXJ4cV9jdHJsLT53cW4gPSByeHEt PmRldnhfcnEucnEtPmlkOwogCXJldHVybiAwOwogZXJyb3I6CiAJcmV0ID0gcnRlX2Vycm5vOyAv KiBTYXZlIHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8KLQltbHg1X3J4cV9kZXZ4X29ial9y ZWxlYXNlKHRtcGwpOworCW1seDVfcnhxX2Rldnhfb2JqX3JlbGVhc2UocnhxKTsKIAlydGVfZXJy bm8gPSByZXQ7IC8qIFJlc3RvcmUgcnRlX2Vycm5vLiAqLwogCXJldHVybiAtcnRlX2Vycm5vOwog fQpAQCAtNTcwLDE1ICs1NDksMTUgQEAgbWx4NV9kZXZ4X2luZF90YWJsZV9jcmVhdGVfcnF0X2F0 dHIoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCiAJcnF0X2F0dHItPnJxdF9hY3R1YWxfc2l6ZSA9 IHJxdF9uOwogCWlmIChxdWV1ZXMgPT0gTlVMTCkgewogCQlmb3IgKGkgPSAwOyBpIDwgcnF0X247 IGkrKykKLQkJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHEtPnJx LT5pZDsKKwkJCXJxdF9hdHRyLT5ycV9saXN0W2ldID0KKwkJCQkJcHJpdi0+ZHJvcF9xdWV1ZS5y eHEtPmRldnhfcnEucnEtPmlkOwogCQlyZXR1cm4gcnF0X2F0dHI7CiAJfQogCWZvciAoaSA9IDA7 IGkgIT0gcXVldWVzX247ICsraSkgewotCQlzdHJ1Y3QgbWx4NV9yeHFfZGF0YSAqcnhxID0gKCpw cml2LT5yeHFzKVtxdWV1ZXNbaV1dOwotCQlzdHJ1Y3QgbWx4NV9yeHFfY3RybCAqcnhxX2N0cmwg PQotCQkJCWNvbnRhaW5lcl9vZihyeHEsIHN0cnVjdCBtbHg1X3J4cV9jdHJsLCByeHEpOworCQlz dHJ1Y3QgbWx4NV9yeHFfcHJpdiAqcnhxID0gbWx4NV9yeHFfZ2V0KGRldiwgcXVldWVzW2ldKTsK IAotCQlycXRfYXR0ci0+cnFfbGlzdFtpXSA9IHJ4cV9jdHJsLT5vYmotPnJxX29iai5ycS0+aWQ7 CisJCU1MWDVfQVNTRVJUKHJ4cSAhPSBOVUxMKTsKKwkJcnF0X2F0dHItPnJxX2xpc3RbaV0gPSBy eHEtPmRldnhfcnEucnEtPmlkOwogCX0KIAlNTFg1X0FTU0VSVChpID4gMCk7CiAJZm9yIChqID0g MDsgaSAhPSBycXRfbjsgKytqLCArK2kpCkBAIC03MTcsNyArNjk2LDcgQEAgbWx4NV9kZXZ4X3Rp cl9hdHRyX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgY29uc3QgdWludDhfdCAqcnNzX2tl eSwKIAkJCX0KIAkJfQogCX0gZWxzZSB7Ci0JCXJ4cV9vYmpfdHlwZSA9IHByaXYtPmRyb3BfcXVl dWUucnhxLT5yeHFfY3RybC0+dHlwZTsKKwkJcnhxX29ial90eXBlID0gcHJpdi0+ZHJvcF9xdWV1 ZS5yeHEtPmN0cmwtPnR5cGU7CiAJfQogCW1lbXNldCh0aXJfYXR0ciwgMCwgc2l6ZW9mKCp0aXJf YXR0cikpOwogCXRpcl9hdHRyLT5kaXNwX3R5cGUgPSBNTFg1X1RJUkNfRElTUF9UWVBFX0lORElS RUNUOwpAQCAtODg5LDE2ICs4NjgsMjMgQEAgbWx4NV9yeHFfZGV2eF9vYmpfZHJvcF9jcmVhdGUo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpCiB7CiAJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGU7CiAJaW50IHNvY2tldF9pZCA9IGRldi0+ZGV2aWNlLT5udW1h X25vZGU7Ci0Jc3RydWN0IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJsOwotCXN0cnVjdCBtbHg1X3J4 cV9kYXRhICpyeHFfZGF0YTsKLQlzdHJ1Y3QgbWx4NV9yeHFfb2JqICpyeHEgPSBOVUxMOworCXN0 cnVjdCBtbHg1X3J4cV9wcml2ICpyeHE7CisJc3RydWN0IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJs ID0gTlVMTDsKKwlzdHJ1Y3QgbWx4NV9yeHFfb2JqICpyeHFfb2JqID0gTlVMTDsKIAlpbnQgcmV0 OwogCiAJLyoKLQkgKiBJbml0aWFsaXplIGR1bW15IGNvbnRyb2wgc3RydWN0dXJlcy4KKwkgKiBJ bml0aWFsaXplIGR1bW15IFJ4IHF1ZXVlIHN0cnVjdHVyZXMuCiAJICogVGhleSBhcmUgcmVxdWly ZWQgdG8gaG9sZCBwb2ludGVycyBmb3IgY2xlYW51cAogCSAqIGFuZCBhcmUgb25seSBhY2Nlc3Np YmxlIHZpYSBkcm9wIHF1ZXVlIERldlggb2JqZWN0cy4KIAkgKi8KKwlyeHEgPSBtbHg1X21hbGxv YyhNTFg1X01FTV9aRVJPLCBzaXplb2YoKnJ4cSksIDAsIHNvY2tldF9pZCk7CisJaWYgKHJ4cSA9 PSBOVUxMKSB7CisJCURSVl9MT0coRVJSLCAiUG9ydCAldSBjb3VsZCBub3QgYWxsb2NhdGUgZHJv cCBxdWV1ZSIsCisJCQlkZXYtPmRhdGEtPnBvcnRfaWQpOworCQlydGVfZXJybm8gPSBFTk9NRU07 CisJCWdvdG8gZXJyb3I7CisJfQogCXJ4cV9jdHJsID0gbWx4NV9tYWxsb2MoTUxYNV9NRU1fWkVS Tywgc2l6ZW9mKCpyeHFfY3RybCksCiAJCQkgICAgICAgMCwgc29ja2V0X2lkKTsKIAlpZiAocnhx X2N0cmwgPT0gTlVMTCkgewpAQCAtOTA3LDI3ICs4OTMsMjkgQEAgbWx4NV9yeHFfZGV2eF9vYmpf ZHJvcF9jcmVhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpCiAJCXJ0ZV9lcnJubyA9IEVOT01F TTsKIAkJZ290byBlcnJvcjsKIAl9Ci0JcnhxID0gbWx4NV9tYWxsb2MoTUxYNV9NRU1fWkVSTywg c2l6ZW9mKCpyeHEpLCAwLCBzb2NrZXRfaWQpOwotCWlmIChyeHEgPT0gTlVMTCkgeworCXJ4cV9v YmogPSBtbHg1X21hbGxvYyhNTFg1X01FTV9aRVJPLCBzaXplb2YoKnJ4cV9vYmopLCAwLCBzb2Nr ZXRfaWQpOworCWlmIChyeHFfb2JqID09IE5VTEwpIHsKIAkJRFJWX0xPRyhFUlIsICJQb3J0ICV1 IGNvdWxkIG5vdCBhbGxvY2F0ZSBkcm9wIHF1ZXVlIG9iamVjdCIsCiAJCQlkZXYtPmRhdGEtPnBv cnRfaWQpOwogCQlydGVfZXJybm8gPSBFTk9NRU07CiAJCWdvdG8gZXJyb3I7CiAJfQotCXJ4cS0+ cnhxX2N0cmwgPSByeHFfY3RybDsKKwlyeHEtPnByaXYgPSBwcml2OworCXJ4cS0+Y3RybCA9IHJ4 cV9jdHJsOworCUxJU1RfSU5TRVJUX0hFQUQoJnJ4cV9jdHJsLT5vd25lcnMsIHJ4cSwgb3duZXJf ZW50cnkpOworCXJ4cV9vYmotPnJ4cV9jdHJsID0gcnhxX2N0cmw7CiAJcnhxX2N0cmwtPnR5cGUg PSBNTFg1X1JYUV9UWVBFX1NUQU5EQVJEOwogCXJ4cV9jdHJsLT5zaCA9IHByaXYtPnNoOwotCXJ4 cV9jdHJsLT5vYmogPSByeHE7Ci0JcnhxX2RhdGEgPSAmcnhxX2N0cmwtPnJ4cTsKKwlyeHFfY3Ry bC0+b2JqID0gcnhxX29iajsKIAkvKiBDcmVhdGUgQ1EgdXNpbmcgRGV2WCBBUEkuICovCi0JcmV0 ID0gbWx4NV9yeHFfY3JlYXRlX2RldnhfY3FfcmVzb3VyY2VzKGRldiwgcnhxX2RhdGEpOworCXJl dCA9IG1seDVfcnhxX2NyZWF0ZV9kZXZ4X2NxX3Jlc291cmNlcyhyeHEpOwogCWlmIChyZXQgIT0g MCkgewogCQlEUlZfTE9HKEVSUiwgIlBvcnQgJXUgZHJvcCBxdWV1ZSBDUSBjcmVhdGlvbiBmYWls ZWQuIiwKIAkJCWRldi0+ZGF0YS0+cG9ydF9pZCk7CiAJCWdvdG8gZXJyb3I7CiAJfQogCS8qIENy ZWF0ZSBSUSB1c2luZyBEZXZYIEFQSS4gKi8KLQlyZXQgPSBtbHg1X3J4cV9jcmVhdGVfZGV2eF9y cV9yZXNvdXJjZXMoZGV2LCByeHFfZGF0YSk7CisJcmV0ID0gbWx4NV9yeHFfY3JlYXRlX2Rldnhf cnFfcmVzb3VyY2VzKHJ4cSk7CiAJaWYgKHJldCAhPSAwKSB7CiAJCURSVl9MT0coRVJSLCAiUG9y dCAldSBkcm9wIHF1ZXVlIFJRIGNyZWF0aW9uIGZhaWxlZC4iLAogCQkJZGV2LT5kYXRhLT5wb3J0 X2lkKTsKQEAgLTk0NCwxNSArOTMyLDE4IEBAIG1seDVfcnhxX2Rldnhfb2JqX2Ryb3BfY3JlYXRl KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQogZXJyb3I6CiAJcmV0ID0gcnRlX2Vycm5vOyAvKiBT YXZlIHJ0ZV9lcnJubyBiZWZvcmUgY2xlYW51cC4gKi8KIAlpZiAocnhxICE9IE5VTEwpIHsKLQkJ aWYgKHJ4cS0+cnFfb2JqLnJxICE9IE5VTEwpCi0JCQltbHg1X2RldnhfcnFfZGVzdHJveSgmcnhx LT5ycV9vYmopOwotCQlpZiAocnhxLT5jcV9vYmouY3EgIT0gTlVMTCkKLQkJCW1seDVfZGV2eF9j cV9kZXN0cm95KCZyeHEtPmNxX29iaik7Ci0JCWlmIChyeHEtPmRldnhfY2hhbm5lbCkKLQkJCW1s eDVfb3NfZGV2eF9kZXN0cm95X2V2ZW50X2NoYW5uZWwKLQkJCQkJCQkocnhxLT5kZXZ4X2NoYW5u ZWwpOworCQlpZiAocnhxLT5kZXZ4X3JxLnJxICE9IE5VTEwpCisJCQltbHg1X2RldnhfcnFfZGVz dHJveSgmcnhxLT5kZXZ4X3JxKTsKIAkJbWx4NV9mcmVlKHJ4cSk7CiAJfQorCWlmIChyeHFfb2Jq ICE9IE5VTEwpIHsKKwkJaWYgKHJ4cV9vYmotPmNxX29iai5jcSAhPSBOVUxMKQorCQkJbWx4NV9k ZXZ4X2NxX2Rlc3Ryb3koJnJ4cV9vYmotPmNxX29iaik7CisJCWlmIChyeHFfb2JqLT5kZXZ4X2No YW5uZWwpCisJCQltbHg1X29zX2RldnhfZGVzdHJveV9ldmVudF9jaGFubmVsCisJCQkJCQkJKHJ4 cV9vYmotPmRldnhfY2hhbm5lbCk7CisJCW1seDVfZnJlZShyeHFfb2JqKTsKKwl9CiAJaWYgKHJ4 cV9jdHJsICE9IE5VTEwpCiAJCW1seDVfZnJlZShyeHFfY3RybCk7CiAJcnRlX2Vycm5vID0gcmV0 OyAvKiBSZXN0b3JlIHJ0ZV9lcnJuby4gKi8KQEAgLTk2OSwxMiArOTYwLDE0IEBAIHN0YXRpYyB2 b2lkCiBtbHg1X3J4cV9kZXZ4X29ial9kcm9wX3JlbGVhc2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYpCiB7CiAJc3RydWN0IG1seDVfcHJpdiAqcHJpdiA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7 Ci0Jc3RydWN0IG1seDVfcnhxX29iaiAqcnhxID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHE7Ci0Jc3Ry dWN0IG1seDVfcnhxX2N0cmwgKnJ4cV9jdHJsID0gcnhxLT5yeHFfY3RybDsKKwlzdHJ1Y3QgbWx4 NV9yeHFfcHJpdiAqcnhxID0gcHJpdi0+ZHJvcF9xdWV1ZS5yeHE7CisJc3RydWN0IG1seDVfcnhx X2N0cmwgKnJ4cV9jdHJsID0gcnhxLT5jdHJsOworCXN0cnVjdCBtbHg1X3J4cV9vYmogKnJ4cV9v YmogPSByeHFfY3RybC0+b2JqOwogCiAJbWx4NV9yeHFfZGV2eF9vYmpfcmVsZWFzZShyeHEpOwog CW1seDVfZnJlZShyeHEpOwogCW1seDVfZnJlZShyeHFfY3RybCk7CisJbWx4NV9mcmVlKHJ4cV9v YmopOwogCXByaXYtPmRyb3BfcXVldWUucnhxID0gTlVMTDsKIH0KIApAQCAtOTk0LDcgKzk4Nyw3 IEBAIG1seDVfZGV2eF9kcm9wX2FjdGlvbl9kZXN0cm95KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 KQogCQltbHg1X2RldnhfdGlyX2Rlc3Ryb3koaHJ4cSk7CiAJaWYgKGhyeHEtPmluZF90YWJsZS0+ aW5kX3RhYmxlICE9IE5VTEwpCiAJCW1seDVfZGV2eF9pbmRfdGFibGVfZGVzdHJveShocnhxLT5p bmRfdGFibGUpOwotCWlmIChwcml2LT5kcm9wX3F1ZXVlLnJ4cS0+cnEgIT0gTlVMTCkKKwlpZiAo cHJpdi0+ZHJvcF9xdWV1ZS5yeHEgIT0gTlVMTCkKIAkJbWx4NV9yeHFfZGV2eF9vYmpfZHJvcF9y ZWxlYXNlKGRldik7CiB9CiAKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9t bHg1X3ZlcmJzLmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV92ZXJicy5j OiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21s eDUuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDUuaC4uLgplcnJvcjog ZHJpdmVycy9uZXQvbWx4NS9tbHg1Lmg6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9kZXZ4LmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21s eDUvbWx4NV9kZXZ4LmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZl cnMvbmV0L21seDUvbWx4NV9ldGhkZXYuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9t bHg1L21seDVfZmxvdy5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgogKiAgIDAgb24g c3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyBjb2RlIG9uIGVycm9yLgogKi8Kc3RhdGljIGludApt bHg1X3ZhbGlkYXRlX3Jzc19xdWV1ZXMoY29uc3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCgkJ CSBjb25zdCB1aW50MTZfdCAqcXVldWVzLCB1aW50MzJfdCBxdWV1ZXNfbiwKCQkJIGNvbnN0IGNo YXIgKiplcnJvciwgdWludDMyX3QgKnF1ZXVlX2lkeCkKewoKZXJyb3I6IHBhdGNoIGZhaWxlZDog ZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoxNTc4CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcg Zm9yOgoJCQkqcXVldWVfaWR4ID0gaTsKCQkJcmV0dXJuIC1FSU5WQUw7CgkJfQoJCWlmICghKCpw cml2LT5yeHFzKVtxdWV1ZXNbaV1dKSB7CgkJCSplcnJvciA9ICAicXVldWUgaXMgbm90IGNvbmZp Z3VyZWQiOwoJCQkqcXVldWVfaWR4ID0gaTsKCQkJcmV0dXJuIC1FSU5WQUw7CgkJfQoJCXJ4cV9j dHJsID0gY29udGFpbmVyX29mKCgqcHJpdi0+cnhxcylbcXVldWVzW2ldXSwKCQkJCQlzdHJ1Y3Qg bWx4NV9yeHFfY3RybCwgcnhxKTsKCQlpZiAoaSA9PSAwKQoJCQlyeHFfdHlwZSA9IHJ4cV9jdHJs LT50eXBlOwoJCWlmIChyeHFfdHlwZSAhPSByeHFfY3RybC0+dHlwZSkgewoKZXJyb3I6IHBhdGNo IGZhaWxlZDogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYzoxNTk0CkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yc3MuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25l dC9tbHg1L21seDVfcnguYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmM6IGRv ZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9y eC5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnguaDogZG9lcyBub3QgbWF0Y2gg aW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4cS5jLi4uCmVycm9y OiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4X3ZlYy5jLi4uCmVycm9yOiBkcml2 ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWMuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3N0YXRzLmMuLi4KQ2hlY2tpbmcgcGF0Y2gg ZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4 NS9tbHg1X3RyaWdnZXIuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQXBwbGllZCBwYXRjaCBkcml2 ZXJzL25ldC9tbHg1L21seDUuYyBjbGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21s eDUvbWx4NV9ldGhkZXYuYyBjbGVhbmx5LgpBcHBseWluZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1 L21seDVfZmxvdy5jIHdpdGggMiByZWplY3RzLi4uCkh1bmsgIzEgYXBwbGllZCBjbGVhbmx5LgpI dW5rICMyIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzQg YXBwbGllZCBjbGVhbmx5LgpIdW5rICM1IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAj Ni4KUmVqZWN0ZWQgaHVuayAjNy4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVf cnNzLmMgY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfc3RhdHMu YyBjbGVhbmx5LgpkaWZmIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYyBiL2RyaXZlcnMv bmV0L21seDUvbWx4NV9mbG93LmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtMTU3OCw3ICsxNTgwLDcg QEAgbWx4NV9mbG93X3ZhbGlkYXRlX2FjdGlvbl9xdWV1ZShjb25zdCBzdHJ1Y3QgcnRlX2Zsb3df YWN0aW9uICphY3Rpb24sCiAgKiAgIDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBlcnJubyBjb2Rl IG9uIGVycm9yLgogICovCiBzdGF0aWMgaW50Ci1tbHg1X3ZhbGlkYXRlX3Jzc19xdWV1ZXMoY29u c3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCittbHg1X3ZhbGlkYXRlX3Jzc19xdWV1ZXMoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCiAJCQkgY29uc3QgdWludDE2X3QgKnF1ZXVlcywgdWludDMy X3QgcXVldWVzX24sCiAJCQkgY29uc3QgY2hhciAqKmVycm9yLCB1aW50MzJfdCAqcXVldWVfaWR4 KQogewpAQCAtMTU5NCwxMyArMTU5NiwxMiBAQCBtbHg1X3ZhbGlkYXRlX3Jzc19xdWV1ZXMoY29u c3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsCiAJCQkqcXVldWVfaWR4ID0gaTsKIAkJCXJldHVy biAtRUlOVkFMOwogCQl9Ci0JCWlmICghKCpwcml2LT5yeHFzKVtxdWV1ZXNbaV1dKSB7CisJCXJ4 cV9jdHJsID0gbWx4NV9yeHFfY3RybF9nZXQoZGV2LCBxdWV1ZXNbaV0pOworCQlpZiAocnhxX2N0 cmwgPT0gTlVMTCkgewogCQkJKmVycm9yID0gICJxdWV1ZSBpcyBub3QgY29uZmlndXJlZCI7CiAJ CQkqcXVldWVfaWR4ID0gaTsKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9Ci0JCXJ4cV9jdHJsID0g Y29udGFpbmVyX29mKCgqcHJpdi0+cnhxcylbcXVldWVzW2ldXSwKLQkJCQkJc3RydWN0IG1seDVf cnhxX2N0cmwsIHJ4cSk7CiAJCWlmIChpID09IDApCiAJCQlyeHFfdHlwZSA9IHJ4cV9jdHJsLT50 eXBlOwogCQlpZiAocnhxX3R5cGUgIT0gcnhxX2N0cmwtPnR5cGUpIHsKQ2hlY2tpbmcgcGF0Y2gg ZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL21seDUuaW5pLi4uCkNoZWNraW5nIHBhdGNoIGRvYy9n dWlkZXMvbmljcy9tbHg1LnJzdC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xp bnV4L21seDVfb3MuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21s eDVfdmVyYnMuYy4uLgplcnJvcjogZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X3ZlcmJzLmM6 IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NS5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDUuaDogZG9lcyBub3QgbWF0Y2ggaW5k ZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYy4uLgplcnJvcjog ZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2V0aGRldi5jLi4uCmVycm9yOiBkcml2ZXJz L25ldC9tbHg1L21seDVfZXRoZGV2LmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1 L21seDVfcnguaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvbWx4NS9tbHg1X3J4cS5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmM6 IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4 NV90cmlnZ2VyLmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbWx4NV90cmlnZ2VyLmM6IGRv ZXMgbm90IG1hdGNoIGluZGV4CkFwcGxpZWQgcGF0Y2ggZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVz L21seDUuaW5pIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZG9jL2d1aWRlcy9uaWNzL21seDUucnN0 IGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29zLmMg Y2xlYW5seS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYy4uLgpl cnJvcjogZHJpdmVycy9uZXQvbWx4NS9tbHg1X2RldnguYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgK Q2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMuLi4KZXJyb3I6IGRyaXZl cnMvbmV0L21seDUvbWx4NV9yeC5jOiBkb2VzIG5vdCBtYXRjaCBpbmRleApDaGVja2luZyBwYXRj aCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhxLmMuLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUv bWx4NV9yeHEuYzogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9u ZXQvbWx4NS9tbHg1X3J4dHhfdmVjX2FsdGl2ZWMuaC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJz L25ldC9tbHg1L21seDVfcnh0eF92ZWNfbmVvbi5oLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMv bmV0L21seDUvbWx4NV9yeHR4X3ZlY19zc2UuaC4uLgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0 L21seDUvbWx4NV9yeHR4X3ZlY19hbHRpdmVjLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2 ZXJzL25ldC9tbHg1L21seDVfcnh0eF92ZWNfbmVvbi5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2gg ZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4dHhfdmVjX3NzZS5oIGNsZWFubHkuCgpodHRwczovL2xh Yi5kcGRrLm9yZy9yZXN1bHRzL2Rhc2hib2FyZC9wYXRjaHNldHMvMTk0NzEvCgpVTkgtSU9MIERQ REsgQ29tbXVuaXR5IExhYgo= --===============4286135409125778093==--