From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 31/32] drm: Nuke fb->bits_per_pixel Date: Thu, 17 Nov 2016 21:18:20 +0200 Message-ID: <1479410300-8497-1-git-send-email-ville.syrjala@linux.intel.com> References: <1479399271-31991-32-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id AF3756E856 for ; Thu, 17 Nov 2016 19:18:24 +0000 (UTC) In-Reply-To: <1479399271-31991-32-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+Yml0c19wZXJfcGl4ZWwgd2l0aCBmYi0+Zm9ybWF0LT5jcHBbMF0q OC4KTGVzcyBkdXBsaWNhdGVkIGluZm9ybWF0aW9uIGlzIGEgZ29vZCB0aGluZy4KCk5vdGUgdGhh dCBJIGRpZG4ndCBwdXQgcGFyZW5zIGFyb3VuZCB0aGUgY3BwKjggaW4gdGhlIGJlbG93IGNvY2Np IHNjcmlwdCwKb24gYWNjb3VudCBvZiBub3Qgd2FudGluZyBzcHVyaW91cyBwYXJlbnMgYWxsIG92 ZXIgdGhlIHBsYWNlLiBJbnN0ZWFkIEkKZGlkIHRoZSB1bnNhZmUgd2F5LCBhbmQgdHJpZWQgdG8g bG9vayBvdmVyIHRoZSBlbnRpcmUgZGlmZiB0byBzcG90IGlmCmFueSBkYW5nZXJvdXMgZXhwcmVz c2lvbnMgd2VyZSBwcm9kdWNlZC4gSSBkaWRuJ3Qgc2VlIGFueS4KClRoZXJlIGFyZSBzb21lIGNh c2VzIHdoZXJlIHByZXZpb3VzbHkgdGhlIGNvZGUgZGlkIFgqYnBwLzgsIHNvIHRoZQpkaXZpc2lv biBoYXBwZW5lZCBhZnRlciB0aGUgbXVsdGlwbGljYXRpb24uIFRob3NlIGFyZSBub3cganVzdCBY KmNwcApzbyB0aGUgZGl2aXNpb24gZWZmZWN0aXZlbHkgaGFwcGVucyBiZWZvcmUgdGhlIG11bHRp cGxpY2F0aW9uLApidXQgdGhhdCBpcyBwZXJmZWN0bHkgZmluZSBzaW5jZSBicHAgaXMgYWx3YXlz IGEgbXVsdGlwbGUgb2YgOC4KCkBACnN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwpleHByZXNz aW9uIEU7CkBACiBkcm1faGVscGVyX21vZGVfZmlsbF9mYl9zdHJ1Y3QoLi4uKSB7CgkuLi4KLQlm Yi0+Yml0c19wZXJfcGl4ZWwgPSBFOwoJLi4uCiB9CgpAQApzdHJ1Y3Qgdm13X2ZyYW1lYnVmZmVy X3N1cmZhY2UgKnZmYjsKZXhwcmVzc2lvbiBFOwpAQAotIHZmYi0+YmFzZS5iYXNlLmJpdHNfcGVy X3BpeGVsID0gRTsKCkBACnN0cnVjdCB2bXdfZnJhbWVidWZmZXJfZG1hYnVmICp2ZmI7CmV4cHJl c3Npb24gRTsKQEAKLSB2ZmItPmJhc2UuYmFzZS5iaXRzX3Blcl9waXhlbCA9IEU7CgpAQApzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKZXhwcmVzc2lvbiBFOwpAQAogaTl4eF9nZXRfaW5pdGlh bF9wbGFuZV9jb25maWcoLi4uKSB7CgkuLi4KLQlmYi0+Yml0c19wZXJfcGl4ZWwgPSBFOwoJLi4u CiB9CgpAQApzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKZXhwcmVzc2lvbiBFOwpAQAogaXJv bmxha2VfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKC4uLikgewoJLi4uCi0JZmItPmJpdHNfcGVy X3BpeGVsID0gRTsKCS4uLgogfQoKQEAKc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7CmV4cHJl c3Npb24gRTsKQEAKIHNreWxha2VfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKC4uLikgewoJLi4u Ci0JZmItPmJpdHNfcGVyX3BpeGVsID0gRTsKCS4uLgogfQoKQEAKc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciBmYjsKZXhwcmVzc2lvbiBFOwpAQAooCi0gRSAqIGZiLmJpdHNfcGVyX3BpeGVsIC8gOAor IEUgKiBmYi5mb3JtYXQtPmNwcFswXQp8Ci0gZmIuYml0c19wZXJfcGl4ZWwgLyA4CisgZmIuZm9y bWF0LT5jcHBbMF0KfAotIEUgKiBmYi5iaXRzX3Blcl9waXhlbCA+PiAzCisgRSAqIGZiLmZvcm1h dC0+Y3BwWzBdCnwKLSBmYi5iaXRzX3Blcl9waXhlbCA+PiAzCisgZmIuZm9ybWF0LT5jcHBbMF0K fAotIChmYi5iaXRzX3Blcl9waXhlbCArIDcpIC8gOAorIGZiLmZvcm1hdC0+Y3BwWzBdCnwKLSBm Yi5iaXRzX3Blcl9waXhlbAorIGZiLmZvcm1hdC0+Y3BwWzBdICogOAp8Ci0gZmIuZm9ybWF0LT5j cHBbMF0gKiA4ICE9IDgKKyBmYi5mb3JtYXQtPmNwcFswXSAhPSAxCikKCkBACnN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiOwpleHByZXNzaW9uIEU7CkBACigKLSBFICogZmItPmJpdHNfcGVyX3Bp eGVsIC8gOAorIEUgKiBmYi0+Zm9ybWF0LT5jcHBbMF0KfAotIGZiLT5iaXRzX3Blcl9waXhlbCAv IDgKKyBmYi0+Zm9ybWF0LT5jcHBbMF0KfAotIEUgKiBmYi0+Yml0c19wZXJfcGl4ZWwgPj4gMwor IEUgKiBmYi0+Zm9ybWF0LT5jcHBbMF0KfAotIGZiLT5iaXRzX3Blcl9waXhlbCA+PiAzCisgZmIt PmZvcm1hdC0+Y3BwWzBdCnwKLSAoZmItPmJpdHNfcGVyX3BpeGVsICsgNykgLyA4CisgZmItPmZv cm1hdC0+Y3BwWzBdCnwKLSBmYi0+Yml0c19wZXJfcGl4ZWwKKyBmYi0+Zm9ybWF0LT5jcHBbMF0g KiA4CnwKLSBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4ICE9IDgKKyBmYi0+Zm9ybWF0LT5jcHBbMF0g IT0gMQopCgpAQApAQAotICg4ICogOCkKKyA4ICogOAoKQEAKc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciBmYjsKQEAKLSAoZmIuZm9ybWF0LT5jcHBbMF0pCisgZmIuZm9ybWF0LT5jcHBbMF0KCkBACnN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwpAQAotIChmYi0+Zm9ybWF0LT5jcHBbMF0pCisgZmIt PmZvcm1hdC0+Y3BwWzBdCgpAQApAQAogc3RydWN0IGRybV9mcmFtZWJ1ZmZlciB7CgkgLi4uCi0J IGludCBiaXRzX3Blcl9waXhlbDsKCSAuLi4KIH07Cgp2MjogQ2xlYW4gdXAgdGhlICdjcHAqOCAh PSA4JyBhbmQgJyg4ICogOCknIGNhc2VzIChMYXVyZW50KQoKU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KUmV2aWV3 ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZmJkZXYuYyAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9hc3QvYXN0X2ZiLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v YXN0L2FzdF9tb2RlLmMgICAgICAgICAgICAgICAgfCAgOSArKysrKy0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9jaXJydXMvY2lycnVzX2ZiZGV2LmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vY2lycnVzL2NpcnJ1c19tb2RlLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2RybV9mYl9oZWxwZXIuYyAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9kcm1fZnJhbWVidWZmZXIuYyAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vZHJtX21vZGVzZXRfaGVscGVyLmMgICAgICAgICAgfCAgMyAtLS0KIGRyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYyB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zN19kcm1fZGVjb24uYyAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiZGV2LmMgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvZnJhbWVidWZmZXIuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v Z21hNTAwL2dtYV9kaXNwbGF5LmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0v Z21hNTAwL21kZmxkX2ludGVsX2Rpc3BsYXkuYyAgfCAgNiArKystLS0KIGRyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvb2FrdHJhaWxfY3J0Yy5jICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICAgICB8IDExICsrKystLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jICAgICAgICAgICAgfCAgNiArKystLS0KIGRyaXZl cnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZmIuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyAgICAgICAgfCAxNiArKysrKysrKy0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnYwNC9jcnRjLmMgICAgICAgfCAgNCAr Ky0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYyAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJhdy5jICAgICAgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0Yy5jICAgICAgICB8IDExICsrKysr Ky0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYyAgICAgICAgICAgICAgICAgfCAg NCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgICAgICAgfCAg NiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2xlZ2FjeV9jcnRjLmMgICB8 IDE0ICsrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgICAgICAgICAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZmIuYyAgICAgICAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZmIuYyAgICAgICAgICAg IHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyAgICAgICAg ICAgfCAgMiAtLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMgICAgICAgICAg IHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYyAgICAgICAgICB8 ICAyICstCiBpbmNsdWRlL2RybS9kcm1fZnJhbWVidWZmZXIuaCAgICAgICAgICAgICAgICAgfCAg NyAtLS0tLS0tCiA0NCBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAxMDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwppbmRleCA2NWE5NTRj YjY5ZWQuLjljOGYzMzc4MDI1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZGNlX3YxMF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8w LmMKQEAgLTIyMjAsNyArMjIyMCw3IEBAIHN0YXRpYyBpbnQgZGNlX3YxMF8wX2NydGNfZG9fc2V0 X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdSRUczMihtbUdSUEhfWF9FTkQgKyBhbWRn cHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdldF9mYi0+d2lkdGgpOwogCVdSRUczMihtbUdSUEhf WV9FTkQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdldF9mYi0+aGVpZ2h0KTsKIAot CWZiX3BpdGNoX3BpeGVscyA9IHRhcmdldF9mYi0+cGl0Y2hlc1swXSAvICh0YXJnZXRfZmItPmJp dHNfcGVyX3BpeGVsIC8gOCk7CisJZmJfcGl0Y2hfcGl4ZWxzID0gdGFyZ2V0X2ZiLT5waXRjaGVz WzBdIC8gdGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFswXTsKIAlXUkVHMzIobW1HUlBIX1BJVENIICsg YW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCBmYl9waXRjaF9waXhlbHMpOwogCiAJZGNlX3YxMF8w X2dycGhfZW5hYmxlKGNydGMsIHRydWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3YxMV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEx XzAuYwppbmRleCBkODA3ZTg3NjM2NmIuLjcyYmEzYTUwNDUyYiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZGNlX3YxMV8wLmMKQEAgLTIyMDEsNyArMjIwMSw3IEBAIHN0YXRpYyBpbnQgZGNl X3YxMV8wX2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdSRUczMiht bUdSUEhfWF9FTkQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdldF9mYi0+d2lkdGgp OwogCVdSRUczMihtbUdSUEhfWV9FTkQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdl dF9mYi0+aGVpZ2h0KTsKIAotCWZiX3BpdGNoX3BpeGVscyA9IHRhcmdldF9mYi0+cGl0Y2hlc1sw XSAvICh0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsIC8gOCk7CisJZmJfcGl0Y2hfcGl4ZWxzID0g dGFyZ2V0X2ZiLT5waXRjaGVzWzBdIC8gdGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFswXTsKIAlXUkVH MzIobW1HUlBIX1BJVENIICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCBmYl9waXRjaF9waXhl bHMpOwogCiAJZGNlX3YxMV8wX2dycGhfZW5hYmxlKGNydGMsIHRydWUpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92Nl8wLmMKaW5kZXggYmM5ZjJmNDIzMjcwLi5hYTY0ZDljMWE4YzggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYwpAQCAtMTYyMyw3ICsxNjIzLDcgQEAg c3RhdGljIGludCBkY2VfdjZfMF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfWF9FTkQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZz ZXQsIHRhcmdldF9mYi0+d2lkdGgpOwogCVdSRUczMihFVkVSR1JFRU5fR1JQSF9ZX0VORCArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgdGFyZ2V0X2ZiLT5oZWlnaHQpOwogCi0JZmJfcGl0Y2hf cGl4ZWxzID0gdGFyZ2V0X2ZiLT5waXRjaGVzWzBdIC8gKHRhcmdldF9mYi0+Yml0c19wZXJfcGl4 ZWwgLyA4KTsKKwlmYl9waXRjaF9waXhlbHMgPSB0YXJnZXRfZmItPnBpdGNoZXNbMF0gLyB0YXJn ZXRfZmItPmZvcm1hdC0+Y3BwWzBdOwogCVdSRUczMihFVkVSR1JFRU5fR1JQSF9QSVRDSCArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgZmJfcGl0Y2hfcGl4ZWxzKTsKIAogCWRjZV92Nl8wX2dy cGhfZW5hYmxlKGNydGMsIHRydWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMK aW5kZXggNGFlNTk5MTRiYzMyLi5lY2Y2YzY4YjhmNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZGNlX3Y4XzAuYwpAQCAtMjA3OSw3ICsyMDc5LDcgQEAgc3RhdGljIGludCBkY2VfdjhfMF9j cnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlXUkVHMzIobW1HUlBIX1hf RU5EICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCB0YXJnZXRfZmItPndpZHRoKTsKIAlXUkVH MzIobW1HUlBIX1lfRU5EICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCB0YXJnZXRfZmItPmhl aWdodCk7CiAKLQlmYl9waXRjaF9waXhlbHMgPSB0YXJnZXRfZmItPnBpdGNoZXNbMF0gLyAodGFy Z2V0X2ZiLT5iaXRzX3Blcl9waXhlbCAvIDgpOworCWZiX3BpdGNoX3BpeGVscyA9IHRhcmdldF9m Yi0+cGl0Y2hlc1swXSAvIHRhcmdldF9mYi0+Zm9ybWF0LT5jcHBbMF07CiAJV1JFRzMyKG1tR1JQ SF9QSVRDSCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgZmJfcGl0Y2hfcGl4ZWxzKTsKIAog CWRjZV92OF8wX2dycGhfZW5hYmxlKGNydGMsIHRydWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfY3J0Yy5jCmluZGV4IGE1MWY4Y2JjZmUyNi4uYzY5YTVlYTU0ZjIzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfY3J0Yy5jCkBAIC0xNjksMTIgKzE2OSwxMiBAQCBzdGF0aWMgdW5zaWdu ZWQgYXJtYWRhX2RybV9jcnRjX2NhbGNfZmIoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiB7 CiAJc3RydWN0IGFybWFkYV9nZW1fb2JqZWN0ICpvYmogPSBkcm1fZmJfb2JqKGZiKTsKIAl1bnNp Z25lZCBwaXRjaCA9IGZiLT5waXRjaGVzWzBdOwotCXVuc2lnbmVkIG9mZnNldCA9IHkgKiBwaXRj aCArIHggKiBmYi0+Yml0c19wZXJfcGl4ZWwgLyA4OworCXVuc2lnbmVkIG9mZnNldCA9IHkgKiBw aXRjaCArIHggKiBmYi0+Zm9ybWF0LT5jcHBbMF07CiAJdWludDMyX3QgYWRkcl9vZGQsIGFkZHJf ZXZlbjsKIAl1bnNpZ25lZCBpID0gMDsKIAogCURSTV9ERUJVR19EUklWRVIoInBpdGNoICV1IHgg JWQgeSAlZCBicHAgJWRcbiIsCi0JCXBpdGNoLCB4LCB5LCBmYi0+Yml0c19wZXJfcGl4ZWwpOwor CQlwaXRjaCwgeCwgeSwgZmItPmZvcm1hdC0+Y3BwWzBdICogOCk7CiAKIAlhZGRyX29kZCA9IGFk ZHJfZXZlbiA9IG9iai0+ZGV2X2FkZHIgKyBvZmZzZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9mYmRldi5jCmluZGV4IDNhNThmYjYwMGIwNS4uNzgzMzUxMDBjYmMzIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9mYmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm1hZGEvYXJtYWRhX2ZiZGV2LmMKQEAgLTk0LDcgKzk0LDcgQEAgc3RhdGljIGludCBh cm1hZGFfZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYmgsCiAJZHJtX2ZiX2hlbHBl cl9maWxsX3ZhcihpbmZvLCBmYmgsIHNpemVzLT5mYl93aWR0aCwgc2l6ZXMtPmZiX2hlaWdodCk7 CiAKIAlEUk1fREVCVUdfS01TKCJhbGxvY2F0ZWQgJWR4JWQgJWRicHAgZmI6IDB4JTA4bGx4XG4i LAotCQlkZmItPmZiLndpZHRoLCBkZmItPmZiLmhlaWdodCwgZGZiLT5mYi5iaXRzX3Blcl9waXhl bCwKKwkJZGZiLT5mYi53aWR0aCwgZGZiLT5mYi5oZWlnaHQsIGRmYi0+ZmIuZm9ybWF0LT5jcHBb MF0gKiA4LAogCQkodW5zaWduZWQgbG9uZyBsb25nKW9iai0+cGh5c19hZGRyKTsKIAogCXJldHVy biAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfZmIuYyBiL2RyaXZlcnMv Z3B1L2RybS9hc3QvYXN0X2ZiLmMKaW5kZXggZjc1MTc5MmEzYzdjLi5iMDg1MTQwZmFlOTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2ZiLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FzdC9hc3RfZmIuYwpAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgdm9pZCBhc3RfZGlydHlf dXBkYXRlKHN0cnVjdCBhc3RfZmJkZXYgKmFmYmRldiwKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg Km9iajsKIAlzdHJ1Y3QgYXN0X2JvICpibzsKIAlpbnQgc3JjX29mZnNldCwgZHN0X29mZnNldDsK LQlpbnQgYnBwID0gKGFmYmRldi0+YWZiLmJhc2UuYml0c19wZXJfcGl4ZWwgKyA3KS84OworCWlu dCBicHAgPSBhZmJkZXYtPmFmYi5iYXNlLmZvcm1hdC0+Y3BwWzBdOwogCWludCByZXQgPSAtRUJV U1k7CiAJYm9vbCB1bm1hcCA9IGZhbHNlOwogCWJvb2wgc3RvcmVfZm9yX2xhdGVyID0gZmFsc2U7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMgYi9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9tb2RlLmMKaW5kZXggZGViMzY4NGNjYWY4Li4wY2Y1ZTBhYjUwMTUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21vZGUuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9tb2RlLmMKQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIGJvb2wgYXN0X2dl dF92Ymlvc19tb2RlX2luZm8oc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW8KIAlib29sIGNoZWNrX3N5bmM7CiAJc3RydWN0IGFzdF92Ymlvc19lbmh0YWJsZSAqYmVz dCA9IE5VTEw7CiAKLQlzd2l0Y2ggKGZiLT5iaXRzX3Blcl9waXhlbCkgeworCXN3aXRjaCAoZmIt PmZvcm1hdC0+Y3BwWzBdICogOCkgewogCWNhc2UgODoKIAkJdmJpb3NfbW9kZS0+c3RkX3RhYmxl ID0gJnZiaW9zX3N0ZHRhYmxlW1ZHQU1vZGVJbmRleF07CiAJCWNvbG9yX2luZGV4ID0gVkdBTW9k ZUluZGV4IC0gMTsKQEAgLTIwOCw3ICsyMDgsOCBAQCBzdGF0aWMgYm9vbCBhc3RfZ2V0X3ZiaW9z X21vZGVfaW5mbyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZGlzcGxheV9tbwog CQlhc3Rfc2V0X2luZGV4X3JlZyhhc3QsIEFTVF9JT19DUlRDX1BPUlQsIDB4OTEsIDB4MDApOwog CQlpZiAodmJpb3NfbW9kZS0+ZW5oX3RhYmxlLT5mbGFncyAmIE5ld01vZGVJbmZvKSB7CiAJCQlh c3Rfc2V0X2luZGV4X3JlZyhhc3QsIEFTVF9JT19DUlRDX1BPUlQsIDB4OTEsIDB4YTgpOwotCQkJ YXN0X3NldF9pbmRleF9yZWcoYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAweDkyLCBmYi0+Yml0c19w ZXJfcGl4ZWwpOworCQkJYXN0X3NldF9pbmRleF9yZWcoYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAw eDkyLAorCQkJCQkgIGZiLT5mb3JtYXQtPmNwcFswXSAqIDgpOwogCQkJYXN0X3NldF9pbmRleF9y ZWcoYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAweDkzLCBhZGp1c3RlZF9tb2RlLT5jbG9jayAvIDEw MDApOwogCQkJYXN0X3NldF9pbmRleF9yZWcoYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAweDk0LCBh ZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5KTsKIAkJCWFzdF9zZXRfaW5kZXhfcmVnKGFzdCwg QVNUX0lPX0NSVENfUE9SVCwgMHg5NSwgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSA+PiA4 KTsKQEAgLTQwMCw3ICs0MDEsNyBAQCBzdGF0aWMgdm9pZCBhc3Rfc2V0X2V4dF9yZWcoc3RydWN0 IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZQogCWNvbnN0IHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7CiAJdTgganJlZ0Ew ID0gMCwganJlZ0EzID0gMCwganJlZ0E4ID0gMDsKIAotCXN3aXRjaCAoZmItPmJpdHNfcGVyX3Bp eGVsKSB7CisJc3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJY2FzZSA4OgogCQlq cmVnQTAgPSAweDcwOwogCQlqcmVnQTMgPSAweDAxOwpAQCAtNDU3LDcgKzQ1OCw3IEBAIHN0YXRp YyBib29sIGFzdF9zZXRfZGFjX3JlZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlCiB7CiAJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIg PSBjcnRjLT5wcmltYXJ5LT5mYjsKIAotCXN3aXRjaCAoZmItPmJpdHNfcGVyX3BpeGVsKSB7CisJ c3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJY2FzZSA4OgogCQlicmVhazsKIAlk ZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZmJkZXYu YyBiL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2ZiZGV2LmMKaW5kZXggM2NhYzhhMDNj ZjRmLi43OWE1Y2QxMDgyNDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2ly cnVzX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZmJkZXYuYwpA QCAtMjIsNyArMjIsNyBAQCBzdGF0aWMgdm9pZCBjaXJydXNfZGlydHlfdXBkYXRlKHN0cnVjdCBj aXJydXNfZmJkZXYgKmFmYmRldiwKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1 Y3QgY2lycnVzX2JvICpibzsKIAlpbnQgc3JjX29mZnNldCwgZHN0X29mZnNldDsKLQlpbnQgYnBw ID0gKGFmYmRldi0+Z2ZiLmJhc2UuYml0c19wZXJfcGl4ZWwgKyA3KS84OworCWludCBicHAgPSBh ZmJkZXYtPmdmYi5iYXNlLmZvcm1hdC0+Y3BwWzBdOwogCWludCByZXQgPSAtRUJVU1k7CiAJYm9v bCB1bm1hcCA9IGZhbHNlOwogCWJvb2wgc3RvcmVfZm9yX2xhdGVyID0gZmFsc2U7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19tb2RlLmMgYi9kcml2ZXJzL2dwdS9k cm0vY2lycnVzL2NpcnJ1c19tb2RlLmMKaW5kZXggZjIyOTdhY2FlMjM1Li5lNzhhN2EyOTVjZWYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX21vZGUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19tb2RlLmMKQEAgLTI1OCw3ICsyNTgsNyBAQCBz dGF0aWMgaW50IGNpcnJ1c19jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlz cjA3ID0gUlJFRzgoU0VRX0RBVEEpOwogCXNyMDcgJj0gMHhlMDsKIAloZHIgPSAwOwotCXN3aXRj aCAoZmItPmJpdHNfcGVyX3BpeGVsKSB7CisJc3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4 KSB7CiAJY2FzZSA4OgogCQlzcjA3IHw9IDB4MTE7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVs cGVyLmMKaW5kZXggNzU1ZTNiNmU5NzEwLi4wMWU2ZGRmNjY4MGYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9o ZWxwZXIuYwpAQCAtMTE2Miw3ICsxMTYyLDcgQEAgc3RhdGljIGludCBzZXRjb2xyZWcoc3RydWN0 IGRybV9jcnRjICpjcnRjLCB1MTYgcmVkLCB1MTYgZ3JlZW4sCiAJCSAgICAhZmJfaGVscGVyLT5m dW5jcy0+Z2FtbWFfZ2V0KSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlXQVJOX09OKGZiLT5iaXRz X3Blcl9waXhlbCAhPSA4KTsKKwlXQVJOX09OKGZiLT5mb3JtYXQtPmNwcFswXSAhPSAxKTsKIAog CWZiX2hlbHBlci0+ZnVuY3MtPmdhbW1hX3NldChjcnRjLCByZWQsIGdyZWVuLCBibHVlLCByZWdu byk7CiAKQEAgLTEyNDUsMTQgKzEyNDUsMTQgQEAgaW50IGRybV9mYl9oZWxwZXJfY2hlY2tfdmFy KHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyLAogCSAqIENoYW5nZXMgc3RydWN0IGZiX3Zh cl9zY3JlZW5pbmZvIGFyZSBjdXJyZW50bHkgbm90IHB1c2hlZCBiYWNrCiAJICogdG8gS01TLCBo ZW5jZSBmYWlsIGlmIGRpZmZlcmVudCBzZXR0aW5ncyBhcmUgcmVxdWVzdGVkLgogCSAqLwotCWlm ICh2YXItPmJpdHNfcGVyX3BpeGVsICE9IGZiLT5iaXRzX3Blcl9waXhlbCB8fAorCWlmICh2YXIt PmJpdHNfcGVyX3BpeGVsICE9IGZiLT5mb3JtYXQtPmNwcFswXSAqIDggfHwKIAkgICAgdmFyLT54 cmVzICE9IGZiLT53aWR0aCB8fCB2YXItPnlyZXMgIT0gZmItPmhlaWdodCB8fAogCSAgICB2YXIt PnhyZXNfdmlydHVhbCAhPSBmYi0+d2lkdGggfHwgdmFyLT55cmVzX3ZpcnR1YWwgIT0gZmItPmhl aWdodCkgewogCQlEUk1fREVCVUcoImZiIHVzZXJzcGFjZSByZXF1ZXN0ZWQgd2lkdGgvaGVpZ2h0 L2JwcCBkaWZmZXJlbnQgdGhhbiBjdXJyZW50IGZiICIKIAkJCSAgInJlcXVlc3QgJWR4JWQtJWQg KHZpcnR1YWwgJWR4JWQpID4gJWR4JWQtJWRcbiIsCiAJCQkgIHZhci0+eHJlcywgdmFyLT55cmVz LCB2YXItPmJpdHNfcGVyX3BpeGVsLAogCQkJICB2YXItPnhyZXNfdmlydHVhbCwgdmFyLT55cmVz X3ZpcnR1YWwsCi0JCQkgIGZiLT53aWR0aCwgZmItPmhlaWdodCwgZmItPmJpdHNfcGVyX3BpeGVs KTsKKwkJCSAgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KTsK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBAIC0xNjU1LDcgKzE2NTUsNyBAQCB2b2lkIGRybV9m Yl9oZWxwZXJfZmlsbF92YXIoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZQogCWluZm8tPnBzZXVkb19wYWxldHRlID0gZmJfaGVscGVyLT5wc2V1ZG9f cGFsZXR0ZTsKIAlpbmZvLT52YXIueHJlc192aXJ0dWFsID0gZmItPndpZHRoOwogCWluZm8tPnZh ci55cmVzX3ZpcnR1YWwgPSBmYi0+aGVpZ2h0OwotCWluZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9 IGZiLT5iaXRzX3Blcl9waXhlbDsKKwlpbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgPSBmYi0+Zm9y bWF0LT5jcHBbMF0gKiA4OwogCWluZm8tPnZhci5hY2NlbF9mbGFncyA9IEZCX0FDQ0VMRl9URVhU OwogCWluZm8tPnZhci54b2Zmc2V0ID0gMDsKIAlpbmZvLT52YXIueW9mZnNldCA9IDA7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZyYW1lYnVmZmVyLmMKaW5kZXggMDBkZWY5MzBiNmE1Li45OGMwNTQwOTg4MDggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKQEAgLTQzMyw3ICs0MzMsNyBAQCBpbnQgZHJtX21v ZGVfZ2V0ZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyLT5oZWlnaHQgPSBmYi0+aGVpZ2h0 OwogCXItPndpZHRoID0gZmItPndpZHRoOwogCXItPmRlcHRoID0gZmItPmZvcm1hdC0+ZGVwdGg7 Ci0Jci0+YnBwID0gZmItPmJpdHNfcGVyX3BpeGVsOworCXItPmJwcCA9IGZiLT5mb3JtYXQtPmNw cFswXSAqIDg7CiAJci0+cGl0Y2ggPSBmYi0+cGl0Y2hlc1swXTsKIAlpZiAoZmItPmZ1bmNzLT5j cmVhdGVfaGFuZGxlKSB7CiAJCWlmIChkcm1faXNfY3VycmVudF9tYXN0ZXIoZmlsZV9wcml2KSB8 fCBjYXBhYmxlKENBUF9TWVNfQURNSU4pIHx8CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX21vZGVzZXRfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVy LmMKaW5kZXggZTVkMTllNWZjMzQxLi4zYzQ0NDA5MjQ0ZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fbW9kZXNldF9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21v ZGVzZXRfaGVscGVyLmMKQEAgLTgyLDEwICs4Miw3IEBAIHZvaWQgZHJtX2hlbHBlcl9tb2RlX2Zp bGxfZmJfc3RydWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCURSTV9ERUJVR19LTVMoIm5v bi1SR0IgcGl4ZWwgZm9ybWF0ICVzXG4iLAogCQkgICAgICAgICAgICAgIGRybV9nZXRfZm9ybWF0 X25hbWUobW9kZV9jbWQtPnBpeGVsX2Zvcm1hdCwKIAkJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZmb3JtYXRfbmFtZSkpOwotCi0JCWZiLT5iaXRzX3Blcl9waXhlbCA9IDA7CiAJ fSBlbHNlIHsKLQkJZmItPmJpdHNfcGVyX3BpeGVsID0gaW5mby0+Y3BwWzBdICogODsKIAl9CiAK IAlmYi0+ZGV2ID0gZGV2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3M1NDMzX2RybV9kZWNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2Ry bV9kZWNvbi5jCmluZGV4IDZjYTFmMzExN2ZlOC4uZThjZTRhMzE4NTg2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jCkBAIC0yMjYsNyArMjI2LDcg QEAgc3RhdGljIHZvaWQgZGVjb25fd2luX3NldF9waXhmbXQoc3RydWN0IGRlY29uX2NvbnRleHQg KmN0eCwgdW5zaWduZWQgaW50IHdpbiwKIAkJcmV0dXJuOwogCX0KIAotCURSTV9ERUJVR19LTVMo ImJwcCA9ICV1XG4iLCBmYi0+Yml0c19wZXJfcGl4ZWwpOworCURSTV9ERUJVR19LTVMoImJwcCA9 ICV1XG4iLCBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KTsKIAogCS8qCiAJICogSW4gY2FzZSBvZiBl eHlub3MsIHNldHRpbmcgZG1hLWJ1cnN0IHRvIDE2V29yZCBjYXVzZXMgcGVybWFuZW50CkBAIC0y NzUsNyArMjc1LDcgQEAgc3RhdGljIHZvaWQgZGVjb25fdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlu b3NfZHJtX2NydGMgKmNydGMsCiAJc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0 eDsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0YXRlLT5iYXNlLmZiOwogCXVuc2ln bmVkIGludCB3aW4gPSBwbGFuZS0+aW5kZXg7Ci0JdW5zaWduZWQgaW50IGJwcCA9IGZiLT5iaXRz X3Blcl9waXhlbCA+PiAzOworCXVuc2lnbmVkIGludCBicHAgPSBmYi0+Zm9ybWF0LT5jcHBbMF07 CiAJdW5zaWduZWQgaW50IHBpdGNoID0gZmItPnBpdGNoZXNbMF07CiAJZG1hX2FkZHJfdCBkbWFf YWRkciA9IGV4eW5vc19kcm1fZmJfZG1hX2FkZHIoZmIsIDApOwogCXUzMiB2YWw7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMgYi9kcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMKaW5kZXggZjRkNWEyMTMzNzc3Li41 OGRjOWE1MTk2YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19k cm1fZGVjb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29u LmMKQEAgLTMzMCw3ICszMzAsNyBAQCBzdGF0aWMgdm9pZCBkZWNvbl93aW5fc2V0X3BpeGZtdChz dHJ1Y3QgZGVjb25fY29udGV4dCAqY3R4LCB1bnNpZ25lZCBpbnQgd2luLAogCQlicmVhazsKIAl9 CiAKLQlEUk1fREVCVUdfS01TKCJicHAgPSAlZFxuIiwgZmItPmJpdHNfcGVyX3BpeGVsKTsKKwlE Uk1fREVCVUdfS01TKCJicHAgPSAlZFxuIiwgZmItPmZvcm1hdC0+Y3BwWzBdICogOCk7CiAKIAkv KgogCSAqIEluIGNhc2Ugb2YgZXh5bm9zLCBzZXR0aW5nIGRtYS1idXJzdCB0byAxNldvcmQgY2F1 c2VzIHBlcm1hbmVudApAQCAtMzQwLDcgKzM0MCw3IEBAIHN0YXRpYyB2b2lkIGRlY29uX3dpbl9z ZXRfcGl4Zm10KHN0cnVjdCBkZWNvbl9jb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCB3aW4sCiAJ ICogbW92ZW1lbnQgY2F1c2VzIHVuc3RhYmxlIERNQSB3aGljaCByZXN1bHRzIGludG8gaW9tbXUg Y3Jhc2gvdGVhci4KIAkgKi8KIAotCXBhZGRpbmcgPSAoZmItPnBpdGNoZXNbMF0gLyAoZmItPmJp dHNfcGVyX3BpeGVsID4+IDMpKSAtIGZiLT53aWR0aDsKKwlwYWRkaW5nID0gKGZiLT5waXRjaGVz WzBdIC8gZmItPmZvcm1hdC0+Y3BwWzBdKSAtIGZiLT53aWR0aDsKIAlpZiAoZmItPndpZHRoICsg cGFkZGluZyA8IE1JTl9GQl9XSURUSF9GT1JfMTZXT1JEX0JVUlNUKSB7CiAJCXZhbCAmPSB+V0lO Q09OeF9CVVJTVExFTl9NQVNLOwogCQl2YWwgfD0gV0lOQ09OeF9CVVJTVExFTl84V09SRDsKQEAg LTQwNyw3ICs0MDcsNyBAQCBzdGF0aWMgdm9pZCBkZWNvbl91cGRhdGVfcGxhbmUoc3RydWN0IGV4 eW5vc19kcm1fY3J0YyAqY3J0YywKIAl1bnNpZ25lZCBpbnQgbGFzdF94OwogCXVuc2lnbmVkIGlu dCBsYXN0X3k7CiAJdW5zaWduZWQgaW50IHdpbiA9IHBsYW5lLT5pbmRleDsKLQl1bnNpZ25lZCBp bnQgYnBwID0gZmItPmJpdHNfcGVyX3BpeGVsID4+IDM7CisJdW5zaWduZWQgaW50IGJwcCA9IGZi LT5mb3JtYXQtPmNwcFswXTsKIAl1bnNpZ25lZCBpbnQgcGl0Y2ggPSBmYi0+cGl0Y2hlc1swXTsK IAogCWlmIChjdHgtPnN1c3BlbmRlZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2ZiZGV2LmMKaW5kZXggZTY4YTQ2ZjExMmY2Li5kODgwODE1OGQ0MTggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9mYmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9mYmRldi5jCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyBp bnQgZXh5bm9zX2RybV9mYmRldl91cGRhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwK IHsKIAlzdHJ1Y3QgZmJfaW5mbyAqZmJpOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0g aGVscGVyLT5mYjsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IGZiLT53aWR0aCAqIGZiLT5oZWlnaHQg KiAoZmItPmJpdHNfcGVyX3BpeGVsID4+IDMpOworCXVuc2lnbmVkIGludCBzaXplID0gZmItPndp ZHRoICogZmItPmhlaWdodCAqIGZiLT5mb3JtYXQtPmNwcFswXTsKIAl1bnNpZ25lZCBpbnQgbnJf cGFnZXM7CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7CiAKQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0 aWMgaW50IGV4eW5vc19kcm1fZmJkZXZfdXBkYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxw ZXIsCiAJCXJldHVybiAtRUlPOwogCX0KIAotCW9mZnNldCA9IGZiaS0+dmFyLnhvZmZzZXQgKiAo ZmItPmJpdHNfcGVyX3BpeGVsID4+IDMpOworCW9mZnNldCA9IGZiaS0+dmFyLnhvZmZzZXQgKiBm Yi0+Zm9ybWF0LT5jcHBbMF07CiAJb2Zmc2V0ICs9IGZiaS0+dmFyLnlvZmZzZXQgKiBmYi0+cGl0 Y2hlc1swXTsKIAogCWZiaS0+c2NyZWVuX2Jhc2UgPSBleHlub3NfZ2VtLT5rdmFkZHIgKyBvZmZz ZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5j IGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYwppbmRleCBlMmU0MDUx NzBkMzUuLjAwMjkwNjU5NzliOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHJtX2ZpbWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1f ZmltZC5jCkBAIC03MzgsNyArNzM4LDcgQEAgc3RhdGljIHZvaWQgZmltZF91cGRhdGVfcGxhbmUo c3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKIAl1bnNpZ25lZCBsb25nIHZhbCwgc2l6ZSwg b2Zmc2V0OwogCXVuc2lnbmVkIGludCBsYXN0X3gsIGxhc3RfeSwgYnVmX29mZnNpemUsIGxpbmVf c2l6ZTsKIAl1bnNpZ25lZCBpbnQgd2luID0gcGxhbmUtPmluZGV4OwotCXVuc2lnbmVkIGludCBi cHAgPSBmYi0+Yml0c19wZXJfcGl4ZWwgPj4gMzsKKwl1bnNpZ25lZCBpbnQgYnBwID0gZmItPmZv cm1hdC0+Y3BwWzBdOwogCXVuc2lnbmVkIGludCBwaXRjaCA9IGZiLT5waXRjaGVzWzBdOwogCiAJ aWYgKGN0eC0+c3VzcGVuZGVkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfbWl4ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKaW5k ZXggZWRiMjBhMzRjNjZjLi5iMzEzZTYxYWFiNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX21peGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfbWl4ZXIuYwpAQCAtNjMxLDcgKzYzMSw3IEBAIHN0YXRpYyB2b2lkIG1peGVyX2dyYXBoX2J1 ZmZlcihzdHJ1Y3QgbWl4ZXJfY29udGV4dCAqY3R4LAogCiAJLyogY29udmVydGluZyBkbWEgYWRk cmVzcyBiYXNlIGFuZCBzb3VyY2Ugb2Zmc2V0ICovCiAJZG1hX2FkZHIgPSBleHlub3NfZHJtX2Zi X2RtYV9hZGRyKGZiLCAwKQotCQkrIChzdGF0ZS0+c3JjLnggKiBmYi0+Yml0c19wZXJfcGl4ZWwg Pj4gMykKKwkJKyAoc3RhdGUtPnNyYy54ICogZmItPmZvcm1hdC0+Y3BwWzBdKQogCQkrIChzdGF0 ZS0+c3JjLnkgKiBmYi0+cGl0Y2hlc1swXSk7CiAJc3JjX3hfb2Zmc2V0ID0gMDsKIAlzcmNfeV9v ZmZzZXQgPSAwOwpAQCAtNjQ5LDcgKzY0OSw3IEBAIHN0YXRpYyB2b2lkIG1peGVyX2dyYXBoX2J1 ZmZlcihzdHJ1Y3QgbWl4ZXJfY29udGV4dCAqY3R4LAogCiAJLyogc2V0dXAgZ2VvbWV0cnkgKi8K IAltaXhlcl9yZWdfd3JpdGUocmVzLCBNWFJfR1JBUEhJQ19TUEFOKHdpbiksCi0JCQlmYi0+cGl0 Y2hlc1swXSAvIChmYi0+Yml0c19wZXJfcGl4ZWwgPj4gMykpOworCQkJZmItPnBpdGNoZXNbMF0g LyBmYi0+Zm9ybWF0LT5jcHBbMF0pOwogCiAJLyogc2V0dXAgZGlzcGxheSBzaXplICovCiAJaWYg KGN0eC0+bXhyX3ZlciA9PSBNWFJfVkVSXzEyOF8wXzBfMTg0ICYmCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAw L2ZyYW1lYnVmZmVyLmMKaW5kZXggYTkzYjU5Y2U2YjQxLi42YmYzM2JhMDU1YjMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMKQEAgLTc3LDcgKzc3LDcgQEAgc3RhdGljIGludCBw c2JmYl9zZXRjb2xyZWcodW5zaWduZWQgcmVnbm8sIHVuc2lnbmVkIHJlZCwgdW5zaWduZWQgZ3Jl ZW4sCiAJICAgICh0cmFuc3AgPDwgaW5mby0+dmFyLnRyYW5zcC5vZmZzZXQpOwogCiAJaWYgKHJl Z25vIDwgMTYpIHsKLQkJc3dpdGNoIChmYi0+Yml0c19wZXJfcGl4ZWwpIHsKKwkJc3dpdGNoIChm Yi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJCWNhc2UgMTY6CiAJCQkoKHVpbnQzMl90ICopIGlu Zm8tPnBzZXVkb19wYWxldHRlKVtyZWdub10gPSB2OwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZ21hNTAwL2dtYV9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21h NTAwL2dtYV9kaXNwbGF5LmMKaW5kZXggNWI4NTJhZDE1MmFlLi5kMWM1NjQyYjFjMWUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZ21hX2Rpc3BsYXkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZ21hNTAwL2dtYV9kaXNwbGF5LmMKQEAgLTgyLDE0ICs4MiwxNCBAQCBpbnQgZ21h X3BpcGVfc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBpbnQgeCwgaW50IHksCiAJaWYg KHJldCA8IDApCiAJCWdvdG8gZ21hX3BpcGVfc2V0X2Jhc2VfZXhpdDsKIAlzdGFydCA9IHBzYmZi LT5ndHQtPm9mZnNldDsKLQlvZmZzZXQgPSB5ICogZmItPnBpdGNoZXNbMF0gKyB4ICogKGZiLT5i aXRzX3Blcl9waXhlbCAvIDgpOworCW9mZnNldCA9IHkgKiBmYi0+cGl0Y2hlc1swXSArIHggKiBm Yi0+Zm9ybWF0LT5jcHBbMF07CiAKIAlSRUdfV1JJVEUobWFwLT5zdHJpZGUsIGZiLT5waXRjaGVz WzBdKTsKIAogCWRzcGNudHIgPSBSRUdfUkVBRChtYXAtPmNudHIpOwogCWRzcGNudHIgJj0gfkRJ U1BQTEFORV9QSVhGT1JNQVRfTUFTSzsKIAotCXN3aXRjaCAoZmItPmJpdHNfcGVyX3BpeGVsKSB7 CisJc3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJY2FzZSA4OgogCQlkc3BjbnRy IHw9IERJU1BQTEFORV84QlBQOwogCQlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvbWRmbGRfaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9t ZGZsZF9pbnRlbF9kaXNwbGF5LmMKaW5kZXggM2JlMzExMTgyNWNkLi42M2M2ZTA4NjAwYWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvbWRmbGRfaW50ZWxfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvbWRmbGRfaW50ZWxfZGlzcGxheS5jCkBAIC0xNDgs NyArMTQ4LDcgQEAgc3RhdGljIGludCBjaGVja19mYihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YikKIAlpZiAoIWZiKQogCQlyZXR1cm4gMDsKIAotCXN3aXRjaCAoZmItPmJpdHNfcGVyX3BpeGVs KSB7CisJc3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJY2FzZSA4OgogCWNhc2Ug MTY6CiAJY2FzZSAyNDoKQEAgLTE5NywxMyArMTk3LDEzIEBAIHN0YXRpYyBpbnQgbWRmbGRfX2lu dGVsX3BpcGVfc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBpbnQgeCwgaW50IHksCiAJ CXJldHVybiAwOwogCiAJc3RhcnQgPSBwc2JmYi0+Z3R0LT5vZmZzZXQ7Ci0Jb2Zmc2V0ID0geSAq IGZiLT5waXRjaGVzWzBdICsgeCAqIChmYi0+Yml0c19wZXJfcGl4ZWwgLyA4KTsKKwlvZmZzZXQg PSB5ICogZmItPnBpdGNoZXNbMF0gKyB4ICogZmItPmZvcm1hdC0+Y3BwWzBdOwogCiAJUkVHX1dS SVRFKG1hcC0+c3RyaWRlLCBmYi0+cGl0Y2hlc1swXSk7CiAJZHNwY250ciA9IFJFR19SRUFEKG1h cC0+Y250cik7CiAJZHNwY250ciAmPSB+RElTUFBMQU5FX1BJWEZPUk1BVF9NQVNLOwogCi0Jc3dp dGNoIChmYi0+Yml0c19wZXJfcGl4ZWwpIHsKKwlzd2l0Y2ggKGZiLT5mb3JtYXQtPmNwcFswXSAq IDgpIHsKIAljYXNlIDg6CiAJCWRzcGNudHIgfD0gRElTUFBMQU5FXzhCUFA7CiAJCWJyZWFrOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2NydGMuYwppbmRleCA1Njk4MTBkNDc3ODYuLjBm ZmYyNjlkM2ZlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9j cnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9vYWt0cmFpbF9jcnRjLmMKQEAgLTYx OCwxNCArNjE4LDE0IEBAIHN0YXRpYyBpbnQgb2FrdHJhaWxfcGlwZV9zZXRfYmFzZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAJCXJldHVybiAwOwogCiAJc3RhcnQgPSBwc2JmYi0+Z3R0LT5vZmZz ZXQ7Ci0Jb2Zmc2V0ID0geSAqIGZiLT5waXRjaGVzWzBdICsgeCAqIChmYi0+Yml0c19wZXJfcGl4 ZWwgLyA4KTsKKwlvZmZzZXQgPSB5ICogZmItPnBpdGNoZXNbMF0gKyB4ICogZmItPmZvcm1hdC0+ Y3BwWzBdOwogCiAJUkVHX1dSSVRFKG1hcC0+c3RyaWRlLCBmYi0+cGl0Y2hlc1swXSk7CiAKIAlk c3BjbnRyID0gUkVHX1JFQUQobWFwLT5jbnRyKTsKIAlkc3BjbnRyICY9IH5ESVNQUExBTkVfUElY Rk9STUFUX01BU0s7CiAKLQlzd2l0Y2ggKGZiLT5iaXRzX3Blcl9waXhlbCkgeworCXN3aXRjaCAo ZmItPmZvcm1hdC0+Y3BwWzBdICogOCkgewogCWNhc2UgODoKIAkJZHNwY250ciB8PSBESVNQUExB TkVfOEJQUDsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IGVi Y2JhOTc2MTZhYi4uZWUyNzJlYzg3MzJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YwpAQCAtMTg5NSw3ICsxODk1LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9mcmFtZWJ1ZmZlcl9p bmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJCSAgIGZiZGV2X2ZiLT5iYXNl LndpZHRoLAogCQkJICAgZmJkZXZfZmItPmJhc2UuaGVpZ2h0LAogCQkJICAgZmJkZXZfZmItPmJh c2UuZm9ybWF0LT5kZXB0aCwKLQkJCSAgIGZiZGV2X2ZiLT5iYXNlLmJpdHNfcGVyX3BpeGVsLAor CQkJICAgZmJkZXZfZmItPmJhc2UuZm9ybWF0LT5jcHBbMF0gKiA4LAogCQkJICAgZmJkZXZfZmIt PmJhc2UubW9kaWZpZXIsCiAJCQkgICBkcm1fZnJhbWVidWZmZXJfcmVhZF9yZWZjb3VudCgmZmJk ZXZfZmItPmJhc2UpKTsKIAkJZGVzY3JpYmVfb2JqKG0sIGZiZGV2X2ZiLT5vYmopOwpAQCAtMTkx Myw3ICsxOTEzLDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9mcmFtZWJ1ZmZlcl9pbmZvKHN0cnVj dCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJCSAgIGZiLT5iYXNlLndpZHRoLAogCQkJICAg ZmItPmJhc2UuaGVpZ2h0LAogCQkJICAgZmItPmJhc2UuZm9ybWF0LT5kZXB0aCwKLQkJCSAgIGZi LT5iYXNlLmJpdHNfcGVyX3BpeGVsLAorCQkJICAgZmItPmJhc2UuZm9ybWF0LT5jcHBbMF0gKiA4 LAogCQkJICAgZmItPmJhc2UubW9kaWZpZXIsCiAJCQkgICBkcm1fZnJhbWVidWZmZXJfcmVhZF9y ZWZjb3VudCgmZmItPmJhc2UpKTsKIAkJZGVzY3JpYmVfb2JqKG0sIGZiLT5vYmopOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDVkOGRiNDM2YzU1Ny4uNmM4ODlmMGU4ZTBm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC04NzE1LDcgKzg3MTUsNiBA QCBpOXh4X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK IAlwaXhlbF9mb3JtYXQgPSB2YWwgJiBESVNQUExBTkVfUElYRk9STUFUX01BU0s7CiAJZm91cmNj ID0gaTl4eF9mb3JtYXRfdG9fZm91cmNjKHBpeGVsX2Zvcm1hdCk7CiAJZmItPnBpeGVsX2Zvcm1h dCA9IGZvdXJjYzsKLQlmYi0+Yml0c19wZXJfcGl4ZWwgPSBkcm1fZm9ybWF0X3BsYW5lX2NwcChm b3VyY2MsIDApICogODsKIAlmYi0+Zm9ybWF0ID0gZHJtX2Zvcm1hdF9pbmZvKGZvdXJjYyk7CiAK IAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA0KSB7CkBAIC04NzQ0LDcgKzg3NDMsNyBAQCBp OXh4X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAog CURSTV9ERUJVR19LTVMoInBpcGUvcGxhbmUgJWMvJWQgd2l0aCBmYjogc2l6ZT0lZHglZEAlZCwg b2Zmc2V0PSV4LCBwaXRjaCAlZCwgc2l6ZSAweCV4XG4iLAogCQkgICAgICBwaXBlX25hbWUocGlw ZSksIHBsYW5lLCBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsCi0JCSAgICAgIGZiLT5iaXRzX3Blcl9w aXhlbCwgYmFzZSwgZmItPnBpdGNoZXNbMF0sCisJCSAgICAgIGZiLT5mb3JtYXQtPmNwcFswXSAq IDgsIGJhc2UsIGZiLT5waXRjaGVzWzBdLAogCQkgICAgICBwbGFuZV9jb25maWctPnNpemUpOwog CiAJcGxhbmVfY29uZmlnLT5mYiA9IGludGVsX2ZiOwpAQCAtOTc0Nyw3ICs5NzQ2LDYgQEAgc2t5 bGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ CQkJICAgICAgdmFsICYgUExBTkVfQ1RMX09SREVSX1JHQlgsCiAJCQkJICAgICAgdmFsICYgUExB TkVfQ1RMX0FMUEhBX01BU0spOwogCWZiLT5waXhlbF9mb3JtYXQgPSBmb3VyY2M7Ci0JZmItPmJp dHNfcGVyX3BpeGVsID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZm91cmNjLCAwKSAqIDg7CiAJZmIt PmZvcm1hdCA9IGRybV9mb3JtYXRfaW5mbyhmb3VyY2MpOwogCiAJdGlsaW5nID0gdmFsICYgUExB TkVfQ1RMX1RJTEVEX01BU0s7CkBAIC05NzkyLDcgKzk3OTAsNyBAQCBza3lsYWtlX2dldF9pbml0 aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogCURSTV9ERUJVR19L TVMoInBpcGUgJWMgd2l0aCBmYjogc2l6ZT0lZHglZEAlZCwgb2Zmc2V0PSV4LCBwaXRjaCAlZCwg c2l6ZSAweCV4XG4iLAogCQkgICAgICBwaXBlX25hbWUocGlwZSksIGZiLT53aWR0aCwgZmItPmhl aWdodCwKLQkJICAgICAgZmItPmJpdHNfcGVyX3BpeGVsLCBiYXNlLCBmYi0+cGl0Y2hlc1swXSwK KwkJICAgICAgZmItPmZvcm1hdC0+Y3BwWzBdICogOCwgYmFzZSwgZmItPnBpdGNoZXNbMF0sCiAJ CSAgICAgIHBsYW5lX2NvbmZpZy0+c2l6ZSk7CiAKIAlwbGFuZV9jb25maWctPmZiID0gaW50ZWxf ZmI7CkBAIC05ODYzLDcgKzk4NjEsNiBAQCBpcm9ubGFrZV9nZXRfaW5pdGlhbF9wbGFuZV9jb25m aWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJcGl4ZWxfZm9ybWF0ID0gdmFsICYgRElTUFBM QU5FX1BJWEZPUk1BVF9NQVNLOwogCWZvdXJjYyA9IGk5eHhfZm9ybWF0X3RvX2ZvdXJjYyhwaXhl bF9mb3JtYXQpOwogCWZiLT5waXhlbF9mb3JtYXQgPSBmb3VyY2M7Ci0JZmItPmJpdHNfcGVyX3Bp eGVsID0gZHJtX2Zvcm1hdF9wbGFuZV9jcHAoZm91cmNjLCAwKSAqIDg7CiAJZmItPmZvcm1hdCA9 IGRybV9mb3JtYXRfaW5mbyhmb3VyY2MpOwogCiAJYmFzZSA9IEk5MTVfUkVBRChEU1BTVVJGKHBp cGUpKSAmIDB4ZmZmZmYwMDA7CkBAIC05ODkyLDcgKzk4ODksNyBAQCBpcm9ubGFrZV9nZXRfaW5p dGlhbF9wbGFuZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAKIAlEUk1fREVCVUdf S01TKCJwaXBlICVjIHdpdGggZmI6IHNpemU9JWR4JWRAJWQsIG9mZnNldD0leCwgcGl0Y2ggJWQs IHNpemUgMHgleFxuIiwKIAkJICAgICAgcGlwZV9uYW1lKHBpcGUpLCBmYi0+d2lkdGgsIGZiLT5o ZWlnaHQsCi0JCSAgICAgIGZiLT5iaXRzX3Blcl9waXhlbCwgYmFzZSwgZmItPnBpdGNoZXNbMF0s CisJCSAgICAgIGZiLT5mb3JtYXQtPmNwcFswXSAqIDgsIGJhc2UsIGZiLT5waXRjaGVzWzBdLAog CQkgICAgICBwbGFuZV9jb25maWctPnNpemUpOwogCiAJcGxhbmVfY29uZmlnLT5mYiA9IGludGVs X2ZiOwpAQCAtMTEwNTEsNyArMTEwNDgsNyBAQCBtb2RlX2ZpdHNfaW5fZmJkZXYoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAogCWZiID0gJmRldl9wcml2LT5mYmRldi0+ZmItPmJhc2U7CiAJaWYg KGZiLT5waXRjaGVzWzBdIDwgaW50ZWxfZnJhbWVidWZmZXJfcGl0Y2hfZm9yX3dpZHRoKG1vZGUt PmhkaXNwbGF5LAotCQkJCQkJCSAgICAgICBmYi0+Yml0c19wZXJfcGl4ZWwpKQorCQkJCQkJCSAg ICAgICBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSkKIAkJcmV0dXJuIE5VTEw7CiAKIAlpZiAob2Jq LT5iYXNlLnNpemUgPCBtb2RlLT52ZGlzcGxheSAqIGZiLT5waXRjaGVzWzBdKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZiZGV2LmMKaW5kZXggYjcyNjQ4M2E0NjBkLi4zZjYwYTRmNmYwNzggMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwpAQCAtNjIxLDcgKzYyMSw3IEBAIHN0YXRpYyBib29s IGludGVsX2ZiZGV2X2luaXRfYmlvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkgKiByYXRo ZXIgdGhhbiB0aGUgY3VycmVudCBwaXBlJ3MsIHNpbmNlIHRoZXkgZGlmZmVyLgogCQkgKi8KIAkJ Y3VyX3NpemUgPSBpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hk aXNwbGF5OwotCQljdXJfc2l6ZSA9IGN1cl9zaXplICogZmItPmJhc2UuYml0c19wZXJfcGl4ZWwg LyA4OworCQljdXJfc2l6ZSA9IGN1cl9zaXplICogZmItPmJhc2UuZm9ybWF0LT5jcHBbMF07CiAJ CWlmIChmYi0+YmFzZS5waXRjaGVzWzBdIDwgY3VyX3NpemUpIHsKIAkJCURSTV9ERUJVR19LTVMo ImZiIG5vdCB3aWRlIGVub3VnaCBmb3IgcGxhbmUgJWMgKCVkIHZzICVkKVxuIiwKIAkJCQkgICAg ICBwaXBlX25hbWUoaW50ZWxfY3J0Yy0+cGlwZSksCkBAIC02MzksNyArNjM5LDcgQEAgc3RhdGlj IGJvb2wgaW50ZWxfZmJkZXZfaW5pdF9iaW9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkg ICAgICBwaXBlX25hbWUoaW50ZWxfY3J0Yy0+cGlwZSksCiAJCQkgICAgICBpbnRlbF9jcnRjLT5j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hkaXNwbGF5LAogCQkJICAgICAgaW50ZWxf Y3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192ZGlzcGxheSwKLQkJCSAgICAg IGZiLT5iYXNlLmJpdHNfcGVyX3BpeGVsLAorCQkJICAgICAgZmItPmJhc2UuZm9ybWF0LT5jcHBb MF0gKiA4LAogCQkJICAgICAgY3VyX3NpemUpOwogCiAJCWlmIChjdXJfc2l6ZSA+IG1heF9zaXpl KSB7CkBAIC02NjAsNyArNjYwLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZmJkZXZfaW5pdF9iaW9z KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWdvdG8gb3V0OwogCX0KIAotCWlmYmRldi0+cHJl ZmVycmVkX2JwcCA9IGZiLT5iYXNlLmJpdHNfcGVyX3BpeGVsOworCWlmYmRldi0+cHJlZmVycmVk X2JwcCA9IGZiLT5iYXNlLmZvcm1hdC0+Y3BwWzBdICogODsKIAlpZmJkZXYtPmZiID0gZmI7CiAK IAlkcm1fZnJhbWVidWZmZXJfcmVmZXJlbmNlKCZpZmJkZXYtPmZiLT5iYXNlKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZmIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZ2FnMjAwL21nYWcyMDBfZmIuYwppbmRleCAxOWE3OGI2YjVhMWEuLjFhNjY1ZTE2NzFiOCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfZmIuYwpAQCAtMjQsNyArMjQsNyBAQCBzdGF0 aWMgdm9pZCBtZ2FfZGlydHlfdXBkYXRlKHN0cnVjdCBtZ2FfZmJkZXYgKm1mYmRldiwKIAlzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgbWdhZzIwMF9ibyAqYm87CiAJaW50IHNy Y19vZmZzZXQsIGRzdF9vZmZzZXQ7Ci0JaW50IGJwcCA9IChtZmJkZXYtPm1mYi5iYXNlLmJpdHNf cGVyX3BpeGVsICsgNykvODsKKwlpbnQgYnBwID0gbWZiZGV2LT5tZmIuYmFzZS5mb3JtYXQtPmNw cFswXTsKIAlpbnQgcmV0ID0gLUVCVVNZOwogCWJvb2wgdW5tYXAgPSBmYWxzZTsKIAlib29sIHN0 b3JlX2Zvcl9sYXRlciA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcy MDAvbWdhZzIwMF9tb2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUu YwppbmRleCAzMTgwZGI1ZTgxY2IuLjFlMDM5Y2ZkZGVkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21nYWcy MDAvbWdhZzIwMF9tb2RlLmMKQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIHZvaWQgbWdhX2NydGNf bG9hZF9sdXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCiAJV1JFRzgoREFDX0lOREVYICsgTUdB MTA2NF9JTkRFWCwgMCk7CiAKLQlpZiAoZmIgJiYgZmItPmJpdHNfcGVyX3BpeGVsID09IDE2KSB7 CisJaWYgKGZiICYmIGZiLT5mb3JtYXQtPmNwcFswXSAqIDggPT0gMTYpIHsKIAkJaW50IGluYyA9 IChmYi0+Zm9ybWF0LT5kZXB0aCA9PSAxNSkgPyA4IDogNDsKIAkJdTggciwgYjsKIAkJZm9yIChp ID0gMDsgaSA8IE1HQUcyMDBfTFVUX1NJWkU7IGkgKz0gaW5jKSB7CkBAIC05MDMsNyArOTAzLDcg QEAgc3RhdGljIGludCBtZ2FfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ CS8qIDB4NDg6ICovICAgICAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAw LCAgICAwCiAJfTsKIAotCWJwcHNoaWZ0ID0gbWRldi0+YnBwX3NoaWZ0c1soZmItPmJpdHNfcGVy X3BpeGVsID4+IDMpIC0gMV07CisJYnBwc2hpZnQgPSBtZGV2LT5icHBfc2hpZnRzW2ZiLT5mb3Jt YXQtPmNwcFswXSAtIDFdOwogCiAJc3dpdGNoIChtZGV2LT50eXBlKSB7CiAJY2FzZSBHMjAwX1NF X0E6CkBAIC05NDIsNyArOTQyLDcgQEAgc3RhdGljIGludCBtZ2FfY3J0Y19tb2RlX3NldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJCWJyZWFrOwogCX0KIAotCXN3aXRjaCAoZmItPmJpdHNfcGVy X3BpeGVsKSB7CisJc3dpdGNoIChmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4KSB7CiAJY2FzZSA4Ogog CQlkYWN2YWx1ZVtNR0ExMDY0X01VTF9DVExdID0gTUdBMTA2NF9NVUxfQ1RMXzhiaXRzOwogCQli cmVhazsKQEAgLTk5OCw4ICs5OTgsOCBAQCBzdGF0aWMgaW50IG1nYV9jcnRjX21vZGVfc2V0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlXUkVHX1NFUSgzLCAwKTsKIAlXUkVHX1NFUSg0LCAweGUp OwogCi0JcGl0Y2ggPSBmYi0+cGl0Y2hlc1swXSAvIChmYi0+Yml0c19wZXJfcGl4ZWwgLyA4KTsK LQlpZiAoZmItPmJpdHNfcGVyX3BpeGVsID09IDI0KQorCXBpdGNoID0gZmItPnBpdGNoZXNbMF0g LyBmYi0+Zm9ybWF0LT5jcHBbMF07CisJaWYgKGZiLT5mb3JtYXQtPmNwcFswXSAqIDggPT0gMjQp CiAJCXBpdGNoID0gKHBpdGNoICogMykgPj4gKDQgLSBicHBzaGlmdCk7CiAJZWxzZQogCQlwaXRj aCA9IHBpdGNoID4+ICg0IC0gYnBwc2hpZnQpOwpAQCAtMTA3Niw3ICsxMDc2LDcgQEAgc3RhdGlj IGludCBtZ2FfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCSgodmRpc3Bs YXkgJiAweGMwMCkgPj4gNykgfAogCQkoKHZzeW5jc3RhcnQgJiAweGMwMCkgPj4gNSkgfAogCQko KHZkaXNwbGF5ICYgMHg0MDApID4+IDMpOwotCWlmIChmYi0+Yml0c19wZXJfcGl4ZWwgPT0gMjQp CisJaWYgKGZiLT5mb3JtYXQtPmNwcFswXSAqIDggPT0gMjQpCiAJCWV4dF92Z2FbM10gPSAoKCgx IDw8IGJwcHNoaWZ0KSAqIDMpIC0gMSkgfCAweDgwOwogCWVsc2UKIAkJZXh0X3ZnYVszXSA9ICgo MSA8PCBicHBzaGlmdCkgLSAxKSB8IDB4ODA7CkBAIC0xMTM5LDkgKzExMzksOSBAQCBzdGF0aWMg aW50IG1nYV9jcnRjX21vZGVfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCXUzMiBicHA7 CiAJCQl1MzIgbWI7CiAKLQkJCWlmIChmYi0+Yml0c19wZXJfcGl4ZWwgPiAxNikKKwkJCWlmIChm Yi0+Zm9ybWF0LT5jcHBbMF0gKiA4ID4gMTYpCiAJCQkJYnBwID0gMzI7Ci0JCQllbHNlIGlmIChm Yi0+Yml0c19wZXJfcGl4ZWwgPiA4KQorCQkJZWxzZSBpZiAoZmItPmZvcm1hdC0+Y3BwWzBdICog OCA+IDgpCiAJCQkJYnBwID0gMTY7CiAJCQllbHNlCiAJCQkJYnBwID0gODsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjA0L2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2Rpc3BudjA0L2NydGMuYwppbmRleCA0ODBlM2FiNDc3ZmQuLmE3Mjc1NGQ3M2M4 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52MDQvY3J0Yy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjA0L2NydGMuYwpAQCAtODc0LDExICs4 NzQsMTEgQEAgbnYwNF9jcnRjX2RvX21vZGVfc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRj LAogCiAJLyogVXBkYXRlIHRoZSBmcmFtZWJ1ZmZlciBsb2NhdGlvbi4gKi8KIAlyZWdwLT5mYl9z dGFydCA9IG52X2NydGMtPmZiLm9mZnNldCAmIH4zOwotCXJlZ3AtPmZiX3N0YXJ0ICs9ICh5ICog ZHJtX2ZiLT5waXRjaGVzWzBdKSArICh4ICogZHJtX2ZiLT5iaXRzX3Blcl9waXhlbCAvIDgpOwor CXJlZ3AtPmZiX3N0YXJ0ICs9ICh5ICogZHJtX2ZiLT5waXRjaGVzWzBdKSArICh4ICogZHJtX2Zi LT5mb3JtYXQtPmNwcFswXSk7CiAJbnZfc2V0X2NydGNfYmFzZShkZXYsIG52X2NydGMtPmluZGV4 LCByZWdwLT5mYl9zdGFydCk7CiAKIAkvKiBVcGRhdGUgdGhlIGFyYml0cmF0aW9uIHBhcmFtZXRl cnMuICovCi0Jbm91dmVhdV9jYWxjX2FyYihkZXYsIGNydGMtPm1vZGUuY2xvY2ssIGRybV9mYi0+ Yml0c19wZXJfcGl4ZWwsCisJbm91dmVhdV9jYWxjX2FyYihkZXYsIGNydGMtPm1vZGUuY2xvY2ss IGRybV9mYi0+Zm9ybWF0LT5jcHBbMF0gKiA4LAogCQkJICZhcmJfYnVyc3QsICZhcmJfbHdtKTsK IAogCXJlZ3AtPkNSVENbTlZfQ0lPX0NSRV9GRl9JTkRFWF0gPSBhcmJfYnVyc3Q7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCmluZGV4IGE0NmQ4OTNhYWFmYS4uMzE3 YWMzOGZjNjEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYwpA QCAtODg4LDcgKzg4OCw3IEBAIG5vdXZlYXVfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRj ICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAogCS8qIEluaXRpYWxpemUgYSBw YWdlIGZsaXAgc3RydWN0ICovCiAJKnMgPSAoc3RydWN0IG5vdXZlYXVfcGFnZV9mbGlwX3N0YXRl KQotCQl7IHsgfSwgZXZlbnQsIGNydGMsIGZiLT5iaXRzX3Blcl9waXhlbCwgZmItPnBpdGNoZXNb MF0sCisJCXsgeyB9LCBldmVudCwgY3J0YywgZmItPmZvcm1hdC0+Y3BwWzBdICogOCwgZmItPnBp dGNoZXNbMF0sCiAJCSAgbmV3X2JvLT5iby5vZmZzZXQgfTsKIAogCS8qIEtlZXAgdmJsYW5rcyBv biBkdXJpbmcgZmxpcCwgZm9yIHRoZSB0YXJnZXQgY3J0YyBvZiB0aGlzIGZsaXAgKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2RyYXcuYyBiL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX2RyYXcuYwppbmRleCA5YjcyOGVkZjFiNDkuLjRkODY4MWU4NGU2OCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJhdy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX2RyYXcuYwpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgcXhsX2RyYXdfZGlydHlfZmIo c3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsCiAJc3RydWN0IHF4bF9yZWN0ICpyZWN0czsKIAlpbnQg c3RyaWRlID0gcXhsX2ZiLT5iYXNlLnBpdGNoZXNbMF07CiAJLyogZGVwdGggaXMgbm90IGFjdHVh bGx5IGludGVyZXN0aW5nLCB3ZSBkb24ndCBtYXNrIHdpdGggaXQgKi8KLQlpbnQgZGVwdGggPSBx eGxfZmItPmJhc2UuYml0c19wZXJfcGl4ZWw7CisJaW50IGRlcHRoID0gcXhsX2ZiLT5iYXNlLmZv cm1hdC0+Y3BwWzBdICogODsKIAl1aW50OF90ICpzdXJmYWNlX2Jhc2U7CiAJc3RydWN0IHF4bF9y ZWxlYXNlICpyZWxlYXNlOwogCXN0cnVjdCBxeGxfYm8gKmNsaXBzX2JvOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL2F0b21iaW9zX2NydGMuYwppbmRleCAwNWY0ZWJlMzFjZTIuLjBkN2Y4NGY3ZDcxZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMKQEAgLTEyNzcsNyArMTI3Nyw3 IEBAIHN0YXRpYyBpbnQgZGNlNF9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAogCQkJCS8qIENhbGN1bGF0ZSB0aGUgbWFjcm90aWxlIG1vZGUgaW5kZXguICovCiAJCQkJ dGlsZV9zcGxpdF9ieXRlcyA9IDY0IDw8IHRpbGVfc3BsaXQ7Ci0JCQkJdGlsZWIgPSA4ICogOCAq IHRhcmdldF9mYi0+Yml0c19wZXJfcGl4ZWwgLyA4OworCQkJCXRpbGViID0gOCAqIDggKiB0YXJn ZXRfZmItPmZvcm1hdC0+Y3BwWzBdOwogCQkJCXRpbGViID0gbWluKHRpbGVfc3BsaXRfYnl0ZXMs IHRpbGViKTsKIAogCQkJCWZvciAoaW5kZXggPSAwOyB0aWxlYiA+IDY0OyBpbmRleCsrKQpAQCAt MTI4NSwxMyArMTI4NSwxNCBAQCBzdGF0aWMgaW50IGRjZTRfY3J0Y19kb19zZXRfYmFzZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAKIAkJCQlpZiAoaW5kZXggPj0gMTYpIHsKIAkJCQkJRFJNX0VS Uk9SKCJXcm9uZyBzY3JlZW4gYnBwICgldSkgb3IgdGlsZSBzcGxpdCAoJXUpXG4iLAotCQkJCQkJ ICB0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsLCB0aWxlX3NwbGl0KTsKKwkJCQkJCSAgdGFyZ2V0 X2ZiLT5mb3JtYXQtPmNwcFswXSAqIDgsCisJCQkJCQkgIHRpbGVfc3BsaXQpOwogCQkJCQlyZXR1 cm4gLUVJTlZBTDsKIAkJCQl9CiAKIAkJCQludW1fYmFua3MgPSAocmRldi0+Y29uZmlnLmNpay5t YWNyb3RpbGVfbW9kZV9hcnJheVtpbmRleF0gPj4gNikgJiAweDM7CiAJCQl9IGVsc2UgewotCQkJ CXN3aXRjaCAodGFyZ2V0X2ZiLT5iaXRzX3Blcl9waXhlbCkgeworCQkJCXN3aXRjaCAodGFyZ2V0 X2ZiLT5mb3JtYXQtPmNwcFswXSAqIDgpIHsKIAkJCQljYXNlIDg6CiAJCQkJCWluZGV4ID0gMTA7 CiAJCQkJCWJyZWFrOwpAQCAtMTQxNCw3ICsxNDE1LDcgQEAgc3RhdGljIGludCBkY2U0X2NydGNf ZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdSRUczMihFVkVSR1JFRU5fR1JQ SF9YX0VORCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgdGFyZ2V0X2ZiLT53aWR0aCk7CiAJ V1JFRzMyKEVWRVJHUkVFTl9HUlBIX1lfRU5EICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCB0 YXJnZXRfZmItPmhlaWdodCk7CiAKLQlmYl9waXRjaF9waXhlbHMgPSB0YXJnZXRfZmItPnBpdGNo ZXNbMF0gLyAodGFyZ2V0X2ZiLT5iaXRzX3Blcl9waXhlbCAvIDgpOworCWZiX3BpdGNoX3BpeGVs cyA9IHRhcmdldF9mYi0+cGl0Y2hlc1swXSAvIHRhcmdldF9mYi0+Zm9ybWF0LT5jcHBbMF07CiAJ V1JFRzMyKEVWRVJHUkVFTl9HUlBIX1BJVENIICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LCBm Yl9waXRjaF9waXhlbHMpOwogCVdSRUczMihFVkVSR1JFRU5fR1JQSF9FTkFCTEUgKyByYWRlb25f Y3J0Yy0+Y3J0Y19vZmZzZXQsIDEpOwogCkBAIC0xNjIxLDcgKzE2MjIsNyBAQCBzdGF0aWMgaW50 IGF2aXZvX2NydGNfZG9fc2V0X2Jhc2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCVdSRUczMihB VklWT19EMUdSUEhfWF9FTkQgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdldF9mYi0+ d2lkdGgpOwogCVdSRUczMihBVklWT19EMUdSUEhfWV9FTkQgKyByYWRlb25fY3J0Yy0+Y3J0Y19v ZmZzZXQsIHRhcmdldF9mYi0+aGVpZ2h0KTsKIAotCWZiX3BpdGNoX3BpeGVscyA9IHRhcmdldF9m Yi0+cGl0Y2hlc1swXSAvICh0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsIC8gOCk7CisJZmJfcGl0 Y2hfcGl4ZWxzID0gdGFyZ2V0X2ZiLT5waXRjaGVzWzBdIC8gdGFyZ2V0X2ZiLT5mb3JtYXQtPmNw cFswXTsKIAlXUkVHMzIoQVZJVk9fRDFHUlBIX1BJVENIICsgcmFkZW9uX2NydGMtPmNydGNfb2Zm c2V0LCBmYl9waXRjaF9waXhlbHMpOwogCVdSRUczMihBVklWT19EMUdSUEhfRU5BQkxFICsgcmFk ZW9uX2NydGMtPmNydGNfb2Zmc2V0LCAxKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yMTAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYwppbmRleCA5ODRi MzVmNDM1NTQuLmUzMzk5MzEwZDQxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yMTAwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKQEAgLTMyMjksNyAr MzIyOSw3IEBAIHZvaWQgcjEwMF9iYW5kd2lkdGhfdXBkYXRlKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KQogCQkJcmRldi0+bW9kZV9pbmZvLmNydGNzWzBdLT5iYXNlLnByaW1hcnktPmZiOwog CiAJCW1vZGUxID0gJnJkZXYtPm1vZGVfaW5mby5jcnRjc1swXS0+YmFzZS5tb2RlOwotCQlwaXhl bF9ieXRlczEgPSBmYi0+Yml0c19wZXJfcGl4ZWwgLyA4OworCQlwaXhlbF9ieXRlczEgPSBmYi0+ Zm9ybWF0LT5jcHBbMF07CiAJfQogCWlmICghKHJkZXYtPmZsYWdzICYgUkFERU9OX1NJTkdMRV9D UlRDKSkgewogCQlpZiAocmRldi0+bW9kZV9pbmZvLmNydGNzWzFdLT5iYXNlLmVuYWJsZWQpIHsK QEAgLTMyMzcsNyArMzIzNyw3IEBAIHZvaWQgcjEwMF9iYW5kd2lkdGhfdXBkYXRlKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2KQogCQkJCXJkZXYtPm1vZGVfaW5mby5jcnRjc1sxXS0+YmFzZS5w cmltYXJ5LT5mYjsKIAogCQkJbW9kZTIgPSAmcmRldi0+bW9kZV9pbmZvLmNydGNzWzFdLT5iYXNl Lm1vZGU7Ci0JCQlwaXhlbF9ieXRlczIgPSBmYi0+Yml0c19wZXJfcGl4ZWwgLyA4OworCQkJcGl4 ZWxfYnl0ZXMyID0gZmItPmZvcm1hdC0+Y3BwWzBdOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKaW5kZXggNjI4NTM1NWViNWQ1Li5hZWE4YjYyODM1YTQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKQEAgLTU0OSwxOSArNTQ5 LDE5IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2NydGNfcGFnZV9mbGlwX3RhcmdldChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJaWYgKCFBU0lDX0lTX0FWSVZPKHJkZXYpKSB7CiAJCS8qIGNydGMgb2Zm c2V0IGlzIGZyb20gZGlzcGxheSBiYXNlIGFkZHIgbm90IEZCIGxvY2F0aW9uICovCiAJCWJhc2Ug LT0gcmFkZW9uX2NydGMtPmxlZ2FjeV9kaXNwbGF5X2Jhc2VfYWRkcjsKLQkJcGl0Y2hfcGl4ZWxz ID0gZmItPnBpdGNoZXNbMF0gLyAoZmItPmJpdHNfcGVyX3BpeGVsIC8gOCk7CisJCXBpdGNoX3Bp eGVscyA9IGZiLT5waXRjaGVzWzBdIC8gZmItPmZvcm1hdC0+Y3BwWzBdOwogCiAJCWlmICh0aWxp bmdfZmxhZ3MgJiBSQURFT05fVElMSU5HX01BQ1JPKSB7CiAJCQlpZiAoQVNJQ19JU19SMzAwKHJk ZXYpKSB7CiAJCQkJYmFzZSAmPSB+MHg3ZmY7CiAJCQl9IGVsc2UgewotCQkJCWludCBieXRlc2hp ZnQgPSBmYi0+Yml0c19wZXJfcGl4ZWwgPj4gNDsKKwkJCQlpbnQgYnl0ZXNoaWZ0ID0gZmItPmZv cm1hdC0+Y3BwWzBdICogOCA+PiA0OwogCQkJCWludCB0aWxlX2FkZHIgPSAoKChjcnRjLT55ID4+ IDMpICogcGl0Y2hfcGl4ZWxzICsgIGNydGMtPngpID4+ICg4IC0gYnl0ZXNoaWZ0KSkgPDwgMTE7 CiAJCQkJYmFzZSArPSB0aWxlX2FkZHIgKyAoKGNydGMtPnggPDwgYnl0ZXNoaWZ0KSAlIDI1Nikg KyAoKGNydGMtPnkgJSA4KSA8PCA4KTsKIAkJCX0KIAkJfSBlbHNlIHsKIAkJCWludCBvZmZzZXQg PSBjcnRjLT55ICogcGl0Y2hfcGl4ZWxzICsgY3J0Yy0+eDsKLQkJCXN3aXRjaCAoZmItPmJpdHNf cGVyX3BpeGVsKSB7CisJCQlzd2l0Y2ggKGZiLT5mb3JtYXQtPmNwcFswXSAqIDgpIHsKIAkJCWNh c2UgODoKIAkJCWRlZmF1bHQ6CiAJCQkJb2Zmc2V0ICo9IDE7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fbGVnYWN5X2NydGMuYwppbmRleCAzMWMwM2UzMmE2YjUuLmNlNmNiNjY2NjIx MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2NydGMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfY3J0Yy5jCkBAIC00 MDIsNyArNDAyLDcgQEAgaW50IHJhZGVvbl9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJdGFyZ2V0X2ZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7CiAJfQogCi0Jc3dpdGNo ICh0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsKSB7CisJc3dpdGNoICh0YXJnZXRfZmItPmZvcm1h dC0+Y3BwWzBdICogOCkgewogCWNhc2UgODoKIAkJZm9ybWF0ID0gMjsKIAkJYnJlYWs7CkBAIC00 NzYsOSArNDc2LDkgQEAgaW50IHJhZGVvbl9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAogCWNydGNfb2Zmc2V0X2NudGwgPSAwOwogCi0JcGl0Y2hfcGl4ZWxzID0gdGFy Z2V0X2ZiLT5waXRjaGVzWzBdIC8gKHRhcmdldF9mYi0+Yml0c19wZXJfcGl4ZWwgLyA4KTsKLQlj cnRjX3BpdGNoID0gRElWX1JPVU5EX1VQKHBpdGNoX3BpeGVscyAqIHRhcmdldF9mYi0+Yml0c19w ZXJfcGl4ZWwsCi0JCQkJICB0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsICogOCk7CisJcGl0Y2hf cGl4ZWxzID0gdGFyZ2V0X2ZiLT5waXRjaGVzWzBdIC8gdGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFsw XTsKKwljcnRjX3BpdGNoID0gRElWX1JPVU5EX1VQKHBpdGNoX3BpeGVscyAqIHRhcmdldF9mYi0+ Zm9ybWF0LT5jcHBbMF0gKiA4LAorCQkJCSAgdGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFswXSAqIDgg KiA4KTsKIAljcnRjX3BpdGNoIHw9IGNydGNfcGl0Y2ggPDwgMTY7CiAKIAljcnRjX29mZnNldF9j bnRsIHw9IFJBREVPTl9DUlRDX0dVSV9UUklHX09GRlNFVF9MRUZUX0VOOwpAQCAtNTAzLDE0ICs1 MDMsMTQgQEAgaW50IHJhZGVvbl9jcnRjX2RvX3NldF9iYXNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAkJCWNydGNfdGlsZV94MF95MCA9IHggfCAoeSA8PCAxNik7CiAJCQliYXNlICY9IH4weDdm ZjsKIAkJfSBlbHNlIHsKLQkJCWludCBieXRlc2hpZnQgPSB0YXJnZXRfZmItPmJpdHNfcGVyX3Bp eGVsID4+IDQ7CisJCQlpbnQgYnl0ZXNoaWZ0ID0gdGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFswXSAq IDggPj4gNDsKIAkJCWludCB0aWxlX2FkZHIgPSAoKCh5ID4+IDMpICogcGl0Y2hfcGl4ZWxzICsg IHgpID4+ICg4IC0gYnl0ZXNoaWZ0KSkgPDwgMTE7CiAJCQliYXNlICs9IHRpbGVfYWRkciArICgo eCA8PCBieXRlc2hpZnQpICUgMjU2KSArICgoeSAlIDgpIDw8IDgpOwogCQkJY3J0Y19vZmZzZXRf Y250bCB8PSAoeSAlIDE2KTsKIAkJfQogCX0gZWxzZSB7CiAJCWludCBvZmZzZXQgPSB5ICogcGl0 Y2hfcGl4ZWxzICsgeDsKLQkJc3dpdGNoICh0YXJnZXRfZmItPmJpdHNfcGVyX3BpeGVsKSB7CisJ CXN3aXRjaCAodGFyZ2V0X2ZiLT5mb3JtYXQtPmNwcFswXSAqIDgpIHsKIAkJY2FzZSA4OgogCQkJ b2Zmc2V0ICo9IDE7CiAJCQlicmVhazsKQEAgLTYwMiw3ICs2MDIsNyBAQCBzdGF0aWMgYm9vbCBy YWRlb25fc2V0X2NydGNfdGltaW5nKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9k aXNwbGF5X21vZAogCQl9CiAJfQogCi0Jc3dpdGNoIChmYi0+Yml0c19wZXJfcGl4ZWwpIHsKKwlz d2l0Y2ggKGZiLT5mb3JtYXQtPmNwcFswXSAqIDgpIHsKIAljYXNlIDg6CiAJCWZvcm1hdCA9IDI7 CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwppbmRleCA0MDEwZDY5Y2JkMDguLjNhZjE1N2EyZDQwYyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL2RjLmMKQEAgLTU2OCw3ICs1NjgsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9wbGFu ZV9hdG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXdpbmRvdy5kc3QueSA9 IHBsYW5lLT5zdGF0ZS0+Y3J0Y195OwogCXdpbmRvdy5kc3QudyA9IHBsYW5lLT5zdGF0ZS0+Y3J0 Y193OwogCXdpbmRvdy5kc3QuaCA9IHBsYW5lLT5zdGF0ZS0+Y3J0Y19oOwotCXdpbmRvdy5iaXRz X3Blcl9waXhlbCA9IGZiLT5iaXRzX3Blcl9waXhlbDsKKwl3aW5kb3cuYml0c19wZXJfcGl4ZWwg PSBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4OwogCXdpbmRvdy5ib3R0b21fdXAgPSB0ZWdyYV9mYl9p c19ib3R0b21fdXAoZmIpOwogCiAJLyogY29weSBmcm9tIHN0YXRlICovCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMK aW5kZXggZDI4OTNmNjUzNDFhLi5lMjg5ZGJjNmFkODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90ZWdyYS9kcm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKQEAgLTg3 Nyw3ICs4NzcsNyBAQCBzdGF0aWMgaW50IHRlZ3JhX2RlYnVnZnNfZnJhbWVidWZmZXJzKHN0cnVj dCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKIAkJc2VxX3ByaW50ZihzLCAiJTNkOiB1c2VyIHNp emU6ICVkIHggJWQsIGRlcHRoICVkLCAlZCBicHAsIHJlZmNvdW50ICVkXG4iLAogCQkJICAgZmIt PmJhc2UuaWQsIGZiLT53aWR0aCwgZmItPmhlaWdodCwKIAkJCSAgIGZiLT5mb3JtYXQtPmRlcHRo LAotCQkJICAgZmItPmJpdHNfcGVyX3BpeGVsLAorCQkJICAgZmItPmZvcm1hdC0+Y3BwWzBdICog OCwKIAkJCSAgIGRybV9mcmFtZWJ1ZmZlcl9yZWFkX3JlZmNvdW50KGZiKSk7CiAJfQogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3Vk bC91ZGxfZmIuYwppbmRleCBlMjFhM2VkM2FiMmIuLmI4ZGMwNmQ2ODc3NyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3Vk bF9mYi5jCkBAIC04OSw3ICs4OSw3IEBAIGludCB1ZGxfaGFuZGxlX2RhbWFnZShzdHJ1Y3QgdWRs X2ZyYW1lYnVmZmVyICpmYiwgaW50IHgsIGludCB5LAogCWludCBieXRlc19pZGVudGljYWwgPSAw OwogCXN0cnVjdCB1cmIgKnVyYjsKIAlpbnQgYWxpZ25lZF94OwotCWludCBicHAgPSAoZmItPmJh c2UuYml0c19wZXJfcGl4ZWwgLyA4KTsKKwlpbnQgYnBwID0gZmItPmJhc2UuZm9ybWF0LT5jcHBb MF07CiAKIAlpZiAoIWZiLT5hY3RpdmVfMTYpCiAJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfZmIuYwppbmRleCA5ZDBkYTQyY2M0MjAuLjYxMjU0Yjk5MTI2NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZiLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3ZpcnRpby92aXJ0Z3B1X2ZiLmMKQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIGludCB2aXJ0 aW9fZ3B1X2RpcnR5X3VwZGF0ZShzdHJ1Y3QgdmlydGlvX2dwdV9mcmFtZWJ1ZmZlciAqZmIsCiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiLT5iYXNlLmRldjsKIAlzdHJ1Y3QgdmlydGlvX2dw dV9kZXZpY2UgKnZnZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlib29sIHN0b3JlX2Zvcl9sYXRl ciA9IGZhbHNlOwotCWludCBicHAgPSBmYi0+YmFzZS5iaXRzX3Blcl9waXhlbCAvIDg7CisJaW50 IGJwcCA9IGZiLT5iYXNlLmZvcm1hdC0+Y3BwWzBdOwogCWludCB4MiwgeTI7CiAJdW5zaWduZWQg bG9uZyBmbGFnczsKIAlzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3QgKm9iaiA9IGdlbV90b192aXJ0 aW9fZ3B1X29iaihmYi0+b2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9mYi5jCmluZGV4IGI2 ZTRhZGQwOWY0NC4uNGQ5YWIxNmZiOTA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9mYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ZiLmMK QEAgLTkzLDcgKzkzLDcgQEAgc3RhdGljIGludCB2bXdfZmJfc2V0Y29scmVnKHVuc2lnbmVkIHJl Z25vLCB1bnNpZ25lZCByZWQsIHVuc2lnbmVkIGdyZWVuLAogCWRlZmF1bHQ6CiAJCURSTV9FUlJP UigiQmFkIGRlcHRoICV1LCBicHAgJXUuXG4iLAogCQkJICBwYXItPnNldF9mYi0+Zm9ybWF0LT5k ZXB0aCwKLQkJCSAgcGFyLT5zZXRfZmItPmJpdHNfcGVyX3BpeGVsKTsKKwkJCSAgcGFyLT5zZXRf ZmItPmZvcm1hdC0+Y3BwWzBdICogOCk7CiAJCXJldHVybiAxOwogCX0KIApAQCAtMTk4LDcgKzE5 OCw3IEBAIHN0YXRpYyB2b2lkIHZtd19mYl9kaXJ0eV9mbHVzaChzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCiAJICogSGFuZGxlIHBhbm5pbmcgd2hlbiBjb3B5aW5nIGZyb20gdm1hbGxvYyB0byBm cmFtZWJ1ZmZlci4KIAkgKiBDbGlwIGRpcnR5IGFyZWEgdG8gZnJhbWVidWZmZXIuCiAJICovCi0J Y3BwID0gKGN1cl9mYi0+Yml0c19wZXJfcGl4ZWwgKyA3KSAvIDg7CisJY3BwID0gY3VyX2ZiLT5m b3JtYXQtPmNwcFswXTsKIAltYXhfeCA9IHBhci0+ZmJfeCArIGN1cl9mYi0+d2lkdGg7CiAJbWF4 X3kgPSBwYXItPmZiX3kgKyBjdXJfZmItPmhlaWdodDsKIApAQCAtNDg2LDcgKzQ4Niw3IEBAIHN0 YXRpYyBpbnQgdm13X2ZiX2ttc19mcmFtZWJ1ZmZlcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIAlj dXJfZmIgPSBwYXItPnNldF9mYjsKIAlpZiAoY3VyX2ZiICYmIGN1cl9mYi0+d2lkdGggPT0gbW9k ZV9jbWQud2lkdGggJiYKIAkgICAgY3VyX2ZiLT5oZWlnaHQgPT0gbW9kZV9jbWQuaGVpZ2h0ICYm Ci0JICAgIGN1cl9mYi0+Yml0c19wZXJfcGl4ZWwgPT0gbW9kZV9jbWQuYnBwICYmCisJICAgIGN1 cl9mYi0+Zm9ybWF0LT5jcHBbMF0gKiA4ID09IG1vZGVfY21kLmJwcCAmJgogCSAgICBjdXJfZmIt PmZvcm1hdC0+ZGVwdGggPT0gbW9kZV9jbWQuZGVwdGggJiYKIAkgICAgY3VyX2ZiLT5waXRjaGVz WzBdID09IG1vZGVfY21kLnBpdGNoKQogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfa21zLmMKaW5kZXggMmNlNDc0MzcwMWYxLi5lYjhlMzY0NjI5NjEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92 bXdnZngvdm13Z2Z4X2ttcy5jCkBAIC01OTEsNyArNTkxLDYgQEAgc3RhdGljIGludCB2bXdfa21z X25ld19mcmFtZWJ1ZmZlcl9zdXJmYWNlKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ LyogWFhYIGdldCB0aGUgZmlyc3QgNCBmcm9tIHRoZSBzdXJmYWNlIGluZm8gKi8KIAl2ZmJzLT5i YXNlLmJhc2UuZm9ybWF0ID0gZHJtX2Zvcm1hdF9pbmZvKHBpeGVsX2Zvcm1hdCk7CiAJdmZicy0+ YmFzZS5iYXNlLnBpeGVsX2Zvcm1hdCA9IHBpeGVsX2Zvcm1hdDsKLQl2ZmJzLT5iYXNlLmJhc2Uu Yml0c19wZXJfcGl4ZWwgPSBtb2RlX2NtZC0+YnBwOwogCXZmYnMtPmJhc2UuYmFzZS5waXRjaGVz WzBdID0gbW9kZV9jbWQtPnBpdGNoOwogCXZmYnMtPmJhc2UuYmFzZS53aWR0aCA9IG1vZGVfY21k LT53aWR0aDsKIAl2ZmJzLT5iYXNlLmJhc2UuaGVpZ2h0ID0gbW9kZV9jbWQtPmhlaWdodDsKQEAg LTg5OSw3ICs4OTgsNiBAQCBzdGF0aWMgaW50IHZtd19rbXNfbmV3X2ZyYW1lYnVmZmVyX2RtYWJ1 ZihzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAogCXZmYmQtPmJhc2UuYmFzZS5kZXYgPSBk ZXY7CiAJdmZiZC0+YmFzZS5iYXNlLmZvcm1hdCA9IGRybV9mb3JtYXRfaW5mbyhwaXhlbF9mb3Jt YXQpOwogCXZmYmQtPmJhc2UuYmFzZS5waXhlbF9mb3JtYXQgPSBwaXhlbF9mb3JtYXQ7Ci0JdmZi ZC0+YmFzZS5iYXNlLmJpdHNfcGVyX3BpeGVsID0gbW9kZV9jbWQtPmJwcDsKIAl2ZmJkLT5iYXNl LmJhc2UucGl0Y2hlc1swXSA9IG1vZGVfY21kLT5waXRjaDsKIAl2ZmJkLT5iYXNlLmJhc2Uud2lk dGggPSBtb2RlX2NtZC0+d2lkdGg7CiAJdmZiZC0+YmFzZS5iYXNlLmhlaWdodCA9IG1vZGVfY21k LT5oZWlnaHQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUu YyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2xkdS5jCmluZGV4IGEzYTgzOWEzZDQ0 MS4uMzgwNjE0OGUxYmRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9sZHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwpAQCAtOTcs NyArOTcsNyBAQCBzdGF0aWMgaW50IHZtd19sZHVfY29tbWl0X2xpc3Qoc3RydWN0IHZtd19wcml2 YXRlICpkZXZfcHJpdikKIAkJZmIgPSBlbnRyeS0+YmFzZS5jcnRjLnByaW1hcnktPmZiOwogCiAJ CXJldHVybiB2bXdfa21zX3dyaXRlX3N2Z2EoZGV2X3ByaXYsIHcsIGgsIGZiLT5waXRjaGVzWzBd LAotCQkJCQkgIGZiLT5iaXRzX3Blcl9waXhlbCwKKwkJCQkJICBmYi0+Zm9ybWF0LT5jcHBbMF0g KiA4LAogCQkJCQkgIGZiLT5mb3JtYXQtPmRlcHRoKTsKIAl9CiAKQEAgLTEwNiw3ICsxMDYsNyBA QCBzdGF0aWMgaW50IHZtd19sZHVfY29tbWl0X2xpc3Qoc3RydWN0IHZtd19wcml2YXRlICpkZXZf cHJpdikKIAkJZmIgPSBlbnRyeS0+YmFzZS5jcnRjLnByaW1hcnktPmZiOwogCiAJCXZtd19rbXNf d3JpdGVfc3ZnYShkZXZfcHJpdiwgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBmYi0+cGl0Y2hlc1sw XSwKLQkJCQkgICBmYi0+Yml0c19wZXJfcGl4ZWwsIGZiLT5mb3JtYXQtPmRlcHRoKTsKKwkJCQkg ICBmYi0+Zm9ybWF0LT5jcHBbMF0gKiA4LCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJfQogCiAJLyog TWFrZSBzdXJlIHdlIGFsd2F5cyBzaG93IHNvbWV0aGluZy4gKi8KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X3Njcm4uYwppbmRleCAzOGQ3YjhhMmI3OGUuLmQ0MjY4ZWZjMzdkMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X3Njcm4uYwpAQCAtNjE4LDcgKzYxOCw3IEBAIHN0YXRpYyBpbnQg ZG9fZG1hYnVmX2RlZmluZV9nbXJmYihzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAogCX0K IAogCWNtZC0+aGVhZGVyID0gU1ZHQV9DTURfREVGSU5FX0dNUkZCOwotCWNtZC0+Ym9keS5mb3Jt YXQuYml0c1BlclBpeGVsID0gZnJhbWVidWZmZXItPmJhc2UuYml0c19wZXJfcGl4ZWw7CisJY21k LT5ib2R5LmZvcm1hdC5iaXRzUGVyUGl4ZWwgPSBmcmFtZWJ1ZmZlci0+YmFzZS5mb3JtYXQtPmNw cFswXSAqIDg7CiAJY21kLT5ib2R5LmZvcm1hdC5jb2xvckRlcHRoID0gZGVwdGg7CiAJY21kLT5i b2R5LmZvcm1hdC5yZXNlcnZlZCA9IDA7CiAJY21kLT5ib2R5LmJ5dGVzUGVyTGluZSA9IGZyYW1l YnVmZmVyLT5iYXNlLnBpdGNoZXNbMF07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9zdGR1LmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdGR1LmMK aW5kZXggOTRhZDhkMmFjZjlhLi5iMjdjZDE4ZWU2NmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9zdGR1LmMKQEAgLTQyNCw3ICs0MjQsNyBAQCBzdGF0aWMgaW50IHZtd19zdGR1X2JpbmRf ZmIoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAkJICovCiAJCWlmIChuZXdfY29udGVu dF90eXBlID09IFNFUEFSQVRFX0RNQSkgewogCi0JCQlzd2l0Y2ggKG5ld19mYi0+Yml0c19wZXJf cGl4ZWwpIHsKKwkJCXN3aXRjaCAobmV3X2ZiLT5mb3JtYXQtPmNwcFswXSAqIDgpIHsKIAkJCWNh c2UgMzI6CiAJCQkJY29udGVudF9zcmYuZm9ybWF0ID0gU1ZHQTNEX1g4UjhHOEI4OwogCQkJCWJy ZWFrOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmggYi9pbmNsdWRl L2RybS9kcm1fZnJhbWVidWZmZXIuaAppbmRleCA5Yjk3NzI5OThkYjYuLjRlZmM1MDY2NDc1YSAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2ZyYW1lYnVmZmVyLmgKQEAgLTE3MCwxMyArMTcwLDYgQEAgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciB7CiAJICovCiAJdW5zaWduZWQgaW50IGhlaWdodDsKIAkvKioKLQkgKiBAYml0c19w ZXJfcGl4ZWw6IFN0b3JhZ2UgdXNlZCBiaXRzIHBlciBwaXhlbCBmb3IgUkdCIGZvcm1hdHMuIDAg Zm9yCi0JICogZXZlcnl0aGluZyBlbHNlLiBMZWdhY3kgaW5mb3JtYXRpb24gZGVyaXZlZCBmcm9t IEBwaXhlbF9mb3JtYXQsIGl0J3MKLQkgKiBzdWdnZXN0ZWQgdG8gdXNlIHRoZSBEUk0gRk9VUkND IGNvZGVzIGFuZCBoZWxwZXIgZnVuY3Rpb25zIGRpcmVjdGx5Ci0JICogaW5zdGVhZC4KLQkgKi8K LQlpbnQgYml0c19wZXJfcGl4ZWw7Ci0JLyoqCiAJICogQGZsYWdzOiBGcmFtZWJ1ZmZlciBmbGFn cyBsaWtlIERSTV9NT0RFX0ZCX0lOVEVSTEFDRUQgb3IKIAkgKiBEUk1fTU9ERV9GQl9NT0RJRklF UlMuCiAJICovCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==