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