From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 30/32] drm: Nuke fb->depth Date: Thu, 17 Nov 2016 18:14:29 +0200 Message-ID: <1479399271-31991-31-git-send-email-ville.syrjala@linux.intel.com> References: <1479399271-31991-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id A211D6E819 for ; Thu, 17 Nov 2016 16:16:25 +0000 (UTC) In-Reply-To: <1479399271-31991-1-git-send-email-ville.syrjala@linux.intel.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 Cc: Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl cGxhY2UgdXNlcyBvZiBmYi0+ZGVwdGggd2l0aCBmYi0+Zm9ybWF0LT5kZXB0aC4gTGVzcyBkdXBs aWNhdGUKaW5mb3JtYXRpb24gaXMgYSBnb29kIHRoaW5nLgoKQEAKc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmI7CmV4cHJlc3Npb24gRTEsIEUyOwpAQAogZHJtX2hlbHBlcl9tb2RlX2ZpbGxfZmJf c3RydWN0KC4uLikgewoJLi4uCi0JZmItPmRlcHRoID0gRTE7CgkuLi4KIH0KCkBACnN0cnVjdCB2 bXdfZnJhbWVidWZmZXJfc3VyZmFjZSAqdmZiOwpleHByZXNzaW9uIEU7CkBACi0gdmZiLT5iYXNl LmJhc2UuZGVwdGggPSBFOwoKQEAKc3RydWN0IHZtd19mcmFtZWJ1ZmZlcl9kbWFidWYgKnZmYjsK ZXhwcmVzc2lvbiBFOwpAQAotIHZmYi0+YmFzZS5iYXNlLmRlcHRoID0gRTsKCkBACnN0cnVjdCBu b3V2ZWF1X2ZyYW1lYnVmZmVyICpmYjsKQEAKLSBmYi0+YmFzZS5kZXB0aAorIGZiLT5iYXNlLmZv cm1hdC0+ZGVwdGgKCkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgZmI7CmV4cHJlc3Npb24gRTsK QEAKLSBmYi5kZXB0aAorIGZiLmZvcm1hdC0+ZGVwdGgKCkBACnN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiOwpleHByZXNzaW9uIEU7CkBACi0gZmItPmRlcHRoCisgZmItPmZvcm1hdC0+ZGVwdGgK CkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgZmI7CkBACi0gKGZiLmZvcm1hdC0+ZGVwdGgpCisg ZmIuZm9ybWF0LT5kZXB0aAoKQEAKc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7CkBACi0gKGZi LT5mb3JtYXQtPmRlcHRoKQorIGZiLT5mb3JtYXQtPmRlcHRoCgpAQApAQAogc3RydWN0IGRybV9m cmFtZWJ1ZmZlciB7CgkgLi4uCi0JIHVuc2lnbmVkIGludCBkZXB0aDsKCSAuLi4KIH07CgpTaWdu ZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mYi5jICAgICAgICB8ICA0 ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiZGV2LmMgICAgICAgICB8ICAz ICsrLQogZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfZmIuYyAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19mYmRldi5jICAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19mYmRldi5jICAgICAgICAgfCAgNCArKy0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYyAgICAgICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMgICAgICAgICAgfCAgMiAtLQogZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiZGV2LmMgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9nbWE1MDAvYWNjZWxfMmQuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2dtYTUwMC9nbWFfZGlzcGxheS5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvbWRmbGRfaW50ZWxfZGlzcGxheS5jICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v Z21hNTAwL29ha3RyYWlsX2NydGMuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJkZXYuYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZ2Fn MjAwL21nYWcyMDBfZmIuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbWdhZzIw MC9tZ2FnMjAwX21vZGUuYyAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2ZiZGV2LmMgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnYwNC9jcnRjLmMgICAgICAgfCAxMiArKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjA0L2RmcC5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfZmJkZXYuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcXhs L3F4bF9mYi5jICAgICAgICAgICAgICAgICAgfCAgNSArKystLQogZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZmIuYyAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5jIHwgIDUgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kcm0uYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL2ZiLmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS91ZGwv dWRsX2ZiLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfZmIuYyAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92 bXdnZnhfZmIuYyAgICAgICAgICAgIHwgIDcgKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfa21zLmMgICAgICAgICAgIHwgIDIgLS0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2xkdS5jICAgICAgICAgICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9zY3JuLmMgICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVm ZmVyLmggICAgICAgICAgICAgICAgIHwgIDYgLS0tLS0tCiAzNiBmaWxlcyBjaGFuZ2VkLCA1NiBp bnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9mYi5jCmluZGV4IGYxYzllNTlhN2M4Ny4uZjI0YzkxYjY5OWE5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZmIuYwpAQCAtMjQ1LDcgKzI0NSw3IEBAIHN0YXRpYyBpbnQg YW1kZ3B1ZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAKIAlzdHJjcHko aW5mby0+Zml4LmlkLCAiYW1kZ3B1ZHJtZmIiKTsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgo aW5mbywgZmItPnBpdGNoZXNbMF0sIGZiLT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxsX2Zp eChpbmZvLCBmYi0+cGl0Y2hlc1swXSwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCiAJaW5mby0+Zmxh Z3MgPSBGQklORk9fREVGQVVMVCB8IEZCSU5GT19DQU5fRk9SQ0VfT1VUUFVUOwogCWluZm8tPmZi b3BzID0gJmFtZGdwdWZiX29wczsKQEAgLTI3Miw3ICsyNzIsNyBAQCBzdGF0aWMgaW50IGFtZGdw dWZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCURSTV9JTkZPKCJmYiBt YXBwYWJsZSBhdCAweCVsWFxuIiwgIGluZm8tPmZpeC5zbWVtX3N0YXJ0KTsKIAlEUk1fSU5GTygi dnJhbSBhcHBlciBhdCAweCVsWFxuIiwgICh1bnNpZ25lZCBsb25nKWFkZXYtPm1jLmFwZXJfYmFz ZSk7CiAJRFJNX0lORk8oInNpemUgJWx1XG4iLCAodW5zaWduZWQgbG9uZylhbWRncHVfYm9fc2l6 ZShhYm8pKTsKLQlEUk1fSU5GTygiZmIgZGVwdGggaXMgJWRcbiIsIGZiLT5kZXB0aCk7CisJRFJN X0lORk8oImZiIGRlcHRoIGlzICVkXG4iLCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJRFJNX0lORk8o IiAgIHBpdGNoIGlzICVkXG4iLCBmYi0+cGl0Y2hlc1swXSk7CiAKIAl2Z2Ffc3dpdGNoZXJvb19j bGllbnRfZmJfc2V0KGFkZXYtPmRkZXYtPnBkZXYsIGluZm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEv YXJtYWRhX2ZiZGV2LmMKaW5kZXggYzVkYzA2YTU1ODgzLi4zYTU4ZmI2MDBiMDUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZmJkZXYuYwpAQCAtODksNyArODksOCBAQCBzdGF0aWMgaW50 IGFybWFkYV9mYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiaCwKIAlpbmZvLT5zY3Jl ZW5fYmFzZSA9IHB0cjsKIAlmYmgtPmZiID0gJmRmYi0+ZmI7CiAKLQlkcm1fZmJfaGVscGVyX2Zp bGxfZml4KGluZm8sIGRmYi0+ZmIucGl0Y2hlc1swXSwgZGZiLT5mYi5kZXB0aCk7CisJZHJtX2Zi X2hlbHBlcl9maWxsX2ZpeChpbmZvLCBkZmItPmZiLnBpdGNoZXNbMF0sCisJCQkgICAgICAgZGZi LT5mYi5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sIGZiaCwg c2l6ZXMtPmZiX3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAogCURSTV9ERUJVR19LTVMoImFs bG9jYXRlZCAlZHglZCAlZGJwcCBmYjogMHglMDhsbHhcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYXN0L2FzdF9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfZmIuYwppbmRl eCBkNmY1ZWM2NGM2NjcuLmY3NTE3OTJhM2M3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FzdC9hc3RfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9mYi5jCkBAIC0yMzcs NyArMjM3LDcgQEAgc3RhdGljIGludCBhc3RmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIg KmhlbHBlciwKIAlpbmZvLT5hcGVydHVyZXMtPnJhbmdlc1swXS5iYXNlID0gcGNpX3Jlc291cmNl X3N0YXJ0KGRldi0+cGRldiwgMCk7CiAJaW5mby0+YXBlcnR1cmVzLT5yYW5nZXNbMF0uc2l6ZSA9 IHBjaV9yZXNvdXJjZV9sZW4oZGV2LT5wZGV2LCAwKTsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9m aXgoaW5mbywgZmItPnBpdGNoZXNbMF0sIGZiLT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxs X2ZpeChpbmZvLCBmYi0+cGl0Y2hlc1swXSwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCWRybV9mYl9o ZWxwZXJfZmlsbF92YXIoaW5mbywgJmFmYmRldi0+aGVscGVyLCBzaXplcy0+ZmJfd2lkdGgsIHNp emVzLT5mYl9oZWlnaHQpOwogCiAJaW5mby0+c2NyZWVuX2Jhc2UgPSBzeXNyYW07CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9ib2Nocy9ib2Noc19mYmRldi5jCmluZGV4IGRhNzkwYTFjMzAyYS4uMDMxN2MzZGY2YTIyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYuYwpAQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRp YyBpbnQgYm9jaHNmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAlpbmZv LT5mbGFncyA9IEZCSU5GT19ERUZBVUxUOwogCWluZm8tPmZib3BzID0gJmJvY2hzZmJfb3BzOwog Ci0JZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChpbmZvLCBmYi0+cGl0Y2hlc1swXSwgZmItPmRlcHRo KTsKKwlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBmYi0+Zm9y bWF0LT5kZXB0aCk7CiAJZHJtX2ZiX2hlbHBlcl9maWxsX3ZhcihpbmZvLCAmYm9jaHMtPmZiLmhl bHBlciwgc2l6ZXMtPmZiX3dpZHRoLAogCQkJICAgICAgIHNpemVzLT5mYl9oZWlnaHQpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19mYmRldi5jIGIvZHJpdmVy cy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZmJkZXYuYwppbmRleCAzYTYzMDlkN2Q4ZTQuLjNjYWM4 YTAzY2Y0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZmJkZXYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19mYmRldi5jCkBAIC0yMTgsNyAr MjE4LDcgQEAgc3RhdGljIGludCBjaXJydXNmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIg KmhlbHBlciwKIAlpbmZvLT5mbGFncyA9IEZCSU5GT19ERUZBVUxUOwogCWluZm8tPmZib3BzID0g JmNpcnJ1c2ZiX29wczsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNo ZXNbMF0sIGZiLT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChpbmZvLCBmYi0+cGl0 Y2hlc1swXSwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCWRybV9mYl9oZWxwZXJfZmlsbF92YXIoaW5m bywgJmdmYmRldi0+aGVscGVyLCBzaXplcy0+ZmJfd2lkdGgsCiAJCQkgICAgICAgc2l6ZXMtPmZi X2hlaWdodCk7CiAKQEAgLTIzOCw3ICsyMzgsNyBAQCBzdGF0aWMgaW50IGNpcnJ1c2ZiX2NyZWF0 ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCURSTV9JTkZPKCJmYiBtYXBwYWJsZSBh dCAweCVsWFxuIiwgaW5mby0+Zml4LnNtZW1fc3RhcnQpOwogCURSTV9JTkZPKCJ2cmFtIGFwZXIg YXQgMHglbFhcbiIsICh1bnNpZ25lZCBsb25nKWluZm8tPmZpeC5zbWVtX3N0YXJ0KTsKIAlEUk1f SU5GTygic2l6ZSAlbHVcbiIsICh1bnNpZ25lZCBsb25nKWluZm8tPmZpeC5zbWVtX2xlbik7Ci0J RFJNX0lORk8oImZiIGRlcHRoIGlzICVkXG4iLCBmYi0+ZGVwdGgpOworCURSTV9JTkZPKCJmYiBk ZXB0aCBpcyAlZFxuIiwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCURSTV9JTkZPKCIgICBwaXRjaCBp cyAlZFxuIiwgZmItPnBpdGNoZXNbMF0pOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJf Y21hX2hlbHBlci5jCmluZGV4IDBkYzNmNWJjYmY0OC4uMTgxYTllYWZlMzRhIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZiX2NtYV9oZWxwZXIuYwpAQCAtNDY0LDcgKzQ2NCw3IEBAIGludCBkcm1fZmJkZXZf Y21hX2NyZWF0ZV93aXRoX2Z1bmNzKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJZmJp LT5mbGFncyA9IEZCSU5GT19GTEFHX0RFRkFVTFQ7CiAJZmJpLT5mYm9wcyA9ICZkcm1fZmJkZXZf Y21hX29wczsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoZmJpLCBmYi0+cGl0Y2hlc1swXSwg ZmItPmRlcHRoKTsKKwlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGZiaSwgZmItPnBpdGNoZXNbMF0s IGZiLT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGZiaSwgaGVscGVy LCBzaXplcy0+ZmJfd2lkdGgsIHNpemVzLT5mYl9oZWlnaHQpOwogCiAJb2Zmc2V0ID0gZmJpLT52 YXIueG9mZnNldCAqIGJ5dGVzX3Blcl9waXhlbDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4 IDE0NTQ3ODE3NTY2ZC4uNzU1ZTNiNmU5NzEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAg LTE2NjMsNyArMTY2Myw3IEBAIHZvaWQgZHJtX2ZiX2hlbHBlcl9maWxsX3ZhcihzdHJ1Y3QgZmJf aW5mbyAqaW5mbywgc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlCiAJaW5mby0+dmFyLmhl aWdodCA9IC0xOwogCWluZm8tPnZhci53aWR0aCA9IC0xOwogCi0Jc3dpdGNoIChmYi0+ZGVwdGgp IHsKKwlzd2l0Y2ggKGZiLT5mb3JtYXQtPmRlcHRoKSB7CiAJY2FzZSA4OgogCQlpbmZvLT52YXIu cmVkLm9mZnNldCA9IDA7CiAJCWluZm8tPnZhci5ncmVlbi5vZmZzZXQgPSAwOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9mcmFtZWJ1ZmZlci5jCmluZGV4IDI4ZDY5N2FlMWZhZi4uMDBkZWY5MzBiNmE1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9mcmFtZWJ1ZmZlci5jCkBAIC00MzIsNyArNDMyLDcgQEAgaW50IGRybV9tb2RlX2dl dGZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlyLT5oZWlnaHQgPSBmYi0+aGVpZ2h0Owog CXItPndpZHRoID0gZmItPndpZHRoOwotCXItPmRlcHRoID0gZmItPmRlcHRoOworCXItPmRlcHRo ID0gZmItPmZvcm1hdC0+ZGVwdGg7CiAJci0+YnBwID0gZmItPmJpdHNfcGVyX3BpeGVsOwogCXIt PnBpdGNoID0gZmItPnBpdGNoZXNbMF07CiAJaWYgKGZiLT5mdW5jcy0+Y3JlYXRlX2hhbmRsZSkg ewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4IDFhYTVlM2JjYzhhMS4uZTVk MTllNWZjMzQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCkBAIC04MywxMCAr ODMsOCBAQCB2b2lkIGRybV9oZWxwZXJfbW9kZV9maWxsX2ZiX3N0cnVjdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkgICAgICAgICAgICAgIGRybV9nZXRfZm9ybWF0X25hbWUobW9kZV9jbWQt PnBpeGVsX2Zvcm1hdCwKIAkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3Jt YXRfbmFtZSkpOwogCi0JCWZiLT5kZXB0aCA9IDA7CiAJCWZiLT5iaXRzX3Blcl9waXhlbCA9IDA7 CiAJfSBlbHNlIHsKLQkJZmItPmRlcHRoID0gaW5mby0+ZGVwdGg7CiAJCWZiLT5iaXRzX3Blcl9w aXhlbCA9IGluZm8tPmNwcFswXSAqIDg7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19kcm1fZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9mYmRldi5jCmluZGV4IDlmMzVkZWI1NjE3MC4uZTY4YTQ2ZjExMmY2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmJkZXYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmJkZXYuYwpAQCAtOTAsNyArOTAsNyBAQCBz dGF0aWMgaW50IGV4eW5vc19kcm1fZmJkZXZfdXBkYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpo ZWxwZXIsCiAJZmJpLT5mbGFncyA9IEZCSU5GT19GTEFHX0RFRkFVTFQ7CiAJZmJpLT5mYm9wcyA9 ICZleHlub3NfZHJtX2ZiX29wczsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoZmJpLCBmYi0+ cGl0Y2hlc1swXSwgZmItPmRlcHRoKTsKKwlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGZiaSwgZmIt PnBpdGNoZXNbMF0sIGZiLT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFy KGZiaSwgaGVscGVyLCBzaXplcy0+ZmJfd2lkdGgsIHNpemVzLT5mYl9oZWlnaHQpOwogCiAJbnJf cGFnZXMgPSBleHlub3NfZ2VtLT5zaXplID4+IFBBR0VfU0hJRlQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL2FjY2VsXzJkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Fj Y2VsXzJkLmMKaW5kZXggMGQyYmIxNjgyNTA4Li5jNTFkOTI1OWM3YTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvYWNjZWxfMmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21h NTAwL2FjY2VsXzJkLmMKQEAgLTI1NCw3ICsyNTQsNyBAQCBzdGF0aWMgdm9pZCBwc2JmYl9jb3B5 YXJlYV9hY2NlbChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKIAlvZmZzZXQgPSBwc2JmYi0+Z3R0LT5v ZmZzZXQ7CiAJc3RyaWRlID0gZmItPnBpdGNoZXNbMF07CiAKLQlzd2l0Y2ggKGZiLT5kZXB0aCkg eworCXN3aXRjaCAoZmItPmZvcm1hdC0+ZGVwdGgpIHsKIAljYXNlIDg6CiAJCXNyY19mb3JtYXQg PSBQU0JfMkRfU1JDXzMzMlJHQjsKIAkJZHN0X2Zvcm1hdCA9IFBTQl8yRF9EU1RfMzMyUkdCOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9mcmFtZWJ1ZmZlci5jIGIvZHJpdmVy cy9ncHUvZHJtL2dtYTUwMC9mcmFtZWJ1ZmZlci5jCmluZGV4IDZkODllZDc2MDk0MS4uYTkzYjU5 Y2U2YjQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9mcmFtZWJ1ZmZlci5jCkBAIC00MDcsNyArNDA3 LDcgQEAgc3RhdGljIGludCBwc2JmYl9jcmVhdGUoc3RydWN0IHBzYl9mYmRldiAqZmJkZXYsCiAK IAlmYmRldi0+cHNiX2ZiX2hlbHBlci5mYiA9IGZiOwogCi0JZHJtX2ZiX2hlbHBlcl9maWxsX2Zp eChpbmZvLCBmYi0+cGl0Y2hlc1swXSwgZmItPmRlcHRoKTsKKwlkcm1fZmJfaGVscGVyX2ZpbGxf Zml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJc3RyY3B5KGlu Zm8tPmZpeC5pZCwgInBzYmRybWZiIik7CiAKIAlpbmZvLT5mbGFncyA9IEZCSU5GT19ERUZBVUxU OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9nbWFfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2dtYTUwMC9nbWFfZGlzcGxheS5jCmluZGV4IDA1YjlhNGNlYjU4ZC4uNWI4 NTJhZDE1MmFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2dtYV9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9nbWFfZGlzcGxheS5jCkBAIC05NCw3ICs5 NCw3IEBAIGludCBnbWFfcGlwZV9zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB4 LCBpbnQgeSwKIAkJZHNwY250ciB8PSBESVNQUExBTkVfOEJQUDsKIAkJYnJlYWs7CiAJY2FzZSAx NjoKLQkJaWYgKGZiLT5kZXB0aCA9PSAxNSkKKwkJaWYgKGZiLT5mb3JtYXQtPmRlcHRoID09IDE1 KQogCQkJZHNwY250ciB8PSBESVNQUExBTkVfMTVfMTZCUFA7CiAJCWVsc2UKIAkJCWRzcGNudHIg fD0gRElTUFBMQU5FXzE2QlBQOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9t ZGZsZF9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2ludGVs X2Rpc3BsYXkuYwppbmRleCBlODA4OTUyODVlOTQuLjNiZTMxMTE4MjVjZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9pbnRlbF9kaXNwbGF5LmMKQEAgLTIwOCw3ICsyMDgsNyBA QCBzdGF0aWMgaW50IG1kZmxkX19pbnRlbF9waXBlX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywgaW50IHgsIGludCB5LAogCQlkc3BjbnRyIHw9IERJU1BQTEFORV84QlBQOwogCQlicmVh azsKIAljYXNlIDE2OgotCQlpZiAoZmItPmRlcHRoID09IDE1KQorCQlpZiAoZmItPmZvcm1hdC0+ ZGVwdGggPT0gMTUpCiAJCQlkc3BjbnRyIHw9IERJU1BQTEFORV8xNV8xNkJQUDsKIAkJZWxzZQog CQkJZHNwY250ciB8PSBESVNQUExBTkVfMTZCUFA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZ21hNTAwL29ha3RyYWlsX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJh aWxfY3J0Yy5jCmluZGV4IGE1MTg5NjU0NGQ5MS4uNTY5ODEwZDQ3Nzg2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZ21hNTAwL29ha3RyYWlsX2NydGMuYwpAQCAtNjMwLDcgKzYzMCw3IEBAIHN0YXRpYyBpbnQg b2FrdHJhaWxfcGlwZV9zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCWRzcGNudHIg fD0gRElTUFBMQU5FXzhCUFA7CiAJCWJyZWFrOwogCWNhc2UgMTY6Ci0JCWlmIChmYi0+ZGVwdGgg PT0gMTUpCisJCWlmIChmYi0+Zm9ybWF0LT5kZXB0aCA9PSAxNSkKIAkJCWRzcGNudHIgfD0gRElT UFBMQU5FXzE1XzE2QlBQOwogCQllbHNlCiAJCQlkc3BjbnRyIHw9IERJU1BQTEFORV8xNkJQUDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYjdmNDJjNDQ4YTQ0Li5lYmNiYTk3 NjE2YWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xODk0LDcgKzE4OTQs NyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX2ZyYW1lYnVmZmVyX2luZm8oc3RydWN0IHNlcV9maWxl ICptLCB2b2lkICpkYXRhKQogCQlzZXFfcHJpbnRmKG0sICJmYmNvbiBzaXplOiAlZCB4ICVkLCBk ZXB0aCAlZCwgJWQgYnBwLCBtb2RpZmllciAweCVsbHgsIHJlZmNvdW50ICVkLCBvYmogIiwKIAkJ CSAgIGZiZGV2X2ZiLT5iYXNlLndpZHRoLAogCQkJICAgZmJkZXZfZmItPmJhc2UuaGVpZ2h0LAot CQkJICAgZmJkZXZfZmItPmJhc2UuZGVwdGgsCisJCQkgICBmYmRldl9mYi0+YmFzZS5mb3JtYXQt PmRlcHRoLAogCQkJICAgZmJkZXZfZmItPmJhc2UuYml0c19wZXJfcGl4ZWwsCiAJCQkgICBmYmRl dl9mYi0+YmFzZS5tb2RpZmllciwKIAkJCSAgIGRybV9mcmFtZWJ1ZmZlcl9yZWFkX3JlZmNvdW50 KCZmYmRldl9mYi0+YmFzZSkpOwpAQCAtMTkxMiw3ICsxOTEyLDcgQEAgc3RhdGljIGludCBpOTE1 X2dlbV9mcmFtZWJ1ZmZlcl9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJ c2VxX3ByaW50ZihtLCAidXNlciBzaXplOiAlZCB4ICVkLCBkZXB0aCAlZCwgJWQgYnBwLCBtb2Rp ZmllciAweCVsbHgsIHJlZmNvdW50ICVkLCBvYmogIiwKIAkJCSAgIGZiLT5iYXNlLndpZHRoLAog CQkJICAgZmItPmJhc2UuaGVpZ2h0LAotCQkJICAgZmItPmJhc2UuZGVwdGgsCisJCQkgICBmYi0+ YmFzZS5mb3JtYXQtPmRlcHRoLAogCQkJICAgZmItPmJhc2UuYml0c19wZXJfcGl4ZWwsCiAJCQkg ICBmYi0+YmFzZS5tb2RpZmllciwKIAkJCSAgIGRybV9mcmFtZWJ1ZmZlcl9yZWFkX3JlZmNvdW50 KCZmYi0+YmFzZSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJk ZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKaW5kZXggYmViMDg5ODJk YzBiLi5iNzI2NDgzYTQ2MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwpAQCAtMjYx LDcgKzI2MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmhlbHBlciwKIAkvKiBUaGlzIGRyaXZlciBkb2Vzbid0IG5lZWQgYSBWVCBzd2l0Y2ggdG8g cmVzdG9yZSB0aGUgbW9kZSBvbiByZXN1bWUgKi8KIAlpbmZvLT5za2lwX3Z0X3N3aXRjaCA9IHRy dWU7CiAKLQlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBmYi0+ ZGVwdGgpOworCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNoZXNbMF0sIGZi LT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sICZpZmJkZXYt PmhlbHBlciwgc2l6ZXMtPmZiX3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAogCS8qIElmIHRo ZSBvYmplY3QgaXMgc2htZW1mcyBiYWNrZWQsIGl0IHdpbGwgaGF2ZSBnaXZlbiB1cyB6ZXJvZWQg cGFnZXMuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2ZiLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2ZiLmMKaW5kZXggODhkZDIyMTQxMTRk Li4xOWE3OGI2YjVhMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcy MDBfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2ZiLmMKQEAgLTIx Nyw3ICsyMTcsNyBAQCBzdGF0aWMgaW50IG1nYWcyMDBmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9o ZWxwZXIgKmhlbHBlciwKIAlpbmZvLT5hcGVydHVyZXMtPnJhbmdlc1swXS5iYXNlID0gbWRldi0+ ZGV2LT5tb2RlX2NvbmZpZy5mYl9iYXNlOwogCWluZm8tPmFwZXJ0dXJlcy0+cmFuZ2VzWzBdLnNp emUgPSBtZGV2LT5tYy52cmFtX3NpemU7CiAKLQlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGluZm8s IGZiLT5waXRjaGVzWzBdLCBmYi0+ZGVwdGgpOworCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5m bywgZmItPnBpdGNoZXNbMF0sIGZiLT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2Zp bGxfdmFyKGluZm8sICZtZmJkZXYtPmhlbHBlciwgc2l6ZXMtPmZiX3dpZHRoLAogCQkJICAgICAg IHNpemVzLT5mYl9oZWlnaHQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIw MC9tZ2FnMjAwX21vZGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbW9kZS5j CmluZGV4IGJkYWMyODhhYjE2ZC4uMzE4MGRiNWU4MWNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIw MC9tZ2FnMjAwX21vZGUuYwpAQCAtMzksMTAgKzM5LDEwIEBAIHN0YXRpYyB2b2lkIG1nYV9jcnRj X2xvYWRfbHV0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlXUkVHOChEQUNfSU5ERVggKyBNR0Ex MDY0X0lOREVYLCAwKTsKIAogCWlmIChmYiAmJiBmYi0+Yml0c19wZXJfcGl4ZWwgPT0gMTYpIHsK LQkJaW50IGluYyA9IChmYi0+ZGVwdGggPT0gMTUpID8gOCA6IDQ7CisJCWludCBpbmMgPSAoZmIt PmZvcm1hdC0+ZGVwdGggPT0gMTUpID8gOCA6IDQ7CiAJCXU4IHIsIGI7CiAJCWZvciAoaSA9IDA7 IGkgPCBNR0FHMjAwX0xVVF9TSVpFOyBpICs9IGluYykgewotCQkJaWYgKGZiLT5kZXB0aCA9PSAx NikgeworCQkJaWYgKGZiLT5mb3JtYXQtPmRlcHRoID09IDE2KSB7CiAJCQkJaWYgKGkgPiAoTUdB RzIwMF9MVVRfU0laRSA+PiAxKSkgewogCQkJCQlyID0gYiA9IDA7CiAJCQkJfSBlbHNlIHsKQEAg LTk0Nyw3ICs5NDcsNyBAQCBzdGF0aWMgaW50IG1nYV9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAkJZGFjdmFsdWVbTUdBMTA2NF9NVUxfQ1RMXSA9IE1HQTEwNjRfTVVMX0NU TF84Yml0czsKIAkJYnJlYWs7CiAJY2FzZSAxNjoKLQkJaWYgKGZiLT5kZXB0aCA9PSAxNSkKKwkJ aWYgKGZiLT5mb3JtYXQtPmRlcHRoID09IDE1KQogCQkJZGFjdmFsdWVbTUdBMTA2NF9NVUxfQ1RM XSA9IE1HQTEwNjRfTVVMX0NUTF8xNWJpdHM7CiAJCWVsc2UKIAkJCWRhY3ZhbHVlW01HQTEwNjRf TVVMX0NUTF0gPSBNR0ExMDY0X01VTF9DVExfMTZiaXRzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ZiZGV2LmMK aW5kZXggZDI5ZjVlODJhNDEwLi4zYWY5NjlkOGU4ZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZmJkZXYu YwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHN0YXRpYyBpbnQgbXNtX2ZiZGV2X2NyZWF0ZShzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCiAJc3RyY3B5KGZiaS0+Zml4LmlkLCAibXNtIik7CiAK LQlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGZiaSwgZmItPnBpdGNoZXNbMF0sIGZiLT5kZXB0aCk7 CisJZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChmYmksIGZiLT5waXRjaGVzWzBdLCBmYi0+Zm9ybWF0 LT5kZXB0aCk7CiAJZHJtX2ZiX2hlbHBlcl9maWxsX3ZhcihmYmksIGhlbHBlciwgc2l6ZXMtPmZi X3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAogCWRldi0+bW9kZV9jb25maWcuZmJfYmFzZSA9 IHBhZGRyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvY3J0 Yy5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvY3J0Yy5jCmluZGV4IDgyODZi OGZmZTEwOS4uNDgwZTNhYjQ3N2ZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9kaXNwbnYwNC9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQv Y3J0Yy5jCkBAIC01NzAsNyArNTcwLDcgQEAgbnZfY3J0Y19tb2RlX3NldF9yZWdzKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKiBtb2RlKQogCQlyZWdwLT5D UlRDW05WX0NJT19DUkVfODZdID0gMHgxOwogCX0KIAotCXJlZ3AtPkNSVENbTlZfQ0lPX0NSRV9Q SVhFTF9JTkRFWF0gPSAoZmItPmRlcHRoICsgMSkgLyA4OworCXJlZ3AtPkNSVENbTlZfQ0lPX0NS RV9QSVhFTF9JTkRFWF0gPSAoZmItPmZvcm1hdC0+ZGVwdGggKyAxKSAvIDg7CiAJLyogRW5hYmxl IHNsYXZlZCBtb2RlIChjYWxsZWQgTU9ERV9UViBpbiBudjRyZWYuaCkgKi8KIAlpZiAobHZkc19v dXRwdXQgfHwgdG1kc19vdXRwdXQgfHwgdHZfb3V0cHV0KQogCQlyZWdwLT5DUlRDW05WX0NJT19D UkVfUElYRUxfSU5ERVhdIHw9ICgxIDw8IDcpOwpAQCAtNTg0LDcgKzU4NCw3IEBAIG52X2NydGNf bW9kZV9zZXRfcmVncyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICogbW9kZSkKIAlyZWdwLT5yYW1kYWNfZ2VuX2N0cmwgPSBOVl9QUkFNREFDX0dFTkVSQUxf Q09OVFJPTF9CUENfOEJJVFMgfAogCQkJCU5WX1BSQU1EQUNfR0VORVJBTF9DT05UUk9MX1ZHQV9T VEFURV9TRUwgfAogCQkJCU5WX1BSQU1EQUNfR0VORVJBTF9DT05UUk9MX1BJWE1JWF9PTjsKLQlp ZiAoZmItPmRlcHRoID09IDE2KQorCWlmIChmYi0+Zm9ybWF0LT5kZXB0aCA9PSAxNikKIAkJcmVn cC0+cmFtZGFjX2dlbl9jdHJsIHw9IE5WX1BSQU1EQUNfR0VORVJBTF9DT05UUk9MX0FMVF9NT0RF X1NFTDsKIAlpZiAoZHJtLT5kZXZpY2UuaW5mby5jaGlwc2V0ID49IDB4MTEpCiAJCXJlZ3AtPnJh bWRhY19nZW5fY3RybCB8PSBOVl9QUkFNREFDX0dFTkVSQUxfQ09OVFJPTF9QSVBFX0xPTkc7CkBA IC04NDgsMTYgKzg0OCwxNiBAQCBudjA0X2NydGNfZG9fbW9kZV9zZXRfYmFzZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAKIAludl9jcnRjLT5mYi5vZmZzZXQgPSBmYi0+bnZiby0+Ym8ub2Zmc2V0 OwogCi0JaWYgKG52X2NydGMtPmx1dC5kZXB0aCAhPSBkcm1fZmItPmRlcHRoKSB7Ci0JCW52X2Ny dGMtPmx1dC5kZXB0aCA9IGRybV9mYi0+ZGVwdGg7CisJaWYgKG52X2NydGMtPmx1dC5kZXB0aCAh PSBkcm1fZmItPmZvcm1hdC0+ZGVwdGgpIHsKKwkJbnZfY3J0Yy0+bHV0LmRlcHRoID0gZHJtX2Zi LT5mb3JtYXQtPmRlcHRoOwogCQludl9jcnRjX2dhbW1hX2xvYWQoY3J0Yyk7CiAJfQogCiAJLyog VXBkYXRlIHRoZSBmcmFtZWJ1ZmZlciBmb3JtYXQuICovCiAJcmVncC0+Q1JUQ1tOVl9DSU9fQ1JF X1BJWEVMX0lOREVYXSAmPSB+MzsKLQlyZWdwLT5DUlRDW05WX0NJT19DUkVfUElYRUxfSU5ERVhd IHw9IChkcm1fZmItPmRlcHRoICsgMSkgLyA4OworCXJlZ3AtPkNSVENbTlZfQ0lPX0NSRV9QSVhF TF9JTkRFWF0gfD0gKGRybV9mYi0+Zm9ybWF0LT5kZXB0aCArIDEpIC8gODsKIAlyZWdwLT5yYW1k YWNfZ2VuX2N0cmwgJj0gfk5WX1BSQU1EQUNfR0VORVJBTF9DT05UUk9MX0FMVF9NT0RFX1NFTDsK LQlpZiAoZHJtX2ZiLT5kZXB0aCA9PSAxNikKKwlpZiAoZHJtX2ZiLT5mb3JtYXQtPmRlcHRoID09 IDE2KQogCQlyZWdwLT5yYW1kYWNfZ2VuX2N0cmwgfD0gTlZfUFJBTURBQ19HRU5FUkFMX0NPTlRS T0xfQUxUX01PREVfU0VMOwogCWNydGNfd3JfY2lvX3N0YXRlKGNydGMsIHJlZ3AsIE5WX0NJT19D UkVfUElYRUxfSU5ERVgpOwogCU5WV3JpdGVSQU1EQUMoZGV2LCBudl9jcnRjLT5pbmRleCwgTlZf UFJBTURBQ19HRU5FUkFMX0NPTlRST0wsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9kaXNwbnYwNC9kZnAuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjA0L2Rm cC5jCmluZGV4IDk0NTYwN2IzY2Q0MS4uMmU1YmIyYWZkYTdjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnYwNC9kZnAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9kaXNwbnYwNC9kZnAuYwpAQCAtNDE2LDcgKzQxNiw3IEBAIHN0YXRpYyB2b2lkIG52MDRf ZGZwX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkvKiBPdXRwdXQgcHJv cGVydHkuICovCiAJaWYgKChudl9jb25uZWN0b3ItPmRpdGhlcmluZ19tb2RlID09IERJVEhFUklO R19NT0RFX09OKSB8fAogCSAgICAobnZfY29ubmVjdG9yLT5kaXRoZXJpbmdfbW9kZSA9PSBESVRI RVJJTkdfTU9ERV9BVVRPICYmCi0JICAgICBmYi0+ZGVwdGggPiBjb25uZWN0b3ItPmRpc3BsYXlf aW5mby5icGMgKiAzKSkgeworCSAgICAgZmItPmZvcm1hdC0+ZGVwdGggPiBjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5icGMgKiAzKSkgewogCQlpZiAoZHJtLT5kZXZpY2UuaW5mby5jaGlwc2V0ID09 IDB4MTEpCiAJCQlyZWdwLT5kaXRoZXIgPSBzYXZlcC0+ZGl0aGVyIHwgMHgwMDAxMDAwMDsKIAkJ ZWxzZSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29u LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMKaW5kZXggMmYyYTNk Y2Q0YWQ3Li41NjAwZjZjNjQ0OTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfZmJjb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Zi Y29uLmMKQEAgLTQwMCw3ICs0MDAsOCBAQCBub3V2ZWF1X2ZiY29uX2NyZWF0ZShzdHJ1Y3QgZHJt X2ZiX2hlbHBlciAqaGVscGVyLAogCWluZm8tPnNjcmVlbl9iYXNlID0gbnZib19rbWFwX29ial9p b3ZpcnR1YWwoZmItPm52Ym8pOwogCWluZm8tPnNjcmVlbl9zaXplID0gZmItPm52Ym8tPmJvLm1l bS5udW1fcGFnZXMgPDwgUEFHRV9TSElGVDsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5m bywgZmItPmJhc2UucGl0Y2hlc1swXSwgZmItPmJhc2UuZGVwdGgpOworCWRybV9mYl9oZWxwZXJf ZmlsbF9maXgoaW5mbywgZmItPmJhc2UucGl0Y2hlc1swXSwKKwkJCSAgICAgICBmYi0+YmFzZS5m b3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sICZmYmNvbi0+aGVs cGVyLCBzaXplcy0+ZmJfd2lkdGgsIHNpemVzLT5mYl9oZWlnaHQpOwogCiAJLyogVXNlIGRlZmF1 bHQgc2NyYXRjaCBwaXhtYXAgKGluZm8tPnBpeG1hcC5mbGFncyA9IEZCX1BJWE1BUF9TWVNURU0p ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2ZiZGV2LmMgYi9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2ZiZGV2LmMKaW5kZXggOGQ4YWMxNzNmNTVkLi5h ZWQ5OWEwZmM0NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmJk ZXYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2ZiZGV2LmMKQEAgLTE5MCw3 ICsxOTAsNyBAQCBzdGF0aWMgaW50IG9tYXBfZmJkZXZfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpoZWxwZXIsCiAKIAlzdHJjcHkoZmJpLT5maXguaWQsIE1PRFVMRV9OQU1FKTsKIAotCWRy bV9mYl9oZWxwZXJfZmlsbF9maXgoZmJpLCBmYi0+cGl0Y2hlc1swXSwgZmItPmRlcHRoKTsKKwlk cm1fZmJfaGVscGVyX2ZpbGxfZml4KGZiaSwgZmItPnBpdGNoZXNbMF0sIGZiLT5mb3JtYXQtPmRl cHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGZiaSwgaGVscGVyLCBzaXplcy0+ZmJfd2lk dGgsIHNpemVzLT5mYl9oZWlnaHQpOwogCiAJZGV2LT5tb2RlX2NvbmZpZy5mYl9iYXNlID0gcGFk ZHI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9mYi5jIGIvZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfZmIuYwppbmRleCA3ZTMwNWQ4YTQxNDYuLmU0MWIzMzIyZjQzMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZmIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF9mYi5jCkBAIC0yNzksNyArMjc5LDcgQEAgc3RhdGljIGludCBxeGxmYl9jcmVh dGUoc3RydWN0IHF4bF9mYmRldiAqcWZiZGV2LAogCXFmYmRldi0+c2hhZG93ID0gc2hhZG93Owog CXN0cmNweShpbmZvLT5maXguaWQsICJxeGxkcm1mYiIpOwogCi0JZHJtX2ZiX2hlbHBlcl9maWxs X2ZpeChpbmZvLCBmYi0+cGl0Y2hlc1swXSwgZmItPmRlcHRoKTsKKwlkcm1fZmJfaGVscGVyX2Zp bGxfZml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAKIAlpbmZv LT5mbGFncyA9IEZCSU5GT19ERUZBVUxUIHwgRkJJTkZPX0hXQUNDRUxfQ09QWUFSRUEgfCBGQklO Rk9fSFdBQ0NFTF9GSUxMUkVDVDsKIAlpbmZvLT5mYm9wcyA9ICZxeGxmYl9vcHM7CkBAIC0zMTYs NyArMzE2LDggQEAgc3RhdGljIGludCBxeGxmYl9jcmVhdGUoc3RydWN0IHF4bF9mYmRldiAqcWZi ZGV2LAogCXFkZXYtPmZiZGV2X2luZm8gPSBpbmZvOwogCXFkZXYtPmZiZGV2X3FmYiA9ICZxZmJk ZXYtPnFmYjsKIAlEUk1fSU5GTygiZmIgbWFwcGFibGUgYXQgMHglbFgsIHNpemUgJWx1XG4iLCAg aW5mby0+Zml4LnNtZW1fc3RhcnQsICh1bnNpZ25lZCBsb25nKWluZm8tPnNjcmVlbl9zaXplKTsK LQlEUk1fSU5GTygiZmI6IGRlcHRoICVkLCBwaXRjaCAlZCwgd2lkdGggJWQsIGhlaWdodCAlZFxu IiwgZmItPmRlcHRoLCBmYi0+cGl0Y2hlc1swXSwgZmItPndpZHRoLCBmYi0+aGVpZ2h0KTsKKwlE Uk1fSU5GTygiZmI6IGRlcHRoICVkLCBwaXRjaCAlZCwgd2lkdGggJWQsIGhlaWdodCAlZFxuIiwK KwkJIGZiLT5mb3JtYXQtPmRlcHRoLCBmYi0+cGl0Y2hlc1swXSwgZmItPndpZHRoLCBmYi0+aGVp Z2h0KTsKIAlyZXR1cm4gMDsKIAogb3V0X2Rlc3Ryb3lfZmJpOgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2ZiLmMKaW5kZXggODk5YjZhMTY0NGJkLi42YzEwYTgzZjMzNjIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZmIuYwpAQCAtMjYzLDcgKzI2Myw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJf Y3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAKIAlzdHJjcHkoaW5mby0+Zml4 LmlkLCAicmFkZW9uZHJtZmIiKTsKIAotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmIt PnBpdGNoZXNbMF0sIGZiLT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChpbmZvLCBm Yi0+cGl0Y2hlc1swXSwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCiAJaW5mby0+ZmxhZ3MgPSBGQklO Rk9fREVGQVVMVCB8IEZCSU5GT19DQU5fRk9SQ0VfT1VUUFVUOwogCWluZm8tPmZib3BzID0gJnJh ZGVvbmZiX29wczsKQEAgLTI5MCw3ICsyOTAsNyBAQCBzdGF0aWMgaW50IHJhZGVvbmZiX2NyZWF0 ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCURSTV9JTkZPKCJmYiBtYXBwYWJsZSBh dCAweCVsWFxuIiwgIGluZm8tPmZpeC5zbWVtX3N0YXJ0KTsKIAlEUk1fSU5GTygidnJhbSBhcHBl ciBhdCAweCVsWFxuIiwgICh1bnNpZ25lZCBsb25nKXJkZXYtPm1jLmFwZXJfYmFzZSk7CiAJRFJN X0lORk8oInNpemUgJWx1XG4iLCAodW5zaWduZWQgbG9uZylyYWRlb25fYm9fc2l6ZShyYm8pKTsK LQlEUk1fSU5GTygiZmIgZGVwdGggaXMgJWRcbiIsIGZiLT5kZXB0aCk7CisJRFJNX0lORk8oImZi IGRlcHRoIGlzICVkXG4iLCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJRFJNX0lORk8oIiAgIHBpdGNo IGlzICVkXG4iLCBmYi0+cGl0Y2hlc1swXSk7CiAKIAl2Z2Ffc3dpdGNoZXJvb19jbGllbnRfZmJf c2V0KHJkZXYtPmRkZXYtPnBkZXYsIGluZm8pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9mYmRldi5jCmluZGV4IDhmNjM5Yzg1OTdhNS4uNTJkMWZkZjlmOWRhIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiZGV2LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYmRldi5jCkBAIC05 NCw3ICs5NCw3IEBAIHN0YXRpYyBpbnQgcm9ja2NoaXBfZHJtX2ZiZGV2X2NyZWF0ZShzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCWZiaS0+ZmJvcHMgPSAmcm9ja2NoaXBfZHJtX2ZiZGV2 X29wczsKIAogCWZiID0gaGVscGVyLT5mYjsKLQlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGZiaSwg ZmItPnBpdGNoZXNbMF0sIGZiLT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChmYmks IGZiLT5waXRjaGVzWzBdLCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJZHJtX2ZiX2hlbHBlcl9maWxs X3ZhcihmYmksIGhlbHBlciwgc2l6ZXMtPmZiX3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAog CW9mZnNldCA9IGZiaS0+dmFyLnhvZmZzZXQgKiBieXRlc19wZXJfcGl4ZWw7CkBAIC0xMDYsNyAr MTA2LDggQEAgc3RhdGljIGludCByb2NrY2hpcF9kcm1fZmJkZXZfY3JlYXRlKHN0cnVjdCBkcm1f ZmJfaGVscGVyICpoZWxwZXIsCiAJZmJpLT5maXguc21lbV9sZW4gPSBya19vYmotPmJhc2Uuc2l6 ZTsKIAogCURSTV9ERUJVR19LTVMoIkZCIFslZHglZF0tJWQga3ZhZGRyPSVwIG9mZnNldD0lbGQg c2l6ZT0lenVcbiIsCi0JCSAgICAgIGZiLT53aWR0aCwgZmItPmhlaWdodCwgZmItPmRlcHRoLCBy a19vYmotPmt2YWRkciwKKwkJICAgICAgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBmYi0+Zm9ybWF0 LT5kZXB0aCwKKwkJICAgICAgcmtfb2JqLT5rdmFkZHIsCiAJCSAgICAgIG9mZnNldCwgc2l6ZSk7 CiAKIAlmYmktPnNraXBfdnRfc3dpdGNoID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS90ZWdyYS9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwppbmRleCBiOGJl M2VlNGQzYjguLmQyODkzZjY1MzQxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2RybS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwpAQCAtODc1LDcgKzg3NSw4 IEBAIHN0YXRpYyBpbnQgdGVncmFfZGVidWdmc19mcmFtZWJ1ZmZlcnMoc3RydWN0IHNlcV9maWxl ICpzLCB2b2lkICpkYXRhKQogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShmYiwgJmRybS0+bW9kZV9j b25maWcuZmJfbGlzdCwgaGVhZCkgewogCQlzZXFfcHJpbnRmKHMsICIlM2Q6IHVzZXIgc2l6ZTog JWQgeCAlZCwgZGVwdGggJWQsICVkIGJwcCwgcmVmY291bnQgJWRcbiIsCi0JCQkgICBmYi0+YmFz ZS5pZCwgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBmYi0+ZGVwdGgsCisJCQkgICBmYi0+YmFzZS5p ZCwgZmItPndpZHRoLCBmYi0+aGVpZ2h0LAorCQkJICAgZmItPmZvcm1hdC0+ZGVwdGgsCiAJCQkg ICBmYi0+Yml0c19wZXJfcGl4ZWwsCiAJCQkgICBkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZjb3Vu dChmYikpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jIGIvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL2ZiLmMKaW5kZXggYTAwOTY0OTNmNTFjLi4yYTFiZjkyNDAzYjgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS90ZWdyYS9mYi5jCkBAIC0yNDYsNyArMjQ2LDcgQEAgc3RhdGljIGludCB0ZWdyYV9mYmRl dl9wcm9iZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCWluZm8tPmZsYWdzID0gRkJJ TkZPX0ZMQUdfREVGQVVMVDsKIAlpbmZvLT5mYm9wcyA9ICZ0ZWdyYV9mYl9vcHM7CiAKLQlkcm1f ZmJfaGVscGVyX2ZpbGxfZml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBmYi0+ZGVwdGgpOworCWRy bV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNoZXNbMF0sIGZiLT5mb3JtYXQtPmRl cHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sIGhlbHBlciwgZmItPndpZHRoLCBm Yi0+aGVpZ2h0KTsKIAogCW9mZnNldCA9IGluZm8tPnZhci54b2Zmc2V0ICogYnl0ZXNfcGVyX3Bp eGVsICsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgYi9kcml2ZXJz L2dwdS9kcm0vdWRsL3VkbF9mYi5jCmluZGV4IGZlZmQ4N2Y0MjJlYy4uZTIxYTNlZDNhYjJiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS91ZGwvdWRsX2ZiLmMKQEAgLTM5NSw3ICszOTUsNyBAQCBzdGF0aWMgaW50IHVkbGZiX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCiAJaW5mby0+ZmxhZ3MgPSBGQklO Rk9fREVGQVVMVCB8IEZCSU5GT19DQU5fRk9SQ0VfT1VUUFVUOwogCWluZm8tPmZib3BzID0gJnVk bGZiX29wczsKLQlkcm1fZmJfaGVscGVyX2ZpbGxfZml4KGluZm8sIGZiLT5waXRjaGVzWzBdLCBm Yi0+ZGVwdGgpOworCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNoZXNbMF0s IGZiLT5mb3JtYXQtPmRlcHRoKTsKIAlkcm1fZmJfaGVscGVyX2ZpbGxfdmFyKGluZm8sICZ1ZmJk ZXYtPmhlbHBlciwgc2l6ZXMtPmZiX3dpZHRoLCBzaXplcy0+ZmJfaGVpZ2h0KTsKIAogCURSTV9E RUJVR19LTVMoImFsbG9jYXRlZCAlZHglZCB2bWFsICVwXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3Zp cnRncHVfZmIuYwppbmRleCBkZDIxZjk1MGUxMjkuLjlkMGRhNDJjYzQyMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3ZpcnRpby92aXJ0Z3B1X2ZiLmMKQEAgLTMzMyw3ICszMzMsNyBAQCBzdGF0aWMgaW50IHZpcnRp b19ncHVmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAogCWluZm8tPnNj cmVlbl9iYXNlID0gb2JqLT52bWFwOwogCWluZm8tPnNjcmVlbl9zaXplID0gb2JqLT5nZW1fYmFz ZS5zaXplOwotCWRybV9mYl9oZWxwZXJfZmlsbF9maXgoaW5mbywgZmItPnBpdGNoZXNbMF0sIGZi LT5kZXB0aCk7CisJZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChpbmZvLCBmYi0+cGl0Y2hlc1swXSwg ZmItPmZvcm1hdC0+ZGVwdGgpOwogCWRybV9mYl9oZWxwZXJfZmlsbF92YXIoaW5mbywgJnZmYmRl di0+aGVscGVyLAogCQkJICAgICAgIHNpemVzLT5mYl93aWR0aCwgc2l6ZXMtPmZiX2hlaWdodCk7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ZiLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mYi5jCmluZGV4IGQyZDkzOTU5YjExOS4uYjZlNGFk ZDA5ZjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mYi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ZiLmMKQEAgLTgzLDcgKzgzLDcgQEAg c3RhdGljIGludCB2bXdfZmJfc2V0Y29scmVnKHVuc2lnbmVkIHJlZ25vLCB1bnNpZ25lZCByZWQs IHVuc2lnbmVkIGdyZWVuLAogCQlyZXR1cm4gMTsKIAl9CiAKLQlzd2l0Y2ggKHBhci0+c2V0X2Zi LT5kZXB0aCkgeworCXN3aXRjaCAocGFyLT5zZXRfZmItPmZvcm1hdC0+ZGVwdGgpIHsKIAljYXNl IDI0OgogCWNhc2UgMzI6CiAJCXBhbFtyZWdub10gPSAoKHJlZCAmIDB4ZmYwMCkgPDwgOCkgfApA QCAtOTEsNyArOTEsOCBAQCBzdGF0aWMgaW50IHZtd19mYl9zZXRjb2xyZWcodW5zaWduZWQgcmVn bm8sIHVuc2lnbmVkIHJlZCwgdW5zaWduZWQgZ3JlZW4sCiAJCQkgICAgICgoYmx1ZSAgJiAweGZm MDApID4+IDgpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlEUk1fRVJST1IoIkJhZCBkZXB0aCAl dSwgYnBwICV1LlxuIiwgcGFyLT5zZXRfZmItPmRlcHRoLAorCQlEUk1fRVJST1IoIkJhZCBkZXB0 aCAldSwgYnBwICV1LlxuIiwKKwkJCSAgcGFyLT5zZXRfZmItPmZvcm1hdC0+ZGVwdGgsCiAJCQkg IHBhci0+c2V0X2ZiLT5iaXRzX3Blcl9waXhlbCk7CiAJCXJldHVybiAxOwogCX0KQEAgLTQ4Niw3 ICs0ODcsNyBAQCBzdGF0aWMgaW50IHZtd19mYl9rbXNfZnJhbWVidWZmZXIoc3RydWN0IGZiX2lu Zm8gKmluZm8pCiAJaWYgKGN1cl9mYiAmJiBjdXJfZmItPndpZHRoID09IG1vZGVfY21kLndpZHRo ICYmCiAJICAgIGN1cl9mYi0+aGVpZ2h0ID09IG1vZGVfY21kLmhlaWdodCAmJgogCSAgICBjdXJf ZmItPmJpdHNfcGVyX3BpeGVsID09IG1vZGVfY21kLmJwcCAmJgotCSAgICBjdXJfZmItPmRlcHRo ID09IG1vZGVfY21kLmRlcHRoICYmCisJICAgIGN1cl9mYi0+Zm9ybWF0LT5kZXB0aCA9PSBtb2Rl X2NtZC5kZXB0aCAmJgogCSAgICBjdXJfZmItPnBpdGNoZXNbMF0gPT0gbW9kZV9jbWQucGl0Y2gp CiAJCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCmluZGV4IDc3Zjkz NmUzMDU2ZS4uMmNlNDc0MzcwMWYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwpA QCAtNTkzLDcgKzU5Myw2IEBAIHN0YXRpYyBpbnQgdm13X2ttc19uZXdfZnJhbWVidWZmZXJfc3Vy ZmFjZShzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAogCXZmYnMtPmJhc2UuYmFzZS5waXhl bF9mb3JtYXQgPSBwaXhlbF9mb3JtYXQ7CiAJdmZicy0+YmFzZS5iYXNlLmJpdHNfcGVyX3BpeGVs ID0gbW9kZV9jbWQtPmJwcDsKIAl2ZmJzLT5iYXNlLmJhc2UucGl0Y2hlc1swXSA9IG1vZGVfY21k LT5waXRjaDsKLQl2ZmJzLT5iYXNlLmJhc2UuZGVwdGggPSBtb2RlX2NtZC0+ZGVwdGg7CiAJdmZi cy0+YmFzZS5iYXNlLndpZHRoID0gbW9kZV9jbWQtPndpZHRoOwogCXZmYnMtPmJhc2UuYmFzZS5o ZWlnaHQgPSBtb2RlX2NtZC0+aGVpZ2h0OwogCXZmYnMtPnN1cmZhY2UgPSB2bXdfc3VyZmFjZV9y ZWZlcmVuY2Uoc3VyZmFjZSk7CkBAIC05MDIsNyArOTAxLDYgQEAgc3RhdGljIGludCB2bXdfa21z X25ld19mcmFtZWJ1ZmZlcl9kbWFidWYoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAl2 ZmJkLT5iYXNlLmJhc2UucGl4ZWxfZm9ybWF0ID0gcGl4ZWxfZm9ybWF0OwogCXZmYmQtPmJhc2Uu YmFzZS5iaXRzX3Blcl9waXhlbCA9IG1vZGVfY21kLT5icHA7CiAJdmZiZC0+YmFzZS5iYXNlLnBp dGNoZXNbMF0gPSBtb2RlX2NtZC0+cGl0Y2g7Ci0JdmZiZC0+YmFzZS5iYXNlLmRlcHRoID0gbW9k ZV9jbWQtPmRlcHRoOwogCXZmYmQtPmJhc2UuYmFzZS53aWR0aCA9IG1vZGVfY21kLT53aWR0aDsK IAl2ZmJkLT5iYXNlLmJhc2UuaGVpZ2h0ID0gbW9kZV9jbWQtPmhlaWdodDsKIAl2ZmJkLT5iYXNl LmRtYWJ1ZiA9IHRydWU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9sZHUuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jCmluZGV4IDIzZWM2 NzNkNWUxNi4uYTNhODM5YTNkNDQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9sZHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwpA QCAtOTcsNyArOTcsOCBAQCBzdGF0aWMgaW50IHZtd19sZHVfY29tbWl0X2xpc3Qoc3RydWN0IHZt d19wcml2YXRlICpkZXZfcHJpdikKIAkJZmIgPSBlbnRyeS0+YmFzZS5jcnRjLnByaW1hcnktPmZi OwogCiAJCXJldHVybiB2bXdfa21zX3dyaXRlX3N2Z2EoZGV2X3ByaXYsIHcsIGgsIGZiLT5waXRj aGVzWzBdLAotCQkJCQkgIGZiLT5iaXRzX3Blcl9waXhlbCwgZmItPmRlcHRoKTsKKwkJCQkJICBm Yi0+Yml0c19wZXJfcGl4ZWwsCisJCQkJCSAgZmItPmZvcm1hdC0+ZGVwdGgpOwogCX0KIAogCWlm ICghbGlzdF9lbXB0eSgmbGRzLT5hY3RpdmUpKSB7CkBAIC0xMDUsNyArMTA2LDcgQEAgc3RhdGlj IGludCB2bXdfbGR1X2NvbW1pdF9saXN0KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ CWZiID0gZW50cnktPmJhc2UuY3J0Yy5wcmltYXJ5LT5mYjsKIAogCQl2bXdfa21zX3dyaXRlX3N2 Z2EoZGV2X3ByaXYsIGZiLT53aWR0aCwgZmItPmhlaWdodCwgZmItPnBpdGNoZXNbMF0sCi0JCQkJ ICAgZmItPmJpdHNfcGVyX3BpeGVsLCBmYi0+ZGVwdGgpOworCQkJCSAgIGZiLT5iaXRzX3Blcl9w aXhlbCwgZmItPmZvcm1hdC0+ZGVwdGgpOwogCX0KIAogCS8qIE1ha2Ugc3VyZSB3ZSBhbHdheXMg c2hvdyBzb21ldGhpbmcuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9zY3JuLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKaW5kZXgg ZjQyMzU5MDg0YWRjLi4zOGQ3YjhhMmI3OGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X3Njcm4uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9z Y3JuLmMKQEAgLTU5OCw3ICs1OTgsNyBAQCBzdGF0aWMgaW50IGRvX2RtYWJ1Zl9kZWZpbmVfZ21y ZmIoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAlzdHJ1Y3Qgdm13X2RtYV9idWZmZXIg KmJ1ZiA9CiAJCWNvbnRhaW5lcl9vZihmcmFtZWJ1ZmZlciwgc3RydWN0IHZtd19mcmFtZWJ1ZmZl cl9kbWFidWYsCiAJCQkgICAgIGJhc2UpLT5idWZmZXI7Ci0JaW50IGRlcHRoID0gZnJhbWVidWZm ZXItPmJhc2UuZGVwdGg7CisJaW50IGRlcHRoID0gZnJhbWVidWZmZXItPmJhc2UuZm9ybWF0LT5k ZXB0aDsKIAlzdHJ1Y3QgewogCQl1aW50MzJfdCBoZWFkZXI7CiAJCVNWR0FGaWZvQ21kRGVmaW5l R01SRkIgYm9keTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oIGIv aW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmgKaW5kZXggY2RjZmI4NmIzZjc0Li45Yjk3NzI5 OThkYjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oCkBAIC0xNzAsMTIgKzE3MCw2IEBAIHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgewogCSAqLwogCXVuc2lnbmVkIGludCBoZWlnaHQ7CiAJLyoqCi0JICog QGRlcHRoOiBEZXB0aCBpbiBiaXRzIHBlciBwaXhlbCBmb3IgUkdCIGZvcm1hdHMuIDAgZm9yIGV2 ZXJ5dGhpbmcKLQkgKiBlbHNlLiBMZWdhY3kgaW5mb3JtYXRpb24gZGVyaXZlZCBmcm9tIEBwaXhl bF9mb3JtYXQsIGl0J3Mgc3VnZ2VzdGVkIHRvIHVzZQotCSAqIHRoZSBEUk0gRk9VUkNDIGNvZGVz IGFuZCBoZWxwZXIgZnVuY3Rpb25zIGRpcmVjdGx5IGluc3RlYWQuCi0JICovCi0JdW5zaWduZWQg aW50IGRlcHRoOwotCS8qKgogCSAqIEBiaXRzX3Blcl9waXhlbDogU3RvcmFnZSB1c2VkIGJpdHMg cGVyIHBpeGVsIGZvciBSR0IgZm9ybWF0cy4gMCBmb3IKIAkgKiBldmVyeXRoaW5nIGVsc2UuIExl Z2FjeSBpbmZvcm1hdGlvbiBkZXJpdmVkIGZyb20gQHBpeGVsX2Zvcm1hdCwgaXQncwogCSAqIHN1 Z2dlc3RlZCB0byB1c2UgdGhlIERSTSBGT1VSQ0MgY29kZXMgYW5kIGhlbHBlciBmdW5jdGlvbnMg ZGlyZWN0bHkKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK