patch for vanilla kernel 2.6.26
Lino Sanfilippo <[email protected]> Tue, 07 Jul 2009 17:07:09 +0200
| Newsgroups | gmane.linux.dazuko.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------080504000605060906090201 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 *************************************************** --------------080504000605060906090201 Content-Type: text/plain; name="patch_2.6.26" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="patch_2.6.26" ZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9DSEFOR0VMT0cgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yNi9DSEFOR0VMT0cKLS0tIGRhenVrb2ZzLTMuMC4wL0NIQU5HRUxPRwky MDA5LTAyLTIyIDE3OjUxOjIyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yNi9DSEFOR0VMT0cJMjAwOC0xMi0xMiAxNjozMToyMC4wMDAwMDAwMDAgKzAx MDAKQEAgLTIsMTEgKzIsNiBAQAogIERhenVrb0ZTIENIQU5HRUxPRwogPT09PT09PT09PT09 PT09PT09PT0KIAotMy4wLjAgKDIwMDktMDItMjIpCi0tIGFkZGVkIGRlZmluZSBmb3IgdmVy c2lvbiBudW1iZXIgb3V0cHV0Ci0tIGFkZGVkIHBhdGNoZXMgZm9yIHZhcmlvdXMgb3RoZXIg a2VybmVscwotCi0KIDMuMC4wLXJjNCAoMjAwOC0xMS0zMCkKIC0gZml4IGluY29ycmVjdCBk ZW50cnkvdmZzbW50IHJlZmVyZW5jaW5nIHdoZW4gYWNjZXNzIGRlbmllZAogLSBmaXggaW1w cm9wZXIgY2xlYW51cCBpbiBzZXZlcmFsIGVycm9yIGhhbmRsaW5nIGNvbmRpdGlvbnMKZGlm ZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9jdHJsX2Rldi5jIGRhenVrb2ZzLTMuMC4w LXJjNF8yLjYuMjYvY3RybF9kZXYuYwotLS0gZGF6dWtvZnMtMy4wLjAvY3RybF9kZXYuYwky MDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yNi9jdHJsX2Rldi5jCTIwMDgtMTItMTIgMTY6MzI6MjYuMDAwMDAwMDAwICsw MTAwCkBAIC0xODMsNyArMTgzLDcgQEAgaW50IGRhenVrb2ZzX2N0cmxfZGV2X2luaXQoaW50 IGRldl9tYWpvcgogCiAJLyogY3JlYXRlIGNvbnRyb2wgZGV2aWNlICovCiAJZGV2ID0gZGV2 aWNlX2NyZWF0ZShkYXp1a29mc19jbGFzcywgTlVMTCwgTUtERVYoZGV2X21ham9yLCBkZXZf bWlub3IpLAotCQkJICAgIE5VTEwsICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOworCQkJICAg ICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIg PSBQVFJfRVJSKGRldik7CiAJCWdvdG8gZXJyb3Jfb3V0MjsKZGlmZiAteCBDVlMgLXJ1cCBk YXp1a29mcy0zLjAuMC9kYXp1a29mc19mcy5oIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYv ZGF6dWtvZnNfZnMuaAotLS0gZGF6dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMuaAkyMDA5LTAy LTIyIDE3OjQzOjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIu Ni4yNi9kYXp1a29mc19mcy5oCTIwMDktMDctMDMgMTg6MDA6MjQuMDAwMDAwMDAwICswMjAw CkBAIC0zLDcgKzMsNyBAQAogICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDQgRXJleiBaYWRv awogICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDQgU3RvbnkgQnJvb2sgVW5pdmVyc2l0eQog ICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo aW5lcyBDb3JwLgotICAgQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgSm9obiBPZ25lc3MKKyAg IENvcHlyaWdodCAoQykgMjAwOCBKb2huIE9nbmVzcwogICAgICBBdXRob3I6IEpvaG4gT2du ZXNzIDxkYXp1a29jb2RlQG9nbmVzcy5uZXQ+CiAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI0LDggKzI0 LDYgQEAKICNpZm5kZWYgX19EQVpVS09GU19GU19ICiAjZGVmaW5lIF9fREFaVUtPRlNfRlNf SAogCi0jZGVmaW5lIERBWlVLT0ZTX1ZFUlNJT04gIjMuMC4wIgotCiBleHRlcm4gc3RydWN0 IGttZW1fY2FjaGUgKmRhenVrb2ZzX2RlbnRyeV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1 Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIGRhenVrb2ZzX21haW5fZm9wczsKZGlmZiAteCBDVlMgLXJ1 cCBkYXp1a29mcy0zLjAuMC9ldmVudC5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYvZXZl bnQuYwotLS0gZGF6dWtvZnMtMy4wLjAvZXZlbnQuYwkyMDA5LTAyLTIyIDE3OjQ0OjAzLjAw MDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9ldmVudC5jCTIw MDktMDctMDMgMTg6NTM6NTIuMDAwMDAwMDAwICswMjAwCkBAIC0yMyw3ICsyMyw2IEBACiAj aW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVk ZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAKICNpbmNs dWRlICJkZXYuaCIKICNpbmNsdWRlICJkYXp1a29mc19mcy5oIgpAQCAtMTYyLDE2ICsxNjEs MjMgQEAgc3RhdGljIGludCBjYXB0dXJlX2dyb3VwX2NvdW50KGludCAqY2FjaAogCXJldHVy biBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2dyb3VwX2NvdW50KHZvaWQpCitzdGF0aWMg aW50IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxlKHZvaWQpCiB7CiAJaW50IGNhY2hl ID0gMDsKLQlpbnQgcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoX19ncm91cF9jb3VudF9x dWV1ZSwKLQkJCQkgICAgICAgY2FwdHVyZV9ncm91cF9jb3VudCgmY2FjaGUpID09IDApOwor CWludCByZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoX19ncm91cF9jb3VudF9xdWV1 ZSwKKwkJCQkgICAgICAgICAgIGNhcHR1cmVfZ3JvdXBfY291bnQoJmNhY2hlKSA9PSAwKTsK IAlpZiAocmV0ID09IDApCiAJCXJldCA9IF9fZ3JvdXBfY291bnQ7CiAJcmV0dXJuIHJldDsK IH0KIAorc3RhdGljIGludCBnZXRfZ3JvdXBfY291bnQodm9pZCkKK3sKKwlpbnQgY2FjaGUg PSAwOworCXdhaXRfZXZlbnQoX19ncm91cF9jb3VudF9xdWV1ZSwgY2FwdHVyZV9ncm91cF9j b3VudCgmY2FjaGUpID09IDApOworCXJldHVybiBfX2dyb3VwX2NvdW50OworfQorCiBzdGF0 aWMgdm9pZCBwdXRfZ3JvdXBfY291bnQodm9pZCkKIHsKIAltdXRleF9sb2NrKCZncm91cF9j b3VudF9tdXRleCk7CkBAIC0zOTksNyArNDA1LDcgQEAgaW50IGRhenVrb2ZzX2FkZF9ncm91 cChjb25zdCBjaGFyICpuYW1lLAogCWludCBhbHJlYWR5X2V4aXN0czsKIAlpbnQgYXZhaWxh YmxlX2lkID0gMDsKIAlzdHJ1Y3QgZGF6dWtvZnNfZ3JvdXAgKmdycDsKLQlpbnQgZ3JwX2Nv dW50ID0gZ2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9j b3VudF9pbnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQg PSBncnBfY291bnQ7CkBAIC00NDcsNyArNDUzLDcgQEAgaW50IGRhenVrb2ZzX3JlbW92ZV9n cm91cChjb25zdCBjaGFyICpuYQogCWludCByZXQgPSAwOwogCXN0cnVjdCBkYXp1a29mc19n cm91cCAqZ3JwOwogCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKLQlpbnQgZ3JwX2NvdW50ID0g Z2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9jb3VudF9p bnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQgPSBncnBf Y291bnQ7CkBAIC03MDEsMTEgKzcwNywxMCBAQCBpbnQgZGF6dWtvZnNfY2hlY2tfYWNjZXNz KHN0cnVjdCBkZW50cnkgCiB7CiAJc3RydWN0IGRhenVrb2ZzX2V2ZW50X2NvbnRhaW5lciAq ZWNfYXJyYXlbR1JPVVBfQ09VTlRdOwogCXN0cnVjdCBkYXp1a29mc19ldmVudCAqZXZ0Owot CWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKLQlpbnQgZXJyOworCWludCBn cnBfY291bnQ7CisJaW50IGVyciA9IDA7CiAKLQlpZiAoZ3JwX2NvdW50IDwgMCkKLQkJcmV0 dXJuIGdycF9jb3VudDsKKwlncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKIAogCWlm IChjaGVja19hY2Nlc3NfcHJlY2hlY2soZ3JwX2NvdW50KSkgewogCQlwdXRfZ3JvdXBfY291 bnQoKTsKQEAgLTcxMywzMiArNzE4LDI5IEBAIGludCBkYXp1a29mc19jaGVja19hY2Nlc3Mo c3RydWN0IGRlbnRyeSAKIAl9CiAKIAkvKiBhdCB0aGlzIHBvaW50LCB0aGUgYWNjZXNzIHNo b3VsZCBiZSBoYW5kbGVkICovCi0KIAlpZiAoYWxsb2NhdGVfZXZlbnRfYW5kX2NvbnRhaW5l cnMoJmV2dCwgZWNfYXJyYXksIGdycF9jb3VudCkpIHsKIAkJcHV0X2dyb3VwX2NvdW50KCk7 Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OworCQlyZXR1cm4gLUVOT01FTTsKIAl9 Ci0KIAlldnQtPmRlbnRyeSA9IGRnZXQoZGVudHJ5KTsKIAlldnQtPm1udCA9IG1udGdldCht bnQpOwogCWV2dC0+cGlkID0gY3VycmVudC0+cGlkOwotCiAJYXNzaWduX2V2ZW50X3RvX2dy b3VwcyhldnQsIGVjX2FycmF5KTsKIAogCXB1dF9ncm91cF9jb3VudCgpOwogCi0JLyogd2Fp dCB1bnRpbCBldmVudCBjb21wbGV0ZWx5IHByb2Nlc3NlZCBvciBzaWduYWwgKi8KLQllcnIg PSB3YWl0X2V2ZW50X2ZyZWV6YWJsZShldnQtPnF1ZXVlLCBldmVudF9hc3NpZ25lZChldnQp ID09IDApOworCS8qIHdhaXQgdW50aWwgZXZlbnQgY29tcGxldGVseSBwcm9jZXNzZWQgKi8K Kwl3YWl0X2V2ZW50KGV2dC0+cXVldWUsIGV2ZW50X2Fzc2lnbmVkKGV2dCkgPT0gMCk7CiAK IAlpZiAoZXZ0LT5kZW55KQogCQllcnIgPSAtRVBFUk07CiAKIAlyZWxlYXNlX2V2ZW50KGV2 dCwgMCwgMCk7Ci1vdXQ6CisJCiAJcmV0dXJuIGVycjsKIH0KIAorCiBpbnQgZGF6dWtvZnNf Z3JvdXBfb3Blbl90cmFja2luZyh1bnNpZ25lZCBsb25nIGdyb3VwX2lkKQogewogCXN0cnVj dCBkYXp1a29mc19ncm91cCAqZ3JwOwpAQCAtOTI4LDcgKzkzMCw4IEBAIHN0YXRpYyBpbnQg b3Blbl9maWxlKHN0cnVjdCBkYXp1a29mc19ldmUKIAkvKiBhZGQgbXlzZWxmIHRvIGJlIGln bm9yZWQgb24gZmlsZSBvcGVuICh0byBhdm9pZCByZWN1cnNpb24pICovCiAJbWFza19wcm9j KCZwcm9jKTsKIAotCWVjLT5maWxlID0gZGVudHJ5X29wZW4oZGdldChldnQtPmRlbnRyeSks IG1udGdldChldnQtPm1udCksIE9fUkRPTkxZKTsKKwllYy0+ZmlsZSA9IGRlbnRyeV9vcGVu KGRnZXQoZXZ0LT5kZW50cnkpLCBtbnRnZXQoZXZ0LT5tbnQpLCAKKwkJCSAgICAgICBPX1JE T05MWSB8IE9fTEFSR0VGSUxFKTsKIAlpZiAoSVNfRVJSKGVjLT5maWxlKSkgewogCQljaGVj a19yZWN1cnNpb24oKTsgIC8qIHJlbW92ZSBteXNlbGYgZnJvbSBwcm9jX2xpc3QgKi8KIAkJ cmV0ID0gUFRSX0VSUihlYy0+ZmlsZSk7CkBAIC0xMDA0LDkgKzEwMDcsOSBAQCBpbnQgZGF6 dWtvZnNfZ2V0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZ3JvCiAJfQogCiAJd2hpbGUgKDEpIHsK LQkJcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoZ3JwLT5xdWV1ZSwKLQkJCQkJICAgaXNf ZXZlbnRfYXZhaWxhYmxlKGdycCkgfHwKLQkJCQkJICAgZ3JwLT5kZXByZWNhdGVkKTsKKwkJ cmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGdycC0+cXVldWUsCisJCQkJCSAgICAg ICBpc19ldmVudF9hdmFpbGFibGUoZ3JwKSB8fAorCQkJCQkgICAgICAgZ3JwLT5kZXByZWNh dGVkKTsKIAkJaWYgKHJldCAhPSAwKQogCQkJYnJlYWs7CiAKZGlmZiAteCBDVlMgLXJ1cCBk YXp1a29mcy0zLjAuMC9maWxlLmMgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9maWxlLmMK LS0tIGRhenVrb2ZzLTMuMC4wL2ZpbGUuYwkyMDA5LTAyLTIyIDE3OjQzOjExLjAwMDAwMDAw MCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9maWxlLmMJMjAwOS0wNy0w MyAxODo0NzozMC4wMDAwMDAwMDAgKzAyMDAKQEAgLTE3NywxMCArMTc3LDExIEBAIHN0YXRp YyBpbnQgZGF6dWtvZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmkKIAlzdHJ1Y3QgZmlsZSAqbG93 ZXJfZmlsZTsKIAlpbnQgZXJyOwogCi0JZXJyID0gZGF6dWtvZnNfY2hlY2tfYWNjZXNzKGZp bGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7Ci0JaWYgKGVycikKLQkJZ290byBlcnJv cl9vdXQxOwotCisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpIHsKKwkJZXJyID0gZGF6 dWtvZnNfY2hlY2tfYWNjZXNzKGZpbGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7CisJ CWlmIChlcnIpCisJCQlnb3RvIGVycm9yX291dDE7CisJfQogCVNFVF9GSUxFX0lORk8oZmls ZSwga21lbV9jYWNoZV96YWxsb2MoZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcCwKIAkJICAg ICAgR0ZQX0tFUk5FTCkpOwogCWlmICghR0VUX0ZJTEVfSU5GTyhmaWxlKSkgewpAQCAtMjcy LDYgKzI3MywyMiBAQCBvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBkYXp1 a29mc19tbWFwIChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bSkKK3sKKworCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gR0VUX0xPV0VSX0ZJTEUoZmls ZSk7CisKKwkvKiBpZiBsb3dlciBmcyBkb2VzIG5vdCBzdXBwb3J0IG1tYXAoKSwgd2UgZG9u dCBjYWxsIGdlbmVyaWNfZmlsZV9yZWFkb25seV9tbWFwKCksIAorCSAqIHNpbmNlIHRoaXMg d291bGQgcmVzdWx0IGluIGNhbGxpbmcgbG93ZXIgcmVhZHBhZ2UoKSwgd2hpY2ggbWlnaHQg bm90IGJlIAorCSAqIGRlZmluZWQgYnkgbG93ZXIgZnMgaWYgbW1hcCgpIGlzIG5vdCBzdXBw b3J0ZWQqLworCWlmICghbG93ZXJfZmlsZS0+Zl9vcCB8fCAhbG93ZXJfZmlsZS0+Zl9vcC0+ bW1hcCkgCisJCXJldHVybiAtRU5PREVWOworCQorCisJcmV0dXJuIGdlbmVyaWNfZmlsZV9y ZWFkb25seV9tbWFwKGZpbGUsIHZtKTsKK30KKworCiAvKioKICAqIFVudXNlZCBvcGVyYXRp b25zOgogICogICAtIG93bmVyCkBAIC0yOTUsMTggKzMxMiwxNSBAQCBvdXQ6CiBzdHJ1Y3Qg ZmlsZV9vcGVyYXRpb25zIGRhenVrb2ZzX21haW5fZm9wcyA9IHsKIAkubGxzZWVrCQk9IGRh enVrb2ZzX2xsc2VlaywKIAkucmVhZAkJPSBkYXp1a29mc19yZWFkLAotCS5haW9fcmVhZAk9 IGdlbmVyaWNfZmlsZV9haW9fcmVhZCwKIAkud3JpdGUJCT0gZGF6dWtvZnNfd3JpdGUsCi0J LmFpb193cml0ZQk9IGdlbmVyaWNfZmlsZV9haW9fd3JpdGUsCiAJLnJlYWRkaXIJPSBkYXp1 a29mc19yZWFkZGlyLAogCS5pb2N0bAkJPSBkYXp1a29mc19pb2N0bCwKLQkubW1hcAkJPSBn ZW5lcmljX2ZpbGVfbW1hcCwKKwkubW1hcAkJPSBkYXp1a29mc19tbWFwLAkKIAkub3BlbgkJ PSBkYXp1a29mc19vcGVuLAogCS5mbHVzaAkJPSBkYXp1a29mc19mbHVzaCwKIAkucmVsZWFz ZQk9IGRhenVrb2ZzX3JlbGVhc2UsCiAJLmZzeW5jCQk9IGRhenVrb2ZzX2ZzeW5jLAogCS5m YXN5bmMJCT0gZGF6dWtvZnNfZmFzeW5jLAotCS5zcGxpY2VfcmVhZAk9IGdlbmVyaWNfZmls ZV9zcGxpY2VfcmVhZCwKIH07CiAKIC8qKgpAQCAtMzM1LDExICszNDksMTAgQEAgc3RydWN0 IGZpbGVfb3BlcmF0aW9ucyBkYXp1a29mc19tYWluX2ZvcAogY29uc3Qgc3RydWN0IGZpbGVf b3BlcmF0aW9ucyBkYXp1a29mc19kaXJfZm9wcyA9IHsKIAkucmVhZGRpcgk9IGRhenVrb2Zz X3JlYWRkaXIsCiAJLmlvY3RsCQk9IGRhenVrb2ZzX2lvY3RsLAotCS5tbWFwCQk9IGdlbmVy aWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGRhenVrb2ZzX21tYXAsCQogCS5vcGVuCQk9IGRh enVrb2ZzX29wZW4sCiAJLmZsdXNoCQk9IGRhenVrb2ZzX2ZsdXNoLAogCS5yZWxlYXNlCT0g ZGF6dWtvZnNfcmVsZWFzZSwKIAkuZnN5bmMJCT0gZGF6dWtvZnNfZnN5bmMsCiAJLmZhc3lu YwkJPSBkYXp1a29mc19mYXN5bmMsCi0JLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3Nw bGljZV9yZWFkLAogfTsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9ncm91cF9k ZXYuYyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI2L2dyb3VwX2Rldi5jCi0tLSBkYXp1a29m cy0zLjAuMC9ncm91cF9kZXYuYwkyMDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEw MAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9ncm91cF9kZXYuYwkyMDA4LTEyLTEy IDE2OjMyOjI2LjAwMDAwMDAwMCArMDEwMApAQCAtMjEwLDcgKzIxMCw3IEBAIGludCBkYXp1 a29mc19ncm91cF9kZXZfaW5pdChpbnQgZGV2X21ham8KIAkvKiBjcmVhdGUgZ3JvdXAgZGV2 aWNlcyAqLwogCWZvciAoaSA9IDA7IGkgPCBHUk9VUF9DT1VOVDsgaSsrKSB7CiAJCWRldiA9 IGRldmljZV9jcmVhdGUoZGF6dWtvZnNfY2xhc3MsIE5VTEwsCi0JCQkJICAgIE1LREVWKGRl dl9tYWpvciwgZGV2X21pbm9yX2VuZCksIE5VTEwsCisJCQkJICAgIE1LREVWKGRldl9tYWpv ciwgZGV2X21pbm9yX2VuZCksCiAJCQkJICAgICIlcy4lZCIsIERFVklDRV9OQU1FLCBpKTsK IAkJaWYgKElTX0VSUihkZXYpKSB7CiAJCQllcnIgPSBQVFJfRVJSKGRldik7CmRpZmYgLXgg Q1ZTIC1ydXAgZGF6dWtvZnMtMy4wLjAvaWduX2Rldi5jIGRhenVrb2ZzLTMuMC4wLXJjNF8y LjYuMjYvaWduX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAuMC9pZ25fZGV2LmMJMjAwOS0wMi0y MiAxNzo0NToyMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYu MjYvaWduX2Rldi5jCTIwMDgtMTItMTIgMTY6MzI6MjYuMDAwMDAwMDAwICswMTAwCkBAIC0x NTksNyArMTU5LDcgQEAgaW50IGRhenVrb2ZzX2lnbl9kZXZfaW5pdChpbnQgZGV2X21ham9y LAogCiAJLyogY3JlYXRlIGlnbm9yZSBkZXZpY2UgKi8KIAlkZXYgPSBkZXZpY2VfY3JlYXRl KGRhenVrb2ZzX2NsYXNzLCBOVUxMLCBNS0RFVihkZXZfbWFqb3IsIGRldl9taW5vciksCi0J CQkgICAgTlVMTCwgIiVzLmlnbiIsIERFVklDRV9OQU1FKTsKKwkJCSAgICAiJXMuaWduIiwg REVWSUNFX05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIgPSBQVFJfRVJSKGRl dik7CiAJCWdvdG8gZXJyb3Jfb3V0MzsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAu MC9pbm9kZS5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjYvaW5vZGUuYwotLS0gZGF6dWtv ZnMtMy4wLjAvaW5vZGUuYwkyMDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAor KysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9pbm9kZS5jCTIwMDktMDctMDMgMTg6Mzg6 MDcuMDAwMDAwMDAwICswMjAwCkBAIC00NywxMiArNDcsMjUgQEAgc3RhdGljIGludCBkYXp1 a29mc19pbm9kZV90ZXN0KHN0cnVjdCBpbgogCiBzdGF0aWMgdm9pZCBkYXp1a29mc19pbml0 X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUp CiB7Ci0JU0VUX0xPV0VSX0lOT0RFKGlub2RlLCBsb3dlcl9pbm9kZSk7Ci0JaW5vZGUtPmlf aW5vID0gbG93ZXJfaW5vZGUtPmlfaW5vOwotCWlub2RlLT5pX3ZlcnNpb24rKzsKLQlpbm9k ZS0+aV9vcCA9ICZkYXp1a29mc19tYWluX2lvcHM7Ci0JaW5vZGUtPmlfZm9wID0gJmRhenVr b2ZzX21haW5fZm9wczsKLQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZkYXp1a29mc19h b3BzOworICAgICAgICBTRVRfTE9XRVJfSU5PREUoaW5vZGUsIGxvd2VyX2lub2RlKTsKKyAg ICAgICAgaW5vZGUtPmlfaW5vID0gbG93ZXJfaW5vZGUtPmlfaW5vOworICAgICAgICBpbm9k ZS0+aV92ZXJzaW9uKys7CisKKyAgICAgICAgaWYgKFNfSVNESVIobG93ZXJfaW5vZGUtPmlf bW9kZSkpIHsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19kaXJf aW9wczsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfZGlyX2Zv cHM7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5vZGUtPmlfb3AgPSAm ZGF6dWtvZnNfbWFpbl9pb3BzOworICAgICAgICAgICAgICAgIGlub2RlLT5pX2ZvcCA9ICZk YXp1a29mc19tYWluX2ZvcHM7CisKKyAgICAgICAgICAgICAgICBpZiAoU19JU0xOSyhsb3dl cl9pbm9kZS0+aV9tb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlub2RlLT5pX29w ID0gJmRhenVrb2ZzX3N5bWxpbmtfaW9wczsKKyAgICAgICAgICAgICAgICBlbHNlICBpZiAo c3BlY2lhbF9maWxlKGxvd2VyX2lub2RlLT5pX21vZGUpKSB7CisgICAgICAgICAgICAgICAg ICAgICAgICBpbml0X3NwZWNpYWxfaW5vZGUoaW5vZGUsIGxvd2VyX2lub2RlLT5pX21vZGUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG93ZXJfaW5v ZGUtPmlfcmRldik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlu b2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmRhenVrb2ZzX2FvcHM7CiB9CiAKIHN0YXRpYyBp bnQgZGF6dWtvZnNfaW5vZGVfc2V0KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHZvaWQgKmxvd2Vy X2lub2RlKQpAQCAtNjEsNzMgKzc0LDExOSBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2lub2Rl X3NldChzdHJ1Y3QgaW5vCiAJcmV0dXJuIDA7CiB9CiAKKwogaW50IGRhenVrb2ZzX2ludGVy cG9zZShzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnksIHN0cnVjdCBkZW50cnkgKmRlbnRy eSwKLQkJICAgICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgZmxhZykKKwkJICAgICBz dHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgaGFzaCkKIHsKIAlzdHJ1Y3QgaW5vZGUgKmlu b2RlOwotCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUgPSBpZ3JhYihsb3dlcl9kZW50cnkt PmRfaW5vZGUpOwotCWludCBlcnIgPSAwOworCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGU7 CisJaW50IGVycjsKIAotCWlmICghbG93ZXJfaW5vZGUpIHsKLQkJZXJyID0gLUVTVEFMRTsK LQkJZ290byBvdXQ7Ci0JfQorCWxvd2VyX2lub2RlID0gaWdyYWIobG93ZXJfZGVudHJ5LT5k X2lub2RlKTsKIAotCWlmIChsb3dlcl9pbm9kZS0+aV9zYiAhPSBHRVRfTE9XRVJfU0Ioc2Ip KSB7Ci0JCWlwdXQobG93ZXJfaW5vZGUpOwotCQllcnIgPSAtRVhERVY7Ci0JCWdvdG8gb3V0 OwotCX0KKwlpZiAoIWxvd2VyX2lub2RlKSAKKwkJcmV0dXJuIC1FU1RBTEU7CiAKIAlpbm9k ZSA9IGlnZXQ1X2xvY2tlZChzYiwgKHVuc2lnbmVkIGxvbmcpbG93ZXJfaW5vZGUsCiAJCQkg ICAgIGRhenVrb2ZzX2lub2RlX3Rlc3QsIGRhenVrb2ZzX2lub2RlX3NldCwKIAkJCSAgICAg bG93ZXJfaW5vZGUpOwotCiAJaWYgKCFpbm9kZSkgewotCQlpcHV0KGxvd2VyX2lub2RlKTsK IAkJZXJyID0gLUVBQ0NFUzsKLQkJZ290byBvdXQ7CisJCWdvdG8gZXJyOwogCX0KIAotCWlm IChpbm9kZS0+aV9zdGF0ZSAmIElfTkVXKSB7CisJaWYgKGlub2RlLT5pX3N0YXRlICYgSV9O RVcpIAogCQl1bmxvY2tfbmV3X2lub2RlKGlub2RlKTsKIAkJLyoKIAkJICogVGhpcyBpcyBh IG5ldyBub2RlIHNvIHdlIGxlYXZlIHRoZSBsb3dlcl9ub2RlICJpbiB1c2UiCiAJCSAqIGFu ZCBkbyBub3QgY2FsbCBpcHV0KCkuCiAJCSAqLwotCX0gZWxzZSB7CisJZWxzZSAKIAkJLyoK IAkJICogVGhpcyBpcyBub3QgYSBuZXcgbm9kZSBzbyB3ZSBkZWNyZW1lbnQgdGhlIHVzYWdl IGNvdW50LgogCQkgKi8KIAkJaXB1dChsb3dlcl9pbm9kZSk7Ci0JfQogCi0JaWYgKFNfSVNM TksobG93ZXJfaW5vZGUtPmlfbW9kZSkpCi0JCWlub2RlLT5pX29wID0gJmRhenVrb2ZzX3N5 bWxpbmtfaW9wczsKLQllbHNlIGlmIChTX0lTRElSKGxvd2VyX2lub2RlLT5pX21vZGUpKQot CQlpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19kaXJfaW9wczsKLQotCWlmIChTX0lTRElSKGxv d2VyX2lub2RlLT5pX21vZGUpKQotCQlpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfZGlyX2Zv cHM7Ci0KLQlpZiAoc3BlY2lhbF9maWxlKGxvd2VyX2lub2RlLT5pX21vZGUpKSB7Ci0JCWlu aXRfc3BlY2lhbF9pbm9kZShpbm9kZSwgbG93ZXJfaW5vZGUtPmlfbW9kZSwKLQkJCQkgICBs b3dlcl9pbm9kZS0+aV9yZGV2KTsKLQl9Ci0KLQlkZW50cnktPmRfb3AgPSAmZGF6dWtvZnNf ZG9wczsKIAotCWlmIChmbGFnKQorCWlmIChoYXNoKQogCQlkX2FkZChkZW50cnksIGlub2Rl KTsKIAllbHNlCiAJCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiAKIAlmc3N0YWNr X2NvcHlfYXR0cl9hbGwoaW5vZGUsIGxvd2VyX2lub2RlLCBOVUxMKTsKIAlmc3N0YWNrX2Nv cHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93ZXJfaW5vZGUpOwotb3V0OgorCisJcmV0dXJuIDA7 CitlcnI6CisJaXB1dChsb3dlcl9pbm9kZSk7CiAJcmV0dXJuIGVycjsKIH0KIAorLyogY3Jl YXRlcyBhIG5ldyBsb3dlciBkZW50cnkgKi8KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1 a29mc19uZXdfbG93ZXJfZGVudHJ5KHN0cnVjdCBxc3RyICpuYW1lLAorCQkJCQkJc3RydWN0 IGRlbnRyeSAqbG93ZXJfYmFzZSwgCisJCQkJCQlzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sK KwlzdHJ1Y3QgZGVudHJ5ICpuZXdfZGVudHJ5OworCXN0cnVjdCBkZW50cnkgKnRtcDsKKwlz dHJ1Y3QgaW5vZGUgKmxvd2VyX2lub2RlOworCisJbG93ZXJfaW5vZGUgPSBsb3dlcl9iYXNl LT5kX2lub2RlOworCS8qIFhYWDogaXMgdGhpcyBjaGVjayBzdGlsbCBuZWNlc3Nhcnk/IChz ZWUgX19sb29rdXBfaGFzaCgpKQorCSAgIFRoaXMgaXMgKGhvcGVseSkgcHJvdGVjdGVkIGJ5 IGxvY2tlZCB1cHBlciBpbm9kZSAqLworCWlmIChJU19ERUFERElSKGxvd2VyX2lub2RlKSkg eworCQluZXdfZGVudHJ5ID0gRVJSX1BUUigtRU5PRU5UKTsKKwkJZ290byBvdXQ7CisJfQor CXRtcCA9IGRfYWxsb2MobG93ZXJfYmFzZSwgbmFtZSk7CisJaWYgKCF0bXApIHsKKwkJbmV3 X2RlbnRyeSA9IEVSUl9QVFIoLUVOT01FTSk7CisJCWdvdG8gb3V0OworCX0KKwluZXdfZGVu dHJ5ID0gbG93ZXJfaW5vZGUtPmlfb3AtPmxvb2t1cChsb3dlcl9pbm9kZSwgdG1wLCBuZCk7 CisJLyogbG9va3VwKCkgc2VlbWluZ2x5IGlzIGFsbG93ZWQgdG8gcmV0dXJuIGl0cyBvd24g ZGVudHJ5ICh3aGljaCAKKwkgKiBtYXkgaW5kZWVkIGJlIGEgZGVudHJ5IG9yIG9ubHkgYW4g ZXJyb3IpLiBJZiBzbworCSAqIHdlIHVzZSBpdCBhbmQgZGlzY2FyZCBvdXJzLiBPdGhlcndp c2Ugd2UgdXNlIG91cnMgKi8gCisJaWYgKCFuZXdfZGVudHJ5KSAKKwkJbmV3X2RlbnRyeSA9 IHRtcDsKKwllbHNlIAorCQlkcHV0KHRtcCk7CisJCQorb3V0OgkJCisJcmV0dXJuIG5ld19k ZW50cnk7Cit9CisKKworLyogZ2V0IGxvd2VyIGRlbnRyeSBmb3IgZ2l2ZW4gbmFtZSAqLwor c3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2ZzX2xvb2t1cF9vbmVfbG93ZXIoc3RydWN0 IHFzdHIgKm5hbWUsIAorCQkJCQkJc3RydWN0IGRlbnRyeSAqbG93ZXJfYmFzZSwKKwkJCQkJ CXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50KQoreworCXN0cnVjdCBkZW50cnkgKnJlc3Vs dDsKKwlzdHJ1Y3QgbmFtZWlkYXRhIG5kOworCWludCBlcnI7CisKKwllcnIgPSB2ZnNfcGF0 aF9sb29rdXAobG93ZXJfYmFzZSwgbG93ZXJfbW50LCBuYW1lLT5uYW1lLCAwLCAmbmQpOwor CisJaWYgKCFlcnIpIHsKKwkJLyogaW5vZGUgYWxyZWFkeSBleGlzdHMgb24gZGlzayAqLwor CQlyZXN1bHQgPSBuZC5wYXRoLmRlbnRyeTsKKwkJLyogd2UgZG9udCBuZWVkIHRoZSBtb3Vu dCAqLworCQltbnRwdXQobmQucGF0aC5tbnQpOworCQlnb3RvIG91dDsKKwl9CisJaWYgKGVy ciAhPSAtRU5PRU5UKSB7IC8qIHRoaXMgaXMgYSBSRUFMIGVycm9yICovCQorCQlyZXN1bHQg PSBFUlJfUFRSKGVycik7CisJCWdvdG8gb3V0OworCX0JCisJLyogY3JlYXRlIGEgbmV3IChs b3dlcikgZGVudHJ5ICovCisJcmVzdWx0ID0gZGF6dWtvZnNfbmV3X2xvd2VyX2RlbnRyeShu YW1lLCBsb3dlcl9iYXNlLCAmbmQpOworb3V0OgorCXJldHVybiByZXN1bHQ7CisKK30KKwor CiAvKioKICAqIERlc2NyaXB0aW9uOiBDYWxsZWQgd2hlbiB0aGUgVkZTIG5lZWRzIHRvIGxv b2sgdXAgYW4gaW5vZGUgaW4gYSBwYXJlbnQKICAqIGRpcmVjdG9yeS4gVGhlIG5hbWUgdG8g bG9vayBmb3IgaXMgZm91bmQgaW4gdGhlIGRlbnRyeS4gVGhpcyBtZXRob2QKQEAgLTE0OCw2 MiArMjA3LDQ4IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpkYXp1a29mc19sb29rdXAoc3QK IAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnk7CiAJc3RydWN0IGRlbnRyeSAqbG93ZXJf ZGVudHJ5X3BhcmVudDsKIAlzdHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udDsKLQlpbnQgZXJy ID0gMDsKLQotCWlmICgoZGVudHJ5LT5kX25hbWUubGVuID09IDEgJiYgIXN0cmNtcChkZW50 cnktPmRfbmFtZS5uYW1lLCAiLiIpKQotCSAgICB8fCAoZGVudHJ5LT5kX25hbWUubGVuID09 IDIgJiYKLQkJIXN0cmNtcChkZW50cnktPmRfbmFtZS5uYW1lLCAiLi4iKSkpIHsKLQkJZF9k cm9wKGRlbnRyeSk7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWRlbnRyeS0+ZF9vcCA9ICZkYXp1 a29mc19kb3BzOworCWludCBlcnI7CiAKIAlsb3dlcl9kZW50cnlfcGFyZW50ID0gR0VUX0xP V0VSX0RFTlRSWShkZW50cnktPmRfcGFyZW50KTsKLQlsb3dlcl9kZW50cnkgPSBsb29rdXBf b25lX2xlbihkZW50cnktPmRfbmFtZS5uYW1lLCBsb3dlcl9kZW50cnlfcGFyZW50LAotCQkJ CSAgICAgIGRlbnRyeS0+ZF9uYW1lLmxlbik7CisJLyogc2hvdWxkIGJlIHJlbGVhc2VkIGlu IGRfcmVsZWFzZSgpICovCisJbG93ZXJfbW50ID0gbW50Z2V0KEdFVF9MT1dFUl9NTlQoZGVu dHJ5LT5kX3BhcmVudCkpOwogCisJbG93ZXJfZGVudHJ5ID0gZGF6dWtvZnNfbG9va3VwX29u ZV9sb3dlcigmZGVudHJ5LT5kX25hbWUsIAorCQkJCQkJIGxvd2VyX2RlbnRyeV9wYXJlbnQs IAorCQkJCQkJIGxvd2VyX21udCk7IAogCWlmIChJU19FUlIobG93ZXJfZGVudHJ5KSkgewot CQllcnIgPSBQVFJfRVJSKGxvd2VyX2RlbnRyeSk7Ci0JCWRfZHJvcChkZW50cnkpOwotCQln b3RvIG91dDsKKwkJbW50cHV0KGxvd2VyX21udCk7CisJCXJldHVybiBsb3dlcl9kZW50cnk7 CiAJfQotCiAJQlVHX09OKCFhdG9taWNfcmVhZCgmbG93ZXJfZGVudHJ5LT5kX2NvdW50KSk7 CiAKKwlkZW50cnktPmRfb3AgPSAmZGF6dWtvZnNfZG9wczsKIAlTRVRfREVOVFJZX0lORk8o ZGVudHJ5LCBrbWVtX2NhY2hlX3phbGxvYyhkYXp1a29mc19kZW50cnlfaW5mb19jYWNoZXAs CiAJCQlHRlBfS0VSTkVMKSk7CiAKIAlpZiAoIUdFVF9ERU5UUllfSU5GTyhkZW50cnkpKSB7 Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0X2RwdXQ7CisJCW1udHB1dChsb3dlcl9t bnQpOworCQlkcHV0KGxvd2VyX2RlbnRyeSk7CisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0p OwogCX0KLQotCWxvd2VyX21udCA9IG1udGdldChHRVRfTE9XRVJfTU5UKGRlbnRyeS0+ZF9w YXJlbnQpKTsKLQotCWZzc3RhY2tfY29weV9hdHRyX2F0aW1lKGRpciwgbG93ZXJfZGVudHJ5 X3BhcmVudC0+ZF9pbm9kZSk7Ci0KIAlTRVRfTE9XRVJfREVOVFJZKGRlbnRyeSwgbG93ZXJf ZGVudHJ5LCBsb3dlcl9tbnQpOwotCisJLyogZnJvbSBub3cgbG93ZXIgZGVudHJ5IGFuZCBs b3dlciBtb3VudCBhcmUgcmVsZWFzZWQgaW4gCisJICBkX3JlbGVhc2Ugb2YgdXBwZXIgZGVu dHJ5ICovCisJZnNzdGFja19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlfcGFy ZW50LT5kX2lub2RlKTsKIAlpZiAoIWxvd2VyX2RlbnRyeS0+ZF9pbm9kZSkgewogCQkvKgog CQkgKiBXZSB3YW50IHRvIGFkZCBiZWNhdXNlIHdlIGNvdWxkIG5vdCBmaW5kIGluIGxvd2Vy LgogCQkgKi8KIAkJZF9hZGQoZGVudHJ5LCBOVUxMKTsKLQkJZ290byBvdXQ7CisJCWdvdG8g b2s7CiAJfQogCiAJZXJyID0gZGF6dWtvZnNfaW50ZXJwb3NlKGxvd2VyX2RlbnRyeSwgZGVu dHJ5LCBkaXItPmlfc2IsIDEpOwotCWlmIChlcnIpCi0JCWdvdG8gb3V0X2RwdXQ7Ci0JZ290 byBvdXQ7Ci0KLW91dF9kcHV0OgotCWRwdXQobG93ZXJfZGVudHJ5KTsKLQlkX2Ryb3AoZGVu dHJ5KTsKKwlpZiAoZXJyKSAKKwkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIAotb3V0OgotCXJl dHVybiBFUlJfUFRSKGVycik7CitvazoKKwlyZXR1cm4gTlVMTDsgLyogdGVsbCBjYWxsZXIg dG8gdXNlIGl0cyBvd24sIHBhc3NlZCBkZW50cnksIG5vdCBvdXJzICovCiB9CiAKIC8qKgpA QCAtMzQwLDcgKzM4NSw4IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfc3ltbGluayhzdHJ1Y3Qg aW5vZGUKIAltdXRleF9sb2NrX25lc3RlZCgmKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUt PmlfbXV0ZXgpLAogCQkJICBJX01VVEVYX1BBUkVOVCk7CiAKLQllcnIgPSB2ZnNfc3ltbGlu ayhsb3dlcl9kZW50cnlfcGFyZW50X2lub2RlLCBsb3dlcl9kZW50cnksIHN5bW5hbWUpOwor CWVyciA9IHZmc19zeW1saW5rKGxvd2VyX2RlbnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2Rl bnRyeSwgc3ltbmFtZSwKKwkJCSAgU19JQUxMVUdPKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91 dDsKIApAQCAtNDUyLDkgKzQ5OCwzNyBAQCBzdGF0aWMgdm9pZCBkYXp1a29mc19wdXRfbGlu ayhzdHJ1Y3QgZGVuCiAgKiBEZXNjcmlwdGlvbjogQ2FsbGVkIGJ5IHRoZSBWRlMgdG8gY2hl Y2sgZm9yIGFjY2VzcyByaWdodHMgb24gYQogICogUE9TSVgtbGlrZSBmaWxlc3lzdGVtLgog ICovCi1zdGF0aWMgaW50IGRhenVrb2ZzX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9k ZSwgaW50IG1hc2spCitzdGF0aWMgaW50IGRhenVrb2ZzX3Blcm1pc3Npb24oc3RydWN0IGlu b2RlICppbm9kZSwgaW50IG1hc2ssCisJCQkgICAgICAgc3RydWN0IG5hbWVpZGF0YSAqbmQp CiB7Ci0JcmV0dXJuIGlub2RlX3Blcm1pc3Npb24oR0VUX0xPV0VSX0lOT0RFKGlub2RlKSwg bWFzayk7CisJc3RydWN0IHZmc21vdW50ICpsb3dlcl9tbnQgPSBOVUxMOworCXN0cnVjdCBk ZW50cnkgKmxvd2VyX2RlbnRyeSA9IE5VTEw7CisJc3RydWN0IHZmc21vdW50ICp2ZnNtbnRf c2F2ZSA9IE5VTEw7CisJc3RydWN0IGRlbnRyeSAqZGVudHJ5X3NhdmUgPSBOVUxMOworCWlu dCBlcnI7CisKKwlpZiAobmQpIHsKKwkJbG93ZXJfbW50ID0gR0VUX0xPV0VSX01OVChuZC0+ cGF0aC5kZW50cnkpOworCQlsb3dlcl9kZW50cnkgPSBHRVRfTE9XRVJfREVOVFJZKG5kLT5w YXRoLmRlbnRyeSk7CisKKwkJdmZzbW50X3NhdmUgPSBuZC0+cGF0aC5tbnQ7CisJCWRlbnRy eV9zYXZlID0gbmQtPnBhdGguZGVudHJ5OworCisJCW5kLT5wYXRoLm1udCA9IG1udGdldChs b3dlcl9tbnQpOworCQluZC0+cGF0aC5kZW50cnkgPSBkZ2V0KGxvd2VyX2RlbnRyeSk7CisJ fQorCisJZXJyID0gcGVybWlzc2lvbihHRVRfTE9XRVJfSU5PREUoaW5vZGUpLCBtYXNrLCBu ZCk7CisKKwlpZiAobmQpIHsKKwkJbW50cHV0KGxvd2VyX21udCk7CisJCWRwdXQobG93ZXJf ZGVudHJ5KTsKKworCQluZC0+cGF0aC5tbnQgPSB2ZnNtbnRfc2F2ZTsKKwkJbmQtPnBhdGgu ZGVudHJ5ID0gZGVudHJ5X3NhdmU7CisJfQorCisgICAgICAgIHJldHVybiBlcnI7CiB9CiAK IC8qKgpAQCAtNDY4LDE0ICs1NDIsMjcgQEAgc3RhdGljIGludCBkYXp1a29mc19zZXRhdHRy KHN0cnVjdCBkZW50cgogCXN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUgPSBHRVRfTE9XRVJf SU5PREUoaW5vZGUpOwogCWludCBlcnI7CiAKLQllcnIgPSBub3RpZnlfY2hhbmdlKGxvd2Vy X2RlbnRyeSwgaWEpOwogCi0JZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2RlLCBsb3dlcl9p bm9kZSwgTlVMTCk7Ci0JZnNzdGFja19jb3B5X2lub2RlX3NpemUoaW5vZGUsIGxvd2VyX2lu b2RlKTsKKwlpZiAoIWxvd2VyX2lub2RlLT5pX29wIHx8ICFsb3dlcl9pbm9kZS0+aV9vcC0+ c2V0YXR0cikgCisJCS8qIFhYWDogYXQgdGhpcyBwb2ludCBpdCBpcyB0b28gbGF0ZSB0byBo YW5kbGUgaW5vZGVzIHByb3Blcmx5IHRoYXQgZG8gTk9UCisJCXNwZWNpZnkgc2V0YXR0cigp LiBWRlMgd291bGQgbm9ybWFsbHkgY2FsbCBpbm9kZV9zZXRhdHRyKCkgaW4gCisJCXRoaXMg Y2FzZS4gU28gdG8gZm9yY2UgdGhpcyB3ZSBqdW1wIGJhY2sgdG8gbm90aWZ5X2NoYW5nZSB3 aGljaCB3aWxsCisJCWhhbmRsZSB0aGlzIGZvciB1cy4gQnV0IHRoaXMgaXMgZGFuZ2Vyb3Vz OgorCQlUaGUgYXR0cmlidXRlcyBtaWdodCBiZSBtb2RpZmllZCBieSBub3RpZnlfY2hhbmdl KCkgaW4gYSB3YXkKKwkJdGhhdCByZXN1bHRzIGluIGludmFsaWQgYXR0cmlidXRlcy4gVGhp cyBzZWVtcyB0byBiZSB0aGUgY2FzZQorCQlpZiB0aGUgaW5vZGUgZm9yIHdoaWNoIHRoaXMg ZnVuY3Rpb24gaXMgY2FsbGVkIGhhcyB0aGUgc2V0dWlkCisJCW9yIHNldGdpZCBiaXQgc2V0 ICovIAorCQllcnIgPSBub3RpZnlfY2hhbmdlKGxvd2VyX2RlbnRyeSwgaWEpOworCWVsc2Ug CisJCWVyciA9IGxvd2VyX2lub2RlLT5pX29wLT5zZXRhdHRyKGxvd2VyX2RlbnRyeSwgaWEp OworCQorCWlmICghZXJyKSB7CisJCWZzc3RhY2tfY29weV9hdHRyX2FsbChpbm9kZSwgbG93 ZXJfaW5vZGUsIE5VTEwpOworCQlmc3N0YWNrX2NvcHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93 ZXJfaW5vZGUpOworCX0gCiAKIAlyZXR1cm4gZXJyOwogfQotCiAvKioKICAqIERlc2NyaXB0 aW9uOiBDYWxsZWQgYnkgdGhlIFZGUyB0byBzZXQgYW4gZXh0ZW5kZWQgYXR0cmlidXRlIGZv ciBhIGZpbGUuCiAgKiBFeHRlbmRlZCBhdHRyaWJ1dGUgaXMgYSBuYW1lOnZhbHVlIHBhaXIg YXNzb2NpYXRlZCB3aXRoIGFuIGlub2RlLiBUaGlzCkBAIC00OTYsNyArNTgzLDcgQEAgc3Rh dGljIGludCBkYXp1a29mc19zZXR4YXR0cihzdHJ1Y3QgZGVudAogCiAJaWYgKCFsb3dlcl9k ZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+ c2V0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJ CWdvdG8gb3V0OwogCX0KIApAQCAtNTI4LDcgKzYxNSw3IEBAIHN0YXRpYyBzc2l6ZV90IGRh enVrb2ZzX2dldHhhdHRyKHN0cnVjdCAKIAogCWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5p X29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AtPmdldHhhdHRyKSB7Ci0J CWVyciA9IC1FTk9TWVM7CisJCWVyciA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsKIAl9 CiAKQEAgLTU1Nyw3ICs2NDQsNyBAQCBzdGF0aWMgc3NpemVfdCBkYXp1a29mc19saXN0eGF0 dHIoc3RydWN0CiAKIAlpZiAoIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcCB8fAogCSAgICAh bG93ZXJfZGVudHJ5X2lub2RlLT5pX29wLT5saXN0eGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZ UzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTg0LDcg KzY3MSw3IEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVtb3ZleGF0dHIoc3RydWN0IGQKIAog CWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50cnlf aW5vZGUtPmlfb3AtPnJlbW92ZXhhdHRyKSB7Ci0JCWVyciA9IC1FTk9TWVM7CisJCWVyciA9 IC1FT1BOT1RTVVBQOwogCQlnb3RvIG91dDsKIAl9CiAKZGlmZiAteCBDVlMgLXJ1cCBkYXp1 a29mcy0zLjAuMC9NYWtlZmlsZSBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI2L01ha2VmaWxl Ci0tLSBkYXp1a29mcy0zLjAuMC9NYWtlZmlsZQkyMDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAw MDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9NYWtlZmlsZQkyMDA5 LTA1LTExIDE5OjQ5OjIzLjAwMDAwMDAwMCArMDIwMApAQCAtMTksNiArMTksNyBAQCBkYXp1 a29mc19pbnN0YWxsOiBkYXp1a29mc19tb2R1bGVzCiAKIGNsZWFuOgogCXJtIC1mIE1vZHVs ZS5zeW12ZXJzCisJcm0gLWYgbW9kdWxlcy5vcmRlcgogCW1ha2UgLUMgJChEQVpVS09GU19L RVJORUxfU1JDKSBTVUJESVJTPSJgcHdkYCIgY2xlYW4KIAogLlBIT05ZOiBkYXp1a29mc19t b2R1bGVzIGRhenVrb2ZzX2luc3RhbGwgY2xlYW4KZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29m cy0zLjAuMC9SRUFETUUgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9SRUFETUUKLS0tIGRh enVrb2ZzLTMuMC4wL1JFQURNRQkyMDA5LTAyLTIyIDE3OjM4OjIxLjAwMDAwMDAwMCArMDEw MAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNi9SRUFETUUJMjAwOC0xMi0xMiAxNjoz MToyMC4wMDAwMDAwMDAgKzAxMDAKQEAgLTIxLDEwICsyMSwxMCBAQCBOT1RFOiBEYXp1a29G UyBpcyBjb21wbGV0ZWx5IHNlcGFyYXRlIGZyCiA9PT09PT09PT09PT09PT09PQogCiBCZWxv dyBhcmUgYnJpZWYgaW5zdHJ1Y3Rpb25zIHRvIGdldCBEYXp1a29GUyBjb21waWxlZCBhbmQg cnVubmluZyBvbiBhCi1zeXN0ZW0gd2l0aCBhIExpbnV4IDIuNi4yOCBrZXJuZWwuIFlvdSBt YXkgbmVlZCB0byBtYW51YWxseSBhZGp1c3QgdGhlCitzeXN0ZW0gd2l0aCBhIExpbnV4IDIu Ni4yNyBrZXJuZWwuIFlvdSBtYXkgbmVlZCB0byBtYW51YWxseSBhZGp1c3QgdGhlCiBNYWtl ZmlsZSBpZiB5b3Uga2VybmVsIHNvdXJjZXMgYXJlIG5vdCBpbiB0aGUgZGVmYXVsdCBsb2Nh dGlvbi4KLShQYXRjaGVzIGFyZSBwcm92aWRlZCBmb3IgdmFyaW91cyBvdGhlciBrZXJuZWxz LiBTZWUgdGhlIHNlY3Rpb24gYmVsb3cKLXRpdGxlZCAiUEFUQ0hJTkciIGZvciBtb3JlIGlu Zm9ybWF0aW9uLikKKyhBIHBhdGNoIGlzIHByb3ZpZGVkIHRvIGNvbnZlcnQgdGhlIERhenVr b0ZTIGNvZGUgdG8gc3VwcG9ydCBMaW51eAorMi42LjI2LikKIAogY29tcGlsZSB0aGUga2Vy bmVsIG1vZHVsZQogICAjIG1ha2UKQEAgLTUyLDI1ICs1Miw2IEBAIHVubW91bnQgRGF6dWtv RlMKIAogCiAKLT09PT09PT09PT0KLSBQQVRDSElORwotPT09PT09PT09PQotCi1JbiB0aGUg InBhdGNoZXMiIGRpcmVjdG9yeSB0aGVyZSBhcmUgcGF0Y2hlcyBhdmFpbGFibGUgdG8gbW9k aWZ5IHRoZQotRGF6dWtvRlMgY29kZSB0byBmaXQgdmFyaW91cyBvdGhlciBrZXJuZWxzLiBG b3IgZXhhbXBsZSwgaWYgeW91IGFyZQotcnVubmluZyBvcGVuU1VTRSAxMS4xIHlvdSBjYW4g cGF0Y2ggdGhlIGNvZGUgd2l0aCB0aGUgZm9sbG93aW5nCi1jb21tYW5kOgotCi0kIHBhdGNo IC1wMSA8IHBhdGNoZXMvcGF0Y2gtb3BlbnN1c2UtMTEuMQotCi1UaGVyZSBzaG91bGQgbm90 IGJlIGFueSBlcnJvcnMuIElmIHRoZXJlIGFyZSBlcnJvcnMsIHRoZW4gdGhlIHBhdGNoCi1p cyBicm9rZW4gYW5kIHNob3VsZCBiZSByZXBvcnRlZCBvbiB0aGUgZGF6dWtvLWRldmVsIG1h aWxpbmcgbGlzdC4KLQotT25jZSB0aGUgY29kZSBoYXMgYmVlbiBwYXRjaGVkIHlvdSBjYW4g YnVpbGQgdGhlIGtlcm5lbCBtb2R1bGUgYXMKLWRlc2NyaWJlZCBpbiB0aGUgc2VjdGlvbiAi QlVJTEQgLyBJTlNUQUxMIiBhYm92ZS4KLQotCi0KID09PT09PT09PQogIFRFU1RJTkcKID09 PT09PT09PQpAQCAtMTU0LDkgKzEzNSw2IEBAIGFueSBwcm9ibGVtcy4KICBLTk9XTiBJU1NV RVMKID09PT09PT09PT09PT09CiAKLS0gVGhlIGtlcm5lbCB3aWxsIGNyYXNoIGlmIHlvdSBh dHRlbXB0IHRvIG1vdW50IERhenVrb0ZTIHRvIGEgZmlsZSBpbnN0ZWFkCi0gIG9mIGEgZGly ZWN0b3J5LiAoVGhlIHZhcmlvdXMga2VybmVsIHBhdGNoZXMgaGFuZGxlIHRoaXMgZXJyb3Iu KQotCiAtIERhenVrb0ZTIGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyB0byBtZW1vcnkgbWFw cGVkIGZpbGVzLiBUaGlzIHNob3VsZCBub3QKICAgY2F1c2UgdGhlIGtlcm5lbCB0byBjcmFz aCwgYnV0IHdpbGwgaW5zdGVhZCByZXN1bHQgaW4gdGhlIGFwcGxpY2F0aW9uCiAgIGZhaWxp bmcgdG8gcGVyZm9ybSB0aGUgd3JpdGVzIChhbHRob3VnaCBtbWFwKCkgd2lsbCBhcHBlYXIg dG8gYmUKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9zdXBlci5jIGRhenVrb2Zz LTMuMC4wLXJjNF8yLjYuMjYvc3VwZXIuYwotLS0gZGF6dWtvZnMtMy4wLjAvc3VwZXIuYwky MDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yNi9zdXBlci5jCTIwMDktMDctMDMgMTg6MTE6MzUuMDAwMDAwMDAwICswMjAw CkBAIC0zNSw2ICszNSwxMCBAQCBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2Zz X3NiX2luCiBzdHJ1Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZGVudHJ5X2luZm9fY2FjaGVw Owogc3RydWN0IGttZW1fY2FjaGUgKmRhenVrb2ZzX2ZpbGVfaW5mb19jYWNoZXA7CiAKKwor I2RlZmluZSBEQVpVS09GU19WRVJTSU9OICIzLjAuMC1yYzQtYXZpcmEtYjIuNiIKKworCiBz dGF0aWMgc3RydWN0IGlub2RlICpkYXp1a29mc19hbGxvY19pbm9kZShzdHJ1Y3Qgc3VwZXJf YmxvY2sgKnNiKQogewogCXN0cnVjdCBkYXp1a29mc19pbm9kZV9pbmZvICppbm9kZWk7CkBA IC0xNzAsNiArMTc0LDEwIEBAIHN0YXRpYyBpbnQgZGF6dWtvZnNfcmVhZF9zdXBlcihzdHJ1 Y3Qgc3UKIAkJZXJyID0gLUVOT0VOVDsKIAkJZ290byBvdXRfcHV0OwogCX0KKwlpZiAoIVNf SVNESVIobG93ZXJfcm9vdC0+ZF9pbm9kZS0+aV9tb2RlKSkgeworCQllcnIgPSAtRU5PRU5U OworCQlnb3RvIG91dF9wdXQ7CisJfQogCiAJU0VUX0xPV0VSX1NCKHNiLCBsb3dlcl9yb290 LT5kX3NiKTsKIAlzYi0+c19tYXhieXRlcyA9IGxvd2VyX3Jvb3QtPmRfc2ItPnNfbWF4Ynl0 ZXM7CkBAIC0yMTMsMTUgKzIyMSwxNiBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2dldF9zYihz dHJ1Y3QgZmlsZV9zCiAKIG91dF9hYm9ydDoKIAl1cF93cml0ZSgmc2ItPnNfdW1vdW50KTsK KwlkcHV0KHNiLT5zX3Jvb3QpOwogCWRlYWN0aXZhdGVfc3VwZXIoc2IpOwogb3V0OgogCXJl dHVybiBlcnI7CiB9CiAKLXN0YXRpYyB2b2lkIGluaXRfb25jZSh2b2lkICpkYXRhKQorc3Rh dGljIHZvaWQgaW5pdF9vbmNlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHZvaWQgKnZw dHIpCiB7CiAJc3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKmlub2RlX2luZm8gPQotCQko c3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKilkYXRhOworCQkoc3RydWN0IGRhenVrb2Zz X2lub2RlX2luZm8gKil2cHRyOwogCiAJbWVtc2V0KGlub2RlX2luZm8sIDAsIHNpemVvZihz dHJ1Y3QgZGF6dWtvZnNfaW5vZGVfaW5mbykpOwogCWlub2RlX2luaXRfb25jZSgmKGlub2Rl X2luZm8tPnZmc19pbm9kZSkpOwpAQCAtMzA1LDcgKzMxNCw3IEBAIHN0YXRpYyBzdHJ1Y3Qg ZmlsZV9zeXN0ZW1fdHlwZSBkYXp1a29mc18KIAogc3RhdGljIGludCBfX2luaXQgaW5pdF9k YXp1a29mc19mcyh2b2lkKQogewotCWludCBlcnIgPSAwOworCWludCBlcnI7CiAKIAllcnIg PSBkYXp1a29mc19kZXZfaW5pdCgpOwogCWlmIChlcnIpCkBAIC0zMTksNyArMzI4LDcgQEAg c3RhdGljIGludCBfX2luaXQgaW5pdF9kYXp1a29mc19mcyh2b2lkKQogCWlmIChlcnIpCiAJ CWdvdG8gZXJyb3Jfb3V0MzsKIAotCXByaW50ayhLRVJOX0lORk8gImRhenVrb2ZzOiBsb2Fk ZWQsIHZlcnNpb249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lO Rk8gImRhenVrb2ZzOiBsb2FkZWQsIHZlcnNpb249IiBEQVpVS09GU19WRVJTSU9OICJcbiIp OwogCXJldHVybiAwOwogCiBlcnJvcl9vdXQzOgpAQCAtMzM1LDcgKzM0NCw3IEBAIHN0YXRp YyB2b2lkIF9fZXhpdCBleGl0X2RhenVrb2ZzX2ZzKHZvaWQKIAl1bnJlZ2lzdGVyX2ZpbGVz eXN0ZW0oJmRhenVrb2ZzX2ZzX3R5cGUpOwogCWRlc3Ryb3lfY2FjaGVzKCk7CiAJZGF6dWtv ZnNfZGV2X2Rlc3Ryb3koKTsKLQlwcmludGsoS0VSTl9JTkZPICJkYXp1a29mczogdW5sb2Fk ZWQsIHZlcnNpb249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lO Rk8gImRhenVrb2ZzOiB1bmxvYWRlZCwgdmVyc2lvbj0iIERBWlVLT0ZTX1ZFUlNJT04gIlxu Iik7CiB9CiAKIE1PRFVMRV9BVVRIT1IoIkpvaG4gT2duZXNzIik7Cg== --------------080504000605060906090201 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 --------------080504000605060906090201--