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==