From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C9ED6E2E6 for ; Thu, 17 Jun 2021 19:13:16 +0000 (UTC) Received: by mail-pl1-x62f.google.com with SMTP id f10so1324153plg.0 for ; Thu, 17 Jun 2021 12:13:16 -0700 (PDT) From: Jason Ekstrand Date: Thu, 17 Jun 2021 14:12:14 -0500 Message-Id: <20210617191256.577244-8-jason@jlekstrand.net> In-Reply-To: <20210617191256.577244-1-jason@jlekstrand.net> References: <20210617191256.577244-1-jason@jlekstrand.net> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 07/79] tests/i915/gem_exec_reloc: Convert to intel_ctx_t (v3) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: djIgKFpiaWduaWV3IEtlbXBjennFhHNraSk6CiAtIEl0ZXJhdGUgb3ZlciB0bXBfY3R4IHdoZW4g dGhhdCdzIHdoYXQgd2UncmUgdXNpbmcKIC0gRHJvcCB0aGUgemVyby1pbml0IG9mIGN0eAoKdjMg KEFzaHV0b3NoIERpeGl0KToKIC0gU2ltcGxpZnkgY29udGV4dCBjcmVhdGlvbgoKU2lnbmVkLW9m Zi1ieTogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0PgpSZXZpZXdlZC1ieTog WmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+Ci0t LQogdGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jIHwgOTggKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDQwIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYyBiL3Rl c3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYwppbmRleCBjNzk0MDBmYmYuLmQ1NDQ3MzM0MSAxMDA2 NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X2V4ZWNfcmVsb2MuYwpAQCAtMjY3LDcgKzI2Nyw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2JvKGlu dCBmZCwgdWludDMyX3QgaGFuZGxlKQogCW11bm1hcChtYXAsIDQwOTYpOwogfQogCi1zdGF0aWMg dm9pZCBhY3RpdmUoaW50IGZkLCB1bnNpZ25lZCBlbmdpbmUpCitzdGF0aWMgdm9pZCBhY3RpdmUo aW50IGZkLCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LCB1bnNpZ25lZCBlbmdpbmUpCiB7CiAJY29u c3QgdW5zaWduZWQgaW50IGdlbiA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7 CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZWxvY2F0aW9uX2VudHJ5IHJlbG9jOwpAQCAtMjgxLDcg KzI4MSw3IEBAIHN0YXRpYyB2b2lkIGFjdGl2ZShpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSkKIAlp ZiAoZW5naW5lID09IEFMTF9FTkdJTkVTKSB7CiAJCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lMiAqZTsKIAotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewor CQlmb3JfZWFjaF9jdHhfZW5naW5lKGZkLCBjdHgsIGUpIHsKIAkJCWlmIChnZW1fY2xhc3NfY2Fu X3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpCiAJCQkJZW5naW5lc1tuZW5naW5lKytdID0gZS0+ ZmxhZ3M7CiAJCX0KQEAgLTMwOSw2ICszMDksNyBAQCBzdGF0aWMgdm9pZCBhY3RpdmUoaW50IGZk LCB1bnNpZ25lZCBlbmdpbmUpCiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAyOwogCWlmIChnZW4g PCA2KQogCQlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19TRUNVUkU7CisJZXhlY2J1Zi5yc3Zk MSA9IGN0eC0+aWQ7CiAKIAlmb3IgKHBhc3MgPSAwOyBwYXNzIDwgMTAyNDsgcGFzcysrKSB7CiAJ CXVpbnQzMl90IGJhdGNoWzE2XTsKQEAgLTM2OCw3ICszNjksOCBAQCBzdGF0aWMgdWludDY0X3Qg bWFueV9yZWxvY3ModW5zaWduZWQgbG9uZyBjb3VudCwgdW5zaWduZWQgbG9uZyAqb3V0KQogCXJl dHVybiB0b191c2VyX3BvaW50ZXIocmVsb2MpOwogfQogCi1zdGF0aWMgdm9pZCBfX21hbnlfYWN0 aXZlKGludCBpOTE1LCB1bnNpZ25lZCBlbmdpbmUsIHVuc2lnbmVkIGxvbmcgY291bnQpCitzdGF0 aWMgdm9pZCBfX21hbnlfYWN0aXZlKGludCBpOTE1LCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LCB1 bnNpZ25lZCBlbmdpbmUsCisJCQkgIHVuc2lnbmVkIGxvbmcgY291bnQpCiB7CiAJdW5zaWduZWQg bG9uZyByZWxvY19zejsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbMl0g PSB7ewpAQCAtMzgwLDEwICszODIsMTIgQEAgc3RhdGljIHZvaWQgX19tYW55X2FjdGl2ZShpbnQg aTkxNSwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25lZCBsb25nIGNvdW50KQogCQkuYnVmZmVyc19w dHIgPSB0b191c2VyX3BvaW50ZXIob2JqKSwKIAkJLmJ1ZmZlcl9jb3VudCA9IEFSUkFZX1NJWkUo b2JqKSwKIAkJLmZsYWdzID0gZW5naW5lIHwgSTkxNV9FWEVDX0hBTkRMRV9MVVQsCisJCS5yc3Zk MSA9IGN0eC0+aWQsCiAJfTsKIAlpZ3Rfc3Bpbl90ICpzcGluOwogCiAJc3BpbiA9IF9faWd0X3Nw aW5fbmV3KGk5MTUsCisJCQkgICAgICAuY3R4ID0gY3R4LAogCQkJICAgICAgLmVuZ2luZSA9IGVu Z2luZSwKIAkJCSAgICAgIC5kZXBlbmRlbmN5ID0gb2JqWzBdLmhhbmRsZSwKIAkJCSAgICAgIC5m bGFncyA9IChJR1RfU1BJTl9GRU5DRV9PVVQgfApAQCAtNDA2LDcgKzQxMCw3IEBAIHN0YXRpYyB2 b2lkIF9fbWFueV9hY3RpdmUoaW50IGk5MTUsIHVuc2lnbmVkIGVuZ2luZSwgdW5zaWduZWQgbG9u ZyBjb3VudCkKIAlnZW1fY2xvc2UoaTkxNSwgb2JqWzBdLmhhbmRsZSk7CiB9CiAKLXN0YXRpYyB2 b2lkIG1hbnlfYWN0aXZlKGludCBpOTE1LCB1bnNpZ25lZCBlbmdpbmUpCitzdGF0aWMgdm9pZCBt YW55X2FjdGl2ZShpbnQgaTkxNSwgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwgdW5zaWduZWQgZW5n aW5lKQogewogCWNvbnN0IHVpbnQ2NF90IG1heCA9IDIwNDg7CiAJdW5zaWduZWQgbG9uZyBjb3Vu dCA9IDI1NjsKQEAgLTQxOSw3ICs0MjMsNyBAQCBzdGF0aWMgdm9pZCBtYW55X2FjdGl2ZShpbnQg aTkxNSwgdW5zaWduZWQgZW5naW5lKQogCQkJYnJlYWs7CiAKIAkJaWd0X2RlYnVnKCJUZXN0aW5n IGNvdW50OiVsdVxuIiwgY291bnQpOwotCQlfX21hbnlfYWN0aXZlKGk5MTUsIGVuZ2luZSwgY291 bnQpOworCQlfX21hbnlfYWN0aXZlKGk5MTUsIGN0eCwgZW5naW5lLCBjb3VudCk7CiAKIAkJY291 bnQgPDw9IDE7CiAJCWlmIChjb3VudCA+PSBtYXgpCkBAIC00MjcsNyArNDMxLDggQEAgc3RhdGlj IHZvaWQgbWFueV9hY3RpdmUoaW50IGk5MTUsIHVuc2lnbmVkIGVuZ2luZSkKIAl9CiB9CiAKLXN0 YXRpYyB2b2lkIF9fd2lkZV9hY3RpdmUoaW50IGk5MTUsIHVuc2lnbmVkIGVuZ2luZSwgdW5zaWdu ZWQgbG9uZyBjb3VudCkKK3N0YXRpYyB2b2lkIF9fd2lkZV9hY3RpdmUoaW50IGk5MTUsIGNvbnN0 IGludGVsX2N0eF90ICpjdHgsIHVuc2lnbmVkIGVuZ2luZSwKKwkJCSAgdW5zaWduZWQgbG9uZyBj b3VudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jID0K IAkJY2FsbG9jKGNvdW50LCBzaXplb2YoKnJlbG9jKSk7CkBAIC00MzcsNiArNDQyLDcgQEAgc3Rh dGljIHZvaWQgX193aWRlX2FjdGl2ZShpbnQgaTkxNSwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25l ZCBsb25nIGNvdW50KQogCQkuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKSwKIAkJ LmJ1ZmZlcl9jb3VudCA9IGNvdW50ICsgMSwKIAkJLmZsYWdzID0gZW5naW5lIHwgSTkxNV9FWEVD X0hBTkRMRV9MVVQsCisJCS5yc3ZkMSA9IGN0eC0+aWQsCiAJfTsKIAlpZ3Rfc3Bpbl90ICpzcGlu OwogCkBAIC00NDcsNiArNDUzLDcgQEAgc3RhdGljIHZvaWQgX193aWRlX2FjdGl2ZShpbnQgaTkx NSwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25lZCBsb25nIGNvdW50KQogCX0KIAogCXNwaW4gPSBf X2lndF9zcGluX25ldyhpOTE1LAorCQkJICAgICAgLmN0eCA9IGN0eCwKIAkJCSAgICAgIC5lbmdp bmUgPSBlbmdpbmUsCiAJCQkgICAgICAuZmxhZ3MgPSAoSUdUX1NQSU5fRkVOQ0VfT1VUIHwKIAkJ CQkJSUdUX1NQSU5fTk9fUFJFRU1QVElPTikpOwpAQCAtNDc2LDcgKzQ4Myw3IEBAIHN0YXRpYyB2 b2lkIF9fd2lkZV9hY3RpdmUoaW50IGk5MTUsIHVuc2lnbmVkIGVuZ2luZSwgdW5zaWduZWQgbG9u ZyBjb3VudCkKIAlmcmVlKHJlbG9jKTsKIH0KIAotc3RhdGljIHZvaWQgd2lkZV9hY3RpdmUoaW50 IGk5MTUsIHVuc2lnbmVkIGVuZ2luZSkKK3N0YXRpYyB2b2lkIHdpZGVfYWN0aXZlKGludCBpOTE1 LCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LCB1bnNpZ25lZCBlbmdpbmUpCiB7CiAJY29uc3QgdWlu dDY0X3QgbWF4ID0gZ2VtX2FwZXJ0dXJlX3NpemUoaTkxNSkgLyA0MDk2IC8gMjsKIAl1bnNpZ25l ZCBsb25nIGNvdW50ID0gMjU2OwpAQCAtNDg5LDcgKzQ5Niw3IEBAIHN0YXRpYyB2b2lkIHdpZGVf YWN0aXZlKGludCBpOTE1LCB1bnNpZ25lZCBlbmdpbmUpCiAJCQlicmVhazsKIAogCQlpZ3RfZGVi dWcoIlRlc3RpbmcgY291bnQ6JWx1XG4iLCBjb3VudCk7Ci0JCV9fd2lkZV9hY3RpdmUoaTkxNSwg ZW5naW5lLCBjb3VudCk7CisJCV9fd2lkZV9hY3RpdmUoaTkxNSwgY3R4LCBlbmdpbmUsIGNvdW50 KTsKIAogCQljb3VudCA8PD0gMTsKIAkJaWYgKGNvdW50ID49IG1heCkKQEAgLTUwMiw3ICs1MDks NyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG9mZnNldF9pbl9wYWdlKHZvaWQgKmFkZHIpCiAJcmV0 dXJuICh1aW50cHRyX3QpYWRkciAmIDQwOTU7CiB9CiAKLXN0YXRpYyB2b2lkIGFjdGl2ZV9zcGlu KGludCBmZCwgdW5zaWduZWQgZW5naW5lKQorc3RhdGljIHZvaWQgYWN0aXZlX3NwaW4oaW50IGZk LCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LCB1bnNpZ25lZCBlbmdpbmUpCiB7CiAJY29uc3QgdWlu dDMyX3QgYmJlID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl bG9jYXRpb25fZW50cnkgcmVsb2M7CkBAIC01MTEsNiArNTE4LDcgQEAgc3RhdGljIHZvaWQgYWN0 aXZlX3NwaW4oaW50IGZkLCB1bnNpZ25lZCBlbmdpbmUpCiAJaWd0X3NwaW5fdCAqc3BpbjsKIAog CXNwaW4gPSBpZ3Rfc3Bpbl9uZXcoZmQsCisJCQkgICAgLmN0eCA9IGN0eCwKIAkJCSAgICAuZW5n aW5lID0gZW5naW5lLAogCQkJICAgIC5mbGFncyA9IElHVF9TUElOX05PX1BSRUVNUFRJT04pOwog CkBAIC01MzAsNiArNTM4LDcgQEAgc3RhdGljIHZvaWQgYWN0aXZlX3NwaW4oaW50IGZkLCB1bnNp Z25lZCBlbmdpbmUpCiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmop OwogCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMjsKIAlleGVjYnVmLmZsYWdzID0gZW5naW5lOwor CWV4ZWNidWYucnN2ZDEgPSBjdHgtPmlkOwogCiAJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsK IAlnZW1fY2xvc2UoZmQsIG9ialsxXS5oYW5kbGUpOwpAQCAtNTQyLDcgKzU1MSw3IEBAIHN0YXRp YyB2b2lkIGFjdGl2ZV9zcGluKGludCBmZCwgdW5zaWduZWQgZW5naW5lKQogCWlndF9zcGluX2Zy ZWUoZmQsIHNwaW4pOwogfQogCi1zdGF0aWMgdm9pZCBvdGhlcnNfc3BpbihpbnQgaTkxNSwgdW5z aWduZWQgZW5naW5lKQorc3RhdGljIHZvaWQgb3RoZXJzX3NwaW4oaW50IGk5MTUsIGNvbnN0IGlu dGVsX2N0eF90ICpjdHgsIHVuc2lnbmVkIGVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlbG9jYXRpb25fZW50cnkgcmVsb2MgPSB7fTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNf b2JqZWN0MiBvYmogPSB7CkBAIC01NTMsMTggKzU2MiwyMCBAQCBzdGF0aWMgdm9pZCBvdGhlcnNf c3BpbihpbnQgaTkxNSwgdW5zaWduZWQgZW5naW5lKQogCQkuYnVmZmVyc19wdHIgPSB0b191c2Vy X3BvaW50ZXIoJm9iaiksCiAJCS5idWZmZXJfY291bnQgPSAxLAogCQkuZmxhZ3MgPSBlbmdpbmUs CisJCS5yc3ZkMSA9IGN0eC0+aWQsCiAJfTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9u X2VuZ2luZTIgKmU7CiAJaWd0X3NwaW5fdCAqc3BpbiA9IE5VTEw7CiAJdWludDY0X3QgYWRkcjsK IAlpbnQgZmVuY2U7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJ Zm9yX2VhY2hfY3R4X2VuZ2luZShpOTE1LCBjdHgsIGUpIHsKIAkJaWYgKGUtPmZsYWdzID09IGVu Z2luZSkKIAkJCWNvbnRpbnVlOwogCiAJCWlmICghc3BpbikgewogCQkJc3BpbiA9IGlndF9zcGlu X25ldyhpOTE1LAorCQkJCQkgICAgLmN0eCA9IGN0eCwKIAkJCQkJICAgIC5lbmdpbmUgPSBlLT5m bGFncywKIAkJCQkJICAgIC5mbGFncyA9IElHVF9TUElOX0ZFTkNFX09VVCk7CiAJCQlmZW5jZSA9 IGR1cChzcGluLT5vdXRfZmVuY2UpOwpAQCAtOTg2LDEyICs5OTcsMTMgQEAgc3RhdGljIHZvaWQg c2lnaGFuZGxlcihpbnQgc2lnKQogCXN0b3AgPSAxOwogfQogCi1zdGF0aWMgdm9pZCBwYXJhbGxl bF9jaGlsZChpbnQgaTkxNSwKK3N0YXRpYyB2b2lkIHBhcmFsbGVsX2NoaWxkKGludCBpOTE1LCBj b25zdCBpbnRlbF9jdHhfdCAqY3R4LAogCQkJICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlv bl9lbmdpbmUyICplbmdpbmUsCiAJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25f ZW50cnkgKnJlbG9jLAogCQkJICAgdWludDMyX3QgY29tbW9uKQogewotCWlndF9zcGluX3QgKnNw aW4gPSBfX2lndF9zcGluX25ldyhpOTE1LCAuZW5naW5lID0gZW5naW5lLT5mbGFncyk7CisJaWd0 X3NwaW5fdCAqc3BpbiA9IF9faWd0X3NwaW5fbmV3KGk5MTUsIC5jdHggPSBjdHgsCisJCQkJCSAg LmVuZ2luZSA9IGVuZ2luZS0+ZmxhZ3MpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIHJlbG9jX3RhcmdldCA9IHsKIAkJLmhhbmRsZSA9IGdlbV9jcmVhdGUoaTkxNSwgMzIgKiAx MDI0ICogOCksCiAJCS5yZWxvY2F0aW9uX2NvdW50ID0gMzIgKiAxMDI0LApAQCAtMTAwNiw2ICsx MDE4LDcgQEAgc3RhdGljIHZvaWQgcGFyYWxsZWxfY2hpbGQoaW50IGk5MTUsCiAJCS5idWZmZXJz X3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmopLAogCQkuYnVmZmVyX2NvdW50ID0gQVJSQVlfU0la RShvYmopLAogCQkuZmxhZ3MgPSBlbmdpbmUtPmZsYWdzIHwgSTkxNV9FWEVDX0hBTkRMRV9MVVQs CisJCS5yc3ZkMSA9IGN0eC0+aWQsCiAJfTsKIAlzdHJ1Y3Qgc2lnYWN0aW9uIGFjdCA9IHsKIAkJ LnNhX2hhbmRsZXIgPSBzaWdoYW5kbGVyLApAQCAtMTAzMyw3ICsxMDQ2LDcgQEAgc3RhdGljIHZv aWQga2lsbF9jaGlsZHJlbihpbnQgc2lnKQogCXNpZ25hbChzaWcsIFNJR19ERkwpOwogfQogCi1z dGF0aWMgdm9pZCBwYXJhbGxlbChpbnQgaTkxNSkKK3N0YXRpYyB2b2lkIHBhcmFsbGVsKGludCBp OTE1LCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4KQogewogCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lMiAqZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkg KnJlbG9jOwpAQCAtMTA0NCwxNiArMTA1NywxNiBAQCBzdGF0aWMgdm9pZCBwYXJhbGxlbChpbnQg aTkxNSkKIAlyZWxvYyA9IHBhcmFsbGVsX3JlbG9jcygzMiAqIDEwMjQsICZyZWxvY19zeik7CiAK IAlzdG9wID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJZm9y X2VhY2hfY3R4X2VuZ2luZShpOTE1LCBjdHgsIGUpIHsKIAkJaWd0X2ZvcmsoY2hpbGQsIDEpCi0J CQlwYXJhbGxlbF9jaGlsZChpOTE1LCBlLCByZWxvYywgY29tbW9uKTsKKwkJCXBhcmFsbGVsX2No aWxkKGk5MTUsIGN0eCwgZSwgcmVsb2MsIGNvbW1vbik7CiAJfQogCXNsZWVwKDIpOwogCiAJaWYg KGdlbV9zY2hlZHVsZXJfaGFzX3ByZWVtcHRpb24oaTkxNSkpIHsKLQkJdWludDMyX3QgY3R4ID0g Z2VtX2NvbnRleHRfY2xvbmVfd2l0aF9lbmdpbmVzKGk5MTUsIDApOworCQljb25zdCBpbnRlbF9j dHhfdCAqdG1wX2N0eCA9IGludGVsX2N0eF9jcmVhdGUoaTkxNSwgJmN0eC0+Y2ZnKTsKIAotCQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJCWZvcl9lYWNoX2N0eF9lbmdp bmUoaTkxNSwgdG1wX2N0eCwgZSkgewogCQkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVj dDIgb2JqWzJdID0gewogCQkJCXsgLmhhbmRsZSA9IGNvbW1vbiB9LAogCQkJCXsgLmhhbmRsZSA9 IGJhdGNoIH0sCkBAIC0xMDYyLDEyICsxMDc1LDEyIEBAIHN0YXRpYyB2b2lkIHBhcmFsbGVsKGlu dCBpOTE1KQogCQkJCS5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmopLAogCQkJCS5i dWZmZXJfY291bnQgPSBBUlJBWV9TSVpFKG9iaiksCiAJCQkJLmZsYWdzID0gZS0+ZmxhZ3MsCi0J CQkJLnJzdmQxID0gY3R4LAorCQkJCS5yc3ZkMSA9IHRtcF9jdHgtPmlkLAogCQkJfTsKIAkJCWdl bV9leGVjYnVmKGk5MTUsICZleGVjYnVmKTsKIAkJfQogCi0JCWdlbV9jb250ZXh0X2Rlc3Ryb3ko aTkxNSwgY3R4KTsKKwkJaW50ZWxfY3R4X2Rlc3Ryb3koaTkxNSwgdG1wX2N0eCk7CiAJfQogCWdl bV9zeW5jKGk5MTUsIGJhdGNoKTsKIAlnZW1fY2xvc2UoaTkxNSwgYmF0Y2gpOwpAQCAtMTEyMSw3 ICsxMTM0LDcgQEAgc3RhdGljIHZvaWQgeGNoZ191MzIodm9pZCAqYXJyYXksIHVuc2lnbmVkIGks IHVuc2lnbmVkIGopCiAJdTMyW2pdID0gdG1wOwogfQogCi1zdGF0aWMgdm9pZCBjb25jdXJyZW50 X2NoaWxkKGludCBpOTE1LAorc3RhdGljIHZvaWQgY29uY3VycmVudF9jaGlsZChpbnQgaTkxNSwg Y29uc3QgaW50ZWxfY3R4X3QgKmN0eCwKIAkJCSAgICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmUyICplLAogCQkJICAgICB1aW50MzJfdCAqY29tbW9uLCBpbnQgbnVtX2NvbW1v biwKIAkJCSAgICAgaW50IGluLCBpbnQgb3V0KQpAQCAtMTEzNCw2ICsxMTQ3LDcgQEAgc3RhdGlj IHZvaWQgY29uY3VycmVudF9jaGlsZChpbnQgaTkxNSwKIAkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNl cl9wb2ludGVyKG9iaiksCiAJCS5idWZmZXJfY291bnQgPSBBUlJBWV9TSVpFKG9iaiksCiAJCS5m bGFncyA9IGUtPmZsYWdzIHwgSTkxNV9FWEVDX0hBTkRMRV9MVVQgfCAoZ2VuIDwgNiA/IEk5MTVf RVhFQ19TRUNVUkUgOiAwKSwKKwkJLnJzdmQxID0gY3R4LT5pZCwKIAl9OwogCXVpbnQzMl90ICpi YXRjaCA9ICZvYmpbbnVtX2NvbW1vbiArIDFdLmhhbmRsZTsKIAl1bnNpZ25lZCBsb25nIGNvdW50 ID0gMDsKQEAgLTEyMTQsNyArMTIyOCw3IEBAIHN0YXRpYyB1aW50MzJfdCBjcmVhdGVfY29uY3Vy cmVudF9iYXRjaChpbnQgaTkxNSwgdW5zaWduZWQgaW50IGNvdW50KQogCXJldHVybiBoYW5kbGU7 CiB9CiAKLXN0YXRpYyB2b2lkIGNvbmN1cnJlbnQoaW50IGk5MTUsIGludCBudW1fY29tbW9uKQor c3RhdGljIHZvaWQgY29uY3VycmVudChpbnQgaTkxNSwgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwg aW50IG51bV9jb21tb24pCiB7CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUy ICplOwogCWludCBpblsyXSwgb3V0WzJdOwpAQCAtMTI0MCwxMiArMTI1NCwxMiBAQCBzdGF0aWMg dm9pZCBjb25jdXJyZW50KGludCBpOTE1LCBpbnQgbnVtX2NvbW1vbikKIAkJY29tbW9uW25dID0g Z2VtX2NyZWF0ZShpOTE1LCA0ICogNCAqIENPTkNVUlJFTlQpOwogCiAJbmNoaWxkID0gMDsKLQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJZm9yX2VhY2hfY3R4X2VuZ2lu ZShpOTE1LCBjdHgsIGUpIHsKIAkJaWYgKCFnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGk5MTUs IGUtPmNsYXNzKSkKIAkJCWNvbnRpbnVlOwogCiAJCWlndF9mb3JrKGNoaWxkLCAxKQotCQkJY29u Y3VycmVudF9jaGlsZChpOTE1LCBlLAorCQkJY29uY3VycmVudF9jaGlsZChpOTE1LCBjdHgsIGUs CiAJCQkJCSBjb21tb24sIG51bV9jb21tb24sCiAJCQkJCSBpblswXSwgb3V0WzFdKTsKIApAQCAt MTMwOSw2ICsxMzIzLDcgQEAgcGluX3NjYW5vdXQoaWd0X2Rpc3BsYXlfdCAqZHB5LCBpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgc3RydWN0IGlndF9mYiAqZmIpCiAKIHN0YXRpYyB2b2lkIHNjYW5vdXQo aW50IGk5MTUsCiAJCSAgICBpZ3RfZGlzcGxheV90ICpkcHksCisJCSAgICBjb25zdCBpbnRlbF9j dHhfdCAqY3R4LAogCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICpl KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSByZWxvYyA9IHt9OwpA QCAtMTMxOSw2ICsxMzM0LDcgQEAgc3RhdGljIHZvaWQgc2Nhbm91dChpbnQgaTkxNSwKIAkJLmJ1 ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9iaiksCiAJCS5idWZmZXJfY291bnQgPSAyLAog CQkuZmxhZ3MgPSBlLT5mbGFncywKKwkJLnJzdmQxID0gY3R4LT5pZCwKIAl9OwogCWlndF9vdXRw dXRfdCAqb3V0cHV0OwogCXN0cnVjdCBpZ3RfZmIgZmI7CkBAIC0xNDM4LDYgKzE0NTQsNyBAQCBz dGF0aWMgdm9pZCBpbnZhbGlkX2RvbWFpbnMoaW50IGZkKQogCiBpZ3RfbWFpbgogeworCWNvbnN0 IGludGVsX2N0eF90ICpjdHg7CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUy ICplOwogCWNvbnN0IHN0cnVjdCBtb2RlIHsKIAkJY29uc3QgY2hhciAqbmFtZTsKQEAgLTE0ODEs NiArMTQ5OCw3IEBAIGlndF9tYWluCiAJCWlndF9yZXF1aXJlX2dlbShmZCk7CiAJCS8qIENoZWNr IGlmIHJlbG9jYXRpb25zIHN1cHBvcnRlZCBieSBwbGF0Zm9ybSAqLwogCQlpZ3RfcmVxdWlyZShn ZW1faGFzX3JlbG9jYXRpb25zKGZkKSk7CisJCWN0eCA9IGludGVsX2N0eF9jcmVhdGVfYWxsX3Bo eXNpY2FsKGZkKTsKIAl9CiAKIAlmb3IgKGYgPSBmbGFnczsgZi0+bmFtZTsgZisrKSB7CkBAIC0x NTQyLDUyICsxNTYwLDUyIEBAIGlndF9tYWluCiAKIAlpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWMo ImJhc2ljLWFjdGl2ZSIpIHsKIAkJaWd0X2R5bmFtaWMoImFsbCIpCi0JCQlhY3RpdmUoZmQsIEFM TF9FTkdJTkVTKTsKKwkJCWFjdGl2ZShmZCwgY3R4LCBBTExfRU5HSU5FUyk7CiAKLQkJX19mb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfY3R4X2VuZ2luZShmZCwg Y3R4LCBlKSB7CiAJCQlpZiAoIWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNz KSkKIAkJCQljb250aW51ZTsKIAogCQkJaWd0X2R5bmFtaWNfZigiJXMiLCBlLT5uYW1lKQotCQkJ CWFjdGl2ZShmZCwgZS0+ZmxhZ3MpOworCQkJCWFjdGl2ZShmZCwgY3R4LCBlLT5mbGFncyk7CiAJ CX0KIAl9CiAKIAlpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWMoImJhc2ljLXNwaW4iKSB7Ci0JCV9f Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCWZvcl9lYWNoX2N0eF9lbmdpbmUo ZmQsIGN0eCwgZSkgewogCQkJaWd0X2R5bmFtaWNfZigiJXMiLCBlLT5uYW1lKQotCQkJCWFjdGl2 ZV9zcGluKGZkLCBlLT5mbGFncyk7CisJCQkJYWN0aXZlX3NwaW4oZmQsIGN0eCwgZS0+ZmxhZ3Mp OwogCQl9CiAJfQogCiAJaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljKCJiYXNpYy1zcGluLW90aGVy cyIpIHsKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hf Y3R4X2VuZ2luZShmZCwgY3R4LCBlKSB7CiAJCQlpZ3RfZHluYW1pY19mKCIlcyIsIGUtPm5hbWUp Ci0JCQkJb3RoZXJzX3NwaW4oZmQsIGUtPmZsYWdzKTsKKwkJCQlvdGhlcnNfc3BpbihmZCwgY3R4 LCBlLT5mbGFncyk7CiAJCX0KIAl9CiAKIAlpZ3Rfc3VidGVzdF93aXRoX2R5bmFtaWMoImJhc2lj LW1hbnktYWN0aXZlIikgewotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewor CQlmb3JfZWFjaF9jdHhfZW5naW5lKGZkLCBjdHgsIGUpIHsKIAkJCWlndF9keW5hbWljX2YoIiVz IiwgZS0+bmFtZSkKLQkJCQltYW55X2FjdGl2ZShmZCwgZS0+ZmxhZ3MpOworCQkJCW1hbnlfYWN0 aXZlKGZkLCBjdHgsIGUtPmZsYWdzKTsKIAkJfQogCX0KIAogCWlndF9zdWJ0ZXN0X3dpdGhfZHlu YW1pYygiYmFzaWMtd2lkZS1hY3RpdmUiKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGZkLCBlKSB7CisJCWZvcl9lYWNoX2N0eF9lbmdpbmUoZmQsIGN0eCwgZSkgewogCQkJaWd0X2R5 bmFtaWNfZigiJXMiLCBlLT5uYW1lKQotCQkJCXdpZGVfYWN0aXZlKGZkLCBlLT5mbGFncyk7CisJ CQkJd2lkZV9hY3RpdmUoZmQsIGN0eCwgZS0+ZmxhZ3MpOwogCQl9CiAJfQogCiAJaWd0X3N1YnRl c3QoImJhc2ljLXBhcmFsbGVsIikKLQkJcGFyYWxsZWwoZmQpOworCQlwYXJhbGxlbChmZCwgY3R4 KTsKIAogCWlndF9zdWJ0ZXN0KCJiYXNpYy1jb25jdXJyZW50MCIpCi0JCWNvbmN1cnJlbnQoZmQs IDApOworCQljb25jdXJyZW50KGZkLCBjdHgsIDApOwogCWlndF9zdWJ0ZXN0KCJiYXNpYy1jb25j dXJyZW50MTYiKQotCQljb25jdXJyZW50KGZkLCAxNik7CisJCWNvbmN1cnJlbnQoZmQsIGN0eCwg MTYpOwogCiAJaWd0X3N1YnRlc3QoImludmFsaWQtZG9tYWlucyIpCiAJCWludmFsaWRfZG9tYWlu cyhmZCk7CkBAIC0xNjA1LDkgKzE2MjMsOSBAQCBpZ3RfbWFpbgogCQl9CiAKIAkJaWd0X3N1YnRl c3Rfd2l0aF9keW5hbWljKCJiYXNpYy1zY2Fub3V0IikgewotCQkJX19mb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIGUpIHsKKwkJCWZvcl9lYWNoX2N0eF9lbmdpbmUoZmQsIGN0eCwgZSkgewog CQkJCWlndF9keW5hbWljX2YoIiVzIiwgZS0+bmFtZSkKLQkJCQkJc2Nhbm91dChmZCwgJmRpc3Bs YXksIGUpOworCQkJCQlzY2Fub3V0KGZkLCAmZGlzcGxheSwgY3R4LCBlKTsKIAkJCX0KIAkJfQog Ci0tIAoyLjMxLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=