From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by gabe.freedesktop.org (Postfix) with ESMTPS id 710F889F3C for ; Mon, 14 Jun 2021 16:37:32 +0000 (UTC) Received: by mail-pj1-x1033.google.com with SMTP id z3-20020a17090a3983b029016bc232e40bso338356pjb.4 for ; Mon, 14 Jun 2021 09:37:32 -0700 (PDT) From: Jason Ekstrand Date: Mon, 14 Jun 2021 11:36:26 -0500 Message-Id: <20210614163704.365989-12-jason@jlekstrand.net> In-Reply-To: <20210614163704.365989-1-jason@jlekstrand.net> References: <20210614163704.365989-1-jason@jlekstrand.net> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 11/77] tests/i915/gem_exec_fair: Convert to intel_ctx_t 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: U2lnbmVkLW9mZi1ieTogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0PgpSZXZp ZXdlZC1ieTogWmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRl bC5jb20+Ci0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19mYWlyLmMgfCAxMTIgKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY1IGluc2VydGlvbnMo KyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmFp ci5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19mYWlyLmMKaW5kZXggNjI4ZjRkZjIyLi43YjUzY2Mx ZjQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmFpci5jCisrKyBiL3Rlc3RzL2k5 MTUvZ2VtX2V4ZWNfZmFpci5jCkBAIC0yMjUsNyArMjI1LDcgQEAgc3RhdGljIHZvaWQgZGVsYXko aW50IGk5MTUsCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0Mgot ZGVsYXlfY3JlYXRlKGludCBpOTE1LCB1aW50MzJfdCBjdHgsCitkZWxheV9jcmVhdGUoaW50IGk5 MTUsIGNvbnN0IGludGVsX2N0eF90ICpjdHgsCiAJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhl Y3V0aW9uX2VuZ2luZTIgKmUsCiAJICAgICB1aW50NjRfdCB0YXJnZXRfbnMpCiB7CkBAIC0yMzYs NyArMjM2LDcgQEAgZGVsYXlfY3JlYXRlKGludCBpOTE1LCB1aW50MzJfdCBjdHgsCiAJc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmID0gewogCQkuYnVmZmVyc19wdHIgPSB0 b191c2VyX3BvaW50ZXIoJm9iaiksCiAJCS5idWZmZXJfY291bnQgPSAxLAotCQkucnN2ZDEgPSBj dHgsCisJCS5yc3ZkMSA9IGN0eC0+aWQsCiAJCS5mbGFncyA9IGUtPmZsYWdzLAogCX07CiAKQEAg LTMyNiw3ICszMjYsOCBAQCBzdGF0aWMgdm9pZCB0c2xvZyhpbnQgaTkxNSwKIH0KIAogc3RhdGlj IHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyCi10c2xvZ19jcmVhdGUoaW50IGk5MTUs IHVpbnQzMl90IGN0eCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQor dHNsb2dfY3JlYXRlKGludCBpOTE1LCBjb25zdCBpbnRlbF9jdHhfdCAqY3R4LAorCSAgICAgY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogewogCXN0cnVjdCBkcm1faTkx NV9nZW1fZXhlY19vYmplY3QyIG9iaiA9IHsKIAkJLmhhbmRsZSA9IGJhdGNoX2NyZWF0ZShpOTE1 KSwKQEAgLTMzNSw3ICszMzYsNyBAQCB0c2xvZ19jcmVhdGUoaW50IGk5MTUsIHVpbnQzMl90IGN0 eCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogCXN0cnVjdCBkcm1f aTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZiA9IHsKIAkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNl cl9wb2ludGVyKCZvYmopLAogCQkuYnVmZmVyX2NvdW50ID0gMSwKLQkJLnJzdmQxID0gY3R4LAor CQkucnN2ZDEgPSBjdHgtPmlkLAogCQkuZmxhZ3MgPSBlLT5mbGFncywKIAl9OwogCkBAIC0zNjIs NyArMzYzLDggQEAgc3RhdGljIGludCBjbXBfdTMyKGNvbnN0IHZvaWQgKkEsIGNvbnN0IHZvaWQg KkIpCiB9CiAKIHN0YXRpYyB1aW50MzJfdAotcmVhZF9jdHhfdGltZXN0YW1wKGludCBpOTE1LCBj b25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCityZWFkX2N0eF90aW1lc3Rh bXAoaW50IGk5MTUsIGNvbnN0IGludGVsX2N0eF90ICpjdHgsCisJCSAgIGNvbnN0IHN0cnVjdCBp bnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9j YXRpb25fZW50cnkgcmVsb2M7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2Jq ID0gewpAQCAtMzc0LDYgKzM3Niw3IEBAIHJlYWRfY3R4X3RpbWVzdGFtcChpbnQgaTkxNSwgY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZiA9IHsKIAkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2lu dGVyKCZvYmopLAogCQkuYnVmZmVyX2NvdW50ID0gMSwKKwkJLnJzdmQxID0gY3R4LT5pZCwKIAkJ LmZsYWdzID0gZS0+ZmxhZ3MsCiAJfTsKIAljb25zdCBpbnQgdXNlXzY0YiA9IGludGVsX2dlbihp bnRlbF9nZXRfZHJtX2RldmlkKGk5MTUpKSA+PSA4OwpAQCAtNDE1LDIzICs0MTgsMzEgQEAgcmVh ZF9jdHhfdGltZXN0YW1wKGludCBpOTE1LCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2Vu Z2luZTIgKmUpCiAJcmV0dXJuIHRzOwogfQogCi1zdGF0aWMgYm9vbCBoYXNfY3R4X3RpbWVzdGFt cChpbnQgaTkxNSwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQorc3Rh dGljIGJvb2wgaGFzX2N0eF90aW1lc3RhbXAoaW50IGk5MTUsIGNvbnN0IGludGVsX2N0eF9jZmdf dCAqY2ZnLAorCQkJICAgICAgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICpl KQogewogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChpOTE1 KSk7CisJY29uc3QgaW50ZWxfY3R4X3QgKnRtcF9jdHg7CisJdWludDMyX3QgdGltZXN0YW1wOwog CiAJaWYgKGdlbiA9PSA4ICYmIGUtPmNsYXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPKQog CQlyZXR1cm4gZmFsc2U7IC8qIGxvb2tzIGZ1YmFyICovCiAKLQlyZXR1cm4gcmVhZF9jdHhfdGlt ZXN0YW1wKGk5MTUsIGUpOworCXRtcF9jdHggPSBpbnRlbF9jdHhfY3JlYXRlKGk5MTUsIGNmZyk7 CisJdGltZXN0YW1wID0gcmVhZF9jdHhfdGltZXN0YW1wKGk5MTUsIHRtcF9jdHgsIGUpOworCWlu dGVsX2N0eF9kZXN0cm95KGk5MTUsIHRtcF9jdHgpOworCisJcmV0dXJuIHRpbWVzdGFtcDsKIH0K IAogc3RhdGljIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMgotcGlja19yYW5kb21fZW5n aW5lKGludCBpOTE1LCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKm5vdCkK K3BpY2tfcmFuZG9tX2VuZ2luZShpbnQgaTkxNSwgY29uc3QgaW50ZWxfY3R4X2NmZ190ICpjZmcs CisJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqbm90KQogewogCWNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAl1bnNpZ25lZCBpbnQgY291 bnQgPSAwOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCWZvcl9l YWNoX2N0eF9jZmdfZW5naW5lKGk5MTUsIGNmZywgZSkgewogCQlpZiAoZS0+ZmxhZ3MgPT0gbm90 LT5mbGFncykKIAkJCWNvbnRpbnVlOwogCQlpZiAoIWdlbV9jbGFzc19oYXNfbXV0YWJsZV9zdWJt aXNzaW9uKGk5MTUsIGUtPmNsYXNzKSkKQEAgLTQ0Miw3ICs0NTMsNyBAQCBwaWNrX3JhbmRvbV9l bmdpbmUoaW50IGk5MTUsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqbm90 KQogCQlyZXR1cm4gKm5vdDsKIAogCWNvdW50ID0gcmFuZCgpICUgY291bnQ7Ci0JX19mb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCWZvcl9lYWNoX2N0eF9jZmdfZW5naW5lKGk5 MTUsIGNmZywgZSkgewogCQlpZiAoZS0+ZmxhZ3MgPT0gbm90LT5mbGFncykKIAkJCWNvbnRpbnVl OwogCQlpZiAoIWdlbV9jbGFzc19oYXNfbXV0YWJsZV9zdWJtaXNzaW9uKGk5MTUsIGUtPmNsYXNz KSkKQEAgLTQ1NCw3ICs0NjUsNyBAQCBwaWNrX3JhbmRvbV9lbmdpbmUoaW50IGk5MTUsIGNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqbm90KQogCXJldHVybiAqZTsKIH0KIAot c3RhdGljIHZvaWQgZmFpcl9jaGlsZChpbnQgaTkxNSwgdWludDMyX3QgY3R4LAorc3RhdGljIHZv aWQgZmFpcl9jaGlsZChpbnQgaTkxNSwgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwKIAkJICAgICAg IGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJICAgICAgIHVpbnQ2 NF90IGZyYW1lX25zLAogCQkgICAgICAgaW50IHRpbWVsaW5lLApAQCAtNDk1LDcgKzUwNiw3IEBA IHN0YXRpYyB2b2lkIGZhaXJfY2hpbGQoaW50IGk5MTUsIHVpbnQzMl90IGN0eCwKIAogCXNyYW5k b20oZ2V0cGlkKCkpOwogCWlmIChmbGFncyAmIEZfUElORykKLQkJcGluZyA9IHBpY2tfcmFuZG9t X2VuZ2luZShpOTE1LCBlKTsKKwkJcGluZyA9IHBpY2tfcmFuZG9tX2VuZ2luZShpOTE1LCAmY3R4 LT5jZmcsIGUpOwogCW9ialswXSA9IHRzbG9nX2NyZWF0ZShpOTE1LCBjdHgsICZwaW5nKTsKIAog CS8qIFN5bmNocm9uaXplIHdpdGggb3RoZXIgY2hpbGRyZW4vcGFyZW50IHVwb24gY29uc3RydWN0 aW9uICovCkBAIC01MTUsNyArNTI2LDcgQEAgc3RhdGljIHZvaWQgZmFpcl9jaGlsZChpbnQgaTkx NSwgdWludDMyX3QgY3R4LAogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNi dWYgPSB7CiAJCQkuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKSwKIAkJCS5idWZm ZXJfY291bnQgPSAzLAotCQkJLnJzdmQxID0gY3R4LAorCQkJLnJzdmQxID0gY3R4LT5pZCwKIAkJ CS5yc3ZkMiA9IC0xLAogCQkJLmZsYWdzID0gYXV4X2ZsYWdzLAogCQl9OwpAQCAtNjM3LDcgKzY0 OCw3IEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5lX2FkdmFuY2UoaW50IHRpbWVsaW5lLCBpbnQgZGVs YXlfbnMpCiAJc3dfc3luY190aW1lbGluZV9pbmModGltZWxpbmUsIDEpOwogfQogCi1zdGF0aWMg dm9pZCBmYWlybmVzcyhpbnQgaTkxNSwKK3N0YXRpYyB2b2lkIGZhaXJuZXNzKGludCBpOTE1LCBj b25zdCBpbnRlbF9jdHhfY2ZnX3QgKmNmZywKIAkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhl Y3V0aW9uX2VuZ2luZTIgKmUsCiAJCSAgICAgaW50IGR1cmF0aW9uLCB1bnNpZ25lZCBpbnQgZmxh Z3MpCiB7CkBAIC02NTAsNyArNjYxLDcgQEAgc3RhdGljIHZvaWQgZmFpcm5lc3MoaW50IGk5MTUs CiAJCWludCBwYXJlbnRbMl07CiAJfSBsbms7CiAKLQlpZ3RfcmVxdWlyZShoYXNfY3R4X3RpbWVz dGFtcChpOTE1LCBlKSk7CisJaWd0X3JlcXVpcmUoaGFzX2N0eF90aW1lc3RhbXAoaTkxNSwgY2Zn LCBlKSk7CiAJaWd0X3JlcXVpcmUoZ2VtX2NsYXNzX2hhc19tdXRhYmxlX3N1Ym1pc3Npb24oaTkx NSwgZS0+Y2xhc3MpKTsKIAlpZiAoZmxhZ3MgJiAoRl9JU09MQVRFIHwgRl9QSU5HKSkKIAkJaWd0 X3JlcXVpcmUoaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoaTkxNSkpID49IDgpOwpAQCAt NzE0LDEyICs3MjUsMTIgQEAgc3RhdGljIHZvaWQgZmFpcm5lc3MoaW50IGk5MTUsCiAJCWlmIChm bGFncyAmIEZfUElORykgeyAvKiBmaWxsIHRoZSBvdGhlcnMgd2l0aCBsaWdodCBiZyBsb2FkICov CiAJCQlzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKnBpbmc7CiAKLQkJCV9fZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIHBpbmcpIHsKKwkJCWZvcl9lYWNoX2N0eF9jZmdfZW5n aW5lKGk5MTUsIGNmZywgcGluZykgewogCQkJCWlmIChwaW5nLT5mbGFncyA9PSBlLT5mbGFncykK IAkJCQkJY29udGludWU7CiAKIAkJCQlpZ3RfZm9yayhjaGlsZCwgMSkgewotCQkJCQl1aW50MzJf dCBjdHggPSBnZW1fY29udGV4dF9jbG9uZV93aXRoX2VuZ2luZXMoaTkxNSwgMCk7CisJCQkJCWNv bnN0IGludGVsX2N0eF90ICpjdHggPSBpbnRlbF9jdHhfY3JlYXRlKGk5MTUsIGNmZyk7CiAKIAkJ CQkJZmFpcl9jaGlsZChpOTE1LCBjdHgsIHBpbmcsCiAJCQkJCQkgICBjaGlsZF9ucyAvIDgsCkBA IC03MjgsNyArNzM5LDcgQEAgc3RhdGljIHZvaWQgZmFpcm5lc3MoaW50IGk5MTUsCiAJCQkJCQkg ICAmcmVzdWx0W25jaGlsZF0sCiAJCQkJCQkgICBOVUxMLCBOVUxMLCAtMSwgLTEpOwogCi0JCQkJ CWdlbV9jb250ZXh0X2Rlc3Ryb3koaTkxNSwgY3R4KTsKKwkJCQkJaW50ZWxfY3R4X2Rlc3Ryb3ko aTkxNSwgY3R4KTsKIAkJCQl9CiAJCQl9CiAJCX0KQEAgLTczNiwyNiArNzQ3LDI0IEBAIHN0YXRp YyB2b2lkIGZhaXJuZXNzKGludCBpOTE1LAogCQlnZXRydXNhZ2UoUlVTQUdFX0NISUxEUkVOLCAm b2xkX3VzYWdlKTsKIAkJaWd0X25zZWNfZWxhcHNlZChtZW1zZXQoJnR2LCAwLCBzaXplb2YodHYp KSk7CiAJCWlndF9mb3JrKGNoaWxkLCBuY2hpbGQpIHsKLQkJCXVpbnQzMl90IGN0eDsKKwkJCWNv bnN0IGludGVsX2N0eF90ICpjdHg7CiAKIAkJCWlmIChmbGFncyAmIEZfSVNPTEFURSkgewotCQkJ CWludCBjbG9uZSwgZG1hYnVmID0gLTE7CisJCQkJaW50IGRtYWJ1ZiA9IC0xOwogCiAJCQkJaWYg KGNvbW1vbikKIAkJCQkJZG1hYnVmID0gcHJpbWVfaGFuZGxlX3RvX2ZkKGk5MTUsIGNvbW1vbik7 CiAKLQkJCQljbG9uZSA9IGdlbV9yZW9wZW5fZHJpdmVyKGk5MTUpOwotCQkJCWdlbV9jb250ZXh0 X2NvcHlfZW5naW5lcyhpOTE1LCAwLCBjbG9uZSwgMCk7Ci0JCQkJaTkxNSA9IGNsb25lOworCQkJ CWk5MTUgPSBnZW1fcmVvcGVuX2RyaXZlcihpOTE1KTsKIAogCQkJCWlmIChkbWFidWYgIT0gLTEp CiAJCQkJCWNvbW1vbiA9IHByaW1lX2ZkX3RvX2hhbmRsZShpOTE1LCBkbWFidWYpOwogCQkJfQog Ci0JCQljdHggPSBnZW1fY29udGV4dF9jbG9uZV93aXRoX2VuZ2luZXMoaTkxNSwgMCk7CisJCQlj dHggPSBpbnRlbF9jdHhfY3JlYXRlKGk5MTUsIGNmZyk7CiAKIAkJCWlmIChmbGFncyAmIEZfVklQ ICYmIGNoaWxkID09IDApIHsKLQkJCQlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoaTkxNSwgY3R4 LCAxMDIzKTsKKwkJCQlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoaTkxNSwgY3R4LT5pZCwgMTAy Myk7CiAJCQkJZmxhZ3MgfD0gRl9GTE9XOwogCQkJfQogCQkJaWYgKGZsYWdzICYgRl9SUlVMICYm IGNoaWxkID09IDApCkBAIC03NjcsNyArNzc2LDcgQEAgc3RhdGljIHZvaWQgZmFpcm5lc3MoaW50 IGk5MTUsCiAJCQkJICAgJnJlc3VsdFtjaGlsZF0sICZpcXJbY2hpbGRdLAogCQkJCSAgIGxuay5j aGlsZFsxXSwgbG5rLnBhcmVudFswXSk7CiAKLQkJCWdlbV9jb250ZXh0X2Rlc3Ryb3koaTkxNSwg Y3R4KTsKKwkJCWludGVsX2N0eF9kZXN0cm95KGk5MTUsIGN0eCk7CiAJCX0KIAogCQl7CkBAIC05 MTIsNyArOTIxLDcgQEAgc3RhdGljIHZvaWQgZmFpcm5lc3MoaW50IGk5MTUsCiB9CiAKIHN0YXRp YyB2b2lkIGRlYWRsaW5lX2NoaWxkKGludCBpOTE1LAotCQkJICAgdWludDMyX3QgY3R4LAorCQkJ ICAgY29uc3QgaW50ZWxfY3R4X3QgKmN0eCwKIAkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lMiAqZSwKIAkJCSAgIHVpbnQzMl90IGhhbmRsZSwKIAkJCSAgIGludCB0aW1l bGluZSwKQEAgLTkzMiw3ICs5NDEsNyBAQCBzdGF0aWMgdm9pZCBkZWFkbGluZV9jaGlsZChpbnQg aTkxNSwKIAkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9iaiksCiAJCS5idWZmZXJf Y291bnQgPSBBUlJBWV9TSVpFKG9iaiksCiAJCS5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9PVVQg fCBlLT5mbGFncywKLQkJLnJzdmQxID0gY3R4LAorCQkucnN2ZDEgPSBjdHgtPmlkLAogCX07CiAJ dW5zaWduZWQgaW50IHNlcSA9IDE7CiAJaW50IHByZXYgPSAtMSwgbmV4dCA9IC0xOwpAQCAtOTc3 LDExICs5ODYsMTIgQEAgc3RhdGljIHZvaWQgZGVhZGxpbmVfY2hpbGQoaW50IGk5MTUsCiAJY2xv c2UocHJldik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgcGlj a19kZWZhdWx0KGludCBpOTE1KQorc3RhdGljIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l MgorcGlja19kZWZhdWx0KGludCBpOTE1LCBjb25zdCBpbnRlbF9jdHhfY2ZnX3QgKmNmZykKIHsK IAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAKLQlfX2Zvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJZm9yX2VhY2hfY3R4X2NmZ19lbmdpbmUoaTkx NSwgY2ZnLCBlKSB7CiAJCWlmICghZS0+ZmxhZ3MpCiAJCQlyZXR1cm4gKmU7CiAJfQpAQCAtOTg5 LDExICs5OTksMTIgQEAgc3RhdGljIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiBwaWNr X2RlZmF1bHQoaW50IGk5MTUpCiAJcmV0dXJuIChzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZTIpe307CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgcGlja19l bmdpbmUoaW50IGk5MTUsIGNvbnN0IGNoYXIgKm5hbWUpCitzdGF0aWMgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyCitwaWNrX2VuZ2luZShpbnQgaTkxNSwgY29uc3QgaW50ZWxfY3R4X2Nm Z190ICpjZmcsIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmUyICplOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkg eworCWZvcl9lYWNoX2N0eF9jZmdfZW5naW5lKGk5MTUsIGNmZywgZSkgewogCQlpZiAoIXN0cmNt cChlLT5uYW1lLCBuYW1lKSkKIAkJCXJldHVybiAqZTsKIAl9CkBAIC0xMDMwLDE1ICsxMDQxLDE2 IEBAIHN0YXRpYyB1aW50NjRfdCB0aW1lX2dldF9tb25vX25zKHZvaWQpCiAJcmV0dXJuIHR2LnR2 X3NlYyAqIE5TRUM2NCArIHR2LnR2X25zZWM7CiB9CiAKLXN0YXRpYyB2b2lkIGRlYWRsaW5lKGlu dCBpOTE1LCBpbnQgZHVyYXRpb24sIHVuc2lnbmVkIGludCBmbGFncykKK3N0YXRpYyB2b2lkIGRl YWRsaW5lKGludCBpOTE1LCBjb25zdCBpbnRlbF9jdHhfY2ZnX3QgKmNmZywKKwkJICAgICBpbnQg ZHVyYXRpb24sIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAljb25zdCBpbnQ2NF90IGZyYW1lX25z ID0gMzM2NzAgKiAxMDAwOyAvKiAyOS43ZnBzICovCiAJY29uc3QgaW50NjRfdCBwYXJlbnRfbnMg PSA0MDAgKiAxMDAwOwogCWNvbnN0IGludDY0X3Qgc3dpdGNoX25zID0gNTAgKiAxMDAwOwogCWNv bnN0IGludDY0X3Qgb3ZlcmhlYWRfbnMgPSAvKiBlc3RpbWF0ZSB0aW1lc2xpY2luZyBvdmVyaGVh ZCAqLwogCQkoZnJhbWVfbnMgLyAxMDAwIC8gMTAwMCArIDIpICogc3dpdGNoX25zICsgcGFyZW50 X25zOwotCXN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiBwZSA9IHBpY2tfZGVmYXVsdChp OTE1KTsKLQlzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgdmUgPSBwaWNrX2VuZ2luZShp OTE1LCAidmNzMCIpOworCXN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiBwZSA9IHBpY2tf ZGVmYXVsdChpOTE1LCBjZmcpOworCXN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiB2ZSA9 IHBpY2tfZW5naW5lKGk5MTUsIGNmZywgInZjczAiKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNfZmVuY2UgKmZlbmNlcyA9IGNhbGxvYyhzaXplb2YoKmZlbmNlcyksIDMyKTsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqb2JqID0gY2FsbG9jKHNpemVvZigqb2JqKSwgMzIp OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZiA9IHsKQEAgLTEwNDks MTQgKzEwNjEsMTUgQEAgc3RhdGljIHZvaWQgZGVhZGxpbmUoaW50IGk5MTUsIGludCBkdXJhdGlv biwgdW5zaWduZWQgaW50IGZsYWdzKQogCQkJSTkxNV9FWEVDX0ZFTkNFX0FSUkFZIHwKIAkJCUk5 MTVfRVhFQ19GRU5DRV9PVVQKIAl9OworCWNvbnN0IGludGVsX2N0eF90ICpkZWxheV9jdHg7CiAJ aW50ICpjdGw7CiAKIAlpZ3RfcmVxdWlyZShoYXNfc3luY29iaihpOTE1KSk7CiAJaWd0X3JlcXVp cmUoaGFzX2ZlbmNlX2FycmF5KGk5MTUpKTsKIAlpZ3RfcmVxdWlyZShoYXNfbWlfbWF0aChpOTE1 LCAmcGUpKTsKLQlpZ3RfcmVxdWlyZShoYXNfY3R4X3RpbWVzdGFtcChpOTE1LCAmcGUpKTsKKwlp Z3RfcmVxdWlyZShoYXNfY3R4X3RpbWVzdGFtcChpOTE1LCBjZmcsICZwZSkpOwogCWlndF9yZXF1 aXJlKGhhc19taV9tYXRoKGk5MTUsICZ2ZSkpOwotCWlndF9yZXF1aXJlKGhhc19jdHhfdGltZXN0 YW1wKGk5MTUsICZ2ZSkpOworCWlndF9yZXF1aXJlKGhhc19jdHhfdGltZXN0YW1wKGk5MTUsIGNm ZywgJnZlKSk7CiAJaWd0X2Fzc2VydChvYmogJiYgZmVuY2VzKTsKIAlpZiAoZmxhZ3MgJiBETF9Q UklPKQogCQlpZ3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2hhc19wcmVlbXB0aW9uKGk5MTUpKTsK QEAgLTEwNjQsOSArMTA3NywxMCBAQCBzdGF0aWMgdm9pZCBkZWFkbGluZShpbnQgaTkxNSwgaW50 IGR1cmF0aW9uLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJY3RsID0gbW1hcChOVUxMLCA0MDk2LCBQ Uk9UX1dSSVRFLCBNQVBfU0hBUkVEIHwgTUFQX0FOT04sIC0xLCAwKTsKIAlpZ3RfYXNzZXJ0KGN0 bCAhPSBNQVBfRkFJTEVEKTsKIAotCW9ialswXSA9IGRlbGF5X2NyZWF0ZShpOTE1LCAwLCAmcGUs IHBhcmVudF9ucyk7CisJZGVsYXlfY3R4ID0gaW50ZWxfY3R4X2NyZWF0ZShpOTE1LCBjZmcpOwor CW9ialswXSA9IGRlbGF5X2NyZWF0ZShpOTE1LCBkZWxheV9jdHgsICZwZSwgcGFyZW50X25zKTsK IAlpZiAoZmxhZ3MgJiBETF9QUklPKQotCQlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoaTkxNSwg MCwgMTAyMyk7CisJCWdlbV9jb250ZXh0X3NldF9wcmlvcml0eShpOTE1LCBkZWxheV9jdHgtPmlk LCAxMDIzKTsKIAlpZiAoaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoaTkxNSkpIDwgOCkK IAkJZXhlY2J1Zi5mbGFncyB8PSBJOTE1X0VYRUNfU0VDVVJFOwogCWZvciAoaW50IG4gPSAxOyBu IDw9IDU7IG4rKykgewpAQCAtMTA5Myw3ICsxMTA3LDcgQEAgc3RhdGljIHZvaWQgZGVhZGxpbmUo aW50IGk5MTUsIGludCBkdXJhdGlvbiwgdW5zaWduZWQgaW50IGZsYWdzKQogCiAJCSpjdGwgPSAw OwogCQlpZ3RfZm9yayhjaGlsZCwgbnVtX2NoaWxkcmVuKSB7Ci0JCQl1aW50MzJfdCBjdHggPSBn ZW1fY29udGV4dF9jbG9uZV93aXRoX2VuZ2luZXMoaTkxNSwgMCk7CisJCQljb25zdCBpbnRlbF9j dHhfdCAqY3R4ID0gaW50ZWxfY3R4X2NyZWF0ZShpOTE1LCBjZmcpOwogCiAJCQlkZWFkbGluZV9j aGlsZChpOTE1LCBjdHgsICZ2ZSwgb2JqW2NoaWxkICsgMV0uaGFuZGxlLAogCQkJCSAgICAgICB0 aW1lbGluZSwgY2hpbGRfbnMsCkBAIC0xMTAxLDcgKzExMTUsNyBAQCBzdGF0aWMgdm9pZCBkZWFk bGluZShpbnQgaTkxNSwgaW50IGR1cmF0aW9uLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJCQkJICAg ICAgIGxpbmtbY2hpbGRdLnBhcmVudFswXSwKIAkJCQkgICAgICAgY3RsLCBmbGFncyk7CiAKLQkJ CWdlbV9jb250ZXh0X2Rlc3Ryb3koaTkxNSwgY3R4KTsKKwkJCWludGVsX2N0eF9kZXN0cm95KGk5 MTUsIGN0eCk7CiAJCX0KIAogCQlmb3IgKGludCBpID0gMDsgaSA8IG51bV9jaGlsZHJlbjsgaSsr KQpAQCAtMTE3NSw2ICsxMTg5LDcgQEAgc3RhdGljIHZvaWQgZGVhZGxpbmUoaW50IGk5MTUsIGlu dCBkdXJhdGlvbiwgdW5zaWduZWQgaW50IGZsYWdzKQogCQlnZW1fcXVpZXNjZW50X2dwdShpOTE1 KTsKIAl9CiAKKwlpbnRlbF9jdHhfZGVzdHJveShpOTE1LCBkZWxheV9jdHgpOwogCWdlbV9jbG9z ZShpOTE1LCBvYmpbMF0uaGFuZGxlKTsKIAlmcmVlKG9iaik7CiAJZnJlZShmZW5jZXMpOwpAQCAt MTI4Miw2ICsxMjk3LDcgQEAgaWd0X21haW4KIAkJe30KIAl9OwogCWNvbnN0IHN0cnVjdCBpbnRl bF9leGVjdXRpb25fZW5naW5lMiAqZTsKKwlpbnRlbF9jdHhfY2ZnX3QgY2ZnOwogCWludCBpOTE1 ID0gLTE7CiAKIAlpZ3RfZml4dHVyZSB7CkBAIC0xMjk3LDYgKzEzMTMsOCBAQCBpZ3RfbWFpbgog CQlpZ3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2VuYWJsZWQoaTkxNSkpOwogCQlpZ3RfcmVxdWly ZShnZW1fc2NoZWR1bGVyX2hhc19jdHhfcHJpb3JpdHkoaTkxNSkpOwogCisJCWNmZyA9IGludGVs X2N0eF9jZmdfYWxsX3BoeXNpY2FsKGk5MTUpOworCiAJCWlndF9pbmZvKCJDUyB0aW1lc3RhbXAg ZnJlcXVlbmN5OiAlZFxuIiwKIAkJCSByZWFkX3RpbWVzdGFtcF9mcmVxdWVuY3koaTkxNSkpOwog CQlpZ3RfcmVxdWlyZShoYXNfbWlfbWF0aChpOTE1LCBOVUxMKSk7CkBAIC0xMzEwLDcgKzEzMjgs NyBAQCBpZ3RfbWFpbgogCQkJY29udGludWU7CiAKIAkJaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWlj X2YoImJhc2ljLSVzIiwgZi0+bmFtZSkgIHsKLQkJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGk5MTUsIGUpIHsKKwkJCWZvcl9lYWNoX2N0eF9jZmdfZW5naW5lKGk5MTUsICZjZmcsIGUpIHsK IAkJCQlpZiAoIWhhc19taV9tYXRoKGk5MTUsIGUpKQogCQkJCQljb250aW51ZTsKIApAQCAtMTMy MSwxOSArMTMzOSwxOSBAQCBpZ3RfbWFpbgogCQkJCQljb250aW51ZTsKIAogCQkJCWlndF9keW5h bWljX2YoIiVzIiwgZS0+bmFtZSkKLQkJCQkJZmFpcm5lc3MoaTkxNSwgZSwgMSwgZi0+ZmxhZ3Mp OworCQkJCQlmYWlybmVzcyhpOTE1LCAmY2ZnLCBlLCAxLCBmLT5mbGFncyk7CiAJCQl9CiAJCX0K IAl9CiAKIAlpZ3Rfc3VidGVzdCgiYmFzaWMtZGVhZGxpbmUiKQotCQlkZWFkbGluZShpOTE1LCAy LCAwKTsKKwkJZGVhZGxpbmUoaTkxNSwgJmNmZywgMiwgMCk7CiAJaWd0X3N1YnRlc3QoImRlYWRs aW5lLXByaW8iKQotCQlkZWFkbGluZShpOTE1LCAyLCBETF9QUklPKTsKKwkJZGVhZGxpbmUoaTkx NSwgJmNmZywgMiwgRExfUFJJTyk7CiAKIAlmb3IgKHR5cGVvZigqZmFpcikgKmYgPSBmYWlyOyBm LT5uYW1lOyBmKyspIHsKIAkJaWd0X3N1YnRlc3Rfd2l0aF9keW5hbWljX2YoImZhaXItJXMiLCBm LT5uYW1lKSAgewotCQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCQkJ Zm9yX2VhY2hfY3R4X2NmZ19lbmdpbmUoaTkxNSwgJmNmZywgZSkgewogCQkJCWlmICghaGFzX21p X21hdGgoaTkxNSwgZSkpCiAJCQkJCWNvbnRpbnVlOwogCkBAIC0xMzQ0LDcgKzEzNjIsNyBAQCBp Z3RfbWFpbgogCQkJCQljb250aW51ZTsKIAogCQkJCWlndF9keW5hbWljX2YoIiVzIiwgZS0+bmFt ZSkKLQkJCQkJZmFpcm5lc3MoaTkxNSwgZSwgNSwgZi0+ZmxhZ3MpOworCQkJCQlmYWlybmVzcyhp OTE1LCAmY2ZnLCBlLCA1LCBmLT5mbGFncyk7CiAJCQl9CiAJCX0KIAl9Ci0tIAoyLjMxLjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=