ZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHJvdG8vc2FtcGxlLmggYi9pbmNsdWRlL3Byb3RvL3NhbXBsZS5oCmluZGV4IDZiNzY2NjIuLjE5YjlmMDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcHJvdG8vc2FtcGxlLmgKKysrIGIvaW5jbHVkZS9wcm90by9zYW1wbGUuaApAQCAtNDAsNiArNDAsNyBAQAogY29uc3QgY2hhciAqc2FtcGxlX3NyY19uYW1lcyh1bnNpZ25lZCBpbnQgdXNlKTsKIGNvbnN0IGNoYXIgKnNhbXBsZV9ja3BfbmFtZXModW5zaWduZWQgaW50IHVzZSk7CiBzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpmaW5kX3NhbXBsZV9mZXRjaChjb25zdCBjaGFyICprdywgaW50IGxlbik7CitzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpzYW1wbGVfZmV0Y2hfZ2V0bmV4dChzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpjdXJyZW50LCBpbnQgKmlkeCk7CiBpbnQgc21wX3Jlc29sdmVfYXJncyhzdHJ1Y3QgcHJveHkgKnApOwogaW50IHNtcF9leHByX291dHB1dF90eXBlKHN0cnVjdCBzYW1wbGVfZXhwciAqZXhwcik7CiBpbnQgY19ub25lKHN0cnVjdCBzYW1wbGUgKnNtcCk7CmRpZmYgLS1naXQgYS9zcmMvc2FtcGxlLmMgYi9zcmMvc2FtcGxlLmMKaW5kZXggNGMwZDMwMy4uODk2ZjY4OSAxMDA2NDQKLS0tIGEvc3JjL3NhbXBsZS5jCisrKyBiL3NyYy9zYW1wbGUuYwpAQCAtMzg0LDYgKzM4NCw0OSBAQAogCXJldHVybiBOVUxMOwogfQogCisvKiBUaGlzIGZ1Y250aW9uIGJyb3dzZSB0aGUgbGlzdCBvZiBhdmFpbGFibGUgc2FwbGUgZmV0Y2guIDxjdXJyZW50PiBpcworICogdGhlIGxhc3QgdXNlZCBzYW1wbGUgZmV0Y2guIElmIGl0IGlzIHRoZSBmaXJzdCBjYWxsLCBpdCBtdXN0IHNldCB0byBOVUxMLgorICogPGlkeD4gaXMgdGhlIGluZGV4IG9mIHRoZSBuZXh0IHNhbXBsZehmZXRjaCBlbnRyeS4gSXQgaXMgdXNlZCBhcyBwcml2YXRlCisgKiB2YWx1ZS4gSXQgaXMgdXNlbGVzIHRvIGluaXRpYXRlIGl0LgorICoKKyAqIEl0IHJldHVybnMgYWx3YXlzIHRoZSBuZXd0IGZldGNoX3NhbXBsZSBlbnRyeSwgYW5kIE5VTEwgd2hlbiB0aGUgZW5kIG9mCisgKiB0aGUgbGlzdCBpcyByZWFjaGVkLgorICovCitzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpzYW1wbGVfZmV0Y2hfZ2V0bmV4dChzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpjdXJyZW50LCBpbnQgKmlkeCkKK3sKKwlzdHJ1Y3Qgc2FtcGxlX2ZldGNoX2t3X2xpc3QgKmt3bDsKKwlzdHJ1Y3Qgc2FtcGxlX2ZldGNoICpiYXNlOworCisJaWYgKCFjdXJyZW50KSB7CisJCS8qIEdldCBmaXJzdCBrd2wgZW50cnkuICovCisJCWt3bCA9IExJU1RfTkVYVCgmc2FtcGxlX2ZldGNoZXMubGlzdCwgc3RydWN0IHNhbXBsZV9mZXRjaF9rd19saXN0ICosIGxpc3QpOworCQkoKmlkeCkgPSAwOworCX0gZWxzZSB7CisJCS8qIEdldCBrd2wgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmV0IGVudHJ5LiAqLworCQliYXNlID0gY3VycmVudCArIDEgLSAoKmlkeCk7CisJCWt3bCA9IGNvbnRhaW5lcl9vZihiYXNlLCBzdHJ1Y3Qgc2FtcGxlX2ZldGNoX2t3X2xpc3QsIGt3KTsKKwl9CisKKwl3aGlsZSAoMSkgeworCisJCS8qIENoZWNrIGlmIGt3bCBpcyB0aGUgbGFzdCBlbnRyeS4gKi8KKwkJaWYgKCZrd2wtPmxpc3QgPT0gJnNhbXBsZV9mZXRjaGVzLmxpc3QpCisJCQlyZXR1cm4gTlVMTDsKKworCQkvKiBpZHggY29udGFpbiB0aGUgbmV4dCBrZXl3b3JkLiBJZiBpdCBpcyBhdmFpbGFibGUsIHJldHVybiBpdC4gKi8KKwkJaWYgKGt3bC0+a3dbKmlkeF0ua3cpIHsKKwkJCSgqaWR4KSsrOworCQkJcmV0dXJuICZrd2wtPmt3WygqaWR4KS0xXTsKKwkJfQorCisJCS8qIGdldCBuZXh0IGVudHJ5IGluIHRoZSBtYWluIGxpc3QsIGFuZCByZXR1cm4gTlVMTCBpZiB0aGUgZW5kIGlzIHJlYWNoZWQuICovCisJCWt3bCA9IExJU1RfTkVYVCgma3dsLT5saXN0LCBzdHJ1Y3Qgc2FtcGxlX2ZldGNoX2t3X2xpc3QgKiwgbGlzdCk7CisKKwkJLyogU2V0IGluZGV4IHRvIDAsIGFucyBkbyBvbmUgb3RoZXIgbG9vcC4gKi8KKwkJKCppZHgpID0gMDsKKwl9Cit9CisKIC8qCiAgKiBSZXR1cm5zIHRoZSBwb2ludGVyIG9uIHNhbXBsZSBmb3JtYXQgY29udmVyc2lvbiBrZXl3b3JkIHN0cnVjdHVyZSBpZGVudGlmaWVkIGJ5CiAgKiBzdHJpbmcgb2YgPGxlbj4gaW4gYnVmZmVyIDxrdz4uCg==