patch for ubuntu 7.10
Lino Sanfilippo <[email protected]> Tue, 07 Jul 2009 17:11:45 +0200
| Newsgroups | gmane.linux.dazuko.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------040600090204050509070609 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 *************************************************** --------------040600090204050509070609 Content-Type: text/plain; name="patch_ubuntu7.10" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="patch_ubuntu7.10" ZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9DSEFOR0VMT0cgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yMl9VYnVudHU3LjEwL0NIQU5HRUxPRwotLS0gZGF6dWtvZnMtMy4wLjAv Q0hBTkdFTE9HCTIwMDktMDItMjIgMTc6NTE6MjIuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1 a29mcy0zLjAuMC1yYzRfMi42LjIyX1VidW50dTcuMTAvQ0hBTkdFTE9HCTIwMDktMDYtMTgg MTI6Mjc6NDguMDAwMDAwMDAwICswMjAwCkBAIC0yLDExICsyLDYgQEAKICBEYXp1a29GUyBD SEFOR0VMT0cKID09PT09PT09PT09PT09PT09PT09CiAKLTMuMC4wICgyMDA5LTAyLTIyKQot LSBhZGRlZCBkZWZpbmUgZm9yIHZlcnNpb24gbnVtYmVyIG91dHB1dAotLSBhZGRlZCBwYXRj aGVzIGZvciB2YXJpb3VzIG90aGVyIGtlcm5lbHMKLQotCiAzLjAuMC1yYzQgKDIwMDgtMTEt MzApCiAtIGZpeCBpbmNvcnJlY3QgZGVudHJ5L3Zmc21udCByZWZlcmVuY2luZyB3aGVuIGFj Y2VzcyBkZW5pZWQKIC0gZml4IGltcHJvcGVyIGNsZWFudXAgaW4gc2V2ZXJhbCBlcnJvciBo YW5kbGluZyBjb25kaXRpb25zCk51ciBpbiBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjIyX1Vi dW50dTcuMTA6IENIQU5HRUxPR19BVklSQS4KZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0z LjAuMC9jdHJsX2Rldi5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjJfVWJ1bnR1Ny4xMC9j dHJsX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAuMC9jdHJsX2Rldi5jCTIwMDktMDItMjIgMTc6 NDU6MjAuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjIyX1Vi dW50dTcuMTAvY3RybF9kZXYuYwkyMDA5LTA2LTE4IDEyOjI3OjQ4LjAwMDAwMDAwMCArMDIw MApAQCAtMTgzLDcgKzE4Myw3IEBAIGludCBkYXp1a29mc19jdHJsX2Rldl9pbml0KGludCBk ZXZfbWFqb3IKIAogCS8qIGNyZWF0ZSBjb250cm9sIGRldmljZSAqLwogCWRldiA9IGRldmlj ZV9jcmVhdGUoZGF6dWtvZnNfY2xhc3MsIE5VTEwsIE1LREVWKGRldl9tYWpvciwgZGV2X21p bm9yKSwKLQkJCSAgICBOVUxMLCAiJXMuY3RybCIsIERFVklDRV9OQU1FKTsKKwkJCSAgICAi JXMuY3RybCIsIERFVklDRV9OQU1FKTsKIAlpZiAoSVNfRVJSKGRldikpIHsKIAkJZXJyID0g UFRSX0VSUihkZXYpOwogCQlnb3RvIGVycm9yX291dDI7CmRpZmYgLXggQ1ZTIC1ydXAgZGF6 dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMuaCBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjIyX1Vi dW50dTcuMTAvZGF6dWtvZnNfZnMuaAotLS0gZGF6dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMu aAkyMDA5LTAyLTIyIDE3OjQzOjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yMl9VYnVudHU3LjEwL2RhenVrb2ZzX2ZzLmgJMjAwOS0wNy0wMyAxODow MToyMC4wMDAwMDAwMDAgKzAyMDAKQEAgLTMsNyArMyw3IEBACiAgICBDb3B5cmlnaHQgKEMp IDE5OTctMjAwNCBFcmV6IFphZG9rCiAgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNCBTdG9u eSBCcm9vayBVbml2ZXJzaXR5CiAgICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNyBJbnRlcm5h dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAuCi0gICBDb3B5cmlnaHQgKEMpIDIwMDgt MjAwOSBKb2huIE9nbmVzcworICAgQ29weXJpZ2h0IChDKSAyMDA4IEpvaG4gT2duZXNzCiAg ICAgIEF1dGhvcjogSm9obiBPZ25lc3MgPGRhenVrb2NvZGVAb2duZXNzLm5ldD4KIAogICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgpAQCAtMjQsOCArMjQsNiBAQAogI2lmbmRlZiBfX0RBWlVLT0ZTX0ZTX0gKICNk ZWZpbmUgX19EQVpVS09GU19GU19ICiAKLSNkZWZpbmUgREFaVUtPRlNfVkVSU0lPTiAiMy4w LjAiCi0KIGV4dGVybiBzdHJ1Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZGVudHJ5X2luZm9f Y2FjaGVwOwogZXh0ZXJuIHN0cnVjdCBrbWVtX2NhY2hlICpkYXp1a29mc19maWxlX2luZm9f Y2FjaGVwOwogZXh0ZXJuIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZGF6dWtvZnNfbWFpbl9m b3BzOwpkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL2RlbnRyeS5jIGRhenVrb2Zz LTMuMC4wLXJjNF8yLjYuMjJfVWJ1bnR1Ny4xMC9kZW50cnkuYwotLS0gZGF6dWtvZnMtMy4w LjAvZGVudHJ5LmMJMjAwOS0wMi0yMiAxNzo0NDoyMi4wMDAwMDAwMDAgKzAxMDAKKysrIGRh enVrb2ZzLTMuMC4wLXJjNF8yLjYuMjJfVWJ1bnR1Ny4xMC9kZW50cnkuYwkyMDA5LTA2LTE4 IDEyOjI3OjQ4LjAwMDAwMDAwMCArMDIwMApAQCAtNjUsMTkgKzY1LDE5IEBAIHN0YXRpYyBp bnQgZGF6dWtvZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCAKIAogCWxvd2VyX21udCA9IEdFVF9M T1dFUl9NTlQoZGVudHJ5KTsKIAotCXZmc21vdW50X3NhdmUgPSBuZC0+cGF0aC5tbnQ7Ci0J ZGVudHJ5X3NhdmUgPSBuZC0+cGF0aC5kZW50cnk7CisJdmZzbW91bnRfc2F2ZSA9IG5kLT5t bnQ7CisJZGVudHJ5X3NhdmUgPSBuZC0+ZGVudHJ5OwogCi0JbmQtPnBhdGgubW50ID0gbW50 Z2V0KGxvd2VyX21udCk7Ci0JbmQtPnBhdGguZGVudHJ5ID0gZGdldChsb3dlcl9kZW50cnkp OworCW5kLT5tbnQgPSBtbnRnZXQobG93ZXJfbW50KTsKKwluZC0+ZGVudHJ5ID0gZGdldChs b3dlcl9kZW50cnkpOwogCiAJdmFsaWQgPSBsb3dlcl9kZW50cnktPmRfb3AtPmRfcmV2YWxp ZGF0ZShsb3dlcl9kZW50cnksIG5kKTsKIAogCW1udHB1dChsb3dlcl9tbnQpOwogCWRwdXQo bG93ZXJfZGVudHJ5KTsKIAotCW5kLT5wYXRoLm1udCA9IHZmc21vdW50X3NhdmU7Ci0JbmQt PnBhdGguZGVudHJ5ID0gZGVudHJ5X3NhdmU7CisJbmQtPm1udCA9IHZmc21vdW50X3NhdmU7 CisJbmQtPmRlbnRyeSA9IGRlbnRyeV9zYXZlOwogCiAJLyogdXBkYXRlIHRoZSBpbm9kZSwg ZXZlbiBpZiBkX3JldmFsaWRhdGUoKSAhPSAxICovCiAJaWYgKGRlbnRyeS0+ZF9pbm9kZSkg ewpAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2RfcmV2YWxpZGF0ZShz dHJ1Y3QgCiAKIAkJbG93ZXJfaW5vZGUgPSBHRVRfTE9XRVJfSU5PREUoZGVudHJ5LT5kX2lu b2RlKTsKIAotCQlmc3N0YWNrX2NvcHlfYXR0cl9hbGwoZGVudHJ5LT5kX2lub2RlLCBsb3dl cl9pbm9kZSwgTlVMTCk7CisJCWZzc3RhY2tfY29weV9hdHRyX2FsbChkZW50cnktPmRfaW5v ZGUsIGxvd2VyX2lub2RlKTsKIAl9CiBvdXQ6CiAJcmV0dXJuIHZhbGlkOwpkaWZmIC14IENW UyAtcnVwIGRhenVrb2ZzLTMuMC4wL2V2ZW50LmMgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4y Ml9VYnVudHU3LjEwL2V2ZW50LmMKLS0tIGRhenVrb2ZzLTMuMC4wL2V2ZW50LmMJMjAwOS0w Mi0yMiAxNzo0NDowMy4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJjNF8y LjYuMjJfVWJ1bnR1Ny4xMC9ldmVudC5jCTIwMDktMDctMDMgMTg6NTY6MTEuMDAwMDAwMDAw ICswMjAwCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2lu Y2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRl IDxsaW51eC9mcmVlemVyLmg+CiAKICNpbmNsdWRlICJkZXYuaCIKICNpbmNsdWRlICJkYXp1 a29mc19mcy5oIgpAQCAtMTEzLDIxICsxMTIsMjEgQEAgaW50IGRhenVrb2ZzX2luaXRfZXZl bnRzKHZvaWQpCiAJZGF6dWtvZnNfZ3JvdXBfY2FjaGVwID0KIAkJa21lbV9jYWNoZV9jcmVh dGUoImRhenVrb2ZzX2dyb3VwX2NhY2hlIiwKIAkJCQkgIHNpemVvZihzdHJ1Y3QgZGF6dWtv ZnNfZ3JvdXApLCAwLAotCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdOLCBOVUxMKTsKKwkJCQkg IFNMQUJfSFdDQUNIRV9BTElHTiwgTlVMTCwgTlVMTCk7CiAJaWYgKCFkYXp1a29mc19ncm91 cF9jYWNoZXApCiAJCWdvdG8gZXJyb3Jfb3V0OwogCiAJZGF6dWtvZnNfZXZlbnRfY29udGFp bmVyX2NhY2hlcCA9CiAJCWttZW1fY2FjaGVfY3JlYXRlKCJkYXp1a29mc19ldmVudF9jb250 YWluZXJfY2FjaGUiLAogCQkJCSAgc2l6ZW9mKHN0cnVjdCBkYXp1a29mc19ldmVudF9jb250 YWluZXIpLCAwLAotCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdOLCBOVUxMKTsKKwkJCQkgIFNM QUJfSFdDQUNIRV9BTElHTiwgTlVMTCwgTlVMTCk7CiAJaWYgKCFkYXp1a29mc19ldmVudF9j b250YWluZXJfY2FjaGVwKQogCQlnb3RvIGVycm9yX291dDsKIAogCWRhenVrb2ZzX2V2ZW50 X2NhY2hlcCA9CiAJCWttZW1fY2FjaGVfY3JlYXRlKCJkYXp1a29mc19ldmVudF9jYWNoZSIs CiAJCQkJICBzaXplb2Yoc3RydWN0IGRhenVrb2ZzX2V2ZW50KSwgMCwKLQkJCQkgIFNMQUJf SFdDQUNIRV9BTElHTiwgTlVMTCk7CisJCQkJICBTTEFCX0hXQ0FDSEVfQUxJR04sIE5VTEws IE5VTEwpOwogCWlmICghZGF6dWtvZnNfZXZlbnRfY2FjaGVwKQogCQlnb3RvIGVycm9yX291 dDsKIApAQCAtMTYyLDE2ICsxNjEsMjMgQEAgc3RhdGljIGludCBjYXB0dXJlX2dyb3VwX2Nv dW50KGludCAqY2FjaAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2dyb3Vw X2NvdW50KHZvaWQpCitzdGF0aWMgaW50IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxl KHZvaWQpCiB7CiAJaW50IGNhY2hlID0gMDsKLQlpbnQgcmV0ID0gd2FpdF9ldmVudF9mcmVl emFibGUoX19ncm91cF9jb3VudF9xdWV1ZSwKLQkJCQkgICAgICAgY2FwdHVyZV9ncm91cF9j b3VudCgmY2FjaGUpID09IDApOworCWludCByZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGli bGUoX19ncm91cF9jb3VudF9xdWV1ZSwKKwkJCQkgICAgICAgICAgIGNhcHR1cmVfZ3JvdXBf Y291bnQoJmNhY2hlKSA9PSAwKTsKIAlpZiAocmV0ID09IDApCiAJCXJldCA9IF9fZ3JvdXBf Y291bnQ7CiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCBnZXRfZ3JvdXBfY291bnQo dm9pZCkKK3sKKwlpbnQgY2FjaGUgPSAwOworCXdhaXRfZXZlbnQoX19ncm91cF9jb3VudF9x dWV1ZSwgY2FwdHVyZV9ncm91cF9jb3VudCgmY2FjaGUpID09IDApOworCXJldHVybiBfX2dy b3VwX2NvdW50OworfQorCiBzdGF0aWMgdm9pZCBwdXRfZ3JvdXBfY291bnQodm9pZCkKIHsK IAltdXRleF9sb2NrKCZncm91cF9jb3VudF9tdXRleCk7CkBAIC0zOTksNyArNDA1LDcgQEAg aW50IGRhenVrb2ZzX2FkZF9ncm91cChjb25zdCBjaGFyICpuYW1lLAogCWludCBhbHJlYWR5 X2V4aXN0czsKIAlpbnQgYXZhaWxhYmxlX2lkID0gMDsKIAlzdHJ1Y3QgZGF6dWtvZnNfZ3Jv dXAgKmdycDsKLQlpbnQgZ3JwX2NvdW50ID0gZ2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdy cF9jb3VudCA9IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3Jw X2NvdW50IDwgMCkgewogCQlyZXQgPSBncnBfY291bnQ7CkBAIC00NDcsNyArNDUzLDcgQEAg aW50IGRhenVrb2ZzX3JlbW92ZV9ncm91cChjb25zdCBjaGFyICpuYQogCWludCByZXQgPSAw OwogCXN0cnVjdCBkYXp1a29mc19ncm91cCAqZ3JwOwogCXN0cnVjdCBsaXN0X2hlYWQgKnBv czsKLQlpbnQgZ3JwX2NvdW50ID0gZ2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3Vu dCA9IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50 IDwgMCkgewogCQlyZXQgPSBncnBfY291bnQ7CkBAIC03MDEsMTEgKzcwNywxMCBAQCBpbnQg ZGF6dWtvZnNfY2hlY2tfYWNjZXNzKHN0cnVjdCBkZW50cnkgCiB7CiAJc3RydWN0IGRhenVr b2ZzX2V2ZW50X2NvbnRhaW5lciAqZWNfYXJyYXlbR1JPVVBfQ09VTlRdOwogCXN0cnVjdCBk YXp1a29mc19ldmVudCAqZXZ0OwotCWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQo KTsKLQlpbnQgZXJyOworCWludCBncnBfY291bnQ7CisJaW50IGVyciA9IDA7CiAKLQlpZiAo Z3JwX2NvdW50IDwgMCkKLQkJcmV0dXJuIGdycF9jb3VudDsKKwlncnBfY291bnQgPSBnZXRf Z3JvdXBfY291bnQoKTsKIAogCWlmIChjaGVja19hY2Nlc3NfcHJlY2hlY2soZ3JwX2NvdW50 KSkgewogCQlwdXRfZ3JvdXBfY291bnQoKTsKQEAgLTcxMywzMiArNzE4LDI5IEBAIGludCBk YXp1a29mc19jaGVja19hY2Nlc3Moc3RydWN0IGRlbnRyeSAKIAl9CiAKIAkvKiBhdCB0aGlz IHBvaW50LCB0aGUgYWNjZXNzIHNob3VsZCBiZSBoYW5kbGVkICovCi0KIAlpZiAoYWxsb2Nh dGVfZXZlbnRfYW5kX2NvbnRhaW5lcnMoJmV2dCwgZWNfYXJyYXksIGdycF9jb3VudCkpIHsK IAkJcHV0X2dyb3VwX2NvdW50KCk7Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0Owor CQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0KIAlldnQtPmRlbnRyeSA9IGRnZXQoZGVudHJ5KTsK IAlldnQtPm1udCA9IG1udGdldChtbnQpOwogCWV2dC0+cGlkID0gY3VycmVudC0+cGlkOwot CiAJYXNzaWduX2V2ZW50X3RvX2dyb3VwcyhldnQsIGVjX2FycmF5KTsKIAogCXB1dF9ncm91 cF9jb3VudCgpOwogCi0JLyogd2FpdCB1bnRpbCBldmVudCBjb21wbGV0ZWx5IHByb2Nlc3Nl ZCBvciBzaWduYWwgKi8KLQllcnIgPSB3YWl0X2V2ZW50X2ZyZWV6YWJsZShldnQtPnF1ZXVl LCBldmVudF9hc3NpZ25lZChldnQpID09IDApOworCS8qIHdhaXQgdW50aWwgZXZlbnQgY29t cGxldGVseSBwcm9jZXNzZWQgKi8KKwl3YWl0X2V2ZW50KGV2dC0+cXVldWUsIGV2ZW50X2Fz c2lnbmVkKGV2dCkgPT0gMCk7CiAKIAlpZiAoZXZ0LT5kZW55KQogCQllcnIgPSAtRVBFUk07 CiAKIAlyZWxlYXNlX2V2ZW50KGV2dCwgMCwgMCk7Ci1vdXQ6CisJCiAJcmV0dXJuIGVycjsK IH0KIAorCiBpbnQgZGF6dWtvZnNfZ3JvdXBfb3Blbl90cmFja2luZyh1bnNpZ25lZCBsb25n IGdyb3VwX2lkKQogewogCXN0cnVjdCBkYXp1a29mc19ncm91cCAqZ3JwOwpAQCAtOTI4LDcg KzkzMCw4IEBAIHN0YXRpYyBpbnQgb3Blbl9maWxlKHN0cnVjdCBkYXp1a29mc19ldmUKIAkv KiBhZGQgbXlzZWxmIHRvIGJlIGlnbm9yZWQgb24gZmlsZSBvcGVuICh0byBhdm9pZCByZWN1 cnNpb24pICovCiAJbWFza19wcm9jKCZwcm9jKTsKIAotCWVjLT5maWxlID0gZGVudHJ5X29w ZW4oZGdldChldnQtPmRlbnRyeSksIG1udGdldChldnQtPm1udCksIE9fUkRPTkxZKTsKKwll Yy0+ZmlsZSA9IGRlbnRyeV9vcGVuKGRnZXQoZXZ0LT5kZW50cnkpLCBtbnRnZXQoZXZ0LT5t bnQpLCAKKwkJCSAgICAgICBPX1JET05MWSB8IE9fTEFSR0VGSUxFKTsKIAlpZiAoSVNfRVJS KGVjLT5maWxlKSkgewogCQljaGVja19yZWN1cnNpb24oKTsgIC8qIHJlbW92ZSBteXNlbGYg ZnJvbSBwcm9jX2xpc3QgKi8KIAkJcmV0ID0gUFRSX0VSUihlYy0+ZmlsZSk7CkBAIC0xMDA0 LDkgKzEwMDcsOSBAQCBpbnQgZGF6dWtvZnNfZ2V0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZ3Jv CiAJfQogCiAJd2hpbGUgKDEpIHsKLQkJcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoZ3Jw LT5xdWV1ZSwKLQkJCQkJICAgaXNfZXZlbnRfYXZhaWxhYmxlKGdycCkgfHwKLQkJCQkJICAg Z3JwLT5kZXByZWNhdGVkKTsKKwkJcmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGdy cC0+cXVldWUsCisJCQkJCSAgICAgICBpc19ldmVudF9hdmFpbGFibGUoZ3JwKSB8fAorCQkJ CQkgICAgICAgZ3JwLT5kZXByZWNhdGVkKTsKIAkJaWYgKHJldCAhPSAwKQogCQkJYnJlYWs7 CiAKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9maWxlLmMgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yMl9VYnVudHU3LjEwL2ZpbGUuYwotLS0gZGF6dWtvZnMtMy4wLjAvZmls ZS5jCTIwMDktMDItMjIgMTc6NDM6MTEuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0z LjAuMC1yYzRfMi42LjIyX1VidW50dTcuMTAvZmlsZS5jCTIwMDktMDctMDMgMTg6NTA6MDIu MDAwMDAwMDAwICswMjAwCkBAIC0xNzcsMTAgKzE3NywxMSBAQCBzdGF0aWMgaW50IGRhenVr b2ZzX29wZW4oc3RydWN0IGlub2RlICppCiAJc3RydWN0IGZpbGUgKmxvd2VyX2ZpbGU7CiAJ aW50IGVycjsKIAotCWVyciA9IGRhenVrb2ZzX2NoZWNrX2FjY2VzcyhmaWxlLT5mX2RlbnRy eSwgZmlsZS0+Zl92ZnNtbnQpOwotCWlmIChlcnIpCi0JCWdvdG8gZXJyb3Jfb3V0MTsKLQor CWlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpKSB7CisJCWVyciA9IGRhenVrb2ZzX2NoZWNr X2FjY2VzcyhmaWxlLT5mX2RlbnRyeSwgZmlsZS0+Zl92ZnNtbnQpOworCQlpZiAoZXJyKQor CQkJZ290byBlcnJvcl9vdXQxOworCX0KIAlTRVRfRklMRV9JTkZPKGZpbGUsIGttZW1fY2Fj aGVfemFsbG9jKGRhenVrb2ZzX2ZpbGVfaW5mb19jYWNoZXAsCiAJCSAgICAgIEdGUF9LRVJO RUwpKTsKIAlpZiAoIUdFVF9GSUxFX0lORk8oZmlsZSkpIHsKQEAgLTI3Miw2ICsyNzMsMjAg QEAgb3V0OgogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgZGF6dWtvZnNfbW1hcCAo c3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm0pCit7CisKKwlz dHJ1Y3QgZmlsZSAqbG93ZXJfZmlsZSA9IEdFVF9MT1dFUl9GSUxFKGZpbGUpOworCisJLyog aWYgbG93ZXIgZnMgZG9lcyBub3Qgc3VwcG9ydCBtbWFwKCksIHdlIGRvbnQgY2FsbCBnZW5l cmljX2ZpbGVfcmVhZG9ubHlfbW1hcCgpLCAKKwkgKiBzaW5jZSB0aGlzIHdvdWxkIHJlc3Vs dCBpbiBjYWxsaW5nIGxvd2VyIHJlYWRwYWdlKCksIHdoaWNoIG1pZ2h0IG5vdCBiZSAKKwkg KiBkZWZpbmVkIGJ5IGxvd2VyIGZzIGlmIG1tYXAoKSBpcyBub3Qgc3VwcG9ydGVkKi8KKwlp ZiAoIWxvd2VyX2ZpbGUtPmZfb3AgfHwgIWxvd2VyX2ZpbGUtPmZfb3AtPm1tYXApIAorCQly ZXR1cm4gLUVOT0RFVjsKKwkKKworCXJldHVybiBnZW5lcmljX2ZpbGVfcmVhZG9ubHlfbW1h cChmaWxlLCB2bSk7Cit9CiAvKioKICAqIFVudXNlZCBvcGVyYXRpb25zOgogICogICAtIG93 bmVyCkBAIC0yOTUsMTggKzMxMCwxNSBAQCBvdXQ6CiBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25z IGRhenVrb2ZzX21haW5fZm9wcyA9IHsKIAkubGxzZWVrCQk9IGRhenVrb2ZzX2xsc2VlaywK IAkucmVhZAkJPSBkYXp1a29mc19yZWFkLAotCS5haW9fcmVhZAk9IGdlbmVyaWNfZmlsZV9h aW9fcmVhZCwKIAkud3JpdGUJCT0gZGF6dWtvZnNfd3JpdGUsCi0JLmFpb193cml0ZQk9IGdl bmVyaWNfZmlsZV9haW9fd3JpdGUsCiAJLnJlYWRkaXIJPSBkYXp1a29mc19yZWFkZGlyLAog CS5pb2N0bAkJPSBkYXp1a29mc19pb2N0bCwKLQkubW1hcAkJPSBnZW5lcmljX2ZpbGVfbW1h cCwKKwkubW1hcAkJPSBkYXp1a29mc19tbWFwLAogCS5vcGVuCQk9IGRhenVrb2ZzX29wZW4s CiAJLmZsdXNoCQk9IGRhenVrb2ZzX2ZsdXNoLAogCS5yZWxlYXNlCT0gZGF6dWtvZnNfcmVs ZWFzZSwKIAkuZnN5bmMJCT0gZGF6dWtvZnNfZnN5bmMsCiAJLmZhc3luYwkJPSBkYXp1a29m c19mYXN5bmMsCi0JLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3NwbGljZV9yZWFkLAog fTsKIAogLyoqCkBAIC0zMzUsMTEgKzM0NywxMCBAQCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25z IGRhenVrb2ZzX21haW5fZm9wCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRhenVr b2ZzX2Rpcl9mb3BzID0gewogCS5yZWFkZGlyCT0gZGF6dWtvZnNfcmVhZGRpciwKIAkuaW9j dGwJCT0gZGF6dWtvZnNfaW9jdGwsCi0JLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCisJ Lm1tYXAJCT0gZGF6dWtvZnNfbW1hcCwKIAkub3BlbgkJPSBkYXp1a29mc19vcGVuLAogCS5m bHVzaAkJPSBkYXp1a29mc19mbHVzaCwKIAkucmVsZWFzZQk9IGRhenVrb2ZzX3JlbGVhc2Us CiAJLmZzeW5jCQk9IGRhenVrb2ZzX2ZzeW5jLAogCS5mYXN5bmMJCT0gZGF6dWtvZnNfZmFz eW5jLAotCS5zcGxpY2VfcmVhZAk9IGdlbmVyaWNfZmlsZV9zcGxpY2VfcmVhZCwKIH07CmRp ZmYgLXggQ1ZTIC1ydXAgZGF6dWtvZnMtMy4wLjAvZ3JvdXBfZGV2LmMgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yMl9VYnVudHU3LjEwL2dyb3VwX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAu MC9ncm91cF9kZXYuYwkyMDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEwMAorKysg ZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yMl9VYnVudHU3LjEwL2dyb3VwX2Rldi5jCTIwMDkt MDYtMTggMTI6Mjc6NDguMDAwMDAwMDAwICswMjAwCkBAIC0yMTAsNyArMjEwLDcgQEAgaW50 IGRhenVrb2ZzX2dyb3VwX2Rldl9pbml0KGludCBkZXZfbWFqbwogCS8qIGNyZWF0ZSBncm91 cCBkZXZpY2VzICovCiAJZm9yIChpID0gMDsgaSA8IEdST1VQX0NPVU5UOyBpKyspIHsKIAkJ ZGV2ID0gZGV2aWNlX2NyZWF0ZShkYXp1a29mc19jbGFzcywgTlVMTCwKLQkJCQkgICAgTUtE RVYoZGV2X21ham9yLCBkZXZfbWlub3JfZW5kKSwgTlVMTCwKKwkJCQkgICAgTUtERVYoZGV2 X21ham9yLCBkZXZfbWlub3JfZW5kKSwKIAkJCQkgICAgIiVzLiVkIiwgREVWSUNFX05BTUUs IGkpOwogCQlpZiAoSVNfRVJSKGRldikpIHsKIAkJCWVyciA9IFBUUl9FUlIoZGV2KTsKZGlm ZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9pZ25fZGV2LmMgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yMl9VYnVudHU3LjEwL2lnbl9kZXYuYwotLS0gZGF6dWtvZnMtMy4wLjAvaWdu X2Rldi5jCTIwMDktMDItMjIgMTc6NDU6MjAuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29m cy0zLjAuMC1yYzRfMi42LjIyX1VidW50dTcuMTAvaWduX2Rldi5jCTIwMDktMDYtMTggMTI6 Mjc6NDguMDAwMDAwMDAwICswMjAwCkBAIC0xNDQsNyArMTQ0LDcgQEAgaW50IGRhenVrb2Zz X2lnbl9kZXZfaW5pdChpbnQgZGV2X21ham9yLAogCWRhenVrb2ZzX2lnbl9jYWNoZXAgPQog CQlrbWVtX2NhY2hlX2NyZWF0ZSgiZGF6dWtvZnNfaWduX2NhY2hlIiwKIAkJCQkgIHNpemVv ZihzdHJ1Y3QgZGF6dWtvZnNfcHJvYyksIDAsCi0JCQkJICBTTEFCX0hXQ0FDSEVfQUxJR04s IE5VTEwpOworCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdOLCBOVUxMLCBOVUxMKTsKIAlpZiAo IWRhenVrb2ZzX2lnbl9jYWNoZXApIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJZ290byBlcnJv cl9vdXQxOwpAQCAtMTU5LDcgKzE1OSw3IEBAIGludCBkYXp1a29mc19pZ25fZGV2X2luaXQo aW50IGRldl9tYWpvciwKIAogCS8qIGNyZWF0ZSBpZ25vcmUgZGV2aWNlICovCiAJZGV2ID0g ZGV2aWNlX2NyZWF0ZShkYXp1a29mc19jbGFzcywgTlVMTCwgTUtERVYoZGV2X21ham9yLCBk ZXZfbWlub3IpLAotCQkJICAgIE5VTEwsICIlcy5pZ24iLCBERVZJQ0VfTkFNRSk7CisJCQkg ICAgIiVzLmlnbiIsIERFVklDRV9OQU1FKTsKIAlpZiAoSVNfRVJSKGRldikpIHsKIAkJZXJy ID0gUFRSX0VSUihkZXYpOwogCQlnb3RvIGVycm9yX291dDM7CmRpZmYgLXggQ1ZTIC1ydXAg ZGF6dWtvZnMtMy4wLjAvaW5vZGUuYyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjIyX1VidW50 dTcuMTAvaW5vZGUuYwotLS0gZGF6dWtvZnMtMy4wLjAvaW5vZGUuYwkyMDA5LTAyLTIyIDE3 OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yMl9V YnVudHU3LjEwL2lub2RlLmMJMjAwOS0wNy0wNiAxMDozMDowMy4wMDAwMDAwMDAgKzAyMDAK QEAgLTQ3LDE0ICs0NywyOCBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2RlX3Rlc3Qoc3Ry 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 a29mc19pbml0X2lub2RlKGlub2RlLCAoc3RydWN0IGlub2RlICopbG93ZXJfaW5vZGUpOwpA QCAtNjIsNzIgKzc2LDEyNCBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2RlX3NldChzdHJ1 Y3QgaW5vCiB9CiAKIGludCBkYXp1a29mc19pbnRlcnBvc2Uoc3RydWN0IGRlbnRyeSAqbG93 ZXJfZGVudHJ5LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCi0JCSAgICAgc3RydWN0IHN1cGVy X2Jsb2NrICpzYiwgaW50IGZsYWcpCisJCSAgICAgc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwg aW50IGhhc2gpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZTsKLQlzdHJ1Y3QgaW5vZGUgKmxv d2VyX2lub2RlID0gaWdyYWIobG93ZXJfZGVudHJ5LT5kX2lub2RlKTsKLQlpbnQgZXJyID0g MDsKKwlzdHJ1Y3QgaW5vZGUgKmxvd2VyX2lub2RlOworCWludCBlcnI7CiAKLQlpZiAoIWxv d2VyX2lub2RlKSB7Ci0JCWVyciA9IC1FU1RBTEU7Ci0JCWdvdG8gb3V0OwotCX0KKwlsb3dl cl9pbm9kZSA9IGlncmFiKGxvd2VyX2RlbnRyeS0+ZF9pbm9kZSk7CiAKLQlpZiAobG93ZXJf aW5vZGUtPmlfc2IgIT0gR0VUX0xPV0VSX1NCKHNiKSkgewotCQlpcHV0KGxvd2VyX2lub2Rl KTsKLQkJZXJyID0gLUVYREVWOwotCQlnb3RvIG91dDsKLQl9CisJaWYgKCFsb3dlcl9pbm9k ZSkgCisJCXJldHVybiAtRVNUQUxFOwogCiAJaW5vZGUgPSBpZ2V0NV9sb2NrZWQoc2IsICh1 bnNpZ25lZCBsb25nKWxvd2VyX2lub2RlLAogCQkJICAgICBkYXp1a29mc19pbm9kZV90ZXN0 LCBkYXp1a29mc19pbm9kZV9zZXQsCiAJCQkgICAgIGxvd2VyX2lub2RlKTsKLQogCWlmICgh aW5vZGUpIHsKLQkJaXB1dChsb3dlcl9pbm9kZSk7CiAJCWVyciA9IC1FQUNDRVM7Ci0JCWdv dG8gb3V0OworCQlnb3RvIGVycjsKIAl9CiAKLQlpZiAoaW5vZGUtPmlfc3RhdGUgJiBJX05F VykgeworCWlmIChpbm9kZS0+aV9zdGF0ZSAmIElfTkVXKSAKIAkJdW5sb2NrX25ld19pbm9k ZShpbm9kZSk7CiAJCS8qCiAJCSAqIFRoaXMgaXMgYSBuZXcgbm9kZSBzbyB3ZSBsZWF2ZSB0 aGUgbG93ZXJfbm9kZSAiaW4gdXNlIgogCQkgKiBhbmQgZG8gbm90IGNhbGwgaXB1dCgpLgog CQkgKi8KLQl9IGVsc2UgeworCWVsc2UgCiAJCS8qCiAJCSAqIFRoaXMgaXMgbm90IGEgbmV3 IG5vZGUgc28gd2UgZGVjcmVtZW50IHRoZSB1c2FnZSBjb3VudC4KIAkJICovCiAJCWlwdXQo bG93ZXJfaW5vZGUpOwotCX0KIAotCWlmIChTX0lTTE5LKGxvd2VyX2lub2RlLT5pX21vZGUp KQotCQlpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19zeW1saW5rX2lvcHM7Ci0JZWxzZSBpZiAo U19JU0RJUihsb3dlcl9pbm9kZS0+aV9tb2RlKSkKLQkJaW5vZGUtPmlfb3AgPSAmZGF6dWtv ZnNfZGlyX2lvcHM7Ci0KLQlpZiAoU19JU0RJUihsb3dlcl9pbm9kZS0+aV9tb2RlKSkKLQkJ aW5vZGUtPmlfZm9wID0gJmRhenVrb2ZzX2Rpcl9mb3BzOwotCi0JaWYgKHNwZWNpYWxfZmls ZShsb3dlcl9pbm9kZS0+aV9tb2RlKSkgewotCQlpbml0X3NwZWNpYWxfaW5vZGUoaW5vZGUs IGxvd2VyX2lub2RlLT5pX21vZGUsCi0JCQkJICAgbG93ZXJfaW5vZGUtPmlfcmRldik7Ci0J fQogCi0JZGVudHJ5LT5kX29wID0gJmRhenVrb2ZzX2RvcHM7Ci0KLQlpZiAoZmxhZykKKwlp ZiAoaGFzaCkKIAkJZF9hZGQoZGVudHJ5LCBpbm9kZSk7CiAJZWxzZQogCQlkX2luc3RhbnRp YXRlKGRlbnRyeSwgaW5vZGUpOwogCi0JZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2RlLCBs b3dlcl9pbm9kZSwgTlVMTCk7CisJZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2RlLCBsb3dl cl9pbm9kZSk7CiAJZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5vZGUsIGxvd2VyX2lub2Rl KTsKLW91dDoKKworCXJldHVybiAwOworZXJyOgorCWlwdXQobG93ZXJfaW5vZGUpOwogCXJl dHVybiBlcnI7CiB9CiAKKy8qIGNyZWF0ZXMgYSBuZXcgbG93ZXIgZGVudHJ5ICovCitzdGF0 aWMgc3RydWN0IGRlbnRyeSAqZGF6dWtvZnNfbmV3X2xvd2VyX2RlbnRyeShzdHJ1Y3QgcXN0 ciAqbmFtZSwKKwkJCQkJCXN0cnVjdCBkZW50cnkgKmxvd2VyX2Jhc2UsIAorCQkJCQkJc3Ry dWN0IG5hbWVpZGF0YSAqbmQpCit7CisJc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeTsKKwlz dHJ1Y3QgZGVudHJ5ICp0bXA7CisJc3RydWN0IGlub2RlICpsb3dlcl9pbm9kZTsKKworCWxv d2VyX2lub2RlID0gbG93ZXJfYmFzZS0+ZF9pbm9kZTsKKwkvKiBYWFg6IGlzIHRoaXMgY2hl Y2sgc3RpbGwgbmVjZXNzYXJ5PyAoc2VlIF9fbG9va3VwX2hhc2goKSkKKwkgICBUaGlzIGlz IChob3BlbHkpIHByb3RlY3RlZCBieSBsb2NrZWQgdXBwZXIgaW5vZGUgKi8KKwlpZiAoSVNf REVBRERJUihsb3dlcl9pbm9kZSkpIHsKKwkJbmV3X2RlbnRyeSA9IEVSUl9QVFIoLUVOT0VO VCk7CisJCWdvdG8gb3V0OworCX0KKwl0bXAgPSBkX2FsbG9jKGxvd2VyX2Jhc2UsIG5hbWUp OworCWlmICghdG1wKSB7CisJCW5ld19kZW50cnkgPSBFUlJfUFRSKC1FTk9NRU0pOworCQln b3RvIG91dDsKKwl9CisJbmV3X2RlbnRyeSA9IGxvd2VyX2lub2RlLT5pX29wLT5sb29rdXAo bG93ZXJfaW5vZGUsIHRtcCwgbmQpOworCS8qIGxvb2t1cCgpIHNlZW1pbmdseSBpcyBhbGxv d2VkIHRvIHJldHVybiBpdHMgb3duIGRlbnRyeSAod2hpY2ggCisJICogbWF5IGluZGVlZCBi ZSBhIGRlbnRyeSBvciBvbmx5IGFuIGVycm9yKS4gSWYgc28KKwkgKiB3ZSB1c2UgaXQgYW5k IGRpc2NhcmQgb3Vycy4gT3RoZXJ3aXNlIHdlIHVzZSBvdXJzICovIAorCWlmICghbmV3X2Rl bnRyeSkgCisJCW5ld19kZW50cnkgPSB0bXA7CisJZWxzZSAKKwkJZHB1dCh0bXApOworCQkK K291dDoJCQorCXJldHVybiBuZXdfZGVudHJ5OworfQorCisKKy8qIGdldCBsb3dlciBkZW50 cnkgZm9yIGdpdmVuIG5hbWUgKi8KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19s b29rdXBfb25lX2xvd2VyKHN0cnVjdCBxc3RyICpuYW1lLCAKKwkJCQkJCXN0cnVjdCBkZW50 cnkgKmxvd2VyX2Jhc2UsCisJCQkJCQlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udCkKK3sK KwlzdHJ1Y3QgZGVudHJ5ICpyZXN1bHQ7CisJc3RydWN0IG5hbWVpZGF0YSBuZDsKKwlpbnQg ZXJyOworCisJLyogc2VlIHZmc19wYXRoX2xvb2t1cCBpbiBrZXJuZWwgdmVyc2lvbnMgPj0g Mi42LjI0ICovCisJbmQubGFzdF90eXBlID0gTEFTVF9ST09UOworCW5kLmZsYWdzID0gMDsK KwluZC5kZXB0aCA9IDA7CisJbmQuZGVudHJ5ID0gZGdldChsb3dlcl9iYXNlKTsKKwluZC5t bnQgPSBtbnRnZXQobG93ZXJfbW50KTsKKworCWVyciA9IHBhdGhfd2FsayhuYW1lLT5uYW1l LCAmbmQpOworCisJaWYgKCFlcnIpIHsKKwkJLyogaW5vZGUgYWxyZWFkeSBleGlzdHMgb24g ZGlzayAqLworCQlyZXN1bHQgPSBuZC5kZW50cnk7CisJCS8qIHdlIGRvbnQgbmVlZCB0aGUg bW91bnQgKi8KKwkJbW50cHV0KG5kLm1udCk7CisJCWdvdG8gb3V0OworCX0KKwlpZiAoZXJy ICE9IC1FTk9FTlQpIHsgLyogdGhpcyBpcyBhIFJFQUwgZXJyb3IgKi8JCisJCXJlc3VsdCA9 IEVSUl9QVFIoZXJyKTsKKwkJZ290byBvdXQ7CisJfQkKKwkvKiBjcmVhdGUgYSBuZXcgKGxv d2VyKSBkZW50cnkgKi8KKwlyZXN1bHQgPSBkYXp1a29mc19uZXdfbG93ZXJfZGVudHJ5KG5h bWUsIGxvd2VyX2Jhc2UsICZuZCk7CitvdXQ6CisJcmV0dXJuIHJlc3VsdDsKKworfQorCisK IC8qKgogICogRGVzY3JpcHRpb246IENhbGxlZCB3aGVuIHRoZSBWRlMgbmVlZHMgdG8gbG9v ayB1cCBhbiBpbm9kZSBpbiBhIHBhcmVudAogICogZGlyZWN0b3J5LiBUaGUgbmFtZSB0byBs b29rIGZvciBpcyBmb3VuZCBpbiB0aGUgZGVudHJ5LiBUaGlzIG1ldGhvZApAQCAtMTQ4LDYy ICsyMTQsNDggQEAgc3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2ZzX2xvb2t1cChzdAog CXN0cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9k ZW50cnlfcGFyZW50OwogCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50OwotCWludCBlcnIg PSAwOwotCi0JaWYgKChkZW50cnktPmRfbmFtZS5sZW4gPT0gMSAmJiAhc3RyY21wKGRlbnRy eS0+ZF9uYW1lLm5hbWUsICIuIikpCi0JICAgIHx8IChkZW50cnktPmRfbmFtZS5sZW4gPT0g MiAmJgotCQkhc3RyY21wKGRlbnRyeS0+ZF9uYW1lLm5hbWUsICIuLiIpKSkgewotCQlkX2Ry b3AoZGVudHJ5KTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JZGVudHJ5LT5kX29wID0gJmRhenVr b2ZzX2RvcHM7CisJaW50IGVycjsKIAogCWxvd2VyX2RlbnRyeV9wYXJlbnQgPSBHRVRfTE9X RVJfREVOVFJZKGRlbnRyeS0+ZF9wYXJlbnQpOwotCWxvd2VyX2RlbnRyeSA9IGxvb2t1cF9v bmVfbGVuKGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGxvd2VyX2RlbnRyeV9wYXJlbnQsCi0JCQkJ ICAgICAgZGVudHJ5LT5kX25hbWUubGVuKTsKKwkvKiBzaG91bGQgYmUgcmVsZWFzZWQgaW4g ZF9yZWxlYXNlKCkgKi8KKwlsb3dlcl9tbnQgPSBtbnRnZXQoR0VUX0xPV0VSX01OVChkZW50 cnktPmRfcGFyZW50KSk7CiAKKwlsb3dlcl9kZW50cnkgPSBkYXp1a29mc19sb29rdXBfb25l X2xvd2VyKCZkZW50cnktPmRfbmFtZSwgCisJCQkJCQkgbG93ZXJfZGVudHJ5X3BhcmVudCwg CisJCQkJCQkgbG93ZXJfbW50KTsgCiAJaWYgKElTX0VSUihsb3dlcl9kZW50cnkpKSB7Ci0J CWVyciA9IFBUUl9FUlIobG93ZXJfZGVudHJ5KTsKLQkJZF9kcm9wKGRlbnRyeSk7Ci0JCWdv dG8gb3V0OworCQltbnRwdXQobG93ZXJfbW50KTsKKwkJcmV0dXJuIGxvd2VyX2RlbnRyeTsK IAl9Ci0KIAlCVUdfT04oIWF0b21pY19yZWFkKCZsb3dlcl9kZW50cnktPmRfY291bnQpKTsK IAorCWRlbnRyeS0+ZF9vcCA9ICZkYXp1a29mc19kb3BzOwogCVNFVF9ERU5UUllfSU5GTyhk ZW50cnksIGttZW1fY2FjaGVfemFsbG9jKGRhenVrb2ZzX2RlbnRyeV9pbmZvX2NhY2hlcCwK IAkJCUdGUF9LRVJORUwpKTsKIAogCWlmICghR0VUX0RFTlRSWV9JTkZPKGRlbnRyeSkpIHsK LQkJZXJyID0gLUVOT01FTTsKLQkJZ290byBvdXRfZHB1dDsKKwkJbW50cHV0KGxvd2VyX21u dCk7CisJCWRwdXQobG93ZXJfZGVudHJ5KTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7 CiAJfQotCi0JbG93ZXJfbW50ID0gbW50Z2V0KEdFVF9MT1dFUl9NTlQoZGVudHJ5LT5kX3Bh cmVudCkpOwotCi0JZnNzdGFja19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlf cGFyZW50LT5kX2lub2RlKTsKLQogCVNFVF9MT1dFUl9ERU5UUlkoZGVudHJ5LCBsb3dlcl9k ZW50cnksIGxvd2VyX21udCk7Ci0KKwkvKiBmcm9tIG5vdyBsb3dlciBkZW50cnkgYW5kIGxv d2VyIG1vdW50IGFyZSByZWxlYXNlZCBpbiAKKwkgIGRfcmVsZWFzZSBvZiB1cHBlciBkZW50 cnkgKi8KKwlmc3N0YWNrX2NvcHlfYXR0cl9hdGltZShkaXIsIGxvd2VyX2RlbnRyeV9wYXJl bnQtPmRfaW5vZGUpOwogCWlmICghbG93ZXJfZGVudHJ5LT5kX2lub2RlKSB7CiAJCS8qCiAJ CSAqIFdlIHdhbnQgdG8gYWRkIGJlY2F1c2Ugd2UgY291bGQgbm90IGZpbmQgaW4gbG93ZXIu CiAJCSAqLwogCQlkX2FkZChkZW50cnksIE5VTEwpOwotCQlnb3RvIG91dDsKKwkJZ290byBv azsKIAl9CiAKIAllcnIgPSBkYXp1a29mc19pbnRlcnBvc2UobG93ZXJfZGVudHJ5LCBkZW50 cnksIGRpci0+aV9zYiwgMSk7Ci0JaWYgKGVycikKLQkJZ290byBvdXRfZHB1dDsKLQlnb3Rv IG91dDsKLQotb3V0X2RwdXQ6Ci0JZHB1dChsb3dlcl9kZW50cnkpOwotCWRfZHJvcChkZW50 cnkpOworCWlmIChlcnIpIAorCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCi1vdXQ6Ci0JcmV0 dXJuIEVSUl9QVFIoZXJyKTsKK29rOgorCXJldHVybiBOVUxMOyAvKiB0ZWxsIGNhbGxlciB0 byB1c2UgaXRzIG93biwgcGFzc2VkIGRlbnRyeSwgbm90IG91cnMgKi8KIH0KIAogLyoqCkBA IC0yMTYsNiArMjY4LDcgQEAgc3RhdGljIGludCBkYXp1a29mc19ta25vZChzdHJ1Y3QgaW5v ZGUgKgogCQkJICBkZXZfdCBkZXYpCiB7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5 ID0gR0VUX0xPV0VSX0RFTlRSWShkZW50cnkpOworCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJf bW50ID0gR0VUX0xPV0VSX01OVChkZW50cnkpOwogCXN0cnVjdCBkZW50cnkgKmxvd2VyX2Rl bnRyeV9wYXJlbnQgPSBkZ2V0KGxvd2VyX2RlbnRyeS0+ZF9wYXJlbnQpOwogCXN0cnVjdCBp bm9kZSAqbG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSA9IGxvd2VyX2RlbnRyeV9wYXJlbnQt PmRfaW5vZGU7CiAJaW50IGVyciA9IC1FTk9FTlQ7CkBAIC0yMjMsNyArMjc2LDggQEAgc3Rh dGljIGludCBkYXp1a29mc19ta25vZChzdHJ1Y3QgaW5vZGUgKgogCW11dGV4X2xvY2tfbmVz dGVkKCYobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZS0+aV9tdXRleCksCiAJCQkgIElfTVVU RVhfUEFSRU5UKTsKIAotCWVyciA9IHZmc19ta25vZChsb3dlcl9kZW50cnlfcGFyZW50X2lu b2RlLCBsb3dlcl9kZW50cnksIG1vZGUsIGRldik7CisJZXJyID0gdmZzX21rbm9kKGxvd2Vy X2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSxsb3dlcl9tbnQsIAorCQkJIG1v ZGUsIGRldik7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CiAKQEAgLTI0OCw2ICszMDIsNyBA QCBvdXQ6CiBzdGF0aWMgaW50IGRhenVrb2ZzX21rZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBz dHJ1Y3QgZGVudHJ5ICpkZW50cnksIGludCBtb2RlKQogewogCXN0cnVjdCBkZW50cnkgKmxv d2VyX2RlbnRyeSA9IEdFVF9MT1dFUl9ERU5UUlkoZGVudHJ5KTsKKwlzdHJ1Y3QgdmZzbW91 bnQgKmxvd2VyX21udCA9IEdFVF9MT1dFUl9NTlQoZGVudHJ5KTsKIAlzdHJ1Y3QgZGVudHJ5 ICpsb3dlcl9kZW50cnlfcGFyZW50ID0gZGdldChsb3dlcl9kZW50cnktPmRfcGFyZW50KTsK IAlzdHJ1Y3QgaW5vZGUgKmxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUgPSBsb3dlcl9kZW50 cnlfcGFyZW50LT5kX2lub2RlOwogCWludCBlcnIgPSAtRU5PRU5UOwpAQCAtMjU1LDcgKzMx MCw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfbWtkaXIoc3RydWN0IGlub2RlICoKIAltdXRl eF9sb2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUtPmlfbXV0ZXgpLAog CQkJICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIgPSB2ZnNfbWtkaXIobG93ZXJfZGVudHJ5 X3BhcmVudF9pbm9kZSwgbG93ZXJfZGVudHJ5LCBtb2RlKTsKKwllcnIgPSB2ZnNfbWtkaXIo bG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSwgbG93ZXJfZGVudHJ5LCBsb3dlcl9tbnQsCisJ CQltb2RlKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKIApAQCAtMjk0LDE5ICszNTAsMTkg QEAgc3RhdGljIGludCBkYXp1a29mc19jcmVhdGUoc3RydWN0IGlub2RlIAogCW11dGV4X2xv Y2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZS0+aV9tdXRleCksCiAJCQkg IElfTVVURVhfUEFSRU5UKTsKIAotCXZmc21vdW50X3NhdmUgPSBuZC0+cGF0aC5tbnQ7Ci0J ZGVudHJ5X3NhdmUgPSBuZC0+cGF0aC5kZW50cnk7CisJdmZzbW91bnRfc2F2ZSA9IG5kLT5t bnQ7CisJZGVudHJ5X3NhdmUgPSBuZC0+ZGVudHJ5OwogCi0JbmQtPnBhdGgubW50ID0gbW50 Z2V0KGxvd2VyX21udCk7Ci0JbmQtPnBhdGguZGVudHJ5ID0gZGdldChsb3dlcl9kZW50cnkp OworCW5kLT5tbnQgPSBtbnRnZXQobG93ZXJfbW50KTsKKwluZC0+ZGVudHJ5ID0gZGdldChs b3dlcl9kZW50cnkpOwogCiAJZXJyID0gdmZzX2NyZWF0ZShsb3dlcl9kZW50cnlfcGFyZW50 X2lub2RlLCBsb3dlcl9kZW50cnksIG1vZGUsIG5kKTsKIAogCW1udHB1dChsb3dlcl9tbnQp OwogCWRwdXQobG93ZXJfZGVudHJ5KTsKIAotCW5kLT5wYXRoLm1udCA9IHZmc21vdW50X3Nh dmU7Ci0JbmQtPnBhdGguZGVudHJ5ID0gZGVudHJ5X3NhdmU7CisJbmQtPm1udCA9IHZmc21v dW50X3NhdmU7CisJbmQtPmRlbnRyeSA9IGRlbnRyeV9zYXZlOwogCiAJaWYgKGVycikKIAkJ Z290byBvdXQ7CkBAIC0zMzMsNiArMzg5LDcgQEAgc3RhdGljIGludCBkYXp1a29mc19zeW1s aW5rKHN0cnVjdCBpbm9kZQogCQkJICAgIGNvbnN0IGNoYXIgKnN5bW5hbWUpCiB7CiAJc3Ry dWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShkZW50cnkpOwor CXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50ID0gR0VUX0xPV0VSX01OVChkZW50cnkpOwog CXN0cnVjdCBkZW50cnkgKmxvd2VyX2RlbnRyeV9wYXJlbnQgPSBkZ2V0KGxvd2VyX2RlbnRy eS0+ZF9wYXJlbnQpOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVudHJ5X3BhcmVudF9pbm9k ZSA9IGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50IGVyciA9IC1FTk9FTlQ7 CkBAIC0zNDAsNyArMzk3LDggQEAgc3RhdGljIGludCBkYXp1a29mc19zeW1saW5rKHN0cnVj dCBpbm9kZQogCW11dGV4X2xvY2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9k ZS0+aV9tdXRleCksCiAJCQkgIElfTVVURVhfUEFSRU5UKTsKIAotCWVyciA9IHZmc19zeW1s aW5rKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwgc3ltbmFtZSk7 CisJZXJyID0gdmZzX3N5bWxpbmsobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSwgbG93ZXJf ZGVudHJ5LCBsb3dlcl9tbnQsIAorCQkJICBzeW1uYW1lLCBTX0lBTExVR08pOwogCWlmIChl cnIpCiAJCWdvdG8gb3V0OwogCkBAIC00NTIsOSArNTEwLDM3IEBAIHN0YXRpYyB2b2lkIGRh enVrb2ZzX3B1dF9saW5rKHN0cnVjdCBkZW4KICAqIERlc2NyaXB0aW9uOiBDYWxsZWQgYnkg dGhlIFZGUyB0byBjaGVjayBmb3IgYWNjZXNzIHJpZ2h0cyBvbiBhCiAgKiBQT1NJWC1saWtl IGZpbGVzeXN0ZW0uCiAgKi8KLXN0YXRpYyBpbnQgZGF6dWtvZnNfcGVybWlzc2lvbihzdHJ1 Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaykKK3N0YXRpYyBpbnQgZGF6dWtvZnNfcGVybWlz c2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywKKwkJCSAgICAgICBzdHJ1Y3Qg bmFtZWlkYXRhICpuZCkKIHsKLQlyZXR1cm4gaW5vZGVfcGVybWlzc2lvbihHRVRfTE9XRVJf SU5PREUoaW5vZGUpLCBtYXNrKTsKKwlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udCA9IE5V TEw7CisJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gTlVMTDsKKwlzdHJ1Y3QgdmZz bW91bnQgKnZmc21udF9zYXZlID0gTlVMTDsKKwlzdHJ1Y3QgZGVudHJ5ICpkZW50cnlfc2F2 ZSA9IE5VTEw7CisJaW50IGVycjsKKworCWlmIChuZCkgeworCQlsb3dlcl9tbnQgPSBHRVRf TE9XRVJfTU5UKG5kLT5kZW50cnkpOworCQlsb3dlcl9kZW50cnkgPSBHRVRfTE9XRVJfREVO VFJZKG5kLT5kZW50cnkpOworCisJCXZmc21udF9zYXZlID0gbmQtPm1udDsKKwkJZGVudHJ5 X3NhdmUgPSBuZC0+ZGVudHJ5OworCisJCW5kLT5tbnQgPSBtbnRnZXQobG93ZXJfbW50KTsK KwkJbmQtPmRlbnRyeSA9IGRnZXQobG93ZXJfZGVudHJ5KTsKKwl9CisKKwllcnIgPSBwZXJt aXNzaW9uKEdFVF9MT1dFUl9JTk9ERShpbm9kZSksIG1hc2ssIG5kKTsKKworCWlmIChuZCkg eworCQltbnRwdXQobG93ZXJfbW50KTsKKwkJZHB1dChsb3dlcl9kZW50cnkpOworCisJCW5k LT5tbnQgPSB2ZnNtbnRfc2F2ZTsKKwkJbmQtPmRlbnRyeSA9IGRlbnRyeV9zYXZlOworCX0K KworICAgICAgICByZXR1cm4gZXJyOwogfQogCiAvKioKQEAgLTQ2NCwxOCArNTUwLDMyIEBA IHN0YXRpYyBpbnQgZGF6dWtvZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW4KIHN0YXRpYyBpbnQg ZGF6dWtvZnNfc2V0YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAq aWEpCiB7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRS WShkZW50cnkpOworCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50ID0gR0VUX0xPV0VSX01O VChkZW50cnkpOwogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CiAJ c3RydWN0IGlub2RlICpsb3dlcl9pbm9kZSA9IEdFVF9MT1dFUl9JTk9ERShpbm9kZSk7CiAJ aW50IGVycjsKIAotCWVyciA9IG5vdGlmeV9jaGFuZ2UobG93ZXJfZGVudHJ5LCBpYSk7CiAK LQlmc3N0YWNrX2NvcHlfYXR0cl9hbGwoaW5vZGUsIGxvd2VyX2lub2RlLCBOVUxMKTsKLQlm c3N0YWNrX2NvcHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93ZXJfaW5vZGUpOworCWlmICghbG93 ZXJfaW5vZGUtPmlfb3AgfHwgIWxvd2VyX2lub2RlLT5pX29wLT5zZXRhdHRyKSAKKwkJLyog WFhYOiBhdCB0aGlzIHBvaW50IGl0IGlzIHRvbyBsYXRlIHRvIGhhbmRsZSBpbm9kZXMgcHJv cGVybHkgdGhhdCBkbyBOT1QKKwkJc3BlY2lmeSBzZXRhdHRyKCkuIFZGUyB3b3VsZCBub3Jt YWxseSBjYWxsIGlub2RlX3NldGF0dHIoKSBpbiAKKwkJdGhpcyBjYXNlLiBTbyB0byBmb3Jj ZSB0aGlzIHdlIGp1bXAgYmFjayB0byBub3RpZnlfY2hhbmdlIHdoaWNoIHdpbGwKKwkJaGFu ZGxlIHRoaXMgZm9yIHVzLiBCdXQgdGhpcyBpcyBkYW5nZXJvdXM6CisJCVRoZSBhdHRyaWJ1 dGVzIG1pZ2h0IGJlIG1vZGlmaWVkIGJ5IG5vdGlmeV9jaGFuZ2UoKSBpbiBhIHdheQorCQl0 aGF0IHJlc3VsdHMgaW4gaW52YWxpZCBhdHRyaWJ1dGVzLiBUaGlzIHNlZW1zIHRvIGJlIHRo ZSBjYXNlCisJCWlmIHRoZSBpbm9kZSBmb3Igd2hpY2ggdGhpcyBmdW5jdGlvbiBpcyBjYWxs ZWQgaGFzIHRoZSBzZXR1aWQKKwkJb3Igc2V0Z2lkIGJpdCBzZXQgKi8gCisJCWVyciA9IG5v dGlmeV9jaGFuZ2UobG93ZXJfZGVudHJ5LCBsb3dlcl9tbnQsIGlhKTsKKwllbHNlIAorCQll cnIgPSBsb3dlcl9pbm9kZS0+aV9vcC0+c2V0YXR0cihsb3dlcl9kZW50cnksIGlhKTsKKwkK KwlpZiAoIWVycikgeworCQlmc3N0YWNrX2NvcHlfYXR0cl9hbGwoaW5vZGUsIGxvd2VyX2lu b2RlKTsKKwkJZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5vZGUsIGxvd2VyX2lub2RlKTsK Kwl9IAogCiAJcmV0dXJuIGVycjsKIH0KLQogLyoqCiAgKiBEZXNjcmlwdGlvbjogQ2FsbGVk IGJ5IHRoZSBWRlMgdG8gc2V0IGFuIGV4dGVuZGVkIGF0dHJpYnV0ZSBmb3IgYSBmaWxlLgog ICogRXh0ZW5kZWQgYXR0cmlidXRlIGlzIGEgbmFtZTp2YWx1ZSBwYWlyIGFzc29jaWF0ZWQg d2l0aCBhbiBpbm9kZS4gVGhpcwpAQCAtNDk2LDE0ICs1OTYsMTQgQEAgc3RhdGljIGludCBk YXp1a29mc19zZXR4YXR0cihzdHJ1Y3QgZGVudAogCiAJaWYgKCFsb3dlcl9kZW50cnlfaW5v ZGUtPmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+c2V0eGF0dHIp IHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0 OwogCX0KIAogCWVyciA9IGxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+c2V0eGF0dHIobG93 ZXJfZGVudHJ5LCBuYW1lLCB2YWx1ZSwKIAkJCQkJCSBzaXplLCBmbGFncyk7CiAKLQlmc3N0 YWNrX2NvcHlfYXR0cl9hbGwoZGVudHJ5LT5kX2lub2RlLCBsb3dlcl9kZW50cnlfaW5vZGUs IE5VTEwpOworCWZzc3RhY2tfY29weV9hdHRyX2FsbChkZW50cnktPmRfaW5vZGUsIGxvd2Vy X2RlbnRyeV9pbm9kZSk7CiAJZnNzdGFja19jb3B5X2lub2RlX3NpemUoZGVudHJ5LT5kX2lu b2RlLCBsb3dlcl9kZW50cnlfaW5vZGUpOwogb3V0OgogCXJldHVybiBlcnI7CkBAIC01Mjgs NyArNjI4LDcgQEAgc3RhdGljIHNzaXplX3QgZGF6dWtvZnNfZ2V0eGF0dHIoc3RydWN0IAog CiAJaWYgKCFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRy eV9pbm9kZS0+aV9vcC0+Z2V0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0g LUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTU3LDcgKzY1Nyw3IEBAIHN0 YXRpYyBzc2l6ZV90IGRhenVrb2ZzX2xpc3R4YXR0cihzdHJ1Y3QKIAogCWlmICghbG93ZXJf ZGVudHJ5X2lub2RlLT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3At Pmxpc3R4YXR0cikgewotCQllcnIgPSAtRU5PU1lTOworCQllcnIgPSAtRU9QTk9UU1VQUDsK IAkJZ290byBvdXQ7CiAJfQogCkBAIC01ODQsNyArNjg0LDcgQEAgc3RhdGljIGludCBkYXp1 a29mc19yZW1vdmV4YXR0cihzdHJ1Y3QgZAogCiAJaWYgKCFsb3dlcl9kZW50cnlfaW5vZGUt Pmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+cmVtb3ZleGF0dHIp IHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0 OwogCX0KIApAQCAtNjAzLDYgKzcwMyw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfbGluayhz dHJ1Y3QgZGVudHJ5ICoKIHsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9vbGRfZGVudHJ5ID0g R0VUX0xPV0VSX0RFTlRSWShvbGRfZGVudHJ5KTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9u ZXdfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShuZXdfZGVudHJ5KTsKKwlzdHJ1Y3QgdmZz bW91bnQgKmxvd2VyX29sZF9tbnQgPSBHRVRfTE9XRVJfTU5UKG9sZF9kZW50cnkpOworCXN0 cnVjdCB2ZnNtb3VudCAqbG93ZXJfbmV3X21udCA9IEdFVF9MT1dFUl9NTlQobmV3X2RlbnRy eSk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5X3BhcmVudCA9IGRnZXQobG93ZXJf bmV3X2RlbnRyeS0+ZF9wYXJlbnQpOwogCXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVudHJ5X3Bh cmVudF9pbm9kZSA9IGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50IGVyciA9 IC1FTk9FTlQ7CkBAIC02MTAsOCArNzEyLDkgQEAgc3RhdGljIGludCBkYXp1a29mc19saW5r KHN0cnVjdCBkZW50cnkgKgogCW11dGV4X2xvY2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5X3Bh cmVudF9pbm9kZS0+aV9tdXRleCksCiAJCQkgIElfTVVURVhfUEFSRU5UKTsKIAotCWVyciA9 IHZmc19saW5rKGxvd2VyX29sZF9kZW50cnksIGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUs Ci0JCSAgICAgICBsb3dlcl9uZXdfZGVudHJ5KTsKKwllcnIgPSB2ZnNfbGluayhsb3dlcl9v bGRfZGVudHJ5LCBsb3dlcl9vbGRfbW50LAorCQkgICAgICAgbG93ZXJfZGVudHJ5X3BhcmVu dF9pbm9kZSwgbG93ZXJfbmV3X2RlbnRyeSwKKwkJICAgICAgIGxvd2VyX25ld19tbnQpOwog CWlmIChlcnIpCiAJCWdvdG8gb3V0OwogCkBAIC02MzUsNiArNzM4LDcgQEAgb3V0Ogogc3Rh dGljIGludCBkYXp1a29mc191bmxpbmsoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50 cnkgKmRlbnRyeSkKIHsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnkgPSBHRVRfTE9X RVJfREVOVFJZKGRlbnRyeSk7CisJc3RydWN0IHZmc21vdW50ICpsb3dlcl9tbnQgPSBHRVRf TE9XRVJfTU5UKGRlbnRyeSk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfZGVudHJ5X3BhcmVu dCA9IGRnZXQobG93ZXJfZGVudHJ5LT5kX3BhcmVudCk7CiAJc3RydWN0IGlub2RlICpsb3dl cl9kZW50cnlfcGFyZW50X2lub2RlID0gbG93ZXJfZGVudHJ5X3BhcmVudC0+ZF9pbm9kZTsK IAlpbnQgZXJyOwpAQCAtNjQyLDcgKzc0Niw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfdW5s aW5rKHN0cnVjdCBpbm9kZSAKIAltdXRleF9sb2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9w YXJlbnRfaW5vZGUtPmlfbXV0ZXgpLAogCQkJICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIg PSB2ZnNfdW5saW5rKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSk7 CisJZXJyID0gdmZzX3VubGluayhsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9k ZW50cnksIGxvd2VyX21udCk7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CiAKQEAgLTY2NCw2 ICs3NjgsNyBAQCBvdXQ6CiBzdGF0aWMgaW50IGRhenVrb2ZzX3JtZGlyKHN0cnVjdCBpbm9k ZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGRlbnRyeSAqbG93 ZXJfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShkZW50cnkpOworCXN0cnVjdCB2ZnNtb3Vu dCAqbG93ZXJfbW50ID0gR0VUX0xPV0VSX01OVChkZW50cnkpOwogCXN0cnVjdCBkZW50cnkg Kmxvd2VyX2RlbnRyeV9wYXJlbnQgPSBkZ2V0KGxvd2VyX2RlbnRyeS0+ZF9wYXJlbnQpOwog CXN0cnVjdCBpbm9kZSAqbG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSA9IGxvd2VyX2RlbnRy eV9wYXJlbnQtPmRfaW5vZGU7CiAJaW50IGVycjsKQEAgLTY3MSw3ICs3NzYsNyBAQCBzdGF0 aWMgaW50IGRhenVrb2ZzX3JtZGlyKHN0cnVjdCBpbm9kZSAqCiAJbXV0ZXhfbG9ja19uZXN0 ZWQoJihsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLT5pX211dGV4KSwKIAkJCSAgSV9NVVRF WF9QQVJFTlQpOwogCi0JZXJyID0gdmZzX3JtZGlyKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5v ZGUsIGxvd2VyX2RlbnRyeSk7CisJZXJyID0gdmZzX3JtZGlyKGxvd2VyX2RlbnRyeV9wYXJl bnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwgbG93ZXJfbW50KTsKIAlpZiAoZXJyKQogCQlnb3Rv IG91dDsKIApAQCAtNjk2LDYgKzgwMSw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVuYW1l KHN0cnVjdCBpbm9kZSAKIHsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9vbGRfZGVudHJ5ID0g R0VUX0xPV0VSX0RFTlRSWShvbGRfZGVudHJ5KTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9u ZXdfZGVudHJ5ID0gR0VUX0xPV0VSX0RFTlRSWShuZXdfZGVudHJ5KTsKKwlzdHJ1Y3QgdmZz bW91bnQgKmxvd2VyX29sZF9tbnQgPSBHRVRfTE9XRVJfTU5UKG9sZF9kZW50cnkpOworCXN0 cnVjdCB2ZnNtb3VudCAqbG93ZXJfbmV3X21udCA9IEdFVF9MT1dFUl9NTlQobmV3X2RlbnRy eSk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJfb2xkX2RlbnRyeV9wYXJlbnQgPQogCQlkZ2V0 KGxvd2VyX29sZF9kZW50cnktPmRfcGFyZW50KTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9u ZXdfZGVudHJ5X3BhcmVudCA9CkBAIC03MTgsMTYgKzgyNSwxNiBAQCBzdGF0aWMgaW50IGRh enVrb2ZzX3JlbmFtZShzdHJ1Y3QgaW5vZGUgCiAKIAlsb2NrX3JlbmFtZShsb3dlcl9vbGRf ZGVudHJ5X3BhcmVudCwgbG93ZXJfbmV3X2RlbnRyeV9wYXJlbnQpOwogCWVyciA9IHZmc19y ZW5hbWUobG93ZXJfb2xkX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX29sZF9kZW50cnks Ci0JCQkgbG93ZXJfbmV3X2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX25ld19kZW50cnkp OworCQkJIGxvd2VyX29sZF9tbnQsIGxvd2VyX25ld19kZW50cnlfcGFyZW50X2lub2RlLCAK KwkJCSBsb3dlcl9uZXdfZGVudHJ5LCBsb3dlcl9uZXdfbW50KTsKIAl1bmxvY2tfcmVuYW1l KGxvd2VyX29sZF9kZW50cnlfcGFyZW50LCBsb3dlcl9uZXdfZGVudHJ5X3BhcmVudCk7CiAK IAlpZiAoZXJyKQogCQlnb3RvIG91dDsKIAotCWZzc3RhY2tfY29weV9hdHRyX2FsbChuZXdf ZGlyLCBsb3dlcl9uZXdfZGVudHJ5X3BhcmVudF9pbm9kZSwgTlVMTCk7CisJZnNzdGFja19j b3B5X2F0dHJfYWxsKG5ld19kaXIsIGxvd2VyX25ld19kZW50cnlfcGFyZW50X2lub2RlKTsK IAlpZiAobmV3X2RpciAhPSBvbGRfZGlyKQotCQlmc3N0YWNrX2NvcHlfYXR0cl9hbGwob2xk X2RpciwgbG93ZXJfb2xkX2RlbnRyeV9wYXJlbnRfaW5vZGUsCi0JCQkJICAgICAgTlVMTCk7 CisJCWZzc3RhY2tfY29weV9hdHRyX2FsbChvbGRfZGlyLCBsb3dlcl9vbGRfZGVudHJ5X3Bh cmVudF9pbm9kZSk7CiBvdXQ6CiAJZHB1dChsb3dlcl9vbGRfZGVudHJ5X3BhcmVudCk7CiAJ ZHB1dChsb3dlcl9uZXdfZGVudHJ5X3BhcmVudCk7CmRpZmYgLXggQ1ZTIC1ydXAgZGF6dWtv ZnMtMy4wLjAvTWFrZWZpbGUgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yMl9VYnVudHU3LjEw L01ha2VmaWxlCi0tLSBkYXp1a29mcy0zLjAuMC9NYWtlZmlsZQkyMDA5LTAyLTIyIDE3OjQ2 OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yMl9VYnVu dHU3LjEwL01ha2VmaWxlCTIwMDktMDYtMTggMTI6Mjc6NDguMDAwMDAwMDAwICswMjAwCkBA IC0xOSw2ICsxOSw3IEBAIGRhenVrb2ZzX2luc3RhbGw6IGRhenVrb2ZzX21vZHVsZXMKIAog Y2xlYW46CiAJcm0gLWYgTW9kdWxlLnN5bXZlcnMKKwlybSAtZiBtb2R1bGVzLm9yZGVyCiAJ bWFrZSAtQyAkKERBWlVLT0ZTX0tFUk5FTF9TUkMpIFNVQkRJUlM9ImBwd2RgIiBjbGVhbgog CiAuUEhPTlk6IGRhenVrb2ZzX21vZHVsZXMgZGF6dWtvZnNfaW5zdGFsbCBjbGVhbgpkaWZm IC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL1JFQURNRSBkYXp1a29mcy0zLjAuMC1yYzRf Mi42LjIyX1VidW50dTcuMTAvUkVBRE1FCi0tLSBkYXp1a29mcy0zLjAuMC9SRUFETUUJMjAw OS0wMi0yMiAxNzozODoyMS4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJj NF8yLjYuMjJfVWJ1bnR1Ny4xMC9SRUFETUUJMjAwOS0wNi0xOCAxMjoyNzo0OC4wMDAwMDAw MDAgKzAyMDAKQEAgLTIxLDEwICsyMSwxMCBAQCBOT1RFOiBEYXp1a29GUyBpcyBjb21wbGV0 ZWx5IHNlcGFyYXRlIGZyCiA9PT09PT09PT09PT09PT09PQogCiBCZWxvdyBhcmUgYnJpZWYg aW5zdHJ1Y3Rpb25zIHRvIGdldCBEYXp1a29GUyBjb21waWxlZCBhbmQgcnVubmluZyBvbiBh Ci1zeXN0ZW0gd2l0aCBhIExpbnV4IDIuNi4yOCBrZXJuZWwuIFlvdSBtYXkgbmVlZCB0byBt YW51YWxseSBhZGp1c3QgdGhlCitzeXN0ZW0gd2l0aCBhIExpbnV4IDIuNi4yNyBrZXJuZWwu IFlvdSBtYXkgbmVlZCB0byBtYW51YWxseSBhZGp1c3QgdGhlCiBNYWtlZmlsZSBpZiB5b3Ug a2VybmVsIHNvdXJjZXMgYXJlIG5vdCBpbiB0aGUgZGVmYXVsdCBsb2NhdGlvbi4KLShQYXRj aGVzIGFyZSBwcm92aWRlZCBmb3IgdmFyaW91cyBvdGhlciBrZXJuZWxzLiBTZWUgdGhlIHNl Y3Rpb24gYmVsb3cKLXRpdGxlZCAiUEFUQ0hJTkciIGZvciBtb3JlIGluZm9ybWF0aW9uLikK KyhBIHBhdGNoIGlzIHByb3ZpZGVkIHRvIGNvbnZlcnQgdGhlIERhenVrb0ZTIGNvZGUgdG8g c3VwcG9ydCBMaW51eAorMi42LjI2LikKIAogY29tcGlsZSB0aGUga2VybmVsIG1vZHVsZQog ICAjIG1ha2UKQEAgLTUyLDI1ICs1Miw2IEBAIHVubW91bnQgRGF6dWtvRlMKIAogCiAKLT09 PT09PT09PT0KLSBQQVRDSElORwotPT09PT09PT09PQotCi1JbiB0aGUgInBhdGNoZXMiIGRp cmVjdG9yeSB0aGVyZSBhcmUgcGF0Y2hlcyBhdmFpbGFibGUgdG8gbW9kaWZ5IHRoZQotRGF6 dWtvRlMgY29kZSB0byBmaXQgdmFyaW91cyBvdGhlciBrZXJuZWxzLiBGb3IgZXhhbXBsZSwg aWYgeW91IGFyZQotcnVubmluZyBvcGVuU1VTRSAxMS4xIHlvdSBjYW4gcGF0Y2ggdGhlIGNv ZGUgd2l0aCB0aGUgZm9sbG93aW5nCi1jb21tYW5kOgotCi0kIHBhdGNoIC1wMSA8IHBhdGNo ZXMvcGF0Y2gtb3BlbnN1c2UtMTEuMQotCi1UaGVyZSBzaG91bGQgbm90IGJlIGFueSBlcnJv cnMuIElmIHRoZXJlIGFyZSBlcnJvcnMsIHRoZW4gdGhlIHBhdGNoCi1pcyBicm9rZW4gYW5k IHNob3VsZCBiZSByZXBvcnRlZCBvbiB0aGUgZGF6dWtvLWRldmVsIG1haWxpbmcgbGlzdC4K LQotT25jZSB0aGUgY29kZSBoYXMgYmVlbiBwYXRjaGVkIHlvdSBjYW4gYnVpbGQgdGhlIGtl cm5lbCBtb2R1bGUgYXMKLWRlc2NyaWJlZCBpbiB0aGUgc2VjdGlvbiAiQlVJTEQgLyBJTlNU QUxMIiBhYm92ZS4KLQotCi0KID09PT09PT09PQogIFRFU1RJTkcKID09PT09PT09PQpAQCAt MTU0LDkgKzEzNSw2IEBAIGFueSBwcm9ibGVtcy4KICBLTk9XTiBJU1NVRVMKID09PT09PT09 PT09PT09CiAKLS0gVGhlIGtlcm5lbCB3aWxsIGNyYXNoIGlmIHlvdSBhdHRlbXB0IHRvIG1v dW50IERhenVrb0ZTIHRvIGEgZmlsZSBpbnN0ZWFkCi0gIG9mIGEgZGlyZWN0b3J5LiAoVGhl IHZhcmlvdXMga2VybmVsIHBhdGNoZXMgaGFuZGxlIHRoaXMgZXJyb3IuKQotCiAtIERhenVr b0ZTIGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyB0byBtZW1vcnkgbWFwcGVkIGZpbGVzLiBU aGlzIHNob3VsZCBub3QKICAgY2F1c2UgdGhlIGtlcm5lbCB0byBjcmFzaCwgYnV0IHdpbGwg aW5zdGVhZCByZXN1bHQgaW4gdGhlIGFwcGxpY2F0aW9uCiAgIGZhaWxpbmcgdG8gcGVyZm9y bSB0aGUgd3JpdGVzIChhbHRob3VnaCBtbWFwKCkgd2lsbCBhcHBlYXIgdG8gYmUKZGlmZiAt eCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9zdXBlci5jIGRhenVrb2ZzLTMuMC4wLXJjNF8y LjYuMjJfVWJ1bnR1Ny4xMC9zdXBlci5jCi0tLSBkYXp1a29mcy0zLjAuMC9zdXBlci5jCTIw MDktMDItMjIgMTc6NDY6MDIuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0zLjAuMC1y YzRfMi42LjIyX1VidW50dTcuMTAvc3VwZXIuYwkyMDA5LTA3LTAzIDE3OjU3OjM5LjAwMDAw MDAwMCArMDIwMApAQCAtMzUsNiArMzUsMTAgQEAgc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hl ICpkYXp1a29mc19zYl9pbgogc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2ZzX2RlbnRyeV9p bmZvX2NhY2hlcDsKIHN0cnVjdCBrbWVtX2NhY2hlICpkYXp1a29mc19maWxlX2luZm9fY2Fj aGVwOwogCisKKyNkZWZpbmUgREFaVUtPRlNfVkVSU0lPTiAiMy4wLjAtcmM0LWF2aXJhLWIy LjYiCisKKwogc3RhdGljIHN0cnVjdCBpbm9kZSAqZGF6dWtvZnNfYWxsb2NfaW5vZGUoc3Ry dWN0IHN1cGVyX2Jsb2NrICpzYikKIHsKIAlzdHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5mbyAq aW5vZGVpOwpAQCAtMTU4LDggKzE2Miw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVhZF9z dXBlcihzdHJ1Y3Qgc3UKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCi0JbG93ZXJfcm9v dCA9IGRnZXQobmQucGF0aC5kZW50cnkpOwotCWxvd2VyX21udCA9IG1udGdldChuZC5wYXRo Lm1udCk7CisJbG93ZXJfcm9vdCA9IGRnZXQobmQuZGVudHJ5KTsKKwlsb3dlcl9tbnQgPSBt bnRnZXQobmQubW50KTsKIAogCWlmIChJU19FUlIobG93ZXJfcm9vdCkpIHsKIAkJZXJyID0g UFRSX0VSUihsb3dlcl9yb290KTsKQEAgLTE3MCw2ICsxNzQsMTAgQEAgc3RhdGljIGludCBk YXp1a29mc19yZWFkX3N1cGVyKHN0cnVjdCBzdQogCQllcnIgPSAtRU5PRU5UOwogCQlnb3Rv IG91dF9wdXQ7CiAJfQorCWlmICghU19JU0RJUihsb3dlcl9yb290LT5kX2lub2RlLT5pX21v ZGUpKSB7CisJCWVyciA9IC1FTk9FTlQ7CisJCWdvdG8gb3V0X3B1dDsKKwl9CiAKIAlTRVRf TE9XRVJfU0Ioc2IsIGxvd2VyX3Jvb3QtPmRfc2IpOwogCXNiLT5zX21heGJ5dGVzID0gbG93 ZXJfcm9vdC0+ZF9zYi0+c19tYXhieXRlczsKQEAgLTE4NCw3ICsxOTIsNyBAQCBvdXRfcHV0 OgogCWRwdXQobG93ZXJfcm9vdCk7CiAJbW50cHV0KGxvd2VyX21udCk7CiBvdXQ6Ci0JcGF0 aF9wdXQoJm5kLnBhdGgpOworCXBhdGhfcmVsZWFzZSgmbmQpOwogCXJldHVybiBlcnI7CiB9 CiAKQEAgLTIxMywxNSArMjIxLDE2IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfZ2V0X3NiKHN0 cnVjdCBmaWxlX3MKIAogb3V0X2Fib3J0OgogCXVwX3dyaXRlKCZzYi0+c191bW91bnQpOwor CWRwdXQoc2ItPnNfcm9vdCk7CiAJZGVhY3RpdmF0ZV9zdXBlcihzYik7CiBvdXQ6CiAJcmV0 dXJuIGVycjsKIH0KIAotc3RhdGljIHZvaWQgaW5pdF9vbmNlKHZvaWQgKmRhdGEpCitzdGF0 aWMgdm9pZCBpbml0X29uY2Uodm9pZCAqdnB0ciwgc3RydWN0IGttZW1fY2FjaGUgKmNhY2hl cCwgdW5zaWduZWQgbG9uZyBmbGFncykKIHsKIAlzdHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5m byAqaW5vZGVfaW5mbyA9Ci0JCShzdHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5mbyAqKWRhdGE7 CisJCShzdHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5mbyAqKXZwdHI7CiAKIAltZW1zZXQoaW5v ZGVfaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBkYXp1a29mc19pbm9kZV9pbmZvKSk7CiAJaW5v ZGVfaW5pdF9vbmNlKCYoaW5vZGVfaW5mby0+dmZzX2lub2RlKSk7CkBAIC0yNTYsNyArMjY1 LDcgQEAgc3RhdGljIGludCBpbml0X2NhY2hlcyh2b2lkKQogCQlrbWVtX2NhY2hlX2NyZWF0 ZSgiZGF6dWtvZnNfaW5vZGVfaW5mb19jYWNoZSIsCiAJCQkJICBzaXplb2Yoc3RydWN0IGRh enVrb2ZzX2lub2RlX2luZm8pLCAwLAogCQkJCSAgU0xBQl9IV0NBQ0hFX0FMSUdOLAotCQkJ CSAgaW5pdF9vbmNlKTsKKwkJCQkgIGluaXRfb25jZSwgTlVMTCk7CiAJaWYgKCFkYXp1a29m c19pbm9kZV9pbmZvX2NhY2hlcCkKIAkJZ290byBvdXRfbm9tZW07CiAKQEAgLTI2NCw3ICsy NzMsNyBAQCBzdGF0aWMgaW50IGluaXRfY2FjaGVzKHZvaWQpCiAJCWttZW1fY2FjaGVfY3Jl YXRlKCJkYXp1a29mc19zYl9pbmZvX2NhY2hlIiwKIAkJCQkgIHNpemVvZihzdHJ1Y3QgZGF6 dWtvZnNfc2JfaW5mbyksIDAsCiAJCQkJICBTTEFCX0hXQ0FDSEVfQUxJR04sCi0JCQkJICBO VUxMKTsKKwkJCQkgIE5VTEwsIE5VTEwpOwogCWlmICghZGF6dWtvZnNfc2JfaW5mb19jYWNo ZXApCiAJCWdvdG8gb3V0X25vbWVtOwogCkBAIC0yNzIsNyArMjgxLDcgQEAgc3RhdGljIGlu dCBpbml0X2NhY2hlcyh2b2lkKQogCQlrbWVtX2NhY2hlX2NyZWF0ZSgiZGF6dWtvZnNfZGVu dHJ5X2luZm9fY2FjaGUiLAogCQkJCSAgc2l6ZW9mKHN0cnVjdCBkYXp1a29mc19kZW50cnlf aW5mbyksIDAsCiAJCQkJICBTTEFCX0hXQ0FDSEVfQUxJR04sCi0JCQkJICBOVUxMKTsKKwkJ CQkgIE5VTEwsIE5VTEwpOwogCWlmICghZGF6dWtvZnNfZGVudHJ5X2luZm9fY2FjaGVwKQog CQlnb3RvIG91dF9ub21lbTsKIApAQCAtMjgwLDcgKzI4OSw3IEBAIHN0YXRpYyBpbnQgaW5p dF9jYWNoZXModm9pZCkKIAkJa21lbV9jYWNoZV9jcmVhdGUoImRhenVrb2ZzX2ZpbGVfaW5m b19jYWNoZSIsCiAJCQkJICBzaXplb2Yoc3RydWN0IGRhenVrb2ZzX2ZpbGVfaW5mbyksIDAs CiAJCQkJICBTTEFCX0hXQ0FDSEVfQUxJR04sCi0JCQkJICBOVUxMKTsKKwkJCQkgIE5VTEws IE5VTEwpOwogCWlmICghZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcCkKIAkJZ290byBvdXRf bm9tZW07CiAKQEAgLTMwNSw3ICszMTQsNyBAQCBzdGF0aWMgc3RydWN0IGZpbGVfc3lzdGVt X3R5cGUgZGF6dWtvZnNfCiAKIHN0YXRpYyBpbnQgX19pbml0IGluaXRfZGF6dWtvZnNfZnMo dm9pZCkKIHsKLQlpbnQgZXJyID0gMDsKKwlpbnQgZXJyOwogCiAJZXJyID0gZGF6dWtvZnNf ZGV2X2luaXQoKTsKIAlpZiAoZXJyKQpAQCAtMzE5LDcgKzMyOCw3IEBAIHN0YXRpYyBpbnQg X19pbml0IGluaXRfZGF6dWtvZnNfZnModm9pZCkKIAlpZiAoZXJyKQogCQlnb3RvIGVycm9y X291dDM7CiAKLQlwcmludGsoS0VSTl9JTkZPICJkYXp1a29mczogbG9hZGVkLCB2ZXJzaW9u PSVzXG4iLCBEQVpVS09GU19WRVJTSU9OKTsKKwlwcmludGsoS0VSTl9JTkZPICJkYXp1a29m czogbG9hZGVkLCB2ZXJzaW9uPSIgREFaVUtPRlNfVkVSU0lPTiAiXG4iKTsKIAlyZXR1cm4g MDsKIAogZXJyb3Jfb3V0MzoKQEAgLTMzNSw3ICszNDQsNyBAQCBzdGF0aWMgdm9pZCBfX2V4 aXQgZXhpdF9kYXp1a29mc19mcyh2b2lkCiAJdW5yZWdpc3Rlcl9maWxlc3lzdGVtKCZkYXp1 a29mc19mc190eXBlKTsKIAlkZXN0cm95X2NhY2hlcygpOwogCWRhenVrb2ZzX2Rldl9kZXN0 cm95KCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiZGF6dWtvZnM6IHVubG9hZGVkLCB2ZXJzaW9u PSVzXG4iLCBEQVpVS09GU19WRVJTSU9OKTsKKwlwcmludGsoS0VSTl9JTkZPICJkYXp1a29m czogdW5sb2FkZWQsIHZlcnNpb249IiBEQVpVS09GU19WRVJTSU9OICJcbiIpOwogfQogCiBN T0RVTEVfQVVUSE9SKCJKb2huIE9nbmVzcyIpOwo= --------------040600090204050509070609 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 --------------040600090204050509070609--