Re: [RFC PATCH] Add -Werror flag when building GNU/HURD.

Mikhail Karpov <[email protected]> Tue, 28 Jul 2026 17:53:07 +0700
Newsgroups gmane.os.hurd.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------erAFLkVvQP0LIE1B092HNijZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello,

On Tue, 28 Jul 2026 11:38:21 Bradley Morgan wrote:

 > Hi, Where's the patch?
 >
 > Adding -WError is relatively a non issue, (as the user could build with
 > W1,or W128 if they are feeling crazy) Forcing the user to build with
 > warnings as errors makes the build(er) responsible for fixing
 > someone elses BS
 >
 > If I see the patch, I'll have a look 😀
 >
 > Thanks!

I sent all the patches separately (8 in total). Maybe you can get them if I
send them as two files?

-- 
Mikhail Karpov

--------------erAFLkVvQP0LIE1B092HNijZ
Content-Type: text/x-patch; charset=UTF-8; name="0001-All-patches.patch"
Content-Disposition: attachment; filename="0001-All-patches.patch"
Content-Transfer-Encoding: base64

RnJvbSA4YjUzNjAwYzYzYzYwMjYxNmQyMGFjOTI3ZGQ1ODNhMjBmNzE4M2UwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0
QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxNzo0NDo0MyArMDcwMApTdWJq
ZWN0OiBbUEFUQ0hdIEFsbCBwYXRjaGVzCgotLS0KIGJvb3QvdXNlcmxhbmQtYm9vdC5jICAg
ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGNvbnNvbGUtY2xpZW50L25jdXJzZXN3LmMg
ICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrLS0KIGZhdGZzL21haW4uYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmJwZi9icGZfaW1wbC5oICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgIDIgLS0KIGxpYmRpc2tmcy9kaXNrZnMuaCAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmRpc2tmcy9sb29rdXAuYyAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDQgKystLQogbGlicHMvcHMuaCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgMiArLQogbGlic3RvcmUvZGV2aWNlLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgMiArLQogbGlic3RvcmUvbmJkLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgNCArKy0tCiBsaWJzdG9yZS9wYXJ0LmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAyICstCiBwZmluZXQvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAyICstCiBwZmluZXQvZ2x1ZS1pbmNsdWRlL2FzbS91YWNjZXNzLmggICAgICAgICB8
ICAxIC0KIHBmaW5ldC9nbHVlLWluY2x1ZGUvbGludXgvc29ja2V0LmggICAgICAgIHwgIDIg
Ky0KIHBmaW5ldC9saW51eC1zcmMvaW5jbHVkZS9saW51eC9pbl9yb3V0ZS5oIHwgIDQgLS0t
LQogcGZpbmV0L2xpbnV4LXNyYy9pbmNsdWRlL25ldC9mbG93LmggICAgICAgfCAgMiArKwog
cGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9kZXYuYyAgICAgICAgICAgfCAgMiArKwogcGZp
bmV0L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jICAgICAgICAgfCAgMyArKy0KIHBmaW5l
dC9saW51eC1zcmMvbmV0L2V0aGVybmV0L2V0aC5jICAgICAgIHwgIDMgKystCiBwZmluZXQv
bGludXgtc3JjL25ldC9pcHY0L2FycC5jICAgICAgICAgICB8IDE1ICsrKysrKysrKy0tLS0t
LQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9kZXZpbmV0LmMgICAgICAgfCAgNSArLS0t
LQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9maWJfaGFzaC5jICAgICAgfCAgMSAtCiBw
ZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2lnbXAuYyAgICAgICAgICB8ICA2ICsrKy0tLQog
cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9vdXRwdXQuYyAgICAgfCAgOSArKysrLS0t
LS0KIHBmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvaXBfc29ja2dsdWUuYyAgIHwgIDIgKy0K
IHBmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvcmF3LmMgICAgICAgICAgIHwgIDQgKystLQog
cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3AuYyAgICAgICAgICAgfCAgOSArKysrKy0t
LS0KIHBmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX2lwdjQuYyAgICAgIHwgIDggKysr
KystLS0KIHBmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX291dHB1dC5jICAgIHwgIDcg
KysrKy0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC91ZHAuYyAgICAgICAgICAgfCAy
MCArKysrKysrKysrKystLS0tLS0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9hZGRy
Y29uZi5jICAgICAgfCAgMiArKwogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pY21wdjYu
YyAgICAgICAgfCAgOCArKysrLS0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pcDZf
b3V0cHV0LmMgICAgfCAgNyArKy0tLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY2L21j
YXN0LmMgICAgICAgICB8ICAyICstCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY2L25kaXNj
LmMgICAgICAgICB8ICA3ICsrLS0tLS0KIHBmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvcmF3
X2lwdjYuYyAgICAgIHwgIDYgKysrLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3Rj
cF9pcHY2LmMgICAgICB8IDEyICsrKysrKy0tLS0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQv
aXB2Ni91ZHBfaXB2Ni5jICAgICAgfCAgOSArKysrLS0tLS0KIHBmaW5ldC9wZmluZXQtb3Bz
LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQogcHJvY2ZzL3Byb2Nlc3MuYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogdHJhbnMvbmV3LWZpZm8uYyAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwogNDAgZmlsZXMgY2hhbmdlZCwgMTA1IGlu
c2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Jvb3QvdXNlcmxh
bmQtYm9vdC5jIGIvYm9vdC91c2VybGFuZC1ib290LmMKaW5kZXggMTczOWViOTEuLjJjOTJm
NmJkIDEwMDY0NAotLS0gYS9ib290L3VzZXJsYW5kLWJvb3QuYworKysgYi9ib290L3VzZXJs
YW5kLWJvb3QuYwpAQCAtMjEyLDcgKzIxMiw3IEBAIGxvYWRfaW1hZ2UgKHRhc2tfdCB0LAog
CiAJICAgIGJ1ZiA9ICh2bV9hZGRyZXNzX3QpIG1tYXAgKDAsIGJ1ZnN6LAogCQkJCSAgICAg
ICBQUk9UX1JFQUR8UFJPVF9XUklURSwgTUFQX0FOT04sIDAsIDApOwotCSAgICBhc3NlcnRf
YmFja3RyYWNlIChidWYgIT0gTUFQX0ZBSUxFRCk7CisJICAgIGFzc2VydF9iYWNrdHJhY2Ug
KCh2b2lkICopIGJ1ZiAhPSBNQVBfRkFJTEVEKTsKIAogCSAgICBsc2VlayAoZmQsIHBoLT5w
X29mZnNldCwgU0VFS19TRVQpOwogCSAgICBlcnIgPSByZWFkIChmZCwgKHZvaWQgKikoYnVm
ICsgb2ZmcyksIHBoLT5wX2ZpbGVzeik7CmRpZmYgLS1naXQgYS9jb25zb2xlLWNsaWVudC9u
Y3Vyc2Vzdy5jIGIvY29uc29sZS1jbGllbnQvbmN1cnNlc3cuYwppbmRleCAxMTZmODZjYy4u
YzU1NmFiYTYgMTAwNjQ0Ci0tLSBhL2NvbnNvbGUtY2xpZW50L25jdXJzZXN3LmMKKysrIGIv
Y29uc29sZS1jbGllbnQvbmN1cnNlc3cuYwpAQCAtNDUzLDcgKzQ1Myw5IEBAIG12d3B1dHNu
IChjb25jaGFyX3QgKnN0ciwgc2l6ZV90IGxlbiwgb2ZmX3QgeCwgb2ZmX3QgeSkKICAgd21v
dmUgKGNvbnNwYWQsIHksIHgpOwogICB3aGlsZSAobGVuKQogICAgIHsKKyNpZiAwCiAgICAg
ICBpbnQgcmV0OworI2VuZGlmCiAgICAgICBjaHR5cGUgYWM7CiAKICAgICAgIGlmIChsYXN0
X2F0dHIgIT0gKih1aW50MzJfdCAqKSAmc3RyLT5hdHRyKQpAQCAtNDY4LDIzICs0NzAsMjgg
QEAgbXZ3cHV0c24gKGNvbmNoYXJfdCAqc3RyLCBzaXplX3QgbGVuLCBvZmZfdCB4LCBvZmZf
dCB5KQogICAgICAgZWxzZQogCXsgICAgICAKIAkgIHdjaFswXSA9IHN0ci0+Y2hyOwotCSAg
cmV0ID0gc2V0Y2NoYXIgKCZjaHIsIHdjaCwgYXR0ciwgY29sb3JfcGFpciwgTlVMTCk7CiAj
aWYgMAorCSAgcmV0ID0gc2V0Y2NoYXIgKCZjaHIsIHdjaCwgYXR0ciwgY29sb3JfcGFpciwg
TlVMTCk7CiAJICBpZiAocmV0ID09IEVSUikKIAkgICAgewogCSAgICAgIHByaW50ZiAoInNl
dGNjaGFyIGZhaWxlZDogJXNcbiIsIHN0cmVycm9yIChlcnJubykpOwogCSAgICAgIHByaW50
ZiAoIlslbGNdXG4iLCB3Y2hbMF0pOwogCSAgICAgIGFzc2VydF9iYWNrdHJhY2UgKCEiRG8g
c29tZXRoaW5nIGlmIHNldGNjaGFyIGZhaWxzLiIpOwogCSAgICB9CisjZWxzZQorCSAgc2V0
Y2NoYXIgKCZjaHIsIHdjaCwgYXR0ciwgY29sb3JfcGFpciwgTlVMTCk7CiAjZW5kaWYKLQkg
IHJldCA9IHdhZGRfd2NoIChjb25zcGFkLCAmY2hyKTsKKwogI2lmIDAKKwkgIHJldCA9IHdh
ZGRfd2NoIChjb25zcGFkLCAmY2hyKTsKIAkgIGlmIChyZXQgPT0gRVJSKQogCSAgICB7CiAJ
ICAgICAgcHJpbnRmICgiYWRkX3djaCBmYWlsZWQ6ICVpLCAlc1xuIiwgcmV0LCBzdHJlcnJv
ciAoZXJybm8pKTsKIAkgICAgICBwcmludGYgKCJbJWxjXVxuIiwgd2NoWzBdKTsKIAkgICAg
ICBhc3NlcnRfYmFja3RyYWNlICghIkRvIHNvbWV0aGluZyBpZiBhZGRfd2NociBmYWlscy4i
KTsKIAkgICAgfQorI2Vsc2UKKwkgIHdhZGRfd2NoIChjb25zcGFkLCAmY2hyKTsKICNlbmRp
ZgogCX0KICAgICAgIGxlbi0tOwpkaWZmIC0tZ2l0IGEvZmF0ZnMvbWFpbi5jIGIvZmF0ZnMv
bWFpbi5jCmluZGV4IDhmNDRlZDhiLi5hYjVkYjAzZSAxMDA2NDQKLS0tIGEvZmF0ZnMvbWFp
bi5jCisrKyBiL2ZhdGZzL21haW4uYwpAQCAtMjM1LDcgKzIzNSw3IEBAIG1haW4gKGludCBh
cmdjLCBjaGFyICoqYXJndikKIAogICB6ZXJvY2x1c3RlciA9ICh2bV9hZGRyZXNzX3QpIG1t
YXAgKDAsIGJ5dGVzX3Blcl9jbHVzdGVyLCBQUk9UX1JFQUR8UFJPVF9XUklURSwKIAkJCQkg
ICAgIE1BUF9BTk9OLCAwLCAwKTsKLSAgYXNzZXJ0X2JhY2t0cmFjZSAoemVyb2NsdXN0ZXIg
IT0gTUFQX0ZBSUxFRCk7CisgIGFzc2VydF9iYWNrdHJhY2UgKCh2b2lkICopIHplcm9jbHVz
dGVyICE9IE1BUF9GQUlMRUQpOwogCiAgIGZldGNoX3Jvb3QgKCk7CiAKZGlmZiAtLWdpdCBh
L2xpYmJwZi9icGZfaW1wbC5oIGIvbGliYnBmL2JwZl9pbXBsLmgKaW5kZXggZmIwZmI0OTAu
LmQ4MGUwMDU4IDEwMDY0NAotLS0gYS9saWJicGYvYnBmX2ltcGwuaAorKysgYi9saWJicGYv
YnBmX2ltcGwuaApAQCAtNTEsOCArNTEsNiBAQCB0eXBlZGVmIHN0cnVjdAogdHlwZWRlZgl1
bnNpZ25lZCBzaG9ydAlmaWx0ZXJfdDsKIHR5cGVkZWYgZmlsdGVyX3QJKmZpbHRlcl9hcnJh
eV90OwogCi0jZGVmaW5lCU5FVF9NQVhfRklMVEVSCQk1MTIgLyogYnBmIHByb2dyYW1zIGFy
ZSBiaWcgKi8KLQogI2RlZmluZSBORVRfSEFTSF9TSVpFICAgMjU2CiAjZGVmaW5lIE5fTkVU
X0hBU0ggICAgICA0CiAjZGVmaW5lIE5fTkVUX0hBU0hfS0VZUyA0CmRpZmYgLS1naXQgYS9s
aWJkaXNrZnMvZGlza2ZzLmggYi9saWJkaXNrZnMvZGlza2ZzLmgKaW5kZXggZDk1ZTFiODAu
LmI4MzE2ZDk2IDEwMDY0NAotLS0gYS9saWJkaXNrZnMvZGlza2ZzLmgKKysrIGIvbGliZGlz
a2ZzL2Rpc2tmcy5oCkBAIC04OTAsNyArODkwLDcgQEAgZGlza2ZzX2Rpc2tub2RlX25vZGUg
KHN0cnVjdCBkaXNrbm9kZSAqZGlza25vZGUpCiAgICBUaGlzIGZ1bmN0aW9uIGlzIGEgd3Jh
cHBlciBmb3IgZGlza2ZzX2xvb2t1cF9oYXJkLgogKi8KIGVycm9yX3QgZGlza2ZzX2xvb2t1
cCAoc3RydWN0IG5vZGUgKmRwLAotCQkgICAgICAgY2hhciAqbmFtZSwgbG9va3VwX2ZsYWdz
X3QgbF9mbGFncywKKwkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGxvb2t1cF9mbGFnc190
IGxfZmxhZ3MsCiAJCSAgICAgICBzdHJ1Y3Qgbm9kZSAqKm5wLCBzdHJ1Y3QgZGlyc3RhdCAq
ZHMsCiAJCSAgICAgICBzdHJ1Y3QgcHJvdGlkICpjcmVkKTsKIApkaWZmIC0tZ2l0IGEvbGli
ZGlza2ZzL2xvb2t1cC5jIGIvbGliZGlza2ZzL2xvb2t1cC5jCmluZGV4IDg3YjU0YzAxLi4w
NmIwM2I2OSAxMDA2NDQKLS0tIGEvbGliZGlza2ZzL2xvb2t1cC5jCisrKyBiL2xpYmRpc2tm
cy9sb29rdXAuYwpAQCAtNzEsNyArNzEsNyBAQAogCiAgICBUaGlzIGZ1bmN0aW9uIGlzIGEg
d3JhcHBlciBmb3IgZGlza2ZzX2xvb2t1cF9oYXJkLiAgKi8KIGVycm9yX3QKLWRpc2tmc19s
b29rdXAgKHN0cnVjdCBub2RlICpkcCwgY2hhciAqbmFtZSwgbG9va3VwX2ZsYWdzX3QgbF9m
bGFncywKK2Rpc2tmc19sb29rdXAgKHN0cnVjdCBub2RlICpkcCwgY29uc3QgY2hhciAqbmFt
ZSwgbG9va3VwX2ZsYWdzX3QgbF9mbGFncywKIAkgICAgICAgc3RydWN0IG5vZGUgKipucCwg
c3RydWN0IGRpcnN0YXQgKmRzLCBzdHJ1Y3QgcHJvdGlkICpjcmVkKQogewogICBlcnJvcl90
IGVycjsKQEAgLTk5LDcgKzk5LDcgQEAgZGlza2ZzX2xvb2t1cCAoc3RydWN0IG5vZGUgKmRw
LCBjaGFyICpuYW1lLCBsb29rdXBfZmxhZ3NfdCBsX2ZsYWdzLAogICAgIH0KICAgZWxzZQog
ICAgIHsKLSAgICAgIGNoYXIgKnAgPSBzdHJjaHIgKG5hbWUsICcvJyk7CisgICAgICBjaGFy
ICpwID0gKGNoYXIgKikgc3RyY2hyIChuYW1lLCAnLycpOwogICAgICAgaWYgKHAgIT0gMCkK
IAl7CiAJICAqcCA9ICdcMCc7CmRpZmYgLS1naXQgYS9saWJwcy9wcy5oIGIvbGlicHMvcHMu
aAppbmRleCAzZTU5YzY2YS4uYWQwYWFiNzcgMTAwNjQ0Ci0tLSBhL2xpYnBzL3BzLmgKKysr
IGIvbGlicHMvcHMuaApAQCAtMzU2LDcgKzM1Niw3IEBAIHN0cnVjdCBwcm9jX3N0YXQKICNk
ZWZpbmUgUFNUQVRfTk9fTVNHUE9SVCAgICAgMHgxMDAwMDAwIC8qIERvbid0IHVzZSB0aGUg
bXNncG9ydCBhdCBhbGwgKi8KIAogLyogQml0cyBmcm9tIFBTVEFUX1VTRVJfQkFTRSBvbiB1
cCBhcmUgYXZhaWxhYmxlIGZvciB1c2VyLXVzZS4gICovCi0jZGVmaW5lIFBTVEFUX1VTRVJf
QkFTRSAgICAgIDB4MjAwMDAwMDAKKyNkZWZpbmUgUFNUQVRfVVNFUl9CQVNFICAgICAgMHgy
MDAwMDAwMFVMTAogI2RlZmluZSBQU1RBVF9VU0VSX01BU0sgICAgICB+KFBTVEFUX1VTRVJf
QkFTRSAtIDEpCiAMCiAvKiBJZiB0aGUgUFNUQVRfU1RBVEUgZmxhZyBpcyBzZXQsIHRoZW4g
dGhlIHByb2Nfc3RhdHMgc3RhdGUgZmllbGQgaG9sZHMgYQpkaWZmIC0tZ2l0IGEvbGlic3Rv
cmUvZGV2aWNlLmMgYi9saWJzdG9yZS9kZXZpY2UuYwppbmRleCA1NmYzZDkzZC4uMTVmMzQ2
ZTQgMTAwNjQ0Ci0tLSBhL2xpYnN0b3JlL2RldmljZS5jCisrKyBiL2xpYnN0b3JlL2Rldmlj
ZS5jCkBAIC0xMjgsNyArMTI4LDcgQEAgZG9wZW4gKGNvbnN0IGNoYXIgKm5hbWUsIGRldmlj
ZV90ICpkZXZpY2UsIGludCAqbW9kX2ZsYWdzKQogICBjaGFyICpyZXN0OwogCiAgIC8qIFBh
cnNlIEBtYXN0ZXI6L2Rldi9oZWxsbyAqLwotICBpZiAoIChuYW1lWzBdID09ICdAJykgJiYg
KHBvcyA9IHN0cmNociAobmFtZSwgJzonKSkgKQorICBpZiAoIChuYW1lWzBdID09ICdAJykg
JiYgKHBvcyA9IChjaGFyICopIHN0cmNociAobmFtZSwgJzonKSkgKQogICAgIHsKICAgICAg
IG1hc3RlciA9IHN0cm5kdXAgKG5hbWUrMSwgcG9zLShuYW1lKzEpKTsKICAgICAgIHJlc3Qg
PSBwb3MrMTsKZGlmZiAtLWdpdCBhL2xpYnN0b3JlL25iZC5jIGIvbGlic3RvcmUvbmJkLmMK
aW5kZXggNTU2MjIyZTEuLmUyNjk5ZTc2IDEwMDY0NAotLS0gYS9saWJzdG9yZS9uYmQuYwor
KysgYi9saWJzdG9yZS9uYmQuYwpAQCAtMjk5LDEyICsyOTksMTIgQEAgc3RhdGljIGVycm9y
X3QKIG5iZF92YWxpZGF0ZV9uYW1lIChjb25zdCBjaGFyICpuYW1lLAogCQkgICBjb25zdCBz
dHJ1Y3Qgc3RvcmVfY2xhc3MgKmNvbnN0ICpjbGFzc2VzKQogewotICBjaGFyICpwLCAqZW5k
cDsKKyAgY2hhciAqZW5kcDsKIAogICBpZiAoIXN0cm5jbXAgKG5hbWUsIHVybF9wcmVmaXgs
IHNpemVvZiB1cmxfcHJlZml4IC0gMSkpCiAgICAgbmFtZSArPSBzaXplb2YgdXJsX3ByZWZp
eCAtIDE7CiAKLSAgcCA9IHN0cmNociAobmFtZSwgJzonKTsKKyAgY29uc3QgY2hhciAqcCA9
IHN0cmNociAobmFtZSwgJzonKTsKICAgaWYgKHAgPT0gMCkKICAgICByZXR1cm4gRUlOVkFM
OwogICBlbmRwID0gMDsKZGlmZiAtLWdpdCBhL2xpYnN0b3JlL3BhcnQuYyBiL2xpYnN0b3Jl
L3BhcnQuYwppbmRleCBlMDkzN2M2Ni4uYjNlYTJlYWQgMTAwNjQ0Ci0tLSBhL2xpYnN0b3Jl
L3BhcnQuYworKysgYi9saWJzdG9yZS9wYXJ0LmMKQEAgLTI5LDcgKzI5LDcgQEAKIAogLyog
WFhYIFVudGlsIHRoZSBIdXJkIHNwZWNpZmljIGhlYWRlciBpcyBhdmFpbGFibGUsIHByb3Zp
ZGUgdGhlCiAgICBkZWNsYXJhdGlvbiBvZiBwZWRfZGV2aWNlX25ld19mcm9tX3N0b3JlIGhl
cmUuICAqLwotI3dhcm5pbmcgIlVzaW5nIGxvY2FsIGRlY2xhcmF0aW9uIG9mIHBlZF9kZXZp
Y2VfbmV3X2Zyb21fc3RvcmUuIgorI3ByYWdtYSBtZXNzYWdlICJVc2luZyBsb2NhbCBkZWNs
YXJhdGlvbiBvZiBwZWRfZGV2aWNlX25ld19mcm9tX3N0b3JlLiIKIAogLyogSW5pdGlhbGl6
ZSBhIFBlZERldmljZSB1c2luZyBTT1VSQ0UuICBUaGUgU09VUkNFIHdpbGwgTk9UIGJlIGRl
c3Ryb3llZDsKICAgIHRoZSBjYWxsZXIgY3JlYXRlZCBpdCwgaXQgaXMgdGhlIGNhbGxlcidz
IHJlc3BvbnNpbGJpbGl0eSB0byBmcmVlIGl0CmRpZmYgLS1naXQgYS9wZmluZXQvTWFrZWZp
bGUgYi9wZmluZXQvTWFrZWZpbGUKaW5kZXggMjJjM2ExNzEuLmUxNWFhNTlkIDEwMDY0NAot
LS0gYS9wZmluZXQvTWFrZWZpbGUKKysrIGIvcGZpbmV0L01ha2VmaWxlCkBAIC0xMzEsNyAr
MTMxLDcgQEAgQ1BQRkxBR1MgKz0gLWltYWNyb3MgJChzcmNkaXIpL2NvbmZpZy5oCQlcCiAK
ICMgRG9uJ3QgYXNrLi4uICBXZSB1c2UgTGludXggY29kZS4gIFRoZSBwcm9ibGVtIHdhcyBm
aXJzdCBub3RpY2VkIHdoZW4KICMgY29tcGlsaW5nIGBwZmluZXQnIHdpdGggR0NDIDQuMi4K
LUNGTEFHUyArPSAtZm5vLXN0cmljdC1hbGlhc2luZworQ0ZMQUdTICs9IC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1Xbm8tYXJyYXktYm91bmRzCiAKIGFzbS9jaGVja3N1bS5oOiAuLi9jb25m
aWcuc3RhdHVzCiAJbWtkaXIgLXAgJChARCkKZGlmZiAtLWdpdCBhL3BmaW5ldC9nbHVlLWlu
Y2x1ZGUvYXNtL3VhY2Nlc3MuaCBiL3BmaW5ldC9nbHVlLWluY2x1ZGUvYXNtL3VhY2Nlc3Mu
aAppbmRleCA3NTJjNjFjMC4uN2Y0NzYzMmIgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9nbHVlLWlu
Y2x1ZGUvYXNtL3VhY2Nlc3MuaAorKysgYi9wZmluZXQvZ2x1ZS1pbmNsdWRlL2FzbS91YWNj
ZXNzLmgKQEAgLTQxLDcgKzQxLDYgQEAgc3RydWN0IF9fbGFyZ2Vfc3RydWN0IHsgdW5zaWdu
ZWQgbG9uZyBidWZbMTAwXTsgfTsKICNkZWZpbmUgZ2V0X3VzZXJfcmV0KHgscHRyLHJldCkg
KHsgaWYgKGdldF91c2VyKHgscHRyKSkgcmV0dXJuIHJldDsgfSkKIAogCi0jZGVmaW5lIGNv
cHlfdG9fdXNlcih0byxmcm9tLG4pCQkobWVtY3B5ICgodG8pLCAoZnJvbSksIChuKSksIDAp
CiAjZGVmaW5lIGNvcHlfZnJvbV91c2VyKHRvLGZyb20sbikJKG1lbWNweSAoKHRvKSwgKGZy
b20pLCAobikpLCAwKQogI2RlZmluZQljbGVhcl91c2VyKG1lbSwgbGVuKQkJKG1lbXNldCAo
KG1lbSksIDAsIChsZW4pKSwgMCkKIApkaWZmIC0tZ2l0IGEvcGZpbmV0L2dsdWUtaW5jbHVk
ZS9saW51eC9zb2NrZXQuaCBiL3BmaW5ldC9nbHVlLWluY2x1ZGUvbGludXgvc29ja2V0LmgK
aW5kZXggNThmYzJjN2EuLjIwMmQ2Y2NjIDEwMDY0NAotLS0gYS9wZmluZXQvZ2x1ZS1pbmNs
dWRlL2xpbnV4L3NvY2tldC5oCisrKyBiL3BmaW5ldC9nbHVlLWluY2x1ZGUvbGludXgvc29j
a2V0LmgKQEAgLTc5LDcgKzc5LDcgQEAgcHV0X2Ntc2coc3RydWN0IG1zZ2hkciAqbXNnLCBp
bnQgbGV2ZWwsIGludCB0eXBlLCBpbnQgbGVuLCB2b2lkICpkYXRhKQogI2RlZmluZSBDTVNH
X0FMSUdOKHNpemUpCSgwKQogI2RlZmluZSBDTVNHX0xFTihzaXplKSAJCSgwKQogI2Vsc2UK
LSNkZWZpbmUgY29weV90b191c2VyKHRvLGZyb20sbikJCShtZW1jcHkgKCh0byksIChmcm9t
KSwgKG4pKSwgMCkKKyNkZWZpbmUgY29weV90b191c2VyKHRvLGZyb20sbikJCSh7bWVtY3B5
ICgodG8pLCAoZnJvbSksIChuKSk7IDA7fSkKIHN0YXRpYyBpbmxpbmUgaW50CiBwdXRfY21z
ZyhzdHJ1Y3QgbXNnaGRyICogbXNnLCBpbnQgbGV2ZWwsIGludCB0eXBlLCBpbnQgbGVuLCB2
b2lkICpkYXRhKQogewpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9pbmNsdWRlL2xp
bnV4L2luX3JvdXRlLmggYi9wZmluZXQvbGludXgtc3JjL2luY2x1ZGUvbGludXgvaW5fcm91
dGUuaAppbmRleCA2MWYyNWMzMC4uNDA3ZGJlY2MgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51
eC1zcmMvaW5jbHVkZS9saW51eC9pbl9yb3V0ZS5oCisrKyBiL3BmaW5ldC9saW51eC1zcmMv
aW5jbHVkZS9saW51eC9pbl9yb3V0ZS5oCkBAIC0yNSw4ICsyNSw0IEBACiAjZGVmaW5lIFJU
Q0ZfUkVKRUNUCTB4NDAwMDAwMDAKICNkZWZpbmUgUlRDRl9MT0NBTAkweDgwMDAwMDAwCiAK
LSNkZWZpbmUgUlRDRl9OQVQJKFJUQ0ZfRE5BVHxSVENGX1NOQVQpCi0KLSNkZWZpbmUgUlRf
VE9TKHRvcykJKCh0b3MpJklQVE9TX1RPU19NQVNLKQotCiAjZW5kaWYgLyogX0xJTlVYX0lO
X1JPVVRFX0ggKi8KZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvaW5jbHVkZS9uZXQv
Zmxvdy5oIGIvcGZpbmV0L2xpbnV4LXNyYy9pbmNsdWRlL25ldC9mbG93LmgKaW5kZXggZTFj
ZTFiMmEuLjJjYjZjZDkxIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL2luY2x1ZGUv
bmV0L2Zsb3cuaAorKysgYi9wZmluZXQvbGludXgtc3JjL2luY2x1ZGUvbmV0L2Zsb3cuaApA
QCAtOTEsNiArOTEsOCBAQCBzdHJ1Y3QgZmxvd19ydWxlIHsKIAl1bnNpZ25lZCBjaGFyCQkJ
cHJpdmF0ZVswXTsKIH07CiAKK3N0cnVjdCBydDZfaW5mbzsKKwogc3RydWN0IGZsb3dfcnVs
ZV9vcHMgewogCWludAkJCSgqYWNjZXB0KShzdHJ1Y3QgcnQ2X2luZm8gKnJ0LAogCQkJCQkg
IHN0cnVjdCBydDZfaW5mbyAqcnVsZSwKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMv
bmV0L2NvcmUvZGV2LmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9jb3JlL2Rldi5jCmluZGV4
IGI0N2M1MDI3Li4yYjVmZjRlMiAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQv
Y29yZS9kZXYuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9jb3JlL2Rldi5jCkBAIC0x
MDYyLDYgKzEwNjIsNyBAQCBpbnQgcmVnaXN0ZXJfZ2lmY29uZih1bnNpZ25lZCBpbnQgZmFt
aWx5LCBnaWZjb25mX2Z1bmNfdCAqIGdpZmNvbmYpCiAgKglNYXAgYW4gaW50ZXJmYWNlIGlu
ZGV4IHRvIGl0cyBuYW1lIChTSU9DR0lGTkFNRSkKICAqLwogCisjaWYgMAogLyoKICAqCVRo
aXMgY2FsbCBpcyB1c2VmdWwsIGJ1dCBJJ2QgcmVtb3ZlIGl0IHRvby4KICAqCkBAIC0xMTAw
LDYgKzExMDEsNyBAQCBzdGF0aWMgaW50IGRldl9pZm5hbWUoc3RydWN0IGlmcmVxICphcmcp
CiAJZXJyID0gY29weV90b191c2VyKGFyZywgJmlmciwgc2l6ZW9mKHN0cnVjdCBpZnJlcSkp
OwogCXJldHVybiAoZXJyKT8tRUZBVUxUOjA7CiB9CisjZW5kaWYKIAogLyoKICAqCVBlcmZv
cm0gYSBTSU9DR0lGQ09ORiBjYWxsLiBUaGlzIHN0cnVjdHVyZSB3aWxsIGNoYW5nZQpkaWZm
IC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jIGIvcGZpbmV0L2xp
bnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jCmluZGV4IGMyMGY4NTMwLi41Yzk2NjBmOSAxMDA2
NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jCisrKyBiL3BmaW5l
dC9saW51eC1zcmMvbmV0L2NvcmUvaW92ZWMuYwpAQCAtMjU5LDcgKzI1OSw4IEBAIGludCBj
c3VtX3BhcnRpYWxfY29weV9mcm9taW92ZWNlbmQodW5zaWduZWQgY2hhciAqa2RhdGEsIHN0
cnVjdCBpb3ZlYyAqaW92LAogCQl9CiAKIAkJaWYgKGNvcHkpIHsKLQkJCWNzdW0gPSBjc3Vt
X2FuZF9jb3B5X2Zyb21fdXNlcihiYXNlLCBrZGF0YSwgY29weSwKKwkJCWNzdW0gPSBjc3Vt
X2FuZF9jb3B5X2Zyb21fdXNlcigoY29uc3QgY2hhciAqKSBiYXNlLAorCQkJCQkJCShjaGFy
ICopIGtkYXRhLCBjb3B5LAogCQkJCQkJCWNzdW0sICZlcnIpOwogCQkJaWYgKGVycikKIAkJ
CQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2V0aGVybmV0
L2V0aC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvZXRoZXJuZXQvZXRoLmMKaW5kZXggOTQ1
ZjRhMDYuLmMzM2MyNWI4IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9ldGhl
cm5ldC9ldGguYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9ldGhlcm5ldC9ldGguYwpA
QCAtMjkxLDcgKzI5MSw4IEBAIHZvaWQgZXRoX2NvcHlfYW5kX3N1bShzdHJ1Y3Qgc2tfYnVm
ZiAqZGVzdCwgdW5zaWduZWQgY2hhciAqc3JjLCBpbnQgbGVuZ3RoLCBpbnQKIAlpZiAoKGlw
X2xlbmd0aCA8PSBsZW5ndGgpICYmIChpcF9sZW5ndGggPiA3KSkKIAkJbGVuZ3RoPWlwX2xl
bmd0aDsKIAotCWRlc3QtPmNzdW09Y3N1bV9wYXJ0aWFsX2NvcHkoc3JjK3NpemVvZihzdHJ1
Y3QgaXBoZHIpK0VUSF9ITEVOLGRlc3QtPmRhdGErc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRI
X0hMRU4sbGVuZ3RoLGJhc2UpOworCWRlc3QtPmNzdW09Y3N1bV9wYXJ0aWFsX2NvcHkoKGNv
bnN0IGNoYXIgKilzcmMrc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRIX0hMRU4sCisJCQkJICAg
ICAoY2hhciAqKWRlc3QtPmRhdGErc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRIX0hMRU4sbGVu
Z3RoLGJhc2UpOwogCWRlc3QtPmlwX3N1bW1lZD0xOwogfQogCmRpZmYgLS1naXQgYS9wZmlu
ZXQvbGludXgtc3JjL25ldC9pcHY0L2FycC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2
NC9hcnAuYwppbmRleCA1M2QxNTVhOS4uYzA5ZGViZGYgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9s
aW51eC1zcmMvbmV0L2lwdjQvYXJwLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2
NC9hcnAuYwpAQCAtMTk3LDEzICsxOTcsMTMgQEAgaW50IGFycF9tY19tYXAodTMyIGFkZHIs
IHU4ICpoYWRkciwgc3RydWN0IGRldmljZSAqZGV2LCBpbnQgZGlyKQogCXN3aXRjaCAoZGV2
LT50eXBlKSB7CiAJY2FzZSBBUlBIUkRfRVRIRVI6CiAJY2FzZSBBUlBIUkRfRkRESToKLQkJ
aXBfZXRoX21jX21hcChhZGRyLCBoYWRkcikgOyAKKwkJaXBfZXRoX21jX21hcChhZGRyLCAo
Y2hhciAqKSBoYWRkcik7CiAJCXJldHVybiAwIDsgCiAJY2FzZSBBUlBIUkRfSUVFRTgwMjoK
IAkJaWYgKCAoZGV2LT5uYW1lWzBdID09ICd0JykgJiYgKGRldi0+bmFtZVsxXSA9PSAncicp
KSAvKiBUb2tlbiBSaW5nICovCi0JCQlpcF90cl9tY19tYXAoYWRkcixoYWRkcikgOyAKKwkJ
CWlwX3RyX21jX21hcChhZGRyLCAoY2hhciAqKSBoYWRkcik7CiAJCWVsc2UgIAotCQkJaXBf
ZXRoX21jX21hcChhZGRyLCBoYWRkcik7CisJCQlpcF9ldGhfbWNfbWFwKGFkZHIsIChjaGFy
ICopIGhhZGRyKTsKIAkJcmV0dXJuIDA7CiAJZGVmYXVsdDoKIAkJaWYgKGRpcikgewpAQCAt
NTQ1LDcgKzU0NSw3IEBAIGludCBhcnBfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVj
dCBkZXZpY2UgKmRldiwgc3RydWN0IHBhY2tldF90eXBlICpwdCkKIAlzdHJ1Y3QgYXJwaGRy
ICphcnAgPSBza2ItPm5oLmFycGg7CiAJdW5zaWduZWQgY2hhciAqYXJwX3B0cj0gKHVuc2ln
bmVkIGNoYXIgKikoYXJwKzEpOwogCXN0cnVjdCBydGFibGUgKnJ0OwotCXVuc2lnbmVkIGNo
YXIgKnNoYSwgKnRoYTsKKwl1bnNpZ25lZCBjaGFyICpzaGE7CiAJdTMyIHNpcCwgdGlwOwog
CXUxNiBkZXZfdHlwZSA9IGRldi0+dHlwZTsKIAlpbnQgYWRkcl90eXBlOwpAQCAtNjMyLDcg
KzYzMiw2IEBAIGludCBhcnBfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBkZXZp
Y2UgKmRldiwgc3RydWN0IHBhY2tldF90eXBlICpwdCkKIAlhcnBfcHRyICs9IGRldi0+YWRk
cl9sZW47CiAJbWVtY3B5KCZzaXAsIGFycF9wdHIsIDQpOwogCWFycF9wdHIgKz0gNDsKLQl0
aGE9YXJwX3B0cjsKIAlhcnBfcHRyICs9IGRldi0+YWRkcl9sZW47CiAJbWVtY3B5KCZ0aXAs
IGFycF9wdHIsIDQpOwogLyoKQEAgLTgyNSwxMyArODI0LDE0IEBAIGludCBhcnBfcmVxX3Nl
dChzdHJ1Y3QgYXJwcmVxICpyLCBzdHJ1Y3QgZGV2aWNlICogZGV2KQogCQlpZiAoci0+YXJw
X2ZsYWdzICYgQVRGX1BFUk0pCiAJCQlzdGF0ZSA9IE5VRF9QRVJNQU5FTlQ7CiAJCWVyciA9
IG5laWdoX3VwZGF0ZShuZWlnaCwgKHItPmFycF9mbGFncyZBVEZfQ09NKSA/Ci0JCQkJICAg
ci0+YXJwX2hhLnNhX2RhdGEgOiBOVUxMLCBzdGF0ZSwgMSwgMCk7CisJCQkJICAgKHVuc2ln
bmVkIGNoYXIgKikgci0+YXJwX2hhLnNhX2RhdGEgOiBOVUxMLCBzdGF0ZSwgMSwgMCk7CiAJ
CW5laWdoX3JlbGVhc2UobmVpZ2gpOwogCX0KIAllbmRfYmhfYXRvbWljKCk7CiAJcmV0dXJu
IGVycjsKIH0KIAorI2lmIDAKIHN0YXRpYyB1bnNpZ25lZCBhcnBfc3RhdGVfdG9fZmxhZ3Mo
c3RydWN0IG5laWdoYm91ciAqbmVpZ2gpCiB7CiAJdW5zaWduZWQgZmxhZ3MgPSAwOwpAQCAt
ODQxLDExICs4NDEsMTMgQEAgc3RhdGljIHVuc2lnbmVkIGFycF9zdGF0ZV90b19mbGFncyhz
dHJ1Y3QgbmVpZ2hib3VyICpuZWlnaCkKIAkJZmxhZ3MgPSBBVEZfQ09NOwogCXJldHVybiBm
bGFnczsKIH0KKyNlbmRpZgogCiAvKgogICoJR2V0IGFuIEFSUCBjYWNoZSBlbnRyeS4KICAq
LwogCisjaWYgMAogc3RhdGljIGludCBhcnBfcmVxX2dldChzdHJ1Y3QgYXJwcmVxICpyLCBz
dHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJdTMyIGlwID0gKChzdHJ1Y3Qgc29ja2FkZHJfaW4g
KikgJnItPmFycF9wYSktPnNpbl9hZGRyLnNfYWRkcjsKQEAgLTg2NSw2ICs4NjcsNyBAQCBz
dGF0aWMgaW50IGFycF9yZXFfZ2V0KHN0cnVjdCBhcnByZXEgKnIsIHN0cnVjdCBkZXZpY2Ug
KmRldikKIAllbmRfYmhfYXRvbWljKCk7CiAJcmV0dXJuIGVycjsKIH0KKyNlbmRpZgogCiBp
bnQgYXJwX3JlcV9kZWxldGUoc3RydWN0IGFycHJlcSAqciwgc3RydWN0IGRldmljZSAqIGRl
dikKIHsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvZGV2aW5ldC5j
IGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9kZXZpbmV0LmMKaW5kZXggYTU2Njc0M2Eu
LjgyOGE4ODI4IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2Rldmlu
ZXQuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2RldmluZXQuYwpAQCAtNzA1
LDEwICs3MDUsNyBAQCBpbmV0X2dpZmNvbmYoc3RydWN0IGRldmljZSAqZGV2LCBjaGFyICpi
dWYsIGludCBsZW4pCiAJCWlmIChsZW4gPCAoaW50KSBzaXplb2YoaWZyKSkKIAkJCXJldHVy
biBkb25lOwogCQltZW1zZXQoJmlmciwgMCwgc2l6ZW9mKHN0cnVjdCBpZnJlcSkpOwotCQlp
ZiAoaWZhLT5pZmFfbGFiZWwpCi0JCQlzdHJjcHkoaWZyLmlmcl9uYW1lLCBpZmEtPmlmYV9s
YWJlbCk7Ci0JCWVsc2UKLQkJCXN0cmNweShpZnIuaWZyX25hbWUsIGRldi0+bmFtZSk7CisJ
CXN0cmNweShpZnIuaWZyX25hbWUsIGlmYS0+aWZhX2xhYmVsKTsKIAogI2lmZGVmIF9IVVJE
XwogCQkoKihzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgJmlmci5pZnJfYWRkcikuc2luX2xlbiA9
IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51
eC1zcmMvbmV0L2lwdjQvZmliX2hhc2guYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQv
ZmliX2hhc2guYwppbmRleCA0OTVmMTY4Mi4uNDAxNmU3MGEgMTAwNjQ0Ci0tLSBhL3BmaW5l
dC9saW51eC1zcmMvbmV0L2lwdjQvZmliX2hhc2guYworKysgYi9wZmluZXQvbGludXgtc3Jj
L25ldC9pcHY0L2ZpYl9oYXNoLmMKQEAgLTg4Nyw3ICs4ODcsNiBAQCBfX2luaXRmdW5jKHN0
cnVjdCBmaWJfdGFibGUgKiBmaWJfaGFzaF9pbml0KGludCBpZCkpCiBzdGF0aWMgdm9pZAog
ZmliX25vZGVfZ2V0X3JvdXRlKGludCB0eXBlLCBpbnQgZGVhZCwgc3RydWN0IGZpYl9pbmZv
ICpmaSwgdTMyIHByZWZpeCwgdTMyIG1hc2ssIGlmcnRyZXFfdCAqcikKIHsKLQlpbnQgbGVu
OwogCXN0YXRpYyB1bnNpZ25lZCB0eXBlMmZsYWdzW1JUTl9NQVgrMV0gPSB7CiAJCVtSVE5f
VU5SRUFDSEFCTEVdID0gUlRGX1JFSkVDVCwKIAkJW1JUTl9QUk9ISUJJVF0gPSBSVEZfUkVK
RUNUCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2lnbXAuYyBiL3Bm
aW5ldC9saW51eC1zcmMvbmV0L2lwdjQvaWdtcC5jCmluZGV4IDQ2MjY5MTA2Li43YmY0NTAz
NCAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pZ21wLmMKKysrIGIv
cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pZ21wLmMKQEAgLTM1Miw3ICszNTIsNyBAQCBz
dGF0aWMgdm9pZCBpcF9tY19maWx0ZXJfYWRkKHN0cnVjdCBpbl9kZXZpY2UgKmluX2Rldiwg
dTMyIGFkZHIpCiAJICAgaWYgKGRldi0+bWNfbGlzdCAmJiBkZXYtPmZsYWdzJklGRl9NVUxU
SUNBU1QpIHsgZG8gaXQ7IH0KIAkgICAtLUFOSwogCSAqLwotCWlmIChhcnBfbWNfbWFwKGFk
ZHIsIGJ1ZiwgZGV2LCAwKSA9PSAwKQorCWlmIChhcnBfbWNfbWFwKGFkZHIsICh1bnNpZ25l
ZCBjaGFyICopIGJ1ZiwgZGV2LCAwKSA9PSAwKQogCQlkZXZfbWNfYWRkKGRldixidWYsZGV2
LT5hZGRyX2xlbiwwKTsKIH0KIApAQCAtMzY1LDcgKzM2NSw3IEBAIHN0YXRpYyB2b2lkIGlw
X21jX2ZpbHRlcl9kZWwoc3RydWN0IGluX2RldmljZSAqaW5fZGV2LCB1MzIgYWRkcikKIAlj
aGFyIGJ1ZltNQVhfQUREUl9MRU5dOwogCXN0cnVjdCBkZXZpY2UgKmRldiA9IGluX2Rldi0+
ZGV2OwogCi0JaWYgKGFycF9tY19tYXAoYWRkciwgYnVmLCBkZXYsIDApID09IDApCisJaWYg
KGFycF9tY19tYXAoYWRkciwgKHVuc2lnbmVkIGNoYXIgKikgYnVmLCBkZXYsIDApID09IDAp
CiAJCWRldl9tY19kZWxldGUoZGV2LGJ1ZixkZXYtPmFkZHJfbGVuLDApOwogfQogCkBAIC00
NDIsOCArNDQyLDggQEAgdm9pZCBpcF9tY19pbmNfZ3JvdXAoc3RydWN0IGluX2RldmljZSAq
aW5fZGV2LCB1MzIgYWRkcikKIAlpbS0+dGltZXIuZnVuY3Rpb249JmlnbXBfdGltZXJfZXhw
aXJlOwogCWltLT51bnNvbGljaXRfY291bnQgPSBJR01QX1Vuc29saWNpdGVkX1JlcG9ydF9D
b3VudDsKIAlpbS0+cmVwb3J0ZXIgPSAwOwotCWltLT5sb2FkZWQgPSAwOwogI2VuZGlmCisJ
aW0tPmxvYWRlZCA9IDA7CiAJaW0tPm5leHQ9aW5fZGV2LT5tY19saXN0OwogCWluX2Rldi0+
bWNfbGlzdD1pbTsKIAlpZ21wX2dyb3VwX2FkZGVkKGltKTsKZGlmZiAtLWdpdCBhL3BmaW5l
dC9saW51eC1zcmMvbmV0L2lwdjQvaXBfb3V0cHV0LmMgYi9wZmluZXQvbGludXgtc3JjL25l
dC9pcHY0L2lwX291dHB1dC5jCmluZGV4IGY0M2Y0ZmZkLi4wNzIzZDViNSAxMDA2NDQKLS0t
IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9vdXRwdXQuYworKysgYi9wZmluZXQv
bGludXgtc3JjL25ldC9pcHY0L2lwX291dHB1dC5jCkBAIC0xMDEsNyArMTAxLDYgQEAgdm9p
ZCBpcF9idWlsZF9hbmRfc2VuZF9wa3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHNv
Y2sgKnNrLAogewogCXN0cnVjdCBydGFibGUgKnJ0ID0gKHN0cnVjdCBydGFibGUgKilza2It
PmRzdDsKIAlzdHJ1Y3QgaXBoZHIgKmlwaDsKLQlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJCiAJ
LyogQnVpbGQgdGhlIElQIGhlYWRlci4gKi8KIAlpZiAob3B0KQpAQCAtMTI4LDEwICsxMjcs
MTAgQEAgdm9pZCBpcF9idWlsZF9hbmRfc2VuZF9wa3Qoc3RydWN0IHNrX2J1ZmYgKnNrYiwg
c3RydWN0IHNvY2sgKnNrLAogCQlpcF9vcHRpb25zX2J1aWxkKHNrYiwgb3B0LCBkYWRkciwg
cnQsIDApOwogCX0KIAotCWRldiA9IHJ0LT51LmRzdC5kZXY7Ci0KICNpZmRlZiBDT05GSUdf
RklSRVdBTEwKIAkvKiBOb3cgd2UgaGF2ZSBubyBiZXR0ZXIgbWVjaGFuaXNtIHRvIG5vdGlm
eSBhYm91dCBlcnJvci4gKi8KKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBydC0+dS5kc3QuZGV2
OworCiAJc3dpdGNoIChjYWxsX291dF9maXJld2FsbChQRl9JTkVULCBkZXYsIGlwaCwgTlVM
TCwgJnNrYikpIHsKIAljYXNlIEZXX1JFSkVDVDoKIAkJaWNtcF9zZW5kKHNrYiwgSUNNUF9E
RVNUX1VOUkVBQ0gsIElDTVBfUE9SVF9VTlJFQUNILCAwKTsKQEAgLTQ4OCw3ICs0ODcsNyBA
QCBpbnQgaXBfYnVpbGRfeG1pdF9zbG93KHN0cnVjdCBzb2NrICpzaywKIAkgKi8KIAkgCiAJ
ZG8gewotCQljaGFyICpkYXRhOworCQl1bnNpZ25lZCBjaGFyICpkYXRhOwogCQlzdHJ1Y3Qg
c2tfYnVmZiAqIHNrYjsKIAogCQkvKgpAQCAtNTU1LDcgKzU1NCw3IEBAIGludCBpcF9idWls
ZF94bWl0X3Nsb3coc3RydWN0IHNvY2sgKnNrLAogCQkgKglVc2VyIGRhdGEgY2FsbGJhY2sK
IAkJICovCiAKLQkJaWYgKGdldGZyYWcoZnJhZywgZGF0YSwgb2Zmc2V0LCBmcmFnbGVuLWZy
YWdoZWFkZXJsZW4pKSB7CisJCWlmIChnZXRmcmFnKGZyYWcsIChjaGFyICopIGRhdGEsIG9m
ZnNldCwgZnJhZ2xlbi1mcmFnaGVhZGVybGVuKSkgewogCQkJZXJyID0gLUVGQVVMVDsKIAkJ
CWtmcmVlX3NrYihza2IpOwogCQkJZ290byBlcnJvcjsKZGlmZiAtLWdpdCBhL3BmaW5ldC9s
aW51eC1zcmMvbmV0L2lwdjQvaXBfc29ja2dsdWUuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0
L2lwdjQvaXBfc29ja2dsdWUuYwppbmRleCAzNjlhNjc3MC4uYmFjOTA3NjYgMTAwNjQ0Ci0t
LSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvaXBfc29ja2dsdWUuYworKysgYi9wZmlu
ZXQvbGludXgtc3JjL25ldC9pcHY0L2lwX3NvY2tnbHVlLmMKQEAgLTQwNSw3ICs0MDUsNyBA
QCBpbnQgaXBfc2V0c29ja29wdChzdHJ1Y3Qgc29jayAqc2ssIGludCBsZXZlbCwgaW50IG9w
dG5hbWUsIGNoYXIgKm9wdHZhbCwgaW50IG9wdAogCQkJc3RydWN0IGlwX29wdGlvbnMgKiBv
cHQgPSBOVUxMOwogCQkJaWYgKG9wdGxlbiA+IDQwIHx8IG9wdGxlbiA8IDApCiAJCQkJcmV0
dXJuIC1FSU5WQUw7Ci0JCQllcnIgPSBpcF9vcHRpb25zX2dldCgmb3B0LCBvcHR2YWwsIG9w
dGxlbiwgMSk7CisJCQllcnIgPSBpcF9vcHRpb25zX2dldCgmb3B0LCAodW5zaWduZWQgY2hh
ciAqKSBvcHR2YWwsIG9wdGxlbiwgMSk7CiAJCQlpZiAoZXJyKQogCQkJCXJldHVybiBlcnI7
CiAJCQlsb2NrX3NvY2soc2spOwpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQv
aXB2NC9yYXcuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvcmF3LmMKaW5kZXggYTBh
YWE4MmUuLjU0NjBmZjM1IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0
L3Jhdy5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvcmF3LmMKQEAgLTIxMCw3
ICsyMTAsNyBAQCBzdHJ1Y3QgcmF3ZmFrZWhkcgogc3RhdGljIGludCByYXdfZ2V0ZnJhZyhj
b25zdCB2b2lkICpwLCBjaGFyICp0bywgdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQg
aW50IGZyYWdsZW4pCiB7CiAJc3RydWN0IHJhd2Zha2VoZHIgKnJmaCA9IChzdHJ1Y3QgcmF3
ZmFrZWhkciAqKSBwOwotCXJldHVybiBtZW1jcHlfZnJvbWlvdmVjZW5kKHRvLCByZmgtPmlv
diwgb2Zmc2V0LCBmcmFnbGVuKTsKKwlyZXR1cm4gbWVtY3B5X2Zyb21pb3ZlY2VuZCgodW5z
aWduZWQgY2hhciAqKSB0bywgcmZoLT5pb3YsIG9mZnNldCwgZnJhZ2xlbik7CiB9CiAKIC8q
CkBAIC0yMjEsNyArMjIxLDcgQEAgc3RhdGljIGludCByYXdfZ2V0cmF3ZnJhZyhjb25zdCB2
b2lkICpwLCBjaGFyICp0bywgdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQKIHsKIAlz
dHJ1Y3QgcmF3ZmFrZWhkciAqcmZoID0gKHN0cnVjdCByYXdmYWtlaGRyICopIHA7CiAKLQlp
ZiAobWVtY3B5X2Zyb21pb3ZlY2VuZCh0bywgcmZoLT5pb3YsIG9mZnNldCwgZnJhZ2xlbikp
CisJaWYgKG1lbWNweV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgdG8sIHJmaC0+
aW92LCBvZmZzZXQsIGZyYWdsZW4pKQogCQlyZXR1cm4gLUVGQVVMVDsKIAogCWlmIChvZmZz
ZXQ9PTApIHsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwLmMg
Yi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L3RjcC5jCmluZGV4IDEzZTU3OTU0Li41YTA0
YzJkMiAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3AuYworKysg
Yi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L3RjcC5jCkBAIC04NjMsNyArODYzLDggQEAg
aW50IHRjcF9kb19zZW5kbXNnKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IG1zZ2hkciAqbXNn
KQogCQkJCQl9IGVsc2UgewogCQkJCQkJc2tiLT5jc3VtID0KIAkJCQkJCQljc3VtX2FuZF9j
b3B5X2Zyb21fdXNlcigKLQkJCQkJCQlmcm9tLCBza2JfcHV0KHNrYiwgY29weSksCisJCQkJ
CQkJKGNvbnN0IGNoYXIgKikgZnJvbSwKKwkJCQkJCQkoY2hhciAqKSBza2JfcHV0KHNrYiwg
Y29weSksCiAJCQkJCQkJY29weSwgc2tiLT5jc3VtLCAmZXJyKTsKIAkJCQkJfQogCkBAIC05
NzYsOCArOTc3LDggQEAgaW50IHRjcF9kb19zZW5kbXNnKHN0cnVjdCBzb2NrICpzaywgc3Ry
dWN0IG1zZ2hkciAqbXNnKQogCQkJICogUmVzZXJ2ZSBoZWFkZXIgc3BhY2UgYW5kIGNoZWNr
c3VtIHRoZSBkYXRhLgogCQkJICovCiAJCQlza2JfcmVzZXJ2ZShza2IsIE1BWF9IRUFERVIg
KyBzay0+cHJvdC0+bWF4X2hlYWRlcik7Ci0JCQlza2ItPmNzdW0gPSBjc3VtX2FuZF9jb3B5
X2Zyb21fdXNlcihmcm9tLAotCQkJCQlza2JfcHV0KHNrYiwgY29weSksIGNvcHksIDAsICZl
cnIpOworCQkJc2tiLT5jc3VtID0gY3N1bV9hbmRfY29weV9mcm9tX3VzZXIoKGNvbnN0IGNo
YXIgKikgZnJvbSwKKwkJCQkJKGNoYXIgKikgc2tiX3B1dChza2IsIGNvcHkpLCBjb3B5LCAw
LCAmZXJyKTsKIAogCQkJaWYgKGVycikKIAkJCQlnb3RvIGRvX2ZhdWx0OwpAQCAtMTA2OSw3
ICsxMDcwLDcgQEAgc3RhdGljIGludCB0Y3BfcmVjdl91cmcoc3RydWN0IHNvY2sgKiBzaywg
aW50IG5vbmJsb2NrLAogCWxvY2tfc29jayhzayk7CiAJaWYgKHRwLT51cmdfZGF0YSAmIFVS
R19WQUxJRCkgewogCQlpbnQgZXJyID0gMDsKLQkJY2hhciBjID0gdHAtPnVyZ19kYXRhOwor
CQl1bnNpZ25lZCBjaGFyIGMgPSB0cC0+dXJnX2RhdGE7CiAKIAkJaWYgKCEoZmxhZ3MgJiBN
U0dfUEVFSykpCiAJCQl0cC0+dXJnX2RhdGEgPSBVUkdfUkVBRDsKZGlmZiAtLWdpdCBhL3Bm
aW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX2lwdjQuYyBiL3BmaW5ldC9saW51eC1zcmMv
bmV0L2lwdjQvdGNwX2lwdjQuYwppbmRleCBhYzU1NTQ3YS4uODI5NjZiMzAgMTAwNjQ0Ci0t
LSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX2lwdjQuYworKysgYi9wZmluZXQv
bGludXgtc3JjL25ldC9pcHY0L3RjcF9pcHY0LmMKQEAgLTk2NSw3ICs5NjUsOCBAQCB2b2lk
IHRjcF92NF9zZW5kX2NoZWNrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHRjcGhkciAqdGgs
IGludCBsZW4sCiB7CiAJdGgtPmNoZWNrID0gMDsKIAl0aC0+Y2hlY2sgPSB0Y3BfdjRfY2hl
Y2sodGgsIGxlbiwgc2stPnNhZGRyLCBzay0+ZGFkZHIsCi0JCQkJIGNzdW1fcGFydGlhbCgo
Y2hhciAqKXRoLCB0aC0+ZG9mZjw8Miwgc2tiLT5jc3VtKSk7CisJCQkJIGNzdW1fcGFydGlh
bCgoY29uc3QgdW5zaWduZWQgY2hhciAqKSB0aCwKKwkJCQkJICAgICAgdGgtPmRvZmY8PDIs
IHNrYi0+Y3N1bSkpOwogfQogCiAvKgpAQCAtMTE3Nyw3ICsxMTc4LDggQEAgc3RhdGljIHZv
aWQgdGNwX3Y0X3NlbmRfc3luYWNrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IG9wZW5fcmVx
dWVzdCAqcmVxKQogCiAJCXRoLT5jaGVjayA9IHRjcF92NF9jaGVjayh0aCwgc2tiLT5sZW4s
CiAJCQkJCSByZXEtPmFmLnY0X3JlcS5sb2NfYWRkciwgcmVxLT5hZi52NF9yZXEucm10X2Fk
ZHIsCi0JCQkJCSBjc3VtX3BhcnRpYWwoKGNoYXIgKil0aCwgc2tiLT5sZW4sIHNrYi0+Y3N1
bSkpOworCQkJCQkgY3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFyICopIHRoLCBz
a2ItPmxlbiwKKwkJCQkJCSAgICAgIHNrYi0+Y3N1bSkpOwogCiAJCWlwX2J1aWxkX2FuZF9z
ZW5kX3BrdChza2IsIHNrLCByZXEtPmFmLnY0X3JlcS5sb2NfYWRkciwKIAkJCQkgICAgICBy
ZXEtPmFmLnY0X3JlcS5ybXRfYWRkciwgcmVxLT5hZi52NF9yZXEub3B0KTsKQEAgLTE3MjMs
NyArMTcyNSw3IEBAIGludCB0Y3BfdjRfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHVuc2ln
bmVkIHNob3J0IGxlbikKIAkvKiBUcnkgdG8gdXNlIHRoZSBkZXZpY2UgY2hlY2tzdW0gaWYg
cHJvdmlkZWQuICovCiAJc3dpdGNoIChza2ItPmlwX3N1bW1lZCkgewogCWNhc2UgQ0hFQ0tT
VU1fTk9ORToKLQkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsKChjaGFyICopdGgsIGxlbiwg
MCk7CisJCXNrYi0+Y3N1bSA9IGNzdW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAq
KSB0aCwgbGVuLCAwKTsKIAljYXNlIENIRUNLU1VNX0hXOgogCQlpZiAodGNwX3Y0X2NoZWNr
KHRoLGxlbixza2ItPm5oLmlwaC0+c2FkZHIsc2tiLT5uaC5pcGgtPmRhZGRyLHNrYi0+Y3N1
bSkpIHsKIAkJCU5FVERFQlVHKHByaW50ayhLRVJOX0RFQlVHICJUQ1B2NCBiYWQgY2hlY2tz
dW0gIgpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3Bfb3V0cHV0
LmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L3RjcF9vdXRwdXQuYwppbmRleCBhMTVi
N2IzMC4uY2RiNDIwNGEgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQv
dGNwX291dHB1dC5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX291dHB1
dC5jCkBAIC0yMzAsNyArMjMwLDggQEAgc3RhdGljIGludCB0Y3BfZnJhZ21lbnQoc3RydWN0
IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgbGVuKQogCVRDUF9TS0JfQ0Io
YnVmZiktPnNhY2tlZCA9IDA7CiAKIAkvKiBDb3B5IGFuZCBjaGVja3N1bSBkYXRhIHRhaWwg
aW50byB0aGUgbmV3IGJ1ZmZlci4gKi8KLQlidWZmLT5jc3VtID0gY3N1bV9wYXJ0aWFsX2Nv
cHkoc2tiLT5kYXRhICsgbGVuLCBza2JfcHV0KGJ1ZmYsIG5zaXplKSwKKwlidWZmLT5jc3Vt
ID0gY3N1bV9wYXJ0aWFsX2NvcHkoKGNvbnN0IGNoYXIgKikgc2tiLT5kYXRhICsgbGVuLAor
CQkJCSAgICAgICAoY2hhciAqKSBza2JfcHV0KGJ1ZmYsIG5zaXplKSwKIAkJCQkgICAgICAg
bnNpemUsIDApOwogCiAJLyogVGhpcyB0YWtlcyBjYXJlIG9mIHRoZSBGSU4gc2VxdWVuY2Ug
bnVtYmVyIHRvby4gKi8KQEAgLTQ5NSw4ICs0OTYsOCBAQCBzdGF0aWMgdm9pZCB0Y3BfcmV0
cmFuc190cnlfY29sbGFwc2Uoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2ti
LCBpbnQgbQogCQkJLyogT3B0aW1pemUsIGFjdHVhbGx5IHdlIGNvdWxkIGFsc28gY29tYmlu
ZSBuZXh0X3NrYi0+Y3N1bQogCQkJICogdG8gc2tiLT5jc3VtIHVzaW5nIGEgc2luZ2xlIGFk
ZCB3L2NhcnJ5IG9wZXJhdGlvbiB0b28uCiAJCQkgKi8KLQkJCXNrYi0+Y3N1bSA9IGNzdW1f
cGFydGlhbF9jb3B5KG5leHRfc2tiLT5kYXRhLAotCQkJCQkJICAgICAgc2tiX3B1dChza2Is
IG5leHRfc2tiX3NpemUpLAorCQkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsX2NvcHkoKGNv
bnN0IGNoYXIgKikgbmV4dF9za2ItPmRhdGEsCisJCQkJCQkgICAgICAoY2hhciAqKSBza2Jf
cHV0KHNrYiwgbmV4dF9za2Jfc2l6ZSksCiAJCQkJCQkgICAgICBuZXh0X3NrYl9zaXplLCBz
a2ItPmNzdW0pOwogCQl9CiAJCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9p
cHY0L3VkcC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC91ZHAuYwppbmRleCA1MmJh
ZTE4ZS4uNmM3NzQxMmIgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQv
dWRwLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC91ZHAuYwpAQCAtNTA2LDEw
ICs1MDYsMTIgQEAgc3RhdGljIGludCB1ZHBfZ2V0ZnJhZyhjb25zdCB2b2lkICpwLCBjaGFy
ICogdG8sIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGkKIHsKIAlzdHJ1Y3QgdWRw
ZmFrZWhkciAqdWZoID0gKHN0cnVjdCB1ZHBmYWtlaGRyICopcDsKIAlpZiAob2Zmc2V0PT0w
KSB7Ci0JCWlmIChjc3VtX3BhcnRpYWxfY29weV9mcm9taW92ZWNlbmQodG8rc2l6ZW9mKHN0
cnVjdCB1ZHBoZHIpLCB1ZmgtPmlvdiwgb2Zmc2V0LAotCQkJCQkJICAgZnJhZ2xlbi1zaXpl
b2Yoc3RydWN0IHVkcGhkciksICZ1ZmgtPndjaGVjaykpCisJCWlmIChjc3VtX3BhcnRpYWxf
Y29weV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgdG8rc2l6ZW9mKHN0cnVjdCB1
ZHBoZHIpLAorCQkJCQkJICAgdWZoLT5pb3YsIG9mZnNldCwKKwkJCQkJCSAgIGZyYWdsZW4t
c2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAorCQkJCQkJICAgKGludCAqKSAmdWZoLT53Y2hlY2sp
KQogCQkJcmV0dXJuIC1FRkFVTFQ7Ci0gCQl1ZmgtPndjaGVjayA9IGNzdW1fcGFydGlhbCgo
Y2hhciAqKXVmaCwgc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAorCQl1ZmgtPndjaGVjayA9IGNz
dW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAqKSB1ZmgsIHNpemVvZihzdHJ1Y3Qg
dWRwaGRyKSwKIAkJCQkJICAgdWZoLT53Y2hlY2spOwogCQl1ZmgtPnVoLmNoZWNrID0gY3N1
bV90Y3B1ZHBfbWFnaWModWZoLT5zYWRkciwgdWZoLT5kYWRkciwKIAkJCQkJICBudG9ocyh1
ZmgtPnVoLmxlbiksCkBAIC01MTksOCArNTIxLDkgQEAgc3RhdGljIGludCB1ZHBfZ2V0ZnJh
Zyhjb25zdCB2b2lkICpwLCBjaGFyICogdG8sIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2ln
bmVkIGkKIAkJbWVtY3B5KHRvLCB1ZmgsIHNpemVvZihzdHJ1Y3QgdWRwaGRyKSk7CiAJCXJl
dHVybiAwOwogCX0KLQlpZiAoY3N1bV9wYXJ0aWFsX2NvcHlfZnJvbWlvdmVjZW5kKHRvLCB1
ZmgtPmlvdiwgb2Zmc2V0LXNpemVvZihzdHJ1Y3QgdWRwaGRyKSwKLQkJCQkJICAgZnJhZ2xl
biwgJnVmaC0+d2NoZWNrKSkKKwlpZiAoY3N1bV9wYXJ0aWFsX2NvcHlfZnJvbWlvdmVjZW5k
KCh1bnNpZ25lZCBjaGFyICopIHRvLCB1ZmgtPmlvdiwKKwkJCQkJICAgb2Zmc2V0LXNpemVv
ZihzdHJ1Y3QgdWRwaGRyKSwKKwkJCQkJICAgZnJhZ2xlbiwgKGludCAqKSAmdWZoLT53Y2hl
Y2spKQogCQlyZXR1cm4gLUVGQVVMVDsKIAlyZXR1cm4gMDsKIH0KQEAgLTUzOCwxMCArNTQx
LDExIEBAIHN0YXRpYyBpbnQgdWRwX2dldGZyYWdfbm9zdW0oY29uc3Qgdm9pZCAqcCwgY2hh
ciAqIHRvLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpCiAKIAlpZiAob2Zmc2V0PT0wKSB7
CiAJCW1lbWNweSh0bywgdWZoLCBzaXplb2Yoc3RydWN0IHVkcGhkcikpOwotCQlyZXR1cm4g
bWVtY3B5X2Zyb21pb3ZlY2VuZCh0bytzaXplb2Yoc3RydWN0IHVkcGhkciksIHVmaC0+aW92
LCBvZmZzZXQsCisJCXJldHVybiBtZW1jcHlfZnJvbWlvdmVjZW5kKCh1bnNpZ25lZCBjaGFy
ICopIHRvK3NpemVvZihzdHJ1Y3QgdWRwaGRyKSwKKwkJCQkJICAgdWZoLT5pb3YsIG9mZnNl
dCwKIAkJCQkJICAgZnJhZ2xlbi1zaXplb2Yoc3RydWN0IHVkcGhkcikpOwogCX0KLQlyZXR1
cm4gbWVtY3B5X2Zyb21pb3ZlY2VuZCh0bywgdWZoLT5pb3YsIG9mZnNldC1zaXplb2Yoc3Ry
dWN0IHVkcGhkciksCisJcmV0dXJuIG1lbWNweV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNo
YXIgKikgdG8sIHVmaC0+aW92LCBvZmZzZXQtc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAogCQkJ
CSAgIGZyYWdsZW4pOwogfQogCkBAIC0xMTAyLDcgKzExMDYsNyBAQCBpbnQgdWRwX3Jjdihz
dHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBzaG9ydCBsZW4pCiAJaWYgKHVoLT5jaGVj
ayAmJgogCSAgICAoKChza2ItPmlwX3N1bW1lZD09Q0hFQ0tTVU1fSFcpJiZ1ZHBfY2hlY2so
dWgsdWxlbixzYWRkcixkYWRkcixza2ItPmNzdW0pKSB8fAogCSAgICAgKChza2ItPmlwX3N1
bW1lZD09Q0hFQ0tTVU1fTk9ORSkgJiYKLQkgICAgICAodWRwX2NoZWNrKHVoLHVsZW4sc2Fk
ZHIsZGFkZHIsIGNzdW1fcGFydGlhbCgoY2hhciopdWgsIHVsZW4sIDApKSkpKSkKKwkgICAg
ICAodWRwX2NoZWNrKHVoLHVsZW4sc2FkZHIsZGFkZHIsIGNzdW1fcGFydGlhbCgoY29uc3Qg
dW5zaWduZWQgY2hhciopIHVoLCB1bGVuLCAwKSkpKSkpCiAJCWdvdG8gY3N1bV9lcnJvcjsK
ICNlbHNlCiAJaWYgKHVoLT5jaGVjaz09MCkKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1z
cmMvbmV0L2lwdjYvYWRkcmNvbmYuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvYWRk
cmNvbmYuYwppbmRleCBkMzkyYjNmZC4uNjFhMzMzY2IgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9s
aW51eC1zcmMvbmV0L2lwdjYvYWRkcmNvbmYuYworKysgYi9wZmluZXQvbGludXgtc3JjL25l
dC9pcHY2L2FkZHJjb25mLmMKQEAgLTI2NCw2ICsyNjQsNyBAQCBzdHJ1Y3QgaW5ldDZfZGV2
ICogaXB2Nl9maW5kX2lkZXYoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBpZGV2Owog
fQogCisjaWYgMAogc3RhdGljIHZvaWQgYWRkcmNvbmZfZm9yd2FyZF9jaGFuZ2Uoc3RydWN0
IGluZXQ2X2RldiAqaWRldikKIHsKIAlpbnQgaTsKQEAgLTI3Niw2ICsyNzcsNyBAQCBzdGF0
aWMgdm9pZCBhZGRyY29uZl9mb3J3YXJkX2NoYW5nZShzdHJ1Y3QgaW5ldDZfZGV2ICppZGV2
KQogCQkJaWRldi0+Y25mLmZvcndhcmRpbmcgPSBpcHY2X2RldmNvbmYuZm9yd2FyZGluZzsK
IAl9CiB9CisjZW5kaWYKIAogc3RydWN0IGluZXQ2X2RldiAqIGlwdjZfZ2V0X2lkZXYoc3Ry
dWN0IGRldmljZSAqZGV2KQogewpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQv
aXB2Ni9pY21wdjYuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvaWNtcHY2LmMKaW5k
ZXggOWQ3MDE3NjQuLjM4ZDkzZmFhIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25l
dC9pcHY2L2ljbXB2Ni5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvaWNtcHY2
LmMKQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0aWMgdm9pZCBpY21wdjZfZWNob19yZXBseShz
dHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXVuc2lnbmVkIGNoYXIgKmRhdGE7CiAJaW50IGxlbjsK
IAotCWRhdGEgPSAoY2hhciAqKSAoaWNtcGggKyAxKTsKKwlkYXRhID0gKHVuc2lnbmVkIGNo
YXIgKikgKGljbXBoICsgMSk7CiAKIAlzYWRkciA9ICZoZHItPmRhZGRyOwogCkBAIC00NzQs
NyArNDc0LDcgQEAgaW50IGljbXB2Nl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWdu
ZWQgbG9uZyBsZW4pCiAJLyogUGVyZm9ybSBjaGVja3N1bS4gKi8KIAlzd2l0Y2ggKHNrYi0+
aXBfc3VtbWVkKSB7CQogCWNhc2UgQ0hFQ0tTVU1fTk9ORToKLQkJc2tiLT5jc3VtID0gY3N1
bV9wYXJ0aWFsKChjaGFyICopaGRyLCBsZW4sIDApOworCQlza2ItPmNzdW0gPSBjc3VtX3Bh
cnRpYWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgaGRyLCBsZW4sIDApOwogCWNhc2UgQ0hF
Q0tTVU1fSFc6CiAJCWlmIChjc3VtX2lwdjZfbWFnaWMoc2FkZHIsIGRhZGRyLCBsZW4sIElQ
UFJPVE9fSUNNUFY2LCAKIAkJCQkgICAgc2tiLT5jc3VtKSkgewpAQCAtNTQzLDcgKzU0Myw3
IEBAIGludCBpY21wdjZfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIGxvbmcg
bGVuKQogCWNhc2UgSUNNUFY2X1RJTUVfRVhDRUVEOgogCWNhc2UgSUNNUFY2X1BBUkFNUFJP
QjoKIAkJaWNtcHY2X25vdGlmeShza2IsIHR5cGUsIGhkci0+aWNtcDZfY29kZSwgaGRyLT5p
Y21wNl9tdHUsCi0JCQkgICAgICAoY2hhciAqKSAoaGRyICsgMSksIHVsZW4pOworCQkJICAg
ICAgKHVuc2lnbmVkIGNoYXIgKikgKGhkciArIDEpLCB1bGVuKTsKIAkJYnJlYWs7CiAKIAlj
YXNlIE5ESVNDX1JPVVRFUl9TT0xJQ0lUQVRJT046CkBAIC01NzksNyArNTc5LDcgQEAgaW50
IGljbXB2Nl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgbG9uZyBsZW4pCiAJ
CSAqLwogCiAJCWljbXB2Nl9ub3RpZnkoc2tiLCB0eXBlLCBoZHItPmljbXA2X2NvZGUsIGhk
ci0+aWNtcDZfbXR1LAotCQkJICAgICAgKGNoYXIgKikgKGhkciArIDEpLCB1bGVuKTsKKwkJ
CSAgICAgICh1bnNpZ25lZCBjaGFyICopIChoZHIgKyAxKSwgdWxlbik7CiAJfTsKIAlrZnJl
ZV9za2Ioc2tiKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMv
bmV0L2lwdjYvaXA2X291dHB1dC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pcDZf
b3V0cHV0LmMKaW5kZXggZTA2YWQ1OWEuLmIyZTc4MTEzIDEwMDY0NAotLS0gYS9wZmluZXQv
bGludXgtc3JjL25ldC9pcHY2L2lwNl9vdXRwdXQuYworKysgYi9wZmluZXQvbGludXgtc3Jj
L25ldC9pcHY2L2lwNl9vdXRwdXQuYwpAQCAtMTgxLDEzICsxODEsMTAgQEAgaW50IGlwNl9u
ZF9oZHIoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZGV2
aWNlICpkZXYsCiB7CiAJc3RydWN0IGlwdjZfcGluZm8gKm5wID0gJnNrLT5uZXRfcGluZm8u
YWZfaW5ldDY7CiAJc3RydWN0IGlwdjZoZHIgKmhkcjsKLQlpbnQgdG90bGVuOwogCiAJc2ti
LT5wcm90b2NvbCA9IF9fY29uc3RhbnRfaHRvbnMoRVRIX1BfSVBWNik7CiAJc2tiLT5kZXYg
PSBkZXY7CiAKLQl0b3RsZW4gPSBsZW4gKyBzaXplb2Yoc3RydWN0IGlwdjZoZHIpOwotCiAJ
aGRyID0gKHN0cnVjdCBpcHY2aGRyICopIHNrYl9wdXQoc2tiLCBzaXplb2Yoc3RydWN0IGlw
djZoZHIpKTsKIAlza2ItPm5oLmlwdjZoID0gaGRyOwogCkBAIC0zNDQsNyArMzQxLDcgQEAg
c3RhdGljIGludCBpcDZfZnJhZ194bWl0KHN0cnVjdCBzb2NrICpzaywgaW5ldF9nZXRmcmFn
X3QgZ2V0ZnJhZywKIAlwcmV2X2hkciA9IGlwdjZfYnVpbGRfZnJhZ2hkcihsYXN0X3NrYiwg
cHJldl9oZHIsIGZyYWdfb2ZmKTsKIAlmaGRyX2Rpc3QgPSBwcmV2X2hkciAtIGxhc3Rfc2ti
LT5kYXRhOwogCi0JZXJyID0gZ2V0ZnJhZyhkYXRhLCAmaGRyLT5zYWRkciwgbGFzdF9za2It
PnRhaWwsIGRhdGFfb2ZmLCBsYXN0X2xlbik7CisJZXJyID0gZ2V0ZnJhZyhkYXRhLCAmaGRy
LT5zYWRkciwgKGNoYXIgKikgbGFzdF9za2ItPnRhaWwsIGRhdGFfb2ZmLCBsYXN0X2xlbik7
CiAKIAlpZiAoIWVycikgewogCQl3aGlsZSAobmZyYWdzLS0pIHsKQEAgLTM3NSw3ICszNzIs
NyBAQCBzdGF0aWMgaW50IGlwNl9mcmFnX3htaXQoc3RydWN0IHNvY2sgKnNrLCBpbmV0X2dl
dGZyYWdfdCBnZXRmcmFnLAogCQkJCWRhdGFfb2ZmID0gMDsKIAkJCX0KIAotCQkJZXJyID0g
Z2V0ZnJhZyhkYXRhLCAmaGRyLT5zYWRkcixza2JfcHV0KHNrYiwgZnJhZ19sZW4pLAorCQkJ
ZXJyID0gZ2V0ZnJhZyhkYXRhLCAmaGRyLT5zYWRkciwgKGNoYXIgKikgc2tiX3B1dChza2Is
IGZyYWdfbGVuKSwKIAkJCQkgICAgICBkYXRhX29mZiwgZnJhZ19sZW4pOwogCiAJCQlpZiAo
ZXJyKSB7CmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L21jYXN0LmMg
Yi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L21jYXN0LmMKaW5kZXggODdlOWU5MDkuLmNk
NDQ4ZDMxIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L21jYXN0LmMK
KysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9tY2FzdC5jCkBAIC00NTYsNyArNDU2
LDcgQEAgdm9pZCBpZ21wNl9zZW5kKHN0cnVjdCBpbjZfYWRkciAqYWRkciwgc3RydWN0IGRl
dmljZSAqZGV2LCBpbnQgdHlwZSkKIAlza2JfcmVzZXJ2ZShza2IsIChkZXYtPmhhcmRfaGVh
ZGVyX2xlbiArIDE1KSAmIH4xNSk7CiAJaWYgKGRldi0+aGFyZF9oZWFkZXIpIHsKIAkJdW5z
aWduZWQgY2hhciBoYVtNQVhfQUREUl9MRU5dOwotCQluZGlzY19tY19tYXAoc25kX2FkZHIs
IGhhLCBkZXYsIDEpOworCQluZGlzY19tY19tYXAoc25kX2FkZHIsIChjaGFyICopIGhhLCBk
ZXYsIDEpOwogCQlkZXYtPmhhcmRfaGVhZGVyKHNrYiwgZGV2LCBFVEhfUF9JUFY2LCBoYSwg
TlVMTCwgZnVsbF9sZW4pOwogCX0KIApkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9u
ZXQvaXB2Ni9uZGlzYy5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9uZGlzYy5jCmlu
ZGV4IDYxZjk1MGQyLi5kOWZhNDdjMSAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9u
ZXQvaXB2Ni9uZGlzYy5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvbmRpc2Mu
YwpAQCAtMTkyLDcgKzE5Miw3IEBAIHN0YXRpYyBpbnQgbmRpc2NfY29uc3RydWN0b3Ioc3Ry
dWN0IG5laWdoYm91ciAqbmVpZ2gpCiAJfSBlbHNlIHsKIAkJaWYgKGFkZHJfdHlwZSZJUFY2
X0FERFJfTVVMVElDQVNUKSB7CiAJCQluZWlnaC0+bnVkX3N0YXRlID0gTlVEX05PQVJQOwot
CQkJbmRpc2NfbWNfbWFwKGFkZHIsIG5laWdoLT5oYSwgZGV2LCAxKTsKKwkJCW5kaXNjX21j
X21hcChhZGRyLCAoY2hhciAqKSBuZWlnaC0+aGEsIGRldiwgMSk7CiAJCX0gZWxzZSBpZiAo
ZGV2LT5mbGFncyYoSUZGX05PQVJQfElGRl9MT09QQkFDSykpIHsKIAkJCW5laWdoLT5udWRf
c3RhdGUgPSBOVURfTk9BUlA7CiAJCQltZW1jcHkobmVpZ2gtPmhhLCBkZXYtPmRldl9hZGRy
LCBkZXYtPmFkZHJfbGVuKTsKQEAgLTI2NSw3ICsyNjUsNyBAQCBuZGlzY19idWlsZF9sbF9o
ZHIoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGRldmljZSAqZGV2LAogCiAJaWYgKGRl
di0+aGFyZF9oZWFkZXIpIHsKIAkJaWYgKGlwdjZfYWRkcl90eXBlKGRhZGRyKSAmIElQVjZf
QUREUl9NVUxUSUNBU1QpIHsKLQkJCW5kaXNjX21jX21hcChkYWRkciwgaGEsIGRldiwgMSk7
CisJCQluZGlzY19tY19tYXAoZGFkZHIsIChjaGFyICopIGhhLCBkZXYsIDEpOwogCQkJaF9k
ZXN0ID0gaGE7CiAJCX0gZWxzZSBpZiAobmVpZ2gpIHsKIAkJCWhfZGVzdCA9IG5laWdoLT5o
YTsKQEAgLTc4Miw3ICs3ODIsNiBAQCB2b2lkIG5kaXNjX3NlbmRfcmVkaXJlY3Qoc3RydWN0
IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5laWdoYm91ciAqbmVpZ2gsCiAJdTggKm9wdDsKIAlp
bnQgcmRfbGVuOwogCWludCBlcnI7Ci0JaW50IGhsZW47CiAKIAlkZXYgPSBza2ItPmRldjsK
IAlydCA9IHJ0Nl9sb29rdXAoJnNrYi0+bmguaXB2NmgtPnNhZGRyLCBOVUxMLCBkZXYtPmlm
aW5kZXgsIDEpOwpAQCAtODMxLDggKzgzMCw2IEBAIHZvaWQgbmRpc2Nfc2VuZF9yZWRpcmVj
dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmVpZ2hib3VyICpuZWlnaCwKIAkJcmV0
dXJuOwogCX0KIAotCWhsZW4gPSAwOwotCiAJaWYgKG5kaXNjX2J1aWxkX2xsX2hkcihidWZm
LCBkZXYsICZza2ItPm5oLmlwdjZoLT5zYWRkciwgTlVMTCwgbGVuKSA9PSAwKSB7CiAJCWtm
cmVlX3NrYihidWZmKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNy
Yy9uZXQvaXB2Ni9yYXdfaXB2Ni5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9yYXdf
aXB2Ni5jCmluZGV4IDY0YmMyNDdjLi5lOWE2NDE3MCAxMDA2NDQKLS0tIGEvcGZpbmV0L2xp
bnV4LXNyYy9uZXQvaXB2Ni9yYXdfaXB2Ni5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0
L2lwdjYvcmF3X2lwdjYuYwpAQCAtMzA4LDcgKzMwOCw3IEBAIHN0YXRpYyBpbnQgcmF3djZf
Z2V0ZnJhZyhjb25zdCB2b2lkICpkYXRhLCBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRyLAogewog
CXN0cnVjdCBpb3ZlYyAqaW92ID0gKHN0cnVjdCBpb3ZlYyAqKSBkYXRhOwogCi0JcmV0dXJu
IG1lbWNweV9mcm9taW92ZWNlbmQoYnVmZiwgaW92LCBvZmZzZXQsIGxlbik7CisJcmV0dXJu
IG1lbWNweV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgYnVmZiwgaW92LCBvZmZz
ZXQsIGxlbik7CiB9CiAKIHN0YXRpYyBpbnQgcmF3djZfZnJhZ19ja3N1bShjb25zdCB2b2lk
ICpkYXRhLCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCkBAIC0zMTcsOCArMzE3LDggQEAgc3Rh
dGljIGludCByYXd2Nl9mcmFnX2Nrc3VtKGNvbnN0IHZvaWQgKmRhdGEsIHN0cnVjdCBpbjZf
YWRkciAqYWRkciwKIHsKIAlzdHJ1Y3QgcmF3djZfZmFrZWhkciAqaGRyID0gKHN0cnVjdCBy
YXd2Nl9mYWtlaGRyICopIGRhdGE7CiAJCi0JaWYgKGNzdW1fcGFydGlhbF9jb3B5X2Zyb21p
b3ZlY2VuZChidWZmLCBoZHItPmlvdiwgb2Zmc2V0LCAKLQkJCQkJCSAgICBsZW4sICZoZHIt
PmNrc3VtKSkKKwlpZiAoY3N1bV9wYXJ0aWFsX2NvcHlfZnJvbWlvdmVjZW5kKCh1bnNpZ25l
ZCBjaGFyICopIGJ1ZmYsIGhkci0+aW92LCBvZmZzZXQsCisJCQkJCQkgICAgbGVuLCAoaW50
ICopICZoZHItPmNrc3VtKSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJCiAJaWYgKG9mZnNldCA9
PSAwKSB7CmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3RjcF9pcHY2
LmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3RjcF9pcHY2LmMKaW5kZXggY2NhNWFi
ZjQuLmRmODMyMDk4IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3Rj
cF9pcHY2LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni90Y3BfaXB2Ni5jCkBA
IC0xNjksNyArMTY5LDYgQEAgc3RhdGljIGludCB0Y3BfdjZfZ2V0X3BvcnQoc3RydWN0IHNv
Y2sgKnNrLCB1bnNpZ25lZCBzaG9ydCBzbnVtKQogCQl9IGVsc2UgewogCQkJc3RydWN0IHNv
Y2sgKnNrMiA9IHRiLT5vd25lcnM7CiAJCQlpbnQgc2tfcmV1c2UgPSBzay0+cmV1c2U7Ci0J
CQlpbnQgYWRkcl90eXBlID0gaXB2Nl9hZGRyX3R5cGUoJnNrLT5uZXRfcGluZm8uYWZfaW5l
dDYucmN2X3NhZGRyKTsKIAogCQkJZm9yKCA7IHNrMiAhPSBOVUxMOyBzazIgPSBzazItPmJp
bmRfbmV4dCkgewogCQkJCWlmIChzay0+Ym91bmRfZGV2X2lmID09IHNrMi0+Ym91bmRfZGV2
X2lmKSB7CkBAIC04MTYsNyArODE1LDggQEAgc3RhdGljIHZvaWQgdGNwX3Y2X3NlbmRfc3lu
YWNrKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IG9wZW5fcmVxdWVzdCAqcmVxKQogCiAJCXRo
LT5jaGVjayA9IHRjcF92Nl9jaGVjayh0aCwgc2tiLT5sZW4sCiAJCQkJCSAmcmVxLT5hZi52
Nl9yZXEubG9jX2FkZHIsICZyZXEtPmFmLnY2X3JlcS5ybXRfYWRkciwKLQkJCQkJIGNzdW1f
cGFydGlhbCgoY2hhciAqKXRoLCBza2ItPmxlbiwgc2tiLT5jc3VtKSk7CisJCQkJCSBjc3Vt
X3BhcnRpYWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgdGgsIHNrYi0+bGVuLAorCQkJCQkJ
ICAgICAgc2tiLT5jc3VtKSk7CiAKIAkJZmwubmxfdS5pcDZfdS5kYWRkciA9ICZyZXEtPmFm
LnY2X3JlcS5ybXRfYWRkcjsKIAkJaXA2X3htaXQoc2ssIHNrYiwgJmZsLCBvcHQpOwpAQCAt
OTYwLDcgKzk2MCw3IEBAIHN0YXRpYyB2b2lkIHRjcF92Nl9zZW5kX2NoZWNrKHN0cnVjdCBz
b2NrICpzaywgc3RydWN0IHRjcGhkciAqdGgsIGludCBsZW4sCiAJdGgtPmNoZWNrID0gMDsK
IAkKIAl0aC0+Y2hlY2sgPSBjc3VtX2lwdjZfbWFnaWMoJm5wLT5zYWRkciwgJm5wLT5kYWRk
ciwgbGVuLCBJUFBST1RPX1RDUCwgCi0JCQkJICAgIGNzdW1fcGFydGlhbCgoY2hhciAqKXRo
LCB0aC0+ZG9mZjw8MiwgCisJCQkJICAgIGNzdW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQg
Y2hhciAqKSB0aCwgdGgtPmRvZmY8PDIsCiAJCQkJCQkgc2tiLT5jc3VtKSk7CiB9CiAKQEAg
LTExNTAsNyArMTE1MCw3IEBAIHN0YXRpYyB2b2lkIHRjcF92Nl9zZW5kX3Jlc2V0KHN0cnVj
dCBza19idWZmICpza2IpCiAJCQl0MS0+YWNrX3NlcSA9IGh0b25sKG50b2hsKHRoLT5zZXEp
KzEpOwogCX0KIAotCWJ1ZmYtPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNoYXIgKil0MSwgc2l6
ZW9mKCp0MSksIDApOworCWJ1ZmYtPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNvbnN0IHVuc2ln
bmVkIGNoYXIgKikgdDEsIHNpemVvZigqdDEpLCAwKTsKIAogCWZsLm5sX3UuaXA2X3UuZGFk
ZHIgPSAmc2tiLT5uaC5pcHY2aC0+c2FkZHI7CiAJZmwubmxfdS5pcDZfdS5zYWRkciA9ICZz
a2ItPm5oLmlwdjZoLT5kYWRkcjsKQEAgLTEyMDQsNyArMTIwNCw3IEBAIHN0YXRpYyB2b2lk
IHRjcF92Nl9zZW5kX2FjayhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX3UzMiBzZXEsIF9fdTMy
IGFjaywgX191MTYgd2luCiAKIAl0MS0+d2luZG93ID0gaHRvbnMod2luZG93KTsKIAotCWJ1
ZmYtPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNoYXIgKil0MSwgc2l6ZW9mKCp0MSksIDApOwor
CWJ1ZmYtPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgdDEs
IHNpemVvZigqdDEpLCAwKTsKIAogCWZsLm5sX3UuaXA2X3UuZGFkZHIgPSAmc2tiLT5uaC5p
cHY2aC0+c2FkZHI7CiAJZmwubmxfdS5pcDZfdS5zYWRkciA9ICZza2ItPm5oLmlwdjZoLT5k
YWRkcjsKQEAgLTE0NzIsNyArMTQ3Miw3IEBAIGludCB0Y3BfdjZfcmN2KHN0cnVjdCBza19i
dWZmICpza2IsIHVuc2lnbmVkIGxvbmcgbGVuKQogCiAJc3dpdGNoIChza2ItPmlwX3N1bW1l
ZCkgewogCWNhc2UgQ0hFQ0tTVU1fTk9ORToKLQkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFs
KChjaGFyICopdGgsIGxlbiwgMCk7CisJCXNrYi0+Y3N1bSA9IGNzdW1fcGFydGlhbCgoY29u
c3QgdW5zaWduZWQgY2hhciAqKSB0aCwgbGVuLCAwKTsKIAljYXNlIENIRUNLU1VNX0hXOgog
CQlpZiAodGNwX3Y2X2NoZWNrKHRoLGxlbixzYWRkcixkYWRkcixza2ItPmNzdW0pKSB7CiAJ
CQlwcmludGsoS0VSTl9ERUJVRyAidGNwIGNzdW0gZmFpbGVkXG4iKTsKZGlmZiAtLWdpdCBh
L3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdWRwX2lwdjYuYyBiL3BmaW5ldC9saW51eC1z
cmMvbmV0L2lwdjYvdWRwX2lwdjYuYwppbmRleCA2ZDRiYmRiOS4uZjU5YzAwMTQgMTAwNjQ0
Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdWRwX2lwdjYuYworKysgYi9wZmlu
ZXQvbGludXgtc3JjL25ldC9pcHY2L3VkcF9pcHY2LmMKQEAgLTEzNCw3ICsxMzQsNiBAQCBn
b3RpdDoKIAkJc251bSA9IHJlc3VsdDsKIAl9IGVsc2UgewogCQlzdHJ1Y3Qgc29jayAqc2sy
OwotCQlpbnQgYWRkcl90eXBlID0gaXB2Nl9hZGRyX3R5cGUoJnNrLT5uZXRfcGluZm8uYWZf
aW5ldDYucmN2X3NhZGRyKTsKIAogCQlmb3IgKHNrMiA9IHVkcF9oYXNoW3NudW0gJiAoVURQ
X0hUQUJMRV9TSVpFIC0gMSldOwogCQkgICAgIHNrMiAhPSBOVUxMOwpAQCAtNjkxLDcgKzY5
MCw3IEBAIGludCB1ZHB2Nl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgbG9u
ZyBsZW4pCiAjaWZuZGVmIENPTkZJR19VRFBfREVMQVlfQ1NVTQogCXN3aXRjaCAoc2tiLT5p
cF9zdW1tZWQpIHsKIAljYXNlIENIRUNLU1VNX05PTkU6Ci0JCXNrYi0+Y3N1bSA9IGNzdW1f
cGFydGlhbCgoY2hhciopdWgsIHVsZW4sIDApOworCQlza2ItPmNzdW0gPSBjc3VtX3BhcnRp
YWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIqKSB1aCwgdWxlbiwgMCk7CiAJY2FzZSBDSEVDS1NV
TV9IVzoKIAkJaWYgKGNzdW1faXB2Nl9tYWdpYyhzYWRkciwgZGFkZHIsIHVsZW4sIElQUFJP
VE9fVURQLCBza2ItPmNzdW0pKSB7CiAJCQlwcmludGsoS0VSTl9ERUJVRyAiSVB2NjogdWRw
IGNoZWNrc3VtIGVycm9yXG4iKTsKQEAgLTc4NywxNCArNzg2LDE0IEBAIHN0YXRpYyBpbnQg
dWRwdjZfZ2V0ZnJhZyhjb25zdCB2b2lkICpkYXRhLCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIs
CiAJCWNsZW4gLT0gc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpOwogCX0KIAotCWlmIChjc3VtX3Bh
cnRpYWxfY29weV9mcm9taW92ZWNlbmQoZHN0LCB1ZGgtPmlvdiwgb2Zmc2V0LAotCQkJCQkg
ICBjbGVuLCAmdWRoLT53Y2hlY2spKQorCWlmIChjc3VtX3BhcnRpYWxfY29weV9mcm9taW92
ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgZHN0LCB1ZGgtPmlvdiwgb2Zmc2V0LAorCQkJCQkg
ICBjbGVuLCAoaW50ICopICZ1ZGgtPndjaGVjaykpCiAJCXJldHVybiAtRUZBVUxUOwogCiAJ
aWYgKGZpbmFsKSB7CiAJCXN0cnVjdCBpbjZfYWRkciAqZGFkZHI7CiAJCQotCQl1ZGgtPndj
aGVjayA9IGNzdW1fcGFydGlhbCgoY2hhciAqKXVkaCwgc2l6ZW9mKHN0cnVjdCB1ZHBoZHIp
LAorCQl1ZGgtPndjaGVjayA9IGNzdW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAq
KSB1ZGgsIHNpemVvZihzdHJ1Y3QgdWRwaGRyKSwKIAkJCQkJICAgdWRoLT53Y2hlY2spOwog
CiAJCWlmICh1ZGgtPmRhZGRyKSB7CmRpZmYgLS1naXQgYS9wZmluZXQvcGZpbmV0LW9wcy5j
IGIvcGZpbmV0L3BmaW5ldC1vcHMuYwppbmRleCA5YjBjNzIzZi4uM2I2NDVhMGQgMTAwNjQ0
Ci0tLSBhL3BmaW5ldC9wZmluZXQtb3BzLmMKKysrIGIvcGZpbmV0L3BmaW5ldC1vcHMuYwpA
QCAtMTMzLDcgKzEzMyw2IEBAIFNfcGZpbmV0X2dldHJvdXRlcyAoaW9fdCBwb3J0LAogCQkg
ICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCAqbGVuLAogCQkgICAgYm9vbGVhbl90ICpkZWFs
bG9jX2RhdGEpCiB7Ci0gIGVycm9yX3QgZXJyID0gMDsKICAgaWZydHJlcV90IHJzW01BWF9S
T1VURVNdOwogICBpbnQgbjsKICAgaWZydHJlcV90ICpydGFibGUgPSBOVUxMOwpkaWZmIC0t
Z2l0IGEvcHJvY2ZzL3Byb2Nlc3MuYyBiL3Byb2Nmcy9wcm9jZXNzLmMKaW5kZXggMzE3MGI3
NzUuLjU5ZDFhYWVjIDEwMDY0NAotLS0gYS9wcm9jZnMvcHJvY2Vzcy5jCisrKyBiL3Byb2Nm
cy9wcm9jZXNzLmMKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGxvbmcgbG9uZyBpbnQgdGlt
ZXZhbF9qaWZmaWVzICh0aW1lX3ZhbHVlX3QgdHYpCiAKIHN0YXRpYyBjb25zdCBjaGFyICph
cmdzX2ZpbGVuYW1lIChjb25zdCBjaGFyICpuYW1lKQogewotICBjaGFyICpzcCA9IHN0cnJj
aHIgKG5hbWUsICcvJyk7CisgIGNvbnN0IGNoYXIgKnNwID0gc3RycmNociAobmFtZSwgJy8n
KTsKICAgcmV0dXJuIHNwICE9IE5VTEwgJiYgKihzcCArIDEpICE9ICdcMCcgPyBzcCArIDEg
OiBuYW1lOwogfQogCmRpZmYgLS1naXQgYS90cmFucy9uZXctZmlmby5jIGIvdHJhbnMvbmV3
LWZpZm8uYwppbmRleCA3ODgwZWIyNC4uM2MxNjU3YjcgMTAwNjQ0Ci0tLSBhL3RyYW5zL25l
dy1maWZvLmMKKysrIGIvdHJhbnMvbmV3LWZpZm8uYwpAQCAtMTI5LDExICsxMjksMTMgQEAg
Zmlmb190cmFuc19jcmVhdGUgKHN0cnVjdCBmaWZvX3RyYW5zICpmcm9tLCBzdHJ1Y3QgZmlm
b190cmFucyAqKnRyYW5zKQogICAqdHJhbnMgPSBuZXc7CiB9CiAKKyNpZiAwCiBzdGF0aWMg
dm9pZAogZmlmb190cmFuc19mcmVlIChzdHJ1Y3QgZmlmb190cmFucyAqdHJhbnMpCiB7CiAg
IGZyZWUgKHRyYW5zKTsKIH0KKyNlbmRpZgogCiBzdGF0aWMgZXJyb3JfdAogZmlmb190cmFu
c19zdGFydCAoc3RydWN0IGZpZm9fdHJhbnMgKnRyYW5zLCBtYWNoX3BvcnRfdCByZXF1ZXN0
b3IpCkBAIC0xODIsNiArMTg0LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQog
ICBlcnJvcl90IGVycjsKICAgbWFjaF9wb3J0X3QgYm9vdHN0cmFwOwogICBzdHJ1Y3QgZmlm
b190cmFucyAqdHJhbnM7CisKKyNpZiAwCiAgIC8qIENsZWFuIHVwIGEgZnN5cyBjb250cm9s
IG5vZGUuICAqLwogICB2b2lkIGNsZWFuX2ZzeXMgKHZvaWQgKnZmc3lzKQogICAgIHsKQEAg
LTE5MCw2ICsxOTQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJZmlmb190
cmFuc19mcmVlIChmc3lzLT5ob29rKTsKICAgICAgIHRyaXZmc19jbGVhbl9jbnRsIChmc3lz
KTsKICAgICB9CisjZW5kaWYKIAogICBmaWZvX3RyYW5zX2NyZWF0ZSAoMCwgJnRyYW5zKTsK
IAotLSAKMi40My4wCgo=
--------------erAFLkVvQP0LIE1B092HNijZ
Content-Type: text/x-patch; charset=UTF-8;
 name="fixing-structure-declaration-inside-parameter-list.patch"
Content-Disposition: attachment;
 filename="fixing-structure-declaration-inside-parameter-list.patch"
Content-Transfer-Encoding: base64

LS0tIHJwY19tc2cuaAkyMDI2LTA3LTI4IDEzOjEyOjQ0LjI0OTU2Nzk4MCArMDcwMAorKysg
cnBjX21zZ19uZXcuaAkyMDI2LTA3LTI4IDEzOjEzOjM3LjU2NDMwNDUwMCArMDcwMApAQCAt
MTY1LDYgKzE2NSwxMSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIC8qCisgKiBUaGUgcmNw
IGVycm9yCisgKi8KK3N0cnVjdCBycGNfZXJyOworCisvKgogICogWERSIHJvdXRpbmUgdG8g
aGFuZGxlIGEgcnBjIG1lc3NhZ2UuCiAgKiB4ZHJfY2FsbG1zZyh4ZHJzLCBjbXNnKQogICog
CVhEUiAqeGRyczsK

--------------erAFLkVvQP0LIE1B092HNijZ--