From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH 1/2] drm/syncobj: add an output syncobj parameter to find_fence Date: Thu, 23 May 2019 12:46:19 +0100 Message-ID: <20190523114620.19335-2-lionel.g.landwerlin@intel.com> References: <20190523114620.19335-1-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190523114620.19335-1-lionel.g.landwerlin@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: DRI-Devel , Christian Koenig List-Id: dri-devel@lists.freedesktop.org V2Ugd291bGQgbGlrZSB0byBnZXQgYm90aCB0aGUgZmVuY2UgJiB0aGUgc3luY29iaiBpbiBpOTE1 IHJhdGhlciB0aGFuCmRvaW5nIDIgY2FsbHMgdG8gZHJtX3N5bmNvYmpfZmluZCgpICYgZHJtX3N5 bmNvYmpfZmluZF9mZW5jZSgpLgoKU2lnbmVkLW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxp b25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgpDYzogQ2hyaXN0aWFuIEtvZW5pZyA8Q2hyaXN0 aWFuLktvZW5pZ0BhbWQuY29tPgpDYzogRGF2aWQoQ2h1bk1pbmcpIFpob3UgPERhdmlkMS5aaG91 QGFtZC5jb20+CkNjOiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgpDQzogRFJJLURldmVs IDxkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jIHwgIDQgKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNv YmouYyAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vdjNkL3YzZF9nZW0uYyAgICAgICAgICB8ICA1ICsrLQogaW5jbHVkZS9kcm0vZHJtX3N5 bmNvYmouaCAgICAgICAgICAgICAgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlv bnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMKaW5kZXggMmY2MjM5YjZiZTZmLi4wOWZkZTNjNzNhMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC0xMTI0LDEwICsxMTI0LDExIEBAIHN0YXRpYyBpbnQgYW1k Z3B1X3N5bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9fc3luYyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKIAkJCQkJCSB1aW50MzJfdCBoYW5kbGUsIHU2NCBwb2ludCwKIAkJCQkJCSB1NjQgZmxh Z3MpCiB7CisJc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqOwogCXN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlOwogCWludCByOwogCi0JciA9IGRybV9zeW5jb2JqX2ZpbmRfZmVuY2UocC0+ZmlscCwg aGFuZGxlLCBwb2ludCwgZmxhZ3MsICZmZW5jZSk7CisJciA9IGRybV9zeW5jb2JqX2ZpbmRfZmVu Y2UocC0+ZmlscCwgaGFuZGxlLCBwb2ludCwgZmxhZ3MsICZzeW5jb2JqLCAmZmVuY2UpOwogCWlm IChyKSB7CiAJCURSTV9FUlJPUigic3luY29iaiAldSBmYWlsZWQgdG8gZmluZCBmZW5jZSBAICVs bHUgKCVkKSFcbiIsCiAJCQkgIGhhbmRsZSwgcG9pbnQsIHIpOwpAQCAtMTEzNiw2ICsxMTM3LDcg QEAgc3RhdGljIGludCBhbWRncHVfc3luY29ial9sb29rdXBfYW5kX2FkZF90b19zeW5jKHN0cnVj dCBhbWRncHVfY3NfcGFyc2VyICpwLAogCiAJciA9IGFtZGdwdV9zeW5jX2ZlbmNlKHAtPmFkZXYs ICZwLT5qb2ItPnN5bmMsIGZlbmNlLCB0cnVlKTsKIAlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKKwlk cm1fc3luY29ial9wdXQoc3luY29iaik7CiAKIAlyZXR1cm4gcjsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2Jq LmMKaW5kZXggM2Q0MDA5MDUxMDBiLi5mMmZkMGMxZmIxZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fc3luY29iai5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5j CkBAIC0yMjIsMjkgKzIyMiwzMiBAQCBzdGF0aWMgdm9pZCBkcm1fc3luY29ial9hc3NpZ25fbnVs bF9oYW5kbGUoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqKQogICogQGhhbmRsZTogc3luYyBv YmplY3QgaGFuZGxlIHRvIGxvb2t1cC4KICAqIEBwb2ludDogdGltZWxpbmUgcG9pbnQKICAqIEBm bGFnczogRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0ZPUl9TVUJNSVQgb3Igbm90CisgKiBA c3luY29iajogb3V0IHBhcmFtZXRlciBmb3IgdGhlIHN5bmNvYmoKICAqIEBmZW5jZTogb3V0IHBh cmFtZXRlciBmb3IgdGhlIGZlbmNlCiAgKgogICogVGhpcyBpcyBqdXN0IGEgY29udmVuaWVuY2Ug ZnVuY3Rpb24gdGhhdCBjb21iaW5lcyBkcm1fc3luY29ial9maW5kKCkgYW5kCiAgKiBkcm1fc3lu Y29ial9mZW5jZV9nZXQoKS4KICAqCi0gKiBSZXR1cm5zIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0 aXZlIGVycm9yIHZhbHVlIG9uIGZhaWx1cmUuIE9uIHN1Y2Nlc3MgQGZlbmNlCi0gKiBjb250YWlu cyBhIHJlZmVyZW5jZSB0byB0aGUgZmVuY2UsIHdoaWNoIG11c3QgYmUgcmVsZWFzZWQgYnkgY2Fs bGluZwotICogZG1hX2ZlbmNlX3B1dCgpLgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3Mgb3IgYSBu ZWdhdGl2ZSBlcnJvciB2YWx1ZSBvbiBmYWlsdXJlLiBPbgorICogc3VjY2VzcyBAc3luY29iaiBh bmQgQGZlbmNlIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHJlc3BlY3RpdmVseSB0bworICogdGhlIHN5 bmNvYmogYW5kIHRvIHRoZSBmZW5jZSwgd2hpY2ggbXVzdCBiZSByZWxlYXNlZCBieSBjYWxsaW5n CisgKiByZXNwZWN0aXZlbHkgZHJtX3N5bmNvYmpfcHV0KCkgYW5kIGRtYV9mZW5jZV9wdXQoKS4K ICAqLwogaW50IGRybV9zeW5jb2JqX2ZpbmRfZmVuY2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUsCiAJCQkgICB1MzIgaGFuZGxlLCB1NjQgcG9pbnQsIHU2NCBmbGFncywKKwkJCSAgIHN0 cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmosCiAJCQkgICBzdHJ1Y3QgZG1hX2ZlbmNlICoqZmVu Y2UpCiB7Ci0Jc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqID0gZHJtX3N5bmNvYmpfZmluZChm aWxlX3ByaXZhdGUsIGhhbmRsZSk7CiAJc3RydWN0IHN5bmNvYmpfd2FpdF9lbnRyeSB3YWl0Owog CXU2NCB0aW1lb3V0ID0gbnNlY3NfdG9famlmZmllczY0KERSTV9TWU5DT0JKX1dBSVRfRk9SX1NV Qk1JVF9USU1FT1VUKTsKIAlpbnQgcmV0OwogCi0JaWYgKCFzeW5jb2JqKQorCSpzeW5jb2JqID0g ZHJtX3N5bmNvYmpfZmluZChmaWxlX3ByaXZhdGUsIGhhbmRsZSk7CisKKwlpZiAoISgqc3luY29i aikpCiAJCXJldHVybiAtRU5PRU5UOwogCi0JKmZlbmNlID0gZHJtX3N5bmNvYmpfZmVuY2VfZ2V0 KHN5bmNvYmopOwotCWRybV9zeW5jb2JqX3B1dChzeW5jb2JqKTsKKwkqZmVuY2UgPSBkcm1fc3lu Y29ial9mZW5jZV9nZXQoKnN5bmNvYmopOwogCiAJaWYgKCpmZW5jZSkgewogCQlyZXQgPSBkbWFf ZmVuY2VfY2hhaW5fZmluZF9zZXFubyhmZW5jZSwgcG9pbnQpOwpAQCAtMjU1LDEzICsyNTgsMTUg QEAgaW50IGRybV9zeW5jb2JqX2ZpbmRfZmVuY2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZh dGUsCiAJCXJldCA9IC1FSU5WQUw7CiAJfQogCi0JaWYgKCEoZmxhZ3MgJiBEUk1fU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCkpCisJaWYgKCEoZmxhZ3MgJiBEUk1fU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCkpIHsKKwkJZHJtX3N5bmNvYmpfcHV0KCpzeW5jb2Jq KTsKIAkJcmV0dXJuIHJldDsKKwl9CiAKIAltZW1zZXQoJndhaXQsIDAsIHNpemVvZih3YWl0KSk7 CiAJd2FpdC50YXNrID0gY3VycmVudDsKIAl3YWl0LnBvaW50ID0gcG9pbnQ7Ci0JZHJtX3N5bmNv YmpfZmVuY2VfYWRkX3dhaXQoc3luY29iaiwgJndhaXQpOworCWRybV9zeW5jb2JqX2ZlbmNlX2Fk ZF93YWl0KCpzeW5jb2JqLCAmd2FpdCk7CiAKIAlkbyB7CiAJCXNldF9jdXJyZW50X3N0YXRlKFRB U0tfSU5URVJSVVBUSUJMRSk7CkBAIC0yODYsNyArMjkxLDEwIEBAIGludCBkcm1fc3luY29ial9m aW5kX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAogCSpmZW5jZSA9IHdhaXQu ZmVuY2U7CiAKIAlpZiAod2FpdC5ub2RlLm5leHQpCi0JCWRybV9zeW5jb2JqX3JlbW92ZV93YWl0 KHN5bmNvYmosICZ3YWl0KTsKKwkJZHJtX3N5bmNvYmpfcmVtb3ZlX3dhaXQoKnN5bmNvYmosICZ3 YWl0KTsKKworCWlmIChyZXQpCisJCWRybV9zeW5jb2JqX3B1dCgqc3luY29iaik7CiAKIAlyZXR1 cm4gcmV0OwogfQpAQCAtNTMxLDYgKzUzOSw3IEBAIHN0YXRpYyBpbnQgZHJtX3N5bmNvYmpfZXhw b3J0X3N5bmNfZmlsZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAkJCQkJaW50IGhh bmRsZSwgaW50ICpwX2ZkKQogewogCWludCByZXQ7CisJc3RydWN0IGRybV9zeW5jb2JqICpzeW5j b2JqOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwogCXN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNf ZmlsZTsKIAlpbnQgZmQgPSBnZXRfdW51c2VkX2ZkX2ZsYWdzKE9fQ0xPRVhFQyk7CkBAIC01Mzgs MTMgKzU0NywxNCBAQCBzdGF0aWMgaW50IGRybV9zeW5jb2JqX2V4cG9ydF9zeW5jX2ZpbGUoc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCiAJaWYgKGZkIDwgMCkKIAkJcmV0dXJuIGZkOwog Ci0JcmV0ID0gZHJtX3N5bmNvYmpfZmluZF9mZW5jZShmaWxlX3ByaXZhdGUsIGhhbmRsZSwgMCwg MCwgJmZlbmNlKTsKKwlyZXQgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKGZpbGVfcHJpdmF0ZSwg aGFuZGxlLCAwLCAwLCAmc3luY29iaiwgJmZlbmNlKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl9w dXRfZmQ7CiAKIAlzeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKGZlbmNlKTsKIAogCWRtYV9m ZW5jZV9wdXQoZmVuY2UpOworCWRybV9zeW5jb2JqX3B1dChzeW5jb2JqKTsKIAogCWlmICghc3lu Y19maWxlKSB7CiAJCXJldCA9IC1FSU5WQUw7CkBAIC02ODIsNyArNjkyLDggQEAgZHJtX3N5bmNv YmpfZmRfdG9faGFuZGxlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiBzdGF0aWMgaW50IGRybV9zeW5jb2JqX3RyYW5zZmVyX3RvX3RpbWVsaW5lKHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2YXRlLAogCQkJCQkgICAgc3RydWN0IGRybV9zeW5jb2JqX3RyYW5zZmVy ICphcmdzKQogewotCXN0cnVjdCBkcm1fc3luY29iaiAqdGltZWxpbmVfc3luY29iaiA9IE5VTEw7 CisJc3RydWN0IGRybV9zeW5jb2JqICp0aW1lbGluZV9zeW5jb2JqOworCXN0cnVjdCBkcm1fc3lu Y29iaiAqc3JjX3N5bmNvYmo7CiAJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAJc3RydWN0IGRt YV9mZW5jZV9jaGFpbiAqY2hhaW47CiAJaW50IHJldDsKQEAgLTY5Myw3ICs3MDQsNyBAQCBzdGF0 aWMgaW50IGRybV9zeW5jb2JqX3RyYW5zZmVyX3RvX3RpbWVsaW5lKHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2YXRlLAogCX0KIAlyZXQgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKGZpbGVfcHJp dmF0ZSwgYXJncy0+c3JjX2hhbmRsZSwKIAkJCQkgICAgIGFyZ3MtPnNyY19wb2ludCwgYXJncy0+ ZmxhZ3MsCi0JCQkJICAgICAmZmVuY2UpOworCQkJCSAgICAgJnNyY19zeW5jb2JqLCAmZmVuY2Up OwogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCWNoYWluID0ga3phbGxvYyhzaXplb2Yoc3RydWN0 IGRtYV9mZW5jZV9jaGFpbiksIEdGUF9LRVJORUwpOwpAQCAtNzA0LDYgKzcxNSw3IEBAIHN0YXRp YyBpbnQgZHJtX3N5bmNvYmpfdHJhbnNmZXJfdG9fdGltZWxpbmUoc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXZhdGUsCiAJZHJtX3N5bmNvYmpfYWRkX3BvaW50KHRpbWVsaW5lX3N5bmNvYmosIGNo YWluLCBmZW5jZSwgYXJncy0+ZHN0X3BvaW50KTsKIGVycjE6CiAJZG1hX2ZlbmNlX3B1dChmZW5j ZSk7CisJZHJtX3N5bmNvYmpfcHV0KHNyY19zeW5jb2JqKTsKIGVycjoKIAlkcm1fc3luY29ial9w dXQodGltZWxpbmVfc3luY29iaik7CiAKQEAgLTcxNCw3ICs3MjYsOCBAQCBzdGF0aWMgaW50CiBk cm1fc3luY29ial90cmFuc2Zlcl90b19iaW5hcnkoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZh dGUsCiAJCQkgICAgICAgc3RydWN0IGRybV9zeW5jb2JqX3RyYW5zZmVyICphcmdzKQogewotCXN0 cnVjdCBkcm1fc3luY29iaiAqYmluYXJ5X3N5bmNvYmogPSBOVUxMOworCXN0cnVjdCBkcm1fc3lu Y29iaiAqYmluYXJ5X3N5bmNvYmo7CisJc3RydWN0IGRybV9zeW5jb2JqICpzcmNfc3luY29iajsK IAlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKIAlpbnQgcmV0OwogCkBAIC03MjIsMTEgKzczNSwx MyBAQCBkcm1fc3luY29ial90cmFuc2Zlcl90b19iaW5hcnkoc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXZhdGUsCiAJaWYgKCFiaW5hcnlfc3luY29iaikKIAkJcmV0dXJuIC1FTk9FTlQ7CiAJcmV0 ID0gZHJtX3N5bmNvYmpfZmluZF9mZW5jZShmaWxlX3ByaXZhdGUsIGFyZ3MtPnNyY19oYW5kbGUs Ci0JCQkJICAgICBhcmdzLT5zcmNfcG9pbnQsIGFyZ3MtPmZsYWdzLCAmZmVuY2UpOworCQkJCSAg ICAgYXJncy0+c3JjX3BvaW50LCBhcmdzLT5mbGFncywKKwkJCQkgICAgICZzcmNfc3luY29iaiwg JmZlbmNlKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAlkcm1fc3luY29ial9yZXBsYWNlX2Zl bmNlKGJpbmFyeV9zeW5jb2JqLCBmZW5jZSk7CiAJZG1hX2ZlbmNlX3B1dChmZW5jZSk7CisJZHJt X3N5bmNvYmpfcHV0KHNyY19zeW5jb2JqKTsKIGVycjoKIAlkcm1fc3luY29ial9wdXQoYmluYXJ5 X3N5bmNvYmopOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX2dlbS5jCmluZGV4IDI3ZTBmODcwNzVkOS4uMjZiZDNh MmUzOWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9nZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9nZW0uYwpAQCAtNDMxLDYgKzQzMSw3IEBAIHYzZF9qb2Jf aW5pdChzdHJ1Y3QgdjNkX2RldiAqdjNkLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAkg ICAgIHN0cnVjdCB2M2Rfam9iICpqb2IsIHZvaWQgKCpmcmVlKShzdHJ1Y3Qga3JlZiAqcmVmKSwK IAkgICAgIHUzMiBpbl9zeW5jKQogeworCXN0cnVjdCBkcm1fc3luY29iaiAqaW5fc3luY29iaiA9 IE5VTEw7CiAJc3RydWN0IGRtYV9mZW5jZSAqaW5fZmVuY2UgPSBOVUxMOwogCWludCByZXQ7CiAK QEAgLTQ0MywxMCArNDQ0LDEyIEBAIHYzZF9qb2JfaW5pdChzdHJ1Y3QgdjNkX2RldiAqdjNkLCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIAogCXhhX2luaXRfZmxhZ3MoJmpvYi0+ZGVwcywg WEFfRkxBR1NfQUxMT0MpOwogCi0JcmV0ID0gZHJtX3N5bmNvYmpfZmluZF9mZW5jZShmaWxlX3By aXYsIGluX3N5bmMsIDAsIDAsICZpbl9mZW5jZSk7CisJcmV0ID0gZHJtX3N5bmNvYmpfZmluZF9m ZW5jZShmaWxlX3ByaXYsIGluX3N5bmMsIDAsIDAsICZzeW5jb2JqLCAmaW5fZmVuY2UpOwogCWlm IChyZXQgPT0gLUVJTlZBTCkKIAkJZ290byBmYWlsOwogCisJZHJtX3N5bmNvYmpfcHV0KGluX3N5 bmMpOworCiAJcmV0ID0gZHJtX2dlbV9mZW5jZV9hcnJheV9hZGQoJmpvYi0+ZGVwcywgaW5fZmVu Y2UpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9zeW5jb2JqLmggYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCmluZGV4IDZjZjcyNDNhMWRj NS4uMDhlY2E2OTBmNzgzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCisr KyBiL2luY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmgKQEAgLTEyMSw2ICsxMjEsNyBAQCB2b2lkIGRy bV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAogCQkJ ICAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKIGludCBkcm1fc3luY29ial9maW5kX2Zl bmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAogCQkJICAgdTMyIGhhbmRsZSwgdTY0 IHBvaW50LCB1NjQgZmxhZ3MsCisJCQkgICBzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqLAog CQkJICAgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlKTsKIHZvaWQgZHJtX3N5bmNvYmpfZnJlZShz dHJ1Y3Qga3JlZiAqa3JlZik7CiBpbnQgZHJtX3N5bmNvYmpfY3JlYXRlKHN0cnVjdCBkcm1fc3lu Y29iaiAqKm91dF9zeW5jb2JqLCB1aW50MzJfdCBmbGFncywKLS0gCjIuMjEuMC4zOTIuZ2Y4ZjY3 ODcxNTllCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=