From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Stone Subject: [PATCH 05/11] drm/mode: Unstatic kernel-userspace mode conversion Date: Fri, 22 May 2015 13:34:48 +0100 Message-ID: <1432298094-22239-6-git-send-email-daniels@collabora.com> References: <1432298094-22239-1-git-send-email-daniels@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [93.93.135.160]) by gabe.freedesktop.org (Postfix) with ESMTP id B9DCE6EA76 for ; Fri, 22 May 2015 05:35:04 -0700 (PDT) In-Reply-To: <1432298094-22239-1-git-send-email-daniels@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org TW92ZSB0aGUgZHJtX2Rpc3BsYXlfbW9kZSA8LT4gZHJtX21vZGVfbW9kZWluZm8gY29udmVyc2lv biBmdW5jdGlvbnMKZnJvbSBkcm1fY3J0Yy5jIHRvIGRybV9tb2Rlcy5jLCBhbmQgbWFrZSB0aGVt IG5vbi1zdGF0aWMgc28gdGhhdCBvdGhlcnMKY2FuIHVzZSB0aGVtLgoKU2lnbmVkLW9mZi1ieTog RGFuaWVsIFN0b25lIDxkYW5pZWxzQGNvbGxhYm9yYS5jb20+ClRlc3RlZC1ieTogU2VhbiBQYXVs IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMg IHwgOTUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVzLmggICAgIHwgIDQgKysKIDMgZmls ZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgOTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YwppbmRleCA5YWIyZmM2Li5kZWY3YmU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtMTczNiw5MyArMTcz Niw2IEBAIHZvaWQgZHJtX3JlaW5pdF9wcmltYXJ5X21vZGVfZ3JvdXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKIEVYUE9SVF9TWU1CT0woZHJtX3JlaW5pdF9wcmltYXJ5X21vZGVfZ3JvdXApOwog CiAvKioKLSAqIGRybV9jcnRjX2NvbnZlcnRfdG9fdW1vZGUgLSBjb252ZXJ0IGEgZHJtX2Rpc3Bs YXlfbW9kZSBpbnRvIGEgbW9kZWluZm8KLSAqIEBvdXQ6IGRybV9tb2RlX21vZGVpbmZvIHN0cnVj dCB0byByZXR1cm4gdG8gdGhlIHVzZXIKLSAqIEBpbjogZHJtX2Rpc3BsYXlfbW9kZSB0byB1c2UK LSAqCi0gKiBDb252ZXJ0IGEgZHJtX2Rpc3BsYXlfbW9kZSBpbnRvIGEgZHJtX21vZGVfbW9kZWlu Zm8gc3RydWN0dXJlIHRvIHJldHVybiB0bwotICogdGhlIHVzZXIuCi0gKi8KLXN0YXRpYyB2b2lk IGRybV9jcnRjX2NvbnZlcnRfdG9fdW1vZGUoc3RydWN0IGRybV9tb2RlX21vZGVpbmZvICpvdXQs Ci0JCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmluKQotewotCVdBUk4o aW4tPmhkaXNwbGF5ID4gVVNIUlRfTUFYIHx8IGluLT5oc3luY19zdGFydCA+IFVTSFJUX01BWCB8 fAotCSAgICAgaW4tPmhzeW5jX2VuZCA+IFVTSFJUX01BWCB8fCBpbi0+aHRvdGFsID4gVVNIUlRf TUFYIHx8Ci0JICAgICBpbi0+aHNrZXcgPiBVU0hSVF9NQVggfHwgaW4tPnZkaXNwbGF5ID4gVVNI UlRfTUFYIHx8Ci0JICAgICBpbi0+dnN5bmNfc3RhcnQgPiBVU0hSVF9NQVggfHwgaW4tPnZzeW5j X2VuZCA+IFVTSFJUX01BWCB8fAotCSAgICAgaW4tPnZ0b3RhbCA+IFVTSFJUX01BWCB8fCBpbi0+ dnNjYW4gPiBVU0hSVF9NQVgsCi0JICAgICAidGltaW5nIHZhbHVlcyB0b28gbGFyZ2UgZm9yIG1v ZGUgaW5mb1xuIik7Ci0KLQlvdXQtPmNsb2NrID0gaW4tPmNsb2NrOwotCW91dC0+aGRpc3BsYXkg PSBpbi0+aGRpc3BsYXk7Ci0Jb3V0LT5oc3luY19zdGFydCA9IGluLT5oc3luY19zdGFydDsKLQlv dXQtPmhzeW5jX2VuZCA9IGluLT5oc3luY19lbmQ7Ci0Jb3V0LT5odG90YWwgPSBpbi0+aHRvdGFs OwotCW91dC0+aHNrZXcgPSBpbi0+aHNrZXc7Ci0Jb3V0LT52ZGlzcGxheSA9IGluLT52ZGlzcGxh eTsKLQlvdXQtPnZzeW5jX3N0YXJ0ID0gaW4tPnZzeW5jX3N0YXJ0OwotCW91dC0+dnN5bmNfZW5k ID0gaW4tPnZzeW5jX2VuZDsKLQlvdXQtPnZ0b3RhbCA9IGluLT52dG90YWw7Ci0Jb3V0LT52c2Nh biA9IGluLT52c2NhbjsKLQlvdXQtPnZyZWZyZXNoID0gaW4tPnZyZWZyZXNoOwotCW91dC0+Zmxh Z3MgPSBpbi0+ZmxhZ3M7Ci0Jb3V0LT50eXBlID0gaW4tPnR5cGU7Ci0Jc3RybmNweShvdXQtPm5h bWUsIGluLT5uYW1lLCBEUk1fRElTUExBWV9NT0RFX0xFTik7Ci0Jb3V0LT5uYW1lW0RSTV9ESVNQ TEFZX01PREVfTEVOLTFdID0gMDsKLX0KLQotLyoqCi0gKiBkcm1fY3J0Y19jb252ZXJ0X3Vtb2Rl IC0gY29udmVydCBhIG1vZGVpbmZvIGludG8gYSBkcm1fZGlzcGxheV9tb2RlCi0gKiBAb3V0OiBk cm1fZGlzcGxheV9tb2RlIHRvIHJldHVybiB0byB0aGUgdXNlcgotICogQGluOiBkcm1fbW9kZV9t b2RlaW5mbyB0byB1c2UKLSAqCi0gKiBDb252ZXJ0IGEgZHJtX21vZGVfbW9kZWluZm8gaW50byBh IGRybV9kaXNwbGF5X21vZGUgc3RydWN0dXJlIHRvIHJldHVybiB0bwotICogdGhlIGNhbGxlci4K LSAqCi0gKiBSZXR1cm5zOgotICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBm YWlsdXJlLgotICovCi1zdGF0aWMgaW50IGRybV9jcnRjX2NvbnZlcnRfdW1vZGUoc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm91dCwKLQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5m byAqaW4pCi17Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0KLQlpZiAoaW4tPmNsb2NrID4gSU5UX01B WCB8fCBpbi0+dnJlZnJlc2ggPiBJTlRfTUFYKSB7Ci0JCXJldCA9IC1FUkFOR0U7Ci0JCWdvdG8g b3V0OwotCX0KLQotCWlmICgoaW4tPmZsYWdzICYgRFJNX01PREVfRkxBR18zRF9NQVNLKSA+IERS TV9NT0RFX0ZMQUdfM0RfTUFYKQotCQlnb3RvIG91dDsKLQotCW91dC0+Y2xvY2sgPSBpbi0+Y2xv Y2s7Ci0Jb3V0LT5oZGlzcGxheSA9IGluLT5oZGlzcGxheTsKLQlvdXQtPmhzeW5jX3N0YXJ0ID0g aW4tPmhzeW5jX3N0YXJ0OwotCW91dC0+aHN5bmNfZW5kID0gaW4tPmhzeW5jX2VuZDsKLQlvdXQt Pmh0b3RhbCA9IGluLT5odG90YWw7Ci0Jb3V0LT5oc2tldyA9IGluLT5oc2tldzsKLQlvdXQtPnZk aXNwbGF5ID0gaW4tPnZkaXNwbGF5OwotCW91dC0+dnN5bmNfc3RhcnQgPSBpbi0+dnN5bmNfc3Rh cnQ7Ci0Jb3V0LT52c3luY19lbmQgPSBpbi0+dnN5bmNfZW5kOwotCW91dC0+dnRvdGFsID0gaW4t PnZ0b3RhbDsKLQlvdXQtPnZzY2FuID0gaW4tPnZzY2FuOwotCW91dC0+dnJlZnJlc2ggPSBpbi0+ dnJlZnJlc2g7Ci0Jb3V0LT5mbGFncyA9IGluLT5mbGFnczsKLQlvdXQtPnR5cGUgPSBpbi0+dHlw ZTsKLQlzdHJuY3B5KG91dC0+bmFtZSwgaW4tPm5hbWUsIERSTV9ESVNQTEFZX01PREVfTEVOKTsK LQlvdXQtPm5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU4tMV0gPSAwOwotCi0Jb3V0LT5zdGF0dXMg PSBkcm1fbW9kZV92YWxpZGF0ZV9iYXNpYyhvdXQpOwotCWlmIChvdXQtPnN0YXR1cyAhPSBNT0RF X09LKQotCQlnb3RvIG91dDsKLQotCXJldCA9IDA7Ci0KLW91dDoKLQlyZXR1cm4gcmV0OwotfQot Ci0vKioKICAqIGRybV9tb2RlX2dldHJlc291cmNlcyAtIGdldCBncmFwaGljcyBjb25maWd1cmF0 aW9uCiAgKiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwKICAqIEBkYXRhOiBkYXRhIHBv aW50ZXIgZm9yIHRoZSBpb2N0bApAQCAtMjA0OCw3ICsxOTYxLDcgQEAgaW50IGRybV9tb2RlX2dl dGNydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJY3J0Y19yZXNwLT54ID0gY3J0Yy0+cHJp bWFyeS0+c3RhdGUtPnNyY194ID4+IDE2OwogCQljcnRjX3Jlc3AtPnkgPSBjcnRjLT5wcmltYXJ5 LT5zdGF0ZS0+c3JjX3kgPj4gMTY7CiAJCWlmIChjcnRjLT5zdGF0ZS0+ZW5hYmxlKSB7Ci0JCQlk cm1fY3J0Y19jb252ZXJ0X3RvX3Vtb2RlKCZjcnRjX3Jlc3AtPm1vZGUsICZjcnRjLT5zdGF0ZS0+ bW9kZSk7CisJCQlkcm1fbW9kZV9jb252ZXJ0X3RvX3Vtb2RlKCZjcnRjX3Jlc3AtPm1vZGUsICZj cnRjLT5zdGF0ZS0+bW9kZSk7CiAJCQljcnRjX3Jlc3AtPm1vZGVfdmFsaWQgPSAxOwogCiAJCX0g ZWxzZSB7CkBAIC0yMDU4LDcgKzE5NzEsNyBAQCBpbnQgZHJtX21vZGVfZ2V0Y3J0YyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCQljcnRjX3Jlc3AtPnggPSBjcnRjLT54OwogCQljcnRjX3Jlc3At PnkgPSBjcnRjLT55OwogCQlpZiAoY3J0Yy0+ZW5hYmxlZCkgewotCQkJZHJtX2NydGNfY29udmVy dF90b191bW9kZSgmY3J0Y19yZXNwLT5tb2RlLCAmY3J0Yy0+bW9kZSk7CisJCQlkcm1fbW9kZV9j b252ZXJ0X3RvX3Vtb2RlKCZjcnRjX3Jlc3AtPm1vZGUsICZjcnRjLT5tb2RlKTsKIAkJCWNydGNf cmVzcC0+bW9kZV92YWxpZCA9IDE7CiAKIAkJfSBlbHNlIHsKQEAgLTIyMTUsNyArMjEyOCw3IEBA IGludCBkcm1fbW9kZV9nZXRjb25uZWN0b3Ioc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJCWlmICghZHJtX21vZGVfZXhwb3NlX3RvX3VzZXJzcGFjZShtb2RlLCBmaWxlX3By aXYpKQogCQkJCWNvbnRpbnVlOwogCi0JCQlkcm1fY3J0Y19jb252ZXJ0X3RvX3Vtb2RlKCZ1X21v ZGUsIG1vZGUpOworCQkJZHJtX21vZGVfY29udmVydF90b191bW9kZSgmdV9tb2RlLCBtb2RlKTsK IAkJCWlmIChjb3B5X3RvX3VzZXIobW9kZV9wdHIgKyBjb3BpZWQsCiAJCQkJCSAmdV9tb2RlLCBz aXplb2YodV9tb2RlKSkpIHsKIAkJCQlyZXQgPSAtRUZBVUxUOwpAQCAtMjgyNiw3ICsyNzM5LDcg QEAgaW50IGRybV9tb2RlX3NldGNydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAkJCWdvdG8gb3V0OwogCQl9CiAKLQkJcmV0ID0gZHJtX2NydGNfY29udmVydF91bW9kZSht b2RlLCAmY3J0Y19yZXEtPm1vZGUpOworCQlyZXQgPSBkcm1fbW9kZV9jb252ZXJ0X3Vtb2RlKG1v ZGUsICZjcnRjX3JlcS0+bW9kZSk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERUJVR19LTVMoIklu dmFsaWQgbW9kZVxuIik7CiAJCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwppbmRleCAyMTNiMTFl Li5jZDc0YTA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCkBAIC0xNDA1LDMgKzE0MDUsOTAgQEAgZHJtX21v ZGVfY3JlYXRlX2Zyb21fY21kbGluZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0 dXJuIG1vZGU7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NyZWF0ZV9mcm9tX2NtZGxpbmVf bW9kZSk7CisKKy8qKgorICogZHJtX2NydGNfY29udmVydF90b191bW9kZSAtIGNvbnZlcnQgYSBk cm1fZGlzcGxheV9tb2RlIGludG8gYSBtb2RlaW5mbworICogQG91dDogZHJtX21vZGVfbW9kZWlu Zm8gc3RydWN0IHRvIHJldHVybiB0byB0aGUgdXNlcgorICogQGluOiBkcm1fZGlzcGxheV9tb2Rl IHRvIHVzZQorICoKKyAqIENvbnZlcnQgYSBkcm1fZGlzcGxheV9tb2RlIGludG8gYSBkcm1fbW9k ZV9tb2RlaW5mbyBzdHJ1Y3R1cmUgdG8gcmV0dXJuIHRvCisgKiB0aGUgdXNlci4KKyAqLwordm9p ZCBkcm1fbW9kZV9jb252ZXJ0X3RvX3Vtb2RlKHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyAqb3V0 LAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICppbikKK3sKKwlXQVJO KGluLT5oZGlzcGxheSA+IFVTSFJUX01BWCB8fCBpbi0+aHN5bmNfc3RhcnQgPiBVU0hSVF9NQVgg fHwKKwkgICAgIGluLT5oc3luY19lbmQgPiBVU0hSVF9NQVggfHwgaW4tPmh0b3RhbCA+IFVTSFJU X01BWCB8fAorCSAgICAgaW4tPmhza2V3ID4gVVNIUlRfTUFYIHx8IGluLT52ZGlzcGxheSA+IFVT SFJUX01BWCB8fAorCSAgICAgaW4tPnZzeW5jX3N0YXJ0ID4gVVNIUlRfTUFYIHx8IGluLT52c3lu Y19lbmQgPiBVU0hSVF9NQVggfHwKKwkgICAgIGluLT52dG90YWwgPiBVU0hSVF9NQVggfHwgaW4t PnZzY2FuID4gVVNIUlRfTUFYLAorCSAgICAgInRpbWluZyB2YWx1ZXMgdG9vIGxhcmdlIGZvciBt b2RlIGluZm9cbiIpOworCisJb3V0LT5jbG9jayA9IGluLT5jbG9jazsKKwlvdXQtPmhkaXNwbGF5 ID0gaW4tPmhkaXNwbGF5OworCW91dC0+aHN5bmNfc3RhcnQgPSBpbi0+aHN5bmNfc3RhcnQ7CisJ b3V0LT5oc3luY19lbmQgPSBpbi0+aHN5bmNfZW5kOworCW91dC0+aHRvdGFsID0gaW4tPmh0b3Rh bDsKKwlvdXQtPmhza2V3ID0gaW4tPmhza2V3OworCW91dC0+dmRpc3BsYXkgPSBpbi0+dmRpc3Bs YXk7CisJb3V0LT52c3luY19zdGFydCA9IGluLT52c3luY19zdGFydDsKKwlvdXQtPnZzeW5jX2Vu ZCA9IGluLT52c3luY19lbmQ7CisJb3V0LT52dG90YWwgPSBpbi0+dnRvdGFsOworCW91dC0+dnNj YW4gPSBpbi0+dnNjYW47CisJb3V0LT52cmVmcmVzaCA9IGluLT52cmVmcmVzaDsKKwlvdXQtPmZs YWdzID0gaW4tPmZsYWdzOworCW91dC0+dHlwZSA9IGluLT50eXBlOworCXN0cm5jcHkob3V0LT5u YW1lLCBpbi0+bmFtZSwgRFJNX0RJU1BMQVlfTU9ERV9MRU4pOworCW91dC0+bmFtZVtEUk1fRElT UExBWV9NT0RFX0xFTi0xXSA9IDA7Cit9CisKKy8qKgorICogZHJtX2NydGNfY29udmVydF91bW9k ZSAtIGNvbnZlcnQgYSBtb2RlaW5mbyBpbnRvIGEgZHJtX2Rpc3BsYXlfbW9kZQorICogQG91dDog ZHJtX2Rpc3BsYXlfbW9kZSB0byByZXR1cm4gdG8gdGhlIHVzZXIKKyAqIEBpbjogZHJtX21vZGVf bW9kZWluZm8gdG8gdXNlCisgKgorICogQ29udmVydCBhIGRybV9tb2RlX21vZGVpbmZvIGludG8g YSBkcm1fZGlzcGxheV9tb2RlIHN0cnVjdHVyZSB0byByZXR1cm4gdG8KKyAqIHRoZSBjYWxsZXIu CisgKgorICogUmV0dXJuczoKKyAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24g ZmFpbHVyZS4KKyAqLworaW50IGRybV9tb2RlX2NvbnZlcnRfdW1vZGUoc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm91dCwKKwkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyAqaW4p Cit7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwlpZiAoaW4tPmNsb2NrID4gSU5UX01BWCB8fCBp bi0+dnJlZnJlc2ggPiBJTlRfTUFYKSB7CisJCXJldCA9IC1FUkFOR0U7CisJCWdvdG8gb3V0Owor CX0KKworCWlmICgoaW4tPmZsYWdzICYgRFJNX01PREVfRkxBR18zRF9NQVNLKSA+IERSTV9NT0RF X0ZMQUdfM0RfTUFYKQorCQlnb3RvIG91dDsKKworCW91dC0+Y2xvY2sgPSBpbi0+Y2xvY2s7CisJ b3V0LT5oZGlzcGxheSA9IGluLT5oZGlzcGxheTsKKwlvdXQtPmhzeW5jX3N0YXJ0ID0gaW4tPmhz eW5jX3N0YXJ0OworCW91dC0+aHN5bmNfZW5kID0gaW4tPmhzeW5jX2VuZDsKKwlvdXQtPmh0b3Rh bCA9IGluLT5odG90YWw7CisJb3V0LT5oc2tldyA9IGluLT5oc2tldzsKKwlvdXQtPnZkaXNwbGF5 ID0gaW4tPnZkaXNwbGF5OworCW91dC0+dnN5bmNfc3RhcnQgPSBpbi0+dnN5bmNfc3RhcnQ7CisJ b3V0LT52c3luY19lbmQgPSBpbi0+dnN5bmNfZW5kOworCW91dC0+dnRvdGFsID0gaW4tPnZ0b3Rh bDsKKwlvdXQtPnZzY2FuID0gaW4tPnZzY2FuOworCW91dC0+dnJlZnJlc2ggPSBpbi0+dnJlZnJl c2g7CisJb3V0LT5mbGFncyA9IGluLT5mbGFnczsKKwlvdXQtPnR5cGUgPSBpbi0+dHlwZTsKKwlz dHJuY3B5KG91dC0+bmFtZSwgaW4tPm5hbWUsIERSTV9ESVNQTEFZX01PREVfTEVOKTsKKwlvdXQt Pm5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU4tMV0gPSAwOworCisJb3V0LT5zdGF0dXMgPSBkcm1f bW9kZV92YWxpZGF0ZV9iYXNpYyhvdXQpOworCWlmIChvdXQtPnN0YXR1cyAhPSBNT0RFX09LKQor CQlnb3RvIG91dDsKKworCXJldCA9IDA7CisKK291dDoKKwlyZXR1cm4gcmV0OworfQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5o IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKaW5kZXggMDYxNjE4OC4uMDhhOGNhYyAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVz LmgKQEAgLTE4Miw2ICsxODIsMTAgQEAgc3RydWN0IGRybV9jbWRsaW5lX21vZGU7CiAKIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICpkcm1fbW9kZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7CiB2b2lkIGRybV9tb2RlX2Rlc3Ryb3koc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwordm9pZCBkcm1fbW9kZV9jb252ZXJ0X3RvX3Vtb2Rl KHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyAqb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICppbik7CitpbnQgZHJtX21vZGVf Y29udmVydF91bW9kZShzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqb3V0LAorCQkJICAgY29uc3Qg c3RydWN0IGRybV9tb2RlX21vZGVpbmZvICppbik7CiB2b2lkIGRybV9tb2RlX3Byb2JlZF9hZGQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpOwogdm9pZCBkcm1fbW9kZV9kZWJ1Z19wcmludG1vZGVsaW5lKGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKTsKIAotLSAKMi40LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==