From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 072531FF165 for <inbox@lore.proxmox.com>; Thu, 10 Apr 2025 15:08:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 95B293C3F3; Thu, 10 Apr 2025 15:08:44 +0200 (CEST) From: Stoiko Ivanov <s.ivanov@proxmox.com> To: pve-devel@lists.proxmox.com Date: Thu, 10 Apr 2025 15:08:34 +0200 Message-Id: <20250410130834.1745644-1-s.ivanov@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.062 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LOTSOFHASH 0.25 Emails with lots of hash-like gibberish RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH pve-kernel] cherry-pick fixes for AMD Epyc genua systems X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> Ym90aCBwYXRjaGVzIGFyZSBxdWV1ZWQgZm9yIDYuMTQuMjoKaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvYWxsLzIwMjUwNDA5MTE1OTM0Ljk2ODE0MTg4NkBsaW51eGZvdW5kYXRpb24ub3JnLwppc3N1 ZSB3YXMgcmVwb3J0ZWQgaW4gb3VyIGNvbW11bml0eSBmb3J1bToKaHR0cHM6Ly9mb3J1bS5wcm94 bW94LmNvbS90aHJlYWRzLy4xNjQ0OTcvcG9zdC03NjI2MTcKCmFzIHdlIGhhdmUgYWNjZXNzIHRv IGEgc2VydmVyIHdoZXJlIHdlIGNvdWxkIHJlcHJvZHVjZSB0aGUgaXNzdWUKKGNyYXNoK2xvb3As IGJlZm9yZSB0aGUgc3lzdGVtIHdhcyB1cFswXSkgSSB0ZXN0ZWQgd2l0aCB0aG9zZSAyCmEga2Vy bmVsIHdpdGggdGhvc2UgMiBwYXRjaGVzIGFwcGxpZWQgLSBhbmQgdGhlIHN5c3RlbSBib290ZWQK c3VjY2Vzc2Z1bGx5LgoKRldJVzogSSB0cmllZCBidWlsZGluZyB3aXRoIHRoZSBvcmlnaW5hbCBz ZXJpZXMgYXMgd2VsbCAoY29udGFpbmluZyBhCnJlbW92YWwgb2Ygc29tZSBQQ0ktaWRzKSwgYW5k IGl0IGFsc28gcmVzb2x2ZWQgdGhlIGlzc3VlOgpodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwv MjAyNTAyMDMxNjI1MTEuOTExOTQ2LTEtQmFzYXZhcmFqLk5hdGlrYXJAYW1kLmNvbS8KClswXSBi ZWZvcmUgcHJveG1veC1ib290LWNsZWFudXAuc2VydmljZSAoc28gcGlubmluZyB3aXRoIC0tbmV4 dC1ib290CmRpZCBub3QgaGVscCkKClNpZ25lZC1vZmYtYnk6IFN0b2lrbyBJdmFub3YgPHMuaXZh bm92QHByb3htb3guY29tPgotLS0KIC4uLi1Vc2UtdGhlLU1TSS1jb3VudC1hbmQtaXRzLWNvcnJl c3Bvbi5wYXRjaCB8ICAzMSArKysKIC4uLlV0aWxpemUtdGhlLUFFNERNQS1lbmdpbmUtcy1tdWx0 aS1xdS5wYXRjaCB8IDIwMSArKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjMy IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2tlcm5lbC8wMDE0LWRt YWVuZ2luZS1hZTRkbWEtVXNlLXRoZS1NU0ktY291bnQtYW5kLWl0cy1jb3JyZXNwb24ucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2tlcm5lbC8wMDE1LWRtYWVuZ2luZS1wdGRtYS1V dGlsaXplLXRoZS1BRTRETUEtZW5naW5lLXMtbXVsdGktcXUucGF0Y2gKCmRpZmYgLS1naXQgYS9w YXRjaGVzL2tlcm5lbC8wMDE0LWRtYWVuZ2luZS1hZTRkbWEtVXNlLXRoZS1NU0ktY291bnQtYW5k LWl0cy1jb3JyZXNwb24ucGF0Y2ggYi9wYXRjaGVzL2tlcm5lbC8wMDE0LWRtYWVuZ2luZS1hZTRk bWEtVXNlLXRoZS1NU0ktY291bnQtYW5kLWl0cy1jb3JyZXNwb24ucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hMzE2NzYyNzNhOTgKLS0tIC9kZXYvbnVsbAor KysgYi9wYXRjaGVzL2tlcm5lbC8wMDE0LWRtYWVuZ2luZS1hZTRkbWEtVXNlLXRoZS1NU0ktY291 bnQtYW5kLWl0cy1jb3JyZXNwb24ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogQmFzYXZhcmFqIE5hdGlrYXIgPEJhc2F2YXJhai5OYXRpa2FyQGFtZC5jb20+CitE YXRlOiBNb24sIDMgRmViIDIwMjUgMjE6NTU6MTAgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gZG1h ZW5naW5lOiBhZTRkbWE6IFVzZSB0aGUgTVNJIGNvdW50IGFuZCBpdHMgY29ycmVzcG9uZGluZwor IElSUSBudW1iZXIKKworSW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmaW5lZCBtYXhpbXVtIGhhcmR3 YXJlIHF1ZXVlLCB3aGljaCBjYW4gbGVhZCB0bworaW5jb3JyZWN0IHZhbHVlcyBpZiB0aGUgY291 bnRzIG1pc21hdGNoLCB1c2UgdGhlIGV4YWN0IHN1cHBvcnRlZCBNU0kKK2NvdW50IGFuZCBpdHMg Y29ycmVzcG9uZGluZyBJUlEgbnVtYmVyLgorCitGaXhlczogOTBhMzBlMjY4ZDliICgiZG1hZW5n aW5lOiBhZTRkbWE6IEFkZCBBTUQgYWU0ZG1hIGNvbnRyb2xsZXIgZHJpdmVyIikKK1NpZ25lZC1v ZmYtYnk6IEJhc2F2YXJhaiBOYXRpa2FyIDxCYXNhdmFyYWouTmF0aWthckBhbWQuY29tPgorLS0t CisgZHJpdmVycy9kbWEvYW1kL2FlNGRtYS9hZTRkbWEtcGNpLmMgfCA0ICsrLS0KKyAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv ZHJpdmVycy9kbWEvYW1kL2FlNGRtYS9hZTRkbWEtcGNpLmMgYi9kcml2ZXJzL2RtYS9hbWQvYWU0 ZG1hL2FlNGRtYS1wY2kuYworaW5kZXggYWFkMGRjNDI5NGEzOTQ1MjQ1NzM3OTc4YzA3N2VlY2Y3 NDBjY2IzYS4uNTg3YzVhMTBjMWE4YjJkYmI5MjVjMzFhZjg2YjFkMGIyMzQzOGI0NSAxMDA2NDQK Ky0tLSBhL2RyaXZlcnMvZG1hL2FtZC9hZTRkbWEvYWU0ZG1hLXBjaS5jCisrKysgYi9kcml2ZXJz L2RtYS9hbWQvYWU0ZG1hL2FlNGRtYS1wY2kuYworQEAgLTQ2LDggKzQ2LDggQEAgc3RhdGljIGlu dCBhZTRfZ2V0X2lycXMoc3RydWN0IGFlNF9kZXZpY2UgKmFlNCkKKyAKKyAJfSBlbHNlIHsKKyAJ CWFlNF9tc2l4LT5tc2l4X2NvdW50ID0gcmV0OworLQkJZm9yIChpID0gMDsgaSA8IE1BWF9BRTRf SFdfUVVFVUVTOyBpKyspCistCQkJYWU0LT5hZTRfaXJxW2ldID0gYWU0X21zaXgtPm1zaXhfZW50 cnlbaV0udmVjdG9yOworKwkJZm9yIChpID0gMDsgaSA8IGFlNF9tc2l4LT5tc2l4X2NvdW50OyBp KyspCisrCQkJYWU0LT5hZTRfaXJxW2ldID0gcGNpX2lycV92ZWN0b3IocGRldiwgaSk7CisgCX0K KyAKKyAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL3BhdGNoZXMva2VybmVsLzAwMTUtZG1hZW5n aW5lLXB0ZG1hLVV0aWxpemUtdGhlLUFFNERNQS1lbmdpbmUtcy1tdWx0aS1xdS5wYXRjaCBiL3Bh dGNoZXMva2VybmVsLzAwMTUtZG1hZW5naW5lLXB0ZG1hLVV0aWxpemUtdGhlLUFFNERNQS1lbmdp bmUtcy1tdWx0aS1xdS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLmM1OWQ2OTczODc3OQotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMva2VybmVsLzAwMTUt ZG1hZW5naW5lLXB0ZG1hLVV0aWxpemUtdGhlLUFFNERNQS1lbmdpbmUtcy1tdWx0aS1xdS5wYXRj aApAQCAtMCwwICsxLDIwMSBAQAorRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmFzYXZhcmFqIE5hdGlr YXIgPEJhc2F2YXJhai5OYXRpa2FyQGFtZC5jb20+CitEYXRlOiBNb24sIDMgRmViIDIwMjUgMjE6 NTU6MTEgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gZG1hZW5naW5lOiBwdGRtYTogVXRpbGl6ZSB0 aGUgQUU0RE1BIGVuZ2luZSdzIG11bHRpLXF1ZXVlCisgZnVuY3Rpb25hbGl0eQorTUlNRS1WZXJz aW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitBcyBBRTRETUEgb2ZmZXJzIG11bHRpLWNoYW5u ZWwgZnVuY3Rpb25hbGl0eSBjb21wYXJlZCB0byBQVERNQeKAmXMgc2luZ2xlCitxdWV1ZSwgdXRp bGl6ZSBtdWx0aS1xdWV1ZSwgd2hpY2ggc3VwcG9ydHMgaGlnaGVyIHNwZWVkcyB0aGFuIFBURE1B LCB0bworYWNoaWV2ZSBoaWdoZXIgcGVyZm9ybWFuY2UgdXNpbmcgdGhlIEFFNERNQSB3b3JrcXVl dWUgYmFzZWQgbWVjaGFuaXNtLgorCitGaXhlczogNjlhNDdiMTZhNTFiICgiZG1hZW5naW5lOiBw dGRtYTogRXh0ZW5kIHB0ZG1hIHRvIHN1cHBvcnQgbXVsdGktY2hhbm5lbCBhbmQgdmVyc2lvbiIp CitTaWduZWQtb2ZmLWJ5OiBCYXNhdmFyYWogTmF0aWthciA8QmFzYXZhcmFqLk5hdGlrYXJAYW1k LmNvbT4KKy0tLQorIGRyaXZlcnMvZG1hL2FtZC9hZTRkbWEvYWU0ZG1hLmggICAgICAgICB8ICAy ICsKKyBkcml2ZXJzL2RtYS9hbWQvcHRkbWEvcHRkbWEtZG1hZW5naW5lLmMgfCA5MCArKysrKysr KysrKysrKysrKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvYW1kL2FlNGRtYS9hZTRk bWEuaCBiL2RyaXZlcnMvZG1hL2FtZC9hZTRkbWEvYWU0ZG1hLmgKK2luZGV4IDI2NWM1ZDQzNjAw ODBkNmEwY2M3N2YyYmFiNTA3ZmRlNzYxZDU0NjEuLjU3ZjYwNDg3MjZiYjY4ZGEwM2UxNDVkMGM2 OWY0YmRjZDQwMTJjNmYgMTAwNjQ0CistLS0gYS9kcml2ZXJzL2RtYS9hbWQvYWU0ZG1hL2FlNGRt YS5oCisrKysgYi9kcml2ZXJzL2RtYS9hbWQvYWU0ZG1hL2FlNGRtYS5oCitAQCAtMzcsNiArMzcs OCBAQAorICNkZWZpbmUgQUU0X0RNQV9WRVJTSU9OCQkJNAorICNkZWZpbmUgQ01EX0FFNF9ERVND X0RXMF9WQUwJCTIKKyAKKysjZGVmaW5lIEFFNF9USU1FX09VVAkJCTUwMDAKKysKKyBzdHJ1Y3Qg YWU0X21zaXggeworIAlpbnQgbXNpeF9jb3VudDsKKyAJc3RydWN0IG1zaXhfZW50cnkgbXNpeF9l bnRyeVtNQVhfQUU0X0hXX1FVRVVFU107CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvYW1kL3B0 ZG1hL3B0ZG1hLWRtYWVuZ2luZS5jIGIvZHJpdmVycy9kbWEvYW1kL3B0ZG1hL3B0ZG1hLWRtYWVu Z2luZS5jCitpbmRleCAzNWM4NGVjOTYwOGI0ZmQxMTk5NzJlM2NkOWFiZWRmODE4ZGZmNzQzLi43 MTVhYzNhZTA2N2I4NTc4MzBkYjg1ZTE3MDc4N2UzMGYzYWU2YjFkIDEwMDY0NAorLS0tIGEvZHJp dmVycy9kbWEvYW1kL3B0ZG1hL3B0ZG1hLWRtYWVuZ2luZS5jCisrKysgYi9kcml2ZXJzL2RtYS9h bWQvcHRkbWEvcHRkbWEtZG1hZW5naW5lLmMKK0BAIC0xOTgsOCArMTk4LDEwIEBAIHN0YXRpYyBz dHJ1Y3QgcHRfZG1hX2Rlc2MgKnB0X2hhbmRsZV9hY3RpdmVfZGVzYyhzdHJ1Y3QgcHRfZG1hX2No YW4gKmNoYW4sCisgeworIAlzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKnR4X2Rlc2M7 CisgCXN0cnVjdCB2aXJ0X2RtYV9kZXNjICp2ZDsKKysJc3RydWN0IHB0X2RldmljZSAqcHQ7Cisg CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisgCisrCXB0ID0gY2hhbi0+cHQ7CisgCS8qIExvb3Agb3Zl ciBkZXNjcmlwdG9ycyB1bnRpbCBvbmUgaXMgZm91bmQgd2l0aCBjb21tYW5kcyAqLworIAlkbyB7 CisgCQlpZiAoZGVzYykgeworQEAgLTIxNyw3ICsyMTksNyBAQCBzdGF0aWMgc3RydWN0IHB0X2Rt YV9kZXNjICpwdF9oYW5kbGVfYWN0aXZlX2Rlc2Moc3RydWN0IHB0X2RtYV9jaGFuICpjaGFuLAor IAorIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmNoYW4tPnZjLmxvY2ssIGZsYWdzKTsKKyAKKy0JCWlm IChkZXNjKSB7CisrCQlpZiAocHQtPnZlciAhPSBBRTRfRE1BX1ZFUlNJT04gJiYgZGVzYykgewor IAkJCWlmIChkZXNjLT5zdGF0dXMgIT0gRE1BX0NPTVBMRVRFKSB7CisgCQkJCWlmIChkZXNjLT5z dGF0dXMgIT0gRE1BX0VSUk9SKQorIAkJCQkJZGVzYy0+c3RhdHVzID0gRE1BX0NPTVBMRVRFOwor QEAgLTIzNSw3ICsyMzcsNyBAQCBzdGF0aWMgc3RydWN0IHB0X2RtYV9kZXNjICpwdF9oYW5kbGVf YWN0aXZlX2Rlc2Moc3RydWN0IHB0X2RtYV9jaGFuICpjaGFuLAorIAorIAkJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmY2hhbi0+dmMubG9jaywgZmxhZ3MpOworIAorLQkJaWYgKHR4X2Rlc2MpIHsK KysJCWlmIChwdC0+dmVyICE9IEFFNF9ETUFfVkVSU0lPTiAmJiB0eF9kZXNjKSB7CisgCQkJZG1h ZW5naW5lX2Rlc2NfZ2V0X2NhbGxiYWNrX2ludm9rZSh0eF9kZXNjLCBOVUxMKTsKKyAJCQlkbWFf cnVuX2RlcGVuZGVuY2llcyh0eF9kZXNjKTsKKyAJCQl2Y2hhbl92ZGVzY19maW5pKHZkKTsKK0BA IC0yNDUsMTEgKzI0NywyNSBAQCBzdGF0aWMgc3RydWN0IHB0X2RtYV9kZXNjICpwdF9oYW5kbGVf YWN0aXZlX2Rlc2Moc3RydWN0IHB0X2RtYV9jaGFuICpjaGFuLAorIAlyZXR1cm4gTlVMTDsKKyB9 CisgCisrc3RhdGljIGlubGluZSBib29sIGFlNF9jb3JlX3F1ZXVlX2Z1bGwoc3RydWN0IHB0X2Nt ZF9xdWV1ZSAqY21kX3EpCisreworKwl1MzIgZnJvbnRfd2kgPSByZWFkbChjbWRfcS0+cmVnX2Nv bnRyb2wgKyBBRTRfV1JfSURYX09GRik7CisrCXUzMiByZWFyX3JpID0gcmVhZGwoY21kX3EtPnJl Z19jb250cm9sICsgQUU0X1JEX0lEWF9PRkYpOworKworKwlpZiAoKChNQVhfQ01EX1FMRU4gKyBm cm9udF93aSAtIHJlYXJfcmkpICUgTUFYX0NNRF9RTEVOKSAgPj0gKE1BWF9DTURfUUxFTiAtIDEp KQorKwkJcmV0dXJuIHRydWU7CisrCisrCXJldHVybiBmYWxzZTsKKyt9CisrCisgc3RhdGljIHZv aWQgcHRfY21kX2NhbGxiYWNrKHZvaWQgKmRhdGEsIGludCBlcnIpCisgeworIAlzdHJ1Y3QgcHRf ZG1hX2Rlc2MgKmRlc2MgPSBkYXRhOworKwlzdHJ1Y3QgYWU0X2NtZF9xdWV1ZSAqYWU0Y21kX3E7 CisgCXN0cnVjdCBkbWFfY2hhbiAqZG1hX2NoYW47CisgCXN0cnVjdCBwdF9kbWFfY2hhbiAqY2hh bjsKKysJc3RydWN0IGFlNF9kZXZpY2UgKmFlNDsKKysJc3RydWN0IHB0X2RldmljZSAqcHQ7Cisg CWludCByZXQ7CisgCisgCWlmIChlcnIgPT0gLUVJTlBST0dSRVNTKQorQEAgLTI1NywxMSArMjcz LDMyIEBAIHN0YXRpYyB2b2lkIHB0X2NtZF9jYWxsYmFjayh2b2lkICpkYXRhLCBpbnQgZXJyKQor IAorIAlkbWFfY2hhbiA9IGRlc2MtPnZkLnR4LmNoYW47CisgCWNoYW4gPSB0b19wdF9jaGFuKGRt YV9jaGFuKTsKKysJcHQgPSBjaGFuLT5wdDsKKyAKKyAJaWYgKGVycikKKyAJCWRlc2MtPnN0YXR1 cyA9IERNQV9FUlJPUjsKKyAKKyAJd2hpbGUgKHRydWUpIHsKKysJCWlmIChwdC0+dmVyID09IEFF NF9ETUFfVkVSU0lPTikgeworKwkJCWFlNCA9IGNvbnRhaW5lcl9vZihwdCwgc3RydWN0IGFlNF9k ZXZpY2UsIHB0KTsKKysJCQlhZTRjbWRfcSA9ICZhZTQtPmFlNGNtZF9xW2NoYW4tPmlkXTsKKysK KysJCQlpZiAoYWU0Y21kX3EtPnFfY21kX2NvdW50ID49IChDTURfUV9MRU4gLSAxKSB8fAorKwkJ CSAgICBhZTRfY29yZV9xdWV1ZV9mdWxsKCZhZTRjbWRfcS0+Y21kX3EpKSB7CisrCQkJCXdha2Vf dXAoJmFlNGNtZF9xLT5xX3cpOworKworKwkJCQlpZiAod2FpdF9mb3JfY29tcGxldGlvbl90aW1l b3V0KCZhZTRjbWRfcS0+Y21wLAorKwkJCQkJCQkJbXNlY3NfdG9famlmZmllcyhBRTRfVElNRV9P VVQpKQorKwkJCQkJCQkJPT0gMCkgeworKwkJCQkJZGV2X2VycihwdC0+ZGV2LCAiVElNRU9VVCAl ZDpcbiIsIGFlNGNtZF9xLT5pZCk7CisrCQkJCQlicmVhazsKKysJCQkJfQorKworKwkJCQlyZWlu aXRfY29tcGxldGlvbigmYWU0Y21kX3EtPmNtcCk7CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJ CX0KKysKKyAJCS8qIENoZWNrIGZvciBETUEgZGVzY3JpcHRvciBjb21wbGV0aW9uICovCisgCQlk ZXNjID0gcHRfaGFuZGxlX2FjdGl2ZV9kZXNjKGNoYW4sIGRlc2MpOworIAorQEAgLTI5Niw2ICsz MzMsNDkgQEAgc3RhdGljIHN0cnVjdCBwdF9kbWFfZGVzYyAqcHRfYWxsb2NfZG1hX2Rlc2Moc3Ry dWN0IHB0X2RtYV9jaGFuICpjaGFuLAorIAlyZXR1cm4gZGVzYzsKKyB9CisgCisrc3RhdGljIHZv aWQgcHRfY21kX2NhbGxiYWNrX3dvcmsodm9pZCAqZGF0YSwgaW50IGVycikKKyt7CisrCXN0cnVj dCBkbWFfYXN5bmNfdHhfZGVzY3JpcHRvciAqdHhfZGVzYzsKKysJc3RydWN0IHB0X2RtYV9kZXNj ICpkZXNjID0gZGF0YTsKKysJc3RydWN0IGRtYV9jaGFuICpkbWFfY2hhbjsKKysJc3RydWN0IHZp cnRfZG1hX2Rlc2MgKnZkOworKwlzdHJ1Y3QgcHRfZG1hX2NoYW4gKmNoYW47CisrCXVuc2lnbmVk IGxvbmcgZmxhZ3M7CisrCisrCWRtYV9jaGFuID0gZGVzYy0+dmQudHguY2hhbjsKKysJY2hhbiA9 IHRvX3B0X2NoYW4oZG1hX2NoYW4pOworKworKwlpZiAoZXJyID09IC1FSU5QUk9HUkVTUykKKysJ CXJldHVybjsKKysKKysJdHhfZGVzYyA9ICZkZXNjLT52ZC50eDsKKysJdmQgPSAmZGVzYy0+dmQ7 CisrCisrCWlmIChlcnIpCisrCQlkZXNjLT5zdGF0dXMgPSBETUFfRVJST1I7CisrCisrCXNwaW5f bG9ja19pcnFzYXZlKCZjaGFuLT52Yy5sb2NrLCBmbGFncyk7CisrCWlmIChkZXNjKSB7CisrCQlp ZiAoZGVzYy0+c3RhdHVzICE9IERNQV9DT01QTEVURSkgeworKwkJCWlmIChkZXNjLT5zdGF0dXMg IT0gRE1BX0VSUk9SKQorKwkJCQlkZXNjLT5zdGF0dXMgPSBETUFfQ09NUExFVEU7CisrCisrCQkJ ZG1hX2Nvb2tpZV9jb21wbGV0ZSh0eF9kZXNjKTsKKysJCQlkbWFfZGVzY3JpcHRvcl91bm1hcCh0 eF9kZXNjKTsKKysJCX0gZWxzZSB7CisrCQkJdHhfZGVzYyA9IE5VTEw7CisrCQl9CisrCX0KKysJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hhbi0+dmMubG9jaywgZmxhZ3MpOworKworKwlpZiAo dHhfZGVzYykgeworKwkJZG1hZW5naW5lX2Rlc2NfZ2V0X2NhbGxiYWNrX2ludm9rZSh0eF9kZXNj LCBOVUxMKTsKKysJCWRtYV9ydW5fZGVwZW5kZW5jaWVzKHR4X2Rlc2MpOworKwkJbGlzdF9kZWwo JmRlc2MtPnZkLm5vZGUpOworKwkJdmNoYW5fdmRlc2NfZmluaSh2ZCk7CisrCX0KKyt9CisrCisg c3RhdGljIHN0cnVjdCBwdF9kbWFfZGVzYyAqcHRfY3JlYXRlX2Rlc2Moc3RydWN0IGRtYV9jaGFu ICpkbWFfY2hhbiwKKyAJCQkJCSAgZG1hX2FkZHJfdCBkc3QsCisgCQkJCQkgIGRtYV9hZGRyX3Qg c3JjLAorQEAgLTMyNyw2ICs0MDcsNyBAQCBzdGF0aWMgc3RydWN0IHB0X2RtYV9kZXNjICpwdF9j cmVhdGVfZGVzYyhzdHJ1Y3QgZG1hX2NoYW4gKmRtYV9jaGFuLAorIAlkZXNjLT5sZW4gPSBsZW47 CisgCisgCWlmIChwdC0+dmVyID09IEFFNF9ETUFfVkVSU0lPTikgeworKwkJcHRfY21kLT5wdF9j bWRfY2FsbGJhY2sgPSBwdF9jbWRfY2FsbGJhY2tfd29yazsKKyAJCWFlNCA9IGNvbnRhaW5lcl9v ZihwdCwgc3RydWN0IGFlNF9kZXZpY2UsIHB0KTsKKyAJCWFlNGNtZF9xID0gJmFlNC0+YWU0Y21k X3FbY2hhbi0+aWRdOworIAkJbXV0ZXhfbG9jaygmYWU0Y21kX3EtPmNtZF9sb2NrKTsKK0BAIC0z NjcsMTMgKzQ0OCwxNiBAQCBzdGF0aWMgdm9pZCBwdF9pc3N1ZV9wZW5kaW5nKHN0cnVjdCBkbWFf Y2hhbiAqZG1hX2NoYW4pCisgeworIAlzdHJ1Y3QgcHRfZG1hX2NoYW4gKmNoYW4gPSB0b19wdF9j aGFuKGRtYV9jaGFuKTsKKyAJc3RydWN0IHB0X2RtYV9kZXNjICpkZXNjOworKwlzdHJ1Y3QgcHRf ZGV2aWNlICpwdDsKKyAJdW5zaWduZWQgbG9uZyBmbGFnczsKKyAJYm9vbCBlbmdpbmVfaXNfaWRs ZSA9IHRydWU7CisgCisrCXB0ID0gY2hhbi0+cHQ7CisrCisgCXNwaW5fbG9ja19pcnFzYXZlKCZj aGFuLT52Yy5sb2NrLCBmbGFncyk7CisgCisgCWRlc2MgPSBwdF9uZXh0X2RtYV9kZXNjKGNoYW4p OworLQlpZiAoZGVzYykKKysJaWYgKGRlc2MgJiYgcHQtPnZlciAhPSBBRTRfRE1BX1ZFUlNJT04p CisgCQllbmdpbmVfaXNfaWRsZSA9IGZhbHNlOworIAorIAl2Y2hhbl9pc3N1ZV9wZW5kaW5nKCZj aGFuLT52Yyk7Ci0tIAoyLjM5LjUKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJv eG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGlu Zm8vcHZlLWRldmVsCg==