From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 1/4] drm/edid: Pass connector to AVI inforframe functions Date: Tue, 20 Nov 2018 18:13:42 +0200 Message-ID: <20181120161345.15440-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: =?UTF-8?q?Heiko=20St=C3=BCbner?= , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Andrzej Hajda , Thierry Reding , Laurent Pinchart , Benjamin Gaignard , "David (ChunMing) Zhou" , Archit Taneja , Joonyoung Shim , Russell King , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Tomi Valkeinen , Ben Skeggs , CK Hu , Ilia Mirkin , Rob Clark , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Inki Dae , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Vincent Abriou , Eric Anholt , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2UgbGlmZSBlYXNpZXIgZm9yIGRyaXZlcnMgYnkgc2ltcGx5IHBhc3NpbmcgdGhlIGNvbm5lY3Rv cgp0byBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCkgYW5kCmRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoKS4gVGhhdCB3YXkgZHJpdmVycyBkb24ndApu ZWVkIHRvIHdvcnJ5IGFib3V0IGlzX2hkbWkyX3NpbmsgbWVzcy4KCkNjOiBBbGV4IERldWNoZXIg PGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiAiQ2hyaXN0aWFuIEvDtm5pZyIgPGNocmlz dGlhbi5rb2VuaWdAYW1kLmNvbT4KQ2M6ICJEYXZpZCAoQ2h1bk1pbmcpIFpob3UiIDxEYXZpZDEu WmhvdUBhbWQuY29tPgpDYzogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4K Q2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+CkNjOiBMYXVyZW50IFBpbmNo YXJ0IDxMYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+CkNjOiBJbmtpIERhZSA8aW5r aS5kYWVAc2Ftc3VuZy5jb20+CkNjOiBKb29ueW91bmcgU2hpbSA8ankwOTIyLnNoaW1Ac2Ftc3Vu Zy5jb20+CkNjOiBTZXVuZy1Xb28gS2ltIDxzdzAzMTIua2ltQHNhbXN1bmcuY29tPgpDYzogS3l1 bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1zdW5nLmNvbT4KQ2M6IFJ1c3NlbGwgS2luZyA8 bGludXhAYXJtbGludXgub3JnLnVrPgpDYzogQ0sgSHUgPGNrLmh1QG1lZGlhdGVrLmNvbT4KQ2M6 IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CkNjOiBSb2IgQ2xhcmsgPHJv YmRjbGFya0BnbWFpbC5jb20+CkNjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+CkNj OiBUb21pIFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGkuY29tPgpDYzogU2FuZHkgSHVhbmcg PGhqY0Byb2NrLWNoaXBzLmNvbT4KQ2M6ICJIZWlrbyBTdMO8Ym5lciIgPGhlaWtvQHNudGVjaC5k ZT4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgpD YzogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KQ2M6IFRoaWVycnkgUmVk aW5nIDx0aGllcnJ5LnJlZGluZ0BnbWFpbC5jb20+CkNjOiBFcmljIEFuaG9sdCA8ZXJpY0Bhbmhv bHQubmV0PgpDYzogU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwub3JnPgpDYzogSWxpYSBNaXJr aW4gPGltaXJraW5AYWx1bS5taXQuZWR1PgpDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKQ2M6IGxpbnV4LWFybS1tc21Admdlci5rZXJuZWwub3JnCkNjOiBmcmVlZHJlbm9AbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCkNjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogbGlu dXgtdGVncmFAdmdlci5rZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3YxMF8wLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3YxMV8wLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2 XzAuYyAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIHwg IDUgKystLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMgICAgICAgICAgfCAgMyAr Ky0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYyAgICAgIHwgIDMgKy0tCiBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyB8ICAzICsrLQogZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAgICAgICAgfCAzMyArKysrKysrKysrKysrKy0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jICAgICAgfCAgMyAr Ky0KIGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyAgICAgICAgIHwgIDMgKystCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgICAgICB8IDE0ICsrKysrLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jICAgICAgIHwgMTUgKysrKysrLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICAgICAgIHwgMTAgKysrKy0t LQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgICAgICAgfCAgMyArKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jICAgIHwgIDMgKystCiBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMgICB8ICA3ICsrKy0tCiBkcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyAgICB8ICA1ICsrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9pbm5vX2hkbWkuYyAgICAgIHwgIDQgKystCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9o ZG1pLmMgICAgICAgICAgICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hk bWlfZW5jLmMgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMgICAgICAg ICAgICAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgICAgICAgICAgICAg ICB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jICAgICAgICAgICAgfCAx MSArKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAgICAgICAgfCAg NCArKy0KIGluY2x1ZGUvZHJtL2RybV9lZGlkLmggICAgICAgICAgICAgICAgICAgIHwgIDggKysr LS0tCiAyNyBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCmluZGV4IDRjZmVjZGNlMjlhMy4u MWYwNDI2ZDJmYzJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djEwXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwpAQCAt MTY4Miw3ICsxNjgyLDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMF8wX2FmbXRfc2V0bW9kZShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNlX3YxMF8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdz KGVuY29kZXIpOwogCWRjZV92MTBfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVy LCBtb2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGNvbm5lY3RvciwgbW9kZSk7CiAJaWYgKGVyciA8IDAp IHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBl cnIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjExXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCmluZGV4 IDdjODY4OTE2ZDkwZi4uMjI4MGI5NzFkNzU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjExXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjExXzAuYwpAQCAtMTcyNCw3ICsxNzI0LDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2Fm bXRfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNlX3YxMV8wX2F1ZGlv X3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwogCWRjZV92MTFfMF9hdWRpb193cml0ZV9sYXRlbmN5 X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGNvbm5lY3RvciwgbW9kZSk7 CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9m cmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNl X3Y2XzAuYwppbmRleCAxN2VhYWJhMzYwMTcuLmRiNDQzZWM1M2QzYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjZfMC5jCkBAIC0xNDIzLDYgKzE0MjMsNyBAQCBzdGF0aWMgdm9pZCBk Y2VfdjZfMF9hdWRpb19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0 cnVjdCBhbWRncHVfZW5jb2RlciAqYW1kZ3B1X2VuY29kZXIgPSB0b19hbWRncHVfZW5jb2Rlcihl bmNvZGVyKTsKIAlzdHJ1Y3QgYW1kZ3B1X2VuY29kZXJfYXRvbV9kaWcgKmRpZyA9IGFtZGdwdV9l bmNvZGVyLT5lbmNfcHJpdjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gYW1k Z3B1X2dldF9jb25uZWN0b3JfZm9yX2VuY29kZXIoZW5jb2Rlcik7CiAJc3RydWN0IGhkbWlfYXZp X2luZm9mcmFtZSBmcmFtZTsKIAl1OCBidWZmZXJbSERNSV9JTkZPRlJBTUVfSEVBREVSX1NJWkUg KyBIRE1JX0FWSV9JTkZPRlJBTUVfU0laRV07CiAJdWludDhfdCAqcGF5bG9hZCA9IGJ1ZmZlciAr IDM7CkBAIC0xNDMwLDcgKzE0MzEsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9hdWRpb19zZXRf YXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJc3NpemVfdCBlcnI7 CiAJdTMyIHRtcDsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGNvbm5lY3RvciwgbW9kZSk7CiAJaWYgKGVyciA8 IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4i LCBlcnIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9kY2VfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwppbmRl eCA4YzA1NzY5NzhkMzYuLjEzZGE5MTU5OTFkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZGNlX3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjhfMC5jCkBAIC0xNjE2LDcgKzE2MTYsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjhfMF9hZm10 X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWRjZV92OF8wX2F1ZGlvX3dy aXRlX3NhZF9yZWdzKGVuY29kZXIpOwogCWRjZV92OF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmll bGRzKGVuY29kZXIsIG1vZGUpOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKKwllcnIgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgY29ubmVjdG9yLCBtb2RlKTsKIAlp ZiAoZXJyIDwgMCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1l OiAlemRcbiIsIGVycik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC1hbng3OHh4LmMKaW5kZXggZjg0MzNjOTNmNDYzLi5lMTEzMDllOWJjNGYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCkBAIC0xMDk0LDggKzEwOTQsOSBAQCBz dGF0aWMgdm9pZCBhbng3OHh4X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJp ZGdlLAogCiAJbXV0ZXhfbG9jaygmYW54Nzh4eC0+bG9jayk7CiAKLQllcnIgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRfbW9kZSwKLQkJ CQkJCSAgICAgICBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUsCisJCQkJCQkgICAgICAgJmFueDc4eHgtPmNvbm5lY3RvciwKKwkJ CQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKIAlpZiAoZXJyKSB7CiAJCURSTV9FUlJPUigiRmFp bGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwogCQlnb3RvIHVubG9jazsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKaW5kZXggYmZhOTAyMDEzYWE0Li5hOWI0ZjQ1YWU4N2Mg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jCkBAIC0yNTgsNyArMjU4LDggQEAgc3RhdGljIHZv aWQgc2lpOTAyeF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAlp ZiAocmV0KQogCQlyZXR1cm47CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqLCBmYWxzZSk7CisJcmV0ID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsCisJCQkJCQkgICAgICAgJnNpaTkwMngt PmNvbm5lY3RvciwgYWRqKTsKIAlpZiAocmV0IDwgMCkgewogCQlEUk1fRVJST1IoImNvdWxkbid0 IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc2lsLXNpaTg2MjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2ls LXNpaTg2MjAuYwppbmRleCBhNmU4ZjQ1OTFlNjMuLjBjYzI5M2E2YWMyNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWwtc2lpODYyMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc2lsLXNpaTg2MjAuYwpAQCAtMTEwNCw4ICsxMTA0LDcgQEAgc3RhdGljIHZvaWQg c2lpODYyMF9zZXRfaW5mb2ZyYW1lcyhzdHJ1Y3Qgc2lpODYyMCAqY3R4LAogCWludCByZXQ7CiAK IAlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcm0uYXZp LAotCQkJCQkJICAgICAgIG1vZGUsCi0JCQkJCQkgICAgICAgdHJ1ZSk7CisJCQkJCQkgICAgICAg TlVMTCwgbW9kZSk7CiAJaWYgKGN0eC0+dXNlX3BhY2tlZF9waXhlbCkKIAkJZnJtLmF2aS5jb2xv cnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQyMjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3N5bm9wc3lzL2R3LWhkbWkuYwppbmRleCA2NGMzY2YwMjc1MTguLjg4YjcyMGI2MzEyNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKQEAgLTEzNDQsNyArMTM0 NCw4IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29uZmlnX0FWSShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiAJdTggdmFsOwogCiAJLyogSW5pdGlhbGlz ZSBpbmZvIGZyYW1lIGZyb20gRFJNIG1vZGUgKi8KLQlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOworCWRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLAorCQkJCQkJICZoZG1pLT5jb25uZWN0b3Is IG1vZGUpOwogCiAJaWYgKGhkbWlfYnVzX2ZtdF9pc195dXY0NDQoaGRtaS0+aGRtaV9kYXRhLmVu Y19vdXRfYnVzX2Zvcm1hdCkpCiAJCWZyYW1lLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0Vf WVVWNDQ0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYwppbmRleCBiNTA2ZTM2MjJiMDguLjUwMWFjMDViYTdkYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9lZGlkLmMKQEAgLTQ4MzAsMTkgKzQ4MzAsMzIgQEAgdm9pZCBkcm1fc2V0X3ByZWZlcnJl ZF9tb2RlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiB9CiBFWFBPUlRfU1lNQk9M KGRybV9zZXRfcHJlZmVycmVkX21vZGUpOwogCitzdGF0aWMgYm9vbCBpc19oZG1pMl9zaW5rKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJLyoKKwkgKiBGSVhNRTogc2lsLXNp aTg2MjAgZG9lc24ndCBoYXZlIGEgY29ubmVjdG9yIGFyb3VuZCB3aGVuCisJICogd2UgbmVlZCBv bmUsIHNvIHdlIGhhdmUgdG8gYmUgcHJlcGFyZWQgZm9yIGEgTlVMTCBjb25uZWN0b3IuCisJICov CisJaWYgKCFjb25uZWN0b3IpCisJCXJldHVybiBmYWxzZTsKKworCXJldHVybiBjb25uZWN0b3It PmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkIHx8CisJCWNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLmNvbG9yX2Zvcm1hdHMgJiBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOworfQorCiAv KioKICAqIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoKSAtIGZpbGwg YW4gSERNSSBBVkkgaW5mb2ZyYW1lIHdpdGgKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGEgZnJvbSBhIERSTSBkaXNwbGF5IG1vZGUKICAqIEBmcmFt ZTogSERNSSBBVkkgaW5mb2ZyYW1lCisgKiBAY29ubmVjdG9yOiB0aGUgY29ubmVjdG9yCiAgKiBA bW9kZTogRFJNIGRpc3BsYXkgbW9kZQotICogQGlzX2hkbWkyX3Npbms6IFNpbmsgaXMgSERNSSAy LjAgY29tcGxpYW50CiAgKgogICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBl cnJvciBjb2RlIG9uIGZhaWx1cmUuCiAgKi8KIGludAogZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKLQkJCQkJ IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAotCQkJCQkgYm9vbCBpc19oZG1p Ml9zaW5rKQorCQkJCQkgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJIGNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewogCWVudW0gaGRtaV9waWN0dXJl X2FzcGVjdCBwaWN0dXJlX2FzcGVjdDsKIAlpbnQgZXJyOwpAQCAtNDg2NCw3ICs0ODc3LDcgQEAg ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlf aW5mb2ZyYW1lICpmcmFtZSwKIAkgKiBIRE1JIDIuMCBWSUMgcmFuZ2U6IDEgPD0gVklDIDw9IDEw NyAoQ0VBLTg2MS1GKS4gU28gd2UKIAkgKiBoYXZlIHRvIG1ha2Ugc3VyZSB3ZSBkb250IGJyZWFr IEhETUkgMS40IHNpbmtzLgogCSAqLwotCWlmICghaXNfaGRtaTJfc2luayAmJiBmcmFtZS0+dmlk ZW9fY29kZSA+IDY0KQorCWlmICghaXNfaGRtaTJfc2luayhjb25uZWN0b3IpICYmIGZyYW1lLT52 aWRlb19jb2RlID4gNjQpCiAJCWZyYW1lLT52aWRlb19jb2RlID0gMDsKIAogCS8qCkBAIC00OTIz LDIxICs0OTM2LDE3IEBAIEVYUE9SVF9TWU1CT0woZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSk7CiAgKiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCkg LSBmaWxsIHRoZSBIRE1JIEFWSSBpbmZvZnJhbWUKICAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHF1YW50aXphdGlvbiByYW5nZSBpbmZvcm1hdGlvbgogICogQGZyYW1l OiBIRE1JIEFWSSBpbmZvZnJhbWUKKyAqIEBjb25uZWN0b3I6IHRoZSBjb25uZWN0b3IKICAqIEBt b2RlOiBEUk0gZGlzcGxheSBtb2RlCiAgKiBAcmdiX3F1YW50X3JhbmdlOiBSR0IgcXVhbnRpemF0 aW9uIHJhbmdlIChRKQogICogQHJnYl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlOiBTaW5rIHN1cHBv cnQgc2VsZWN0YWJsZSBSR0IgcXVhbnRpemF0aW9uIHJhbmdlIChRUykKLSAqIEBpc19oZG1pMl9z aW5rOiBIRE1JIDIuMCBzaW5rLCB3aGljaCBoYXMgZGlmZmVyZW50IGRlZmF1bHQgcmVjb21tZW5k YXRpb25zCi0gKgotICogTm90ZSB0aGF0IEBpc19oZG1pMl9zaW5rIGNhbiBiZSBkZXJpdmVkIGJ5 IGxvb2tpbmcgYXQgdGhlCi0gKiAmZHJtX3NjZGMuc3VwcG9ydGVkIGZsYWcgc3RvcmVkIGluICZk cm1faGRtaV9pbmZvLnNjZGMsCi0gKiAmZHJtX2Rpc3BsYXlfaW5mby5oZG1pLCB3aGljaCBjYW4g YmUgZm91bmQgaW4gJmRybV9jb25uZWN0b3IuZGlzcGxheV9pbmZvLgogICovCiB2b2lkCiBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUg KmZyYW1lLAorCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCQkJICAg Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJCQkJICAgZW51bSBoZG1pX3F1 YW50aXphdGlvbl9yYW5nZSByZ2JfcXVhbnRfcmFuZ2UsCi0JCQkJICAgYm9vbCByZ2JfcXVhbnRf cmFuZ2Vfc2VsZWN0YWJsZSwKLQkJCQkgICBib29sIGlzX2hkbWkyX3NpbmspCisJCQkJICAgYm9v bCByZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJsZSkKIHsKIAkvKgogCSAqIENFQS04NjE6CkBAIC00 OTY4LDcgKzQ5NzcsNyBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKHN0cnVj dCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAogCSAqIHdlIGxpbWl0IG5vbi16ZXJvIFlRIHRv IEhETUkgMi4wIHNpbmtzIG9ubHkgYXMgSERNSSAyLjAgaXMgYmFzZWQKIAkgKiBvbiBvbiBDRUEt ODYxLUYuCiAJICovCi0JaWYgKCFpc19oZG1pMl9zaW5rIHx8CisJaWYgKCFpc19oZG1pMl9zaW5r KGNvbm5lY3RvcikgfHwKIAkgICAgcmdiX3F1YW50X3JhbmdlID09IEhETUlfUVVBTlRJWkFUSU9O X1JBTkdFX0xJTUlURUQpCiAJCWZyYW1lLT55Y2NfcXVhbnRpemF0aW9uX3JhbmdlID0KIAkJCUhE TUlfWUNDX1FVQU5USVpBVElPTl9SQU5HRV9MSU1JVEVEOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfaGRtaS5jCmluZGV4IDIwOTJhNjUwZGY3ZC4uYjg1N2RmNjdhZmYwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfaGRtaS5jCkBAIC04MTksNyArODE5LDggQEAgc3RhdGljIHZvaWQgaGRt aV9yZWdfaW5mb2ZyYW1lcyhzdHJ1Y3QgaGRtaV9jb250ZXh0ICpoZGF0YSkKIAkJcmV0dXJuOwog CX0KIAotCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZy bS5hdmksIG0sIGZhbHNlKTsKKwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcm0uYXZpLAorCQkJCQkJICAgICAgICZoZGF0YS0+Y29ubmVjdG9yLCBtKTsK IAlpZiAoIXJldCkKIAkJcmV0ID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3BhY2soJmZybS5hdmksIGJ1 Ziwgc2l6ZW9mKGJ1ZikpOwogCWlmIChyZXQgPiAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2 LmMKaW5kZXggYTdjMzlmMzk3OTNmLi4zOGM2NmZiYzgyNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5 OHhfZHJ2LmMKQEAgLTg0OSw3ICs4NDksOCBAQCB0ZGE5OTh4X3dyaXRlX2F2aShzdHJ1Y3QgdGRh OTk4eF9wcml2ICpwcml2LCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKIAl1bmlv biBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAotCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOworCWRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKKwkJCQkJCSAmcHJpdi0+Y29ubmVj dG9yLCBtb2RlKTsKIAlmcmFtZS5hdmkucXVhbnRpemF0aW9uX3JhbmdlID0gSERNSV9RVUFOVEla QVRJT05fUkFOR0VfRlVMTDsKIAogCXRkYTk5OHhfd3JpdGVfaWYocHJpdiwgRElQX0lGX0ZMQUdT X0lGMiwgUkVHX0lGMl9IQjAsICZmcmFtZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5k ZXggZTJjNmEyYjNlOGYyLi44YTI2MGJkNjk1NGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMKQEAgLTQ2NSwxNSArNDY1LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9p bmZvZnJhbWUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2hk bWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7CiAJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQogCQkmY3J0Y19zdGF0 ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ig PSAmaW50ZWxfaGRtaS0+YXR0YWNoZWRfY29ubmVjdG9yLT5iYXNlOwotCWJvb2wgaXNfaGRtaTJf c2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWkuc2NkYy5zdXBwb3J0ZWQgfHwKLQkg ICBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5jb2xvcl9mb3JtYXRzICYgRFJNX0NPTE9SX0ZPUk1B VF9ZQ1JDQjQyMDsKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmV0OwogCiAJ cmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZp LAotCQkJCQkJICAgICAgIGFkanVzdGVkX21vZGUsCi0JCQkJCQkgICAgICAgaXNfaGRtaTJfc2lu ayk7CisJCQkJCQkgICAgICAgY29ubl9zdGF0ZS0+Y29ubmVjdG9yLAorCQkJCQkJICAgICAgIGFk anVzdGVkX21vZGUpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmls bCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJuOwpAQCAtNDg2LDEyICs0ODMsMTMgQEAgc3Rh dGljIHZvaWQgaW50ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKIAllbHNlCiAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQ QUNFX1JHQjsKIAotCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZyYW1lLmF2 aSwgYWRqdXN0ZWRfbW9kZSwKKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKCZm cmFtZS5hdmksCisJCQkJCSAgIGNvbm5fc3RhdGUtPmNvbm5lY3RvciwKKwkJCQkJICAgYWRqdXN0 ZWRfbW9kZSwKIAkJCQkJICAgY3J0Y19zdGF0ZS0+bGltaXRlZF9jb2xvcl9yYW5nZSA/CiAJCQkJ CSAgIEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQgOgogCQkJCQkgICBIRE1JX1FVQU5U SVpBVElPTl9SQU5HRV9GVUxMLAotCQkJCQkgICBpbnRlbF9oZG1pLT5yZ2JfcXVhbnRfcmFuZ2Vf c2VsZWN0YWJsZSwKLQkJCQkJICAgaXNfaGRtaTJfc2luayk7CisJCQkJCSAgIGludGVsX2hkbWkt PnJnYl9xdWFudF9yYW5nZV9zZWxlY3RhYmxlKTsKIAogCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVf Y29udGVudF90eXBlKCZmcmFtZS5hdmksCiAJCQkJCSAgICBjb25uX3N0YXRlKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHNwY29uLmMKaW5kZXggOTZhOGQ5NTI0YjBjLi5jMThmMTRkNDFmMWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCkBAIC00NjIsMTAgKzQ2Miw4IEBAIHZvaWQg bHNwY29uX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXVp bnQ4X3QgYnVmW1ZJREVPX0RJUF9EQVRBX1NJWkVdOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmRpZ19wb3J0ID0gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3Qg aW50ZWxfbHNwY29uICpsc3Bjb24gPSAmZGlnX3BvcnQtPmxzcGNvbjsKLQlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gJmRpZ19wb3J0LT5kcDsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gJmludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7Ci0JY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9t b2RlOwotCWJvb2wgaXNfaGRtaTJfc2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWku c2NkYy5zdXBwb3J0ZWQ7CisJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUgPQorCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOwogCiAJaWYgKCFsc3Bj b24tPmFjdGl2ZSkgewogCQlEUk1fRVJST1IoIldyaXRpbmcgaW5mb2ZyYW1lcyB3aGlsZSBMU1BD T04gZGlzYWJsZWQgP1xuIik7CkBAIC00NzMsNyArNDcxLDggQEAgdm9pZCBsc3Bjb25fc2V0X2lu Zm9mcmFtZXMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogCiAJcmV0ID0gZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAotCQkJCQkJ ICAgICAgIG1vZGUsIGlzX2hkbWkyX3NpbmspOworCQkJCQkJICAgICAgIGNvbm5fc3RhdGUtPmNv bm5lY3RvciwKKwkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKIAlpZiAocmV0IDwgMCkgewog CQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJCXJldHVybjsK QEAgLTQ4OCwxMSArNDg3LDEzIEBAIHZvaWQgbHNwY29uX3NldF9pbmZvZnJhbWVzKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09M T1JTUEFDRV9SR0I7CiAJfQogCi0JZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9xdWFudF9yYW5nZSgm ZnJhbWUuYXZpLCBtb2RlLAorCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZy YW1lLmF2aSwKKwkJCQkJICAgY29ubl9zdGF0ZS0+Y29ubmVjdG9yLAorCQkJCQkgICBhZGp1c3Rl ZF9tb2RlLAogCQkJCQkgICBjcnRjX3N0YXRlLT5saW1pdGVkX2NvbG9yX3JhbmdlID8KIAkJCQkJ ICAgSERNSV9RVUFOVElaQVRJT05fUkFOR0VfTElNSVRFRCA6CiAJCQkJCSAgIEhETUlfUVVBTlRJ WkFUSU9OX1JBTkdFX0ZVTEwsCi0JCQkJCSAgIGZhbHNlLCBpc19oZG1pMl9zaW5rKTsKKwkJCQkJ ICAgZmFsc2UpOwogCiAJcmV0ID0gaGRtaV9pbmZvZnJhbWVfcGFjaygmZnJhbWUsIGJ1Ziwgc2l6 ZW9mKGJ1ZikpOwogCWlmIChyZXQgPCAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKaW5k ZXggNTgwNWVjMWFiYTEyLi4xMjc3ZDMxYWRiNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nkdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMKQEAgLTk4MSw3ICs5ODEsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3dyaXRlX2luZm9m cmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKIH0KIAogc3RhdGljIGJvb2wgaW50 ZWxfc2R2b19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywK LQkJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKKwkJCQkJ IGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkJIGNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQogewogCXVpbnQ4X3Qgc2R2 b19kYXRhW0hETUlfSU5GT0ZSQU1FX1NJWkUoQVZJKV07CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUg ZnJhbWU7CkBAIC05ODksOCArOTkwLDggQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfYXZp X2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKIAlzc2l6ZV90IGxlbjsK IAogCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LmF2aSwKLQkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSwKLQkJ CQkJCSAgICAgICBmYWxzZSk7CisJCQkJCQkgICAgICAgY29ubl9zdGF0ZS0+Y29ubmVjdG9yLAor CQkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKIAlpZiAocmV0 IDwgMCkgewogCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7CiAJ CXJldHVybiBmYWxzZTsKQEAgLTEzMTYsNyArMTMxNyw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nk dm9fcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKIAkJaW50 ZWxfc2R2b19zZXRfZW5jb2RlKGludGVsX3Nkdm8sIFNEVk9fRU5DT0RFX0hETUkpOwogCQlpbnRl bF9zZHZvX3NldF9jb2xvcmltZXRyeShpbnRlbF9zZHZvLAogCQkJCQkgICBTRFZPX0NPTE9SSU1F VFJZX1JHQjI1Nik7Ci0JCWludGVsX3Nkdm9fc2V0X2F2aV9pbmZvZnJhbWUoaW50ZWxfc2R2bywg Y3J0Y19zdGF0ZSk7CisJCWludGVsX3Nkdm9fc2V0X2F2aV9pbmZvZnJhbWUoaW50ZWxfc2R2bywK KwkJCQkJICAgICBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKIAl9IGVsc2UKIAkJaW50ZWxfc2R2 b19zZXRfZW5jb2RlKGludGVsX3Nkdm8sIFNEVk9fRU5DT0RFX0RWSSk7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19oZG1pLmMKaW5kZXggODYyZjNlYzIyMTMxLi5mM2VmN2JmODA1NjMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCkBAIC05ODEsNyArOTgxLDggQEAgc3RhdGljIGlu dCBtdGtfaGRtaV9zZXR1cF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKIAl1 OCBidWZmZXJbMTddOwogCXNzaXplX3QgZXJyOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKKwllcnIgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwKKwkJCQkJCSAgICAg ICAmaGRtaS0+Y29ubiwgbW9kZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2VycihoZG1pLT5k ZXYsCiAJCQkiRmFpbGVkIHRvIGdldCBBVkkgaW5mb2ZyYW1lIGZyb20gbW9kZTogJXpkXG4iLCBl cnIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfYnJpZGdlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9icmlkZ2UuYwppbmRleCA3ZTM1NzA3N2Vk MjYuLjVlZDRjYWIyODE5ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hk bWlfYnJpZGdlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfYnJpZGdlLmMK QEAgLTEwMSw3ICsxMDEsOCBAQCBzdGF0aWMgdm9pZCBtc21faGRtaV9jb25maWdfYXZpX2luZm9m cmFtZShzdHJ1Y3QgaGRtaSAqaGRtaSkKIAl1MzIgdmFsOwogCWludCBsZW47CiAKLQlkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNl KTsKKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmks CisJCQkJCQkgaGRtaS0+Y29ubmVjdG9yLCBtb2RlKTsKIAogCWxlbiA9IGhkbWlfaW5mb2ZyYW1l X3BhY2soJmZyYW1lLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKIAlpZiAobGVuIDwgMCkgewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jIGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCmluZGV4IDZjYmJhZTNmNDM4Yi4u ZDhlNTEyYzgzMjExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1 MC9kaXNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCkBA IC01NTQsNyArNTU0LDcgQEAgbnY1MF9oZG1pX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogCXUzMiBtYXhfYWNfcGFja2V0 OwogCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGF2aV9mcmFtZTsKIAl1bmlvbiBoZG1pX2luZm9mcmFt ZSB2ZW5kb3JfZnJhbWU7Ci0JYm9vbCBzY2RjX3N1cHBvcnRlZCwgaGlnaF90bWRzX2Nsb2NrX3Jh dGlvID0gZmFsc2UsIHNjcmFtYmxpbmcgPSBmYWxzZTsKKwlib29sIGhpZ2hfdG1kc19jbG9ja19y YXRpbyA9IGZhbHNlLCBzY3JhbWJsaW5nID0gZmFsc2U7CiAJdTggY29uZmlnOwogCWludCByZXQ7 CiAJaW50IHNpemU7CkBAIC01NjQsMTAgKzU2NCw5IEBAIG52NTBfaGRtaV9lbmFibGUoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIAkJ cmV0dXJuOwogCiAJaGRtaSA9ICZudl9jb25uZWN0b3ItPmJhc2UuZGlzcGxheV9pbmZvLmhkbWk7 Ci0Jc2NkY19zdXBwb3J0ZWQgPSBoZG1pLT5zY2RjLnN1cHBvcnRlZDsKIAotCXJldCA9IGRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aV9mcmFtZS5hdmksIG1vZGUs Ci0JCQkJCQkgICAgICAgc2NkY19zdXBwb3J0ZWQpOworCXJldCA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aV9mcmFtZS5hdmksCisJCQkJCQkgICAgICAgJm52 X2Nvbm5lY3Rvci0+YmFzZSwgbW9kZSk7CiAJaWYgKCFyZXQpIHsKIAkJLyogV2UgaGF2ZSBhbiBB VkkgSW5mb0ZyYW1lLCBwb3B1bGF0ZSBpdCB0byB0aGUgZGlzcGxheSAqLwogCQlhcmdzLnB3ci5h dmlfaW5mb2ZyYW1lX2xlbmd0aApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwpp bmRleCA0NTJlNjI1ZjZjZTMuLjI4MWIyMTY0OTY5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9lbmNvZGVyLmMKQEAgLTEyOCw4ICsxMjgsOSBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29k ZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmIChoZG1pX21vZGUg JiYgZHNzZGV2LT5vcHMtPmhkbWkuc2V0X2luZm9mcmFtZSkgewogCQlzdHJ1Y3QgaGRtaV9hdmlf aW5mb2ZyYW1lIGF2aTsKIAotCQlyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2RlLAotCQkJCQkJCSAgICAgZmFsc2UpOworCQlyID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLAorCQkJCQkJCSAg ICAgY29ubmVjdG9yLAorCQkJCQkJCSAgICAgYWRqdXN0ZWRfbW9kZSk7CiAJCWlmIChyID09IDAp CiAJCQlkc3NkZXYtPm9wcy0+aGRtaS5zZXRfaW5mb2ZyYW1lKGRzc2RldiwgJmF2aSk7CiAJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKaW5kZXggNzcwZTMxZjVmZDFiLi41YTdk NDgzMzliMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwpAQCAtNTE2LDcg KzUxNiw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKIAlpZiAoIWNvbm5lY3RvcikKIAkJcmV0dXJuIC1FSU5WQUw7 CiAKLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSwgZmFsc2UpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBjb25uZWN0b3IsIG1vZGUpOwogCWlmIChlcnIgPCAwKSB7CiAJCURS TV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwogCQly ZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCmluZGV4IDFjMDJiM2U2 MTI5OS4uMjdjOTQ1ZTAzMGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv aW5ub19oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCkBA IC0yOTUsNyArMjk1LDkgQEAgc3RhdGljIGludCBpbm5vX2hkbWlfY29uZmlnX3ZpZGVvX2F2aShz dHJ1Y3QgaW5ub19oZG1pICpoZG1pLAogCXVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWlu dCByYzsKIAotCXJjID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7CisJcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCisJCQkJCQkgICAgICAmaGRtaS0+Y29ubmVjdG9y LAorCQkJCQkJICAgICAgbW9kZSk7CiAKIAlpZiAoaGRtaS0+aGRtaV9kYXRhLmVuY19vdXRfZm9y bWF0ID09IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQpCiAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0g SERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwppbmRleCBjY2Y3MTg0 MDRhMWMuLjRiODY4NzhmOGRkZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlf aGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwpAQCAtNDM0LDcgKzQz NCw4IEBAIHN0YXRpYyBpbnQgaGRtaV9hdmlfaW5mb2ZyYW1lX2NvbmZpZyhzdHJ1Y3Qgc3RpX2hk bWkgKmhkbWkpCiAKIAlEUk1fREVCVUdfRFJJVkVSKCJcbiIpOwogCi0JcmV0ID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlLCBmYWxzZSk7 CisJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2Zy YW1lLAorCQkJCQkJICAgICAgIGhkbWktPmRybV9jb25uZWN0b3IsIG1vZGUpOwogCWlmIChyZXQg PCAwKSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4i LCByZXQpOwogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRp L3N1bjRpX2hkbWlfZW5jLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRtaV9lbmMu YwppbmRleCAwNjFkMmUwZDkwMTEuLjU1NGE2ZjQ1NjFmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZW5jLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRp L3N1bjRpX2hkbWlfZW5jLmMKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGludCBzdW40aV9oZG1p X3NldHVwX2F2aV9pbmZvZnJhbWVzKHN0cnVjdCBzdW40aV9oZG1pICpoZG1pLAogCXU4IGJ1ZmZl clsxN107CiAJaW50IGksIHJldDsKIAotCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJcmV0ID0gZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsCisJCQkJCQkgICAgICAgJmhkbWkt PmNvbm5lY3RvciwgbW9kZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQg dG8gZ2V0IGluZm9mcmFtZXMgZnJvbSBtb2RlXG4iKTsKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEv aGRtaS5jCmluZGV4IDAwODI0NjhmNzAzYy4uYTc1NjZjNjdiZmIwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1p LmMKQEAgLTc0MSw3ICs3NDEsOCBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2aV9p bmZvZnJhbWUoc3RydWN0IHRlZ3JhX2hkbWkgKmhkbWksCiAJdTggYnVmZmVyWzE3XTsKIAlzc2l6 ZV90IGVycjsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsCisJCQkJCQkgICAgICAgJmhkbWktPm91dHB1dC5jb25u ZWN0b3IsIG1vZGUpOwogCWlmIChlcnIgPCAwKSB7CiAJCWRldl9lcnIoaGRtaS0+ZGV2LCAiZmFp bGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJuOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jIGIvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL3Nvci5jCmluZGV4IGIxMjlkYTJlNWFmZC4uZDkwYmY1ZjZhNjdhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nv ci5jCkBAIC0yMTE2LDcgKzIxMTYsOCBAQCB0ZWdyYV9zb3JfaGRtaV9zZXR1cF9hdmlfaW5mb2Zy YW1lKHN0cnVjdCB0ZWdyYV9zb3IgKnNvciwKIAl2YWx1ZSAmPSB+SU5GT0ZSQU1FX0NUUkxfRU5B QkxFOwogCXRlZ3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09SX0hETUlfQVZJX0lORk9GUkFN RV9DVFJMKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsCisJCQkJCQkgICAgICAgJnNvci0+b3V0cHV0LmNvbm5l Y3RvciwgbW9kZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxl ZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKIAkJcmV0dXJuIGVycjsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2hkbWkuYwppbmRleCBmZDU1MjJmZDE3OWUuLmNiM2RjYTc0MjZjOCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2hkbWkuYwpAQCAtNDA5LDIyICs0MDksMjUgQEAgc3RhdGljIHZvaWQgdmM0X2hk bWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0 cnVjdCB2YzRfaGRtaV9lbmNvZGVyICp2YzRfZW5jb2RlciA9IHRvX3ZjNF9oZG1pX2VuY29kZXIo ZW5jb2Rlcik7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZW5jb2Rlci0+Y3J0YzsKKwlzdHJ1 Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihlbmNvZGVyLT5kZXYpOworCXN0cnVjdCB2YzRf aGRtaSAqaGRtaSA9IHZjNC0+aGRtaTsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSA9ICZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAl1bmlvbiBoZG1pX2luZm9mcmFt ZSBmcmFtZTsKIAlpbnQgcmV0OwogCi0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7CisJcmV0ID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAorCQkJCQkJICAgICAg IGhkbWktPmNvbm5lY3RvciwgbW9kZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJj b3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1cm47CiAJfQogCi0JZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9xdWFudF9yYW5nZSgmZnJhbWUuYXZpLCBtb2RlLAorCWRybV9oZG1p X2F2aV9pbmZvZnJhbWVfcXVhbnRfcmFuZ2UoJmZyYW1lLmF2aSwKKwkJCQkJICAgaGRtaS0+Y29u bmVjdG9yLCBtb2RlLAogCQkJCQkgICB2YzRfZW5jb2Rlci0+bGltaXRlZF9yZ2JfcmFuZ2UgPwog CQkJCQkgICBIRE1JX1FVQU5USVpBVElPTl9SQU5HRV9MSU1JVEVEIDoKIAkJCQkJICAgSERNSV9R VUFOVElaQVRJT05fUkFOR0VfRlVMTCwKLQkJCQkJICAgdmM0X2VuY29kZXItPnJnYl9yYW5nZV9z ZWxlY3RhYmxlLAotCQkJCQkgICBmYWxzZSk7CisJCQkJCSAgIHZjNF9lbmNvZGVyLT5yZ2JfcmFu Z2Vfc2VsZWN0YWJsZSk7CiAKIAl2YzRfaGRtaV93cml0ZV9pbmZvZnJhbWUoZW5jb2RlciwgJmZy YW1lKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMKaW5kZXggNzg2NTUyNjlkODQzLi45ZmM5OGJiNGYz ZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCkBAIC0xMjUsNyArMTI1LDkgQEAgc3RhdGljIGludCB6 eF9oZG1pX2NvbmZpZ192aWRlb19hdmkoc3RydWN0IHp4X2hkbWkgKmhkbWksCiAJdW5pb24gaGRt aV9pbmZvZnJhbWUgZnJhbWU7CiAJaW50IHJldDsKIAotCXJldCA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOworCXJldCA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKKwkJ CQkJCSAgICAgICAmaGRtaS0+Y29ubmVjdG9yLAorCQkJCQkJICAgICAgIG1vZGUpOwogCWlmIChy ZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihoZG1pLT5kZXYsICJmYWlsZWQgdG8gZ2V0IGF2aSBpbmZv ZnJhbWU6ICVkXG4iLAogCQkJICAgICAgcmV0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCmluZGV4IGUzYzQwNDgzMzExNS4uOWRi NmYxMzBkZjY1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9lZGlkLmgKQEAgLTM1MiwxOCArMzUyLDE4IEBAIGRybV9sb2FkX2VkaWRfZmly bXdhcmUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogaW50CiBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUg KmZyYW1lLAotCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCi0JCQkJ CSBib29sIGlzX2hkbWkyX3NpbmspOworCQkJCQkgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKKwkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKIGludAog ZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92 ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKIAkJCQkJICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCiAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7 CiB2b2lkCiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX3F1YW50X3JhbmdlKHN0cnVjdCBoZG1pX2F2 aV9pbmZvZnJhbWUgKmZyYW1lLAorCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCiAJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJCQkJICAg ZW51bSBoZG1pX3F1YW50aXphdGlvbl9yYW5nZSByZ2JfcXVhbnRfcmFuZ2UsCi0JCQkJICAgYm9v bCByZ2JfcXVhbnRfcmFuZ2Vfc2VsZWN0YWJsZSwKLQkJCQkgICBib29sIGlzX2hkbWkyX3Npbmsp OworCQkJCSAgIGJvb2wgcmdiX3F1YW50X3JhbmdlX3NlbGVjdGFibGUpOwogCiAvKioKICAqIGRy bV9lbGRfbW5sIC0gR2V0IEVMRCBtb25pdG9yIG5hbWUgbGVuZ3RoIGluIGJ5dGVzLgotLSAKMi4x OC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK