PATCH: Arla CVS Current on Linux 2.6.24-2.6.32
Bo Brantén <[email protected]> Fri, 4 Jun 2010 15:29:26 +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-283268217-1275658166=:819408 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hello, I have updated my patch for the latest kernels of Linux. It would be good= =20 if anyone with CVS access could commit this. Bo Brant=E9n ---2098261369-283268217-1275658166=:819408 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-cvs-Linux Content-Transfer-Encoding: BASE64 Content-ID: <[email protected]> Content-Description: Content-Disposition: attachment; filename=patch-arla-cvs-Linux 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 c19pbm9kZW9wcy5jCTIwMTAtMDYtMDQgMTQ6NTA6MjguMzU4MzQyMTIwICsw 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 LnRva2VucyA9IHRvazsNCkBAIC05MDcsOSArOTM4LDE4IEBAIG5ucGZzX2Ny ZWF0ZShzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGQNCiAgICAgWEFfQ0xF QVIoJm1zZy5hdHRyKTsNCiAgICAgWEFfU0VUX01PREUoJm1zZy5hdHRyLCBt b2RlKTsNCiAgICAgWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxF X1JFRyk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS U0lPTigyLDYsMjgpDQogICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJy ZW50LT5mc2dpZCk7DQorI2Vsc2UNCisgICAgWEFfU0VUX0dJRCgmbXNnLmF0 dHIsIGN1cnJlbnRfZnNnaWQoKSk7DQorI2VuZGlmDQogICAgIG1zZy5tb2Rl ID0gMDsJCS8qIFhYWCAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0g S0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBj dXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3Vy cmVudF91aWQoKTsNCisjZW5kaWYNCisNCiAgICAgbXNnLmNyZWQucGFnID0g bm5wZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2Vf cnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAg aWYgKGVycm9yID09IDApDQpAQCAtOTUwLDcgKzk5MCwxMSBAQCBubnBmc191 bmxpbmsgKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0DQogICAgIGlmIChz dHJsY3B5KG1zZy5uYW1lLCBkZW50cnktPmRfbmFtZS5uYW1lLCBzaXplb2Yo bXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1FTkFN RVRPT0xPTkc7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJO RUxfVkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJl bnQtPnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50 X3VpZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19n ZXRfcGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5w ZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJy b3IgPT0gMCkNCkBAIC05OTUsNyArMTAzOSwxMSBAQCBubnBmc19yZW5hbWUg KHN0cnVjdCBpbm9kZSAqIG9sZF9kaXIsIHN0DQogICAgIGlmIChzdHJsY3B5 KG1zZy5uZXdfbmFtZSwgbmV3X2RlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVv Zihtc2cubmV3X25hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJu IC1FTkFNRVRPT0xPTkc7DQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg PD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQg PSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0g Y3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0g bm5wZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2Vf cnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAg aWYgKGVycm9yID09IDApDQpAQCAtMTA0NCw5ICsxMDkyLDE3IEBAIG5ucGZz X21rZGlyKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0IGQNCiAJWEFfQ0xF QVIoJm1zZy5hdHRyKTsNCiAJWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2Rl KTsNCiAJWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX0RJUik7 DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigy LDYsMjgpDQogCVhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50LT5mc2dp ZCk7DQorI2Vsc2UNCisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBj dXJyZW50X2ZzZ2lkKCkpOw0KKyNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJT SU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAltc2cuY3Jl ZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy5j cmVkLnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogCW1zZy5jcmVk LnBhZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAJZXJyb3IgPSBubnBmc19tZXNz YWdlX3JwYyhubnBmc3AsICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7DQog CWlmIChlcnJvciA9PSAwKQ0KQEAgLTEwODcsNyArMTE0MywxMSBAQCBubnBm c19ybWRpcihzdHJ1Y3QgaW5vZGUgKiBkaXIsIHN0cnVjdCBkDQogICAgIG1z Zy5wYXJlbnRfaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgaWYgKHN0cmxj cHkobXNnLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZihtc2cu bmFtZSkpID49IE5OUEZTX01BWF9OQU1FKQ0KIAkgICAgcmV0dXJuIC1FTkFN RVRPT0xPTkc7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf VkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQt PnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3Vp ZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRf cGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNw LCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3Ig PT0gMCkNCkBAIC0xMTMyLDcgKzExOTIsMTEgQEAgc3RhdGljIGludCBubnBm c19saW5rKHN0cnVjdCBkZW50cnkgKm9sZA0KIAlpZiAoc3RybGNweShtc2cu bmFtZSwgbmFtZSwgc2l6ZW9mKG1zZy5uYW1lKSkgPj0gTk5QRlNfTUFYX05B TUUpDQogCSAgICByZXR1cm4gLUVOQU1FVE9PTE9ORzsNCiANCisjaWYgTElO VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJ bXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAg ICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAlt c2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCWVycm9yID0gbm5w ZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1z ZykpOw0KIAlpZiAoZXJyb3IgPT0gMCkNCkBAIC0xMTYxLDIyICsxMjI1LDM5 IEBAIHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmQN CiAgICAgeG4gPSBWTk9ERV9UT19YTk9ERShkaXIpOw0KIA0KICAgICB7DQot CXN0cnVjdCBubnBmc19tZXNzYWdlX3N5bWxpbmsgbXNnOw0KKwlzdHJ1Y3Qg bm5wZnNfbWVzc2FnZV9zeW1saW5rICptc2cgPSBOVUxMOw0KIA0KLQltc2cu aGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KLQltc2cucGFy ZW50X2hhbmRsZSA9IHhuLT5oYW5kbGU7DQotCWlmIChzdHJsY3B5KG1zZy5u YW1lLCBuYW1lLCBzaXplb2YobXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFN RSkNCi0JICAgIHJldHVybiAtRU5BTUVUT09MT05HOw0KLQlpZiAoc3RybGNw eShtc2cuY29udGVudHMsIHN5bW5hbWUsIHNpemVvZihtc2cuY29udGVudHMp KSA+PSBOTlBGU19NQVhfU1lNTElOS19DT05URU5UKQ0KLQkgICAgcmV0dXJu IC1FTkFNRVRPT0xPTkc7DQotCVhBX0NMRUFSKCZtc2cuYXR0cik7DQotCVhB X1NFVF9NT0RFKCZtc2cuYXR0ciwgMDc3Nyk7DQotCVhBX1NFVF9UWVBFKCZt c2cuYXR0ciwgTk5QRlNfRklMRV9MTkspOw0KLQlYQV9TRVRfR0lEKCZtc2cu YXR0ciwgY3VycmVudC0+ZnNnaWQpOw0KKwltc2cgPSBrbWFsbG9jKHNpemVv ZihzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rKSwgR0ZQX0tFUk5FTCk7 DQogDQotCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCi0JbXNnLmNy ZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KLQllcnJvciA9IG5ucGZzX21l c3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsN CisJaWYgKCFtc2cpDQorCSAgcmV0dXJuIC1FTk9NRU07DQorDQorCW1zZy0+ aGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KKwltc2ctPnBh cmVudF9oYW5kbGUgPSB4bi0+aGFuZGxlOw0KKwlpZiAoc3RybGNweShtc2ct Pm5hbWUsIG5hbWUsIHNpemVvZihtc2ctPm5hbWUpKSA+PSBOTlBGU19NQVhf TkFNRSkgew0KKwkgIGtmcmVlKG1zZyk7DQorCSAgcmV0dXJuIC1FTkFNRVRP T0xPTkc7DQorCX0NCisJaWYgKHN0cmxjcHkobXNnLT5jb250ZW50cywgc3lt bmFtZSwgc2l6ZW9mKG1zZy0+Y29udGVudHMpKSA+PSBOTlBGU19NQVhfU1lN TElOS19DT05URU5UKSB7DQorCSAga2ZyZWUobXNnKTsNCisJICByZXR1cm4g LUVOQU1FVE9PTE9ORzsNCisJfQ0KKwlYQV9DTEVBUigmbXNnLT5hdHRyKTsN CisJWEFfU0VUX01PREUoJm1zZy0+YXR0ciwgMDc3Nyk7DQorCVhBX1NFVF9U WVBFKCZtc2ctPmF0dHIsIE5OUEZTX0ZJTEVfTE5LKTsNCisjaWYgTElOVVhf VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJWEFf U0VUX0dJRCgmbXNnLT5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UN CisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy0+YXR0ciwgY3VycmVudF9mc2dp ZCgpKTsNCisjZW5kaWYNCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9 IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJbXNnLT5jcmVkLnVpZCA9IGN1 cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLT5jcmVkLnVpZCA9 IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQorCW1zZy0+Y3JlZC5wYWcgPSBu bnBmc19nZXRfcGFnKCk7DQorCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMo bm5wZnNwLCAmbXNnLT5oZWFkZXIsIHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVz c2FnZV9zeW1saW5rKSk7DQogCWlmIChlcnJvciA9PSAwKQ0KIAkgICAgZXJy b3IgPSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKCZtc2cpOw0KIA0KQEAgLTEx ODQsNiArMTI2NSw3IEBAIHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1 Y3QgaW5vZGUgKmQNCiAJaWYgKERFTlRSWV9UT19YREVOVFJZKGRlbnRyeSkt PnhkX2ZsYWdzID09IDApIHsNCiAJICAgIHByaW50ayhLRVJOX0VNRVJHICJO TlBGUyBQYW5pYzogbm5wZnNfc3ltbGluazogZGVudHJ5IG5vdCB2YWxpZFxu Iik7DQogCX0NCisJa2ZyZWUobXNnKTsNCiAgICAgfQ0KIA0KICAgICByZXR1 cm4gZXJyb3I7DQpAQCAtMTQwMiw3ICsxNDg0LDExIEBAIG5ucGZzX3NldGF0 dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3QNCiAgICAgICAgIHN0cnVj dCBubnBmc19tZXNzYWdlX3B1dGF0dHIgbXNnOw0KIA0KICAgICAgICAgbXNn LmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0dfUFVUQVRUUjsNCisjaWYgTElO VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJ bXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAg ICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAlt c2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogICAgICAgICBtc2cu aGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgICAgIG5ucGZzX2lhdHRyMmF0 dHIoeG4sIGF0dHIsICZtc2cuYXR0cik7DQpAQCAtMTY3MiwxMSArMTc1OCwx NSBAQCBubnBmc193cml0ZV9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwg DQogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gYmFja2ZpbGUt PmZfbWFwcGluZzsNCiAJdW5zaWduZWQgbGVuID0gUEFHRV9DQUNIRV9TSVpF Ow0KIAlzdHJ1Y3QgcGFnZSAqYmFja3BhZ2U7DQorI2lmIExJTlVYX1ZFUlNJ T05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQorCXZvaWQgKmZz ZGF0YTsNCisjZW5kaWYNCiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7DQogDQog CWludCBlcnJvcjsNCiAJDQogCWRvIHsNCisjaWYgTElOVVhfVkVSU0lPTl9D T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KIAkJYmFja3BhZ2UgPSBn cmFiX2NhY2hlX3BhZ2UobWFwcGluZywgbm5wZnNfZ2V0X2JhY2tpbmRleChw YWdlKSk7DQogCQlpZiAoIWJhY2twYWdlKSB7DQogCQkJcHJpbnRrKCJubnBm c193cml0ZV9iYWNrcGFnZTogbm8gcGFnZVxuIik7DQpAQCAtMTY4NSwyMSAr MTc3NSwzNiBAQCBubnBmc193cml0ZV9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAq cGFnZSwgDQogDQogCQllcnJvciA9IG1hcHBpbmctPmFfb3BzLT5wcmVwYXJl X3dyaXRlKGJhY2tmaWxlLCBiYWNrcGFnZSwNCiAJCQkJCQkgICAgICAwLCBs ZW4pOw0KKyNlbHNlDQorCQllcnJvciA9IHBhZ2VjYWNoZV93cml0ZV9iZWdp bihiYWNrZmlsZSwgbWFwcGluZywgMCwgbGVuLA0KKwkJCQlBT1BfRkxBR19V TklOVEVSUlVQVElCTEUsICZiYWNrcGFnZSwgJmZzZGF0YSk7DQorI2VuZGlm DQogCQlpZiAoIWVycm9yKSB7DQogCQkJY29weV9oaWdocGFnZShiYWNrcGFn ZSwgcGFnZSk7DQogCQkJZmx1c2hfZGNhY2hlX3BhZ2UoYmFja3BhZ2UpOw0K KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs MjQpDQogCQkJZXJyb3IgPSBtYXBwaW5nLT5hX29wcy0+Y29tbWl0X3dyaXRl KGJhY2tmaWxlLCBiYWNrcGFnZSwNCiAJCQkJCQkJICAgICAwLCBsZW4pOw0K KyNlbHNlDQorCQkJZXJyb3IgPSBwYWdlY2FjaGVfd3JpdGVfZW5kKGJhY2tm aWxlLCBtYXBwaW5nLCAwLCBsZW4sDQorCQkJCQlsZW4sIGJhY2twYWdlLCBm c2RhdGEpOw0KKwkJCWlmIChlcnJvciA+IDApDQorCQkJCWVycm9yID0gMDsN CisjZW5kaWYNCiAJCX0NCiAJCWlmIChlcnJvciA9PSBBT1BfVFJVTkNBVEVE X1BBR0UpIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF UlNJT04oMiw2LDI0KQ0KIAkJCXBhZ2VfY2FjaGVfcmVsZWFzZShiYWNrcGFn ZSk7DQorI2VuZGlmDQogCQkJY29udGludWU7DQogCQl9DQogCX0gd2hpbGUg KDApOw0KIA0KIAlvZmZzZXQgPSBwYWdlX29mZnNldChiYWNrcGFnZSk7DQor I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwy NCkNCiAJdW5sb2NrX3BhZ2UoYmFja3BhZ2UpOw0KIAlwYWdlX2NhY2hlX3Jl bGVhc2UoYmFja3BhZ2UpOw0KKyNlbmRpZg0KIA0KIAlpZiAoZXJyb3IpDQog CQlwcmludGsoIm5ucGZzX3dyaXRlX2JhY2twYWdlOiBFSU9cbiIpOw0KQEAg LTE5MDUsNiArMjAxMCwzNCBAQCBubnBmc19wcmVwYXJlX3dyaXRlKHN0cnVj dCBmaWxlICpmaWxlLCBzDQogCXJldHVybiByZXQ7DQogfQ0KIA0KKyNpZiBM SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0K Kw0KK3N0YXRpYyBpbnQNCitubnBmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmls ZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZf dCBwb3MsDQordW5zaWduZWQgbGVuLCB1bnNpZ25lZCBmbGFncywgc3RydWN0 IHBhZ2UgKipwYWdlcCwgdm9pZCAqKmZzZGF0YSkNCit7DQorCXN0cnVjdCBw YWdlICpwYWdlOw0KKwlwZ29mZl90IGluZGV4Ow0KKwl1bnNpZ25lZCBmcm9t Ow0KKw0KKwlpbmRleCA9IHBvcyA+PiBQQUdFX0NBQ0hFX1NISUZUOw0KKwlm cm9tID0gcG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOw0KKw0KKyNpZm5k ZWYgQU9QX0ZMQUdfTk9GUw0KKwlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2Uo bWFwcGluZywgaW5kZXgpOw0KKyNlbHNlDQorCXBhZ2UgPSBncmFiX2NhY2hl X3BhZ2Vfd3JpdGVfYmVnaW4obWFwcGluZywgaW5kZXgsIGZsYWdzKTsNCisj ZW5kaWYNCisJaWYgKCFwYWdlKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQor CSpwYWdlcCA9IHBhZ2U7DQorDQorCXJldHVybiBubnBmc19wcmVwYXJlX3dy aXRlKGZpbGUsIHBhZ2UsIGZyb20sIGZyb20rbGVuKTsNCit9DQorDQorI2Vu ZGlmDQorDQogc3RhdGljIGludA0KIG5ucGZzX2NvbW1pdF93cml0ZShzdHJ1 Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGZy b20sIHVuc2lnbmVkIHRvKQ0KIHsNCkBAIC0xOTM1LDE0ICsyMDY4LDQ1IEBA IG5ucGZzX2NvbW1pdF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgc3QNCiAg ICAgcmV0dXJuIDA7DQogfQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg Pj0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKw0KK3N0YXRpYyBpbnQNCitu bnBmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9zLA0KK3Vuc2lnbmVkIGxl biwgdW5zaWduZWQgY29waWVkLCBzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAq ZnNkYXRhKQ0KK3sNCisJdW5zaWduZWQgZnJvbSA9IHBvcyAmIChQQUdFX0NB Q0hFX1NJWkUgLSAxKTsNCisNCisJLyogemVybyB0aGUgc3RhbGUgcGFydCBv ZiB0aGUgcGFnZSBpZiB3ZSBkaWQgYSBzaG9ydCBjb3B5ICovDQorCWlmIChj b3BpZWQgPCBsZW4pIHsNCisJCXZvaWQgKmthZGRyID0ga21hcF9hdG9taWMo cGFnZSwgS01fVVNFUjApOw0KKwkJbWVtc2V0KGthZGRyICsgZnJvbSArIGNv cGllZCwgMCwgbGVuIC0gY29waWVkKTsNCisJCWZsdXNoX2RjYWNoZV9wYWdl KHBhZ2UpOw0KKwkJa3VubWFwX2F0b21pYyhrYWRkciwgS01fVVNFUjApOw0K Kwl9DQorDQorCW5ucGZzX2NvbW1pdF93cml0ZShmaWxlLCBwYWdlLCBmcm9t LCBmcm9tK2NvcGllZCk7DQorDQorCXVubG9ja19wYWdlKHBhZ2UpOw0KKwlw YWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7DQorDQorCXJldHVybiBjb3BpZWQ7 DQorfQ0KKw0KKyNlbmRpZg0KKw0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUg Pj0gS0VSTkVMX1ZFUlNJT04oMiw2LDE4KQ0KIGNvbnN0DQogI2VuZGlmDQog c3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBubnBmc19hb3BzID0g ew0KIAkucmVhZHBhZ2UgPSBubnBmc19yZWFkcGFnZSwNCiAJLndyaXRlcGFn ZSA9IG5ucGZzX3dyaXRlcGFnZSwNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAkucHJlcGFyZV93cml0ZSA9 IG5ucGZzX3ByZXBhcmVfd3JpdGUsDQogCS5jb21taXRfd3JpdGUgPSBubnBm c19jb21taXRfd3JpdGUsDQorI2Vsc2UNCisJLndyaXRlX2JlZ2luID0gbm5w ZnNfd3JpdGVfYmVnaW4sDQorCS53cml0ZV9lbmQgPSBubnBmc193cml0ZV9l bmQsDQorI2VuZGlmDQogfTsNCiANCiAvKg0KZGlmZiAtdXByTiBhcmxhLWN2 cy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMgYXJsYS1jdnMtbmV3L25u cGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYw0KLS0tIGFybGEtY3ZzL25ucGZz L2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDA2LTEyLTExIDE3OjQwOjI0LjAw MDAwMDAwMCArMDEwMA0KKysrIGFybGEtY3ZzLW5ldy9ubnBmcy9saW51eC9u bnBmc19tZXNzYWdlLmMJMjAxMC0wNi0wMyAyMzozMjowOC4yMzI2MTEzODMg KzAyMDANCkBAIC03MzUsMTIgKzczNSwyMyBAQCBubnBmc19tZXNzYWdlX3Zl cnNpb24oc3RydWN0IG5ucGZzICpubnBmDQogCQkgICAibm5wZnNfbWVzc2Fn ZV92ZXJzaW9uIGZhaWxlZCBwYXRoX2xvb2t1cCwgIg0KIAkJICAgImVycm5v OiAlZFxuIiwgZXJyb3IpOw0KIAl9IGVsc2Ugew0KKyNpZiBMSU5VWF9WRVJT SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogCSAgICBubnBm c3AtPmNhY2hlcm9vdCA9IG1udGdldChuZC5tbnQpOw0KIAkgICAgbm5wZnNw LT5jYWNoZWRpciA9IGRnZXQobmQuZGVudHJ5KTsNCiAJICAgIHBhdGhfcmVs ZWFzZSgmbmQpOw0KKyNlbHNlDQorCSAgICBubnBmc3AtPmNhY2hlcm9vdCA9 IG1udGdldChuZC5wYXRoLm1udCk7DQorCSAgICBubnBmc3AtPmNhY2hlZGly ID0gZGdldChuZC5wYXRoLmRlbnRyeSk7DQorCSAgICBwYXRoX3B1dCgmbmQu cGF0aCk7DQorI2VuZGlmDQogCSAgICANCisjaWYgTElOVVhfVkVSU0lPTl9D T0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJICAgIG5ucGZzcC0+ dWlkID0gY3VycmVudC0+ZnN1aWQ7DQogCSAgICBubnBmc3AtPmdpZCA9IGN1 cnJlbnQtPmZzZ2lkOw0KKyNlbHNlDQorICAgICAgICAgICAgbm5wZnNwLT51 aWQgPSBjdXJyZW50X2ZzdWlkKCk7DQorICAgICAgICAgICAgbm5wZnNwLT5n aWQgPSBjdXJyZW50X2ZzZ2lkKCk7DQorI2VuZGlmDQogDQogCSAgICAvKiBY WFggd2Ugc2hvdWxkIHZhbGlkYXRlIHRoZXNlIHZhbHVlcyAqLw0KIAkgICAg bm5wZnNfYmxvY2tzaXplID0gYmxvY2tzaXplOw0KZGlmZiAtdXByTiBhcmxh LWN2cy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jIGFybGEtY3ZzLW5l dy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jDQotLS0gYXJsYS1jdnMv bm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYwkyMDA3LTAxLTAzIDE1OjI2 OjI3LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtY3ZzLW5ldy9ubnBmcy9s aW51eC9ubnBmc19zeXNjYWxscy5jCTIwMTAtMDYtMDQgMDE6MTk6MjIuODMy NjA5NDM3ICswMjAwDQpAQCAtMTQ3LDEwICsxNDcsMTYgQEAgc3RhdGljIGlu dCBubnBmc19zZWNfcmVnaXN0ZXJlZCA9IDA7DQogI2RlZmluZSBTRUMyUEFH KHMpIChubnBmc19wYWdfdCkodW5zaWduZWQgbG9uZykocykNCiAjZGVmaW5l IFBBRzJTRUMocCkgKHZvaWQgKikodW5zaWduZWQgbG9uZykocCkNCiANCisj aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0 KQ0KKw0KIHN0YXRpYyBpbnQNCiBubnBmc19zZWNfdGFza19hbGxvYyhzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnApDQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP REUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBubnBmc19wYWdf dCBwYWcgPSBTRUMyUEFHKGN1cnJlbnQtPnNlY3VyaXR5KTsNCisjZWxzZQ0K KyAgICBubnBmc19wYWdfdCBwYWcgPSBTRUMyUEFHKGN1cnJlbnRfc2VjdXJp dHkoKSk7DQorI2VuZGlmDQogICAgIGlmIChwYWcpDQogCXAtPnNlY3VyaXR5 ID0gUEFHMlNFQyhwYWcpOw0KICAgICByZXR1cm4gMDsNCkBAIC0xNjQsMzUg KzE3MCw1NSBAQCBubnBmc19zZWNfdGFza19mcmVlKHN0cnVjdCB0YXNrX3N0 cnVjdCAqDQogCXAtPnNlY3VyaXR5ID0gTlVMTDsNCiB9DQogDQorI2VuZGlm DQorDQogc3RhdGljIG5ucGZzX3BhZ190DQogbm5wZnNfZ2V0X3BhZ19zZWMo dm9pZCkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf VkVSU0lPTigyLDYsMjgpDQogICAgIG5ucGZzX3BhZ190IHBhZyA9IFNFQzJQ QUcoY3VycmVudC0+c2VjdXJpdHkpOw0KKyNlbHNlDQorICAgIG5ucGZzX3Bh Z190IHBhZyA9IFNFQzJQQUcoY3VycmVudF9zZWN1cml0eSgpKTsNCisjZW5k aWYNCiAgICAgaWYgKHBhZykNCiAJcmV0dXJuIHBhZzsNCiANCisjaWYgTElO VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAg ICAgcmV0dXJuIGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICByZXR1cm4g Y3VycmVudF91aWQoKTsNCisjZW5kaWYNCiB9DQogDQogc3RhdGljIGludA0K IG5ucGZzX3NldF9wYWdfc2VjKHZvaWQpDQogew0KICAgICBzdGF0aWMgbm5w ZnNfcGFnX3QgcGFnbnVtID0gTk5QRlNfUEFHX0xMSU07DQorI2lmIExJTlVY X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMjkpDQorICAg IHN0cnVjdCBjcmVkICpjcmVkOw0KKyNlbmRpZg0KIA0KICAgICBpZiAocGFn bnVtID09IE5OUEZTX1BBR19VTElNKQ0KIAlyZXR1cm4gLUVOT01FTTsNCiAg ICAgLyogcGFnbnVtID0gTk5QRlNfUEFHX0xMSU07ICovDQogICAgIA0KKyNp ZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4 KQ0KICAgICBjdXJyZW50LT5zZWN1cml0eSA9IFBBRzJTRUMocGFnbnVtKTsN CisjZWxzZQ0KKyAgICBjcmVkID0gKHN0cnVjdCBjcmVkICopIGN1cnJlbnQt PmNyZWQ7DQorICAgIGNyZWQtPnNlY3VyaXR5ID0gUEFHMlNFQyhwYWdudW0p Ow0KKyNlbmRpZg0KICAgICBwYWdudW0rKzsNCiAgICAgcmV0dXJuIDA7DQog fQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP TigyLDYsMjQpDQogc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25z IG5ucGZzX3NlY19vcHMgPSB7DQogICAgIC50YXNrX2FsbG9jX3NlY3VyaXR5 ID0gbm5wZnNfc2VjX3Rhc2tfYWxsb2MsDQogICAgIC50YXNrX2ZyZWVfc2Vj dXJpdHkgPSBubnBmc19zZWNfdGFza19mcmVlLA0KIC8vICAgIC50YXNrX3Jl cGFyZW50X3RvX2luaXQgPSBubnBmc19zZWNfcmVwYXJlbnRfdG9faW5pdCwN CiB9Ow0KKyNlbmRpZg0KIA0KICNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFkg Ki8NCiANCkBAIC0yMjIsOCArMjQ4LDEzIEBAIGZpbmRfcGFnKHN0cnVjdCBn cm91cF9pbmZvICpnaSkNCiBzdGF0aWMgbm5wZnNfcGFnX3QNCiBubnBmc19n ZXRfcGFnX2dyb3VwKHZvaWQpDQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP REUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBzdHJ1Y3QgZ3Jv dXBfaW5mbyAqZ2kgPSBjdXJyZW50LT5ncm91cF9pbmZvOw0KICAgICBubnBm c19wYWdfdCByZXQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgc3Ry dWN0IGdyb3VwX2luZm8gKmdpID0gZ2V0X2N1cnJlbnRfZ3JvdXBzKCk7DQor ICAgIG5ucGZzX3BhZ190IHJldCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlm DQogICAgIGludCBpOw0KIA0KICAgICBnZXRfZ3JvdXBfaW5mbyhnaSk7DQpA QCAtMjQyLDkgKzI3MywxNyBAQCBubnBmc19nZXRfcGFnX2dyb3VwKHZvaWQp DQogc3RhdGljIGludA0KIHN0b3JlX3BhZyhubnBmc19wYWdfdCBwYWdudW0p DQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJ T04oMiw2LDI4KQ0KICAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqb2xkX2dpID0g Y3VycmVudC0+Z3JvdXBfaW5mbzsNCisjZWxzZQ0KKyAgIHN0cnVjdCBncm91 cF9pbmZvICpvbGRfZ2kgPSBnZXRfY3VycmVudF9ncm91cHMoKTsNCisjZW5k aWYNCiAgICAgc3RydWN0IGdyb3VwX2luZm8gKm5ld19naTsNCisjaWYgTElO VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KICAg ICBpbnQgbmJsb2NrcywgY291bnQ7DQorI2Vsc2UNCisgICAgdW5zaWduZWQg aW50IG5ibG9ja3MsIGNvdW50Ow0KKyNlbmRpZg0KICAgICBpbnQgZm91bmQg PSAwOw0KICAgICBpbnQgaSwgazsNCiAgICAgDQpAQCAtMzE3LDcgKzM1Niwx MSBAQCBubnBmc19nZXRfcGFnKCkNCiAgICAgcmV0dXJuIG5ucGZzX2dldF9w YWdfZ3JvdXAoKTsNCiAjZW5kaWYgLyogR1JPVVBQQUdTICovDQogDQorI2lm IExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgp DQogICAgIHJldHVybiBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgcmV0 dXJuIGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogfQ0KIA0KIHN0YXRpYyBp bmxpbmUgaW50DQpAQCAtNTI4LDcgKzU3MSwxMSBAQCB1c2VyX3BhdGgyZGVu dHJ5IChzdHJ1Y3QgbmFtZWlkYXRhICpuZCwgDQogICAgIHB1dG5hbWUoa25h bWUpOw0KICAgICBpZiAoZXJyb3IpDQogCXJldHVybiBFUlJfUFRSKGVycm9y KTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o Miw2LDI1KQ0KICAgICByZXR1cm4gbmQtPmRlbnRyeTsNCisjZWxzZQ0KKyAg ICByZXR1cm4gbmQtPnBhdGguZGVudHJ5Ow0KKyNlbmRpZg0KIH0NCiANCiBh c21saW5rYWdlIGxvbmcNCkBAIC01NDAsMTEgKzU4NywxNiBAQCBzeXNfYWZz X2ludCAoaW50IG9wZXJhdGlvbiwNCiB7DQogICAgIGxvbmcgZXJyb3IgPSAw Ow0KICAgICBzdHJ1Y3QgYXJsYVZpY2VJb2N0bCB2aWNlX2lvY3RsOyANCi0g ICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsIG1zZzsNCisgICAgc3Ry dWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsICptc2cgPSBOVUxMOw0KICAgICBz dHJ1Y3Qgbm5wZnNfbWVzc2FnZV93YWtldXAgKm1zZzI7DQogICAgIHN0cnVj dCBkZW50cnkgKmRlbnRyeSA9IE5VTEw7DQogICAgIHN0cnVjdCBuYW1laWRh dGEgbmQ7DQotICAgIA0KKw0KKyAgICBtc2cgPSBrbWFsbG9jKHNpemVvZihz dHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwpLCBHRlBfS0VSTkVMKTsNCisN CisgICAgaWYgKCFtc2cpDQorICAgICAgcmV0dXJuIC1FTk9NRU07DQorDQog ICAgIGxvY2tfa2VybmVsKCk7DQogDQogICAgIE5OUEZTREVCKFhERUJTWVMs ICgic3lzX2FmcyBrZXJuZWwgbG9ja2VkXG4iKSk7DQpAQCAtNTc1LDcgKzYy Nyw3IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIAkgICAgZ290 byB1bmxvY2s7DQogCX0NCiAJaWYgKHZpY2VfaW9jdGwuaW5fc2l6ZSAhPSAw KSB7DQotCSAgICBpZihjb3B5X2Zyb21fdXNlcigmbXNnLm1zZywNCisJICAg IGlmKGNvcHlfZnJvbV91c2VyKCZtc2ctPm1zZywNCiAJCQkgICAgICB2aWNl X2lvY3RsLmluLA0KIAkJCSAgICAgIHZpY2VfaW9jdGwuaW5fc2l6ZSkgIT0g MCkgew0KIAkJZXJyb3IgPSAtRUZBVUxUOw0KQEAgLTYyOCwxOSArNjgwLDIz IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIAkJZXJyb3IgPSAt RUlOVkFMOw0KIAkJZ290byB1bmxvY2s7DQogCSAgICB9DQotCSAgICBtc2cu aGFuZGxlID0geG4tPmhhbmRsZTsNCisJICAgIG1zZy0+aGFuZGxlID0geG4t PmhhbmRsZTsNCiAJfQ0KIA0KLQltc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZT X01TR19QSU9DVEw7DQotCW1zZy5vcGNvZGUgPSBhX29wY29kZTsNCisJbXNn LT5oZWFkZXIub3Bjb2RlID0gTk5QRlNfTVNHX1BJT0NUTDsNCisJbXNnLT5v cGNvZGUgPSBhX29wY29kZTsNCiAJDQotCW1zZy5pbnNpemUgICA9IHZpY2Vf aW9jdGwuaW5fc2l6ZTsNCi0JbXNnLm91dHNpemUgID0gdmljZV9pb2N0bC5v dXRfc2l6ZTsNCi0JbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KLQlt c2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQorCW1zZy0+aW5zaXpl ICAgPSB2aWNlX2lvY3RsLmluX3NpemU7DQorCW1zZy0+b3V0c2l6ZSAgPSB2 aWNlX2lvY3RsLm91dF9zaXplOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg PD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKwltc2ctPmNyZWQudWlkID0g Y3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBtc2ctPmNyZWQudWlk ID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCisJbXNnLT5jcmVkLnBhZyA9 IG5ucGZzX2dldF9wYWcoKTsNCiAJDQotCWVycm9yID0gbm5wZnNfbWVzc2Fn ZV9ycGMoJm5ucGZzWzBdLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOyAv KiBYWFggKi8NCi0JbXNnMiA9IChzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV93YWtl dXAgKikgJm1zZzsNCisJZXJyb3IgPSBubnBmc19tZXNzYWdlX3JwYygmbm5w ZnNbMF0sICZtc2ctPmhlYWRlciwgc2l6ZW9mKHN0cnVjdCBubnBmc19tZXNz YWdlX3Bpb2N0bCkpOyAvKiBYWFggKi8NCisJbXNnMiA9IChzdHJ1Y3Qgbm5w ZnNfbWVzc2FnZV93YWtldXAgKikgbXNnOw0KIAlpZiAoZXJyb3IgPT0gMCkN CiAJICAgIGVycm9yID0gbXNnMi0+ZXJyb3I7DQogDQpAQCAtNjc1LDExICs3 MzEsMTYgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogICAgIA0K ICB1bmxvY2s6DQogICAgIGlmIChkZW50cnkpDQorI2lmIExJTlVYX1ZFUlNJ T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAJcGF0aF9yZWxl YXNlKCZuZCk7DQorI2Vsc2UNCisJcGF0aF9wdXQoJm5kLnBhdGgpOw0KKyNl bmRpZg0KIA0KICAgICBOTlBGU0RFQihYREVCU1lTLCAoIm5ucGZzX3N5c2Nh bGwgcmV0dXJucyBlcnJvcjogJWxkXG4iLCBlcnJvcikpOw0KIA0KICAgICBO TlBGU0RFQihYREVCU1lTLCAoInN5c19hZnMga2VybmVsIHVubG9ja1xuIikp Ow0KKyAgICBrZnJlZShtc2cpOw0KICAgICB1bmxvY2tfa2VybmVsKCk7DQog DQogICAgIHJldHVybiBlcnJvcjsNCkBAIC03ODAsMjAgKzg0MSwzMiBAQCBz dGF0aWMgaW50IG5ucGZzX2luaXRfcHJvY2ZzKHZvaWQpDQogew0KICAgICBz dHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudHJ5Ow0KICAgICANCisjaWYgTElO VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI2KQ0KICAg ICBubnBmc19wcm9jZnNfZGlyID0gcHJvY19ta2RpcihOTlBGU19QUk9DX0RJ UiwgcHJvY19yb290X2ZzKTsNCisjZWxzZQ0KKyAgICBubnBmc19wcm9jZnNf ZGlyID0gcHJvY19ta2RpcigiZnMvIiBOTlBGU19QUk9DX0RJUiwgTlVMTCk7 DQorI2VuZGlmDQogICAgIGlmIChubnBmc19wcm9jZnNfZGlyID09IE5VTEwp DQogCXJldHVybiAtRU5PTUVNOw0KICAgICANCisjaWYgTElOVVhfVkVSU0lP Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDMwKQ0KICAgICBubnBmc19w cm9jZnNfZGlyLT5vd25lciA9IFRISVNfTU9EVUxFOw0KKyNlbmRpZg0KICAg ICANCiAgICAgZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeShOTlBGU19QUk9D X05PREUsIDA2NjYsIG5ucGZzX3Byb2Nmc19kaXIpOw0KICAgICBpZiAoZW50 cnkgPT0gTlVMTCkgew0KIAlOTlBGU0RFQihYREVCU1lTLCAoIm5ucGZzX2lu aXRfcHJvY2ZzOiBubyBub2RlXG4iKSk7DQorI2lmIExJTlVYX1ZFUlNJT05f Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNikNCiAJcmVtb3ZlX3Byb2Nf ZW50cnkoTk5QRlNfUFJPQ19ESVIsIHByb2Nfcm9vdF9mcyk7DQorI2Vsc2UN CisJcmVtb3ZlX3Byb2NfZW50cnkoImZzLyIgTk5QRlNfUFJPQ19ESVIsIE5V TEwpOw0KKyNlbmRpZg0KIAlyZXR1cm4gLUVOT01FTTsNCiAgICAgfQ0KICAg ICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o Miw2LDMwKQ0KICAgICBlbnRyeS0+b3duZXIgPSBUSElTX01PRFVMRTsNCisj ZW5kaWYNCiAgICAgZW50cnktPnByb2NfZm9wcyA9ICZubnBmc19wcm9jZnNf Zm9wczsNCiANCiAjaWZkZWYgU1lTQ0FMTENPTVBBVA0KQEAgLTgxNSw3ICs4 ODgsMTEgQEAgc3RhdGljIHZvaWQgbm5wZnNfZXhpdF9wcm9jZnModm9pZCkN CiAgICAgfQ0KICNlbmRpZiAvKiBTWVNDQUxMQ09NUEFUICovDQogICAgIHJl bW92ZV9wcm9jX2VudHJ5KE5OUEZTX1BST0NfTk9ERSwgbm5wZnNfcHJvY2Zz X2Rpcik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT SU9OKDIsNiwyNikNCiAgICAgcmVtb3ZlX3Byb2NfZW50cnkoTk5QRlNfUFJP Q19ESVIsIHByb2Nfcm9vdF9mcyk7DQorI2Vsc2UNCisgICAgcmVtb3ZlX3By b2NfZW50cnkoImZzLyIgTk5QRlNfUFJPQ19ESVIsIE5VTEwpOw0KKyNlbmRp Zg0KIH0NCiANCiAjaWZkZWYgR1JPVVBQQUdTDQpAQCAtODQwLDEyICs5MTcs MTQgQEAgdm9pZA0KIGluc3RhbGxfYWZzX3N5c2NhbGwodm9pZCkNCiB7DQog I2lmZGVmIENPTkZJR19TRUNVUklUWQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogICAgIGlmIChyZWdpc3Rl cl9zZWN1cml0eSgmbm5wZnNfc2VjX29wcykpDQogCU5OUEZTREVCKFhERUJT WVMsDQogCQkgKCJpbnN0YWxsX2Fmc19zeXNjYWxsOiBubnBmc19pbml0X3Nl YyBmYWlsZWRcbiIpKTsNCiAgICAgZWxzZQ0KIAlubnBmc19zZWNfcmVnaXN0 ZXJlZCA9IDE7DQogI2VuZGlmDQorI2VuZGlmDQogDQogICAgIG5ucGZzX2lu aXRfcHJvY2ZzKCk7DQogDQpAQCAtODg4LDkgKzk2NywxMSBAQCByZXN0b3Jl X2Fmc19zeXNjYWxsICh2b2lkKQ0KICNlbmRpZiAvKiBTWVNDQUxMSEFDSyAq Lw0KIA0KICNpZmRlZiBDT05GSUdfU0VDVVJJVFkNCisjaWYgTElOVVhfVkVS U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KICAgICBpZiAo bm5wZnNfc2VjX3JlZ2lzdGVyZWQpDQogCWlmICh1bnJlZ2lzdGVyX3NlY3Vy aXR5KCZubnBmc19zZWNfb3BzKSkNCiAJICAgIHByaW50ayhLRVJOX0VNRVJH ICJubnBmc19leGl0X3NlYzogY291bGRuJ3QgdW5yZWdpc3RlclxuIik7DQor I2VuZGlmDQogI2VuZGlmIC8qICFDT05GSUdfU0VDVVJJVFkgKi8NCiANCiAj aWZkZWYgR1JPVVBQQUdTDQpkaWZmIC11cHJOIGFybGEtY3ZzL25ucGZzL2xp bnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYyBhcmxhLWN2cy1uZXcvbm5w ZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jDQotLS0gYXJsYS1j dnMvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jCTIwMDYt MTItMTEgMTc6MzE6NDUuMDAwMDAwMDAwICswMTAwDQorKysgYXJsYS1jdnMt bmV3L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYwkyMDEw LTA2LTAzIDIzOjMyOjA4LjIzMjYxMTM4MyArMDIwMA0KQEAgLTYzLDYgKzYz LDExIEBAIGNvbnN0IGNoYXIgKiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkNCiAJ CSAgICB1bnNpZ25lZCBsb25nICpvZmZzZXQsDQogCQkgICAgY2hhciAqKm1v ZG5hbWUsIGNoYXIgKm5hbWVidWYpOw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O X0NPREUgPiBLRVJORUxfVkVSU0lPTigyLDYsMTgpDQorI2lmZGVmIF9feDg2 XzY0X18NCitleHRlcm4gcndsb2NrX3QgdGFza2xpc3RfbG9jayBfX2F0dHJp YnV0ZV9fKCh3ZWFrKSk7DQorI2VuZGlmDQorI2VuZGlmDQogc3RhdGljIHZv aWQgKioNCiBnZXRfc3RhcnRfYWRkcih2b2lkKSB7DQogI2lmZGVmIF9feDg2 XzY0X18NCmRpZmYgLXVwck4gYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNf dmZzb3BzLmMgYXJsYS1jdnMtbmV3L25ucGZzL2xpbnV4L25ucGZzX3Zmc29w cy5jDQotLS0gYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMJ MjAwNi0xMi0xMSAxNzo0MzozNS4wMDAwMDAwMDAgKzAxMDANCisrKyBhcmxh LWN2cy1uZXcvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMJMjAxMC0wNi0w MyAyMzozMjowOC4yMzI2MTEzODMgKzAyMDANCkBAIC00OSw5ICs0OSwxMyBA QCBSQ1NJRCgiJElkOiBubnBmc192ZnNvcHMuYyx2IDEuMTA5IDIwMDYvDQog DQogc3RydWN0IG5ucGZzIG5ucGZzW05OTlBGU107DQogDQorI2lmIExJTlVY X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiBzdGF0 aWMgdm9pZCBubnBmc19yZWFkX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUp Ow0KKyNlbmRpZg0KIHN0YXRpYyB2b2lkIG5ucGZzX3B1dF9zdXBlcihzdHJ1 Y3Qgc3VwZXJfYmxvY2sgKnNiKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIHN0YXRpYyB2b2lkIG5ucGZz X3B1dF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKTsNCisjZW5kaWYNCiBz dGF0aWMgdm9pZCBubnBmc193cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKiBzYik7DQogDQogI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJO RUxfVkVSU0lPTigyLDYsMTgpDQpAQCAtNjEsOCArNjUsMTAgQEAgc3RhdGlj IGludCBubnBmc19zdGF0ZnMoc3RydWN0IHN1cGVyX2Jsbw0KICNlbmRpZg0K IA0KIHN0YXRpYyBzdHJ1Y3Qgc3VwZXJfb3BlcmF0aW9ucyBubnBmc19zb3Bz ID0geyANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ T04oMiw2LDI1KQ0KICAgICByZWFkX2lub2RlCQk6IG5ucGZzX3JlYWRfaW5v ZGUsDQogICAgIHB1dF9pbm9kZQkJOiBubnBmc19wdXRfaW5vZGUsDQorI2Vu ZGlmDQogICAgIGFsbG9jX2lub2RlCQk6IG5ucGZzX25vZGVfYWxsb2MsDQog ICAgIGRlc3Ryb3lfaW5vZGUJOiBubnBmc19ub2RlX2ZyZWUsDQogICAgIGRy b3BfaW5vZGUJCTogZ2VuZXJpY19kZWxldGVfaW5vZGUsDQpAQCAtMTg5LDcg KzE5NSwxMSBAQCBubnBmc19yZWFkX3N1cGVyIChzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKiBzDQogCWlmIChlcnJvcikNCiAJICAgIGRkZXYgPSBFUlJfUFRSKGVy cm9yKTsNCiAJZWxzZQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO RUxfVkVSU0lPTigyLDYsMjUpDQogCSAgICBkZGV2ID0gbmQuZGVudHJ5Ow0K KyNlbHNlDQorCSAgICBkZGV2ID0gbmQucGF0aC5kZW50cnk7DQorI2VuZGlm DQogDQogCWlmICghSVNfRVJSKGRkZXYpKSB7DQogCSAgICBtaW5vcmRldmlj ZSA9IE1JTk9SKGRkZXYtPmRfaW5vZGUtPmlfcmRldik7DQpAQCAtMjczLDYg KzI4Myw3IEBAIG5ucGZzX3B1dF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sg KnNiKQ0KICAgICBOTlBGU0RFQihYREVCVkZPUFMsICgibm5wZnNfcHV0X3N1 cGVyIGV4aXRpbmdcbiIpKTsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05f Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiBzdGF0aWMgdm9pZA0K IG5ucGZzX3JlYWRfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSkNCiB7DQpA QCAtMzM5LDYgKzM1MCw3IEBAIG5ucGZzX3B1dF9pbm9kZShzdHJ1Y3QgaW5v ZGUgKmlub2RlKQ0KIA0KICAgICB1cCgmbm5wZnNwLT5pbmFjdGl2ZV9zZW0p Ow0KIH0NCisjZW5kaWYgLy8gTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM X1ZFUlNJT04oMiw2LDI1KQ0KIA0KIHN0YXRpYyBpbnQNCiBubnBmc19zdGF0 ZnNfaW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBrc3RhdGZz ICpidWYpDQpAQCAtMzUyLDcgKzM2NCwxNSBAQCBubnBmc19zdGF0ZnNfaW50 KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsDQogICAgIHRtcC5mX2JhdmFpbCAg PSAxMDI0KjEwMjQqMi01MDsNCiAgICAgdG1wLmZfZmlsZXMgICA9IDEwMjQq MTAyNDsNCiAgICAgdG1wLmZfZmZyZWUgICA9IDEwMjQqMTAyNC0xMDA7DQor ICAgIHRtcC5mX2ZzaWQudmFsWzBdID0gMDsNCisgICAgdG1wLmZfZnNpZC52 YWxbMV0gPSAwOw0KICAgICB0bXAuZl9uYW1lbGVuID0gTkFNRV9NQVg7DQor ICAgIHRtcC5mX2Zyc2l6ZSAgPSAwOw0KKyAgICB0bXAuZl9zcGFyZVswXSA9 IDA7DQorICAgIHRtcC5mX3NwYXJlWzFdID0gMDsNCisgICAgdG1wLmZfc3Bh cmVbMl0gPSAwOw0KKyAgICB0bXAuZl9zcGFyZVszXSA9IDA7DQorICAgIHRt cC5mX3NwYXJlWzRdID0gMDsNCiAgICAgKmJ1ZiA9IHRtcDsNCiAgICAgcmV0 dXJuIDA7DQogfQ0K ---2098261369-283268217-1275658166=:819408 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-283268217-1275658166=:819408--