From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31F456E8CB for ; Wed, 20 Nov 2019 21:22:10 +0000 (UTC) From: Lionel Landwerlin Date: Wed, 20 Nov 2019 23:21:34 +0200 Message-Id: <20191120212143.364333-2-lionel.g.landwerlin@intel.com> In-Reply-To: <20191120212143.364333-1-lionel.g.landwerlin@intel.com> References: <20191120212143.364333-1-lionel.g.landwerlin@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 01/10] lib/syncobj: drop local declarations 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: V2UgaGF2ZSBjb3BpZXMgb2YgdGhlIERSTSB1QVBJIGhlYWRlcnMgaW4gdGhlIHJlcG8sIHNvIGRy b3AgdGhlIGxvY2FsCmRlY2xhcmF0aW9uIG9mIHN5bmNvYmogZGVmaW5lcy90eXBlcy4KClNpZ25l ZC1vZmYtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNv bT4KLS0tCiBsaWIvaWd0X3N5bmNvYmouYyAgICAgfCAxNiArKysrKystLS0tLS0KIGxpYi9pZ3Rf c3luY29iai5oICAgICB8IDI2ICstLS0tLS0tLS0tLS0tLS0tLS0KIHRlc3RzL3N5bmNvYmpfYmFz aWMuYyB8ICAyICstCiB0ZXN0cy9zeW5jb2JqX3dhaXQuYyAgfCA1OCArKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlv bnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfc3luY29iai5jIGIv bGliL2lndF9zeW5jb2JqLmMKaW5kZXggMGZkZGI5N2EuLmU1NTY5ZmZjIDEwMDY0NAotLS0gYS9s aWIvaWd0X3N5bmNvYmouYworKysgYi9saWIvaWd0X3N5bmNvYmouYwpAQCAtMTcwLDEwICsxNzAs MTAgQEAgc3luY29ial9pbXBvcnRfc3luY19maWxlKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBp bnQgc3luY19maWxlKQogfQogCiBpbnQKLV9fc3luY29ial93YWl0KGludCBmZCwgc3RydWN0IGxv Y2FsX3N5bmNvYmpfd2FpdCAqYXJncykKK19fc3luY29ial93YWl0KGludCBmZCwgc3RydWN0IGRy bV9zeW5jb2JqX3dhaXQgKmFyZ3MpCiB7CiAJaW50IGVyciA9IDA7Ci0JaWYgKGRybUlvY3RsKGZk LCBMT0NBTF9JT0NUTF9TWU5DT0JKX1dBSVQsIGFyZ3MpKQorCWlmIChkcm1Jb2N0bChmZCwgRFJN X0lPQ1RMX1NZTkNPQkpfV0FJVCwgYXJncykpCiAJCWVyciA9IC1lcnJubzsKIAlyZXR1cm4gZXJy OwogfQpAQCAtMTgyLDcgKzE4Miw3IEBAIGludAogc3luY29ial93YWl0X2VycihpbnQgZmQsIHVp bnQzMl90ICpoYW5kbGVzLCB1aW50MzJfdCBjb3VudCwKIAkJIHVpbnQ2NF90IGFic190aW1lb3V0 X25zZWMsIHVpbnQzMl90IGZsYWdzKQogewotCXN0cnVjdCBsb2NhbF9zeW5jb2JqX3dhaXQgd2Fp dDsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmpfd2FpdCB3YWl0OwogCiAJd2FpdC5oYW5kbGVzID0gdG9f dXNlcl9wb2ludGVyKGhhbmRsZXMpOwogCXdhaXQudGltZW91dF9uc2VjID0gYWJzX3RpbWVvdXRf bnNlYzsKQEAgLTIxMiw3ICsyMTIsNyBAQCBzeW5jb2JqX3dhaXQoaW50IGZkLCB1aW50MzJfdCAq aGFuZGxlcywgdWludDMyX3QgY291bnQsCiAJICAgICB1aW50NjRfdCBhYnNfdGltZW91dF9uc2Vj LCB1aW50MzJfdCBmbGFncywKIAkgICAgIHVpbnQzMl90ICpmaXJzdF9zaWduYWxlZCkKIHsKLQlz dHJ1Y3QgbG9jYWxfc3luY29ial93YWl0IHdhaXQ7CisJc3RydWN0IGRybV9zeW5jb2JqX3dhaXQg d2FpdDsKIAlpbnQgcmV0OwogCiAJd2FpdC5oYW5kbGVzID0gdG9fdXNlcl9wb2ludGVyKGhhbmRs ZXMpOwpAQCAtMjM2LDEyICsyMzYsMTIgQEAgc3luY29ial93YWl0KGludCBmZCwgdWludDMyX3Qg KmhhbmRsZXMsIHVpbnQzMl90IGNvdW50LAogc3RhdGljIGludAogX19zeW5jb2JqX3Jlc2V0KGlu dCBmZCwgdWludDMyX3QgKmhhbmRsZXMsIHVpbnQzMl90IGNvdW50KQogewotCXN0cnVjdCBsb2Nh bF9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3RydWN0IGRybV9zeW5jb2JqX2FycmF5 IGFycmF5ID0geyAwIH07CiAJaW50IGVyciA9IDA7CiAKIAlhcnJheS5oYW5kbGVzID0gdG9fdXNl cl9wb2ludGVyKGhhbmRsZXMpOwogCWFycmF5LmNvdW50X2hhbmRsZXMgPSBjb3VudDsKLQlpZiAo ZHJtSW9jdGwoZmQsIExPQ0FMX0lPQ1RMX1NZTkNPQkpfUkVTRVQsICZhcnJheSkpCisJaWYgKGRy bUlvY3RsKGZkLCBEUk1fSU9DVExfU1lOQ09CSl9SRVNFVCwgJmFycmF5KSkKIAkJZXJyID0gLWVy cm5vOwogCXJldHVybiBlcnI7CiB9CkBAIC0yNjMsMTIgKzI2MywxMiBAQCBzeW5jb2JqX3Jlc2V0 KGludCBmZCwgdWludDMyX3QgKmhhbmRsZXMsIHVpbnQzMl90IGNvdW50KQogc3RhdGljIGludAog X19zeW5jb2JqX3NpZ25hbChpbnQgZmQsIHVpbnQzMl90ICpoYW5kbGVzLCB1aW50MzJfdCBjb3Vu dCkKIHsKLQlzdHJ1Y3QgbG9jYWxfc3luY29ial9hcnJheSBhcnJheSA9IHsgMCB9OworCXN0cnVj dCBkcm1fc3luY29ial9hcnJheSBhcnJheSA9IHsgMCB9OwogCWludCBlcnIgPSAwOwogCiAJYXJy YXkuaGFuZGxlcyA9IHRvX3VzZXJfcG9pbnRlcihoYW5kbGVzKTsKIAlhcnJheS5jb3VudF9oYW5k bGVzID0gY291bnQ7Ci0JaWYgKGRybUlvY3RsKGZkLCBMT0NBTF9JT0NUTF9TWU5DT0JKX1NJR05B TCwgJmFycmF5KSkKKwlpZiAoZHJtSW9jdGwoZmQsIERSTV9JT0NUTF9TWU5DT0JKX1NJR05BTCwg JmFycmF5KSkKIAkJZXJyID0gLWVycm5vOwogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9s aWIvaWd0X3N5bmNvYmouaCBiL2xpYi9pZ3Rfc3luY29iai5oCmluZGV4IDQ0ZDEzNzhkLi41MWFk MjM2NCAxMDA2NDQKLS0tIGEvbGliL2lndF9zeW5jb2JqLmgKKysrIGIvbGliL2lndF9zeW5jb2Jq LmgKQEAgLTI4LDMwICsyOCw2IEBACiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogI2luY2x1ZGUgPGRy bS5oPgogCi0jZGVmaW5lIExPQ0FMX1NZTkNPQkpfQ1JFQVRFX1NJR05BTEVEICgxIDw8IDApCi0K LSNkZWZpbmUgTE9DQUxfU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQUxMICgxIDw8IDApCi0jZGVm aW5lIExPQ0FMX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0ZPUl9TVUJNSVQgKDEgPDwgMSkKLXN0 cnVjdCBsb2NhbF9zeW5jb2JqX3dhaXQgewotICAgICAgIF9fdTY0IGhhbmRsZXM7Ci0gICAgICAg LyogYWJzb2x1dGUgdGltZW91dCAqLwotICAgICAgIF9fczY0IHRpbWVvdXRfbnNlYzsKLSAgICAg ICBfX3UzMiBjb3VudF9oYW5kbGVzOwotICAgICAgIF9fdTMyIGZsYWdzOwotICAgICAgIF9fdTMy IGZpcnN0X3NpZ25hbGVkOyAvKiBvbmx5IHZhbGlkIHdoZW4gbm90IHdhaXRpbmcgYWxsICovCi0g ICAgICAgX191MzIgcGFkOwotfTsKLQotc3RydWN0IGxvY2FsX3N5bmNvYmpfYXJyYXkgewotICAg ICAgIF9fdTY0IGhhbmRsZXM7Ci0gICAgICAgX191MzIgY291bnRfaGFuZGxlczsKLSAgICAgICBf X3UzMiBwYWQ7Ci19OwotCi0jZGVmaW5lIExPQ0FMX0lPQ1RMX1NZTkNPQkpfV0FJVAlEUk1fSU9X UigweEMzLCBzdHJ1Y3QgbG9jYWxfc3luY29ial93YWl0KQotI2RlZmluZSBMT0NBTF9JT0NUTF9T WU5DT0JKX1JFU0VUCURSTV9JT1dSKDB4QzQsIHN0cnVjdCBsb2NhbF9zeW5jb2JqX2FycmF5KQot I2RlZmluZSBMT0NBTF9JT0NUTF9TWU5DT0JKX1NJR05BTAlEUk1fSU9XUigweEM1LCBzdHJ1Y3Qg bG9jYWxfc3luY29ial9hcnJheSkKLQogdWludDMyX3Qgc3luY29ial9jcmVhdGUoaW50IGZkLCB1 aW50MzJfdCBmbGFncyk7CiB2b2lkIHN5bmNvYmpfZGVzdHJveShpbnQgZmQsIHVpbnQzMl90IGhh bmRsZSk7CiBpbnQgX19zeW5jb2JqX2hhbmRsZV90b19mZChpbnQgZmQsIHN0cnVjdCBkcm1fc3lu Y29ial9oYW5kbGUgKmFyZ3MpOwpAQCAtNTksNyArMzUsNyBAQCBpbnQgX19zeW5jb2JqX2ZkX3Rv X2hhbmRsZShpbnQgZmQsIHN0cnVjdCBkcm1fc3luY29ial9oYW5kbGUgKmFyZ3MpOwogaW50IHN5 bmNvYmpfaGFuZGxlX3RvX2ZkKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1aW50MzJfdCBmbGFn cyk7CiB1aW50MzJfdCBzeW5jb2JqX2ZkX3RvX2hhbmRsZShpbnQgZmQsIGludCBzeW5jb2JqX2Zk LCB1aW50MzJfdCBmbGFncyk7CiB2b2lkIHN5bmNvYmpfaW1wb3J0X3N5bmNfZmlsZShpbnQgZmQs IHVpbnQzMl90IGhhbmRsZSwgaW50IHN5bmNfZmlsZSk7Ci1pbnQgX19zeW5jb2JqX3dhaXQoaW50 IGZkLCBzdHJ1Y3QgbG9jYWxfc3luY29ial93YWl0ICphcmdzKTsKK2ludCBfX3N5bmNvYmpfd2Fp dChpbnQgZmQsIHN0cnVjdCBkcm1fc3luY29ial93YWl0ICphcmdzKTsKIGludCBzeW5jb2JqX3dh aXRfZXJyKGludCBmZCwgdWludDMyX3QgKmhhbmRsZXMsIHVpbnQzMl90IGNvdW50LAogCQkgICAg IHVpbnQ2NF90IGFic190aW1lb3V0X25zZWMsIHVpbnQzMl90IGZsYWdzKTsKIGJvb2wgc3luY29i al93YWl0KGludCBmZCwgdWludDMyX3QgKmhhbmRsZXMsIHVpbnQzMl90IGNvdW50LApkaWZmIC0t Z2l0IGEvdGVzdHMvc3luY29ial9iYXNpYy5jIGIvdGVzdHMvc3luY29ial9iYXNpYy5jCmluZGV4 IDQ0NzY5ZDNiLi4xZGNlNDVjOSAxMDA2NDQKLS0tIGEvdGVzdHMvc3luY29ial9iYXNpYy5jCisr KyBiL3Rlc3RzL3N5bmNvYmpfYmFzaWMuYwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHRlc3RfYmFkX2Ny ZWF0ZV9mbGFncyhpbnQgZmQpCiBzdGF0aWMgdm9pZAogdGVzdF9jcmVhdGVfc2lnbmFsZWQoaW50 IGZkKQogewotCXVpbnQzMl90IHN5bmNvYmogPSBzeW5jb2JqX2NyZWF0ZShmZCwgTE9DQUxfU1lO Q09CSl9DUkVBVEVfU0lHTkFMRUQpOworCXVpbnQzMl90IHN5bmNvYmogPSBzeW5jb2JqX2NyZWF0 ZShmZCwgRFJNX1NZTkNPQkpfQ1JFQVRFX1NJR05BTEVEKTsKIAogCWlndF9hc3NlcnRfZXEoc3lu Y29ial93YWl0X2VycihmZCwgJnN5bmNvYmosIDEsIDAsIDApLCAwKTsKIApkaWZmIC0tZ2l0IGEv dGVzdHMvc3luY29ial93YWl0LmMgYi90ZXN0cy9zeW5jb2JqX3dhaXQuYwppbmRleCAwNGQ3OWRl Ny4uNjY5ZDBhZGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N5bmNvYmpfd2FpdC5jCisrKyBiL3Rlc3Rz L3N5bmNvYmpfd2FpdC5jCkBAIC0xNDAsNyArMTQwLDcgQEAgc3luY29ial90cmlnZ2VyX2RlbGF5 ZWQoaW50IGZkLCB1aW50MzJfdCBzeW5jb2JqLCB1aW50NjRfdCBuc2VjKQogc3RhdGljIHZvaWQK IHRlc3Rfd2FpdF9iYWRfZmxhZ3MoaW50IGZkKQogewotCXN0cnVjdCBsb2NhbF9zeW5jb2JqX3dh aXQgd2FpdCA9IHsgMCB9OworCXN0cnVjdCBkcm1fc3luY29ial93YWl0IHdhaXQgPSB7IDAgfTsK IAl3YWl0LmZsYWdzID0gMHhkZWFkYmVlZjsKIAlpZ3RfYXNzZXJ0X2VxKF9fc3luY29ial93YWl0 KGZkLCAmd2FpdCksIC1FSU5WQUwpOwogfQpAQCAtMTQ4LDE0ICsxNDgsMTQgQEAgdGVzdF93YWl0 X2JhZF9mbGFncyhpbnQgZmQpCiBzdGF0aWMgdm9pZAogdGVzdF93YWl0X3plcm9faGFuZGxlcyhp bnQgZmQpCiB7Ci0Jc3RydWN0IGxvY2FsX3N5bmNvYmpfd2FpdCB3YWl0ID0geyAwIH07CisJc3Ry dWN0IGRybV9zeW5jb2JqX3dhaXQgd2FpdCA9IHsgMCB9OwogCWlndF9hc3NlcnRfZXEoX19zeW5j b2JqX3dhaXQoZmQsICZ3YWl0KSwgLUVJTlZBTCk7CiB9CiAKIHN0YXRpYyB2b2lkCiB0ZXN0X3dh aXRfaWxsZWdhbF9oYW5kbGUoaW50IGZkKQogewotCXN0cnVjdCBsb2NhbF9zeW5jb2JqX3dhaXQg d2FpdCA9IHsgMCB9OworCXN0cnVjdCBkcm1fc3luY29ial93YWl0IHdhaXQgPSB7IDAgfTsKIAl1 aW50MzJfdCBoYW5kbGUgPSAwOwogCiAJd2FpdC5jb3VudF9oYW5kbGVzID0gMTsKQEAgLTE2Niw0 MyArMTY2LDQzIEBAIHRlc3Rfd2FpdF9pbGxlZ2FsX2hhbmRsZShpbnQgZmQpCiBzdGF0aWMgdm9p ZAogdGVzdF9yZXNldF96ZXJvX2hhbmRsZXMoaW50IGZkKQogewotCXN0cnVjdCBsb2NhbF9zeW5j b2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3RydWN0IGRybV9zeW5jb2JqX2FycmF5IGFycmF5 ID0geyAwIH07CiAJaW50IHJldDsKIAotCXJldCA9IGRybUlvY3RsKGZkLCBMT0NBTF9JT0NUTF9T WU5DT0JKX1JFU0VULCAmYXJyYXkpOworCXJldCA9IGRybUlvY3RsKGZkLCBEUk1fSU9DVExfU1lO Q09CSl9SRVNFVCwgJmFycmF5KTsKIAlpZ3RfYXNzZXJ0KHJldCA9PSAtMSAmJiBlcnJubyA9PSAg RUlOVkFMKTsKIH0KIAogc3RhdGljIHZvaWQKIHRlc3RfcmVzZXRfaWxsZWdhbF9oYW5kbGUoaW50 IGZkKQogewotCXN0cnVjdCBsb2NhbF9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3Ry dWN0IGRybV9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CiAJdWludDMyX3QgaGFuZGxlID0g MDsKIAlpbnQgcmV0OwogCiAJYXJyYXkuY291bnRfaGFuZGxlcyA9IDE7CiAJYXJyYXkuaGFuZGxl cyA9IHRvX3VzZXJfcG9pbnRlcigmaGFuZGxlKTsKLQlyZXQgPSBkcm1Jb2N0bChmZCwgTE9DQUxf SU9DVExfU1lOQ09CSl9SRVNFVCwgJmFycmF5KTsKKwlyZXQgPSBkcm1Jb2N0bChmZCwgRFJNX0lP Q1RMX1NZTkNPQkpfUkVTRVQsICZhcnJheSk7CiAJaWd0X2Fzc2VydChyZXQgPT0gLTEgJiYgZXJy bm8gPT0gRU5PRU5UKTsKIH0KIAogc3RhdGljIHZvaWQKIHRlc3RfcmVzZXRfb25lX2lsbGVnYWxf aGFuZGxlKGludCBmZCkKIHsKLQlzdHJ1Y3QgbG9jYWxfc3luY29ial9hcnJheSBhcnJheSA9IHsg MCB9OworCXN0cnVjdCBkcm1fc3luY29ial9hcnJheSBhcnJheSA9IHsgMCB9OwogCXVpbnQzMl90 IHN5bmNvYmpzWzNdOwogCWludCByZXQ7CiAKLQlzeW5jb2Jqc1swXSA9IHN5bmNvYmpfY3JlYXRl KGZkLCBMT0NBTF9TWU5DT0JKX0NSRUFURV9TSUdOQUxFRCk7CisJc3luY29ianNbMF0gPSBzeW5j b2JqX2NyZWF0ZShmZCwgRFJNX1NZTkNPQkpfQ1JFQVRFX1NJR05BTEVEKTsKIAlzeW5jb2Jqc1sx XSA9IDA7Ci0Jc3luY29ianNbMl0gPSBzeW5jb2JqX2NyZWF0ZShmZCwgTE9DQUxfU1lOQ09CSl9D UkVBVEVfU0lHTkFMRUQpOworCXN5bmNvYmpzWzJdID0gc3luY29ial9jcmVhdGUoZmQsIERSTV9T WU5DT0JKX0NSRUFURV9TSUdOQUxFRCk7CiAKIAlpZ3RfYXNzZXJ0X2VxKHN5bmNvYmpfd2FpdF9l cnIoZmQsICZzeW5jb2Jqc1swXSwgMSwgMCwgMCksIDApOwogCWlndF9hc3NlcnRfZXEoc3luY29i al93YWl0X2VycihmZCwgJnN5bmNvYmpzWzJdLCAxLCAwLCAwKSwgMCk7CiAKIAlhcnJheS5jb3Vu dF9oYW5kbGVzID0gMzsKIAlhcnJheS5oYW5kbGVzID0gdG9fdXNlcl9wb2ludGVyKHN5bmNvYmpz KTsKLQlyZXQgPSBkcm1Jb2N0bChmZCwgTE9DQUxfSU9DVExfU1lOQ09CSl9SRVNFVCwgJmFycmF5 KTsKKwlyZXQgPSBkcm1Jb2N0bChmZCwgRFJNX0lPQ1RMX1NZTkNPQkpfUkVTRVQsICZhcnJheSk7 CiAJaWd0X2Fzc2VydChyZXQgPT0gLTEgJiYgZXJybm8gPT0gRU5PRU5UKTsKIAogCS8qIEFzc2Vy dCB0aGF0IHdlIGRpZG4ndCBhY3R1YWxseSByZXNldCBhbnl0aGluZyAqLwpAQCAtMjE2LDQ0ICsy MTYsNDQgQEAgdGVzdF9yZXNldF9vbmVfaWxsZWdhbF9oYW5kbGUoaW50IGZkKQogc3RhdGljIHZv aWQKIHRlc3RfcmVzZXRfYmFkX3BhZChpbnQgZmQpCiB7Ci0Jc3RydWN0IGxvY2FsX3N5bmNvYmpf YXJyYXkgYXJyYXkgPSB7IDAgfTsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmpfYXJyYXkgYXJyYXkgPSB7 IDAgfTsKIAl1aW50MzJfdCBoYW5kbGUgPSAwOwogCWludCByZXQ7CiAKIAlhcnJheS5wYWQgPSAw eGRlYWRiZWVmOwogCWFycmF5LmNvdW50X2hhbmRsZXMgPSAxOwogCWFycmF5LmhhbmRsZXMgPSB0 b191c2VyX3BvaW50ZXIoJmhhbmRsZSk7Ci0JcmV0ID0gZHJtSW9jdGwoZmQsIExPQ0FMX0lPQ1RM X1NZTkNPQkpfUkVTRVQsICZhcnJheSk7CisJcmV0ID0gZHJtSW9jdGwoZmQsIERSTV9JT0NUTF9T WU5DT0JKX1JFU0VULCAmYXJyYXkpOwogCWlndF9hc3NlcnQocmV0ID09IC0xICYmIGVycm5vID09 IEVJTlZBTCk7CiB9CiAKIHN0YXRpYyB2b2lkCiB0ZXN0X3NpZ25hbF96ZXJvX2hhbmRsZXMoaW50 IGZkKQogewotCXN0cnVjdCBsb2NhbF9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3Ry dWN0IGRybV9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CiAJaW50IHJldDsKIAotCXJldCA9 IGRybUlvY3RsKGZkLCBMT0NBTF9JT0NUTF9TWU5DT0JKX1NJR05BTCwgJmFycmF5KTsKKwlyZXQg PSBkcm1Jb2N0bChmZCwgRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCAmYXJyYXkpOwogCWlndF9h c3NlcnQocmV0ID09IC0xICYmIGVycm5vID09IEVJTlZBTCk7CiB9CiAKIHN0YXRpYyB2b2lkCiB0 ZXN0X3NpZ25hbF9pbGxlZ2FsX2hhbmRsZShpbnQgZmQpCiB7Ci0Jc3RydWN0IGxvY2FsX3N5bmNv YmpfYXJyYXkgYXJyYXkgPSB7IDAgfTsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmpfYXJyYXkgYXJyYXkg PSB7IDAgfTsKIAl1aW50MzJfdCBoYW5kbGUgPSAwOwogCWludCByZXQ7CiAKIAlhcnJheS5jb3Vu dF9oYW5kbGVzID0gMTsKIAlhcnJheS5oYW5kbGVzID0gdG9fdXNlcl9wb2ludGVyKCZoYW5kbGUp OwotCXJldCA9IGRybUlvY3RsKGZkLCBMT0NBTF9JT0NUTF9TWU5DT0JKX1NJR05BTCwgJmFycmF5 KTsKKwlyZXQgPSBkcm1Jb2N0bChmZCwgRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCAmYXJyYXkp OwogCWlndF9hc3NlcnQocmV0ID09IC0xICYmIGVycm5vID09IEVOT0VOVCk7CiB9CiAKIHN0YXRp YyB2b2lkCiB0ZXN0X3NpZ25hbF9vbmVfaWxsZWdhbF9oYW5kbGUoaW50IGZkKQogewotCXN0cnVj dCBsb2NhbF9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3RydWN0IGRybV9zeW5jb2Jq X2FycmF5IGFycmF5ID0geyAwIH07CiAJdWludDMyX3Qgc3luY29ianNbM107CiAJaW50IHJldDsK IApAQCAtMjY2LDcgKzI2Niw3IEBAIHRlc3Rfc2lnbmFsX29uZV9pbGxlZ2FsX2hhbmRsZShpbnQg ZmQpCiAKIAlhcnJheS5jb3VudF9oYW5kbGVzID0gMzsKIAlhcnJheS5oYW5kbGVzID0gdG9fdXNl cl9wb2ludGVyKHN5bmNvYmpzKTsKLQlyZXQgPSBkcm1Jb2N0bChmZCwgTE9DQUxfSU9DVExfU1lO Q09CSl9TSUdOQUwsICZhcnJheSk7CisJcmV0ID0gZHJtSW9jdGwoZmQsIERSTV9JT0NUTF9TWU5D T0JKX1NJR05BTCwgJmFycmF5KTsKIAlpZ3RfYXNzZXJ0KHJldCA9PSAtMSAmJiBlcnJubyA9PSBF Tk9FTlQpOwogCiAJLyogQXNzZXJ0IHRoYXQgd2UgZGlkbid0IGFjdHVhbGx5IHJlc2V0IGFueXRo aW5nICovCkBAIC0yODAsMTQgKzI4MCwxNCBAQCB0ZXN0X3NpZ25hbF9vbmVfaWxsZWdhbF9oYW5k bGUoaW50IGZkKQogc3RhdGljIHZvaWQKIHRlc3Rfc2lnbmFsX2JhZF9wYWQoaW50IGZkKQogewot CXN0cnVjdCBsb2NhbF9zeW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CisJc3RydWN0IGRybV9z eW5jb2JqX2FycmF5IGFycmF5ID0geyAwIH07CiAJdWludDMyX3QgaGFuZGxlID0gMDsKIAlpbnQg cmV0OwogCiAJYXJyYXkucGFkID0gMHhkZWFkYmVlZjsKIAlhcnJheS5jb3VudF9oYW5kbGVzID0g MTsKIAlhcnJheS5oYW5kbGVzID0gdG9fdXNlcl9wb2ludGVyKCZoYW5kbGUpOwotCXJldCA9IGRy bUlvY3RsKGZkLCBMT0NBTF9JT0NUTF9TWU5DT0JKX1NJR05BTCwgJmFycmF5KTsKKwlyZXQgPSBk cm1Jb2N0bChmZCwgRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCAmYXJyYXkpOwogCWlndF9hc3Nl cnQocmV0ID09IC0xICYmIGVycm5vID09ICBFSU5WQUwpOwogfQogCkBAIC0zMDQsMTAgKzMwNCwx MCBAQCBmbGFnc19mb3JfdGVzdF9mbGFncyh1aW50MzJfdCB0ZXN0X2ZsYWdzKQogCXVpbnQzMl90 IGZsYWdzID0gMDsKIAogCWlmICh0ZXN0X2ZsYWdzICYgV0FJVF9GT1JfU1VCTUlUKQotCQlmbGFn cyB8PSBMT0NBTF9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUOworCQlmbGFncyB8 PSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVDsKIAogCWlmICh0ZXN0X2Zs YWdzICYgV0FJVF9BTEwpCi0JCWZsYWdzIHw9IExPQ0FMX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlU X0FMTDsKKwkJZmxhZ3MgfD0gRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FMTDsKIAogCXJl dHVybiBmbGFnczsKIH0KQEAgLTQzMiw3ICs0MzIsNyBAQCBzdGF0aWMgdm9pZAogdGVzdF9yZXNl dF9kdXJpbmdfd2FpdF9mb3Jfc3VibWl0KGludCBmZCkKIHsKIAl1aW50MzJfdCBzeW5jb2JqID0g c3luY29ial9jcmVhdGUoZmQsIDApOwotCXVpbnQzMl90IGZsYWdzID0gTE9DQUxfU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVDsKKwl1aW50MzJfdCBmbGFncyA9IERSTV9TWU5DT0JK X1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUOwogCXN0cnVjdCBmZF9oYW5kbGVfcGFpciBwYWly OwogCXRpbWVyX3QgdGltZXI7CiAKQEAgLTQ1NCw3ICs0NTQsNyBAQCBzdGF0aWMgdm9pZAogdGVz dF9zaWduYWwoaW50IGZkKQogewogCXVpbnQzMl90IHN5bmNvYmogPSBzeW5jb2JqX2NyZWF0ZShm ZCwgMCk7Ci0JdWludDMyX3QgZmxhZ3MgPSBMT0NBTF9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9G T1JfU1VCTUlUOworCXVpbnQzMl90IGZsYWdzID0gRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlU X0ZPUl9TVUJNSVQ7CiAKIAlpZ3RfYXNzZXJ0X2VxKHN5bmNvYmpfd2FpdF9lcnIoZmQsICZzeW5j b2JqLCAxLCAwLCAwKSwgLUVJTlZBTCk7CiAJaWd0X2Fzc2VydF9lcShzeW5jb2JqX3dhaXRfZXJy KGZkLCAmc3luY29iaiwgMSwgMCwgZmxhZ3MpLCAtRVRJTUUpOwpAQCAtNTExLDcgKzUxMSw3IEBA IHRlc3RfbXVsdGlfd2FpdChpbnQgZmQsIHVpbnQzMl90IHRlc3RfZmxhZ3MsIGludCBleHBlY3Qp CiAKIHN0cnVjdCB3YWl0X3RocmVhZF9kYXRhIHsKIAlpbnQgZmQ7Ci0Jc3RydWN0IGxvY2FsX3N5 bmNvYmpfd2FpdCB3YWl0OworCXN0cnVjdCBkcm1fc3luY29ial93YWl0IHdhaXQ7CiB9OwogCiBz dGF0aWMgdm9pZCAqCkBAIC03MTMsNyArNzEzLDcgQEAgdGVzdF93YWl0X2NvbXBsZXgoaW50IGZk LCB1aW50MzJfdCB0ZXN0X2ZsYWdzKQogc3RhdGljIHZvaWQKIHRlc3Rfd2FpdF9pbnRlcnJ1cHRl ZChpbnQgZmQsIHVpbnQzMl90IHRlc3RfZmxhZ3MpCiB7Ci0Jc3RydWN0IGxvY2FsX3N5bmNvYmpf d2FpdCB3YWl0ID0geyAwIH07CisJc3RydWN0IGRybV9zeW5jb2JqX3dhaXQgd2FpdCA9IHsgMCB9 OwogCXVpbnQzMl90IHN5bmNvYmogPSBzeW5jb2JqX2NyZWF0ZShmZCwgMCk7CiAJaW50IHRpbWVs aW5lOwogCkBAIC03NDAsNyArNzQwLDcgQEAgdGVzdF93YWl0X2ludGVycnVwdGVkKGludCBmZCwg dWludDMyX3QgdGVzdF9mbGFncykKIHN0YXRpYyBib29sCiBoYXNfc3luY29ial93YWl0KGludCBm ZCkKIHsKLQlzdHJ1Y3QgbG9jYWxfc3luY29ial93YWl0IHdhaXQgPSB7IDAgfTsKKwlzdHJ1Y3Qg ZHJtX3N5bmNvYmpfd2FpdCB3YWl0ID0geyAwIH07CiAJdWludDMyX3QgaGFuZGxlID0gMDsKIAl1 aW50NjRfdCB2YWx1ZTsKIAlpbnQgcmV0OwpAQCAtNzUzLDcgKzc1Myw3IEBAIGhhc19zeW5jb2Jq X3dhaXQoaW50IGZkKQogCS8qIFRyeSB3YWl0aW5nIGZvciB6ZXJvIHN5bmMgb2JqZWN0cyBzaG91 bGQgZmFpbCB3aXRoIEVJTlZBTCAqLwogCXdhaXQuY291bnRfaGFuZGxlcyA9IDE7CiAJd2FpdC5o YW5kbGVzID0gdG9fdXNlcl9wb2ludGVyKCZoYW5kbGUpOwotCXJldCA9IGRybUlvY3RsKGZkLCBM T0NBTF9JT0NUTF9TWU5DT0JKX1dBSVQsICZ3YWl0KTsKKwlyZXQgPSBkcm1Jb2N0bChmZCwgRFJN X0lPQ1RMX1NZTkNPQkpfV0FJVCwgJndhaXQpOwogCXJldHVybiByZXQgPT0gLTEgJiYgZXJybm8g PT0gRU5PRU5UOwogfQogCi0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldg==