From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH 08/60] drm/bridge: Extend bridge API to disable connector creation Date: Sun, 7 Jul 2019 21:18:45 +0300 Message-ID: <20190707181937.6250-5-laurent.pinchart@ideasonboard.com> References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 300B389ABE for ; Sun, 7 Jul 2019 18:22:20 +0000 (UTC) In-Reply-To: <20190707181937.6250-1-laurent.pinchart@ideasonboard.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: Maxime Ripard , Sebastian Reichel , Tomi Valkeinen , Sean Paul List-Id: dri-devel@lists.freedesktop.org TW9zdCBicmlkZ2UgZHJpdmVycyBjcmVhdGUgYSBEUk0gY29ubmVjdG9yIHRvIG1vZGVsIHRoZSBj b25uZWN0b3IgYXQgdGhlCm91dHB1dCBvZiB0aGUgYnJpZGdlLiBUaGlzIG1vZGVsIGlzIGhpc3Rv cmljYWwgYW5kIGhhcyB3b3JrZWQgcHJldHR5CndlbGwgc28gZmFyLCBidXQgY2F1c2VzIHNldmVy YWwgaXNzdWVzOgoKLSBJdCBwcmV2ZW50cyBzdXBwb3J0aW5nIG1vcmUgY29tcGxleCBkaXNwbGF5 IHBpcGVsaW5lcyB3aGVyZSBEUk0KY29ubmVjdG9yIG9wZXJhdGlvbnMgYXJlIHNwbGl0IG92ZXIg bXVsdGlwbGUgY29tcG9uZW50cy4gRm9yIGluc3RhbmNlIGEKcGlwZWxpbmUgd2l0aCBhIGJyaWRn ZSBjb25uZWN0ZWQgdG8gdGhlIEREQyBzaWduYWxzIHRvIHJlYWQgRURJRCBkYXRhLAphbmQgYW5v dGhlciBvbmUgY29ubmVjdGVkIHRvIHRoZSBIUEQgc2lnbmFsIHRvIGRldGVjdCBjb25uZWN0aW9u IGFuZApkaXNjb25uZWN0aW9uLCB3aWxsIG5vdCBiZSBwb3NzaWJsZSB0byBzdXBwb3J0IHRocm91 Z2ggdGhpcyBtb2RlbC4KCi0gSXQgcmVxdWlyZXMgZXZlcnkgYnJpZGdlIGRyaXZlciB0byBpbXBs ZW1lbnQgc2ltaWxhciBjb25uZWN0b3IKaGFuZGxpbmcgY29kZSwgcmVzdWx0aW5nIGluIGNvZGUg ZHVwbGljYXRpb24uCgotIEl0IGFzc3VtZXMgdGhhdCBhIGJyaWRnZSB3aWxsIGVpdGhlciBiZSB3 aXJlZCB0byBhIGNvbm5lY3RvciBvciB0bwphbm90aGVyIGJyaWRnZSwgYnV0IGRvZXNuJ3Qgc3Vw cG9ydCBicmlkZ2VzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYm90aApwb3NpdGlvbnMgdmVyeSB3ZWxs IChhbHRob3VnaCB0aGVyZSBpcyBzb21lIGFkLWhvYyBzdXBwb3J0IGZvciB0aGlzIGluCnRoZSBh bmFsb2dpeF9kcCBicmlkZ2UgZHJpdmVyKS4KCkluIG9yZGVyIHRvIHNvbHZlIHRoZXNlIGlzc3Vl cywgb3duZXJzaGlwIG9mIHRoZSBjb25uZWN0b3Igc2hvdWxkIGJlCm1vdmVkIHRvIHRoZSBkaXNw bGF5IGNvbnRyb2xsZXIgZHJpdmVyICh3aGVyZSBpdCBjYW4gYmUgaW1wbGVtZW50ZWQKdXNpbmcg aGVscGVycyBwcm92aWRlZCBieSB0aGUgY29yZSkuCgpFeHRlbmQgdGhlIGJyaWRnZSBBUEkgdG8g YWxsb3cgZGlzYWJsaW5nIGNvbm5lY3RvciBjcmVhdGlvbiBpbiBicmlkZ2UKZHJpdmVycyBhcyBh IGZpcnN0IHN0ZXAgdG93YXJkcyB0aGUgbmV3IG1vZGVsLiBUaGUgbmV3IGNyZWF0ZV9jb25uZWN0 b3IKYXJndW1lbnQgdG8gdGhlIGJyaWRnZSAuYXR0YWNoKCkgb3BlcmF0aW9uIHRlbGxzIHRoZSBi cmlkZ2UgZHJpdmVyCndoZXRoZXIgdG8gY3JlYXRlIGEgY29ubmVjdG9yLiBTZXQgdGhlIGFyZ3Vt ZW50IHRvIHRydWUgdW5jb25kaXRpb25hbGx5LAphbmQgbW9kaWZ5IGFsbCBleGlzdGluZyBicmlk Z2UgZHJpdmVycyB0byByZXR1cm4gYW4gZXJyb3Igd2hlbiBjb25uZWN0b3IKY3JlYXRpb24gaXMg bm90IHJlcXVlc3RlZCBhcyB0aGV5IGRvbid0IHN1cHBvcnQgdGhpcyBmZWF0dXJlIHlldC4KClNp Z25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJv YXJkLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9oZG1pLmMgICAgICAgICAg ICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9o bGNkY19vdXRwdXQuYyAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3 NTExL2Fkdjc1MTFfZHJ2LmMgICAgICAgICAgICAgfCA2ICsrKysrLQogZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgICAgICAgICAgICAgICAgfCA2ICsrKysrLQogZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMgICAgICAgfCA4 ICsrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2NkbnMtZHNpLmMgICAgICAgICAgICAg ICAgICAgICAgICB8IDYgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2x2ZHMtZW5jb2Rl ci5jICAgICAgICAgICAgICAgICAgICB8IDQgKystLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9t ZWdhY2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMgfCA2ICsrKysrLQogZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9ueHAtcHRuMzQ2MC5jICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrLQog ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAg fCA1ICsrKystCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIuYyAgICAgICAg ICAgICAgICAgICB8IDUgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jICAg ICAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c2lsLXNpaTg2MjAuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zaW1wbGUtYnJpZGdlLmMgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrLQogZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgICAgICAgICAgICAgICAgfCA4 ICsrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMg ICAgICAgICAgICB8IDggKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQu YyAgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKysrLQogZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS90YzM1ODc2Ny5jICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKystCiBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3RoYzYzbHZkMTAyNC5jICAgICAgICAgICAgICAgICAgICB8IDUgKysrLS0K IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTg2LmMgICAgICAgICAgICAgICAgICAg IHwgNSArKysrLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS10ZnA0MTAuYyAgICAgICAgICAg ICAgICAgICAgICAgfCA1ICsrKystCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDUgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2lt cGxlX2ttc19oZWxwZXIuYyAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAzICsrLQogZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jICAgICAgICAgICAgICAgICAgfCA0ICsr LS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgICAgICAgICAgICAg ICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgICAg ICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2R3X2Ry bV9kc2kuYyAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9k cnYuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgOCArKysrKystLQogZHJpdmVycy9ncHUvZHJt L2lteC9pbXgtbGRiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L2dwdS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVfZHNpLmMgICAgICAgICAgICAgICAgICAgICAgICAg IHwgNiArKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyAg ICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2hkbWkuYyAgICAgICAgICAgICAgICAgICAgICB8IDggKysrKysrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBfYnJpZGdlLmMgICAgICAgICAgICAgICAgICAgICB8IDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jICAgICAgICAgICAgICAg ICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAgICAgICAgICAg ICAgICAgICAgICAgfCAzICsrLQogZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9lbmNv ZGVyLmMgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2x2ZHMuYyAgICAgICAgICAgICAgICAgICAgICB8IDcgKysrKystLQogZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2x2ZHMuYyAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfcmdiLmMgICAgICAgICAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRhLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX2x2ZHMuYyAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfcmdiLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGRyaXZlcnMv Z3B1L2RybS90aWxjZGMvdGlsY2RjX2V4dGVybmFsLmMgICAgICAgICAgICAgICAgIHwgMiArLQog ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHBpLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAyICstCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIgKy0KIGluY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgNCArKy0tCiA1MyBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9u cygrKSwgNjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FyYy9h cmNwZ3VfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfaGRtaS5jCmluZGV4IDk4 YWFjNzQzY2MyNi4uNzM5ZjIzNThmMWQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJj L2FyY3BndV9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfaGRtaS5jCkBA IC0zOSw3ICszOSw3IEBAIGludCBhcmNwZ3VfZHJtX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQogCQlyZXR1cm4gcmV0OwogCiAJLyogTGlu ayBkcm1fYnJpZGdlIHRvIGVuY29kZXIgKi8KLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNv ZGVyLCBicmlkZ2UsIE5VTEwpOworCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJy aWRnZSwgTlVMTCwgdHJ1ZSk7CiAJaWYgKHJldCkKIAkJZHJtX2VuY29kZXJfY2xlYW51cChlbmNv ZGVyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hs Y2RjX291dHB1dC5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291 dHB1dC5jCmluZGV4IGY3M2Q4YTkyMjc0ZS4uNjA2ODQxZDJjMGIwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfb3V0cHV0LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291dHB1dC5jCkBAIC0xMjMsNyArMTIz LDcgQEAgc3RhdGljIGludCBhdG1lbF9obGNkY19hdHRhY2hfZW5kcG9pbnQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGVuZHBvaW50KQogCX0KIAogCWlmIChicmlkZ2UpIHsKLQkJcmV0ID0g ZHJtX2JyaWRnZV9hdHRhY2goJm91dHB1dC0+ZW5jb2RlciwgYnJpZGdlLCBOVUxMKTsKKwkJcmV0 ID0gZHJtX2JyaWRnZV9hdHRhY2goJm91dHB1dC0+ZW5jb2RlciwgYnJpZGdlLCBOVUxMLCB0cnVl KTsKIAkJaWYgKCFyZXQpCiAJCQlyZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwppbmRleCBmNmQyNjgxZjY5MjcuLmM2N2JhMzBlZGVjNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKQEAgLTg0 NywxMSArODQ3LDE1IEBAIHN0YXRpYyB2b2lkIGFkdjc1MTFfYnJpZGdlX21vZGVfc2V0KHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UsCiAJYWR2NzUxMV9tb2RlX3NldChhZHYsIG1vZGUsIGFkal9t b2RlKTsKIH0KIAotc3RhdGljIGludCBhZHY3NTExX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgYWR2NzUxMV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCisJCQkJIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlzdHJ1 Y3QgYWR2NzUxMSAqYWR2ID0gYnJpZGdlX3RvX2Fkdjc1MTEoYnJpZGdlKTsKIAlpbnQgcmV0Owog CisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWlmICghYnJp ZGdlLT5lbmNvZGVyKSB7CiAJCURSTV9FUlJPUigiUGFyZW50IGVuY29kZXIgb2JqZWN0IG5vdCBm b3VuZCIpOwogCQlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC1hbng3OHh4LmMKaW5kZXggM2M3Y2M1YWY3MzVjLi5mNzI3NTVlNTllMTIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCkBAIC05OTgsMTEgKzk5OCwxNSBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgYW54Nzh4eF9jb25uZWN0b3Jf ZnVuY3MgPSB7CiAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY29u bmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCiB9OwogCi1zdGF0aWMgaW50IGFueDc4eHhfYnJpZGdlX2F0 dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQorc3RhdGljIGludCBhbng3OHh4X2JyaWRn ZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkgYm9vbCBjcmVhdGVfY29u bmVjdG9yKQogewogCXN0cnVjdCBhbng3OHh4ICphbng3OHh4ID0gYnJpZGdlX3RvX2FueDc4eHgo YnJpZGdlKTsKIAlpbnQgZXJyOwogCisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4g LUVJTlZBTDsKKwogCWlmICghYnJpZGdlLT5lbmNvZGVyKSB7CiAJCURSTV9FUlJPUigiUGFyZW50 IGVuY29kZXIgb2JqZWN0IG5vdCBmb3VuZCIpOwogCQlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKaW5kZXgg M2Y3ZjQ4ODBiZTA5Li5mNmExYmRjYzA5ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCkBAIC0xMTc5LDEzICsxMTc5LDE3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBhbmFsb2dpeF9kcF9jb25u ZWN0b3JfZnVuY3MgPSB7CiAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCiB9OwogCi1zdGF0aWMgaW50IGFuYWxvZ2l4X2Rw X2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgYW5h bG9naXhfZHBfYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJCSAg ICAgYm9vbCBjcmVhdGVfY29ubmVjdG9yKQogewogCXN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2Ug KmRwID0gYnJpZGdlLT5kcml2ZXJfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIgPSBkcC0+ZW5jb2RlcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gTlVM TDsKIAlpbnQgcmV0ID0gMDsKIAorCWlmICghY3JlYXRlX2Nvbm5lY3RvcikKKwkJcmV0dXJuIC1F SU5WQUw7CisKIAlpZiAoIWJyaWRnZS0+ZW5jb2RlcikgewogCQlEUk1fRVJST1IoIlBhcmVudCBl bmNvZGVyIG9iamVjdCBub3QgZm91bmQiKTsKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0xNDYzLDcg KzE0NjcsNyBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2NyZWF0ZV9icmlkZ2Uoc3RydWN0IGRy bV9kZXZpY2UgKmRybV9kZXYsCiAJYnJpZGdlLT5kcml2ZXJfcHJpdmF0ZSA9IGRwOwogCWJyaWRn ZS0+ZnVuY3MgPSAmYW5hbG9naXhfZHBfYnJpZGdlX2Z1bmNzOwogCi0JcmV0ID0gZHJtX2JyaWRn ZV9hdHRhY2goZHAtPmVuY29kZXIsIGJyaWRnZSwgTlVMTCk7CisJcmV0ID0gZHJtX2JyaWRnZV9h dHRhY2goZHAtPmVuY29kZXIsIGJyaWRnZSwgTlVMTCwgdHJ1ZSk7CiAJaWYgKHJldCkgewogCQlE Uk1fRVJST1IoImZhaWxlZCB0byBhdHRhY2ggZHJtIGJyaWRnZVxuIik7CiAJCXJldHVybiAtRUlO VkFMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jCmluZGV4IDYxNjZkY2E2YmU4MS4uNDVmNTA4 NTJjZmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2NkbnMtZHNpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9jZG5zLWRzaS5jCkBAIC02NDUsNyArNjQ1LDggQEAg c3RhdGljIGludCBjZG5zX2RzaV9jaGVja19jb25mKHN0cnVjdCBjZG5zX2RzaSAqZHNpLAogCXJl dHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNkbnNfZHNpX2JyaWRnZV9hdHRhY2goc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgY2Ruc19kc2lfYnJpZGdlX2F0dGFjaChzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJCSAgYm9vbCBjcmVhdGVfY29ubmVjdG9yKQogewog CXN0cnVjdCBjZG5zX2RzaV9pbnB1dCAqaW5wdXQgPSBicmlkZ2VfdG9fY2Ruc19kc2lfaW5wdXQo YnJpZGdlKTsKIAlzdHJ1Y3QgY2Ruc19kc2kgKmRzaSA9IGlucHV0X3RvX2RzaShpbnB1dCk7CkBA IC02NTcsNyArNjU4LDggQEAgc3RhdGljIGludCBjZG5zX2RzaV9icmlkZ2VfYXR0YWNoKHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UpCiAJCXJldHVybiAtRU5PVFNVUFA7CiAJfQogCi0JcmV0dXJu IGRybV9icmlkZ2VfYXR0YWNoKGJyaWRnZS0+ZW5jb2Rlciwgb3V0cHV0LT5icmlkZ2UsIGJyaWRn ZSk7CisJcmV0dXJuIGRybV9icmlkZ2VfYXR0YWNoKGJyaWRnZS0+ZW5jb2Rlciwgb3V0cHV0LT5i cmlkZ2UsIGJyaWRnZSwKKwkJCQkgY3JlYXRlX2Nvbm5lY3Rvcik7CiB9CiAKIHN0YXRpYyBlbnVt IGRybV9tb2RlX3N0YXR1cwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sdmRz LWVuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNvZGVyLmMKaW5kZXgg MmFiMmMyMzRmMjZjLi5iYWZhYjk3NTIxYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvbHZkcy1lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9sdmRzLWVu Y29kZXIuYwpAQCAtMTgsMTQgKzE4LDE0IEBAIHN0cnVjdCBsdmRzX2VuY29kZXIgewogCXN0cnVj dCBncGlvX2Rlc2MgKnBvd2VyZG93bl9ncGlvOwogfTsKIAotc3RhdGljIGludCBsdmRzX2VuY29k ZXJfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCitzdGF0aWMgaW50IGx2ZHNfZW5j b2Rlcl9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwgYm9vbCBjcmVhdGVfY29ubmVj dG9yKQogewogCXN0cnVjdCBsdmRzX2VuY29kZXIgKmx2ZHNfZW5jb2RlciA9IGNvbnRhaW5lcl9v ZihicmlkZ2UsCiAJCQkJCQkJIHN0cnVjdCBsdmRzX2VuY29kZXIsCiAJCQkJCQkJIGJyaWRnZSk7 CiAKIAlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVyLCBsdmRzX2VuY29k ZXItPnBhbmVsX2JyaWRnZSwKLQkJCQkgYnJpZGdlKTsKKwkJCQkgYnJpZGdlLCBjcmVhdGVfY29u bmVjdG9yKTsKIH0KIAogc3RhdGljIHZvaWQgbHZkc19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdh Y2hpcHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL21l Z2FjaGlwcy1zdGRweHh4eC1nZS1iODUwdjMtZncuYwppbmRleCA3OTMxMWY4MzU0YmQuLjQyNTBl MjIzNWY1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hpcHMtc3Rk cHh4eHgtZ2UtYjg1MHYzLWZ3LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hp cHMtc3RkcHh4eHgtZ2UtYjg1MHYzLWZ3LmMKQEAgLTIwNiwxMyArMjA2LDE3IEBAIHN0YXRpYyBp cnFyZXR1cm5fdCBnZV9iODUwdjNfbHZkc19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZf aWQpCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1zdGF0aWMgaW50IGdlX2I4NTB2M19sdmRz X2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQorc3RhdGljIGludCBnZV9iODUwdjNf bHZkc19hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkgYm9vbCBjcmVhdGVf Y29ubmVjdG9yKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmZ2VfYjg1 MHYzX2x2ZHNfcHRyLT5jb25uZWN0b3I7CiAJc3RydWN0IGkyY19jbGllbnQgKnN0ZHA0MDI4X2ky YwogCQkJPSBnZV9iODUwdjNfbHZkc19wdHItPnN0ZHA0MDI4X2kyYzsKIAlpbnQgcmV0OwogCisJ aWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCWlmICghYnJpZGdl LT5lbmNvZGVyKSB7CiAJCURSTV9FUlJPUigiUGFyZW50IGVuY29kZXIgb2JqZWN0IG5vdCBmb3Vu ZCIpOwogCQlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvbnhwLXB0bjM0NjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbnhwLXB0bjM0NjAuYwpp bmRleCA5OGJjNjUwYjhjOTUuLjZiZWY0MzkyNjFkYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9ueHAtcHRuMzQ2MC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvbnhw LXB0bjM0NjAuYwpAQCAtMjM4LDExICsyMzgsMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX2Z1bmNzIHB0bjM0NjBfY29ubmVjdG9yX2Z1bmNzID0gewogCS5hdG9taWNfZGVz dHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAog fTsKIAotc3RhdGljIGludCBwdG4zNDYwX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSkKK3N0YXRpYyBpbnQgcHRuMzQ2MF9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCisJCQkJIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcHRu MzQ2MF9icmlkZ2UgKnB0bl9icmlkZ2UgPSBicmlkZ2VfdG9fcHRuMzQ2MChicmlkZ2UpOwogCWlu dCByZXQ7CiAKKwlpZiAoIWNyZWF0ZV9jb25uZWN0b3IpCisJCXJldHVybiAtRUlOVkFMOworCiAJ aWYgKCFicmlkZ2UtPmVuY29kZXIpIHsKIAkJRFJNX0VSUk9SKCJQYXJlbnQgZW5jb2RlciBvYmpl Y3Qgbm90IGZvdW5kIik7CiAJCXJldHVybiAtRU5PREVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jCmlu ZGV4IGIxMmFlM2E0YzVmMS4uOThhZDRhYmYyNDA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3BhbmVsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYW5lbC5jCkBA IC01MiwxMiArNTIsMTUgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNz IHBhbmVsX2JyaWRnZV9jb25uZWN0b3JfZnVuY3MgPSB7CiAJLmF0b21pY19kZXN0cm95X3N0YXRl ID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCiB9OwogCi1zdGF0 aWMgaW50IHBhbmVsX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKK3N0 YXRpYyBpbnQgcGFuZWxfYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLCBi b29sIGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJc3RydWN0IHBhbmVsX2JyaWRnZSAqcGFuZWxfYnJp ZGdlID0gZHJtX2JyaWRnZV90b19wYW5lbF9icmlkZ2UoYnJpZGdlKTsKIAlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yID0gJnBhbmVsX2JyaWRnZS0+Y29ubmVjdG9yOwogCWludCByZXQ7 CiAKKwlpZiAoIWNyZWF0ZV9jb25uZWN0b3IpCisJCXJldHVybiAtRUlOVkFMOworCiAJaWYgKCFi cmlkZ2UtPmVuY29kZXIpIHsKIAkJRFJNX0VSUk9SKCJNaXNzaW5nIGVuY29kZXJcbiIpOwogCQly ZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRl LXBzODYyMi5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKaW5kZXgg MmQ4ODE0NmU0ODM2Li5iOTI0M2Q1MTQ4OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvcGFyYWRlLXBzODYyMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRl LXBzODYyMi5jCkBAIC00NzYsMTEgKzQ3NiwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9j b25uZWN0b3JfZnVuY3MgcHM4NjIyX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKIAkuYXRvbWljX2Rlc3Ry b3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZSwKIH07 CiAKLXN0YXRpYyBpbnQgcHM4NjIyX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQor c3RhdGljIGludCBwczg2MjJfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsIGJvb2wg Y3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcHM4NjIyX2JyaWRnZSAqcHM4NjIyID0gYnJp ZGdlX3RvX3BzODYyMihicmlkZ2UpOwogCWludCByZXQ7CiAKKwlpZiAoIWNyZWF0ZV9jb25uZWN0 b3IpCisJCXJldHVybiAtRUlOVkFMOworCiAJaWYgKCFicmlkZ2UtPmVuY29kZXIpIHsKIAkJRFJN X0VSUk9SKCJQYXJlbnQgZW5jb2RlciBvYmplY3Qgbm90IGZvdW5kIik7CiAJCXJldHVybiAtRU5P REVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgYi9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwppbmRleCBkZDdhYTQ2NmIyODAuLjE4OTA0YjEw ODJiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKQEAgLTM5NiwxMiArMzk2LDE2IEBAIHN0 YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UsCiAJbXV0ZXhfdW5sb2NrKCZzaWk5MDJ4LT5tdXRleCk7CiB9CiAKLXN0YXRpYyBpbnQgc2lp OTAyeF9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCitzdGF0aWMgaW50 IHNpaTkwMnhfYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAorCQkJCSBi b29sIGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJc3RydWN0IHNpaTkwMnggKnNpaTkwMnggPSBicmlk Z2VfdG9fc2lpOTAyeChicmlkZ2UpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBicmlkZ2Ut PmRldjsKIAlpbnQgcmV0OwogCisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJ TlZBTDsKKwogCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZCgmc2lpOTAyeC0+Y29ubmVjdG9yLAog CQkJCSAmc2lpOTAyeF9jb25uZWN0b3JfaGVscGVyX2Z1bmNzKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zaWwtc2lpODYyMC5jCmluZGV4IDBjYzI5M2E2YWMyNC4uZWE2NTI5ZGY3ZDljIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpbC1zaWk4NjIwLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCkBAIC0yMjAzLDcgKzIyMDMsNyBAQCBzdGF0aWMg aW5saW5lIHN0cnVjdCBzaWk4NjIwICpicmlkZ2VfdG9fc2lpODYyMChzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKQogCXJldHVybiBjb250YWluZXJfb2YoYnJpZGdlLCBzdHJ1Y3Qgc2lpODYyMCwg YnJpZGdlKTsKIH0KIAotc3RhdGljIGludCBzaWk4NjIwX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKQorc3RhdGljIGludCBzaWk4NjIwX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlLCBib29sIGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJc3RydWN0IHNpaTg2MjAgKmN0eCA9 IGJyaWRnZV90b19zaWk4NjIwKGJyaWRnZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2ltcGxlLWJyaWRnZS5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaW1wbGUt YnJpZGdlLmMKaW5kZXggNzQ5NWI5YmVmODY1Li44Njg4NWViNmUyOGQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2ltcGxlLWJyaWRnZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2ltcGxlLWJyaWRnZS5jCkBAIC0xMDgsMTEgKzEwOCwxNSBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mgc2ltcGxlX2JyaWRnZV9jb25fZnVuY3MgPSB7 CiAJLmF0b21pY19kZXN0cm95X3N0YXRlCT0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rl c3Ryb3lfc3RhdGUsCiB9OwogCi1zdGF0aWMgaW50IHNpbXBsZV9icmlkZ2VfYXR0YWNoKHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UpCitzdGF0aWMgaW50IHNpbXBsZV9icmlkZ2VfYXR0YWNoKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCisJCQkJYm9vbCBjcmVhdGVfY29ubmVjdG9yKQogewog CXN0cnVjdCBzaW1wbGVfYnJpZGdlICpzYnJpZGdlID0gZHJtX2JyaWRnZV90b19zaW1wbGVfYnJp ZGdlKGJyaWRnZSk7CiAJaW50IHJldDsKIAorCWlmICghY3JlYXRlX2Nvbm5lY3RvcikKKwkJcmV0 dXJuIDA7CisKIAlpZiAoIWJyaWRnZS0+ZW5jb2RlcikgewogCQlEUk1fRVJST1IoIk1pc3Npbmcg ZW5jb2RlclxuIik7CiAJCXJldHVybiAtRU5PREVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuYwppbmRleCBjNjQ5MDk0OWQ5ZGIuLjkzMGQ2N2M2MThkZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKQEAgLTIxNzQsMTIgKzIxNzQs MTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBkd19o ZG1pX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPQogCS5nZXRfbW9kZXMgPSBkd19oZG1pX2Nvbm5l Y3Rvcl9nZXRfbW9kZXMsCiB9OwogCi1zdGF0aWMgaW50IGR3X2hkbWlfYnJpZGdlX2F0dGFjaChz dHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQorc3RhdGljIGludCBkd19oZG1pX2JyaWRnZV9hdHRh Y2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkgYm9vbCBjcmVhdGVfY29ubmVjdG9y KQogewogCXN0cnVjdCBkd19oZG1pICpoZG1pID0gYnJpZGdlLT5kcml2ZXJfcHJpdmF0ZTsKIAlz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSBicmlkZ2UtPmVuY29kZXI7CiAJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZoZG1pLT5jb25uZWN0b3I7CiAKKwlpZiAoIWNyZWF0 ZV9jb25uZWN0b3IpCisJCXJldHVybiAtRUlOVkFMOworCiAJY29ubmVjdG9yLT5pbnRlcmxhY2Vf YWxsb3dlZCA9IDE7CiAJY29ubmVjdG9yLT5wb2xsZWQgPSBEUk1fQ09OTkVDVE9SX1BPTExfSFBE OwogCkBAIC0yODU3LDcgKzI4NjEsNyBAQCBzdHJ1Y3QgZHdfaGRtaSAqZHdfaGRtaV9iaW5kKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiAJaWYgKElTX0VSUihoZG1pKSkKIAkJcmV0dXJu IGhkbWk7CiAKLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCAmaGRtaS0+YnJpZGdl LCBOVUxMKTsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCAmaGRtaS0+YnJpZGdl LCBOVUxMLCB0cnVlKTsKIAlpZiAocmV0KSB7CiAJCWR3X2hkbWlfcmVtb3ZlKGhkbWkpOwogCQlE Uk1fRVJST1IoIkZhaWxlZCB0byBpbml0aWFsaXplIGJyaWRnZSB3aXRoIGRybVxuIik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKaW5kZXggMjgxYzU4 YmFiMWExLi4wNWNmOTdhZDUyNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c3lub3BzeXMvZHctbWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9w c3lzL2R3LW1pcGktZHNpLmMKQEAgLTkwNiw3ICs5MDYsOCBAQCBkd19taXBpX2RzaV9icmlkZ2Vf bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAogCXJldHVybiBtb2RlX3N0YXR1 czsKIH0KIAotc3RhdGljIGludCBkd19taXBpX2RzaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UpCitzdGF0aWMgaW50IGR3X21pcGlfZHNpX2JyaWRnZV9hdHRhY2goc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkgICAgIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikK IHsKIAlzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKIApA QCAtOTE5LDcgKzkyMCw4IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfYnJpZGdlX2F0dGFjaChz dHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogCWJyaWRnZS0+ZW5jb2Rlci0+ZW5jb2Rlcl90eXBl ID0gRFJNX01PREVfRU5DT0RFUl9EU0k7CiAKIAkvKiBBdHRhY2ggdGhlIHBhbmVsLWJyaWRnZSB0 byB0aGUgZHNpIGJyaWRnZSAqLwotCXJldHVybiBkcm1fYnJpZGdlX2F0dGFjaChicmlkZ2UtPmVu Y29kZXIsIGRzaS0+cGFuZWxfYnJpZGdlLCBicmlkZ2UpOworCXJldHVybiBkcm1fYnJpZGdlX2F0 dGFjaChicmlkZ2UtPmVuY29kZXIsIGRzaS0+cGFuZWxfYnJpZGdlLCBicmlkZ2UsCisJCQkJIGNy ZWF0ZV9jb25uZWN0b3IpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVu Y3MgZHdfbWlwaV9kc2lfYnJpZGdlX2Z1bmNzID0gewpAQCAtMTA2NCw3ICsxMDY2LDcgQEAgaW50 IGR3X21pcGlfZHNpX2JpbmQoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksIHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKIHsKIAlpbnQgcmV0OwogCi0JcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2go ZW5jb2RlciwgJmRzaS0+YnJpZGdlLCBOVUxMKTsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChl bmNvZGVyLCAmZHNpLT5icmlkZ2UsIE5VTEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBicmlkZ2Ugd2l0aCBkcm1cbiIpOwogCQlyZXR1cm4g cmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jIGIvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jCmluZGV4IDE3MGYxNjJmZmE1NS4uNjAxNmYz YWFlNDJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2NC5jCkBAIC0zNDgsMTIgKzM0OCwxNSBA QCBzdGF0aWMgdm9pZCB0YzM1ODc2NF9lbmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkK IAkJZGV2X2VycihjdHgtPmRldiwgImVycm9yIGVuYWJsaW5nIHBhbmVsICglZClcbiIsIHJldCk7 CiB9CiAKLXN0YXRpYyBpbnQgdGMzNTg3NjRfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UpCitzdGF0aWMgaW50IHRjMzU4NzY0X2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdl LCBib29sIGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJc3RydWN0IHRjMzU4NzY0ICpjdHggPSBicmlk Z2VfdG9fdGMzNTg3NjQoYnJpZGdlKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gYnJpZGdl LT5kZXY7CiAJaW50IHJldDsKIAorCWlmICghY3JlYXRlX2Nvbm5lY3RvcikKKwkJcmV0dXJuIC1F SU5WQUw7CisKIAljdHgtPmNvbm5lY3Rvci5wb2xsZWQgPSBEUk1fQ09OTkVDVE9SX1BPTExfSFBE OwogCXJldCA9IGRybV9jb25uZWN0b3JfaW5pdChkcm0sICZjdHgtPmNvbm5lY3RvciwKIAkJCQkg JnRjMzU4NzY0X2Nvbm5lY3Rvcl9mdW5jcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvdGMzNTg3NjcuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwppbmRl eCAxM2FkZTI4YTM2YTguLmUyYjJkMjY2MGFkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS90YzM1ODc2Ny5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3Njcu YwpAQCAtMTI3MywxMyArMTI3MywxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0 b3JfZnVuY3MgdGNfY29ubmVjdG9yX2Z1bmNzID0gewogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9 IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAogfTsKIAotc3RhdGlj IGludCB0Y19icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCitzdGF0aWMg aW50IHRjX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwgYm9vbCBjcmVh dGVfY29ubmVjdG9yKQogewogCXUzMiBidXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhf MVgyNDsKIAlzdHJ1Y3QgdGNfZGF0YSAqdGMgPSBicmlkZ2VfdG9fdGMoYnJpZGdlKTsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZHJtID0gYnJpZGdlLT5kZXY7CiAJaW50IHJldDsKIAorCWlmICghY3Jl YXRlX2Nvbm5lY3RvcikKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAkvKiBDcmVhdGUgRFAvZURQIGNv bm5lY3RvciAqLwogCWRybV9jb25uZWN0b3JfaGVscGVyX2FkZCgmdGMtPmNvbm5lY3RvciwgJnRj X2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwogCXJldCA9IGRybV9jb25uZWN0b3JfaW5pdChkcm0s ICZ0Yy0+Y29ubmVjdG9yLCAmdGNfY29ubmVjdG9yX2Z1bmNzLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS90aGM2M2x2ZDEwMjQuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv dGhjNjNsdmQxMDI0LmMKaW5kZXggM2Q3NDEyOWIyOTk1Li44NmYzYjk2Zjk1ZGIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGhjNjNsdmQxMDI0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS90aGM2M2x2ZDEwMjQuYwpAQCAtNDIsMTEgKzQyLDEyIEBAIHN0YXRpYyBp bmxpbmUgc3RydWN0IHRoYzYzX2RldiAqdG9fdGhjNjMoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZSkKIAlyZXR1cm4gY29udGFpbmVyX29mKGJyaWRnZSwgc3RydWN0IHRoYzYzX2RldiwgYnJpZGdl KTsKIH0KIAotc3RhdGljIGludCB0aGM2M19hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZSkKK3N0YXRpYyBpbnQgdGhjNjNfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsIGJv b2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgdGhjNjNfZGV2ICp0aGM2MyA9IHRvX3Ro YzYzKGJyaWRnZSk7CiAKLQlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVy LCB0aGM2My0+bmV4dCwgYnJpZGdlKTsKKwlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goYnJpZGdl LT5lbmNvZGVyLCB0aGM2My0+bmV4dCwgYnJpZGdlLAorCQkJCSBjcmVhdGVfY29ubmVjdG9yKTsK IH0KIAogc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHRoYzYzX21vZGVfdmFsaWQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv dGktc242NWRzaTg2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4Ni5jCmlu ZGV4IGI3N2E1MmQwNTA2MS4uZGJlMjY1ZjcxMTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3RpLXNuNjVkc2k4Ni5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGkt c242NWRzaTg2LmMKQEAgLTIyNCw3ICsyMjQsNyBAQCBzdGF0aWMgaW50IHRpX3NuX2JyaWRnZV9w YXJzZV9yZWd1bGF0b3JzKHN0cnVjdCB0aV9zbl9icmlkZ2UgKnBkYXRhKQogCQkJCSAgICAgICBw ZGF0YS0+c3VwcGxpZXMpOwogfQogCi1zdGF0aWMgaW50IHRpX3NuX2JyaWRnZV9hdHRhY2goc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgdGlfc25fYnJpZGdlX2F0dGFjaChz dHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLCBib29sIGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJaW50 IHJldCwgdmFsOwogCXN0cnVjdCB0aV9zbl9icmlkZ2UgKnBkYXRhID0gYnJpZGdlX3RvX3RpX3Nu X2JyaWRnZShicmlkZ2UpOwpAQCAtMjM1LDYgKzIzNSw5IEBAIHN0YXRpYyBpbnQgdGlfc25fYnJp ZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogCQkJCQkJICAgLm5vZGUgPSBO VUxMLAogCQkJCQkJIH07CiAKKwlpZiAoIWNyZWF0ZV9jb25uZWN0b3IpCisJCXJldHVybiAtRUlO VkFMOworCiAJcmV0ID0gZHJtX2Nvbm5lY3Rvcl9pbml0KGJyaWRnZS0+ZGV2LCAmcGRhdGEtPmNv bm5lY3RvciwKIAkJCQkgJnRpX3NuX2JyaWRnZV9jb25uZWN0b3JfZnVuY3MsCiAJCQkJIERSTV9N T0RFX0NPTk5FQ1RPUl9lRFApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90 aS10ZnA0MTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktdGZwNDEwLmMKaW5kZXggNGU3 NmIyYjI3Mzc0Li44ZDQ2OTBlNDM2YzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlk Z2UvdGktdGZwNDEwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90aS10ZnA0MTAuYwpA QCAtMTIxLDExICsxMjEsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1 bmNzIHRmcDQxMF9jb25fZnVuY3MgPSB7CiAJLmF0b21pY19kZXN0cm95X3N0YXRlCT0gZHJtX2F0 b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUsCiB9OwogCi1zdGF0aWMgaW50IHRm cDQxMF9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgdGZwNDEw X2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLCBib29sIGNyZWF0ZV9jb25uZWN0b3Ip CiB7CiAJc3RydWN0IHRmcDQxMCAqZHZpID0gZHJtX2JyaWRnZV90b190ZnA0MTAoYnJpZGdlKTsK IAlpbnQgcmV0OwogCisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJTlZBTDsK KwogCWlmICghYnJpZGdlLT5lbmNvZGVyKSB7CiAJCWRldl9lcnIoZHZpLT5kZXYsICJNaXNzaW5n IGVuY29kZXJcbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYnJpZGdlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCmluZGV4IGNi YTUzN2M5OWU0My4uNTE5NTc3ZjM2M2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2JyaWRnZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMKQEAgLTk1LDYgKzk1 LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYnJpZGdlX3JlbW92ZSk7CiAgKiBAZW5jb2RlcjogRFJN IGVuY29kZXIKICAqIEBicmlkZ2U6IGJyaWRnZSB0byBhdHRhY2gKICAqIEBwcmV2aW91czogcHJl dmlvdXMgYnJpZGdlIGluIHRoZSBjaGFpbiAob3B0aW9uYWwpCisgKiBAY3JlYXRlX2Nvbm5lY3Rv cjogdHJ1ZSBpZiB0aGUgYnJpZGdlIHNob3VsZCBjcmVhdGUgYSBkcm1fY29ubmVjdG9yCiAgKgog ICogQ2FsbGVkIGJ5IGEga21zIGRyaXZlciB0byBsaW5rIHRoZSBicmlkZ2UgdG8gYW4gZW5jb2Rl cidzIGNoYWluLiBUaGUgcHJldmlvdXMKICAqIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgcHJldmlv dXMgYnJpZGdlIGluIHRoZSBjaGFpbi4gSWYgTlVMTCwgdGhlIGJyaWRnZSBpcwpAQCAtMTEyLDcg KzExMyw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2JyaWRnZV9yZW1vdmUpOwogICogWmVybyBvbiBz dWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKICAqLwogaW50IGRybV9icmlkZ2VfYXR0YWNo KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwK LQkJICAgICAgc3RydWN0IGRybV9icmlkZ2UgKnByZXZpb3VzKQorCQkgICAgICBzdHJ1Y3QgZHJt X2JyaWRnZSAqcHJldmlvdXMsIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlpbnQgcmV0Owog CkBAIC0xMjksNyArMTMwLDcgQEAgaW50IGRybV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAlicmlkZ2UtPmVuY29k ZXIgPSBlbmNvZGVyOwogCiAJaWYgKGJyaWRnZS0+ZnVuY3MtPmF0dGFjaCkgewotCQlyZXQgPSBi cmlkZ2UtPmZ1bmNzLT5hdHRhY2goYnJpZGdlKTsKKwkJcmV0ID0gYnJpZGdlLT5mdW5jcy0+YXR0 YWNoKGJyaWRnZSwgY3JlYXRlX2Nvbm5lY3Rvcik7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQlicmlk Z2UtPmRldiA9IE5VTEw7CiAJCQlicmlkZ2UtPmVuY29kZXIgPSBOVUxMOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9zaW1wbGVfa21zX2hlbHBlci5jCmluZGV4IGIxMTkxMGYxNGM0Ni4uYTM2N2VmMWU1MDgx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5jCkBAIC0yMjgsNyArMjI4 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgZHJtX3NpbXBsZV9rbXNf cGxhbmVfZnVuY3MgPSB7CiBpbnQgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfYXR0YWNoX2JyaWRn ZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCQkJCSAgc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSkKIHsKLQlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goJnBpcGUtPmVu Y29kZXIsIGJyaWRnZSwgTlVMTCk7CisJcmV0dXJuIGRybV9icmlkZ2VfYXR0YWNoKCZwaXBlLT5l bmNvZGVyLCBicmlkZ2UsIE5VTEwsIHRydWUpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fc2ltcGxl X2Rpc3BsYXlfcGlwZV9hdHRhY2hfYnJpZGdlKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Rw LmMKaW5kZXggM2EwZjBiYThjNjNhLi4wMmI5OGU2Y2E1MmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHAuYwpAQCAtMTA1LDcgKzEwNSw4IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RwX2JyaWRn ZV9hdHRhY2goc3RydWN0IGFuYWxvZ2l4X2RwX3BsYXRfZGF0YSAqcGxhdF9kYXRhLAogCiAJLyog UHJlLWVtcHQgRFAgY29ubmVjdG9yIGNyZWF0aW9uIGlmIHRoZXJlJ3MgYSBicmlkZ2UgKi8KIAlp ZiAoZHAtPnB0bl9icmlkZ2UpIHsKLQkJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRwLT5lbmNv ZGVyLCBkcC0+cHRuX2JyaWRnZSwgYnJpZGdlKTsKKwkJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2go JmRwLT5lbmNvZGVyLCBkcC0+cHRuX2JyaWRnZSwgYnJpZGdlLAorCQkJCQl0cnVlKTsKIAkJaWYg KHJldCkgewogCQkJRFJNX0RFVl9FUlJPUihkcC0+ZGV2LAogCQkJCSAgICAgICJGYWlsZWQgdG8g YXR0YWNoIGJyaWRnZSB0byBkcm1cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2RzaS5jCmluZGV4IDVmNmY1MjM4MjFhMi4uNzY4YWNjNzlkMTBjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCkBAIC0xNTIyLDcgKzE1MjIsNyBAQCBzdGF0aWMgaW50 IGV4eW5vc19kc2lfaG9zdF9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAKIAlv dXRfYnJpZGdlICA9IG9mX2RybV9maW5kX2JyaWRnZShkZXZpY2UtPmRldi5vZl9ub2RlKTsKIAlp ZiAob3V0X2JyaWRnZSkgewotCQlkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBvdXRfYnJpZGdl LCBOVUxMKTsKKwkJZHJtX2JyaWRnZV9hdHRhY2goZW5jb2Rlciwgb3V0X2JyaWRnZSwgTlVMTCwg dHJ1ZSk7CiAJCWRzaS0+b3V0X2JyaWRnZSA9IG91dF9icmlkZ2U7CiAJCWVuY29kZXItPmJyaWRn ZSA9IE5VTEw7CiAJfSBlbHNlIHsKQEAgLTE2OTgsNyArMTY5OCw3IEBAIHN0YXRpYyBpbnQgZXh5 bm9zX2RzaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAog CWlmIChkc2ktPmluX2JyaWRnZV9ub2RlKSB7CiAJCWluX2JyaWRnZSA9IG9mX2RybV9maW5kX2Jy aWRnZShkc2ktPmluX2JyaWRnZV9ub2RlKTsKIAkJaWYgKGluX2JyaWRnZSkKLQkJCWRybV9icmlk Z2VfYXR0YWNoKGVuY29kZXIsIGluX2JyaWRnZSwgTlVMTCk7CisJCQlkcm1fYnJpZGdlX2F0dGFj aChlbmNvZGVyLCBpbl9icmlkZ2UsIE5VTEwsIHRydWUpOwogCX0KIAogCXJldHVybiBtaXBpX2Rz aV9ob3N0X3JlZ2lzdGVyKCZkc2ktPmRzaV9ob3N0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2hkbWkuYwppbmRleCBiYzE1NjVmMTgyMmEuLjgwOGM5ODEwMWQ1NiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2hkbWkuYwpAQCAtOTUyLDcgKzk1Miw3IEBAIHN0YXRpYyBpbnQgaGRtaV9j cmVhdGVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAlkcm1fY29ubmVj dG9yX2F0dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgZW5jb2Rlcik7CiAKIAlpZiAoaGRhdGEtPmJy aWRnZSkgewotCQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBoZGF0YS0+YnJpZGdl LCBOVUxMKTsKKwkJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2RlciwgaGRhdGEtPmJyaWRn ZSwgTlVMTCwgdHJ1ZSk7CiAJCWlmIChyZXQpCiAJCQlEUk1fREVWX0VSUk9SKGhkYXRhLT5kZXYs ICJGYWlsZWQgdG8gYXR0YWNoIGJyaWRnZVxuIik7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRj dS9mc2xfZGN1X2RybV9yZ2IuYwppbmRleCBjNDllOWUzNzQwZjguLjhkMjI2MThjY2YyZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMKQEAgLTE1OSw1ICsxNTks NSBAQCBpbnQgZnNsX2RjdV9jcmVhdGVfb3V0cHV0cyhzdHJ1Y3QgZnNsX2RjdV9kcm1fZGV2aWNl ICpmc2xfZGV2KQogCQlyZXR1cm4gZnNsX2RjdV9hdHRhY2hfcGFuZWwoZnNsX2RldiwgcGFuZWwp OwogCX0KIAotCXJldHVybiBkcm1fYnJpZGdlX2F0dGFjaCgmZnNsX2Rldi0+ZW5jb2RlciwgYnJp ZGdlLCBOVUxMKTsKKwlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goJmZzbF9kZXYtPmVuY29kZXIs IGJyaWRnZSwgTlVMTCwgdHJ1ZSk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlz aWxpY29uL2tpcmluL2R3X2RybV9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2ly aW4vZHdfZHJtX2RzaS5jCmluZGV4IDNkNmM0NTA5N2Y1MS4uZWFjOGVjMTUxMmFiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2R3X2RybV9kc2kuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2R3X2RybV9kc2kuYwpAQCAtNzgwLDcgKzc4 MCw3IEBAIHN0YXRpYyBpbnQgZHNpX2JyaWRnZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBkd19kc2kgKmRzaSkKIAlpbnQgcmV0OwogCiAJLyogYXNzb2NpYXRlIHRoZSBicmlk Z2UgdG8gZHNpIGVuY29kZXIgKi8KLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBi cmlkZ2UsIE5VTEwpOworCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwg TlVMTCwgdHJ1ZSk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBhdHRhY2gg ZXh0ZXJuYWwgYnJpZGdlXG4iKTsKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9k cnYuYwppbmRleCAzZDM2OGM0MzE4NWYuLjZiMmU2NDhiNmM0ZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRh OTk4eF9kcnYuYwpAQCAtMTM2NiwxMCArMTM2NiwxNCBAQCBzdGF0aWMgaW50IHRkYTk5OHhfY29u bmVjdG9yX2luaXQoc3RydWN0IHRkYTk5OHhfcHJpdiAqcHJpdiwKIAogLyogRFJNIGJyaWRnZSBm dW5jdGlvbnMgKi8KIAotc3RhdGljIGludCB0ZGE5OTh4X2JyaWRnZV9hdHRhY2goc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSkKK3N0YXRpYyBpbnQgdGRhOTk4eF9icmlkZ2VfYXR0YWNoKHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UsCisJCQkJIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlz dHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2ID0gYnJpZGdlX3RvX3RkYTk5OHhfcHJpdihicmlkZ2Up OwogCisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCXJldHVy biB0ZGE5OTh4X2Nvbm5lY3Rvcl9pbml0KHByaXYsIGJyaWRnZS0+ZGV2KTsKIH0KIApAQCAtMjAz Myw3ICsyMDM3LDcgQEAgc3RhdGljIGludCB0ZGE5OTh4X2VuY29kZXJfaW5pdChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAJaWYgKHJldCkKIAkJZ290byBlcnJf ZW5jb2RlcjsKIAotCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKCZwcml2LT5lbmNvZGVyLCAmcHJp di0+YnJpZGdlLCBOVUxMKTsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaCgmcHJpdi0+ZW5jb2Rl ciwgJnByaXYtPmJyaWRnZSwgTlVMTCwgdHJ1ZSk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfYnJp ZGdlOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCmluZGV4IDM4MzczMzMwMjI4MC4uODQ1ZWFkMjVhZGU3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1sZGIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaW14L2lteC1sZGIuYwpAQCAtNDQ2LDcgKzQ0Niw3IEBAIHN0YXRpYyBpbnQgaW14 X2xkYl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAogCiAJaWYgKGlteF9sZGJfY2gt PmJyaWRnZSkgewogCQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaCgmaW14X2xkYl9jaC0+ZW5jb2Rl ciwKLQkJCQkJaW14X2xkYl9jaC0+YnJpZGdlLCBOVUxMKTsKKwkJCQkJaW14X2xkYl9jaC0+YnJp ZGdlLCBOVUxMLCB0cnVlKTsKIAkJaWYgKHJldCkgewogCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8g aW5pdGlhbGl6ZSBicmlkZ2Ugd2l0aCBkcm1cbiIpOwogCQkJcmV0dXJuIHJldDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKaW5kZXggMWE3NmRlMWU4ZTdiLi5jZDc0NjU5MmQy YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jCkBAIC0xODIsNyArMTgy LDcgQEAgc3RhdGljIGludCBpbXhfcGRfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRybSwK IAkJZHJtX3BhbmVsX2F0dGFjaChpbXhwZC0+cGFuZWwsICZpbXhwZC0+Y29ubmVjdG9yKTsKIAog CWlmIChpbXhwZC0+YnJpZGdlKSB7Ci0JCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIs IGlteHBkLT5icmlkZ2UsIE5VTEwpOworCQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVy LCBpbXhwZC0+YnJpZGdlLCBOVUxMLCB0cnVlKTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCWRldl9l cnIoaW14cGQtPmRldiwgImZhaWxlZCB0byBhdHRhY2ggYnJpZGdlOiAlZFxuIiwKIAkJCQlyZXQp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21jZGUvbWNkZV9kc2kuYyBiL2RyaXZlcnMv Z3B1L2RybS9tY2RlL21jZGVfZHNpLmMKaW5kZXggMDdmNzA5MGQwOGIzLi5mMmRlYWRjOTgwZjgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVfZHNpLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21jZGUvbWNkZV9kc2kuYwpAQCAtODE3LDEyICs4MTcsMTYgQEAgbWNkZV9kc2lf Y29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKIAkuZ2V0X21vZGVzID0gbWNkZV9kc2lfZ2V0X21v ZGVzLAogfTsKIAotc3RhdGljIGludCBtY2RlX2RzaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UpCitzdGF0aWMgaW50IG1jZGVfZHNpX2JyaWRnZV9hdHRhY2goc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKKwkJCQkgIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlz dHJ1Y3QgbWNkZV9kc2kgKmQgPSBicmlkZ2VfdG9fbWNkZV9kc2koYnJpZGdlKTsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtID0gYnJpZGdlLT5kZXY7CiAJaW50IHJldDsKIAorCWlmICghY3JlYXRl X2Nvbm5lY3RvcikKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlkcm1fY29ubmVjdG9yX2hlbHBlcl9h ZGQoJmQtPmNvbm5lY3RvciwKIAkJCQkgJm1jZGVfZHNpX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3Mp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwppbmRleCBiYWNkOTg5Y2M5YWEuLjFmZjI3 YmIxNzAxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCkBAIC02MDQsNyArNjA0LDcg QEAgc3RhdGljIGludCBtdGtfZHBpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2 aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJLyogQ3VycmVudGx5IERQSTAgaXMgZml4ZWQgdG8g YmUgZHJpdmVuIGJ5IE9WTDEgKi8KIAlkcGktPmVuY29kZXIucG9zc2libGVfY3J0Y3MgPSBCSVQo MSk7CiAKLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaCgmZHBpLT5lbmNvZGVyLCBkcGktPmJyaWRn ZSwgTlVMTCk7CisJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRwaS0+ZW5jb2RlciwgZHBpLT5i cmlkZ2UsIE5VTEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJZGV2X2VycihkZXYsICJGYWlsZWQg dG8gYXR0YWNoIGJyaWRnZTogJWRcbiIsIHJldCk7CiAJCWdvdG8gZXJyX2NsZWFudXA7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kc2kuYwppbmRleCBiOTFjNDYxNjY0NGEuLjljNWJhYzQ4YjQ0ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCkBAIC04MTksNyArODE5LDcgQEAgc3RhdGlj IGludCBtdGtfZHNpX2NyZWF0ZV9jb25uX2VuYyhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1 Y3QgbXRrX2RzaSAqZHNpKQogCiAJLyogSWYgdGhlcmUncyBhIGJyaWRnZSwgYXR0YWNoIHRvIGl0 IGFuZCBsZXQgaXQgY3JlYXRlIHRoZSBjb25uZWN0b3IgKi8KIAlpZiAoZHNpLT5icmlkZ2UpIHsK LQkJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRzaS0+ZW5jb2RlciwgZHNpLT5icmlkZ2UsIE5V TEwpOworCQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaCgmZHNpLT5lbmNvZGVyLCBkc2ktPmJyaWRn ZSwgTlVMTCwgdHJ1ZSk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGF0 dGFjaCBicmlkZ2UgdG8gZHJtXG4iKTsKIAkJCWdvdG8gZXJyX2VuY29kZXJfY2xlYW51cDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKaW5kZXggNWQ2YTlmMDk0ZGY1Li5kMzI0OGE4ODFj ZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCkBAIC0xMjkwLDExICsxMjkwLDE1 IEBAIHN0YXRpYyB2b2lkIG10a19oZG1pX2hwZF9ldmVudChib29sIGhwZCwgc3RydWN0IGRldmlj ZSAqZGV2KQogICogQnJpZGdlIGNhbGxiYWNrcwogICovCiAKLXN0YXRpYyBpbnQgbXRrX2hkbWlf YnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQorc3RhdGljIGludCBtdGtf aGRtaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCisJCQkJICBib29s IGNyZWF0ZV9jb25uZWN0b3IpCiB7CiAJc3RydWN0IG10a19oZG1pICpoZG1pID0gaGRtaV9jdHhf ZnJvbV9icmlkZ2UoYnJpZGdlKTsKIAlpbnQgcmV0OwogCisJaWYgKCFjcmVhdGVfY29ubmVjdG9y KQorCQlyZXR1cm4gLUVJTlZBTDsKKwogCXJldCA9IGRybV9jb25uZWN0b3JfaW5pdChicmlkZ2Ut PmVuY29kZXItPmRldiwgJmhkbWktPmNvbm4sCiAJCQkJICZtdGtfaGRtaV9jb25uZWN0b3JfZnVu Y3MsCiAJCQkJIERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQSk7CkBAIC0xMzE4LDcgKzEzMjIsNyBA QCBzdGF0aWMgaW50IG10a19oZG1pX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJy aWRnZSkKIAogCWlmIChoZG1pLT5uZXh0X2JyaWRnZSkgewogCQlyZXQgPSBkcm1fYnJpZGdlX2F0 dGFjaChicmlkZ2UtPmVuY29kZXIsIGhkbWktPm5leHRfYnJpZGdlLAotCQkJCQlicmlkZ2UpOwor CQkJCQlicmlkZ2UsIGNyZWF0ZV9jb25uZWN0b3IpOwogCQlpZiAocmV0KSB7CiAJCQlkZXZfZXJy KGhkbWktPmRldiwKIAkJCQkiRmFpbGVkIHRvIGF0dGFjaCBleHRlcm5hbCBicmlkZ2U6ICVkXG4i LCByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKaW5kZXggMjcxYWE3YmJj YTkyLi5jYTczMzA4NjA0MWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2Rz aV9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwpA QCAtNjY0LDcgKzY2NCw3IEBAIHN0cnVjdCBkcm1fYnJpZGdlICptc21fZHNpX21hbmFnZXJfYnJp ZGdlX2luaXQodTggaWQpCiAJYnJpZGdlID0gJmRzaV9icmlkZ2UtPmJhc2U7CiAJYnJpZGdlLT5m dW5jcyA9ICZkc2lfbWdyX2JyaWRnZV9mdW5jczsKIAotCXJldCA9IGRybV9icmlkZ2VfYXR0YWNo KGVuY29kZXIsIGJyaWRnZSwgTlVMTCk7CisJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2Rl ciwgYnJpZGdlLCBOVUxMLCB0cnVlKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKQEAgLTY5 Myw3ICs2OTMsNyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbXNtX2RzaV9tYW5hZ2VyX2V4dF9i cmlkZ2VfaW5pdCh1OCBpZCkKIAllbmNvZGVyID0gbXNtX2RzaS0+ZW5jb2RlcjsKIAogCS8qIGxp bmsgdGhlIGludGVybmFsIGRzaSBicmlkZ2UgdG8gdGhlIGV4dGVybmFsIGJyaWRnZSAqLwotCWRy bV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGV4dF9icmlkZ2UsIGludF9icmlkZ2UpOworCWRybV9i cmlkZ2VfYXR0YWNoKGVuY29kZXIsIGV4dF9icmlkZ2UsIGludF9icmlkZ2UsIHRydWUpOwogCiAJ LyoKIAkgKiB3ZSBuZWVkIHRoZSBkcm1fY29ubmVjdG9yIGNyZWF0ZWQgYnkgdGhlIGV4dGVybmFs IGJyaWRnZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jCmluZGV4IDI5NTBiYmE0YWNh OS4uMzJhNDYzYzg0Y2MxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2VkcC9lZHBf YnJpZGdlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jCkBAIC05 MSw3ICs5MSw3IEBAIHN0cnVjdCBkcm1fYnJpZGdlICptc21fZWRwX2JyaWRnZV9pbml0KHN0cnVj dCBtc21fZWRwICplZHApCiAJYnJpZGdlID0gJmVkcF9icmlkZ2UtPmJhc2U7CiAJYnJpZGdlLT5m dW5jcyA9ICZlZHBfYnJpZGdlX2Z1bmNzOwogCi0JcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZWRw LT5lbmNvZGVyLCBicmlkZ2UsIE5VTEwpOworCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVkcC0+ ZW5jb2RlciwgYnJpZGdlLCBOVUxMLCB0cnVlKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfYnJpZGdlLmMKaW5kZXggMDMxOTdiODk1OWJhLi5k NzczOGFhZmNmZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2Jy aWRnZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jCkBAIC0y OTYsNyArMjk2LDcgQEAgc3RydWN0IGRybV9icmlkZ2UgKm1zbV9oZG1pX2JyaWRnZV9pbml0KHN0 cnVjdCBoZG1pICpoZG1pKQogCWJyaWRnZSA9ICZoZG1pX2JyaWRnZS0+YmFzZTsKIAlicmlkZ2Ut PmZ1bmNzID0gJm1zbV9oZG1pX2JyaWRnZV9mdW5jczsKIAotCXJldCA9IGRybV9icmlkZ2VfYXR0 YWNoKGhkbWktPmVuY29kZXIsIGJyaWRnZSwgTlVMTCk7CisJcmV0ID0gZHJtX2JyaWRnZV9hdHRh Y2goaGRtaS0+ZW5jb2RlciwgYnJpZGdlLCBOVUxMLCB0cnVlKTsKIAlpZiAocmV0KQogCQlnb3Rv IGZhaWw7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCmluZGV4IDY3MmUwZjhhZDExYy4u ODM3ZDBjZDIwZGQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ry di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKQEAgLTMwMSw3ICsz MDEsOCBAQCBzdGF0aWMgaW50IG9tYXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAKIAkJaWYgKHBpcGUtPm91dHB1dC0+YnJpZGdlKSB7CiAJCQlyZXQgPSBkcm1fYnJpZGdl X2F0dGFjaChwaXBlLT5lbmNvZGVyLAotCQkJCQkJcGlwZS0+b3V0cHV0LT5icmlkZ2UsIE5VTEwp OworCQkJCQkJcGlwZS0+b3V0cHV0LT5icmlkZ2UsIE5VTEwsCisJCQkJCQl0cnVlKTsKIAkJCWlm IChyZXQgPCAwKQogCQkJCXJldHVybiByZXQ7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUv cmNhcl9kdV9lbmNvZGVyLmMKaW5kZXggMGYwMGJkZmUyMzY2Li43NGMyYWU1Y2U2ODcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZW5jb2Rlci5jCkBAIC0xMjAsNyArMTIwLDcg QEAgaW50IHJjYXJfZHVfZW5jb2Rlcl9pbml0KHN0cnVjdCByY2FyX2R1X2RldmljZSAqcmNkdSwK IAkgKiBBdHRhY2ggdGhlIGJyaWRnZSB0byB0aGUgZW5jb2Rlci4gVGhlIGJyaWRnZSB3aWxsIGNy ZWF0ZSB0aGUKIAkgKiBjb25uZWN0b3IuCiAJICovCi0JcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2go ZW5jb2RlciwgYnJpZGdlLCBOVUxMKTsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVy LCBicmlkZ2UsIE5VTEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJZHJtX2VuY29kZXJfY2xlYW51 cChlbmNvZGVyKTsKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y Y2FyLWR1L3JjYXJfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMK aW5kZXggMWM2MjU3ODU5MGY0Li5hOGQ4YjA1YzQ3MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3Jj YXJfbHZkcy5jCkBAIC02MDUsNyArNjA1LDcgQEAgc3RhdGljIHZvaWQgcmNhcl9sdmRzX21vZGVf c2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiAJcmNhcl9sdmRzX2dldF9sdmRzX21vZGUo bHZkcyk7CiB9CiAKLXN0YXRpYyBpbnQgcmNhcl9sdmRzX2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKQorc3RhdGljIGludCByY2FyX2x2ZHNfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsIGJvb2wgY3JlYXRlX2Nvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgcmNhcl9sdmRzICps dmRzID0gYnJpZGdlX3RvX3JjYXJfbHZkcyhicmlkZ2UpOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IgPSAmbHZkcy0+Y29ubmVjdG9yOwpAQCAtNjE1LDcgKzYxNSwxMCBAQCBzdGF0 aWMgaW50IHJjYXJfbHZkc19hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAkvKiBJ ZiB3ZSBoYXZlIGEgbmV4dCBicmlkZ2UganVzdCBhdHRhY2ggaXQuICovCiAJaWYgKGx2ZHMtPm5l eHRfYnJpZGdlKQogCQlyZXR1cm4gZHJtX2JyaWRnZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVyLCBs dmRzLT5uZXh0X2JyaWRnZSwKLQkJCQkJIGJyaWRnZSk7CisJCQkJCSBicmlkZ2UsIGNyZWF0ZV9j b25uZWN0b3IpOworCisJaWYgKCFjcmVhdGVfY29ubmVjdG9yKQorCQlyZXR1cm4gLUVJTlZBTDsK IAogCS8qIE90aGVyd2lzZSBpZiB3ZSBoYXZlIGEgcGFuZWwsIGNyZWF0ZSBhIGNvbm5lY3Rvci4g Ki8KIAlpZiAoIWx2ZHMtPnBhbmVsKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9s dmRzLmMKaW5kZXggODMwODU4YTgwOWU1Li43Y2E0MTJkMjk0YjIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2x2ZHMuYwpAQCAtNDQwLDcgKzQ0MCw3IEBAIHN0YXRpYyBpbnQg cm9ja2NoaXBfbHZkc19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFz dGVyLAogCQkJZ290byBlcnJfZnJlZV9jb25uZWN0b3I7CiAJCX0KIAl9IGVsc2UgewotCQlyZXQg PSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBsdmRzLT5icmlkZ2UsIE5VTEwpOworCQlyZXQg PSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBsdmRzLT5icmlkZ2UsIE5VTEwsIHRydWUpOwog CQlpZiAocmV0KSB7CiAJCQlEUk1fREVWX0VSUk9SKGRybV9kZXYtPmRldiwKIAkJCQkgICAgICAi ZmFpbGVkIHRvIGF0dGFjaCBicmlkZ2U6ICVkXG4iLCByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3JnYi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX3JnYi5jCmluZGV4IGNlNGQ4MmQyOTNlNC4uODIxOGJiZDA5YTcyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfcmdiLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3JnYi5jCkBAIC0xNDMsNyArMTQzLDcgQEAg c3RydWN0IHJvY2tjaGlwX3JnYiAqcm9ja2NoaXBfcmdiX2luaXQoc3RydWN0IGRldmljZSAqZGV2 LAogCiAJcmdiLT5icmlkZ2UgPSBicmlkZ2U7CiAKLQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChl bmNvZGVyLCByZ2ItPmJyaWRnZSwgTlVMTCk7CisJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5j b2RlciwgcmdiLT5icmlkZ2UsIE5VTEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9F UlJPUihkcm1fZGV2LT5kZXYsCiAJCQkgICAgICAiZmFpbGVkIHRvIGF0dGFjaCBicmlkZ2U6ICVk XG4iLCByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMgYi9k cml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYwppbmRleCA5ZTZkNWQ4YjcwMzAuLmYwOTIwOTYy MTU2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMKQEAgLTQ2OCw3ICs0NjgsNyBAQCBzdGF0aWMgaW50 IHN0aV9kdm9fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwg dm9pZCAqZGF0YSkKIAlicmlkZ2UtPm9mX25vZGUgPSBkdm8tPmRldi5vZl9ub2RlOwogCWRybV9i cmlkZ2VfYWRkKGJyaWRnZSk7CiAKLQllcnIgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBi cmlkZ2UsIE5VTEwpOworCWVyciA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwg TlVMTCwgdHJ1ZSk7CiAJaWYgKGVycikgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhdHRhY2gg YnJpZGdlXG4iKTsKIAkJcmV0dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2hkYS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRhLmMKaW5kZXggOTRlNDA0 ZjEzMjM0Li44N2UwZmI3NDJkYzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2hkYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jCkBAIC03MDAsNyArNzAw LDcgQEAgc3RhdGljIGludCBzdGlfaGRhX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg ZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAKIAlicmlkZ2UtPmRyaXZlcl9wcml2YXRlID0g aGRhOwogCWJyaWRnZS0+ZnVuY3MgPSAmc3RpX2hkYV9icmlkZ2VfZnVuY3M7Ci0JZHJtX2JyaWRn ZV9hdHRhY2goZW5jb2RlciwgYnJpZGdlLCBOVUxMKTsKKwlkcm1fYnJpZGdlX2F0dGFjaChlbmNv ZGVyLCBicmlkZ2UsIE5VTEwsIHRydWUpOwogCiAJY29ubmVjdG9yLT5lbmNvZGVyID0gZW5jb2Rl cjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCmluZGV4IGYwM2Q2MTdlZGM0Yy4uOGMwZmZlNjgzM2Y5 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCkBAIC0xMjc2LDcgKzEyNzYsNyBAQCBzdGF0aWMgaW50 IHN0aV9oZG1pX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIs IHZvaWQgKmRhdGEpCiAKIAlicmlkZ2UtPmRyaXZlcl9wcml2YXRlID0gaGRtaTsKIAlicmlkZ2Ut PmZ1bmNzID0gJnN0aV9oZG1pX2JyaWRnZV9mdW5jczsKLQlkcm1fYnJpZGdlX2F0dGFjaChlbmNv ZGVyLCBicmlkZ2UsIE5VTEwpOworCWRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwg TlVMTCwgdHJ1ZSk7CiAKIAljb25uZWN0b3ItPmVuY29kZXIgPSBlbmNvZGVyOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRk Yy5jCmluZGV4IDJmZTZjNGE4ZDkxNS4uMTBhOWY4NDhjNWY2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vc3RtL2x0ZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYwpAQCAt MTA1Myw3ICsxMDUzLDcgQEAgc3RhdGljIGludCBsdGRjX2VuY29kZXJfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGRldiwgc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAlkcm1fZW5jb2Rlcl9p bml0KGRkZXYsIGVuY29kZXIsICZsdGRjX2VuY29kZXJfZnVuY3MsCiAJCQkgRFJNX01PREVfRU5D T0RFUl9EUEksIE5VTEwpOwogCi0JcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2RlciwgYnJp ZGdlLCBOVUxMKTsKKwlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCBicmlkZ2UsIE5V TEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsK IAkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu NGlfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYwppbmRleCAzYTNi YTk5ZmVkMjIuLjNlNTE3MGZhMWU2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRp L3N1bjRpX2x2ZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbHZkcy5jCkBA IC0xNTUsNyArMTU1LDcgQEAgaW50IHN1bjRpX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLCBzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbikKIAl9CiAKIAlpZiAoYnJpZGdlKSB7Ci0JCXJl dCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwgTlVMTCk7CisJCXJldCA9IGRy bV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwgTlVMTCwgdHJ1ZSk7CiAJCWlmIChyZXQp IHsKIAkJCWRldl9lcnIoZHJtLT5kZXYsICJDb3VsZG4ndCBhdHRhY2ggb3VyIGJyaWRnZVxuIik7 CiAJCQlnb3RvIGVycl9jbGVhbnVwX2Nvbm5lY3RvcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9zdW40aS9zdW40aV9yZ2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9yZ2Iu YwppbmRleCBhOTAxZWM2ODliNjIuLjNmODYyOTQ0NWZiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjRpX3JnYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40 aV9yZ2IuYwpAQCAtMjUyLDcgKzI1Miw3IEBAIGludCBzdW40aV9yZ2JfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZHJtLCBzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbikKIAl9CiAKIAlpZiAocmdiLT5i cmlkZ2UpIHsKLQkJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2RlciwgcmdiLT5icmlkZ2Us IE5VTEwpOworCQlyZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVyLCByZ2ItPmJyaWRnZSwg TlVMTCwgdHJ1ZSk7CiAJCWlmIChyZXQpIHsKIAkJCWRldl9lcnIoZHJtLT5kZXYsICJDb3VsZG4n dCBhdHRhY2ggb3VyIGJyaWRnZVxuIik7CiAJCQlnb3RvIGVycl9jbGVhbnVwX2Nvbm5lY3RvcjsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2V4dGVybmFsLmMgYi9k cml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNkY19leHRlcm5hbC5jCmluZGV4IGU5OTY5Y2QzNjYx MC4uZWM2OTNjMTFlNDU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlsY2RjL3RpbGNk Y19leHRlcm5hbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2V4dGVybmFs LmMKQEAgLTE2OCw3ICsxNjgsNyBAQCBpbnQgdGlsY2RjX2F0dGFjaF9icmlkZ2Uoc3RydWN0IGRy bV9kZXZpY2UgKmRkZXYsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCiAKIAlwcml2LT5leHRl cm5hbF9lbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9IEJJVCgwKTsKIAotCXJldCA9IGRybV9icmlk Z2VfYXR0YWNoKHByaXYtPmV4dGVybmFsX2VuY29kZXIsIGJyaWRnZSwgTlVMTCk7CisJcmV0ID0g ZHJtX2JyaWRnZV9hdHRhY2gocHJpdi0+ZXh0ZXJuYWxfZW5jb2RlciwgYnJpZGdlLCBOVUxMLCB0 cnVlKTsKIAlpZiAocmV0KSB7CiAJCWRldl9lcnIoZGRldi0+ZGV2LCAiZHJtX2JyaWRnZV9hdHRh Y2goKSBmYWlsZWQgJWRcbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RwaS5j CmluZGV4IDM0ZjkwY2E4ZjQ3OS4uMmQ3YzVjZjBkNDY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9kcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcGkuYwpA QCAtMjYyLDcgKzI2Miw3IEBAIHN0YXRpYyBpbnQgdmM0X2RwaV9pbml0X2JyaWRnZShzdHJ1Y3Qg dmM0X2RwaSAqZHBpKQogCWlmIChwYW5lbCkKIAkJYnJpZGdlID0gZHJtX3BhbmVsX2JyaWRnZV9h ZGQocGFuZWwsIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwogCi0JcmV0dXJuIGRybV9icmlkZ2Vf YXR0YWNoKGRwaS0+ZW5jb2RlciwgYnJpZGdlLCBOVUxMKTsKKwlyZXR1cm4gZHJtX2JyaWRnZV9h dHRhY2goZHBpLT5lbmNvZGVyLCBicmlkZ2UsIE5VTEwsIHRydWUpOwogfQogCiBzdGF0aWMgaW50 IHZjNF9kcGlfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwg dm9pZCAqZGF0YSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jIGIv ZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHNpLmMKaW5kZXggMmVhNGUyMGI3YjhhLi4zZWRkN2Zm YzczODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCkBAIC0xNjA3LDcgKzE2MDcsNyBAQCBzdGF0aWMg aW50IHZjNF9kc2lfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rl ciwgdm9pZCAqZGF0YSkKIAkJCSBEUk1fTU9ERV9FTkNPREVSX0RTSSwgTlVMTCk7CiAJZHJtX2Vu Y29kZXJfaGVscGVyX2FkZChkc2ktPmVuY29kZXIsICZ2YzRfZHNpX2VuY29kZXJfaGVscGVyX2Z1 bmNzKTsKIAotCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGRzaS0+ZW5jb2RlciwgZHNpLT5icmlk Z2UsIE5VTEwpOworCXJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGRzaS0+ZW5jb2RlciwgZHNpLT5i cmlkZ2UsIE5VTEwsIHRydWUpOwogCWlmIChyZXQpIHsKIAkJZGV2X2VycihkZXYsICJicmlkZ2Ug YXR0YWNoIGZhaWxlZDogJWRcbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fYnJpZGdlLmggYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKaW5kZXgg NzYxNmY2NTYyZmU0Li4wOGRjMTVmOTNkZWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9i cmlkZ2UuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKQEAgLTQ4LDcgKzQ4LDcgQEAg c3RydWN0IGRybV9icmlkZ2VfZnVuY3MgewogCSAqCiAJICogWmVybyBvbiBzdWNjZXNzLCBlcnJv ciBjb2RlIG9uIGZhaWx1cmUuCiAJICovCi0JaW50ICgqYXR0YWNoKShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKTsKKwlpbnQgKCphdHRhY2gpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsIGJv b2wgY3JlYXRlX2Nvbm5lY3Rvcik7CiAKIAkvKioKIAkgKiBAZGV0YWNoOgpAQCAtNDA0LDcgKzQw NCw3IEBAIHZvaWQgZHJtX2JyaWRnZV9hZGQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7CiB2 b2lkIGRybV9icmlkZ2VfcmVtb3ZlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwogc3RydWN0 IGRybV9icmlkZ2UgKm9mX2RybV9maW5kX2JyaWRnZShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKTsK IGludCBkcm1fYnJpZGdlX2F0dGFjaChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UsCi0JCSAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpwcmV2aW91 cyk7CisJCSAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpwcmV2aW91cywgYm9vbCBjcmVhdGVfY29u bmVjdG9yKTsKIAogYm9vbCBkcm1fYnJpZGdlX21vZGVfZml4dXAoc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSwKIAkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAotLSAK UmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbA==