Re: PATCH: Arla CVS Current on Linux 2.6.24-2.6.32
Bo Brantén <[email protected]> Sat, 5 Jun 2010 11:32:13 +0200 (CEST)
| Newsgroups | gmane.comp.file-systems.arla.general |
|---|---|
| Message-ID | <[email protected]> |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---2098261369-1182767660-1275730333=:1097872 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable A small correction to the patch. Bo Brant=E9n ---2098261369-1182767660-1275730333=:1097872 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-cvs-Linux2 Content-Transfer-Encoding: BASE64 Content-ID: <[email protected]> Content-Description: Content-Disposition: attachment; filename=patch-arla-cvs-Linux2 ZGlmZiAtdXByTiBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3Mu YyBhcmxhLWN2cy1uZXcvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tzLmMNCi0t LSBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDA4LTAz LTA4IDIyOjM4OjE2LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtY3ZzLW5l dy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDEwLTA2LTAzIDIzOjMy OjA4LjIzMjYxMTM4MyArMDIwMA0KQEAgLTM0MCw2ICszNDAsMTAgQEAgbm5w ZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KICAgICB1 aWRfdCBzYXZldWlkOw0KICAgICBnaWRfdCBzYXZlZ2lkOw0KICAgICBpbnQg cmV0Ow0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJ T04oMiw2LDI5KQ0KKyAgICBjb25zdCBzdHJ1Y3QgY3JlZCAqb2xkX2NyZWQ7 DQorICAgIHN0cnVjdCBjcmVkICpvdmVycmlkZV9jcmVkOw0KKyNlbmRpZg0K IA0KICAgICBCVUdfT04oIW5ucGZzcCk7DQogICAgIEJVR19PTihmbGFncyAm IE9fQ1JFQVQgJiYgZmlsZSAhPSBOVUxMKTsNCkBAIC0zNjQsMTAgKzM2OCwy MSBAQCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2Rl DQogICAgIEJVR19PTighbm5wZnNwLT5jYWNoZWRpciB8fCAhbm5wZnNwLT5j YWNoZXJvb3QpOw0KICAgICANCiAgICAgLyogdXNlIHRoZSBuZnNkIHRyaWNr IHRvIGdpdmUgdXMgYWNjZXNzICovDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E RSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHNhdmV1aWQgPSBj dXJyZW50LT5mc3VpZDsNCiAgICAgc2F2ZWdpZCA9IGN1cnJlbnQtPmZzZ2lk Ow0KICAgICBjdXJyZW50LT5mc3VpZCA9IG5ucGZzcC0+dWlkOw0KICAgICBj dXJyZW50LT5mc2dpZCA9IG5ucGZzcC0+Z2lkOw0KKyNlbHNlDQorICAgIHNh dmV1aWQgPSBjdXJyZW50X2ZzdWlkKCk7DQorICAgIHNhdmVnaWQgPSBjdXJy ZW50X2ZzZ2lkKCk7DQorICAgIG92ZXJyaWRlX2NyZWQgPSBwcmVwYXJlX2Ny ZWRzKCk7DQorICAgIGlmICghb3ZlcnJpZGVfY3JlZCkNCisgICAgICAgIHJl dHVybiAtRU5PTUVNOw0KKyAgICBvdmVycmlkZV9jcmVkLT5mc3VpZCA9IG5u cGZzcC0+dWlkOw0KKyAgICBvdmVycmlkZV9jcmVkLT5mc2dpZCA9IG5ucGZz cC0+Z2lkOw0KKyAgICBvbGRfY3JlZCA9IG92ZXJyaWRlX2NyZWRzKG92ZXJy aWRlX2NyZWQpOw0KKyNlbmRpZg0KIA0KICAgICByZXQgPSB2ZnNfcGF0aF9s b29rdXAobm5wZnNwLT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJvb3QsDQog CQkJICBjYWNoZW5hbWUsDQpAQCAtNDAzLDEyICs0MTgsMjEgQEAgbm5wZnNf YmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KIAlpZiAoSVNf RVJSKGRlbnRyeSkpIHsNCiAJICAgIHJldCA9IFBUUl9FUlIoZGVudHJ5KTsN CiAJfSBlbHNlIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM X1ZFUlNJT04oMiw2LDI1KQ0KIAkgICAgcmV0ID0gdmZzX2NyZWF0ZShuZC5k ZW50cnktPmRfaW5vZGUsIGRlbnRyeSwgU19JUlVTUnxTX0lXVVNSLCAmbmQp Ow0KKyNlbHNlDQorCSAgICByZXQgPSB2ZnNfY3JlYXRlKG5kLnBhdGguZGVu dHJ5LT5kX2lub2RlLCBkZW50cnksIFNfSVJVU1J8U19JV1VTUiwgJm5kKTsN CisjZW5kaWYNCiAJICAgIGRwdXQoZGVudHJ5KTsNCiAJfQ0KIA0KKyNpZiBM SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQog CW11dGV4X3VubG9jaygmbmQuZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsN CiAJcGF0aF9yZWxlYXNlKCZuZCk7DQorI2Vsc2UNCisJbXV0ZXhfdW5sb2Nr KCZuZC5wYXRoLmRlbnRyeS0+ZF9pbm9kZS0+aV9tdXRleCk7DQorCXBhdGhf cHV0KCZuZC5wYXRoKTsNCisjZW5kaWYNCiANCiAJaWYgKHJldCkgew0KIAkg ICAgcHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBjcmVhdGUgZmFpbGVk OiAlZFxuIiwgY2FjaGVuYW1lLCAtcmV0KTsNCkBAIC00MjIsMTIgKzQ0Niwy MiBAQCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2Rl DQogCSAgICByZXQgPSBubnBmc19ibG9ja19leHRlbmQobm9kZSwgb2Zmc2V0 KTsNCiAJfQ0KICAgICB9IGVsc2Ugew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogCXN0cnVjdCBmaWxlICpm ID0gZGVudHJ5X29wZW4obmQuZGVudHJ5LCBuZC5tbnQsIGZsYWdzKTsNCisj ZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs MjkpDQorCXN0cnVjdCBmaWxlICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5k ZW50cnksIG5kLnBhdGgubW50LCBmbGFncyk7DQorI2Vsc2UNCisgICAgICAg IHN0cnVjdCBmaWxlICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnks IG5kLnBhdGgubW50LCBmbGFncywgY3VycmVudF9jcmVkKCkpOw0KKyNlbmRp Zg0KIAlpZiAoSVNfRVJSKGYpKSB7DQogCSAgICByZXQgPSBQVFJfRVJSKGYp Ow0KIAkgICAgcHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBvcGVuIGZh aWxlZDogJWRcbiIsIGNhY2hlbmFtZSwgLXJldCk7DQogCSAgICBubnBmc19k ZWJ1Z19vb3BzKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F TF9WRVJTSU9OKDIsNiwyNSkNCiAJICAgIHBhdGhfcmVsZWFzZSgmbmQpOw0K KyNlbHNlDQorCSAgICBwYXRoX3B1dCgmbmQucGF0aCk7DQorI2VuZGlmDQog CX0gZWxzZSB7DQogCSAgICAqZmlsZSA9IGY7DQogCX0NCkBAIC00MzYsOCAr NDcwLDEzIEBAIG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZzX25vZGUg Km5vZGUNCiAgICAgLyogcGF0aF9yZWxlYXNlKCkgaXMgdXN1YWxseSBoYW5k bGVkIG9uIGNsb3NlICovDQogDQogIG91dDoNCisjaWYgTElOVVhfVkVSU0lP Tl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgY3VycmVu dC0+ZnN1aWQgPSBzYXZldWlkOw0KICAgICBjdXJyZW50LT5mc2dpZCA9IHNh dmVnaWQ7DQorI2Vsc2UNCisgICAgcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsN CisgICAgcHV0X2NyZWQob3ZlcnJpZGVfY3JlZCk7DQorI2VuZGlmDQogDQog ICAgIHJldHVybiByZXQ7DQogfQ0KZGlmZiAtdXByTiBhcmxhLWN2cy9ubnBm cy9saW51eC9ubnBmc19pbm9kZW9wcy5jIGFybGEtY3ZzLW5ldy9ubnBmcy9s aW51eC9ubnBmc19pbm9kZW9wcy5jDQotLS0gYXJsYS1jdnMvbm5wZnMvbGlu dXgvbm5wZnNfaW5vZGVvcHMuYwkyMDA4LTAzLTA4IDIyOjQwOjEwLjAwMDAw MDAwMCArMDEwMA0KKysrIGFybGEtY3ZzLW5ldy9ubnBmcy9saW51eC9ubnBm c19pbm9kZW9wcy5jCTIwMTAtMDYtMDUgMTE6MTg6MDUuNTMyODkyMDYzICsw MjAwDQpAQCAtMTM4LDEyICsxMzgsMTQgQEAgbm5wZnNfcHJpbnRfcGF0aChz dHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQogICoNCiAgKi8NCiANCisjaWYgMA0K IHZvaWQNCiBubnBmc19wcmludF9sb2NrKGNoYXIgKnMsIHN0cnVjdCBzZW1h cGhvcmUgKnNlbSkNCiB7DQogICAgIE5OUEZTREVCKFhERUJMT0NLLCAoImxv Y2s6ICVzIHNlbTogJXAgY291bnQ6ICVkXG4iLA0KIAkJICAgICAgcywgc2Vt LCAoaW50KWF0b21pY19yZWFkKCZzZW0tPmNvdW50KSkpOw0KIH0NCisjZW5k aWYNCiANCiAvKg0KICAqDQpAQCAtMjQ0LDcgKzI0NiwxMSBAQCBubnBmc19s b29rdXAgKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgDQogDQogCW1zZy5o ZWFkZXIub3Bjb2RlID0gTk5QRlNfTVNHX0dFVE5PREU7DQogICAgICAgICAN CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIs NiwyOCkNCiAJbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNl DQorICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNl bmRpZg0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCW1z Zy5wYXJlbnRfaGFuZGxlID0gZC0+aGFuZGxlOw0KICAgICAgICAgDQpAQCAt MzE0LDcgKzMyMCwxMSBAQCBubnBmc19vcGVuX3ZhbGlkKHN0cnVjdCBpbm9k ZSAqdnAsIHVfaW50DQogICAgICAgew0KIAlzdHJ1Y3Qgbm5wZnNfbWVzc2Fn ZV9vcGVuIG1zZzsNCiAJbXNnLmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0df T1BFTjsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT SU9OKDIsNiwyOCkNCiAJbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0K KyNlbHNlDQorICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgp Ow0KKyNlbmRpZg0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7 DQogCW1zZy5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KIAltc2cudG9rZW5zID0g dG9rOw0KQEAgLTQyOSw3ICs0MzksMTEgQEAgbm5wZnNfZnN5bmNfaW50KHN0 cnVjdCBmaWxlICpmaWxlLCB1X2ludA0KIA0KIAltc2cuaGVhZGVyLm9wY29k ZSA9IE5OUEZTX01TR19QVVREQVRBOw0KIAltc2cuY3JlZC5wYWcgPSBubnBm c19nZXRfcGFnKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJO RUxfVkVSU0lPTigyLDYsMjgpDQogCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQt PnVpZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVu dF91aWQoKTsNCisjZW5kaWYNCiAJbXNnLmhhbmRsZSA9IHhuLT5oYW5kbGU7 DQogCW1zZy5mbGFnICAgPSBmbGFnOw0KIAltc2cub2Zmc2V0ID0gb2ZmOw0K QEAgLTUxNSw3ICs1MjksMTEgQEAgbm5wZnNfYXR0cl92YWxpZChzdHJ1Y3Qg aW5vZGUgKiB2cCwgdV9pbg0KICAgICAgICAgICAgIHN0cnVjdCBubnBmc19t ZXNzYWdlX2dldGF0dHIgbXNnOw0KIA0KICAgICAgICAgICAgIG1zZy5oZWFk ZXIub3Bjb2RlID0gTk5QRlNfTVNHX0dFVEFUVFI7DQorI2lmIExJTlVYX1ZF UlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgICAg ICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQor ICAgICAgICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVudF91aWQoKTsNCisj ZW5kaWYNCiAgICAgICAgICAgICBtc2cuY3JlZC5wYWcgPSBwYWc7DQogICAg ICAgICAgICAgbXNnLmhhbmRsZSA9IHhuLT5oYW5kbGU7DQogICAgICAgICAg ICAgZXJyb3IgPSBubnBmc19tZXNzYWdlX3JwYyhubnBmc3AsICZtc2cuaGVh ZGVyLCBzaXplb2YobXNnKSk7DQpAQCAtNTU1LDcgKzU3MywxMSBAQCBubnBm c19yaWdodHNfdmFsaWQoc3RydWN0IGlub2RlICogdnAsIG5uDQogICAgICAg ICAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfZ2V0YXR0ciBtc2c7DQogDQog ICAgICAgICAgICAgbXNnLmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0dfR0VU QVRUUjsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT SU9OKDIsNiwyOCkNCiAgICAgICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJy ZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgICAgICBtc2cuY3JlZC51aWQg PSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KICAgICAgICAgICAgIG1zZy5j cmVkLnBhZyA9IHBhZzsNCiAgICAgICAgICAgICBtc2cuaGFuZGxlID0geG4t PmhhbmRsZTsNCiAgICAgICAgICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2Vf cnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCkBAIC01 OTYsOCArNjE4LDEzIEBAIGNoZWNrX3JpZ2h0cyAobm5wZnNfcmlnaHRzIHJp Z2h0cywgaW50IG0NCiAgKiBXZSBkb24ndCBob2xkIGlfbXV0ZXguDQogICov DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O KDIsNiwyNykNCiBzdGF0aWMgaW50DQogbm5wZnNfcGVybWlzc2lvbihzdHJ1 Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSwgc3RydWN0IG5hbWVpZGF0YSAq bmQpDQorI2Vsc2UNCitzdGF0aWMgaW50DQorbm5wZnNfcGVybWlzc2lvbihz dHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSkNCisjZW5kaWYNCiB7DQog ICAgIGludCBlcnJvciA9IDA7DQogICAgIG5ucGZzX3BhZ190IHBhZyA9IG5u cGZzX2dldF9wYWcoKTsNCkBAIC02NDAsNyArNjY3LDExIEBAIG5ucGZzX2Rv X2dldGRhdGEoc3RydWN0IG5ucGZzX25vZGUgKnhuLCANCiAgICAgaW50IGVy cm9yOw0KIA0KICAgICBtc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19H RVREQVRBOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZF UlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50LT51 aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3VycmVudF91aWQo KTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3Bh ZygpOw0KICAgICBtc2cuaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgbXNn LnRva2VucyA9IHRvazsNCkBAIC05MDcsOSArOTM4LDE3IEBAIG5ucGZzX2Ny ZWF0ZShzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGQNCiAgICAgWEFfQ0xF QVIoJm1zZy5hdHRyKTsNCiAgICAgWEFfU0VUX01PREUoJm1zZy5hdHRyLCBt b2RlKTsNCiAgICAgWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxF X1JFRyk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS U0lPTigyLDYsMjgpDQogICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJy ZW50LT5mc2dpZCk7DQorI2Vsc2UNCisgICAgWEFfU0VUX0dJRCgmbXNnLmF0 dHIsIGN1cnJlbnRfZnNnaWQoKSk7DQorI2VuZGlmDQogICAgIG1zZy5tb2Rl ID0gMDsJCS8qIFhYWCAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0g S0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBj dXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3Vy cmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5w ZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBj KG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYg KGVycm9yID09IDApDQpAQCAtOTUwLDcgKzk4OSwxMSBAQCBubnBmc191bmxp bmsgKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0DQogICAgIGlmIChzdHJs Y3B5KG1zZy5uYW1lLCBkZW50cnktPmRfbmFtZS5uYW1lLCBzaXplb2YobXNn Lm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1FTkFNRVRP T0xPTkc7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf VkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQt PnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3Vp ZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRf cGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNw LCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3Ig PT0gMCkNCkBAIC05OTUsNyArMTAzOCwxMSBAQCBubnBmc19yZW5hbWUgKHN0 cnVjdCBpbm9kZSAqIG9sZF9kaXIsIHN0DQogICAgIGlmIChzdHJsY3B5KG1z Zy5uZXdfbmFtZSwgbmV3X2RlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZiht c2cubmV3X25hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1F TkFNRVRPT0xPTkc7DQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0g S0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBj dXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3Vy cmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5w ZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBj KG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYg KGVycm9yID09IDApDQpAQCAtMTA0NCw5ICsxMDkxLDE3IEBAIG5ucGZzX21r ZGlyKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0IGQNCiAJWEFfQ0xFQVIo Jm1zZy5hdHRyKTsNCiAJWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2RlKTsN CiAJWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX0RJUik7DQor I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYs MjgpDQogCVhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50LT5mc2dpZCk7 DQorI2Vsc2UNCisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJy ZW50X2ZzZ2lkKCkpOw0KKyNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O X0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAltc2cuY3JlZC51 aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy5jcmVk LnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBh ZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAJZXJyb3IgPSBubnBmc19tZXNzYWdl X3JwYyhubnBmc3AsICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7DQogCWlm IChlcnJvciA9PSAwKQ0KQEAgLTEwODcsNyArMTE0MiwxMSBAQCBubnBmc19y bWRpcihzdHJ1Y3QgaW5vZGUgKiBkaXIsIHN0cnVjdCBkDQogICAgIG1zZy5w YXJlbnRfaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgaWYgKHN0cmxjcHko bXNnLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZihtc2cubmFt ZSkpID49IE5OUEZTX01BWF9OQU1FKQ0KIAkgICAgcmV0dXJuIC1FTkFNRVRP T0xPTkc7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS U0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVp ZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgp Ow0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFn KCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAm bXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3IgPT0g MCkNCkBAIC0xMTMyLDcgKzExOTEsMTEgQEAgc3RhdGljIGludCBubnBmc19s aW5rKHN0cnVjdCBkZW50cnkgKm9sZA0KIAlpZiAoc3RybGNweShtc2cubmFt ZSwgbmFtZSwgc2l6ZW9mKG1zZy5uYW1lKSkgPj0gTk5QRlNfTUFYX05BTUUp DQogCSAgICByZXR1cm4gLUVOQU1FVE9PTE9ORzsNCiANCisjaWYgTElOVVhf VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJbXNn LmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBt c2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAltc2cu Y3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCWVycm9yID0gbm5wZnNf bWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykp Ow0KIAlpZiAoZXJyb3IgPT0gMCkNCkBAIC0xMTYxLDI5ICsxMjI0LDQ3IEBA IHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmQNCiAg ICAgeG4gPSBWTk9ERV9UT19YTk9ERShkaXIpOw0KIA0KICAgICB7DQotCXN0 cnVjdCBubnBmc19tZXNzYWdlX3N5bWxpbmsgbXNnOw0KKwlzdHJ1Y3Qgbm5w ZnNfbWVzc2FnZV9zeW1saW5rICptc2cgPSBOVUxMOw0KIA0KLQltc2cuaGVh ZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KLQltc2cucGFyZW50 X2hhbmRsZSA9IHhuLT5oYW5kbGU7DQotCWlmIChzdHJsY3B5KG1zZy5uYW1l LCBuYW1lLCBzaXplb2YobXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkN Ci0JICAgIHJldHVybiAtRU5BTUVUT09MT05HOw0KLQlpZiAoc3RybGNweSht c2cuY29udGVudHMsIHN5bW5hbWUsIHNpemVvZihtc2cuY29udGVudHMpKSA+ PSBOTlBGU19NQVhfU1lNTElOS19DT05URU5UKQ0KLQkgICAgcmV0dXJuIC1F TkFNRVRPT0xPTkc7DQotCVhBX0NMRUFSKCZtc2cuYXR0cik7DQotCVhBX1NF VF9NT0RFKCZtc2cuYXR0ciwgMDc3Nyk7DQotCVhBX1NFVF9UWVBFKCZtc2cu YXR0ciwgTk5QRlNfRklMRV9MTkspOw0KLQlYQV9TRVRfR0lEKCZtc2cuYXR0 ciwgY3VycmVudC0+ZnNnaWQpOw0KKwltc2cgPSBrbWFsbG9jKHNpemVvZihz dHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rKSwgR0ZQX0tFUk5FTCk7DQog DQotCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCi0JbXNnLmNyZWQu cGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KLQllcnJvciA9IG5ucGZzX21lc3Nh Z2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCisJ aWYgKCFtc2cpDQorCSAgcmV0dXJuIC1FTk9NRU07DQorDQorCW1zZy0+aGVh ZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KKwltc2ctPnBhcmVu dF9oYW5kbGUgPSB4bi0+aGFuZGxlOw0KKwlpZiAoc3RybGNweShtc2ctPm5h bWUsIG5hbWUsIHNpemVvZihtc2ctPm5hbWUpKSA+PSBOTlBGU19NQVhfTkFN RSkgew0KKwkgIGtmcmVlKG1zZyk7DQorCSAgcmV0dXJuIC1FTkFNRVRPT0xP Tkc7DQorCX0NCisJaWYgKHN0cmxjcHkobXNnLT5jb250ZW50cywgc3ltbmFt ZSwgc2l6ZW9mKG1zZy0+Y29udGVudHMpKSA+PSBOTlBGU19NQVhfU1lNTElO S19DT05URU5UKSB7DQorCSAga2ZyZWUobXNnKTsNCisJICByZXR1cm4gLUVO QU1FVE9PTE9ORzsNCisJfQ0KKwlYQV9DTEVBUigmbXNnLT5hdHRyKTsNCisJ WEFfU0VUX01PREUoJm1zZy0+YXR0ciwgMDc3Nyk7DQorCVhBX1NFVF9UWVBF KCZtc2ctPmF0dHIsIE5OUEZTX0ZJTEVfTE5LKTsNCisjaWYgTElOVVhfVkVS U0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJWEFfU0VU X0dJRCgmbXNnLT5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UNCisg ICAgICAgIFhBX1NFVF9HSUQoJm1zZy0+YXR0ciwgY3VycmVudF9mc2dpZCgp KTsNCisjZW5kaWYNCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtF Uk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJbXNnLT5jcmVkLnVpZCA9IGN1cnJl bnQtPnVpZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLT5jcmVkLnVpZCA9IGN1 cnJlbnRfdWlkKCk7DQorI2VuZGlmDQorCW1zZy0+Y3JlZC5wYWcgPSBubnBm c19nZXRfcGFnKCk7DQorCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5w ZnNwLCAmbXNnLT5oZWFkZXIsIHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVzc2Fn ZV9zeW1saW5rKSk7DQogCWlmIChlcnJvciA9PSAwKQ0KLQkgICAgZXJyb3Ig PSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKCZtc2cpOw0KKwkgICAgZXJyb3Ig PSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKG1zZyk7DQogDQogCS8qIFhYWCBz aG91bGQgdGhpcyByZWFsbHkgYmUgaGVyZSAqLw0KIAlpZiAoREVOVFJZX1RP X1hERU5UUlkoZGVudHJ5KS0+eGRfZmxhZ3MgPT0gMCkgew0KIAkgICAgcHJp bnRrKEtFUk5fRU1FUkcgIk5OUEZTIFBhbmljOiBubnBmc19zeW1saW5rOiBk ZW50cnkgbm90IHZhbGlkXG4iKTsNCiAJfQ0KKwlrZnJlZShtc2cpOw0KICAg ICB9DQogDQogICAgIHJldHVybiBlcnJvcjsNCkBAIC0xNDAyLDcgKzE0ODMs MTEgQEAgbm5wZnNfc2V0YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBz dA0KICAgICAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfcHV0YXR0ciBtc2c7 DQogDQogICAgICAgICBtc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19Q VVRBVFRSOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZF UlNJT04oMiw2LDI4KQ0KIAltc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7 DQorI2Vsc2UNCisgICAgICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnRfdWlk KCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBhZyA9IG5ucGZzX2dldF9wYWco KTsNCiAgICAgICAgIG1zZy5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KICAgICAg ICAgbm5wZnNfaWF0dHIyYXR0cih4biwgYXR0ciwgJm1zZy5hdHRyKTsNCkBA IC0xNjcyLDExICsxNzU3LDE1IEBAIG5ucGZzX3dyaXRlX2JhY2twYWdlKHN0 cnVjdCBwYWdlICpwYWdlLCANCiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1h cHBpbmcgPSBiYWNrZmlsZS0+Zl9tYXBwaW5nOw0KIAl1bnNpZ25lZCBsZW4g PSBQQUdFX0NBQ0hFX1NJWkU7DQogCXN0cnVjdCBwYWdlICpiYWNrcGFnZTsN CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIs NiwyNCkNCisJdm9pZCAqZnNkYXRhOw0KKyNlbmRpZg0KIAl1bnNpZ25lZCBs b25nIG9mZnNldDsNCiANCiAJaW50IGVycm9yOw0KIAkNCiAJZG8gew0KKyNp ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQp DQogCQliYWNrcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBubnBm c19nZXRfYmFja2luZGV4KHBhZ2UpKTsNCiAJCWlmICghYmFja3BhZ2UpIHsN CiAJCQlwcmludGsoIm5ucGZzX3dyaXRlX2JhY2twYWdlOiBubyBwYWdlXG4i KTsNCkBAIC0xNjg1LDIxICsxNzc0LDM2IEBAIG5ucGZzX3dyaXRlX2JhY2tw YWdlKHN0cnVjdCBwYWdlICpwYWdlLCANCiANCiAJCWVycm9yID0gbWFwcGlu Zy0+YV9vcHMtPnByZXBhcmVfd3JpdGUoYmFja2ZpbGUsIGJhY2twYWdlLA0K IAkJCQkJCSAgICAgIDAsIGxlbik7DQorI2Vsc2UNCisJCWVycm9yID0gcGFn ZWNhY2hlX3dyaXRlX2JlZ2luKGJhY2tmaWxlLCBtYXBwaW5nLCAwLCBsZW4s DQorCQkJCUFPUF9GTEFHX1VOSU5URVJSVVBUSUJMRSwgJmJhY2twYWdlLCAm ZnNkYXRhKTsNCisjZW5kaWYNCiAJCWlmICghZXJyb3IpIHsNCiAJCQljb3B5 X2hpZ2hwYWdlKGJhY2twYWdlLCBwYWdlKTsNCiAJCQlmbHVzaF9kY2FjaGVf cGFnZShiYWNrcGFnZSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF Uk5FTF9WRVJTSU9OKDIsNiwyNCkNCiAJCQllcnJvciA9IG1hcHBpbmctPmFf b3BzLT5jb21taXRfd3JpdGUoYmFja2ZpbGUsIGJhY2twYWdlLA0KIAkJCQkJ CQkgICAgIDAsIGxlbik7DQorI2Vsc2UNCisJCQllcnJvciA9IHBhZ2VjYWNo ZV93cml0ZV9lbmQoYmFja2ZpbGUsIG1hcHBpbmcsIDAsIGxlbiwNCisJCQkJ CWxlbiwgYmFja3BhZ2UsIGZzZGF0YSk7DQorCQkJaWYgKGVycm9yID4gMCkN CisJCQkJZXJyb3IgPSAwOw0KKyNlbmRpZg0KIAkJfQ0KIAkJaWYgKGVycm9y ID09IEFPUF9UUlVOQ0FURURfUEFHRSkgew0KKyNpZiBMSU5VWF9WRVJTSU9O X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogCQkJcGFnZV9jYWNo ZV9yZWxlYXNlKGJhY2twYWdlKTsNCisjZW5kaWYNCiAJCQljb250aW51ZTsN CiAJCX0NCiAJfSB3aGlsZSAoMCk7DQogDQogCW9mZnNldCA9IHBhZ2Vfb2Zm c2V0KGJhY2twYWdlKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS TkVMX1ZFUlNJT04oMiw2LDI0KQ0KIAl1bmxvY2tfcGFnZShiYWNrcGFnZSk7 DQogCXBhZ2VfY2FjaGVfcmVsZWFzZShiYWNrcGFnZSk7DQorI2VuZGlmDQog DQogCWlmIChlcnJvcikNCiAJCXByaW50aygibm5wZnNfd3JpdGVfYmFja3Bh Z2U6IEVJT1xuIik7DQpAQCAtMTkwNSw2ICsyMDA5LDM0IEBAIG5ucGZzX3By ZXBhcmVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIHMNCiAJcmV0dXJuIHJl dDsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxf VkVSU0lPTigyLDYsMjgpDQorDQorc3RhdGljIGludA0KK25ucGZzX3dyaXRl X2JlZ2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqbWFwcGluZywgbG9mZl90IHBvcywNCit1bnNpZ25lZCBsZW4sIHVuc2ln bmVkIGZsYWdzLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VwLCB2b2lkICoqZnNkYXRh KQ0KK3sNCisJc3RydWN0IHBhZ2UgKnBhZ2U7DQorCXBnb2ZmX3QgaW5kZXg7 DQorCXVuc2lnbmVkIGZyb207DQorDQorCWluZGV4ID0gcG9zID4+IFBBR0Vf Q0FDSEVfU0hJRlQ7DQorCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpF IC0gMSk7DQorDQorI2lmbmRlZiBBT1BfRkxBR19OT0ZTDQorCXBhZ2UgPSBf X2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7DQorI2Vsc2UNCisJ cGFnZSA9IGdyYWJfY2FjaGVfcGFnZV93cml0ZV9iZWdpbihtYXBwaW5nLCBp bmRleCwgZmxhZ3MpOw0KKyNlbmRpZg0KKwlpZiAoIXBhZ2UpDQorCQlyZXR1 cm4gLUVOT01FTTsNCisNCisJKnBhZ2VwID0gcGFnZTsNCisNCisJcmV0dXJu IG5ucGZzX3ByZXBhcmVfd3JpdGUoZmlsZSwgcGFnZSwgZnJvbSwgZnJvbSts ZW4pOw0KK30NCisNCisjZW5kaWYNCisNCiBzdGF0aWMgaW50DQogbm5wZnNf Y29tbWl0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFnZSAq cGFnZSwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8pDQogew0KQEAgLTE5 MzUsMTQgKzIwNjcsNDUgQEAgbm5wZnNfY29tbWl0X3dyaXRlKHN0cnVjdCBm aWxlICpmaWxlLCBzdA0KICAgICByZXR1cm4gMDsNCiB9DQogDQorI2lmIExJ TlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQor DQorc3RhdGljIGludA0KK25ucGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAq ZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBw b3MsDQordW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBw YWdlICpwYWdlLCB2b2lkICpmc2RhdGEpDQorew0KKwl1bnNpZ25lZCBmcm9t ID0gcG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOw0KKw0KKwkvKiB6ZXJv IHRoZSBzdGFsZSBwYXJ0IG9mIHRoZSBwYWdlIGlmIHdlIGRpZCBhIHNob3J0 IGNvcHkgKi8NCisJaWYgKGNvcGllZCA8IGxlbikgew0KKwkJdm9pZCAqa2Fk ZHIgPSBrbWFwX2F0b21pYyhwYWdlLCBLTV9VU0VSMCk7DQorCQltZW1zZXQo a2FkZHIgKyBmcm9tICsgY29waWVkLCAwLCBsZW4gLSBjb3BpZWQpOw0KKwkJ Zmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7DQorCQlrdW5tYXBfYXRvbWljKGth ZGRyLCBLTV9VU0VSMCk7DQorCX0NCisNCisJbm5wZnNfY29tbWl0X3dyaXRl KGZpbGUsIHBhZ2UsIGZyb20sIGZyb20rY29waWVkKTsNCisNCisJdW5sb2Nr X3BhZ2UocGFnZSk7DQorCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsNCisN CisJcmV0dXJuIGNvcGllZDsNCit9DQorDQorI2VuZGlmDQorDQogI2lmIExJ TlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMTgpDQog Y29uc3QNCiAjZW5kaWYNCiBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRp b25zIG5ucGZzX2FvcHMgPSB7DQogCS5yZWFkcGFnZSA9IG5ucGZzX3JlYWRw YWdlLA0KIAkud3JpdGVwYWdlID0gbm5wZnNfd3JpdGVwYWdlLA0KKyNpZiBM SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQog CS5wcmVwYXJlX3dyaXRlID0gbm5wZnNfcHJlcGFyZV93cml0ZSwNCiAJLmNv bW1pdF93cml0ZSA9IG5ucGZzX2NvbW1pdF93cml0ZSwNCisjZWxzZQ0KKwku d3JpdGVfYmVnaW4gPSBubnBmc193cml0ZV9iZWdpbiwNCisJLndyaXRlX2Vu ZCA9IG5ucGZzX3dyaXRlX2VuZCwNCisjZW5kaWYNCiB9Ow0KIA0KIC8qDQpk aWZmIC11cHJOIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2Uu YyBhcmxhLWN2cy1uZXcvbm5wZnMvbGludXgvbm5wZnNfbWVzc2FnZS5jDQot LS0gYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfbWVzc2FnZS5jCTIwMDYt MTItMTEgMTc6NDA6MjQuMDAwMDAwMDAwICswMTAwDQorKysgYXJsYS1jdnMt bmV3L25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDEwLTA2LTAzIDIz OjMyOjA4LjIzMjYxMTM4MyArMDIwMA0KQEAgLTczNSwxMiArNzM1LDIzIEBA IG5ucGZzX21lc3NhZ2VfdmVyc2lvbihzdHJ1Y3Qgbm5wZnMgKm5ucGYNCiAJ CSAgICJubnBmc19tZXNzYWdlX3ZlcnNpb24gZmFpbGVkIHBhdGhfbG9va3Vw LCAiDQogCQkgICAiZXJybm86ICVkXG4iLCBlcnJvcik7DQogCX0gZWxzZSB7 DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs NiwyNSkNCiAJICAgIG5ucGZzcC0+Y2FjaGVyb290ID0gbW50Z2V0KG5kLm1u dCk7DQogCSAgICBubnBmc3AtPmNhY2hlZGlyID0gZGdldChuZC5kZW50cnkp Ow0KIAkgICAgcGF0aF9yZWxlYXNlKCZuZCk7DQorI2Vsc2UNCisJICAgIG5u cGZzcC0+Y2FjaGVyb290ID0gbW50Z2V0KG5kLnBhdGgubW50KTsNCisJICAg IG5ucGZzcC0+Y2FjaGVkaXIgPSBkZ2V0KG5kLnBhdGguZGVudHJ5KTsNCisJ ICAgIHBhdGhfcHV0KCZuZC5wYXRoKTsNCisjZW5kaWYNCiAJICAgIA0KKyNp ZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4 KQ0KIAkgICAgbm5wZnNwLT51aWQgPSBjdXJyZW50LT5mc3VpZDsNCiAJICAg IG5ucGZzcC0+Z2lkID0gY3VycmVudC0+ZnNnaWQ7DQorI2Vsc2UNCisgICAg ICAgICAgICBubnBmc3AtPnVpZCA9IGN1cnJlbnRfZnN1aWQoKTsNCisgICAg ICAgICAgICBubnBmc3AtPmdpZCA9IGN1cnJlbnRfZnNnaWQoKTsNCisjZW5k aWYNCiANCiAJICAgIC8qIFhYWCB3ZSBzaG91bGQgdmFsaWRhdGUgdGhlc2Ug dmFsdWVzICovDQogCSAgICBubnBmc19ibG9ja3NpemUgPSBibG9ja3NpemU7 DQpkaWZmIC11cHJOIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX3N5c2Nh bGxzLmMgYXJsYS1jdnMtbmV3L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxz LmMNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5j CTIwMDctMDEtMDMgMTU6MjY6MjcuMDAwMDAwMDAwICswMTAwDQorKysgYXJs YS1jdnMtbmV3L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAxMC0w Ni0wNCAwMToxOToyMi44MzI2MDk0MzcgKzAyMDANCkBAIC0xNDcsMTAgKzE0 NywxNiBAQCBzdGF0aWMgaW50IG5ucGZzX3NlY19yZWdpc3RlcmVkID0gMDsN CiAjZGVmaW5lIFNFQzJQQUcocykgKG5ucGZzX3BhZ190KSh1bnNpZ25lZCBs b25nKShzKQ0KICNkZWZpbmUgUEFHMlNFQyhwKSAodm9pZCAqKSh1bnNpZ25l ZCBsb25nKShwKQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO RUxfVkVSU0lPTigyLDYsMjQpDQorDQogc3RhdGljIGludA0KIG5ucGZzX3Nl Y190YXNrX2FsbG9jKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkNCiB7DQorI2lm IExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgp DQogICAgIG5ucGZzX3BhZ190IHBhZyA9IFNFQzJQQUcoY3VycmVudC0+c2Vj dXJpdHkpOw0KKyNlbHNlDQorICAgIG5ucGZzX3BhZ190IHBhZyA9IFNFQzJQ QUcoY3VycmVudF9zZWN1cml0eSgpKTsNCisjZW5kaWYNCiAgICAgaWYgKHBh ZykNCiAJcC0+c2VjdXJpdHkgPSBQQUcyU0VDKHBhZyk7DQogICAgIHJldHVy biAwOw0KQEAgLTE2NCwzNSArMTcwLDU1IEBAIG5ucGZzX3NlY190YXNrX2Zy ZWUoc3RydWN0IHRhc2tfc3RydWN0ICoNCiAJcC0+c2VjdXJpdHkgPSBOVUxM Ow0KIH0NCiANCisjZW5kaWYNCisNCiBzdGF0aWMgbm5wZnNfcGFnX3QNCiBu bnBmc19nZXRfcGFnX3NlYyh2b2lkKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lP Tl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgbm5wZnNf cGFnX3QgcGFnID0gU0VDMlBBRyhjdXJyZW50LT5zZWN1cml0eSk7DQorI2Vs c2UNCisgICAgbm5wZnNfcGFnX3QgcGFnID0gU0VDMlBBRyhjdXJyZW50X3Nl Y3VyaXR5KCkpOw0KKyNlbmRpZg0KICAgICBpZiAocGFnKQ0KIAlyZXR1cm4g cGFnOw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZF UlNJT04oMiw2LDI4KQ0KICAgICByZXR1cm4gY3VycmVudC0+dWlkOw0KKyNl bHNlDQorICAgIHJldHVybiBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIH0N CiANCiBzdGF0aWMgaW50DQogbm5wZnNfc2V0X3BhZ19zZWModm9pZCkNCiB7 DQogICAgIHN0YXRpYyBubnBmc19wYWdfdCBwYWdudW0gPSBOTlBGU19QQUdf TExJTTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJT SU9OKDIsNiwyOSkNCisgICAgc3RydWN0IGNyZWQgKmNyZWQ7DQorI2VuZGlm DQogDQogICAgIGlmIChwYWdudW0gPT0gTk5QRlNfUEFHX1VMSU0pDQogCXJl dHVybiAtRU5PTUVNOw0KICAgICAvKiBwYWdudW0gPSBOTlBGU19QQUdfTExJ TTsgKi8NCiAgICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJO RUxfVkVSU0lPTigyLDYsMjgpDQogICAgIGN1cnJlbnQtPnNlY3VyaXR5ID0g UEFHMlNFQyhwYWdudW0pOw0KKyNlbHNlDQorICAgIGNyZWQgPSAoc3RydWN0 IGNyZWQgKikgY3VycmVudC0+Y3JlZDsNCisgICAgY3JlZC0+c2VjdXJpdHkg PSBQQUcyU0VDKHBhZ251bSk7DQorI2VuZGlmDQogICAgIHBhZ251bSsrOw0K ICAgICByZXR1cm4gMDsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkNCiBzdGF0aWMgc3RydWN0IHNl Y3VyaXR5X29wZXJhdGlvbnMgbm5wZnNfc2VjX29wcyA9IHsNCiAgICAgLnRh c2tfYWxsb2Nfc2VjdXJpdHkgPSBubnBmc19zZWNfdGFza19hbGxvYywNCiAg ICAgLnRhc2tfZnJlZV9zZWN1cml0eSA9IG5ucGZzX3NlY190YXNrX2ZyZWUs DQogLy8gICAgLnRhc2tfcmVwYXJlbnRfdG9faW5pdCA9IG5ucGZzX3NlY19y ZXBhcmVudF90b19pbml0LA0KIH07DQorI2VuZGlmDQogDQogI2VuZGlmIC8q IENPTkZJR19TRUNVUklUWSAqLw0KIA0KQEAgLTIyMiw4ICsyNDgsMTMgQEAg ZmluZF9wYWcoc3RydWN0IGdyb3VwX2luZm8gKmdpKQ0KIHN0YXRpYyBubnBm c19wYWdfdA0KIG5ucGZzX2dldF9wYWdfZ3JvdXAodm9pZCkNCiB7DQorI2lm IExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgp DQogICAgIHN0cnVjdCBncm91cF9pbmZvICpnaSA9IGN1cnJlbnQtPmdyb3Vw X2luZm87DQogICAgIG5ucGZzX3BhZ190IHJldCA9IGN1cnJlbnQtPnVpZDsN CisjZWxzZQ0KKyAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ2kgPSBnZXRfY3Vy cmVudF9ncm91cHMoKTsNCisgICAgbm5wZnNfcGFnX3QgcmV0ID0gY3VycmVu dF91aWQoKTsNCisjZW5kaWYNCiAgICAgaW50IGk7DQogDQogICAgIGdldF9n cm91cF9pbmZvKGdpKTsNCkBAIC0yNDIsOSArMjczLDE3IEBAIG5ucGZzX2dl dF9wYWdfZ3JvdXAodm9pZCkNCiBzdGF0aWMgaW50DQogc3RvcmVfcGFnKG5u cGZzX3BhZ190IHBhZ251bSkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E RSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHN0cnVjdCBncm91 cF9pbmZvICpvbGRfZ2kgPSBjdXJyZW50LT5ncm91cF9pbmZvOw0KKyNlbHNl DQorICAgc3RydWN0IGdyb3VwX2luZm8gKm9sZF9naSA9IGdldF9jdXJyZW50 X2dyb3VwcygpOw0KKyNlbmRpZg0KICAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAq bmV3X2dpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS U0lPTigyLDYsMjUpDQogICAgIGludCBuYmxvY2tzLCBjb3VudDsNCisjZWxz ZQ0KKyAgICB1bnNpZ25lZCBpbnQgbmJsb2NrcywgY291bnQ7DQorI2VuZGlm DQogICAgIGludCBmb3VuZCA9IDA7DQogICAgIGludCBpLCBrOw0KICAgICAN CkBAIC0zMTcsNyArMzU2LDExIEBAIG5ucGZzX2dldF9wYWcoKQ0KICAgICBy ZXR1cm4gbm5wZnNfZ2V0X3BhZ19ncm91cCgpOw0KICNlbmRpZiAvKiBHUk9V UFBBR1MgKi8NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5F TF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgcmV0dXJuIGN1cnJlbnQtPnVpZDsN CisjZWxzZQ0KKyAgICByZXR1cm4gY3VycmVudF91aWQoKTsNCisjZW5kaWYN CiB9DQogDQogc3RhdGljIGlubGluZSBpbnQNCkBAIC01MjgsNyArNTcxLDEx IEBAIHVzZXJfcGF0aDJkZW50cnkgKHN0cnVjdCBuYW1laWRhdGEgKm5kLCAN CiAgICAgcHV0bmFtZShrbmFtZSk7DQogICAgIGlmIChlcnJvcikNCiAJcmV0 dXJuIEVSUl9QVFIoZXJyb3IpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg PCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogICAgIHJldHVybiBuZC0+ZGVu dHJ5Ow0KKyNlbHNlDQorICAgIHJldHVybiBuZC0+cGF0aC5kZW50cnk7DQor I2VuZGlmDQogfQ0KIA0KIGFzbWxpbmthZ2UgbG9uZw0KQEAgLTU0MCwxMSAr NTg3LDE2IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIHsNCiAg ICAgbG9uZyBlcnJvciA9IDA7DQogICAgIHN0cnVjdCBhcmxhVmljZUlvY3Rs IHZpY2VfaW9jdGw7IA0KLSAgICBzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9j dGwgbXNnOw0KKyAgICBzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwgKm1z ZyA9IE5VTEw7DQogICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX3dha2V1cCAq bXNnMjsNCiAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5ID0gTlVMTDsNCiAg ICAgc3RydWN0IG5hbWVpZGF0YSBuZDsNCi0gICAgDQorDQorICAgIG1zZyA9 IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBubnBmc19tZXNzYWdlX3Bpb2N0bCks IEdGUF9LRVJORUwpOw0KKw0KKyAgICBpZiAoIW1zZykNCisgICAgICByZXR1 cm4gLUVOT01FTTsNCisNCiAgICAgbG9ja19rZXJuZWwoKTsNCiANCiAgICAg Tk5QRlNERUIoWERFQlNZUywgKCJzeXNfYWZzIGtlcm5lbCBsb2NrZWRcbiIp KTsNCkBAIC01NzUsNyArNjI3LDcgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVy YXRpb24sDQogCSAgICBnb3RvIHVubG9jazsNCiAJfQ0KIAlpZiAodmljZV9p b2N0bC5pbl9zaXplICE9IDApIHsNCi0JICAgIGlmKGNvcHlfZnJvbV91c2Vy KCZtc2cubXNnLA0KKwkgICAgaWYoY29weV9mcm9tX3VzZXIoJm1zZy0+bXNn LA0KIAkJCSAgICAgIHZpY2VfaW9jdGwuaW4sDQogCQkJICAgICAgdmljZV9p b2N0bC5pbl9zaXplKSAhPSAwKSB7DQogCQllcnJvciA9IC1FRkFVTFQ7DQpA QCAtNjI4LDE5ICs2ODAsMjMgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRp b24sDQogCQllcnJvciA9IC1FSU5WQUw7DQogCQlnb3RvIHVubG9jazsNCiAJ ICAgIH0NCi0JICAgIG1zZy5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KKwkgICAg bXNnLT5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KIAl9DQogDQotCW1zZy5oZWFk ZXIub3Bjb2RlID0gTk5QRlNfTVNHX1BJT0NUTDsNCi0JbXNnLm9wY29kZSA9 IGFfb3Bjb2RlOw0KKwltc2ctPmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0df UElPQ1RMOw0KKwltc2ctPm9wY29kZSA9IGFfb3Bjb2RlOw0KIAkNCi0JbXNn Lmluc2l6ZSAgID0gdmljZV9pb2N0bC5pbl9zaXplOw0KLQltc2cub3V0c2l6 ZSAgPSB2aWNlX2lvY3RsLm91dF9zaXplOw0KLQltc2cuY3JlZC51aWQgPSBj dXJyZW50LT51aWQ7DQotCW1zZy5jcmVkLnBhZyA9IG5ucGZzX2dldF9wYWco KTsNCisJbXNnLT5pbnNpemUgICA9IHZpY2VfaW9jdGwuaW5fc2l6ZTsNCisJ bXNnLT5vdXRzaXplICA9IHZpY2VfaW9jdGwub3V0X3NpemU7DQorI2lmIExJ TlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQor CW1zZy0+Y3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAg ICAgIG1zZy0+Y3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0K Kwltc2ctPmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KIAkNCi0JZXJy b3IgPSBubnBmc19tZXNzYWdlX3JwYygmbm5wZnNbMF0sICZtc2cuaGVhZGVy LCBzaXplb2YobXNnKSk7IC8qIFhYWCAqLw0KLQltc2cyID0gKHN0cnVjdCBu bnBmc19tZXNzYWdlX3dha2V1cCAqKSAmbXNnOw0KKwllcnJvciA9IG5ucGZz X21lc3NhZ2VfcnBjKCZubnBmc1swXSwgJm1zZy0+aGVhZGVyLCBzaXplb2Yo c3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsKSk7IC8qIFhYWCAqLw0KKwlt c2cyID0gKHN0cnVjdCBubnBmc19tZXNzYWdlX3dha2V1cCAqKSBtc2c7DQog CWlmIChlcnJvciA9PSAwKQ0KIAkgICAgZXJyb3IgPSBtc2cyLT5lcnJvcjsN CiANCkBAIC02NzUsMTEgKzczMSwxNiBAQCBzeXNfYWZzX2ludCAoaW50IG9w ZXJhdGlvbiwNCiAgICAgDQogIHVubG9jazoNCiAgICAgaWYgKGRlbnRyeSkN CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2 LDI1KQ0KIAlwYXRoX3JlbGVhc2UoJm5kKTsNCisjZWxzZQ0KKwlwYXRoX3B1 dCgmbmQucGF0aCk7DQorI2VuZGlmDQogDQogICAgIE5OUEZTREVCKFhERUJT WVMsICgibm5wZnNfc3lzY2FsbCByZXR1cm5zIGVycm9yOiAlbGRcbiIsIGVy cm9yKSk7DQogDQogICAgIE5OUEZTREVCKFhERUJTWVMsICgic3lzX2FmcyBr ZXJuZWwgdW5sb2NrXG4iKSk7DQorICAgIGtmcmVlKG1zZyk7DQogICAgIHVu bG9ja19rZXJuZWwoKTsNCiANCiAgICAgcmV0dXJuIGVycm9yOw0KQEAgLTc4 MCwyMCArODQxLDMyIEBAIHN0YXRpYyBpbnQgbm5wZnNfaW5pdF9wcm9jZnMo dm9pZCkNCiB7DQogICAgIHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqZW50cnk7 DQogICAgIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS U0lPTigyLDYsMjYpDQogICAgIG5ucGZzX3Byb2Nmc19kaXIgPSBwcm9jX21r ZGlyKE5OUEZTX1BST0NfRElSLCBwcm9jX3Jvb3RfZnMpOw0KKyNlbHNlDQor ICAgIG5ucGZzX3Byb2Nmc19kaXIgPSBwcm9jX21rZGlyKCJmcy8iIE5OUEZT X1BST0NfRElSLCBOVUxMKTsNCisjZW5kaWYNCiAgICAgaWYgKG5ucGZzX3By b2Nmc19kaXIgPT0gTlVMTCkNCiAJcmV0dXJuIC1FTk9NRU07DQogICAgIA0K KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs MzApDQogICAgIG5ucGZzX3Byb2Nmc19kaXItPm93bmVyID0gVEhJU19NT0RV TEU7DQorI2VuZGlmDQogICAgIA0KICAgICBlbnRyeSA9IGNyZWF0ZV9wcm9j X2VudHJ5KE5OUEZTX1BST0NfTk9ERSwgMDY2Niwgbm5wZnNfcHJvY2ZzX2Rp cik7DQogICAgIGlmIChlbnRyeSA9PSBOVUxMKSB7DQogCU5OUEZTREVCKFhE RUJTWVMsICgibm5wZnNfaW5pdF9wcm9jZnM6IG5vIG5vZGVcbiIpKTsNCisj aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI2 KQ0KIAlyZW1vdmVfcHJvY19lbnRyeShOTlBGU19QUk9DX0RJUiwgcHJvY19y b290X2ZzKTsNCisjZWxzZQ0KKwlyZW1vdmVfcHJvY19lbnRyeSgiZnMvIiBO TlBGU19QUk9DX0RJUiwgTlVMTCk7DQorI2VuZGlmDQogCXJldHVybiAtRU5P TUVNOw0KICAgICB9DQogICAgIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg PCBLRVJORUxfVkVSU0lPTigyLDYsMzApDQogICAgIGVudHJ5LT5vd25lciA9 IFRISVNfTU9EVUxFOw0KKyNlbmRpZg0KICAgICBlbnRyeS0+cHJvY19mb3Bz ID0gJm5ucGZzX3Byb2Nmc19mb3BzOw0KIA0KICNpZmRlZiBTWVNDQUxMQ09N UEFUDQpAQCAtODE1LDcgKzg4OCwxMSBAQCBzdGF0aWMgdm9pZCBubnBmc19l eGl0X3Byb2Nmcyh2b2lkKQ0KICAgICB9DQogI2VuZGlmIC8qIFNZU0NBTExD T01QQVQgKi8NCiAgICAgcmVtb3ZlX3Byb2NfZW50cnkoTk5QRlNfUFJPQ19O T0RFLCBubnBmc19wcm9jZnNfZGlyKTsNCisjaWYgTElOVVhfVkVSU0lPTl9D T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI2KQ0KICAgICByZW1vdmVfcHJv Y19lbnRyeShOTlBGU19QUk9DX0RJUiwgcHJvY19yb290X2ZzKTsNCisjZWxz ZQ0KKyAgICByZW1vdmVfcHJvY19lbnRyeSgiZnMvIiBOTlBGU19QUk9DX0RJ UiwgTlVMTCk7DQorI2VuZGlmDQogfQ0KIA0KICNpZmRlZiBHUk9VUFBBR1MN CkBAIC04NDAsMTIgKzkxNywxNCBAQCB2b2lkDQogaW5zdGFsbF9hZnNfc3lz Y2FsbCh2b2lkKQ0KIHsNCiAjaWZkZWYgQ09ORklHX1NFQ1VSSVRZDQorI2lm IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkN CiAgICAgaWYgKHJlZ2lzdGVyX3NlY3VyaXR5KCZubnBmc19zZWNfb3BzKSkN CiAJTk5QRlNERUIoWERFQlNZUywNCiAJCSAoImluc3RhbGxfYWZzX3N5c2Nh bGw6IG5ucGZzX2luaXRfc2VjIGZhaWxlZFxuIikpOw0KICAgICBlbHNlDQog CW5ucGZzX3NlY19yZWdpc3RlcmVkID0gMTsNCiAjZW5kaWYNCisjZW5kaWYN CiANCiAgICAgbm5wZnNfaW5pdF9wcm9jZnMoKTsNCiANCkBAIC04ODgsOSAr OTY3LDExIEBAIHJlc3RvcmVfYWZzX3N5c2NhbGwgKHZvaWQpDQogI2VuZGlm IC8qIFNZU0NBTExIQUNLICovDQogDQogI2lmZGVmIENPTkZJR19TRUNVUklU WQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy LDYsMjQpDQogICAgIGlmIChubnBmc19zZWNfcmVnaXN0ZXJlZCkNCiAJaWYg KHVucmVnaXN0ZXJfc2VjdXJpdHkoJm5ucGZzX3NlY19vcHMpKQ0KIAkgICAg cHJpbnRrKEtFUk5fRU1FUkcgIm5ucGZzX2V4aXRfc2VjOiBjb3VsZG4ndCB1 bnJlZ2lzdGVyXG4iKTsNCisjZW5kaWYNCiAjZW5kaWYgLyogIUNPTkZJR19T RUNVUklUWSAqLw0KIA0KICNpZmRlZiBHUk9VUFBBR1MNCmRpZmYgLXVwck4g YXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5j IGFybGEtY3ZzLW5ldy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3Nz YWdlLmMNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxs cy1sb3NzYWdlLmMJMjAwNi0xMi0xMSAxNzozMTo0NS4wMDAwMDAwMDAgKzAx MDANCisrKyBhcmxhLWN2cy1uZXcvbm5wZnMvbGludXgvbm5wZnNfc3lzY2Fs bHMtbG9zc2FnZS5jCTIwMTAtMDYtMDMgMjM6MzI6MDguMjMyNjExMzgzICsw MjAwDQpAQCAtNjMsNiArNjMsMTEgQEAgY29uc3QgY2hhciAqIF9fYXR0cmli dXRlX18oKHdlYWspKQ0KIAkJICAgIHVuc2lnbmVkIGxvbmcgKm9mZnNldCwN CiAJCSAgICBjaGFyICoqbW9kbmFtZSwgY2hhciAqbmFtZWJ1Zik7DQogDQor I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiwx OCkNCisjaWZkZWYgX194ODZfNjRfXw0KK2V4dGVybiByd2xvY2tfdCB0YXNr bGlzdF9sb2NrIF9fYXR0cmlidXRlX18oKHdlYWspKTsNCisjZW5kaWYNCisj ZW5kaWYNCiBzdGF0aWMgdm9pZCAqKg0KIGdldF9zdGFydF9hZGRyKHZvaWQp IHsNCiAjaWZkZWYgX194ODZfNjRfXw0KZGlmZiAtdXByTiBhcmxhLWN2cy9u bnBmcy9saW51eC9ubnBmc192ZnNvcHMuYyBhcmxhLWN2cy1uZXcvbm5wZnMv bGludXgvbm5wZnNfdmZzb3BzLmMNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51 eC9ubnBmc192ZnNvcHMuYwkyMDA2LTEyLTExIDE3OjQzOjM1LjAwMDAwMDAw MCArMDEwMA0KKysrIGFybGEtY3ZzLW5ldy9ubnBmcy9saW51eC9ubnBmc192 ZnNvcHMuYwkyMDEwLTA2LTAzIDIzOjMyOjA4LjIzMjYxMTM4MyArMDIwMA0K QEAgLTQ5LDkgKzQ5LDEzIEBAIFJDU0lEKCIkSWQ6IG5ucGZzX3Zmc29wcy5j LHYgMS4xMDkgMjAwNi8NCiANCiBzdHJ1Y3Qgbm5wZnMgbm5wZnNbTk5OUEZT XTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ T04oMiw2LDI1KQ0KIHN0YXRpYyB2b2lkIG5ucGZzX3JlYWRfaW5vZGUoc3Ry dWN0IGlub2RlICppbm9kZSk7DQorI2VuZGlmDQogc3RhdGljIHZvaWQgbm5w ZnNfcHV0X3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOw0KKyNpZiBM SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQog c3RhdGljIHZvaWQgbm5wZnNfcHV0X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5v ZGUpOw0KKyNlbmRpZg0KIHN0YXRpYyB2b2lkIG5ucGZzX3dyaXRlX3N1cGVy KHN0cnVjdCBzdXBlcl9ibG9jayAqIHNiKTsNCiANCiAjaWYgTElOVVhfVkVS U0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwxOCkNCkBAIC02MSw4 ICs2NSwxMCBAQCBzdGF0aWMgaW50IG5ucGZzX3N0YXRmcyhzdHJ1Y3Qgc3Vw ZXJfYmxvDQogI2VuZGlmDQogDQogc3RhdGljIHN0cnVjdCBzdXBlcl9vcGVy YXRpb25zIG5ucGZzX3NvcHMgPSB7IA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogICAgIHJlYWRfaW5vZGUJ CTogbm5wZnNfcmVhZF9pbm9kZSwNCiAgICAgcHV0X2lub2RlCQk6IG5ucGZz X3B1dF9pbm9kZSwNCisjZW5kaWYNCiAgICAgYWxsb2NfaW5vZGUJCTogbm5w ZnNfbm9kZV9hbGxvYywNCiAgICAgZGVzdHJveV9pbm9kZQk6IG5ucGZzX25v ZGVfZnJlZSwNCiAgICAgZHJvcF9pbm9kZQkJOiBnZW5lcmljX2RlbGV0ZV9p bm9kZSwNCkBAIC0xODksNyArMTk1LDExIEBAIG5ucGZzX3JlYWRfc3VwZXIg KHN0cnVjdCBzdXBlcl9ibG9jayAqIHMNCiAJaWYgKGVycm9yKQ0KIAkgICAg ZGRldiA9IEVSUl9QVFIoZXJyb3IpOw0KIAllbHNlDQorI2lmIExJTlVYX1ZF UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAJICAgIGRk ZXYgPSBuZC5kZW50cnk7DQorI2Vsc2UNCisJICAgIGRkZXYgPSBuZC5wYXRo LmRlbnRyeTsNCisjZW5kaWYNCiANCiAJaWYgKCFJU19FUlIoZGRldikpIHsN CiAJICAgIG1pbm9yZGV2aWNlID0gTUlOT1IoZGRldi0+ZF9pbm9kZS0+aV9y ZGV2KTsNCkBAIC0yNzMsNiArMjgzLDcgQEAgbm5wZnNfcHV0X3N1cGVyKHN0 cnVjdCBzdXBlcl9ibG9jayAqc2IpDQogICAgIE5OUEZTREVCKFhERUJWRk9Q UywgKCJubnBmc19wdXRfc3VwZXIgZXhpdGluZ1xuIikpOw0KIH0NCiANCisj aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1 KQ0KIHN0YXRpYyB2b2lkDQogbm5wZnNfcmVhZF9pbm9kZShzdHJ1Y3QgaW5v ZGUgKmlub2RlKQ0KIHsNCkBAIC0zMzksNiArMzUwLDcgQEAgbm5wZnNfcHV0 X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogDQogICAgIHVwKCZubnBm c3AtPmluYWN0aXZlX3NlbSk7DQogfQ0KKyNlbmRpZiAvLyBMSU5VWF9WRVJT SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogDQogc3RhdGlj IGludA0KIG5ucGZzX3N0YXRmc19pbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpz Yiwgc3RydWN0IGtzdGF0ZnMgKmJ1ZikNCkBAIC0zNTIsNyArMzY0LDE1IEBA IG5ucGZzX3N0YXRmc19pbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwNCiAg ICAgdG1wLmZfYmF2YWlsICA9IDEwMjQqMTAyNCoyLTUwOw0KICAgICB0bXAu Zl9maWxlcyAgID0gMTAyNCoxMDI0Ow0KICAgICB0bXAuZl9mZnJlZSAgID0g MTAyNCoxMDI0LTEwMDsNCisgICAgdG1wLmZfZnNpZC52YWxbMF0gPSAwOw0K KyAgICB0bXAuZl9mc2lkLnZhbFsxXSA9IDA7DQogICAgIHRtcC5mX25hbWVs ZW4gPSBOQU1FX01BWDsNCisgICAgdG1wLmZfZnJzaXplICA9IDA7DQorICAg IHRtcC5mX3NwYXJlWzBdID0gMDsNCisgICAgdG1wLmZfc3BhcmVbMV0gPSAw Ow0KKyAgICB0bXAuZl9zcGFyZVsyXSA9IDA7DQorICAgIHRtcC5mX3NwYXJl WzNdID0gMDsNCisgICAgdG1wLmZfc3BhcmVbNF0gPSAwOw0KICAgICAqYnVm ID0gdG1wOw0KICAgICByZXR1cm4gMDsNCiB9DQo= ---2098261369-1182767660-1275730333=:1097872 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Arla-drinkers mailing list [email protected] https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers ---2098261369-1182767660-1275730333=:1097872--