From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v3 01/16] drm/dp_mst: Rename drm_dp_mst_get_validated_(port|mstb)_ref and friends Date: Wed, 2 Jan 2019 19:06:20 -0500 Message-ID: <20190103000635.13628-2-lyude@redhat.com> References: <20190103000635.13628-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190103000635.13628-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Cc: Jerry Zuo , David Airlie , Harry Wentland List-Id: nouveau.vger.kernel.org cy9kcm1fZHBfZ2V0X3ZhbGlkYXRlZF9wb3J0X3JlZi9kcm1fZHBfbXN0X3RvcG9sb2d5X2dldF9w b3J0X3ZhbGlkYXRlZC8Kcy9kcm1fZHBfcHV0X3BvcnQvZHJtX2RwX21zdF90b3BvbG9neV9wdXRf cG9ydC8Kcy9kcm1fZHBfZ2V0X3ZhbGlkYXRlZF9tc3RiX3JlZi9kcm1fZHBfbXN0X3RvcG9sb2d5 X2dldF9tc3RiX3ZhbGlkYXRlZC8Kcy9kcm1fZHBfcHV0X21zdF9icmFuY2hfZGV2aWNlL2RybV9k cF9tc3RfdG9wb2xvZ3lfcHV0X21zdGIvCgpUaGlzIGlzIGEgbXVjaCBtb3JlIGNvbnNpc3RlbnQg bmFtaW5nIHNjaGVtZSwgYW5kIHdpbGwgbWFrZSBldmVuIG1vcmUKc2Vuc2Ugb25jZSB3ZSByZWRl c2lnbiBob3cgdGhlIGN1cnJlbnQgcmVmY291bnRpbmcgc2NoZW1lIGhlcmUgd29ya3MuCgpTaWdu ZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgpSZXZpZXdlZC1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQHJl ZGhhdC5jb20+CkNjOiBKZXJyeSBadW8gPEplcnJ5Llp1b0BhbWQuY29tPgpDYzogSGFycnkgV2Vu dGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CkNjOiBKdXN0b24gTGkgPGp1c3Rvbi5saUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyB8IDEx NCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYyIGluc2VydGlv bnMoKyksIDUyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5j CmluZGV4IDJhYjE2YzllNjI0My4uNmY5YjIxMTA2OWE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf bXN0X3RvcG9sb2d5LmMKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGJvb2wgZHVtcF9kcF9wYXls b2FkX3RhYmxlKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogCQkJCSAgY2hh ciAqYnVmKTsKIHN0YXRpYyBpbnQgdGVzdF9jYWxjX3Bibl9tb2RlKHZvaWQpOwogCi1zdGF0aWMg dm9pZCBkcm1fZHBfcHV0X3BvcnQoc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCk7CitzdGF0 aWMgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X3Bv cnQgKnBvcnQpOwogCiBzdGF0aWMgaW50IGRybV9kcF9kcGNkX3dyaXRlX3BheWxvYWQoc3RydWN0 IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJCQkJICAgICBpbnQgaWQsCkBAIC04ODgs NyArODg4LDcgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2Rlc3Ryb3lfbXN0X2JyYW5jaF9kZXZpY2Uo c3RydWN0IGtyZWYgKmtyZWYpCiAJICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBvcnQs IHRtcCwgJm1zdGItPnBvcnRzLCBuZXh0KSB7CiAJCWxpc3RfZGVsKCZwb3J0LT5uZXh0KTsKLQkJ ZHJtX2RwX3B1dF9wb3J0KHBvcnQpOworCQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9wb3J0KHBv cnQpOwogCX0KIAogCS8qIGRyb3AgYW55IHR4IHNsb3RzIG1zZyAqLwpAQCAtOTExLDcgKzkxMSw3 IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9kZXN0cm95X21zdF9icmFuY2hfZGV2aWNlKHN0cnVjdCBr cmVmICprcmVmKQogCWtyZWZfcHV0KGtyZWYsIGRybV9kcF9mcmVlX21zdF9icmFuY2hfZGV2aWNl KTsKIH0KIAotc3RhdGljIHZvaWQgZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2RldmljZShzdHJ1Y3Qg ZHJtX2RwX21zdF9icmFuY2ggKm1zdGIpCitzdGF0aWMgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5 X3B1dF9tc3RiKHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YikKIHsKIAlrcmVmX3B1dCgm bXN0Yi0+a3JlZiwgZHJtX2RwX2Rlc3Ryb3lfbXN0X2JyYW5jaF9kZXZpY2UpOwogfQpAQCAtOTMw LDcgKzkzMCw3IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9wb3J0X3RlYXJkb3duX3BkdChzdHJ1Y3Qg ZHJtX2RwX21zdF9wb3J0ICpwb3J0LCBpbnQgb2xkX3BkdCkKIAljYXNlIERQX1BFRVJfREVWSUNF X01TVF9CUkFOQ0hJTkc6CiAJCW1zdGIgPSBwb3J0LT5tc3RiOwogCQlwb3J0LT5tc3RiID0gTlVM TDsKLQkJZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2RldmljZShtc3RiKTsKKwkJZHJtX2RwX21zdF90 b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKIAkJYnJlYWs7CiAJfQogfQpAQCAtOTcwLDEyICs5NzAs MTQgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2Rlc3Ryb3lfcG9ydChzdHJ1Y3Qga3JlZiAqa3JlZikK IAlrZnJlZShwb3J0KTsKIH0KIAotc3RhdGljIHZvaWQgZHJtX2RwX3B1dF9wb3J0KHN0cnVjdCBk cm1fZHBfbXN0X3BvcnQgKnBvcnQpCitzdGF0aWMgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X3B1 dF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpCiB7CiAJa3JlZl9wdXQoJnBvcnQt PmtyZWYsIGRybV9kcF9kZXN0cm95X3BvcnQpOwogfQogCi1zdGF0aWMgc3RydWN0IGRybV9kcF9t c3RfYnJhbmNoICpkcm1fZHBfbXN0X2dldF92YWxpZGF0ZWRfbXN0Yl9yZWZfbG9ja2VkKHN0cnVj dCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0Yiwgc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICp0b19m aW5kKQorc3RhdGljIHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqCitkcm1fZHBfbXN0X3RvcG9s b2d5X2dldF9tc3RiX3ZhbGlkYXRlZF9sb2NrZWQoc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICpt c3RiLAorCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKnRvX2ZpbmQpCiB7CiAJ c3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydDsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2gg KnJtc3RiOwpAQCAtOTg1LDcgKzk4Nyw4IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKmRybV9kcF9tc3RfZ2V0X3ZhbGlkYXRlZF9tc3RiX3JlZl9sb2NrZWQoc3RydWN0CiAJfQog CWxpc3RfZm9yX2VhY2hfZW50cnkocG9ydCwgJm1zdGItPnBvcnRzLCBuZXh0KSB7CiAJCWlmIChw b3J0LT5tc3RiKSB7Ci0JCQlybXN0YiA9IGRybV9kcF9tc3RfZ2V0X3ZhbGlkYXRlZF9tc3RiX3Jl Zl9sb2NrZWQocG9ydC0+bXN0YiwgdG9fZmluZCk7CisJCQlybXN0YiA9IGRybV9kcF9tc3RfdG9w b2xvZ3lfZ2V0X21zdGJfdmFsaWRhdGVkX2xvY2tlZCgKKwkJCSAgICBwb3J0LT5tc3RiLCB0b19m aW5kKTsKIAkJCWlmIChybXN0YikKIAkJCQlyZXR1cm4gcm1zdGI7CiAJCX0KQEAgLTk5MywxMiAr OTk2LDE1IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKmRybV9kcF9tc3RfZ2V0 X3ZhbGlkYXRlZF9tc3RiX3JlZl9sb2NrZWQoc3RydWN0CiAJcmV0dXJuIE5VTEw7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKmRybV9kcF9nZXRfdmFsaWRhdGVkX21zdGJf cmVmKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBzdHJ1Y3QgZHJtX2RwX21z dF9icmFuY2ggKm1zdGIpCitzdGF0aWMgc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICoKK2RybV9k cF9tc3RfdG9wb2xvZ3lfZ2V0X21zdGJfdmFsaWRhdGVkKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9s b2d5X21nciAqbWdyLAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGIp CiB7CiAJc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICpybXN0YiA9IE5VTEw7CiAJbXV0ZXhfbG9j aygmbWdyLT5sb2NrKTsKIAlpZiAobWdyLT5tc3RfcHJpbWFyeSkKLQkJcm1zdGIgPSBkcm1fZHBf bXN0X2dldF92YWxpZGF0ZWRfbXN0Yl9yZWZfbG9ja2VkKG1nci0+bXN0X3ByaW1hcnksIG1zdGIp OworCQlybXN0YiA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfZ2V0X21zdGJfdmFsaWRhdGVkX2xvY2tl ZCgKKwkJICAgIG1nci0+bXN0X3ByaW1hcnksIG1zdGIpOwogCW11dGV4X3VubG9jaygmbWdyLT5s b2NrKTsKIAlyZXR1cm4gcm1zdGI7CiB9CkBAIC0xMDIxLDcgKzEwMjcsOSBAQCBzdGF0aWMgc3Ry dWN0IGRybV9kcF9tc3RfcG9ydCAqZHJtX2RwX21zdF9nZXRfcG9ydF9yZWZfbG9ja2VkKHN0cnVj dCBkcm1fZHBfbXN0XwogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgc3RydWN0IGRybV9kcF9t c3RfcG9ydCAqZHJtX2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYoc3RydWN0IGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyICptZ3IsIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpCitzdGF0aWMg c3RydWN0IGRybV9kcF9tc3RfcG9ydCAqCitkcm1fZHBfbXN0X3RvcG9sb2d5X2dldF9wb3J0X3Zh bGlkYXRlZChzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKKwkJCQkgICAgICAg c3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCkKIHsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0 ICpycG9ydCA9IE5VTEw7CiAJbXV0ZXhfbG9jaygmbWdyLT5sb2NrKTsKQEAgLTEyMTAsNyArMTIx OCw3IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9hZGRfcG9ydChzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKm1zdGIsCiAJCQlsaXN0X2RlbCgmcG9ydC0+bmV4dCk7CiAJCQltdXRleF91bmxvY2soJm1z dGItPm1nci0+bG9jayk7CiAJCQkvKiBkcm9wIHBvcnQgbGlzdCByZWZlcmVuY2UgKi8KLQkJCWRy bV9kcF9wdXRfcG9ydChwb3J0KTsKKwkJCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9y dCk7CiAJCQlnb3RvIG91dDsKIAkJfQogCQlpZiAoKHBvcnQtPnBkdCA9PSBEUF9QRUVSX0RFVklD RV9EUF9MRUdBQ1lfQ09OViB8fApAQCAtMTIyNCw3ICsxMjMyLDcgQEAgc3RhdGljIHZvaWQgZHJt X2RwX2FkZF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaCAqbXN0YiwKIAogb3V0OgogCS8q IHB1dCByZWZlcmVuY2UgdG8gdGhpcyBwb3J0ICovCi0JZHJtX2RwX3B1dF9wb3J0KHBvcnQpOwor CWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiB9CiAKIHN0YXRpYyB2b2lkIGRy bV9kcF91cGRhdGVfcG9ydChzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGIsCkBAIC0xMjU5 LDcgKzEyNjcsNyBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfdXBkYXRlX3BvcnQoc3RydWN0IGRybV9k cF9tc3RfYnJhbmNoICptc3RiLAogCQkJZG93b3JrID0gdHJ1ZTsKIAl9CiAKLQlkcm1fZHBfcHV0 X3BvcnQocG9ydCk7CisJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydChwb3J0KTsKIAlpZiAo ZG93b3JrKQogCQlxdWV1ZV93b3JrKHN5c3RlbV9sb25nX3dxLCAmbXN0Yi0+bWdyLT53b3JrKTsK IApAQCAtMTM2MiwxMCArMTM3MCwxMSBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfY2hlY2tfYW5kX3Nl bmRfbGlua19hZGRyZXNzKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbQogCQkJZHJt X2RwX3NlbmRfZW51bV9wYXRoX3Jlc291cmNlcyhtZ3IsIG1zdGIsIHBvcnQpOwogCiAJCWlmIChw b3J0LT5tc3RiKSB7Ci0JCQltc3RiX2NoaWxkID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfbXN0Yl9y ZWYobWdyLCBwb3J0LT5tc3RiKTsKKwkJCW1zdGJfY2hpbGQgPSBkcm1fZHBfbXN0X3RvcG9sb2d5 X2dldF9tc3RiX3ZhbGlkYXRlZCgKKwkJCSAgICBtZ3IsIHBvcnQtPm1zdGIpOwogCQkJaWYgKG1z dGJfY2hpbGQpIHsKIAkJCQlkcm1fZHBfY2hlY2tfYW5kX3NlbmRfbGlua19hZGRyZXNzKG1nciwg bXN0Yl9jaGlsZCk7Ci0JCQkJZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2RldmljZShtc3RiX2NoaWxk KTsKKwkJCQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiKG1zdGJfY2hpbGQpOwogCQkJfQog CQl9CiAJfQpAQCAtMTM4NCw3ICsxMzkzLDcgQEAgc3RhdGljIHZvaWQgZHJtX2RwX21zdF9saW5r X3Byb2JlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCW11dGV4X3VubG9jaygmbWdy LT5sb2NrKTsKIAlpZiAobXN0YikgewogCQlkcm1fZHBfY2hlY2tfYW5kX3NlbmRfbGlua19hZGRy ZXNzKG1nciwgbXN0Yik7Ci0JCWRybV9kcF9wdXRfbXN0X2JyYW5jaF9kZXZpY2UobXN0Yik7CisJ CWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X21zdGIobXN0Yik7CiAJfQogfQogCkBAIC0xNzI2LDE3 ICsxNzM1LDE3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3BheWxvYWRfc2VuZF9tc2coc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJdTggc2lua3NbRFJNX0RQX01BWF9TRFBfU1RS RUFNU107CiAJaW50IGk7CiAKLQlwb3J0ID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYo bWdyLCBwb3J0KTsKKwlwb3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0 ZWQobWdyLCBwb3J0KTsKIAlpZiAoIXBvcnQpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJcG9ydF9u dW0gPSBwb3J0LT5wb3J0X251bTsKLQltc3RiID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfbXN0Yl9y ZWYobWdyLCBwb3J0LT5wYXJlbnQpOworCW1zdGIgPSBkcm1fZHBfbXN0X3RvcG9sb2d5X2dldF9t c3RiX3ZhbGlkYXRlZChtZ3IsIHBvcnQtPnBhcmVudCk7CiAJaWYgKCFtc3RiKSB7CiAJCW1zdGIg PSBkcm1fZHBfZ2V0X2xhc3RfY29ubmVjdGVkX3BvcnRfYW5kX21zdGIobWdyLCBwb3J0LT5wYXJl bnQsICZwb3J0X251bSk7CiAKIAkJaWYgKCFtc3RiKSB7Ci0JCQlkcm1fZHBfcHV0X3BvcnQocG9y dCk7CisJCQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9wb3J0KHBvcnQpOwogCQkJcmV0dXJuIC1F SU5WQUw7CiAJCX0KIAl9CkBAIC0xNzY2LDggKzE3NzUsOCBAQCBzdGF0aWMgaW50IGRybV9kcF9w YXlsb2FkX3NlbmRfbXNnKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogCX0K IAlrZnJlZSh0eG1zZyk7CiBmYWlsX3B1dDoKLQlkcm1fZHBfcHV0X21zdF9icmFuY2hfZGV2aWNl KG1zdGIpOwotCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKKwlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1 dF9tc3RiKG1zdGIpOworCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiAJcmV0 dXJuIHJldDsKIH0KIApAQCAtMTc3NywxMyArMTc4NiwxMyBAQCBpbnQgZHJtX2RwX3NlbmRfcG93 ZXJfdXBkb3duX3BoeShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAlzdHJ1 Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqdHhtc2c7CiAJaW50IGxlbiwgcmV0OwogCi0JcG9y dCA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX3BvcnRfcmVmKG1nciwgcG9ydCk7CisJcG9ydCA9IGRy bV9kcF9tc3RfdG9wb2xvZ3lfZ2V0X3BvcnRfdmFsaWRhdGVkKG1nciwgcG9ydCk7CiAJaWYgKCFw b3J0KQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXR4bXNnID0ga3phbGxvYyhzaXplb2YoKnR4bXNn KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF0eG1zZykgewotCQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7 CisJCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiAJCXJldHVybiAtRU5PTUVN OwogCX0KIApAQCAtMTc5OSw3ICsxODA4LDcgQEAgaW50IGRybV9kcF9zZW5kX3Bvd2VyX3VwZG93 bl9waHkoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJCQlyZXQgPSAwOwog CX0KIAlrZnJlZSh0eG1zZyk7Ci0JZHJtX2RwX3B1dF9wb3J0KHBvcnQpOworCWRybV9kcF9tc3Rf dG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTg4OCw3ICsx ODk3LDggQEAgaW50IGRybV9kcF91cGRhdGVfcGF5bG9hZF9wYXJ0MShzdHJ1Y3QgZHJtX2RwX21z dF90b3BvbG9neV9tZ3IgKm1ncikKIAkJaWYgKHZjcGkpIHsKIAkJCXBvcnQgPSBjb250YWluZXJf b2YodmNwaSwgc3RydWN0IGRybV9kcF9tc3RfcG9ydCwKIAkJCQkJICAgIHZjcGkpOwotCQkJcG9y dCA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX3BvcnRfcmVmKG1nciwgcG9ydCk7CisJCQlwb3J0ID0g ZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLAorCQkJCQkJCQkgICAg ICBwb3J0KTsKIAkJCWlmICghcG9ydCkgewogCQkJCW11dGV4X3VubG9jaygmbWdyLT5wYXlsb2Fk X2xvY2spOwogCQkJCXJldHVybiAtRUlOVkFMOwpAQCAtMTkyNSw3ICsxOTM1LDcgQEAgaW50IGRy bV9kcF91cGRhdGVfcGF5bG9hZF9wYXJ0MShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3Ig Km1ncikKIAkJY3VyX3Nsb3RzICs9IHJlcV9wYXlsb2FkLm51bV9zbG90czsKIAogCQlpZiAocG9y dCkKLQkJCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKKwkJCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0 X3BvcnQocG9ydCk7CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IG1nci0+bWF4X3BheWxvYWRzOyBp KyspIHsKQEAgLTIwMjQsNyArMjAzNCw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3NlbmRfZHBjZF93 cml0ZShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAlzdHJ1Y3QgZHJtX2Rw X3NpZGViYW5kX21zZ190eCAqdHhtc2c7CiAJc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICptc3Ri OwogCi0JbXN0YiA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX21zdGJfcmVmKG1nciwgcG9ydC0+cGFy ZW50KTsKKwltc3RiID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfbXN0Yl92YWxpZGF0ZWQobWdy LCBwb3J0LT5wYXJlbnQpOwogCWlmICghbXN0YikKIAkJcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTIw NDgsNyArMjA1OCw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3NlbmRfZHBjZF93cml0ZShzdHJ1Y3Qg ZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAl9CiAJa2ZyZWUodHhtc2cpOwogZmFpbF9w dXQ6Ci0JZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2RldmljZShtc3RiKTsKKwlkcm1fZHBfbXN0X3Rv cG9sb2d5X3B1dF9tc3RiKG1zdGIpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTIxOTIsNyArMjIw Miw3IEBAIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zZXRfbXN0KHN0cnVjdCBkcm1fZHBf bXN0X3RvcG9sb2d5X21nciAqbWdyLCBib29sIG1zCiBvdXRfdW5sb2NrOgogCW11dGV4X3VubG9j aygmbWdyLT5sb2NrKTsKIAlpZiAobXN0YikKLQkJZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2Rldmlj ZShtc3RiKTsKKwkJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKIAlyZXR1cm4g cmV0OwogCiB9CkBAIC0yMzU3LDcgKzIzNjcsNyBAQCBzdGF0aWMgaW50IGRybV9kcF9tc3RfaGFu ZGxlX2Rvd25fcmVwKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQogCQkJICAg ICAgIG1nci0+ZG93bl9yZXBfcmVjdi5pbml0aWFsX2hkci5sY3QsCiAJCQkJICAgICAgbWdyLT5k b3duX3JlcF9yZWN2LmluaXRpYWxfaGRyLnJhZFswXSwKIAkJCQkgICAgICBtZ3ItPmRvd25fcmVw X3JlY3YubXNnWzBdKTsKLQkJCWRybV9kcF9wdXRfbXN0X2JyYW5jaF9kZXZpY2UobXN0Yik7CisJ CQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiKG1zdGIpOwogCQkJbWVtc2V0KCZtZ3ItPmRv d25fcmVwX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOwog CQkJcmV0dXJuIDA7CiAJCX0KQEAgLTIzNjgsNyArMjM3OCw3IEBAIHN0YXRpYyBpbnQgZHJtX2Rw X21zdF9oYW5kbGVfZG93bl9yZXAoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3Ip CiAJCX0KIAogCQltZW1zZXQoJm1nci0+ZG93bl9yZXBfcmVjdiwgMCwgc2l6ZW9mKHN0cnVjdCBk cm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7Ci0JCWRybV9kcF9wdXRfbXN0X2JyYW5jaF9kZXZpY2Uo bXN0Yik7CisJCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X21zdGIobXN0Yik7CiAKIAkJbXV0ZXhf bG9jaygmbWdyLT5xbG9jayk7CiAJCXR4bXNnLT5zdGF0ZSA9IERSTV9EUF9TSURFQkFORF9UWF9S WDsKQEAgLTI0NDEsNyArMjQ1MSw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX21zdF9oYW5kbGVfdXBf cmVxKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQogCQl9CiAKIAkJaWYgKG1z dGIpCi0JCQlkcm1fZHBfcHV0X21zdF9icmFuY2hfZGV2aWNlKG1zdGIpOworCQkJZHJtX2RwX21z dF90b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKIAogCQltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3Ys IDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOwogCX0KQEAgLTI1MDEs NyArMjUxMSw3IEBAIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgZHJtX2RwX21zdF9kZXRlY3Rf cG9ydChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yCiAJZW51bSBkcm1fY29ubmVjdG9y X3N0YXR1cyBzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIAogCS8qIHdl IG5lZWQgdG8gc2VhcmNoIGZvciB0aGUgcG9ydCBpbiB0aGUgbWdyIGluIGNhc2UgaXRzIGdvbmUg Ki8KLQlwb3J0ID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYobWdyLCBwb3J0KTsKKwlw b3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLCBwb3J0KTsK IAlpZiAoIXBvcnQpCiAJCXJldHVybiBjb25uZWN0b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKIApA QCAtMjUyNiw3ICsyNTM2LDcgQEAgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBkcm1fZHBfbXN0 X2RldGVjdF9wb3J0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IKIAkJYnJlYWs7CiAJ fQogb3V0OgotCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKKwlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1 dF9wb3J0KHBvcnQpOwogCXJldHVybiBzdGF0dXM7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9kcF9t c3RfZGV0ZWN0X3BvcnQpOwpAQCAtMjU0MywxMSArMjU1MywxMSBAQCBib29sIGRybV9kcF9tc3Rf cG9ydF9oYXNfYXVkaW8oc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiB7CiAJ Ym9vbCByZXQgPSBmYWxzZTsKIAotCXBvcnQgPSBkcm1fZHBfZ2V0X3ZhbGlkYXRlZF9wb3J0X3Jl ZihtZ3IsIHBvcnQpOworCXBvcnQgPSBkcm1fZHBfbXN0X3RvcG9sb2d5X2dldF9wb3J0X3ZhbGlk YXRlZChtZ3IsIHBvcnQpOwogCWlmICghcG9ydCkKIAkJcmV0dXJuIHJldDsKIAlyZXQgPSBwb3J0 LT5oYXNfYXVkaW87Ci0JZHJtX2RwX3B1dF9wb3J0KHBvcnQpOworCWRybV9kcF9tc3RfdG9wb2xv Z3lfcHV0X3BvcnQocG9ydCk7CiAJcmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2Rw X21zdF9wb3J0X2hhc19hdWRpbyk7CkBAIC0yNTY3LDcgKzI1NzcsNyBAQCBzdHJ1Y3QgZWRpZCAq ZHJtX2RwX21zdF9nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1 Y3QgZHJtX2RwXwogCXN0cnVjdCBlZGlkICplZGlkID0gTlVMTDsKIAogCS8qIHdlIG5lZWQgdG8g c2VhcmNoIGZvciB0aGUgcG9ydCBpbiB0aGUgbWdyIGluIGNhc2UgaXRzIGdvbmUgKi8KLQlwb3J0 ID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYobWdyLCBwb3J0KTsKKwlwb3J0ID0gZHJt X2RwX21zdF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLCBwb3J0KTsKIAlpZiAoIXBv cnQpCiAJCXJldHVybiBOVUxMOwogCkBAIC0yNTc4LDcgKzI1ODgsNyBAQCBzdHJ1Y3QgZWRpZCAq ZHJtX2RwX21zdF9nZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1 Y3QgZHJtX2RwXwogCQlkcm1fY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KGNvbm5lY3Rvcik7 CiAJfQogCXBvcnQtPmhhc19hdWRpbyA9IGRybV9kZXRlY3RfbW9uaXRvcl9hdWRpbyhlZGlkKTsK LQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7CisJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydChw b3J0KTsKIAlyZXR1cm4gZWRpZDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2RwX21zdF9nZXRfZWRp ZCk7CkBAIC0yNjQ5LDcgKzI2NTksNyBAQCBpbnQgZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xv dHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCWlmIChJU19FUlIodG9wb2xvZ3lf c3RhdGUpKQogCQlyZXR1cm4gUFRSX0VSUih0b3BvbG9neV9zdGF0ZSk7CiAKLQlwb3J0ID0gZHJt X2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYobWdyLCBwb3J0KTsKKwlwb3J0ID0gZHJtX2RwX21z dF90b3BvbG9neV9nZXRfcG9ydF92YWxpZGF0ZWQobWdyLCBwb3J0KTsKIAlpZiAocG9ydCA9PSBO VUxMKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXFfc2xvdHMgPSBESVZfUk9VTkRfVVAocGJuLCBt Z3ItPnBibl9kaXYpOwpAQCAtMjY1NywxNCArMjY2NywxNCBAQCBpbnQgZHJtX2RwX2F0b21pY19m aW5kX3ZjcGlfc2xvdHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJcmVxX3Ns b3RzLCB0b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMpOwogCiAJaWYgKHJlcV9zbG90cyA+IHRv cG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90cykgewotCQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7CisJ CWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiAJCXJldHVybiAtRU5PU1BDOwog CX0KIAogCXRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90cyAtPSByZXFfc2xvdHM7CiAJRFJNX0RF QlVHX0tNUygidmNwaSBzbG90cyBhdmFpbD0lZCIsIHRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90 cyk7CiAKLQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7CisJZHJtX2RwX21zdF90b3BvbG9neV9wdXRf cG9ydChwb3J0KTsKIAlyZXR1cm4gcmVxX3Nsb3RzOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBf YXRvbWljX2ZpbmRfdmNwaV9zbG90cyk7CkBAIC0yNzE1LDcgKzI3MjUsNyBAQCBib29sIGRybV9k cF9tc3RfYWxsb2NhdGVfdmNwaShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwK IHsKIAlpbnQgcmV0OwogCi0JcG9ydCA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX3BvcnRfcmVmKG1n ciwgcG9ydCk7CisJcG9ydCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfZ2V0X3BvcnRfdmFsaWRhdGVk KG1nciwgcG9ydCk7CiAJaWYgKCFwb3J0KQogCQlyZXR1cm4gZmFsc2U7CiAKQEAgLTI3MjUsNyAr MjczNSw3IEBAIGJvb2wgZHJtX2RwX21zdF9hbGxvY2F0ZV92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0 X3RvcG9sb2d5X21nciAqbWdyLAogCWlmIChwb3J0LT52Y3BpLnZjcGkgPiAwKSB7CiAJCURSTV9E RUJVR19LTVMoInBheWxvYWQ6IHZjcGkgJWQgYWxyZWFkeSBhbGxvY2F0ZWQgZm9yIHBibiAlZCAt IHJlcXVlc3RlZCBwYm4gJWRcbiIsIHBvcnQtPnZjcGkudmNwaSwgcG9ydC0+dmNwaS5wYm4sIHBi bik7CiAJCWlmIChwYm4gPT0gcG9ydC0+dmNwaS5wYm4pIHsKLQkJCWRybV9kcF9wdXRfcG9ydChw b3J0KTsKKwkJCWRybV9kcF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQocG9ydCk7CiAJCQlyZXR1cm4g dHJ1ZTsKIAkJfQogCX0KQEAgLTI3MzksNyArMjc0OSw3IEBAIGJvb2wgZHJtX2RwX21zdF9hbGxv Y2F0ZV92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogCURSTV9ERUJV R19LTVMoImluaXRpbmcgdmNwaSBmb3IgcGJuPSVkIHNsb3RzPSVkXG4iLAogCQkJcGJuLCBwb3J0 LT52Y3BpLm51bV9zbG90cyk7CiAKLQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7CisJZHJtX2RwX21z dF90b3BvbG9neV9wdXRfcG9ydChwb3J0KTsKIAlyZXR1cm4gdHJ1ZTsKIG91dDoKIAlyZXR1cm4g ZmFsc2U7CkBAIC0yNzQ5LDEyICsyNzU5LDEyIEBAIEVYUE9SVF9TWU1CT0woZHJtX2RwX21zdF9h bGxvY2F0ZV92Y3BpKTsKIGludCBkcm1fZHBfbXN0X2dldF92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1f ZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0KQog ewogCWludCBzbG90cyA9IDA7Ci0JcG9ydCA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX3BvcnRfcmVm KG1nciwgcG9ydCk7CisJcG9ydCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfZ2V0X3BvcnRfdmFsaWRh dGVkKG1nciwgcG9ydCk7CiAJaWYgKCFwb3J0KQogCQlyZXR1cm4gc2xvdHM7CiAKIAlzbG90cyA9 IHBvcnQtPnZjcGkubnVtX3Nsb3RzOwotCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKKwlkcm1fZHBf bXN0X3RvcG9sb2d5X3B1dF9wb3J0KHBvcnQpOwogCXJldHVybiBzbG90czsKIH0KIEVYUE9SVF9T WU1CT0woZHJtX2RwX21zdF9nZXRfdmNwaV9zbG90cyk7CkBAIC0yNzY4LDExICsyNzc4LDExIEBA IEVYUE9SVF9TWU1CT0woZHJtX2RwX21zdF9nZXRfdmNwaV9zbG90cyk7CiAgKi8KIHZvaWQgZHJt X2RwX21zdF9yZXNldF92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAq bWdyLCBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0KQogewotCXBvcnQgPSBkcm1fZHBfZ2V0 X3ZhbGlkYXRlZF9wb3J0X3JlZihtZ3IsIHBvcnQpOworCXBvcnQgPSBkcm1fZHBfbXN0X3RvcG9s b2d5X2dldF9wb3J0X3ZhbGlkYXRlZChtZ3IsIHBvcnQpOwogCWlmICghcG9ydCkKIAkJcmV0dXJu OwogCXBvcnQtPnZjcGkubnVtX3Nsb3RzID0gMDsKLQlkcm1fZHBfcHV0X3BvcnQocG9ydCk7CisJ ZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydChwb3J0KTsKIH0KIEVYUE9SVF9TWU1CT0woZHJt X2RwX21zdF9yZXNldF92Y3BpX3Nsb3RzKTsKIApAQCAtMjc4Myw3ICsyNzkzLDcgQEAgRVhQT1JU X1NZTUJPTChkcm1fZHBfbXN0X3Jlc2V0X3ZjcGlfc2xvdHMpOwogICovCiB2b2lkIGRybV9kcF9t c3RfZGVhbGxvY2F0ZV92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBz dHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0KQogewotCXBvcnQgPSBkcm1fZHBfZ2V0X3ZhbGlk YXRlZF9wb3J0X3JlZihtZ3IsIHBvcnQpOworCXBvcnQgPSBkcm1fZHBfbXN0X3RvcG9sb2d5X2dl dF9wb3J0X3ZhbGlkYXRlZChtZ3IsIHBvcnQpOwogCWlmICghcG9ydCkKIAkJcmV0dXJuOwogCkBA IC0yNzkyLDcgKzI4MDIsNyBAQCB2b2lkIGRybV9kcF9tc3RfZGVhbGxvY2F0ZV92Y3BpKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBzdHJ1Y3QgZHJtXwogCXBvcnQtPnZjcGku cGJuID0gMDsKIAlwb3J0LT52Y3BpLmFsaWduZWRfcGJuID0gMDsKIAlwb3J0LT52Y3BpLnZjcGkg PSAwOwotCWRybV9kcF9wdXRfcG9ydChwb3J0KTsKKwlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9w b3J0KHBvcnQpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBfbXN0X2RlYWxsb2NhdGVfdmNwaSk7 CiAKQEAgLTMyOTIsNyArMzMwMiw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX21zdF9pMmNfeGZlcihz dHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfbXNnICptc2dzCiAJc3RydWN0 IGRybV9kcF9zaWRlYmFuZF9tc2dfdHggKnR4bXNnID0gTlVMTDsKIAlpbnQgcmV0OwogCi0JbXN0 YiA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX21zdGJfcmVmKG1nciwgcG9ydC0+cGFyZW50KTsKKwlt c3RiID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfbXN0Yl92YWxpZGF0ZWQobWdyLCBwb3J0LT5w YXJlbnQpOwogCWlmICghbXN0YikKIAkJcmV0dXJuIC1FUkVNT1RFSU87CiAKQEAgLTMzNDIsNyAr MzM1Miw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX21zdF9pMmNfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0 ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfbXNnICptc2dzCiAJfQogb3V0OgogCWtmcmVlKHR4bXNn KTsKLQlkcm1fZHBfcHV0X21zdF9icmFuY2hfZGV2aWNlKG1zdGIpOworCWRybV9kcF9tc3RfdG9w b2xvZ3lfcHV0X21zdGIobXN0Yik7CiAJcmV0dXJuIHJldDsKIH0KIAotLSAKMi4yMC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK