From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 13/45] drm/amd/display: remove sink reference in dc_stream_state Date: Tue, 11 Dec 2018 17:57:19 -0500 Message-ID: <1544569071-7114-14-git-send-email-sunpeng.li@amd.com> References: <1544569071-7114-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1544569071-7114-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: sunpeng.li-5C7GfCeVMHo@public.gmane.org, Jun Lei RnJvbTogSnVuIExlaSA8SnVuLkxlaUBhbWQuY29tPgoKW3doeV0KZGNfc3RyZWFtX3N0YXRlIGNv bnRhaW5pbmcgYSBwb2ludGVyIHRvIHNpbmsgaXMgcG9vciBkZXNpZ24uClNpbmsgZGVzY3JpYmVz IHRoZSBkaXNwbGF5LCBhbmQgdGhlIHNwZWNpZmljYXRpb25zIG9yIGNhcGFiaWxpdGllcwppdCBo YXMuICBUaGF0IGluZm9ybWF0aW9uIGlzIGlycmVsZXZhbnQgZm9yIGRjX3N0cmVhbV9zdGF0ZSwg d2hpY2ggZGVzY3JpYmVzCmhhcmR3YXJlIHN0YXRlLCBhbmQgaXMgZ2VuZXJhbGx5IHVzZWQgZm9y IGhhcmR3YXJlIHByb2dyYW1taW5nLiAgSXQKY291bGQgZnVydGhlciBiZSBhcmd1ZWQgdGhhdCBk Y19zaW5rIGl0c2VsZiBpcyBqdXN0IGEgY29udmVuaWVuY2UgZGMKcHJvdmlkZXMsIGFuZCBEQyBz aG91bGQgYmUgcGVyZmVjdGx5IGNhcGFibGUgb2YgcHJvZ3JhbW1pbmcgaGFyZHdhcmUKd2l0aG91 dCBhbnkgZGNfc2lua3MgKGZvciBleGFtcGxlLCBlbXVsYXRlZCBzaW5rcykuCgpbaG93XQpQaGFz ZSAxOgpEZXByZWNhdGUgdXNlIG9mIGRjX3NpbmsgcG9pbnRlciBpbiBkY19zdHJlYW0uICBNb3N0 IHJlZmVyZW5jZXMgYXJlIHRyaXZpYWwKdG8gcmVtb3ZlLCBidXQgc29tZSBjYWxsIHNpdGVzIGFy ZSByaXNreSAoc3VjaCBhcyBpc190aW1pbmdfY2hhbmdlZCkgd2l0aApubyBvYnZpb3VzIGxvZ2lj YWwgcmVwbGFjZW1lbnQuICBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gZm9sbG93IHVwIGNoYW5n ZS4KCkFkZCBkY19saW5rIHBvaW50ZXIgdG8gZGNfc3RyZWFtLiAgVGhpcyBpcyB0aGUgdHlwaWNh bCByZWFzb24gREMgcmVhbGx5IG5lZWRlZApzaW5rIHBvaW50ZXIsIGFuZCBtb3N0IGNhbGwgc2l0 ZXMgYXJlIHJlcGxhY2VkIHdpdGggdGhpcy4KCkRNcyBhbHNvIG5lZWQgbWlub3IgdXBkYXRlcywg YXMgYWxsIDMgRE1zIGxldmVyYWdlIHN0cmVhbS0+c2luayBmb3IKc29tZSBmdW5jdGlvbmFsaXR5 LiAgdGhpcyBpcyByZXBsYWNlZCBpbnN0ZWFkIGJ5IGEgcG9pbnRlciB0byBwcml2YXRlIGRhdGEK aW5zaWRlIGRjX3N0cmVhbV9zdGF0ZSwgd2hpY2ggaXMgdXNlZCBieSBETXMgYXMgYSBxdWFsaXR5 IG9mIGxpZmUgaW1wcm92bWVudApmb3Igc29tZSBrZXkgZnVuY3Rpb25hbGl0eS4gIGl0IGFsbG93 cyBETXMgdG8gc2V0IHBvaW50ZXJzIGhhdmUgdG8gdGhlaXIgb3duIG9iamVjdHMKd2hpY2ggYXNz b2NpYXRlIE9TIG9iamVjdHMgdG8gZGNfc3RyZWFtX3N0YXRlcyAoc3VjaCBhcyBEaXNwbGF5VGFy Z2V0CmFuZCBhbWRncHVfZG1fY29ubmVjdG9yKS4gIFdpdGhvdXQgdGhlIHByaXZhdGUgcG9pbnRl ciwgRE1zIHdvdWxkIGJlCmZvcmNlZCB0byBwZXJmb3JtIGEgbG9va3VwIGZvciBjYWxsYmFja3Mu CgpTaWduZWQtb2ZmLWJ5OiBKdW4gTGVpIDxKdW4uTGVpQGFtZC5jb20+ClJldmlld2VkLWJ5OiBB cmljIEN5ciA8QXJpYy5DeXJAYW1kLmNvbT4KQWNrZWQtYnk6IERhdmlkIEZyYW5jaXMgPERhdmlk LkZyYW5jaXNAYW1kLmNvbT4KQWNrZWQtYnk6IExlbyBMaSA8c3VucGVuZy5saUBhbWQuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgIHwg MTAgKystLQogLi4uL2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX2hlbHBlcnMu YyAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jYWxjcy9kY25fY2Fs Y3MuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMg ICAgICAgICAgIHwgMTEgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3Jl L2RjX2xpbmsuYyAgICAgIHwgNTQgKysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19kcC5jICAgfCAgNiArLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfaHdzcy5jIHwgIDkgKystLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVzb3VyY2UuYyAgfCAxNCArKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3N0cmVhbS5jICAgIHwg MzAgKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNfbGluay5o ICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19zdHJl YW0uaCAgICAgICAgIHwgMTMgKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNlL2RjZV9jbGtfbWdyLmMgICB8IDEwICsrLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjZS9kY2VfbGlua19lbmNvZGVyLmMgIHwgIDIgKy0KIC4uLi9hbWQvZGlzcGxheS9kYy9kY2Ux MTAvZGNlMTEwX2h3X3NlcXVlbmNlci5jICAgIHwgMjYgKysrKy0tLS0tLS0KIC4uLi9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNvdXJjZS5jICAgIHwgIDIgKy0KIC4uLi9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jICAgIHwgIDIgKy0KIC4uLi9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyLmMgIHwgIDIgKy0KIC4u Li9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbGlua19lbmNvZGVyLmMgIHwgIDIgKy0K IC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMgIHwgIDIg Ky0KIDE5IGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRn cHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMKaW5kZXggMjNkNjE1Ny4uNTQ4Njk1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCkBAIC0yNjQwLDEwICsyNjQwLDEwIEBAIGZp bGxfc3RyZWFtX3Byb3BlcnRpZXNfZnJvbV9kcm1fZGlzcGxheV9tb2RlKHN0cnVjdCBkY19zdHJl YW1fc3RhdGUgKnN0cmVhbSwKIAl0aW1pbmdfb3V0LT52X2JvcmRlcl9ib3R0b20gPSAwOwogCS8q IFRPRE86IHVuLWhhcmRjb2RlICovCiAJaWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5KGluZm8sIG1v ZGVfaW4pCi0JCQkmJiBzdHJlYW0tPnNpbmstPnNpbmtfc2lnbmFsID09IFNJR05BTF9UWVBFX0hE TUlfVFlQRV9BKQorCQkJJiYgc3RyZWFtLT5zaWduYWwgPT0gU0lHTkFMX1RZUEVfSERNSV9UWVBF X0EpCiAJCXRpbWluZ19vdXQtPnBpeGVsX2VuY29kaW5nID0gUElYRUxfRU5DT0RJTkdfWUNCQ1I0 MjA7CiAJZWxzZSBpZiAoKGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmNvbG9yX2Zvcm1hdHMgJiBE Uk1fQ09MT1JfRk9STUFUX1lDUkNCNDQ0KQotCQkJJiYgc3RyZWFtLT5zaW5rLT5zaW5rX3NpZ25h bCA9PSBTSUdOQUxfVFlQRV9IRE1JX1RZUEVfQSkKKwkJCSYmIHN0cmVhbS0+c2lnbmFsID09IFNJ R05BTF9UWVBFX0hETUlfVFlQRV9BKQogCQl0aW1pbmdfb3V0LT5waXhlbF9lbmNvZGluZyA9IFBJ WEVMX0VOQ09ESU5HX1lDQkNSNDQ0OwogCWVsc2UKIAkJdGltaW5nX291dC0+cGl4ZWxfZW5jb2Rp bmcgPSBQSVhFTF9FTkNPRElOR19SR0I7CkBAIC0yNjg1LDcgKzI2ODUsNyBAQCBmaWxsX3N0cmVh bV9wcm9wZXJ0aWVzX2Zyb21fZHJtX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRl ICpzdHJlYW0sCiAKIAlzdHJlYW0tPm91dF90cmFuc2Zlcl9mdW5jLT50eXBlID0gVEZfVFlQRV9Q UkVERUZJTkVEOwogCXN0cmVhbS0+b3V0X3RyYW5zZmVyX2Z1bmMtPnRmID0gVFJBTlNGRVJfRlVO Q1RJT05fU1JHQjsKLQlpZiAoc3RyZWFtLT5zaW5rLT5zaW5rX3NpZ25hbCA9PSBTSUdOQUxfVFlQ RV9IRE1JX1RZUEVfQSkKKwlpZiAoc3RyZWFtLT5zaWduYWwgPT0gU0lHTkFMX1RZUEVfSERNSV9U WVBFX0EpCiAJCWFkanVzdF9jb2xvdXJfZGVwdGhfZnJvbV9kaXNwbGF5X2luZm8odGltaW5nX291 dCwgaW5mbyk7CiB9CiAKQEAgLTI4NzksNiArMjg3OSw4IEBAIGNyZWF0ZV9zdHJlYW1fZm9yX3Np bmsoc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IsCiAJCWdvdG8gZmluaXNo OwogCX0KIAorCXN0cmVhbS0+ZG1fc3RyZWFtX2NvbnRleHQgPSBhY29ubmVjdG9yOworCiAJbGlz dF9mb3JfZWFjaF9lbnRyeShwcmVmZXJyZWRfbW9kZSwgJmFjb25uZWN0b3ItPmJhc2UubW9kZXMs IGhlYWQpIHsKIAkJLyogU2VhcmNoIGZvciBwcmVmZXJyZWQgbW9kZSAqLwogCQlpZiAocHJlZmVy cmVkX21vZGUtPnR5cGUgJiBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCkgewpAQCAtMjkzMCw3ICsy OTMyLDcgQEAgY3JlYXRlX3N0cmVhbV9mb3Jfc2luayhzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3Rv ciAqYWNvbm5lY3RvciwKIAkJZHJtX2Nvbm5lY3RvciwKIAkJc2luayk7CiAKLQl1cGRhdGVfc3Ry ZWFtX3NpZ25hbChzdHJlYW0pOworCXVwZGF0ZV9zdHJlYW1fc2lnbmFsKHN0cmVhbSwgc2luayk7 CiAKIAlpZiAoZG1fc3RhdGUgJiYgZG1fc3RhdGUtPmZyZWVzeW5jX2NhcGFibGUpCiAJCXN0cmVh bS0+aWdub3JlX21zYV90aW1pbmdfcGFyYW0gPSB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1faGVscGVycy5jCmluZGV4 IDM5OTk3ZDkuLmIwYmM4MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9hbWRncHVfZG0vYW1kZ3B1X2RtX2hlbHBlcnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9oZWxwZXJzLmMKQEAgLTE5Miw3ICsxOTIsNyBA QCBib29sIGRtX2hlbHBlcnNfZHBfbXN0X3dyaXRlX3BheWxvYWRfYWxsb2NhdGlvbl90YWJsZSgK IAlpbnQgYnBwID0gMDsKIAlpbnQgcGJuID0gMDsKIAotCWFjb25uZWN0b3IgPSBzdHJlYW0tPnNp bmstPnByaXY7CisJYWNvbm5lY3RvciA9IChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqKXN0 cmVhbS0+ZG1fc3RyZWFtX2NvbnRleHQ7CiAKIAlpZiAoIWFjb25uZWN0b3IgfHwgIWFjb25uZWN0 b3ItPm1zdF9wb3J0KQogCQlyZXR1cm4gZmFsc2U7CkBAIC0yODQsNyArMjg0LDcgQEAgYm9vbCBk bV9oZWxwZXJzX2RwX21zdF9wb2xsX2Zvcl9hbGxvY2F0aW9uX2NoYW5nZV90cmlnZ2VyKAogCXN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbXN0X21ncjsKIAlpbnQgcmV0OwogCi0JYWNv bm5lY3RvciA9IHN0cmVhbS0+c2luay0+cHJpdjsKKwlhY29ubmVjdG9yID0gKHN0cnVjdCBhbWRn cHVfZG1fY29ubmVjdG9yICopc3RyZWFtLT5kbV9zdHJlYW1fY29udGV4dDsKIAogCWlmICghYWNv bm5lY3RvciB8fCAhYWNvbm5lY3Rvci0+bXN0X3BvcnQpCiAJCXJldHVybiBmYWxzZTsKQEAgLTMx Miw3ICszMTIsNyBAQCBib29sIGRtX2hlbHBlcnNfZHBfbXN0X3NlbmRfcGF5bG9hZF9hbGxvY2F0 aW9uKAogCXN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKm1zdF9wb3J0OwogCWludCByZXQ7CiAKLQlh Y29ubmVjdG9yID0gc3RyZWFtLT5zaW5rLT5wcml2OworCWFjb25uZWN0b3IgPSAoc3RydWN0IGFt ZGdwdV9kbV9jb25uZWN0b3IgKilzdHJlYW0tPmRtX3N0cmVhbV9jb250ZXh0OwogCiAJaWYgKCFh Y29ubmVjdG9yIHx8ICFhY29ubmVjdG9yLT5tc3RfcG9ydCkKIAkJcmV0dXJuIGZhbHNlOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2Rjbl9jYWxjcy5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NhbGNzL2Rjbl9jYWxjcy5jCmluZGV4 IDQzZTRhMmIuLmNkODhjZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9jYWxjcy9kY25fY2FsY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvY2FsY3MvZGNuX2NhbGNzLmMKQEAgLTk2MSw3ICs5NjEsNyBAQCBib29sIGRjbl92YWxpZGF0 ZV9iYW5kd2lkdGgoCiAJCXYtPmRjY19yYXRlW2lucHV0X2lkeF0gPSAxOyAvKlRPRE86IFdvcnN0 IGNhc2U/IGRvZXMgdGhpcyBjaGFuZ2U/Ki8KIAkJdi0+b3V0cHV0X2Zvcm1hdFtpbnB1dF9pZHhd ID0gcGlwZS0+c3RyZWFtLT50aW1pbmcucGl4ZWxfZW5jb2RpbmcgPT0KIAkJCQlQSVhFTF9FTkNP RElOR19ZQ0JDUjQyMCA/IGRjbl9id180MjAgOiBkY25fYndfNDQ0OwotCQl2LT5vdXRwdXRbaW5w dXRfaWR4XSA9IHBpcGUtPnN0cmVhbS0+c2luay0+c2lua19zaWduYWwgPT0KKwkJdi0+b3V0cHV0 W2lucHV0X2lkeF0gPSBwaXBlLT5zdHJlYW0tPnNpZ25hbCA9PQogCQkJCVNJR05BTF9UWVBFX0hE TUlfVFlQRV9BID8gZGNuX2J3X2hkbWkgOiBkY25fYndfZHA7CiAJCXYtPm91dHB1dF9kZWVwX2Nv bG9yW2lucHV0X2lkeF0gPSBkY25fYndfZW5jb2Rlcl84YnBjOwogCQlpZiAodi0+b3V0cHV0W2lu cHV0X2lkeF0gPT0gZGNuX2J3X2hkbWkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jb3JlL2RjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kYy5jCmluZGV4IDE2YjFkYzYuLjIzMWE0YTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGMuYwpAQCAtMzg4LDcgKzM4OCw3IEBAIHZvaWQgZGNfc3RyZWFtX3Nl dF9kaXRoZXJfb3B0aW9uKHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSwKIAkJZW51bSBk Y19kaXRoZXJfb3B0aW9uIG9wdGlvbikKIHsKIAlzdHJ1Y3QgYml0X2RlcHRoX3JlZHVjdGlvbl9w YXJhbXMgcGFyYW1zOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5rLT5saW5r OworCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCXN0cnVjdCBwaXBlX2N0 eCAqcGlwZXMgPSBOVUxMOwogCWludCBpOwogCkBAIC01MzAsOSArNTMwLDggQEAgdm9pZCBkY19s aW5rX3NldF9wcmVmZXJyZWRfbGlua19zZXR0aW5ncyhzdHJ1Y3QgZGMgKmRjLAogCiAJZm9yIChp ID0gMDsgaSA8IE1BWF9QSVBFUzsgaSsrKSB7CiAJCXBpcGUgPSAmZGMtPmN1cnJlbnRfc3RhdGUt PnJlc19jdHgucGlwZV9jdHhbaV07Ci0JCWlmIChwaXBlLT5zdHJlYW0gJiYgcGlwZS0+c3RyZWFt LT5zaW5rCi0JCQkmJiBwaXBlLT5zdHJlYW0tPnNpbmstPmxpbmspIHsKLQkJCWlmIChwaXBlLT5z dHJlYW0tPnNpbmstPmxpbmsgPT0gbGluaykKKwkJaWYgKHBpcGUtPnN0cmVhbSAmJiBwaXBlLT5z dHJlYW0tPmxpbmspIHsKKwkJCWlmIChwaXBlLT5zdHJlYW0tPmxpbmsgPT0gbGluaykKIAkJCQli cmVhazsKIAkJfQogCX0KQEAgLTEwNDksNyArMTA0OCw3IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1 cyBkY19jb21taXRfc3RhdGVfbm9fY2hlY2soc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRl ICpjCiAKIAkvKiBQcm9ncmFtIGFsbCBwbGFuZXMgd2l0aGluIG5ldyBjb250ZXh0Ki8KIAlmb3Ig KGkgPSAwOyBpIDwgY29udGV4dC0+c3RyZWFtX2NvdW50OyBpKyspIHsKLQkJY29uc3Qgc3RydWN0 IGRjX3NpbmsgKnNpbmsgPSBjb250ZXh0LT5zdHJlYW1zW2ldLT5zaW5rOworCQljb25zdCBzdHJ1 Y3QgZGNfbGluayAqbGluayA9IGNvbnRleHQtPnN0cmVhbXNbaV0tPmxpbms7CiAKIAkJaWYgKCFj b250ZXh0LT5zdHJlYW1zW2ldLT5tb2RlX2NoYW5nZWQpCiAJCQljb250aW51ZTsKQEAgLTEwNzQs NyArMTA3Myw3IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBkY19jb21taXRfc3RhdGVfbm9fY2hl Y2soc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRlICpjCiAJCQl9CiAJCX0KIAotCQlDT05O X01TR19NT0RFKHNpbmstPmxpbmssICJ7JWR4JWQsICVkeCVkQCVkS2h6fSIsCisJCUNPTk5fTVNH X01PREUobGluaywgInslZHglZCwgJWR4JWRAJWRLaHp9IiwKIAkJCQljb250ZXh0LT5zdHJlYW1z W2ldLT50aW1pbmcuaF9hZGRyZXNzYWJsZSwKIAkJCQljb250ZXh0LT5zdHJlYW1zW2ldLT50aW1p bmcudl9hZGRyZXNzYWJsZSwKIAkJCQljb250ZXh0LT5zdHJlYW1zW2ldLT50aW1pbmcuaF90b3Rh bCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xp bmsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYwppbmRl eCA0ZGM1ODQ2Li4yOGVmZDkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kY19saW5rLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGNfbGluay5jCkBAIC03NjEsNyArNzYxLDcgQEAgYm9vbCBkY19saW5rX2RldGVjdChz dHJ1Y3QgZGNfbGluayAqbGluaywgZW51bSBkY19kZXRlY3RfcmVhc29uIHJlYXNvbikKIAkJCXJl dHVybiBmYWxzZTsKIAkJfQogCi0JCXNpbmstPmRvbmdsZV9tYXhfcGl4X2NsayA9IHNpbmtfY2Fw cy5tYXhfaGRtaV9waXhlbF9jbG9jazsKKwkJc2luay0+bGluay0+ZG9uZ2xlX21heF9waXhfY2xr ID0gc2lua19jYXBzLm1heF9oZG1pX3BpeGVsX2Nsb2NrOwogCQlzaW5rLT5jb252ZXJ0ZXJfZGlz YWJsZV9hdWRpbyA9IGNvbnZlcnRlcl9kaXNhYmxlX2F1ZGlvOwogCiAJCWxpbmstPmxvY2FsX3Np bmsgPSBzaW5rOwpAQCAtMTM0NCw3ICsxMzQ0LDcgQEAgc3RhdGljIHZvaWQgZHBjZF9jb25maWd1 cmVfcGFuZWxfbW9kZSgKIHN0YXRpYyB2b2lkIGVuYWJsZV9zdHJlYW1fZmVhdHVyZXMoc3RydWN0 IHBpcGVfY3R4ICpwaXBlX2N0eCkKIHsKIAlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0g PSBwaXBlX2N0eC0+c3RyZWFtOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5r LT5saW5rOworCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCXVuaW9uIGRv d25fc3ByZWFkX2N0cmwgb2xkX2Rvd25zcHJlYWQ7CiAJdW5pb24gZG93bl9zcHJlYWRfY3RybCBu ZXdfZG93bnNwcmVhZDsKIApAQCAtMTM2OSw3ICsxMzY5LDcgQEAgc3RhdGljIGVudW0gZGNfc3Rh dHVzIGVuYWJsZV9saW5rX2RwKAogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSA9IHBp cGVfY3R4LT5zdHJlYW07CiAJZW51bSBkY19zdGF0dXMgc3RhdHVzOwogCWJvb2wgc2tpcF92aWRl b19wYXR0ZXJuOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5rLT5saW5rOwor CXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCXN0cnVjdCBkY19saW5rX3Nl dHRpbmdzIGxpbmtfc2V0dGluZ3MgPSB7MH07CiAJZW51bSBkcF9wYW5lbF9tb2RlIHBhbmVsX21v ZGU7CiAKQEAgLTEzODYsOCArMTM4Niw4IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBlbmFibGVf bGlua19kcCgKIAkJcGlwZV9jdHgtPmNsb2NrX3NvdXJjZS0+aWQsCiAJCSZsaW5rX3NldHRpbmdz KTsKIAotCWlmIChzdHJlYW0tPnNpbmstPmVkaWRfY2Fwcy5wYW5lbF9wYXRjaC5kcHBvd2VydXBf ZGVsYXkgPiAwKSB7Ci0JCWludCBkZWxheV9kcF9wb3dlcl91cF9pbl9tcyA9IHN0cmVhbS0+c2lu ay0+ZWRpZF9jYXBzLnBhbmVsX3BhdGNoLmRwcG93ZXJ1cF9kZWxheTsKKwlpZiAoc3RyZWFtLT5z aW5rX3BhdGNoZXMuZHBwb3dlcnVwX2RlbGF5ID4gMCkgeworCQlpbnQgZGVsYXlfZHBfcG93ZXJf dXBfaW5fbXMgPSBzdHJlYW0tPnNpbmtfcGF0Y2hlcy5kcHBvd2VydXBfZGVsYXk7CiAKIAkJbXNs ZWVwKGRlbGF5X2RwX3Bvd2VyX3VwX2luX21zKTsKIAl9CkBAIC0xNDIwLDcgKzE0MjAsNyBAQCBz dGF0aWMgZW51bSBkY19zdGF0dXMgZW5hYmxlX2xpbmtfZWRwKAogewogCWVudW0gZGNfc3RhdHVz IHN0YXR1czsKIAlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0gPSBwaXBlX2N0eC0+c3Ry ZWFtOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5rLT5saW5rOworCXN0cnVj dCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCS8qaW4gY2FzZSBpdCBpcyBub3Qgb24q LwogCWxpbmstPmRjLT5od3NzLmVkcF9wb3dlcl9jb250cm9sKGxpbmssIHRydWUpOwogCWxpbmst PmRjLT5od3NzLmVkcF93YWl0X2Zvcl9ocGRfcmVhZHkobGluaywgdHJ1ZSk7CkBAIC0xNDM1LDcg KzE0MzUsNyBAQCBzdGF0aWMgZW51bSBkY19zdGF0dXMgZW5hYmxlX2xpbmtfZHBfbXN0KAogCQlz dHJ1Y3QgZGNfc3RhdGUgKnN0YXRlLAogCQlzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogewot CXN0cnVjdCBkY19saW5rICpsaW5rID0gcGlwZV9jdHgtPnN0cmVhbS0+c2luay0+bGluazsKKwlz dHJ1Y3QgZGNfbGluayAqbGluayA9IHBpcGVfY3R4LT5zdHJlYW0tPmxpbms7CiAKIAkvKiBzaW5r IHNpZ25hbCB0eXBlIGFmdGVyIE1TVCBicmFuY2ggaXMgTVNULiBNdWx0aXBsZSBNU1Qgc2lua3MK IAkgKiBzaGFyZSBvbmUgbGluay4gTGluayBEUCBQSFkgaXMgZW5hYmxlIG9yIHRyYWluaW5nIG9u bHkgb25jZS4KQEAgLTE1NjksNyArMTU2OSw3IEBAIHN0YXRpYyBib29sIGkyY193cml0ZShzdHJ1 Y3QgcGlwZV9jdHggKnBpcGVfY3R4LAogCWNtZC5wYXlsb2FkcyA9ICZwYXlsb2FkOwogCiAJaWYg KGRtX2hlbHBlcnNfc3VibWl0X2kyYyhwaXBlX2N0eC0+c3RyZWFtLT5jdHgsCi0JCQlwaXBlX2N0 eC0+c3RyZWFtLT5zaW5rLT5saW5rLCAmY21kKSkKKwkJCXBpcGVfY3R4LT5zdHJlYW0tPmxpbmss ICZjbWQpKQogCQlyZXR1cm4gdHJ1ZTsKIAogCXJldHVybiBmYWxzZTsKQEAgLTE2MjMsNyArMTYy Myw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlX2kyY19yZXRpbWVyX3NldHRpbmcoCiAJCQkJZWxzZSB7 CiAJCQkJCWkyY19zdWNjZXNzID0KIAkJCQkJCWRhbF9kZGNfc2VydmljZV9xdWVyeV9kZGNfZGF0 YSgKLQkJCQkJCXBpcGVfY3R4LT5zdHJlYW0tPnNpbmstPmxpbmstPmRkYywKKwkJCQkJCXBpcGVf Y3R4LT5zdHJlYW0tPmxpbmstPmRkYywKIAkJCQkJCXNsYXZlX2FkZHJlc3MsICZvZmZzZXQsIDEs ICZ2YWx1ZSwgMSk7CiAJCQkJCWlmICghaTJjX3N1Y2Nlc3MpCiAJCQkJCQkvKiBXcml0ZSBmYWls dXJlICovCkBAIC0xNjc2LDcgKzE2NzYsNyBAQCBzdGF0aWMgdm9pZCB3cml0ZV9pMmNfcmV0aW1l cl9zZXR0aW5nKAogCQkJCQllbHNlIHsKIAkJCQkJCWkyY19zdWNjZXNzID0KIAkJCQkJCQkJZGFs X2RkY19zZXJ2aWNlX3F1ZXJ5X2RkY19kYXRhKAotCQkJCQkJCQlwaXBlX2N0eC0+c3RyZWFtLT5z aW5rLT5saW5rLT5kZGMsCisJCQkJCQkJCXBpcGVfY3R4LT5zdHJlYW0tPmxpbmstPmRkYywKIAkJ CQkJCQkJc2xhdmVfYWRkcmVzcywgJm9mZnNldCwgMSwgJnZhbHVlLCAxKTsKIAkJCQkJCWlmICgh aTJjX3N1Y2Nlc3MpCiAJCQkJCQkJLyogV3JpdGUgZmFpbHVyZSAqLwpAQCAtMTkwMSw3ICsxOTAx LDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfaTJjX3JlZHJpdmVyX3NldHRpbmcoCiBzdGF0aWMgdm9p ZCBlbmFibGVfbGlua19oZG1pKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgpCiB7CiAJc3RydWN0 IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtID0gcGlwZV9jdHgtPnN0cmVhbTsKLQlzdHJ1Y3QgZGNf bGluayAqbGluayA9IHN0cmVhbS0+c2luay0+bGluazsKKwlzdHJ1Y3QgZGNfbGluayAqbGluayA9 IHN0cmVhbS0+bGluazsKIAllbnVtIGRjX2NvbG9yX2RlcHRoIGRpc3BsYXlfY29sb3JfZGVwdGg7 CiAJZW51bSBlbmdpbmVfaWQgZW5nX2lkOwogCXN0cnVjdCBleHRfaGRtaV9zZXR0aW5ncyBzZXR0 aW5ncyA9IHswfTsKQEAgLTE5MTUsNyArMTkxNSw3IEBAIHN0YXRpYyB2b2lkIGVuYWJsZV9saW5r X2hkbWkoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkKIAkJaXNfb3Zlcl8zNDBtaHogPSB0cnVl OwogCiAJaWYgKGRjX2lzX2hkbWlfc2lnbmFsKHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25hbCkpIHsK LQkJdW5zaWduZWQgc2hvcnQgbWFza2VkX2NoaXBfY2FwcyA9IHBpcGVfY3R4LT5zdHJlYW0tPnNp bmstPmxpbmstPmNoaXBfY2FwcyAmCisJCXVuc2lnbmVkIHNob3J0IG1hc2tlZF9jaGlwX2NhcHMg PSBwaXBlX2N0eC0+c3RyZWFtLT5saW5rLT5jaGlwX2NhcHMgJgogCQkJCUVYVF9ESVNQTEFZX1BB VEhfQ0FQU19fRVhUX0NISVBfTUFTSzsKIAkJaWYgKG1hc2tlZF9jaGlwX2NhcHMgPT0gRVhUX0RJ U1BMQVlfUEFUSF9DQVBTX19IRE1JMjBfVElTTjY1RFAxNTlSU0JUKSB7CiAJCQkvKiBEUDE1OSwg UmV0aW1lciBzZXR0aW5ncyAqLwpAQCAtMTkzNiwxMSArMTkzNiwxMSBAQCBzdGF0aWMgdm9pZCBl bmFibGVfbGlua19oZG1pKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgpCiAKIAlpZiAoZGNfaXNf aGRtaV9zaWduYWwocGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsKSkKIAkJZGFsX2RkY19zZXJ2aWNl X3dyaXRlX3NjZGNfZGF0YSgKLQkJCXN0cmVhbS0+c2luay0+bGluay0+ZGRjLAorCQkJc3RyZWFt LT5saW5rLT5kZGMsCiAJCQlzdHJlYW0tPnBoeV9waXhfY2xrLAogCQkJc3RyZWFtLT50aW1pbmcu ZmxhZ3MuTFRFXzM0ME1DU0NfU0NSQU1CTEUpOwogCi0JbWVtc2V0KCZzdHJlYW0tPnNpbmstPmxp bmstPmN1cl9saW5rX3NldHRpbmdzLCAwLAorCW1lbXNldCgmc3RyZWFtLT5saW5rLT5jdXJfbGlu a19zZXR0aW5ncywgMCwKIAkJCXNpemVvZihzdHJ1Y3QgZGNfbGlua19zZXR0aW5ncykpOwogCiAJ ZGlzcGxheV9jb2xvcl9kZXB0aCA9IHN0cmVhbS0+dGltaW5nLmRpc3BsYXlfY29sb3JfZGVwdGg7 CkBAIC0xOTYxLDEyICsxOTYxLDEyIEBAIHN0YXRpYyB2b2lkIGVuYWJsZV9saW5rX2hkbWkoc3Ry dWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkKIHN0YXRpYyB2b2lkIGVuYWJsZV9saW5rX2x2ZHMoc3Ry dWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkKIHsKIAlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJl YW0gPSBwaXBlX2N0eC0+c3RyZWFtOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5z aW5rLT5saW5rOworCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCiAJaWYg KHN0cmVhbS0+cGh5X3BpeF9jbGsgPT0gMCkKIAkJc3RyZWFtLT5waHlfcGl4X2NsayA9IHN0cmVh bS0+dGltaW5nLnBpeF9jbGtfa2h6OwogCi0JbWVtc2V0KCZzdHJlYW0tPnNpbmstPmxpbmstPmN1 cl9saW5rX3NldHRpbmdzLCAwLAorCW1lbXNldCgmc3RyZWFtLT5saW5rLT5jdXJfbGlua19zZXR0 aW5ncywgMCwKIAkJCXNpemVvZihzdHJ1Y3QgZGNfbGlua19zZXR0aW5ncykpOwogCiAJbGluay0+ bGlua19lbmMtPmZ1bmNzLT5lbmFibGVfbHZkc19vdXRwdXQoCkBAIC0yMTE3LDcgKzIxMTcsNyBA QCBlbnVtIGRjX3N0YXR1cyBkY19saW5rX3ZhbGlkYXRlX21vZGVfdGltaW5nKAogCQlzdHJ1Y3Qg ZGNfbGluayAqbGluaywKIAkJY29uc3Qgc3RydWN0IGRjX2NydGNfdGltaW5nICp0aW1pbmcpCiB7 Ci0JdWludDMyX3QgbWF4X3BpeF9jbGsgPSBzdHJlYW0tPnNpbmstPmRvbmdsZV9tYXhfcGl4X2Ns azsKKwl1aW50MzJfdCBtYXhfcGl4X2NsayA9IHN0cmVhbS0+bGluay0+ZG9uZ2xlX21heF9waXhf Y2xrOwogCXN0cnVjdCBkcGNkX2NhcHMgKmRwY2RfY2FwcyA9ICZsaW5rLT5kcGNkX2NhcHM7CiAK IAkvKiBBIGhhY2sgdG8gYXZvaWQgZmFpbGluZyBhbnkgbW9kZXMgZm9yIEVESUQgb3ZlcnJpZGUg ZmVhdHVyZSBvbgpAQCAtMjE5MSw3ICsyMTkxLDcgQEAgYm9vbCBkY19saW5rX3NldF9iYWNrbGln aHRfbGV2ZWwoY29uc3Qgc3RydWN0IGRjX2xpbmsgKmxpbmssCiAJCWZvciAoaSA9IDA7IGkgPCBN QVhfUElQRVM7IGkrKykgewogCQkJaWYgKGNvcmVfZGMtPmN1cnJlbnRfc3RhdGUtPnJlc19jdHgu cGlwZV9jdHhbaV0uc3RyZWFtKSB7CiAJCQkJaWYgKGNvcmVfZGMtPmN1cnJlbnRfc3RhdGUtPnJl c19jdHguCi0JCQkJCQlwaXBlX2N0eFtpXS5zdHJlYW0tPnNpbmstPmxpbmsKKwkJCQkJCXBpcGVf Y3R4W2ldLnN0cmVhbS0+bGluawogCQkJCQkJPT0gbGluaykKIAkJCQkJLyogRE1DVSAtMSBmb3Ig YWxsIGNvbnRyb2xsZXIgaWQgdmFsdWVzLAogCQkJCQkgKiB0aGVyZWZvcmUgKzEgaGVyZQpAQCAt MjI1MSw3ICsyMjUxLDcgQEAgdm9pZCBjb3JlX2xpbmtfcmVzdW1lKHN0cnVjdCBkY19saW5rICps aW5rKQogc3RhdGljIHN0cnVjdCBmaXhlZDMxXzMyIGdldF9wYm5fcGVyX3Nsb3Qoc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqc3RyZWFtKQogewogCXN0cnVjdCBkY19saW5rX3NldHRpbmdzICpsaW5r X3NldHRpbmdzID0KLQkJCSZzdHJlYW0tPnNpbmstPmxpbmstPmN1cl9saW5rX3NldHRpbmdzOwor CQkJJnN0cmVhbS0+bGluay0+Y3VyX2xpbmtfc2V0dGluZ3M7CiAJdWludDMyX3QgbGlua19yYXRl X2luX21icHMgPQogCQkJbGlua19zZXR0aW5ncy0+bGlua19yYXRlICogTElOS19SQVRFX1JFRl9G UkVRX0lOX01IWjsKIAlzdHJ1Y3QgZml4ZWQzMV8zMiBtYnBzID0gZGNfZml4cHRfZnJvbV9pbnQo CkBAIC0yMzU4LDcgKzIzNTgsNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfbXN0X3N0cmVhbV9hbGxv Y190YWJsZSgKIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhbGxvY2F0ZV9tc3RfcGF5bG9hZChzdHJ1 Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogewogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVh bSA9IHBpcGVfY3R4LT5zdHJlYW07Ci0Jc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBzdHJlYW0tPnNp bmstPmxpbms7CisJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBzdHJlYW0tPmxpbms7CiAJc3RydWN0 IGxpbmtfZW5jb2RlciAqbGlua19lbmNvZGVyID0gbGluay0+bGlua19lbmM7CiAJc3RydWN0IHN0 cmVhbV9lbmNvZGVyICpzdHJlYW1fZW5jb2RlciA9IHBpcGVfY3R4LT5zdHJlYW1fcmVzLnN0cmVh bV9lbmM7CiAJc3RydWN0IGRwX21zdF9zdHJlYW1fYWxsb2NhdGlvbl90YWJsZSBwcm9wb3NlZF90 YWJsZSA9IHswfTsKQEAgLTI0MzgsNyArMjQzOCw3IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBh bGxvY2F0ZV9tc3RfcGF5bG9hZChzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogc3RhdGljIGVu dW0gZGNfc3RhdHVzIGRlYWxsb2NhdGVfbXN0X3BheWxvYWQoc3RydWN0IHBpcGVfY3R4ICpwaXBl X2N0eCkKIHsKIAlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0gPSBwaXBlX2N0eC0+c3Ry ZWFtOwotCXN0cnVjdCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5rLT5saW5rOworCXN0cnVj dCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5saW5rOwogCXN0cnVjdCBsaW5rX2VuY29kZXIgKmxp bmtfZW5jb2RlciA9IGxpbmstPmxpbmtfZW5jOwogCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqc3Ry ZWFtX2VuY29kZXIgPSBwaXBlX2N0eC0+c3RyZWFtX3Jlcy5zdHJlYW1fZW5jOwogCXN0cnVjdCBk cF9tc3Rfc3RyZWFtX2FsbG9jYXRpb25fdGFibGUgcHJvcG9zZWRfdGFibGUgPSB7MH07CkBAIC0y NTIzLDggKzI1MjMsOCBAQCB2b2lkIGNvcmVfbGlua19lbmFibGVfc3RyZWFtKAogCURDX0xPR0dF Ul9JTklUKHBpcGVfY3R4LT5zdHJlYW0tPmN0eC0+bG9nZ2VyKTsKIAogCWlmIChwaXBlX2N0eC0+ c3RyZWFtLT5zaWduYWwgIT0gU0lHTkFMX1RZUEVfVklSVFVBTCkgewotCQlzdHJlYW0tPnNpbmst PmxpbmstPmxpbmtfZW5jLT5mdW5jcy0+c2V0dXAoCi0JCQlzdHJlYW0tPnNpbmstPmxpbmstPmxp bmtfZW5jLAorCQlzdHJlYW0tPmxpbmstPmxpbmtfZW5jLT5mdW5jcy0+c2V0dXAoCisJCQlzdHJl YW0tPmxpbmstPmxpbmtfZW5jLAogCQkJcGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsKTsKIAkJcGlw ZV9jdHgtPnN0cmVhbV9yZXMuc3RyZWFtX2VuYy0+ZnVuY3MtPnNldHVwX3N0ZXJlb19zeW5jKAog CQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMuc3RyZWFtX2VuYywKQEAgLTI1NzYsNyArMjU3Niw3IEBA IHZvaWQgY29yZV9saW5rX2VuYWJsZV9zdHJlYW0oCiAKIAkJaWYgKHN0YXR1cyAhPSBEQ19PSykg ewogCQkJRENfTE9HX1dBUk5JTkcoImVuYWJsaW5nIGxpbmsgJXUgZmFpbGVkOiAlZFxuIiwKLQkJ CXBpcGVfY3R4LT5zdHJlYW0tPnNpbmstPmxpbmstPmxpbmtfaW5kZXgsCisJCQlwaXBlX2N0eC0+ c3RyZWFtLT5saW5rLT5saW5rX2luZGV4LAogCQkJc3RhdHVzKTsKIAogCQkJLyogQWJvcnQgc3Ry ZWFtIGVuYWJsZSAqdW5sZXNzKiB0aGUgZmFpbHVyZSB3YXMgZHVlIHRvCkBAIC0yNjA1LDEyICsy NjA1LDEyIEBAIHZvaWQgY29yZV9saW5rX2VuYWJsZV9zdHJlYW0oCiAJCQlhbGxvY2F0ZV9tc3Rf cGF5bG9hZChwaXBlX2N0eCk7CiAKIAkJY29yZV9kYy0+aHdzcy51bmJsYW5rX3N0cmVhbShwaXBl X2N0eCwKLQkJCSZwaXBlX2N0eC0+c3RyZWFtLT5zaW5rLT5saW5rLT5jdXJfbGlua19zZXR0aW5n cyk7CisJCQkmcGlwZV9jdHgtPnN0cmVhbS0+bGluay0+Y3VyX2xpbmtfc2V0dGluZ3MpOwogCiAJ CWlmIChkY19pc19kcF9zaWduYWwocGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsKSkKIAkJCWVuYWJs ZV9zdHJlYW1fZmVhdHVyZXMocGlwZV9jdHgpOwogCi0JCWRjX2xpbmtfc2V0X2JhY2tsaWdodF9s ZXZlbChwaXBlX2N0eC0+c3RyZWFtLT5zaW5rLT5saW5rLAorCQlkY19saW5rX3NldF9iYWNrbGln aHRfbGV2ZWwocGlwZV9jdHgtPnN0cmVhbS0+bGluaywKIAkJCQlwaXBlX2N0eC0+c3RyZWFtLT5i bF9wd21fbGV2ZWwsCiAJCQkJMCwKIAkJCQlwaXBlX2N0eC0+c3RyZWFtKTsKQEAgLTI2MjksNyAr MjYyOSw3IEBAIHZvaWQgY29yZV9saW5rX2Rpc2FibGVfc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAq cGlwZV9jdHgsIGludCBvcHRpb24pCiAKIAljb3JlX2RjLT5od3NzLmRpc2FibGVfc3RyZWFtKHBp cGVfY3R4LCBvcHRpb24pOwogCi0JZGlzYWJsZV9saW5rKHBpcGVfY3R4LT5zdHJlYW0tPnNpbmst PmxpbmssIHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25hbCk7CisJZGlzYWJsZV9saW5rKHBpcGVfY3R4 LT5zdHJlYW0tPmxpbmssIHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25hbCk7CiB9CiAKIHZvaWQgY29y ZV9saW5rX3NldF9hdm11dGUoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgYm9vbCBlbmFibGUp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5r X2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RwLmMK aW5kZXggODQ5YTNhMy4uZjQwMjcxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGlua19kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjX2xpbmtfZHAuYwpAQCAtMTUxMSw3ICsxNTExLDcgQEAgdm9pZCBkZWNp ZGVfbGlua19zZXR0aW5ncyhzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0sCiAKIAlyZXFf YncgPSBiYW5kd2lkdGhfaW5fa2Jwc19mcm9tX3RpbWluZygmc3RyZWFtLT50aW1pbmcpOwogCi0J bGluayA9IHN0cmVhbS0+c2luay0+bGluazsKKwlsaW5rID0gc3RyZWFtLT5saW5rOwogCiAJLyog aWYgcHJlZmVycmVkIGlzIHNwZWNpZmllZCB0aHJvdWdoIEFNRERQLCB1c2UgaXQsIGlmIGl0J3Mg ZW5vdWdoCiAJICogdG8gZHJpdmUgdGhlIG1vZGUKQEAgLTE1MzMsNyArMTUzMyw3IEBAIHZvaWQg ZGVjaWRlX2xpbmtfc2V0dGluZ3Moc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLAogCX0K IAogCS8qIEVEUCB1c2UgdGhlIGxpbmsgY2FwIHNldHRpbmcgKi8KLQlpZiAoc3RyZWFtLT5zaW5r LT5zaW5rX3NpZ25hbCA9PSBTSUdOQUxfVFlQRV9FRFApIHsKKwlpZiAobGluay0+Y29ubmVjdG9y X3NpZ25hbCA9PSBTSUdOQUxfVFlQRV9FRFApIHsKIAkJKmxpbmtfc2V0dGluZyA9IGxpbmstPnZl cmlmaWVkX2xpbmtfY2FwOwogCQlyZXR1cm47CiAJfQpAQCAtMjYxMyw3ICsyNjEzLDcgQEAgYm9v bCBkY19saW5rX2RwX3NldF90ZXN0X3BhdHRlcm4oCiAJbWVtc2V0KCZ0cmFpbmluZ19wYXR0ZXJu LCAwLCBzaXplb2YodHJhaW5pbmdfcGF0dGVybikpOwogCiAJZm9yIChpID0gMDsgaSA8IE1BWF9Q SVBFUzsgaSsrKSB7Ci0JCWlmIChwaXBlc1tpXS5zdHJlYW0tPnNpbmstPmxpbmsgPT0gbGluaykg eworCQlpZiAocGlwZXNbaV0uc3RyZWFtLT5saW5rID09IGxpbmspIHsKIAkJCXBpcGVfY3R4ID0g JnBpcGVzW2ldOwogCQkJYnJlYWs7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfaHdzcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGlua19od3NzLmMKaW5kZXggODJjZDFkNi4uZjhhZjc3NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19od3Nz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19od3Nz LmMKQEAgLTcwLDggKzcwLDcgQEAgdm9pZCBkcF9lbmFibGVfbGlua19waHkoCiAJICovCiAJZm9y IChpID0gMDsgaSA8IE1BWF9QSVBFUzsgaSsrKSB7CiAJCWlmIChwaXBlc1tpXS5zdHJlYW0gIT0g TlVMTCAmJgotCQkJcGlwZXNbaV0uc3RyZWFtLT5zaW5rICE9IE5VTEwgJiYKLQkJCXBpcGVzW2ld LnN0cmVhbS0+c2luay0+bGluayA9PSBsaW5rKSB7CisJCQlwaXBlc1tpXS5zdHJlYW0tPmxpbmsg PT0gbGluaykgewogCQkJaWYgKHBpcGVzW2ldLmNsb2NrX3NvdXJjZSAhPSBOVUxMICYmCiAJCQkJ CXBpcGVzW2ldLmNsb2NrX3NvdXJjZS0+aWQgIT0gQ0xPQ0tfU09VUkNFX0lEX0RQX0RUTykgewog CQkJCXBpcGVzW2ldLmNsb2NrX3NvdXJjZSA9IGRwX2NzOwpAQCAtMjc4LDEwICsyNzcsOCBAQCB2 b2lkIGRwX3JldHJhaW5fbGlua19kcF90ZXN0KHN0cnVjdCBkY19saW5rICpsaW5rLAogCWZvciAo aSA9IDA7IGkgPCBNQVhfUElQRVM7IGkrKykgewogCQlpZiAocGlwZXNbaV0uc3RyZWFtICE9IE5V TEwgJiYKIAkJCSFwaXBlc1tpXS50b3BfcGlwZSAmJgotCQkJcGlwZXNbaV0uc3RyZWFtLT5zaW5r ICE9IE5VTEwgJiYKLQkJCXBpcGVzW2ldLnN0cmVhbS0+c2luay0+bGluayAhPSBOVUxMICYmCi0J CQlwaXBlc1tpXS5zdHJlYW1fcmVzLnN0cmVhbV9lbmMgIT0gTlVMTCAmJgotCQkJcGlwZXNbaV0u c3RyZWFtLT5zaW5rLT5saW5rID09IGxpbmspIHsKKwkJCXBpcGVzW2ldLnN0cmVhbS0+bGluayAh PSBOVUxMICYmCisJCQlwaXBlc1tpXS5zdHJlYW1fcmVzLnN0cmVhbV9lbmMgIT0gTlVMTCkgewog CQkJdWRlbGF5KDEwMCk7CiAKIAkJCXBpcGVzW2ldLnN0cmVhbV9yZXMuc3RyZWFtX2VuYy0+ZnVu Y3MtPmRwX2JsYW5rKApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGNfcmVzb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3Jl L2RjX3Jlc291cmNlLmMKaW5kZXggYzM0N2FmZC4uY2VlNzEyYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVzb3VyY2UuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJjZS5jCkBAIC0xNTU1LDcgKzE1 NTUsNyBAQCBzdGF0aWMgc3RydWN0IHN0cmVhbV9lbmNvZGVyICpmaW5kX2ZpcnN0X2ZyZWVfbWF0 Y2hfc3RyZWFtX2VuY19mb3JfbGluaygKIHsKIAlpbnQgaTsKIAlpbnQgaiA9IC0xOwotCXN0cnVj dCBkY19saW5rICpsaW5rID0gc3RyZWFtLT5zaW5rLT5saW5rOworCXN0cnVjdCBkY19saW5rICps aW5rID0gc3RyZWFtLT5saW5rOwogCiAJZm9yIChpID0gMDsgaSA8IHBvb2wtPnN0cmVhbV9lbmNf Y291bnQ7IGkrKykgewogCQlpZiAoIXJlc19jdHgtPmlzX3N0cmVhbV9lbmNfYWNxdWlyZWRbaV0g JiYKQEAgLTE3NDQsNyArMTc0NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpm aW5kX3BsbF9zaGFyYWJsZV9zdHJlYW0oCiAJCWlmIChyZXNvdXJjZV9hcmVfc3RyZWFtc190aW1p bmdfc3luY2hyb25pemFibGUoCiAJCQlzdHJlYW1fbmVlZHNfcGxsLCBzdHJlYW1faGFzX3BsbCkK IAkJCSYmICFkY19pc19kcF9zaWduYWwoc3RyZWFtX2hhc19wbGwtPnNpZ25hbCkKLQkJCSYmIHN0 cmVhbV9oYXNfcGxsLT5zaW5rLT5saW5rLT5jb25uZWN0b3Jfc2lnbmFsCisJCQkmJiBzdHJlYW1f aGFzX3BsbC0+bGluay0+Y29ubmVjdG9yX3NpZ25hbAogCQkJIT0gU0lHTkFMX1RZUEVfVklSVFVB TCkKIAkJCXJldHVybiBzdHJlYW1faGFzX3BsbDsKIApAQCAtMTg0Niw3ICsxODQ2LDcgQEAgZW51 bSBkY19zdGF0dXMgcmVzb3VyY2VfbWFwX3Bvb2xfcmVzb3VyY2VzKAogCQl0cnVlKTsKIAogCS8q IFRPRE86IEFkZCBjaGVjayBpZiBBU0lDIHN1cHBvcnQgYW5kIEVESUQgYXVkaW8gKi8KLQlpZiAo IXN0cmVhbS0+c2luay0+Y29udmVydGVyX2Rpc2FibGVfYXVkaW8gJiYKKwlpZiAoIXN0cmVhbS0+ Y29udmVydGVyX2Rpc2FibGVfYXVkaW8gJiYKIAkgICAgZGNfaXNfYXVkaW9fY2FwYWJsZV9zaWdu YWwocGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsKSAmJgogCSAgICBzdHJlYW0tPmF1ZGlvX2luZm8u bW9kZV9jb3VudCkgewogCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy5hdWRpbyA9IGZpbmRfZmlyc3Rf ZnJlZV9hdWRpbygKQEAgLTIxMDgsNyArMjEwOCw3IEBAIHN0YXRpYyB2b2lkIHNldF9hdmlfaW5m b19mcmFtZSgKIAlpdGMgPSB0cnVlOwogCWl0Y192YWx1ZSA9IDE7CiAKLQlzdXBwb3J0ID0gc3Ry ZWFtLT5zaW5rLT5lZGlkX2NhcHMuY29udGVudF9zdXBwb3J0OworCXN1cHBvcnQgPSBzdHJlYW0t PmNvbnRlbnRfc3VwcG9ydDsKIAogCWlmIChpdGMpIHsKIAkJaWYgKCFzdXBwb3J0LmJpdHMudmFs aWRfY29udGVudF90eXBlKSB7CkBAIC0yMTQ3LDggKzIxNDcsOCBAQCBzdGF0aWMgdm9pZCBzZXRf YXZpX2luZm9fZnJhbWUoCiAKIAkvKiBUT0RPIDogV2Ugc2hvdWxkIGhhbmRsZSBZQ0MgcXVhbnRp emF0aW9uICovCiAJLyogYnV0IHdlIGRvIG5vdCBoYXZlIG1hdHJpeCBjYWxjdWxhdGlvbiAqLwot CWlmIChzdHJlYW0tPnNpbmstPmVkaWRfY2Fwcy5xc19iaXQgPT0gMSAmJgotCQkJc3RyZWFtLT5z aW5rLT5lZGlkX2NhcHMucXlfYml0ID09IDEpIHsKKwlpZiAoc3RyZWFtLT5xc19iaXQgPT0gMSAm JgorCQkJc3RyZWFtLT5xeV9iaXQgPT0gMSkgewogCQlpZiAoY29sb3Jfc3BhY2UgPT0gQ09MT1Jf U1BBQ0VfU1JHQiB8fAogCQkJY29sb3Jfc3BhY2UgPT0gQ09MT1JfU1BBQ0VfMjAyMF9SR0JfRlVM TFJBTkdFKSB7CiAJCQloZG1pX2luZm8uYml0cy5RMF9RMSAgID0gUkdCX1FVQU5USVpBVElPTl9G VUxMX1JBTkdFOwpAQCAtMjU5Miw3ICsyNTkyLDcgQEAgdm9pZCByZXNvdXJjZV9idWlsZF9iaXRf ZGVwdGhfcmVkdWN0aW9uX3BhcmFtcyhzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0sCiBl bnVtIGRjX3N0YXR1cyBkY192YWxpZGF0ZV9zdHJlYW0oc3RydWN0IGRjICpkYywgc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqc3RyZWFtKQogewogCXN0cnVjdCBkYyAgKmNvcmVfZGMgPSBkYzsKLQlz dHJ1Y3QgZGNfbGluayAqbGluayA9IHN0cmVhbS0+c2luay0+bGluazsKKwlzdHJ1Y3QgZGNfbGlu ayAqbGluayA9IHN0cmVhbS0+bGluazsKIAlzdHJ1Y3QgdGltaW5nX2dlbmVyYXRvciAqdGcgPSBj b3JlX2RjLT5yZXNfcG9vbC0+dGltaW5nX2dlbmVyYXRvcnNbMF07CiAJZW51bSBkY19zdGF0dXMg cmVzID0gRENfT0s7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9jb3JlL2RjX3N0cmVhbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfc3RyZWFtLmMKaW5kZXggNjZlNWM0Ni4uOGY5ZGM2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKQEAgLTM1LDIwICszNSwxNyBAQAog LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKICAqIFByaXZhdGUgZnVuY3Rpb25zCiAgKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwotdm9pZCB1cGRhdGVfc3RyZWFtX3NpZ25hbChzdHJ1Y3QgZGNfc3RyZWFt X3N0YXRlICpzdHJlYW0pCit2b2lkIHVwZGF0ZV9zdHJlYW1fc2lnbmFsKHN0cnVjdCBkY19zdHJl YW1fc3RhdGUgKnN0cmVhbSwgc3RydWN0IGRjX3NpbmsgKnNpbmspCiB7Ci0KLQlzdHJ1Y3QgZGNf c2luayAqZGNfc2luayA9IHN0cmVhbS0+c2luazsKLQotCWlmIChkY19zaW5rLT5zaW5rX3NpZ25h bCA9PSBTSUdOQUxfVFlQRV9OT05FKQotCQlzdHJlYW0tPnNpZ25hbCA9IHN0cmVhbS0+c2luay0+ bGluay0+Y29ubmVjdG9yX3NpZ25hbDsKKwlpZiAoc2luay0+c2lua19zaWduYWwgPT0gU0lHTkFM X1RZUEVfTk9ORSkKKwkJc3RyZWFtLT5zaWduYWwgPSBzdHJlYW0tPmxpbmstPmNvbm5lY3Rvcl9z aWduYWw7CiAJZWxzZQotCQlzdHJlYW0tPnNpZ25hbCA9IGRjX3NpbmstPnNpbmtfc2lnbmFsOwor CQlzdHJlYW0tPnNpZ25hbCA9IHNpbmstPnNpbmtfc2lnbmFsOwogCiAJaWYgKGRjX2lzX2R2aV9z aWduYWwoc3RyZWFtLT5zaWduYWwpKSB7CiAJCWlmIChzdHJlYW0tPmN0eC0+ZGMtPmNhcHMuZHVh bF9saW5rX2R2aSAmJgogCQkgICAgc3RyZWFtLT50aW1pbmcucGl4X2Nsa19raHogPiBUTURTX01B WF9QSVhFTF9DTE9DSyAmJgotCQkgICAgc3RyZWFtLT5zaW5rLT5zaW5rX3NpZ25hbCAhPSBTSUdO QUxfVFlQRV9EVklfU0lOR0xFX0xJTkspCisJCSAgICBzaW5rLT5zaW5rX3NpZ25hbCAhPSBTSUdO QUxfVFlQRV9EVklfU0lOR0xFX0xJTkspCiAJCQlzdHJlYW0tPnNpZ25hbCA9IFNJR05BTF9UWVBF X0RWSV9EVUFMX0xJTks7CiAJCWVsc2UKIAkJCXN0cmVhbS0+c2lnbmFsID0gU0lHTkFMX1RZUEVf RFZJX1NJTkdMRV9MSU5LOwpAQCAtNjEsMTAgKzU4LDE1IEBAIHN0YXRpYyB2b2lkIGNvbnN0cnVj dChzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0sCiAJdWludDMyX3QgaSA9IDA7CiAKIAlz dHJlYW0tPnNpbmsgPSBkY19zaW5rX2RhdGE7Ci0Jc3RyZWFtLT5jdHggPSBzdHJlYW0tPnNpbmst PmN0eDsKLQogCWRjX3NpbmtfcmV0YWluKGRjX3NpbmtfZGF0YSk7CiAKKwlzdHJlYW0tPmN0eCA9 IGRjX3NpbmtfZGF0YS0+Y3R4OworCXN0cmVhbS0+bGluayA9IGRjX3NpbmtfZGF0YS0+bGluazsK KwlzdHJlYW0tPnNpbmtfcGF0Y2hlcyA9IGRjX3NpbmtfZGF0YS0+ZWRpZF9jYXBzLnBhbmVsX3Bh dGNoOworCXN0cmVhbS0+Y29udmVydGVyX2Rpc2FibGVfYXVkaW8gPSBkY19zaW5rX2RhdGEtPmNv bnZlcnRlcl9kaXNhYmxlX2F1ZGlvOworCXN0cmVhbS0+cXNfYml0ID0gZGNfc2lua19kYXRhLT5l ZGlkX2NhcHMucXNfYml0OworCXN0cmVhbS0+cXlfYml0ID0gZGNfc2lua19kYXRhLT5lZGlkX2Nh cHMucXlfYml0OworCiAJLyogQ29weSBhdWRpbyBtb2RlcyAqLwogCS8qIFRPRE8gLSBSZW1vdmUg dGhpcyB0cmFuc2xhdGlvbiAqLwogCWZvciAoaSA9IDA7IGkgPCAoZGNfc2lua19kYXRhLT5lZGlk X2NhcHMuYXVkaW9fbW9kZV9jb3VudCk7IGkrKykKQEAgLTEwMCw3ICsxMDIsNyBAQCBzdGF0aWMg dm9pZCBjb25zdHJ1Y3Qoc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLAogCS8qIEVESUQg Q0FQIHRyYW5zbGF0aW9uIGZvciBIRE1JIDIuMCAqLwogCXN0cmVhbS0+dGltaW5nLmZsYWdzLkxU RV8zNDBNQ1NDX1NDUkFNQkxFID0gZGNfc2lua19kYXRhLT5lZGlkX2NhcHMubHRlXzM0MG1jc2Nf c2NyYW1ibGU7CiAKLQl1cGRhdGVfc3RyZWFtX3NpZ25hbChzdHJlYW0pOworCXVwZGF0ZV9zdHJl YW1fc2lnbmFsKHN0cmVhbSwgZGNfc2lua19kYXRhKTsKIAogCXN0cmVhbS0+b3V0X3RyYW5zZmVy X2Z1bmMgPSBkY19jcmVhdGVfdHJhbnNmZXJfZnVuYygpOwogCXN0cmVhbS0+b3V0X3RyYW5zZmVy X2Z1bmMtPnR5cGUgPSBURl9UWVBFX0JZUEFTUzsKQEAgLTM0MCwxMCArMzQyLDYgQEAgdm9pZCBk Y19zdHJlYW1fbG9nKGNvbnN0IHN0cnVjdCBkYyAqZGMsIGNvbnN0IHN0cnVjdCBkY19zdHJlYW1f c3RhdGUgKnN0cmVhbSkKIAkJCXN0cmVhbS0+dGltaW5nLnBpeGVsX2VuY29kaW5nLAogCQkJc3Ry ZWFtLT50aW1pbmcuZGlzcGxheV9jb2xvcl9kZXB0aCk7CiAJRENfTE9HX0RDKAotCQkJIlx0c2lu ayBuYW1lOiAlcywgc2VyaWFsOiAlZFxuIiwKLQkJCXN0cmVhbS0+c2luay0+ZWRpZF9jYXBzLmRp c3BsYXlfbmFtZSwKLQkJCXN0cmVhbS0+c2luay0+ZWRpZF9jYXBzLnNlcmlhbF9udW1iZXIpOwot CURDX0xPR19EQygKIAkJCSJcdGxpbms6ICVkXG4iLAotCQkJc3RyZWFtLT5zaW5rLT5saW5rLT5s aW5rX2luZGV4KTsKKwkJCXN0cmVhbS0+bGluay0+bGlua19pbmRleCk7CiB9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNfbGluay5oIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjX2xpbmsuaAppbmRleCAyOWYxOWQ1Li44YTBlNTc2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNfbGluay5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19saW5rLmgKQEAgLTExMCw2ICsxMTAsNyBA QCBzdHJ1Y3QgZGNfbGluayB7CiAJdW5pb24gZGRpX2NoYW5uZWxfbWFwcGluZyBkZGlfY2hhbm5l bF9tYXBwaW5nOwogCXN0cnVjdCBjb25uZWN0b3JfZGV2aWNlX3RhZ19pbmZvIGRldmljZV90YWc7 CiAJc3RydWN0IGRwY2RfY2FwcyBkcGNkX2NhcHM7CisJdWludDMyX3QgZG9uZ2xlX21heF9waXhf Y2xrOwogCXVuc2lnbmVkIHNob3J0IGNoaXBfY2FwczsKIAl1bnNpZ25lZCBpbnQgZHBjZF9zaW5r X2NvdW50OwogCWVudW0gZWRwX3JldmlzaW9uIGVkcF9yZXZpc2lvbjsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaCBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaAppbmRleCBiZTM0ZDYzLi4zOWIzMDE2ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX3N0cmVhbS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY19zdHJlYW0uaApAQCAtNTEsNyArNTEs MTMgQEAgc3RydWN0IGZyZWVzeW5jX2NvbnRleHQgewogfTsKIAogc3RydWN0IGRjX3N0cmVhbV9z dGF0ZSB7CisJLy8gc2luayBpcyBkZXByZWNhdGVkLCBuZXcgY29kZSBzaG91bGQgbm90IHJlZmVy ZW5jZQorCS8vIHRoaXMgcG9pbnRlcgogCXN0cnVjdCBkY19zaW5rICpzaW5rOworCisJc3RydWN0 IGRjX2xpbmsgKmxpbms7CisJc3RydWN0IGRjX3BhbmVsX3BhdGNoIHNpbmtfcGF0Y2hlczsKKwl1 bmlvbiBkaXNwbGF5X2NvbnRlbnRfc3VwcG9ydCBjb250ZW50X3N1cHBvcnQ7CiAJc3RydWN0IGRj X2NydGNfdGltaW5nIHRpbWluZzsKIAlzdHJ1Y3QgZGNfY3J0Y190aW1pbmdfYWRqdXN0IGFkanVz dDsKIAlzdHJ1Y3QgZGNfaW5mb19wYWNrZXQgdnJyX2luZm9wYWNrZXQ7CkBAIC04MCw2ICs4Niw5 IEBAIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgewogCWVudW0gdmlld18zZF9mb3JtYXQgdmlld19m b3JtYXQ7CiAKIAlib29sIGlnbm9yZV9tc2FfdGltaW5nX3BhcmFtOworCWJvb2wgY29udmVydGVy X2Rpc2FibGVfYXVkaW87CisJdWludDhfdCBxc19iaXQ7CisJdWludDhfdCBxeV9iaXQ7CiAKIAl1 bnNpZ25lZCBsb25nIGxvbmcgcGVyaW9kaWNfZm5fdnN5bmNfZGVsdGE7CiAKQEAgLTEwNSw2ICsx MTQsOCBAQCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlIHsKIAlib29sIGRwbXNfb2ZmOwogCWJvb2wg YXBwbHlfZWRwX2Zhc3RfYm9vdF9vcHRpbWl6YXRpb247CiAKKwl2b2lkICpkbV9zdHJlYW1fY29u dGV4dDsKKwogCXN0cnVjdCBkY19jdXJzb3JfYXR0cmlidXRlcyBjdXJzb3JfYXR0cmlidXRlczsK IAlzdHJ1Y3QgZGNfY3Vyc29yX3Bvc2l0aW9uIGN1cnNvcl9wb3NpdGlvbjsKIAl1aW50MzJfdCBz ZHJfd2hpdGVfbGV2ZWw7IC8vIGZvciBib29zdGluZyAoU0RSKSBjdXJzb3IgaW4gSERSIG1vZGUK QEAgLTI1Niw3ICsyNjcsNyBAQCBlbnVtIHN1cmZhY2VfdXBkYXRlX3R5cGUgZGNfY2hlY2tfdXBk YXRlX3N1cmZhY2VzX2Zvcl9zdHJlYW0oCiAgKi8KIHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmRj X2NyZWF0ZV9zdHJlYW1fZm9yX3Npbmsoc3RydWN0IGRjX3NpbmsgKmRjX3NpbmspOwogCi12b2lk IHVwZGF0ZV9zdHJlYW1fc2lnbmFsKHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSk7Cit2 b2lkIHVwZGF0ZV9zdHJlYW1fc2lnbmFsKHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSwg c3RydWN0IGRjX3NpbmsgKnNpbmspOwogCiB2b2lkIGRjX3N0cmVhbV9yZXRhaW4oc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqZGNfc3RyZWFtKTsKIHZvaWQgZGNfc3RyZWFtX3JlbGVhc2Uoc3RydWN0 IGRjX3N0cmVhbV9zdGF0ZSAqZGNfc3RyZWFtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX2Nsa19tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY2UvZGNlX2Nsa19tZ3IuYwppbmRleCBiZDIyZjUxLi42YzA5YzNhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9jbGtfbWdyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfY2xrX21nci5jCkBA IC00ODMsMTUgKzQ4MywxNSBAQCB2b2lkIGRjZTExMF9maWxsX2Rpc3BsYXlfY29uZmlncygKIAkJ Y2ZnLT5zcmNfaGVpZ2h0ID0gc3RyZWFtLT5zcmMuaGVpZ2h0OwogCQljZmctPnNyY193aWR0aCA9 IHN0cmVhbS0+c3JjLndpZHRoOwogCQljZmctPmRkaV9jaGFubmVsX21hcHBpbmcgPQotCQkJc3Ry ZWFtLT5zaW5rLT5saW5rLT5kZGlfY2hhbm5lbF9tYXBwaW5nLnJhdzsKKwkJCXN0cmVhbS0+bGlu ay0+ZGRpX2NoYW5uZWxfbWFwcGluZy5yYXc7CiAJCWNmZy0+dHJhbnNtaXR0ZXIgPQotCQkJc3Ry ZWFtLT5zaW5rLT5saW5rLT5saW5rX2VuYy0+dHJhbnNtaXR0ZXI7CisJCQlzdHJlYW0tPmxpbmst PmxpbmtfZW5jLT50cmFuc21pdHRlcjsKIAkJY2ZnLT5saW5rX3NldHRpbmdzLmxhbmVfY291bnQg PQotCQkJc3RyZWFtLT5zaW5rLT5saW5rLT5jdXJfbGlua19zZXR0aW5ncy5sYW5lX2NvdW50Owor CQkJc3RyZWFtLT5saW5rLT5jdXJfbGlua19zZXR0aW5ncy5sYW5lX2NvdW50OwogCQljZmctPmxp bmtfc2V0dGluZ3MubGlua19yYXRlID0KLQkJCXN0cmVhbS0+c2luay0+bGluay0+Y3VyX2xpbmtf c2V0dGluZ3MubGlua19yYXRlOworCQkJc3RyZWFtLT5saW5rLT5jdXJfbGlua19zZXR0aW5ncy5s aW5rX3JhdGU7CiAJCWNmZy0+bGlua19zZXR0aW5ncy5saW5rX3NwcmVhZCA9Ci0JCQlzdHJlYW0t PnNpbmstPmxpbmstPmN1cl9saW5rX3NldHRpbmdzLmxpbmtfc3ByZWFkOworCQkJc3RyZWFtLT5s aW5rLT5jdXJfbGlua19zZXR0aW5ncy5saW5rX3NwcmVhZDsKIAkJY2ZnLT5zeW1fY2xvY2sgPSBz dHJlYW0tPnBoeV9waXhfY2xrOwogCQkvKiBSb3VuZCB2X3JlZnJlc2gqLwogCQljZmctPnZfcmVm cmVzaCA9IHN0cmVhbS0+dGltaW5nLnBpeF9jbGtfa2h6ICogMTAwMDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX2xpbmtfZW5jb2Rlci5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfbGlua19lbmNvZGVyLmMKaW5kZXgg M2UxOGVhOC4uMWQ3OTRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2RjZS9kY2VfbGlua19lbmNvZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjZS9kY2VfbGlua19lbmNvZGVyLmMKQEAgLTc4OCw3ICs3ODgsNyBAQCBib29sIGRj ZTExMF9saW5rX2VuY29kZXJfdmFsaWRhdGVfb3V0cHV0X3dpdGhfc3RyZWFtKAogCWNhc2UgU0lH TkFMX1RZUEVfRFZJX0RVQUxfTElOSzoKIAkJaXNfdmFsaWQgPSBkY2UxMTBfbGlua19lbmNvZGVy X3ZhbGlkYXRlX2R2aV9vdXRwdXQoCiAJCQllbmMxMTAsCi0JCQlzdHJlYW0tPnNpbmstPmxpbmst PmNvbm5lY3Rvcl9zaWduYWwsCisJCQlzdHJlYW0tPmxpbmstPmNvbm5lY3Rvcl9zaWduYWwsCiAJ CQlzdHJlYW0tPnNpZ25hbCwKIAkJCSZzdHJlYW0tPnRpbWluZyk7CiAJYnJlYWs7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9od19zZXF1 ZW5jZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX2h3 X3NlcXVlbmNlci5jCmluZGV4IDYzNDliYTcuLjhhYzU0YmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX2h3X3NlcXVlbmNlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTAvZGNlMTEwX2h3X3NlcXVlbmNl ci5jCkBAIC02MTcsMTIgKzYxNywxMSBAQCBkY2UxMTBfc2V0X291dHB1dF90cmFuc2Zlcl9mdW5j KHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgsCiBzdGF0aWMgZW51bSBkY19zdGF0dXMgYmlvc19w YXJzZXJfY3J0Y19zb3VyY2Vfc2VsZWN0KAogCQlzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQog ewotCXN0cnVjdCBkY19iaW9zICpkY2I7CisJc3RydWN0IGRjX2Jpb3MgKmRjYiA9IHBpcGVfY3R4 LT5zdHJlYW0tPmN0eC0+ZGNfYmlvczsKIAkvKiBjYWxsIFZCSU9TIHRhYmxlIHRvIHNldCBDUlRD IHNvdXJjZSBmb3IgdGhlIEhXCiAJICogZW5jb2RlciBibG9jawogCSAqIG5vdGU6IHZpZGVvIGJp b3MgY2xlYXJzIGFsbCBGTVQgc2V0dGluZyBoZXJlLiAqLwogCXN0cnVjdCBicF9jcnRjX3NvdXJj ZV9zZWxlY3QgY3J0Y19zb3VyY2Vfc2VsZWN0ID0gezB9OwotCWNvbnN0IHN0cnVjdCBkY19zaW5r ICpzaW5rID0gcGlwZV9jdHgtPnN0cmVhbS0+c2luazsKIAogCWNydGNfc291cmNlX3NlbGVjdC5l bmdpbmVfaWQgPSBwaXBlX2N0eC0+c3RyZWFtX3Jlcy5zdHJlYW1fZW5jLT5pZDsKIAljcnRjX3Nv dXJjZV9zZWxlY3QuY29udHJvbGxlcl9pZCA9IHBpcGVfY3R4LT5zdHJlYW1fcmVzLnRnLT5pbnN0 ICsgMTsKQEAgLTY1Miw4ICs2NTEsNiBAQCBzdGF0aWMgZW51bSBkY19zdGF0dXMgYmlvc19wYXJz ZXJfY3J0Y19zb3VyY2Vfc2VsZWN0KAogCQlicmVhazsKIAl9CiAKLQlkY2IgPSBzaW5rLT5jdHgt PmRjX2Jpb3M7Ci0KIAlpZiAoQlBfUkVTVUxUX09LICE9IGRjYi0+ZnVuY3MtPmNydGNfc291cmNl X3NlbGVjdCgKIAkJZGNiLAogCQkmY3J0Y19zb3VyY2Vfc2VsZWN0KSkgewpAQCAtNjkyLDEwICs2 ODksMTAgQEAgdm9pZCBkY2UxMTBfdXBkYXRlX2luZm9fZnJhbWUoc3RydWN0IHBpcGVfY3R4ICpw aXBlX2N0eCkKIHZvaWQgZGNlMTEwX2VuYWJsZV9zdHJlYW0oc3RydWN0IHBpcGVfY3R4ICpwaXBl X2N0eCkKIHsKIAllbnVtIGRjX2xhbmVfY291bnQgbGFuZV9jb3VudCA9Ci0JCXBpcGVfY3R4LT5z dHJlYW0tPnNpbmstPmxpbmstPmN1cl9saW5rX3NldHRpbmdzLmxhbmVfY291bnQ7CisJCXBpcGVf Y3R4LT5zdHJlYW0tPmxpbmstPmN1cl9saW5rX3NldHRpbmdzLmxhbmVfY291bnQ7CiAKIAlzdHJ1 Y3QgZGNfY3J0Y190aW1pbmcgKnRpbWluZyA9ICZwaXBlX2N0eC0+c3RyZWFtLT50aW1pbmc7Ci0J c3RydWN0IGRjX2xpbmsgKmxpbmsgPSBwaXBlX2N0eC0+c3RyZWFtLT5zaW5rLT5saW5rOworCXN0 cnVjdCBkY19saW5rICpsaW5rID0gcGlwZV9jdHgtPnN0cmVhbS0+bGluazsKIAogCiAJdWludDMy X3QgYWN0aXZlX3RvdGFsX3dpdGhfYm9yZGVyczsKQEAgLTEwNDgsNyArMTA0NSw3IEBAIHZvaWQg ZGNlMTEwX2Rpc2FibGVfYXVkaW9fc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgsIGlu dCBvcHRpb24pCiB2b2lkIGRjZTExMF9kaXNhYmxlX3N0cmVhbShzdHJ1Y3QgcGlwZV9jdHggKnBp cGVfY3R4LCBpbnQgb3B0aW9uKQogewogCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSA9 IHBpcGVfY3R4LT5zdHJlYW07Ci0Jc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBzdHJlYW0tPnNpbmst Pmxpbms7CisJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBzdHJlYW0tPmxpbms7CiAJc3RydWN0IGRj ICpkYyA9IHBpcGVfY3R4LT5zdHJlYW0tPmN0eC0+ZGM7CiAKIAlpZiAoZGNfaXNfaGRtaV9zaWdu YWwocGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsKSkKQEAgLTEwNzMsNyArMTA3MCw3IEBAIHZvaWQg ZGNlMTEwX3VuYmxhbmtfc3RyZWFtKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9jdHgsCiB7CiAJc3Ry dWN0IGVuY29kZXJfdW5ibGFua19wYXJhbSBwYXJhbXMgPSB7IHsgMCB9IH07CiAJc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqc3RyZWFtID0gcGlwZV9jdHgtPnN0cmVhbTsKLQlzdHJ1Y3QgZGNfbGlu ayAqbGluayA9IHN0cmVhbS0+c2luay0+bGluazsKKwlzdHJ1Y3QgZGNfbGluayAqbGluayA9IHN0 cmVhbS0+bGluazsKIAogCS8qIG9ubHkgMyBpdGVtcyBiZWxvdyBhcmUgdXNlZCBieSB1bmJsYW5r ICovCiAJcGFyYW1zLnBpeGVsX2Nsa19raHogPQpAQCAtMTA5MCw3ICsxMDg3LDcgQEAgdm9pZCBk Y2UxMTBfdW5ibGFua19zdHJlYW0oc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwKIHZvaWQgZGNl MTEwX2JsYW5rX3N0cmVhbShzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogewogCXN0cnVjdCBk Y19zdHJlYW1fc3RhdGUgKnN0cmVhbSA9IHBpcGVfY3R4LT5zdHJlYW07Ci0Jc3RydWN0IGRjX2xp bmsgKmxpbmsgPSBzdHJlYW0tPnNpbmstPmxpbms7CisJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBz dHJlYW0tPmxpbms7CiAKIAlpZiAobGluay0+bG9jYWxfc2luayAmJiBsaW5rLT5sb2NhbF9zaW5r LT5zaW5rX3NpZ25hbCA9PSBTSUdOQUxfVFlQRV9FRFApIHsKIAkJbGluay0+ZGMtPmh3c3MuZWRw X2JhY2tsaWdodF9jb250cm9sKGxpbmssIGZhbHNlKTsKQEAgLTEzOTksNyArMTM5Niw3IEBAIHN0 YXRpYyBlbnVtIGRjX3N0YXR1cyBhcHBseV9zaW5nbGVfY29udHJvbGxlcl9jdHhfdG9faHcoCiAK IAlwaXBlX2N0eC0+cGxhbmVfcmVzLnNjbF9kYXRhLmxiX3BhcmFtcy5hbHBoYV9lbiA9IHBpcGVf Y3R4LT5ib3R0b21fcGlwZSAhPSAwOwogCi0JcGlwZV9jdHgtPnN0cmVhbS0+c2luay0+bGluay0+ cHNyX2VuYWJsZWQgPSBmYWxzZTsKKwlwaXBlX2N0eC0+c3RyZWFtLT5saW5rLT5wc3JfZW5hYmxl ZCA9IGZhbHNlOwogCiAJcmV0dXJuIERDX09LOwogfQpAQCAtMTgwNCwxOCArMTgwMSwxNSBAQCBz dGF0aWMgYm9vbCBzaG91bGRfZW5hYmxlX2ZiYyhzdHJ1Y3QgZGMgKmRjLAogCWlmIChpID09IGRj LT5yZXNfcG9vbC0+cGlwZV9jb3VudCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKCFwaXBlX2N0 eC0+c3RyZWFtLT5zaW5rKQotCQlyZXR1cm4gZmFsc2U7Ci0KLQlpZiAoIXBpcGVfY3R4LT5zdHJl YW0tPnNpbmstPmxpbmspCisJaWYgKCFwaXBlX2N0eC0+c3RyZWFtLT5saW5rKQogCQlyZXR1cm4g ZmFsc2U7CiAKIAkvKiBPbmx5IHN1cHBvcnRzIGVEUCAqLwotCWlmIChwaXBlX2N0eC0+c3RyZWFt LT5zaW5rLT5saW5rLT5jb25uZWN0b3Jfc2lnbmFsICE9IFNJR05BTF9UWVBFX0VEUCkKKwlpZiAo cGlwZV9jdHgtPnN0cmVhbS0+bGluay0+Y29ubmVjdG9yX3NpZ25hbCAhPSBTSUdOQUxfVFlQRV9F RFApCiAJCXJldHVybiBmYWxzZTsKIAogCS8qIFBTUiBzaG91bGQgbm90IGJlIGVuYWJsZWQgKi8K LQlpZiAocGlwZV9jdHgtPnN0cmVhbS0+c2luay0+bGluay0+cHNyX2VuYWJsZWQpCisJaWYgKHBp cGVfY3R4LT5zdHJlYW0tPmxpbmstPnBzcl9lbmFibGVkKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkv KiBOb3RoaW5nIHRvIGNvbXByZXNzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfcmVzb3VyY2UuYwppbmRleCBlMzNkMTE3Li4zYzk4 OWI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2Rj ZTExMF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2Ux MTAvZGNlMTEwX3Jlc291cmNlLmMKQEAgLTc4MCw3ICs3ODAsNyBAQCBzdGF0aWMgdm9pZCBnZXRf cGl4ZWxfY2xvY2tfcGFyYW1ldGVycygKIAkgKiBpbiBwbGxfYWRqdXN0X3BpeF9jbGsKIAkgKi8K IAlwaXhlbF9jbGtfcGFyYW1zLT5yZXF1ZXN0ZWRfcGl4X2NsayA9IHN0cmVhbS0+dGltaW5nLnBp eF9jbGtfa2h6OwotCXBpeGVsX2Nsa19wYXJhbXMtPmVuY29kZXJfb2JqZWN0X2lkID0gc3RyZWFt LT5zaW5rLT5saW5rLT5saW5rX2VuYy0+aWQ7CisJcGl4ZWxfY2xrX3BhcmFtcy0+ZW5jb2Rlcl9v YmplY3RfaWQgPSBzdHJlYW0tPmxpbmstPmxpbmtfZW5jLT5pZDsKIAlwaXhlbF9jbGtfcGFyYW1z LT5zaWduYWxfdHlwZSA9IHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25hbDsKIAlwaXhlbF9jbGtfcGFy YW1zLT5jb250cm9sbGVyX2lkID0gcGlwZV9jdHgtPnN0cmVhbV9yZXMudGctPmluc3QgKyAxOwog CS8qIFRPRE86IHVuLWhhcmRjb2RlKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY2UxMTIvZGNlMTEyX3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5jCmluZGV4IDk2OWQ0ZTcuLmMyYTcx MzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UxMTIvZGNl MTEyX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTEx Mi9kY2UxMTJfcmVzb3VyY2UuYwpAQCAtNzYzLDcgKzc2Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgY2xv Y2tfc291cmNlICpmaW5kX21hdGNoaW5nX3BsbCgKIAkJY29uc3Qgc3RydWN0IHJlc291cmNlX3Bv b2wgKnBvb2wsCiAJCWNvbnN0IHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKmNvbnN0IHN0cmVhbSkK IHsKLQlzd2l0Y2ggKHN0cmVhbS0+c2luay0+bGluay0+bGlua19lbmMtPnRyYW5zbWl0dGVyKSB7 CisJc3dpdGNoIChzdHJlYW0tPmxpbmstPmxpbmtfZW5jLT50cmFuc21pdHRlcikgewogCWNhc2Ug VFJBTlNNSVRURVJfVU5JUEhZX0E6CiAJCXJldHVybiBwb29sLT5jbG9ja19zb3VyY2VzW0RDRTEx Ml9DTEtfU1JDX1BMTDBdOwogCWNhc2UgVFJBTlNNSVRURVJfVU5JUEhZX0I6CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2Vy LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVu Y2VyLmMKaW5kZXggNzVkMGU1My4uMjQzMmE1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3X3NlcXVlbmNlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYwpAQCAtMjUx NSw3ICsyNTE1LDcgQEAgc3RhdGljIHZvaWQgZGNuMTBfY29uZmlnX3N0ZXJlb19wYXJhbWV0ZXJz KAogCQkJdGltaW5nXzNkX2Zvcm1hdCA9PSBUSU1JTkdfM0RfRk9STUFUX0RQX0hETUlfSU5CQU5E X0ZBIHx8CiAJCQl0aW1pbmdfM2RfZm9ybWF0ID09IFRJTUlOR18zRF9GT1JNQVRfU0lERUJBTkRf RkEpIHsKIAkJCWVudW0gZGlzcGxheV9kb25nbGVfdHlwZSBkb25nbGUgPSBcCi0JCQkJCXN0cmVh bS0+c2luay0+bGluay0+ZGRjLT5kb25nbGVfdHlwZTsKKwkJCQkJc3RyZWFtLT5saW5rLT5kZGMt PmRvbmdsZV90eXBlOwogCQkJaWYgKGRvbmdsZSA9PSBESVNQTEFZX0RPTkdMRV9EUF9WR0FfQ09O VkVSVEVSIHx8CiAJCQkJZG9uZ2xlID09IERJU1BMQVlfRE9OR0xFX0RQX0RWSV9DT05WRVJURVIg fHwKIAkJCQlkb25nbGUgPT0gRElTUExBWV9ET05HTEVfRFBfSERNSV9DT05WRVJURVIpCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbGlua19l bmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbGlu a19lbmNvZGVyLmMKaW5kZXggNDc3YWI5Mi4uYWVmZTg5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2xpbmtfZW5jb2Rlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5rX2VuY29kZXIuYwpA QCAtNzM4LDcgKzczOCw3IEBAIGJvb2wgZGNuMTBfbGlua19lbmNvZGVyX3ZhbGlkYXRlX291dHB1 dF93aXRoX3N0cmVhbSgKIAljYXNlIFNJR05BTF9UWVBFX0RWSV9EVUFMX0xJTks6CiAJCWlzX3Zh bGlkID0gZGNuMTBfbGlua19lbmNvZGVyX3ZhbGlkYXRlX2R2aV9vdXRwdXQoCiAJCQllbmMxMCwK LQkJCXN0cmVhbS0+c2luay0+bGluay0+Y29ubmVjdG9yX3NpZ25hbCwKKwkJCXN0cmVhbS0+bGlu ay0+Y29ubmVjdG9yX3NpZ25hbCwKIAkJCXN0cmVhbS0+c2lnbmFsLAogCQkJJnN0cmVhbS0+dGlt aW5nKTsKIAlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9kY24xMC9kY24xMF9yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX3Jlc291cmNlLmMKaW5kZXggNWQ0NzcyZC4uNmFiMWNhMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNlLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3Jlc291cmNl LmMKQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgdm9pZCBnZXRfcGl4ZWxfY2xvY2tfcGFyYW1l dGVycygKIHsKIAljb25zdCBzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpzdHJlYW0gPSBwaXBlX2N0 eC0+c3RyZWFtOwogCXBpeGVsX2Nsa19wYXJhbXMtPnJlcXVlc3RlZF9waXhfY2xrID0gc3RyZWFt LT50aW1pbmcucGl4X2Nsa19raHo7Ci0JcGl4ZWxfY2xrX3BhcmFtcy0+ZW5jb2Rlcl9vYmplY3Rf aWQgPSBzdHJlYW0tPnNpbmstPmxpbmstPmxpbmtfZW5jLT5pZDsKKwlwaXhlbF9jbGtfcGFyYW1z LT5lbmNvZGVyX29iamVjdF9pZCA9IHN0cmVhbS0+bGluay0+bGlua19lbmMtPmlkOwogCXBpeGVs X2Nsa19wYXJhbXMtPnNpZ25hbF90eXBlID0gcGlwZV9jdHgtPnN0cmVhbS0+c2lnbmFsOwogCXBp eGVsX2Nsa19wYXJhbXMtPmNvbnRyb2xsZXJfaWQgPSBwaXBlX2N0eC0+c3RyZWFtX3Jlcy50Zy0+ aW5zdCArIDE7CiAJLyogVE9ETzogdW4taGFyZGNvZGUqLwotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=