Patch for Ubuntu / OpenSuse11.1

Lino Sanfilippo <[email protected]> Tue, 07 Jul 2009 17:05:05 +0200
Newsgroups gmane.linux.dazuko.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------020301010101000401010301
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



Geschäftsführender Gesellschafter: Tjark Auerbach
Sitz der Gesellschaft: Tettnang
Handelsregister: Amtsgericht Ulm, HRB 630992
ALLGEMEINE GESCHÄFTSBEDINGUNGEN
Es gelten unsere Allgemeinen Geschäftsbedingungen
(AGB). Sie finden sie in der jeweils gültigen Fassung
im Internet unter http://www.avira.de/agb
***************************************************
--------------020301010101000401010301
Content-Type: text/plain;
 name="patch_ub_os11.1"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="patch_ub_os11.1"

ZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9DSEFOR0VMT0cgZGF6dWtvZnMtMy4w
LjAtcmM0XzIuNi4yN191Yl9vczExLjEvQ0hBTkdFTE9HCi0tLSBkYXp1a29mcy0zLjAuMC9D
SEFOR0VMT0cJMjAwOS0wMi0yMiAxNzo1MToyMi4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVr
b2ZzLTMuMC4wLXJjNF8yLjYuMjdfdWJfb3MxMS4xL0NIQU5HRUxPRwkyMDA5LTAyLTE5IDE3
OjM3OjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMiwxMSArMiw2IEBACiAgRGF6dWtvRlMgQ0hB
TkdFTE9HCiA9PT09PT09PT09PT09PT09PT09PQogCi0zLjAuMCAoMjAwOS0wMi0yMikKLS0g
YWRkZWQgZGVmaW5lIGZvciB2ZXJzaW9uIG51bWJlciBvdXRwdXQKLS0gYWRkZWQgcGF0Y2hl
cyBmb3IgdmFyaW91cyBvdGhlciBrZXJuZWxzCi0KLQogMy4wLjAtcmM0ICgyMDA4LTExLTMw
KQogLSBmaXggaW5jb3JyZWN0IGRlbnRyeS92ZnNtbnQgcmVmZXJlbmNpbmcgd2hlbiBhY2Nl
c3MgZGVuaWVkCiAtIGZpeCBpbXByb3BlciBjbGVhbnVwIGluIHNldmVyYWwgZXJyb3IgaGFu
ZGxpbmcgY29uZGl0aW9ucwpkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL2RhenVr
b2ZzX2ZzLmggZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yN191Yl9vczExLjEvZGF6dWtvZnNf
ZnMuaAotLS0gZGF6dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMuaAkyMDA5LTAyLTIyIDE3OjQz
OjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yN191Yl9v
czExLjEvZGF6dWtvZnNfZnMuaAkyMDA5LTA3LTAzIDE3OjU5OjU1LjAwMDAwMDAwMCArMDIw
MApAQCAtMyw3ICszLDcgQEAKICAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA0IEVyZXogWmFk
b2sKICAgIENvcHlyaWdodCAoQykgMjAwMS0yMDA0IFN0b255IEJyb29rIFVuaXZlcnNpdHkK
ICAgIENvcHlyaWdodCAoQykgMjAwNC0yMDA3IEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMgQ29ycC4KLSAgIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEpvaG4gT2duZXNzCisg
ICBDb3B5cmlnaHQgKEMpIDIwMDggSm9obiBPZ25lc3MKICAgICAgQXV0aG9yOiBKb2huIE9n
bmVzcyA8ZGF6dWtvY29kZUBvZ25lc3MubmV0PgogCiAgICBUaGlzIHByb2dyYW0gaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yNCw4ICsy
NCw2IEBACiAjaWZuZGVmIF9fREFaVUtPRlNfRlNfSAogI2RlZmluZSBfX0RBWlVLT0ZTX0ZT
X0gKIAotI2RlZmluZSBEQVpVS09GU19WRVJTSU9OICIzLjAuMCIKLQogZXh0ZXJuIHN0cnVj
dCBrbWVtX2NhY2hlICpkYXp1a29mc19kZW50cnlfaW5mb19jYWNoZXA7CiBleHRlcm4gc3Ry
dWN0IGttZW1fY2FjaGUgKmRhenVrb2ZzX2ZpbGVfaW5mb19jYWNoZXA7CiBleHRlcm4gc3Ry
dWN0IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19tYWluX2ZvcHM7CmRpZmYgLXggQ1ZTIC1y
dXAgZGF6dWtvZnMtMy4wLjAvZXZlbnQuYyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI3X3Vi
X29zMTEuMS9ldmVudC5jCi0tLSBkYXp1a29mcy0zLjAuMC9ldmVudC5jCTIwMDktMDItMjIg
MTc6NDQ6MDMuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI3
X3ViX29zMTEuMS9ldmVudC5jCTIwMDktMDctMDMgMTg6NTQ6MjIuMDAwMDAwMDAwICswMjAw
CkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUg
PGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRlIDxsaW51
eC9mcmVlemVyLmg+CiAKICNpbmNsdWRlICJkZXYuaCIKICNpbmNsdWRlICJkYXp1a29mc19m
cy5oIgpAQCAtMTYyLDE2ICsxNjEsMjQgQEAgc3RhdGljIGludCBjYXB0dXJlX2dyb3VwX2Nv
dW50KGludCAqY2FjaAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2dyb3Vw
X2NvdW50KHZvaWQpCitzdGF0aWMgaW50IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxl
KHZvaWQpCiB7CiAJaW50IGNhY2hlID0gMDsKLQlpbnQgcmV0ID0gd2FpdF9ldmVudF9mcmVl
emFibGUoX19ncm91cF9jb3VudF9xdWV1ZSwKLQkJCQkgICAgICAgY2FwdHVyZV9ncm91cF9j
b3VudCgmY2FjaGUpID09IDApOworCWludCByZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGli
bGUoX19ncm91cF9jb3VudF9xdWV1ZSwKKwkJCQkgICAgICAgICAgIGNhcHR1cmVfZ3JvdXBf
Y291bnQoJmNhY2hlKSA9PSAwKTsKIAlpZiAocmV0ID09IDApCiAJCXJldCA9IF9fZ3JvdXBf
Y291bnQ7CiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBnZXRfZ3JvdXBfY291bnQo
dm9pZCkKK3sKKwlpbnQgY2FjaGUgPSAwOworCXdhaXRfZXZlbnQoX19ncm91cF9jb3VudF9x
dWV1ZSwgY2FwdHVyZV9ncm91cF9jb3VudCgmY2FjaGUpID09IDApOworCXJldHVybiBfX2dy
b3VwX2NvdW50OworfQorCisKIHN0YXRpYyB2b2lkIHB1dF9ncm91cF9jb3VudCh2b2lkKQog
ewogCW11dGV4X2xvY2soJmdyb3VwX2NvdW50X211dGV4KTsKQEAgLTM5OSw3ICs0MDYsNyBA
QCBpbnQgZGF6dWtvZnNfYWRkX2dyb3VwKGNvbnN0IGNoYXIgKm5hbWUsCiAJaW50IGFscmVh
ZHlfZXhpc3RzOwogCWludCBhdmFpbGFibGVfaWQgPSAwOwogCXN0cnVjdCBkYXp1a29mc19n
cm91cCAqZ3JwOwotCWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKKwlpbnQg
Z3JwX2NvdW50ID0gZ2V0X2dyb3VwX2NvdW50X2ludGVycnVwdGlibGUoKTsKIAogCWlmIChn
cnBfY291bnQgPCAwKSB7CiAJCXJldCA9IGdycF9jb3VudDsKQEAgLTQ0Nyw3ICs0NTQsNyBA
QCBpbnQgZGF6dWtvZnNfcmVtb3ZlX2dyb3VwKGNvbnN0IGNoYXIgKm5hCiAJaW50IHJldCA9
IDA7CiAJc3RydWN0IGRhenVrb2ZzX2dyb3VwICpncnA7CiAJc3RydWN0IGxpc3RfaGVhZCAq
cG9zOwotCWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKKwlpbnQgZ3JwX2Nv
dW50ID0gZ2V0X2dyb3VwX2NvdW50X2ludGVycnVwdGlibGUoKTsKIAogCWlmIChncnBfY291
bnQgPCAwKSB7CiAJCXJldCA9IGdycF9jb3VudDsKQEAgLTcwMSwxMSArNzA4LDEwIEBAIGlu
dCBkYXp1a29mc19jaGVja19hY2Nlc3Moc3RydWN0IGRlbnRyeSAKIHsKIAlzdHJ1Y3QgZGF6
dWtvZnNfZXZlbnRfY29udGFpbmVyICplY19hcnJheVtHUk9VUF9DT1VOVF07CiAJc3RydWN0
IGRhenVrb2ZzX2V2ZW50ICpldnQ7Ci0JaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9jb3Vu
dCgpOwotCWludCBlcnI7CisJaW50IGdycF9jb3VudDsKKwlpbnQgZXJyID0gMDsKIAotCWlm
IChncnBfY291bnQgPCAwKQotCQlyZXR1cm4gZ3JwX2NvdW50OworCWdycF9jb3VudCA9IGdl
dF9ncm91cF9jb3VudCgpOwogCiAJaWYgKGNoZWNrX2FjY2Vzc19wcmVjaGVjayhncnBfY291
bnQpKSB7CiAJCXB1dF9ncm91cF9jb3VudCgpOwpAQCAtNzEzLDMyICs3MTksMjkgQEAgaW50
IGRhenVrb2ZzX2NoZWNrX2FjY2VzcyhzdHJ1Y3QgZGVudHJ5IAogCX0KIAogCS8qIGF0IHRo
aXMgcG9pbnQsIHRoZSBhY2Nlc3Mgc2hvdWxkIGJlIGhhbmRsZWQgKi8KLQogCWlmIChhbGxv
Y2F0ZV9ldmVudF9hbmRfY29udGFpbmVycygmZXZ0LCBlY19hcnJheSwgZ3JwX2NvdW50KSkg
ewogCQlwdXRfZ3JvdXBfY291bnQoKTsKLQkJZXJyID0gLUVOT01FTTsKLQkJZ290byBvdXQ7
CisJCXJldHVybiAtRU5PTUVNOwogCX0KLQogCWV2dC0+ZGVudHJ5ID0gZGdldChkZW50cnkp
OwogCWV2dC0+bW50ID0gbW50Z2V0KG1udCk7CiAJZXZ0LT5waWQgPSBjdXJyZW50LT5waWQ7
Ci0KIAlhc3NpZ25fZXZlbnRfdG9fZ3JvdXBzKGV2dCwgZWNfYXJyYXkpOwogCiAJcHV0X2dy
b3VwX2NvdW50KCk7CiAKLQkvKiB3YWl0IHVudGlsIGV2ZW50IGNvbXBsZXRlbHkgcHJvY2Vz
c2VkIG9yIHNpZ25hbCAqLwotCWVyciA9IHdhaXRfZXZlbnRfZnJlZXphYmxlKGV2dC0+cXVl
dWUsIGV2ZW50X2Fzc2lnbmVkKGV2dCkgPT0gMCk7CisJLyogd2FpdCB1bnRpbCBldmVudCBj
b21wbGV0ZWx5IHByb2Nlc3NlZCAqLworCXdhaXRfZXZlbnQoZXZ0LT5xdWV1ZSwgZXZlbnRf
YXNzaWduZWQoZXZ0KSA9PSAwKTsKIAogCWlmIChldnQtPmRlbnkpCiAJCWVyciA9IC1FUEVS
TTsKIAogCXJlbGVhc2VfZXZlbnQoZXZ0LCAwLCAwKTsKLW91dDoKKwkKIAlyZXR1cm4gZXJy
OwogfQogCisKIGludCBkYXp1a29mc19ncm91cF9vcGVuX3RyYWNraW5nKHVuc2lnbmVkIGxv
bmcgZ3JvdXBfaWQpCiB7CiAJc3RydWN0IGRhenVrb2ZzX2dyb3VwICpncnA7CkBAIC05Mjgs
NyArOTMxLDggQEAgc3RhdGljIGludCBvcGVuX2ZpbGUoc3RydWN0IGRhenVrb2ZzX2V2ZQog
CS8qIGFkZCBteXNlbGYgdG8gYmUgaWdub3JlZCBvbiBmaWxlIG9wZW4gKHRvIGF2b2lkIHJl
Y3Vyc2lvbikgKi8KIAltYXNrX3Byb2MoJnByb2MpOwogCi0JZWMtPmZpbGUgPSBkZW50cnlf
b3BlbihkZ2V0KGV2dC0+ZGVudHJ5KSwgbW50Z2V0KGV2dC0+bW50KSwgT19SRE9OTFkpOwor
CWVjLT5maWxlID0gZGVudHJ5X29wZW4oZGdldChldnQtPmRlbnRyeSksIG1udGdldChldnQt
Pm1udCksIAorCQkJICAgICAgIE9fUkRPTkxZIHwgT19MQVJHRUZJTEUpOwogCWlmIChJU19F
UlIoZWMtPmZpbGUpKSB7CiAJCWNoZWNrX3JlY3Vyc2lvbigpOyAgLyogcmVtb3ZlIG15c2Vs
ZiBmcm9tIHByb2NfbGlzdCAqLwogCQlyZXQgPSBQVFJfRVJSKGVjLT5maWxlKTsKQEAgLTEw
MDQsOSArMTAwOCw5IEBAIGludCBkYXp1a29mc19nZXRfZXZlbnQodW5zaWduZWQgbG9uZyBn
cm8KIAl9CiAKIAl3aGlsZSAoMSkgewotCQlyZXQgPSB3YWl0X2V2ZW50X2ZyZWV6YWJsZShn
cnAtPnF1ZXVlLAotCQkJCQkgICBpc19ldmVudF9hdmFpbGFibGUoZ3JwKSB8fAotCQkJCQkg
ICBncnAtPmRlcHJlY2F0ZWQpOworCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUo
Z3JwLT5xdWV1ZSwKKwkJCQkJICAgICAgIGlzX2V2ZW50X2F2YWlsYWJsZShncnApIHx8CisJ
CQkJCSAgICAgICBncnAtPmRlcHJlY2F0ZWQpOwogCQlpZiAocmV0ICE9IDApCiAJCQlicmVh
azsKIApkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL2ZpbGUuYyBkYXp1a29mcy0z
LjAuMC1yYzRfMi42LjI3X3ViX29zMTEuMS9maWxlLmMKLS0tIGRhenVrb2ZzLTMuMC4wL2Zp
bGUuYwkyMDA5LTAyLTIyIDE3OjQzOjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMt
My4wLjAtcmM0XzIuNi4yN191Yl9vczExLjEvZmlsZS5jCTIwMDktMDctMDMgMTg6NDg6MDgu
MDAwMDAwMDAwICswMjAwCkBAIC0xNzcsMTAgKzE3NywxMSBAQCBzdGF0aWMgaW50IGRhenVr
b2ZzX29wZW4oc3RydWN0IGlub2RlICppCiAJc3RydWN0IGZpbGUgKmxvd2VyX2ZpbGU7CiAJ
aW50IGVycjsKIAotCWVyciA9IGRhenVrb2ZzX2NoZWNrX2FjY2VzcyhmaWxlLT5mX2RlbnRy
eSwgZmlsZS0+Zl92ZnNtbnQpOwotCWlmIChlcnIpCi0JCWdvdG8gZXJyb3Jfb3V0MTsKLQor
CWlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpKSB7CisJCWVyciA9IGRhenVrb2ZzX2NoZWNr
X2FjY2VzcyhmaWxlLT5mX2RlbnRyeSwgZmlsZS0+Zl92ZnNtbnQpOworCQlpZiAoZXJyKQor
CQkJZ290byBlcnJvcl9vdXQxOworCX0KIAlTRVRfRklMRV9JTkZPKGZpbGUsIGttZW1fY2Fj
aGVfemFsbG9jKGRhenVrb2ZzX2ZpbGVfaW5mb19jYWNoZXAsCiAJCSAgICAgIEdGUF9LRVJO
RUwpKTsKIAlpZiAoIUdFVF9GSUxFX0lORk8oZmlsZSkpIHsKQEAgLTI3MiwxMCArMjczLDI0
IEBAIG91dDoKIAlyZXR1cm4gZXJyOwogfQogCitzdGF0aWMgaW50IGRhenVrb2ZzX21tYXAg
KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtKQoreworCisJ
c3RydWN0IGZpbGUgKmxvd2VyX2ZpbGUgPSBHRVRfTE9XRVJfRklMRShmaWxlKTsKKworCS8q
IGlmIGxvd2VyIGZzIGRvZXMgbm90IHN1cHBvcnQgbW1hcCgpLCB3ZSBkb250IGNhbGwgZ2Vu
ZXJpY19maWxlX3JlYWRvbmx5X21tYXAoKSwgCisJICogc2luY2UgdGhpcyB3b3VsZCByZXN1
bHQgaW4gY2FsbGluZyBsb3dlciByZWFkcGFnZSgpLCB3aGljaCBtaWdodCBub3QgYmUgCisJ
ICogZGVmaW5lZCBieSBsb3dlciBmcyBpZiBtbWFwKCkgaXMgbm90IHN1cHBvcnRlZCovCisJ
aWYgKCFsb3dlcl9maWxlLT5mX29wIHx8ICFsb3dlcl9maWxlLT5mX29wLT5tbWFwKSAKKwkJ
cmV0dXJuIC1FTk9ERVY7CisJCisKKwlyZXR1cm4gZ2VuZXJpY19maWxlX3JlYWRvbmx5X21t
YXAoZmlsZSwgdm0pOworfQorCiAvKioKICAqIFVudXNlZCBvcGVyYXRpb25zOgogICogICAt
IG93bmVyCi0gKiAgIC0gYWlvX3JlYWQgKGdlbmVyaWMpCiAgKiAgIC0gYWlvX3dyaXRlIChn
ZW5lcmljKQogICogICAtIHBvbGwKICAqICAgLSB1bmxvY2tlZF9pb2N0bApAQCAtMjk1LDE4
ICszMTAsMTUgQEAgb3V0Ogogc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19tYWlu
X2ZvcHMgPSB7CiAJLmxsc2VlawkJPSBkYXp1a29mc19sbHNlZWssCiAJLnJlYWQJCT0gZGF6
dWtvZnNfcmVhZCwKLQkuYWlvX3JlYWQJPSBnZW5lcmljX2ZpbGVfYWlvX3JlYWQsCiAJLndy
aXRlCQk9IGRhenVrb2ZzX3dyaXRlLAotCS5haW9fd3JpdGUJPSBnZW5lcmljX2ZpbGVfYWlv
X3dyaXRlLAogCS5yZWFkZGlyCT0gZGF6dWtvZnNfcmVhZGRpciwKIAkuaW9jdGwJCT0gZGF6
dWtvZnNfaW9jdGwsCi0JLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCisJLm1tYXAJCT0g
ZGF6dWtvZnNfbW1hcCwKIAkub3BlbgkJPSBkYXp1a29mc19vcGVuLAogCS5mbHVzaAkJPSBk
YXp1a29mc19mbHVzaCwKIAkucmVsZWFzZQk9IGRhenVrb2ZzX3JlbGVhc2UsCiAJLmZzeW5j
CQk9IGRhenVrb2ZzX2ZzeW5jLAogCS5mYXN5bmMJCT0gZGF6dWtvZnNfZmFzeW5jLAotCS5z
cGxpY2VfcmVhZAk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKIH07CiAKIC8qKgpAQCAt
MzM1LDExICszNDcsMTAgQEAgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19tYWlu
X2ZvcAogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19kaXJfZm9wcyA9
IHsKIAkucmVhZGRpcgk9IGRhenVrb2ZzX3JlYWRkaXIsCiAJLmlvY3RsCQk9IGRhenVrb2Zz
X2lvY3RsLAotCS5tbWFwCQk9IGdlbmVyaWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGRhenVr
b2ZzX21tYXAsCiAJLm9wZW4JCT0gZGF6dWtvZnNfb3BlbiwKIAkuZmx1c2gJCT0gZGF6dWtv
ZnNfZmx1c2gsCiAJLnJlbGVhc2UJPSBkYXp1a29mc19yZWxlYXNlLAogCS5mc3luYwkJPSBk
YXp1a29mc19mc3luYywKIAkuZmFzeW5jCQk9IGRhenVrb2ZzX2Zhc3luYywKLQkuc3BsaWNl
X3JlYWQJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3JlYWQsCiB9OwpkaWZmIC14IENWUyAtcnVw
IGRhenVrb2ZzLTMuMC4wL2lub2RlLmMgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yN191Yl9v
czExLjEvaW5vZGUuYwotLS0gZGF6dWtvZnMtMy4wLjAvaW5vZGUuYwkyMDA5LTAyLTIyIDE3
OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yN191
Yl9vczExLjEvaW5vZGUuYwkyMDA5LTA3LTAzIDE4OjQ0OjEwLjAwMDAwMDAwMCArMDIwMApA
QCAtNDcsODcgKzQ3LDE0OCBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2RlX3Rlc3Qoc3Ry
dWN0IGluCiAKIHN0YXRpYyB2b2lkIGRhenVrb2ZzX2luaXRfaW5vZGUoc3RydWN0IGlub2Rl
ICppbm9kZSwgc3RydWN0IGlub2RlICpsb3dlcl9pbm9kZSkKIHsKLQlTRVRfTE9XRVJfSU5P
REUoaW5vZGUsIGxvd2VyX2lub2RlKTsKLQlpbm9kZS0+aV9pbm8gPSBsb3dlcl9pbm9kZS0+
aV9pbm87Ci0JaW5vZGUtPmlfdmVyc2lvbisrOwotCWlub2RlLT5pX29wID0gJmRhenVrb2Zz
X21haW5faW9wczsKLQlpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfbWFpbl9mb3BzOwotCWlu
b2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmRhenVrb2ZzX2FvcHM7CisgICAgICAgIFNFVF9M
T1dFUl9JTk9ERShpbm9kZSwgbG93ZXJfaW5vZGUpOworICAgICAgICBpbm9kZS0+aV9pbm8g
PSBsb3dlcl9pbm9kZS0+aV9pbm87CisgICAgICAgIGlub2RlLT5pX3ZlcnNpb24rKzsKKwor
ICAgICAgICBpZiAoU19JU0RJUihsb3dlcl9pbm9kZS0+aV9tb2RlKSkgeworICAgICAgICAg
ICAgICAgIGlub2RlLT5pX29wID0gJmRhenVrb2ZzX2Rpcl9pb3BzOworICAgICAgICAgICAg
ICAgIGlub2RlLT5pX2ZvcCA9ICZkYXp1a29mc19kaXJfZm9wczsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19tYWluX2lvcHM7
CisgICAgICAgICAgICAgICAgaW5vZGUtPmlfZm9wID0gJmRhenVrb2ZzX21haW5fZm9wczsK
KworICAgICAgICAgICAgICAgIGlmIChTX0lTTE5LKGxvd2VyX2lub2RlLT5pX21vZGUpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgaW5vZGUtPmlfb3AgPSAmZGF6dWtvZnNfc3ltbGlu
a19pb3BzOworICAgICAgICAgICAgICAgIGVsc2UgIGlmIChzcGVjaWFsX2ZpbGUobG93ZXJf
aW5vZGUtPmlfbW9kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluaXRfc3BlY2lh
bF9pbm9kZShpbm9kZSwgbG93ZXJfaW5vZGUtPmlfbW9kZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb3dlcl9pbm9kZS0+aV9yZGV2KTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaW5vZGUtPmlfbWFwcGluZy0+YV9v
cHMgPSAmZGF6dWtvZnNfYW9wczsKIH0KIAorCiBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2Rl
X3NldChzdHJ1Y3QgaW5vZGUgKmlub2RlLCB2b2lkICpsb3dlcl9pbm9kZSkKIHsKIAlkYXp1
a29mc19pbml0X2lub2RlKGlub2RlLCAoc3RydWN0IGlub2RlICopbG93ZXJfaW5vZGUpOwog
CXJldHVybiAwOwogfQogCisKIGludCBkYXp1a29mc19pbnRlcnBvc2Uoc3RydWN0IGRlbnRy
eSAqbG93ZXJfZGVudHJ5LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCSAgICAgc3RydWN0
IHN1cGVyX2Jsb2NrICpzYiwgaW50IGZsYWcpCisJCSAgICAgc3RydWN0IHN1cGVyX2Jsb2Nr
ICpzYiwgaW50IGhhc2gpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZTsKLQlzdHJ1Y3QgaW5v
ZGUgKmxvd2VyX2lub2RlID0gaWdyYWIobG93ZXJfZGVudHJ5LT5kX2lub2RlKTsKLQlpbnQg
ZXJyID0gMDsKKwlzdHJ1Y3QgaW5vZGUgKmxvd2VyX2lub2RlOworCWludCBlcnI7CiAKLQlp
ZiAoIWxvd2VyX2lub2RlKSB7Ci0JCWVyciA9IC1FU1RBTEU7Ci0JCWdvdG8gb3V0OwotCX0K
Kwlsb3dlcl9pbm9kZSA9IGlncmFiKGxvd2VyX2RlbnRyeS0+ZF9pbm9kZSk7CiAKLQlpZiAo
bG93ZXJfaW5vZGUtPmlfc2IgIT0gR0VUX0xPV0VSX1NCKHNiKSkgewotCQlpcHV0KGxvd2Vy
X2lub2RlKTsKLQkJZXJyID0gLUVYREVWOwotCQlnb3RvIG91dDsKLQl9CisJaWYgKCFsb3dl
cl9pbm9kZSkgCisJCXJldHVybiAtRVNUQUxFOwogCiAJaW5vZGUgPSBpZ2V0NV9sb2NrZWQo
c2IsICh1bnNpZ25lZCBsb25nKWxvd2VyX2lub2RlLAogCQkJICAgICBkYXp1a29mc19pbm9k
ZV90ZXN0LCBkYXp1a29mc19pbm9kZV9zZXQsCiAJCQkgICAgIGxvd2VyX2lub2RlKTsKLQog
CWlmICghaW5vZGUpIHsKLQkJaXB1dChsb3dlcl9pbm9kZSk7CiAJCWVyciA9IC1FQUNDRVM7
Ci0JCWdvdG8gb3V0OworCQlnb3RvIGVycjsKIAl9CiAKLQlpZiAoaW5vZGUtPmlfc3RhdGUg
JiBJX05FVykgeworCWlmIChpbm9kZS0+aV9zdGF0ZSAmIElfTkVXKSAKIAkJdW5sb2NrX25l
d19pbm9kZShpbm9kZSk7CiAJCS8qCiAJCSAqIFRoaXMgaXMgYSBuZXcgbm9kZSBzbyB3ZSBs
ZWF2ZSB0aGUgbG93ZXJfbm9kZSAiaW4gdXNlIgogCQkgKiBhbmQgZG8gbm90IGNhbGwgaXB1
dCgpLgogCQkgKi8KLQl9IGVsc2UgeworCWVsc2UgCiAJCS8qCiAJCSAqIFRoaXMgaXMgbm90
IGEgbmV3IG5vZGUgc28gd2UgZGVjcmVtZW50IHRoZSB1c2FnZSBjb3VudC4KIAkJICovCiAJ
CWlwdXQobG93ZXJfaW5vZGUpOwotCX0KLQotCWlmIChTX0lTTE5LKGxvd2VyX2lub2RlLT5p
X21vZGUpKQotCQlpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19zeW1saW5rX2lvcHM7Ci0JZWxz
ZSBpZiAoU19JU0RJUihsb3dlcl9pbm9kZS0+aV9tb2RlKSkKLQkJaW5vZGUtPmlfb3AgPSAm
ZGF6dWtvZnNfZGlyX2lvcHM7Ci0KLQlpZiAoU19JU0RJUihsb3dlcl9pbm9kZS0+aV9tb2Rl
KSkKLQkJaW5vZGUtPmlfZm9wID0gJmRhenVrb2ZzX2Rpcl9mb3BzOwotCi0JaWYgKHNwZWNp
YWxfZmlsZShsb3dlcl9pbm9kZS0+aV9tb2RlKSkgewotCQlpbml0X3NwZWNpYWxfaW5vZGUo
aW5vZGUsIGxvd2VyX2lub2RlLT5pX21vZGUsCi0JCQkJICAgbG93ZXJfaW5vZGUtPmlfcmRl
dik7Ci0JfQogCi0JZGVudHJ5LT5kX29wID0gJmRhenVrb2ZzX2RvcHM7CiAKLQlpZiAoZmxh
ZykKKwlpZiAoaGFzaCkKIAkJZF9hZGQoZGVudHJ5LCBpbm9kZSk7CiAJZWxzZQogCQlkX2lu
c3RhbnRpYXRlKGRlbnRyeSwgaW5vZGUpOwogCiAJZnNzdGFja19jb3B5X2F0dHJfYWxsKGlu
b2RlLCBsb3dlcl9pbm9kZSwgTlVMTCk7CiAJZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5v
ZGUsIGxvd2VyX2lub2RlKTsKLW91dDoKKworCXJldHVybiAwOworZXJyOgorCWlwdXQobG93
ZXJfaW5vZGUpOwogCXJldHVybiBlcnI7CiB9CiAKKworLyogY3JlYXRlcyBhIG5ldyBsb3dl
ciBkZW50cnkgKi8KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19uZXdfbG93ZXJf
ZGVudHJ5KHN0cnVjdCBxc3RyICpuYW1lLAorCQkJCQkJc3RydWN0IGRlbnRyeSAqbG93ZXJf
YmFzZSwgCisJCQkJCQlzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sKKwlzdHJ1Y3QgZGVudHJ5
ICpuZXdfZGVudHJ5OworCXN0cnVjdCBkZW50cnkgKnRtcDsKKwlzdHJ1Y3QgaW5vZGUgKmxv
d2VyX2lub2RlOworCisJbG93ZXJfaW5vZGUgPSBsb3dlcl9iYXNlLT5kX2lub2RlOworCS8q
IFhYWDogaXMgdGhpcyBjaGVjayBzdGlsbCBuZWNlc3Nhcnk/IChzZWUgX19sb29rdXBfaGFz
aCgpKQorCSAgIFRoaXMgaXMgKGhvcGVseSkgcHJvdGVjdGVkIGJ5IGxvY2tlZCB1cHBlciBp
bm9kZSAqLworCWlmIChJU19ERUFERElSKGxvd2VyX2lub2RlKSkgeworCQluZXdfZGVudHJ5
ID0gRVJSX1BUUigtRU5PRU5UKTsKKwkJZ290byBvdXQ7CisJfQorCXRtcCA9IGRfYWxsb2Mo
bG93ZXJfYmFzZSwgbmFtZSk7CisJaWYgKCF0bXApIHsKKwkJbmV3X2RlbnRyeSA9IEVSUl9Q
VFIoLUVOT01FTSk7CisJCWdvdG8gb3V0OworCX0KKwluZXdfZGVudHJ5ID0gbG93ZXJfaW5v
ZGUtPmlfb3AtPmxvb2t1cChsb3dlcl9pbm9kZSwgdG1wLCBuZCk7CisJLyogbG9va3VwKCkg
c2VlbWluZ2x5IGlzIGFsbG93ZWQgdG8gcmV0dXJuIGl0cyBvd24gZGVudHJ5ICh3aGljaCAK
KwkgKiBtYXkgaW5kZWVkIGJlIGEgZGVudHJ5IG9yIG9ubHkgYW4gZXJyb3IpLiBJZiBzbwor
CSAqIHdlIHVzZSBpdCBhbmQgZGlzY2FyZCBvdXJzLiBPdGhlcndpc2Ugd2UgdXNlIG91cnMg
Ki8gCisJaWYgKCFuZXdfZGVudHJ5KSAKKwkJbmV3X2RlbnRyeSA9IHRtcDsKKwllbHNlIAor
CQlkcHV0KHRtcCk7CisJCQorb3V0OgkJCisJcmV0dXJuIG5ld19kZW50cnk7Cit9CisKKwor
LyogZ2V0IGxvd2VyIGRlbnRyeSBmb3IgZ2l2ZW4gbmFtZSAqLworc3RhdGljIHN0cnVjdCBk
ZW50cnkgKmRhenVrb2ZzX2xvb2t1cF9vbmVfbG93ZXIoc3RydWN0IHFzdHIgKm5hbWUsIAor
CQkJCQkJc3RydWN0IGRlbnRyeSAqbG93ZXJfYmFzZSwKKwkJCQkJCXN0cnVjdCB2ZnNtb3Vu
dCAqbG93ZXJfbW50KQoreworCXN0cnVjdCBkZW50cnkgKnJlc3VsdDsKKwlzdHJ1Y3QgbmFt
ZWlkYXRhIG5kOworCWludCBlcnI7CisKKwllcnIgPSB2ZnNfcGF0aF9sb29rdXAobG93ZXJf
YmFzZSwgbG93ZXJfbW50LCBuYW1lLT5uYW1lLCAwLCAmbmQpOworCisJaWYgKCFlcnIpIHsK
KwkJLyogaW5vZGUgYWxyZWFkeSBleGlzdHMgb24gZGlzayAqLworCQlyZXN1bHQgPSBuZC5w
YXRoLmRlbnRyeTsKKwkJLyogd2UgZG9udCBuZWVkIHRoZSBtb3VudCAqLworCQltbnRwdXQo
bmQucGF0aC5tbnQpOworCQlnb3RvIG91dDsKKwl9CisJaWYgKGVyciAhPSAtRU5PRU5UKSB7
IC8qIHRoaXMgaXMgYSBSRUFMIGVycm9yICovCQorCQlyZXN1bHQgPSBFUlJfUFRSKGVycik7
CisJCWdvdG8gb3V0OworCX0JCisJLyogY3JlYXRlIGEgbmV3IChsb3dlcikgZGVudHJ5ICov
CisJcmVzdWx0ID0gZGF6dWtvZnNfbmV3X2xvd2VyX2RlbnRyeShuYW1lLCBsb3dlcl9iYXNl
LCAmbmQpOworb3V0OgorCXJldHVybiByZXN1bHQ7CisKK30KKworCiAvKioKICAqIERlc2Ny
aXB0aW9uOiBDYWxsZWQgd2hlbiB0aGUgVkZTIG5lZWRzIHRvIGxvb2sgdXAgYW4gaW5vZGUg
aW4gYSBwYXJlbnQKICAqIGRpcmVjdG9yeS4gVGhlIG5hbWUgdG8gbG9vayBmb3IgaXMgZm91
bmQgaW4gdGhlIGRlbnRyeS4gVGhpcyBtZXRob2QKQEAgLTE0OCw2NCArMjA5LDUxIEBAIHN0
YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19sb29rdXAoc3QKIAlzdHJ1Y3QgZGVudHJ5
ICpsb3dlcl9kZW50cnk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5X3BhcmVudDsK
IAlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udDsKLQlpbnQgZXJyID0gMDsKLQotCWlmICgo
ZGVudHJ5LT5kX25hbWUubGVuID09IDEgJiYgIXN0cmNtcChkZW50cnktPmRfbmFtZS5uYW1l
LCAiLiIpKQotCSAgICB8fCAoZGVudHJ5LT5kX25hbWUubGVuID09IDIgJiYKLQkJIXN0cmNt
cChkZW50cnktPmRfbmFtZS5uYW1lLCAiLi4iKSkpIHsKLQkJZF9kcm9wKGRlbnRyeSk7Ci0J
CWdvdG8gb3V0OwotCX0KLQotCWRlbnRyeS0+ZF9vcCA9ICZkYXp1a29mc19kb3BzOworCWlu
dCBlcnI7CiAKIAlsb3dlcl9kZW50cnlfcGFyZW50ID0gR0VUX0xPV0VSX0RFTlRSWShkZW50
cnktPmRfcGFyZW50KTsKLQlsb3dlcl9kZW50cnkgPSBsb29rdXBfb25lX2xlbihkZW50cnkt
PmRfbmFtZS5uYW1lLCBsb3dlcl9kZW50cnlfcGFyZW50LAotCQkJCSAgICAgIGRlbnRyeS0+
ZF9uYW1lLmxlbik7CisJLyogc2hvdWxkIGJlIHJlbGVhc2VkIGluIGRfcmVsZWFzZSgpICov
CisJbG93ZXJfbW50ID0gbW50Z2V0KEdFVF9MT1dFUl9NTlQoZGVudHJ5LT5kX3BhcmVudCkp
OwogCisJbG93ZXJfZGVudHJ5ID0gZGF6dWtvZnNfbG9va3VwX29uZV9sb3dlcigmZGVudHJ5
LT5kX25hbWUsIAorCQkJCQkJIGxvd2VyX2RlbnRyeV9wYXJlbnQsIAorCQkJCQkJIGxvd2Vy
X21udCk7IAogCWlmIChJU19FUlIobG93ZXJfZGVudHJ5KSkgewotCQllcnIgPSBQVFJfRVJS
KGxvd2VyX2RlbnRyeSk7Ci0JCWRfZHJvcChkZW50cnkpOwotCQlnb3RvIG91dDsKKwkJbW50
cHV0KGxvd2VyX21udCk7CisJCXJldHVybiBsb3dlcl9kZW50cnk7CiAJfQotCiAJQlVHX09O
KCFhdG9taWNfcmVhZCgmbG93ZXJfZGVudHJ5LT5kX2NvdW50KSk7CiAKKwlkZW50cnktPmRf
b3AgPSAmZGF6dWtvZnNfZG9wczsKIAlTRVRfREVOVFJZX0lORk8oZGVudHJ5LCBrbWVtX2Nh
Y2hlX3phbGxvYyhkYXp1a29mc19kZW50cnlfaW5mb19jYWNoZXAsCiAJCQlHRlBfS0VSTkVM
KSk7CiAKIAlpZiAoIUdFVF9ERU5UUllfSU5GTyhkZW50cnkpKSB7Ci0JCWVyciA9IC1FTk9N
RU07Ci0JCWdvdG8gb3V0X2RwdXQ7CisJCW1udHB1dChsb3dlcl9tbnQpOworCQlkcHV0KGxv
d2VyX2RlbnRyeSk7CisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCX0KLQotCWxvd2Vy
X21udCA9IG1udGdldChHRVRfTE9XRVJfTU5UKGRlbnRyeS0+ZF9wYXJlbnQpKTsKLQotCWZz
c3RhY2tfY29weV9hdHRyX2F0aW1lKGRpciwgbG93ZXJfZGVudHJ5X3BhcmVudC0+ZF9pbm9k
ZSk7Ci0KIAlTRVRfTE9XRVJfREVOVFJZKGRlbnRyeSwgbG93ZXJfZGVudHJ5LCBsb3dlcl9t
bnQpOwotCisJLyogZnJvbSBub3cgbG93ZXIgZGVudHJ5IGFuZCBsb3dlciBtb3VudCBhcmUg
cmVsZWFzZWQgaW4gCisJICBkX3JlbGVhc2Ugb2YgdXBwZXIgZGVudHJ5ICovCisJZnNzdGFj
a19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlfcGFyZW50LT5kX2lub2RlKTsK
IAlpZiAoIWxvd2VyX2RlbnRyeS0+ZF9pbm9kZSkgewogCQkvKgogCQkgKiBXZSB3YW50IHRv
IGFkZCBiZWNhdXNlIHdlIGNvdWxkIG5vdCBmaW5kIGluIGxvd2VyLgogCQkgKi8KIAkJZF9h
ZGQoZGVudHJ5LCBOVUxMKTsKLQkJZ290byBvdXQ7CisJCWdvdG8gb2s7CiAJfQogCiAJZXJy
ID0gZGF6dWtvZnNfaW50ZXJwb3NlKGxvd2VyX2RlbnRyeSwgZGVudHJ5LCBkaXItPmlfc2Is
IDEpOwotCWlmIChlcnIpCi0JCWdvdG8gb3V0X2RwdXQ7Ci0JZ290byBvdXQ7CisJaWYgKGVy
cikgCisJCXJldHVybiBFUlJfUFRSKGVycik7CiAKLW91dF9kcHV0OgotCWRwdXQobG93ZXJf
ZGVudHJ5KTsKLQlkX2Ryb3AoZGVudHJ5KTsKLQotb3V0OgotCXJldHVybiBFUlJfUFRSKGVy
cik7CitvazoKKwlyZXR1cm4gTlVMTDsgLyogdGVsbCBjYWxsZXIgdG8gdXNlIGl0cyBvd24s
IHBhc3NlZCBkZW50cnksIG5vdCBvdXJzICovCiB9CiAKKwogLyoqCiAgKiBEZXNjcmlwdGlv
bjogQ2FsbGVkIGJ5IHRoZSBta25vZCgyKSBzeXN0ZW0gY2FsbCB0byBjcmVhdGUgYSBkZXZp
Y2UKICAqIChjaGFyLCBibG9jaykgaW5vZGUgb3IgYSBuYW1lZCBwaXBlIChGSUZPKSBvciBz
b2NrZXQuIE9ubHkgcmVxdWlyZWQgaWYKQEAgLTIxNiw2ICsyNjQsNyBAQCBzdGF0aWMgaW50
IGRhenVrb2ZzX21rbm9kKHN0cnVjdCBpbm9kZSAqCiAJCQkgIGRldl90IGRldikKIHsKIAlz
dHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnkgPSBHRVRfTE9XRVJfREVOVFJZKGRlbnRyeSk7
CisJc3RydWN0IHZmc21vdW50ICpsb3dlcl9tbnQgPSBHRVRfTE9XRVJfTU5UKGRlbnRyeSk7
CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5X3BhcmVudCA9IGRnZXQobG93ZXJfZGVu
dHJ5LT5kX3BhcmVudCk7CiAJc3RydWN0IGlub2RlICpsb3dlcl9kZW50cnlfcGFyZW50X2lu
b2RlID0gbG93ZXJfZGVudHJ5X3BhcmVudC0+ZF9pbm9kZTsKIAlpbnQgZXJyID0gLUVOT0VO
VDsKQEAgLTIyMyw3ICsyNzIsOCBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX21rbm9kKHN0cnVj
dCBpbm9kZSAqCiAJbXV0ZXhfbG9ja19uZXN0ZWQoJihsb3dlcl9kZW50cnlfcGFyZW50X2lu
b2RlLT5pX211dGV4KSwKIAkJCSAgSV9NVVRFWF9QQVJFTlQpOwogCi0JZXJyID0gdmZzX21r
bm9kKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwgbW9kZSwgZGV2
KTsKKwllcnIgPSB2ZnNfbWtub2QobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSwgbG93ZXJf
ZGVudHJ5LCBsb3dlcl9tbnQsIAorCQkJbW9kZSwgZGV2KTsKIAlpZiAoZXJyKQogCQlnb3Rv
IG91dDsKIApAQCAtMjQ4LDYgKzI5OCw3IEBAIG91dDoKIHN0YXRpYyBpbnQgZGF6dWtvZnNf
bWtkaXIoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IG1v
ZGUpCiB7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRS
WShkZW50cnkpOworCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50ID0gR0VUX0xPV0VSX01O
VChkZW50cnkpOwogCXN0cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeV9wYXJlbnQgPSBkZ2V0
KGxvd2VyX2RlbnRyeS0+ZF9wYXJlbnQpOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVudHJ5
X3BhcmVudF9pbm9kZSA9IGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50IGVy
ciA9IC1FTk9FTlQ7CkBAIC0yNTUsNyArMzA2LDggQEAgc3RhdGljIGludCBkYXp1a29mc19t
a2RpcihzdHJ1Y3QgaW5vZGUgKgogCW11dGV4X2xvY2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5
X3BhcmVudF9pbm9kZS0+aV9tdXRleCksCiAJCQkgIElfTVVURVhfUEFSRU5UKTsKIAotCWVy
ciA9IHZmc19ta2Rpcihsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9kZW50cnks
IG1vZGUpOworCWVyciA9IHZmc19ta2Rpcihsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBs
b3dlcl9kZW50cnksIGxvd2VyX21udCwKKwkJCW1vZGUpOwogCWlmIChlcnIpCiAJCWdvdG8g
b3V0OwogCkBAIC0zMzMsNiArMzg1LDcgQEAgc3RhdGljIGludCBkYXp1a29mc19zeW1saW5r
KHN0cnVjdCBpbm9kZQogCQkJICAgIGNvbnN0IGNoYXIgKnN5bW5hbWUpCiB7CiAJc3RydWN0
IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShkZW50cnkpOworCXN0
cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50ID0gR0VUX0xPV0VSX01OVChkZW50cnkpOwogCXN0
cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeV9wYXJlbnQgPSBkZ2V0KGxvd2VyX2RlbnRyeS0+
ZF9wYXJlbnQpOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSA9
IGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50IGVyciA9IC1FTk9FTlQ7CkBA
IC0zNDAsNyArMzkzLDggQEAgc3RhdGljIGludCBkYXp1a29mc19zeW1saW5rKHN0cnVjdCBp
bm9kZQogCW11dGV4X2xvY2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZS0+
aV9tdXRleCksCiAJCQkgIElfTVVURVhfUEFSRU5UKTsKIAotCWVyciA9IHZmc19zeW1saW5r
KGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwgc3ltbmFtZSk7CisJ
ZXJyID0gdmZzX3N5bWxpbmsobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSwgbG93ZXJfZGVu
dHJ5LCBsb3dlcl9tbnQsCisJCQkgIHN5bW5hbWUpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0
OwogCkBAIC00NjQsMTQgKzUxOCwyOSBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX3Blcm1pc3Np
b24oc3RydWN0IGluCiBzdGF0aWMgaW50IGRhenVrb2ZzX3NldGF0dHIoc3RydWN0IGRlbnRy
eSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmlhKQogewogCXN0cnVjdCBkZW50cnkgKmxvd2Vy
X2RlbnRyeSA9IEdFVF9MT1dFUl9ERU5UUlkoZGVudHJ5KTsKKwlzdHJ1Y3QgdmZzbW91bnQg
Kmxvd2VyX21udCA9IEdFVF9MT1dFUl9NTlQoZGVudHJ5KTsKIAlzdHJ1Y3QgaW5vZGUgKmlu
b2RlID0gZGVudHJ5LT5kX2lub2RlOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUgPSBH
RVRfTE9XRVJfSU5PREUoaW5vZGUpOwogCWludCBlcnI7CiAKLQllcnIgPSBub3RpZnlfY2hh
bmdlKGxvd2VyX2RlbnRyeSwgaWEpOwogCi0JZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2Rl
LCBsb3dlcl9pbm9kZSwgTlVMTCk7Ci0JZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5vZGUs
IGxvd2VyX2lub2RlKTsKKwlpZiAoIWxvd2VyX2lub2RlLT5pX29wIHx8ICFsb3dlcl9pbm9k
ZS0+aV9vcC0+c2V0YXR0cikgCisJCS8qIFhYWDogYXQgdGhpcyBwb2ludCBpdCBpcyB0b28g
bGF0ZSB0byBoYW5kbGUgaW5vZGVzIHByb3Blcmx5IHRoYXQgZG8gTk9UCisJCXNwZWNpZnkg
c2V0YXR0cigpLiBWRlMgd291bGQgbm9ybWFsbHkgY2FsbCBpbm9kZV9zZXRhdHRyKCkgaW4g
CisJCXRoaXMgY2FzZS4gU28gdG8gZm9yY2UgdGhpcyB3ZSBqdW1wIGJhY2sgdG8gbm90aWZ5
X2NoYW5nZSB3aGljaCB3aWxsCisJCWhhbmRsZSB0aGlzIGZvciB1cy4gQnV0IHRoaXMgaXMg
ZGFuZ2Vyb3VzOgorCQlUaGUgYXR0cmlidXRlcyBtaWdodCBiZSBtb2RpZmllZCBieSBub3Rp
ZnlfY2hhbmdlKCkgaW4gYSB3YXkKKwkJdGhhdCByZXN1bHRzIGluIGludmFsaWQgYXR0cmli
dXRlcy4gVGhpcyBzZWVtcyB0byBiZSB0aGUgY2FzZQorCQlpZiB0aGUgaW5vZGUgZm9yIHdo
aWNoIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGhhcyB0aGUgc2V0dWlkCisJCW9yIHNldGdp
ZCBiaXQgc2V0ICovIAorCQllcnIgPSBub3RpZnlfY2hhbmdlKGxvd2VyX2RlbnRyeSwgbG93
ZXJfbW50LCBpYSk7CisJZWxzZSAKKwkJZXJyID0gbG93ZXJfaW5vZGUtPmlfb3AtPnNldGF0
dHIobG93ZXJfZGVudHJ5LCBpYSk7CisJCisJaWYgKCFlcnIpIHsKKwkJZnNzdGFja19jb3B5
X2F0dHJfYWxsKGlub2RlLCBsb3dlcl9pbm9kZSwgTlVMTCk7CisJCWZzc3RhY2tfY29weV9p
bm9kZV9zaXplKGlub2RlLCBsb3dlcl9pbm9kZSk7CisJfSAKIAogCXJldHVybiBlcnI7CiB9
CkBAIC00OTYsNyArNTY1LDcgQEAgc3RhdGljIGludCBkYXp1a29mc19zZXR4YXR0cihzdHJ1
Y3QgZGVudAogCiAJaWYgKCFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkgICAgIWxv
d2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+c2V0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZUzsK
KwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTA5LDYgKzU3
OCw3IEBAIG91dDoKIAlyZXR1cm4gZXJyOwogfQogCisKIC8qKgogICogRGVzY3JpcHRpb246
IENhbGxlZCBieSB0aGUgVkZTIHRvIHJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhbiBleHRlbmRl
ZAogICogYXR0cmlidXRlIG5hbWUuIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSBnZXR4YXR0
cigyKSBmdW5jdGlvbiBjYWxsLgpAQCAtNTI4LDcgKzU5OCw3IEBAIHN0YXRpYyBzc2l6ZV90
IGRhenVrb2ZzX2dldHhhdHRyKHN0cnVjdCAKIAogCWlmICghbG93ZXJfZGVudHJ5X2lub2Rl
LT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AtPmdldHhhdHRyKSB7
Ci0JCWVyciA9IC1FTk9TWVM7CisJCWVyciA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsK
IAl9CiAKQEAgLTU1Nyw3ICs2MjcsNyBAQCBzdGF0aWMgc3NpemVfdCBkYXp1a29mc19saXN0
eGF0dHIoc3RydWN0CiAKIAlpZiAoIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcCB8fAogCSAg
ICAhbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wLT5saXN0eGF0dHIpIHsKLQkJZXJyID0gLUVO
T1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTg0
LDcgKzY1NCw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVtb3ZleGF0dHIoc3RydWN0IGQK
IAogCWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50
cnlfaW5vZGUtPmlfb3AtPnJlbW92ZXhhdHRyKSB7Ci0JCWVyciA9IC1FTk9TWVM7CisJCWVy
ciA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTYwMyw2ICs2NzMsOCBA
QCBzdGF0aWMgaW50IGRhenVrb2ZzX2xpbmsoc3RydWN0IGRlbnRyeSAqCiB7CiAJc3RydWN0
IGRlbnRyeSAqbG93ZXJfb2xkX2RlbnRyeSA9IEdFVF9MT1dFUl9ERU5UUlkob2xkX2RlbnRy
eSk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfbmV3X2RlbnRyeSA9IEdFVF9MT1dFUl9ERU5U
UlkobmV3X2RlbnRyeSk7CisJc3RydWN0IHZmc21vdW50ICpsb3dlcl9vbGRfbW50ID0gR0VU
X0xPV0VSX01OVChvbGRfZGVudHJ5KTsKKwlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX25ld19t
bnQgPSBHRVRfTE9XRVJfTU5UKG5ld19kZW50cnkpOwogCXN0cnVjdCBkZW50cnkgKmxvd2Vy
X2RlbnRyeV9wYXJlbnQgPSBkZ2V0KGxvd2VyX25ld19kZW50cnktPmRfcGFyZW50KTsKIAlz
dHJ1Y3QgaW5vZGUgKmxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUgPSBsb3dlcl9kZW50cnlf
cGFyZW50LT5kX2lub2RlOwogCWludCBlcnIgPSAtRU5PRU5UOwpAQCAtNjEwLDggKzY4Miw5
IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfbGluayhzdHJ1Y3QgZGVudHJ5ICoKIAltdXRleF9s
b2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUtPmlfbXV0ZXgpLAogCQkJ
ICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIgPSB2ZnNfbGluayhsb3dlcl9vbGRfZGVudHJ5
LCBsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLAotCQkgICAgICAgbG93ZXJfbmV3X2RlbnRy
eSk7CisJZXJyID0gdmZzX2xpbmsobG93ZXJfb2xkX2RlbnRyeSwgbG93ZXJfb2xkX21udCwg
CisJCSAgICAgICBsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9uZXdfZGVudHJ5
LCAKKwkJICAgICAgIGxvd2VyX25ld19tbnQpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0Owog
CkBAIC02MzUsNiArNzA4LDcgQEAgb3V0Ogogc3RhdGljIGludCBkYXp1a29mc191bmxpbmso
c3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKIHsKIAlzdHJ1Y3Qg
ZGVudHJ5ICpsb3dlcl9kZW50cnkgPSBHRVRfTE9XRVJfREVOVFJZKGRlbnRyeSk7CisJc3Ry
dWN0IHZmc21vdW50ICpsb3dlcl9tbnQgPSBHRVRfTE9XRVJfTU5UKGRlbnRyeSk7CiAJc3Ry
dWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5X3BhcmVudCA9IGRnZXQobG93ZXJfZGVudHJ5LT5k
X3BhcmVudCk7CiAJc3RydWN0IGlub2RlICpsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlID0g
bG93ZXJfZGVudHJ5X3BhcmVudC0+ZF9pbm9kZTsKIAlpbnQgZXJyOwpAQCAtNjQyLDcgKzcx
Niw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfdW5saW5rKHN0cnVjdCBpbm9kZSAKIAltdXRl
eF9sb2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUtPmlfbXV0ZXgpLAog
CQkJICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIgPSB2ZnNfdW5saW5rKGxvd2VyX2RlbnRy
eV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSk7CisJZXJyID0gdmZzX3VubGluayhsb3dl
cl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9kZW50cnksIGxvd2VyX21udCk7CiAJaWYg
KGVycikKIAkJZ290byBvdXQ7CiAKQEAgLTY2NCw2ICs3MzgsNyBAQCBvdXQ6CiBzdGF0aWMg
aW50IGRhenVrb2ZzX3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnkpCiB7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RF
TlRSWShkZW50cnkpOworCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50ID0gR0VUX0xPV0VS
X01OVChkZW50cnkpOwogCXN0cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeV9wYXJlbnQgPSBk
Z2V0KGxvd2VyX2RlbnRyeS0+ZF9wYXJlbnQpOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVu
dHJ5X3BhcmVudF9pbm9kZSA9IGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50
IGVycjsKQEAgLTY3MSw3ICs3NDYsNyBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX3JtZGlyKHN0
cnVjdCBpbm9kZSAqCiAJbXV0ZXhfbG9ja19uZXN0ZWQoJihsb3dlcl9kZW50cnlfcGFyZW50
X2lub2RlLT5pX211dGV4KSwKIAkJCSAgSV9NVVRFWF9QQVJFTlQpOwogCi0JZXJyID0gdmZz
X3JtZGlyKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSk7CisJZXJy
ID0gdmZzX3JtZGlyKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwg
bG93ZXJfbW50KTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKIApAQCAtNjk2LDYgKzc3MSw4
IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVuYW1lKHN0cnVjdCBpbm9kZSAKIHsKIAlzdHJ1
Y3QgZGVudHJ5ICpsb3dlcl9vbGRfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShvbGRfZGVu
dHJ5KTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9uZXdfZGVudHJ5ID0gR0VUX0xPV0VSX0RF
TlRSWShuZXdfZGVudHJ5KTsKKwlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX29sZF9tbnQgPSBH
RVRfTE9XRVJfTU5UKG9sZF9kZW50cnkpOworCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbmV3
X21udCA9IEdFVF9MT1dFUl9NTlQobmV3X2RlbnRyeSk7CiAJc3RydWN0IGRlbnRyeSAqbG93
ZXJfb2xkX2RlbnRyeV9wYXJlbnQgPQogCQlkZ2V0KGxvd2VyX29sZF9kZW50cnktPmRfcGFy
ZW50KTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9uZXdfZGVudHJ5X3BhcmVudCA9CkBAIC03
MTgsNyArNzk1LDggQEAgc3RhdGljIGludCBkYXp1a29mc19yZW5hbWUoc3RydWN0IGlub2Rl
IAogCiAJbG9ja19yZW5hbWUobG93ZXJfb2xkX2RlbnRyeV9wYXJlbnQsIGxvd2VyX25ld19k
ZW50cnlfcGFyZW50KTsKIAllcnIgPSB2ZnNfcmVuYW1lKGxvd2VyX29sZF9kZW50cnlfcGFy
ZW50X2lub2RlLCBsb3dlcl9vbGRfZGVudHJ5LAotCQkJIGxvd2VyX25ld19kZW50cnlfcGFy
ZW50X2lub2RlLCBsb3dlcl9uZXdfZGVudHJ5KTsKKwkJCSBsb3dlcl9vbGRfbW50LCBsb3dl
cl9uZXdfZGVudHJ5X3BhcmVudF9pbm9kZSwgCisJCQkgbG93ZXJfbmV3X2RlbnRyeSwgbG93
ZXJfbmV3X21udCk7CiAJdW5sb2NrX3JlbmFtZShsb3dlcl9vbGRfZGVudHJ5X3BhcmVudCwg
bG93ZXJfbmV3X2RlbnRyeV9wYXJlbnQpOwogCiAJaWYgKGVycikKZGlmZiAteCBDVlMgLXJ1
cCBkYXp1a29mcy0zLjAuMC9NYWtlZmlsZSBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI3X3Vi
X29zMTEuMS9NYWtlZmlsZQotLS0gZGF6dWtvZnMtMy4wLjAvTWFrZWZpbGUJMjAwOS0wMi0y
MiAxNzo0NjowMi4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYu
MjdfdWJfb3MxMS4xL01ha2VmaWxlCTIwMDktMDUtMTEgMTk6NDk6NTIuMDAwMDAwMDAwICsw
MjAwCkBAIC0xOSw2ICsxOSw3IEBAIGRhenVrb2ZzX2luc3RhbGw6IGRhenVrb2ZzX21vZHVs
ZXMKIAogY2xlYW46CiAJcm0gLWYgTW9kdWxlLnN5bXZlcnMKKwlybSAtZiBtb2R1bGVzLm9y
ZGVyCiAJbWFrZSAtQyAkKERBWlVLT0ZTX0tFUk5FTF9TUkMpIFNVQkRJUlM9ImBwd2RgIiBj
bGVhbgogCiAuUEhPTlk6IGRhenVrb2ZzX21vZHVsZXMgZGF6dWtvZnNfaW5zdGFsbCBjbGVh
bgpkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL1JFQURNRSBkYXp1a29mcy0zLjAu
MC1yYzRfMi42LjI3X3ViX29zMTEuMS9SRUFETUUKLS0tIGRhenVrb2ZzLTMuMC4wL1JFQURN
RQkyMDA5LTAyLTIyIDE3OjM4OjIxLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4w
LjAtcmM0XzIuNi4yN191Yl9vczExLjEvUkVBRE1FCTIwMDktMDItMTkgMTc6Mzc6MTQuMDAw
MDAwMDAwICswMTAwCkBAIC0yMSwxMCArMjEsMTAgQEAgTk9URTogRGF6dWtvRlMgaXMgY29t
cGxldGVseSBzZXBhcmF0ZSBmcgogPT09PT09PT09PT09PT09PT0KIAogQmVsb3cgYXJlIGJy
aWVmIGluc3RydWN0aW9ucyB0byBnZXQgRGF6dWtvRlMgY29tcGlsZWQgYW5kIHJ1bm5pbmcg
b24gYQotc3lzdGVtIHdpdGggYSBMaW51eCAyLjYuMjgga2VybmVsLiBZb3UgbWF5IG5lZWQg
dG8gbWFudWFsbHkgYWRqdXN0IHRoZQorc3lzdGVtIHdpdGggYSBMaW51eCAyLjYuMjcga2Vy
bmVsLiBZb3UgbWF5IG5lZWQgdG8gbWFudWFsbHkgYWRqdXN0IHRoZQogTWFrZWZpbGUgaWYg
eW91IGtlcm5lbCBzb3VyY2VzIGFyZSBub3QgaW4gdGhlIGRlZmF1bHQgbG9jYXRpb24uCi0o
UGF0Y2hlcyBhcmUgcHJvdmlkZWQgZm9yIHZhcmlvdXMgb3RoZXIga2VybmVscy4gU2VlIHRo
ZSBzZWN0aW9uIGJlbG93Ci10aXRsZWQgIlBBVENISU5HIiBmb3IgbW9yZSBpbmZvcm1hdGlv
bi4pCisoQSBwYXRjaCBpcyBwcm92aWRlZCB0byBjb252ZXJ0IHRoZSBEYXp1a29GUyBjb2Rl
IHRvIHN1cHBvcnQgTGludXgKKzIuNi4yNi4pCiAKIGNvbXBpbGUgdGhlIGtlcm5lbCBtb2R1
bGUKICAgIyBtYWtlCkBAIC01MiwyNSArNTIsNiBAQCB1bm1vdW50IERhenVrb0ZTCiAKIAog
Ci09PT09PT09PT09Ci0gUEFUQ0hJTkcKLT09PT09PT09PT0KLQotSW4gdGhlICJwYXRjaGVz
IiBkaXJlY3RvcnkgdGhlcmUgYXJlIHBhdGNoZXMgYXZhaWxhYmxlIHRvIG1vZGlmeSB0aGUK
LURhenVrb0ZTIGNvZGUgdG8gZml0IHZhcmlvdXMgb3RoZXIga2VybmVscy4gRm9yIGV4YW1w
bGUsIGlmIHlvdSBhcmUKLXJ1bm5pbmcgb3BlblNVU0UgMTEuMSB5b3UgY2FuIHBhdGNoIHRo
ZSBjb2RlIHdpdGggdGhlIGZvbGxvd2luZwotY29tbWFuZDoKLQotJCBwYXRjaCAtcDEgPCBw
YXRjaGVzL3BhdGNoLW9wZW5zdXNlLTExLjEKLQotVGhlcmUgc2hvdWxkIG5vdCBiZSBhbnkg
ZXJyb3JzLiBJZiB0aGVyZSBhcmUgZXJyb3JzLCB0aGVuIHRoZSBwYXRjaAotaXMgYnJva2Vu
IGFuZCBzaG91bGQgYmUgcmVwb3J0ZWQgb24gdGhlIGRhenVrby1kZXZlbCBtYWlsaW5nIGxp
c3QuCi0KLU9uY2UgdGhlIGNvZGUgaGFzIGJlZW4gcGF0Y2hlZCB5b3UgY2FuIGJ1aWxkIHRo
ZSBrZXJuZWwgbW9kdWxlIGFzCi1kZXNjcmliZWQgaW4gdGhlIHNlY3Rpb24gIkJVSUxEIC8g
SU5TVEFMTCIgYWJvdmUuCi0KLQotCiA9PT09PT09PT0KICBURVNUSU5HCiA9PT09PT09PT0K
QEAgLTE1NCw5ICsxMzUsNiBAQCBhbnkgcHJvYmxlbXMuCiAgS05PV04gSVNTVUVTCiA9PT09
PT09PT09PT09PQogCi0tIFRoZSBrZXJuZWwgd2lsbCBjcmFzaCBpZiB5b3UgYXR0ZW1wdCB0
byBtb3VudCBEYXp1a29GUyB0byBhIGZpbGUgaW5zdGVhZAotICBvZiBhIGRpcmVjdG9yeS4g
KFRoZSB2YXJpb3VzIGtlcm5lbCBwYXRjaGVzIGhhbmRsZSB0aGlzIGVycm9yLikKLQogLSBE
YXp1a29GUyBkb2VzIG5vdCBzdXBwb3J0IHdyaXRpbmcgdG8gbWVtb3J5IG1hcHBlZCBmaWxl
cy4gVGhpcyBzaG91bGQgbm90CiAgIGNhdXNlIHRoZSBrZXJuZWwgdG8gY3Jhc2gsIGJ1dCB3
aWxsIGluc3RlYWQgcmVzdWx0IGluIHRoZSBhcHBsaWNhdGlvbgogICBmYWlsaW5nIHRvIHBl
cmZvcm0gdGhlIHdyaXRlcyAoYWx0aG91Z2ggbW1hcCgpIHdpbGwgYXBwZWFyIHRvIGJlCmRp
ZmYgLXggQ1ZTIC1ydXAgZGF6dWtvZnMtMy4wLjAvc3VwZXIuYyBkYXp1a29mcy0zLjAuMC1y
YzRfMi42LjI3X3ViX29zMTEuMS9zdXBlci5jCi0tLSBkYXp1a29mcy0zLjAuMC9zdXBlci5j
CTIwMDktMDItMjIgMTc6NDY6MDIuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0zLjAu
MC1yYzRfMi42LjI3X3ViX29zMTEuMS9zdXBlci5jCTIwMDktMDctMDMgMTg6MTM6MjIuMDAw
MDAwMDAwICswMjAwCkBAIC0zNSw2ICszNSwxMCBAQCBzdGF0aWMgc3RydWN0IGttZW1fY2Fj
aGUgKmRhenVrb2ZzX3NiX2luCiBzdHJ1Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZGVudHJ5
X2luZm9fY2FjaGVwOwogc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2ZzX2ZpbGVfaW5mb19j
YWNoZXA7CiAKKworI2RlZmluZSBEQVpVS09GU19WRVJTSU9OICIzLjAuMC1yYzQtYXZpcmEt
YjIuNiIKKworCiBzdGF0aWMgc3RydWN0IGlub2RlICpkYXp1a29mc19hbGxvY19pbm9kZShz
dHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0cnVjdCBkYXp1a29mc19pbm9kZV9pbmZv
ICppbm9kZWk7CkBAIC0xNzAsNyArMTc0LDEwIEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVh
ZF9zdXBlcihzdHJ1Y3Qgc3UKIAkJZXJyID0gLUVOT0VOVDsKIAkJZ290byBvdXRfcHV0Owog
CX0KLQorCWlmICghU19JU0RJUihsb3dlcl9yb290LT5kX2lub2RlLT5pX21vZGUpKSB7CisJ
CWVyciA9IC1FTk9FTlQ7CisJCWdvdG8gb3V0X3B1dDsKKwl9CiAJU0VUX0xPV0VSX1NCKHNi
LCBsb3dlcl9yb290LT5kX3NiKTsKIAlzYi0+c19tYXhieXRlcyA9IGxvd2VyX3Jvb3QtPmRf
c2ItPnNfbWF4Ynl0ZXM7CiAJU0VUX0xPV0VSX0RFTlRSWShzYi0+c19yb290LCBsb3dlcl9y
b290LCBsb3dlcl9tbnQpOwpAQCAtMjEzLDYgKzIyMCw3IEBAIHN0YXRpYyBpbnQgZGF6dWtv
ZnNfZ2V0X3NiKHN0cnVjdCBmaWxlX3MKIAogb3V0X2Fib3J0OgogCXVwX3dyaXRlKCZzYi0+
c191bW91bnQpOworCWRwdXQoc2ItPnNfcm9vdCk7CiAJZGVhY3RpdmF0ZV9zdXBlcihzYik7
CiBvdXQ6CiAJcmV0dXJuIGVycjsKQEAgLTMwNSw3ICszMTMsNyBAQCBzdGF0aWMgc3RydWN0
IGZpbGVfc3lzdGVtX3R5cGUgZGF6dWtvZnNfCiAKIHN0YXRpYyBpbnQgX19pbml0IGluaXRf
ZGF6dWtvZnNfZnModm9pZCkKIHsKLQlpbnQgZXJyID0gMDsKKwlpbnQgZXJyOwogCiAJZXJy
ID0gZGF6dWtvZnNfZGV2X2luaXQoKTsKIAlpZiAoZXJyKQpAQCAtMzE5LDcgKzMyNyw3IEBA
IHN0YXRpYyBpbnQgX19pbml0IGluaXRfZGF6dWtvZnNfZnModm9pZCkKIAlpZiAoZXJyKQog
CQlnb3RvIGVycm9yX291dDM7CiAKLQlwcmludGsoS0VSTl9JTkZPICJkYXp1a29mczogbG9h
ZGVkLCB2ZXJzaW9uPSVzXG4iLCBEQVpVS09GU19WRVJTSU9OKTsKKwlwcmludGsoS0VSTl9J
TkZPICJkYXp1a29mczogbG9hZGVkLCB2ZXJzaW9uPSIgREFaVUtPRlNfVkVSU0lPTiAiXG4i
KTsKIAlyZXR1cm4gMDsKIAogZXJyb3Jfb3V0MzoKQEAgLTMzNSw5ICszNDMsMTAgQEAgc3Rh
dGljIHZvaWQgX19leGl0IGV4aXRfZGF6dWtvZnNfZnModm9pZAogCXVucmVnaXN0ZXJfZmls
ZXN5c3RlbSgmZGF6dWtvZnNfZnNfdHlwZSk7CiAJZGVzdHJveV9jYWNoZXMoKTsKIAlkYXp1
a29mc19kZXZfZGVzdHJveSgpOwotCXByaW50ayhLRVJOX0lORk8gImRhenVrb2ZzOiB1bmxv
YWRlZCwgdmVyc2lvbj0lc1xuIiwgREFaVUtPRlNfVkVSU0lPTik7CisJcHJpbnRrKEtFUk5f
SU5GTyAiZGF6dWtvZnM6IHVubG9hZGVkLCB2ZXJzaW9uPSIgREFaVUtPRlNfVkVSU0lPTiAi
XG4iKTsKIH0KIAorCiBNT0RVTEVfQVVUSE9SKCJKb2huIE9nbmVzcyIpOwogTU9EVUxFX0RF
U0NSSVBUSU9OKCJhY2Nlc3MgY29udHJvbCBzdGFja2FibGUgZmlsZXN5c3RlbSIpOwogTU9E
VUxFX0xJQ0VOU0UoIkdQTCIpOwo=
--------------020301010101000401010301
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Dazuko-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/dazuko-devel

--------------020301010101000401010301--