From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v3 7/7] drm: Rename connector list iterator API Date: Tue, 28 Feb 2017 15:46:43 +0100 Message-ID: <20170228144643.5668-8-thierry.reding@gmail.com> References: <20170228144643.5668-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A6EE6E747 for ; Tue, 28 Feb 2017 14:47:01 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id g10so1926084wrg.0 for ; Tue, 28 Feb 2017 06:47:01 -0800 (PST) In-Reply-To: <20170228144643.5668-1-thierry.reding@gmail.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: Daniel Vetter , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkN1cnJlbnRseSB0aGUg ZnVuY3Rpb25zIHRoYXQgaW5pdGlhbGl6ZSBhbmQgdGVhciBkb3duIGEgY29ubmVjdG9yCml0ZXJh dG9yIHVzZSB0aGUgX2dldCgpIGFuZCBfcHV0KCkgc3VmZml4ZXMuIEhvd2V2ZXIsIHRoZXNlIHN1 ZmZpeGVzCmFyZSB0eXBpY2FsbHkgdXNlZCBieSByZWZlcmVuY2UgY291bnRpbmcgZnVuY3Rpb25z LgoKTWFrZSB0aGVzZSBmdW5jdGlvbiBuYW1lcyBhIGxpdHRsZSBtb3JlIGNvbnNpc3RlbnQgYnkg Y2hhbmdpbmcgdGhlCnN1ZmZpeGVzIHRvIF9iZWdpbigpIGFuZCBfZW5kKCksIHdoaWNoIGlzIGEg ZmFpcmx5IGNvbW1vbiBwYXR0ZXJuIGluCnRoZSByZXN0IG9mIHRoZSBMaW51eCBrZXJuZWwuCgpT dWdnZXN0ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAxMCArKysrKy0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyAgICAgfCAyNCArKysrKysrKysrKystLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyAgIHwgMzYgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2VuY29kZXIu YyAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyAgICAg fCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgICB8IDE4ICsrKysr KysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYyAgfCAgNCAr Ky0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jICB8IDEyICsrKysrKy0tLS0t LQogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgfCAxMiArKysrKystLS0tLS0K IDEwIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCmluZGV4IGZmNWYxNzU2YTdmZi4uM2U3YzQwM2FmOTIyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMKQEAgLTE0MjEsMTggKzE0MjEsMTggQEAgZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRf Y29ubmVjdG9ycyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJICogQ2hhbmdlZCBj b25uZWN0b3JzIGFyZSBhbHJlYWR5IGluIEBzdGF0ZSwgc28gb25seSBuZWVkIHRvIGxvb2sgYXQg dGhlCiAJICogY3VycmVudCBjb25maWd1cmF0aW9uLgogCSAqLwotCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2dldChzdGF0ZS0+ZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9iZWdpbihzdGF0ZS0+ZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1fZm9yX2VhY2hfY29ubmVj dG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJCWlmIChjb25uZWN0b3ItPnN0YXRl LT5jcnRjICE9IGNydGMpCiAJCQljb250aW51ZTsKIAogCQljb25uX3N0YXRlID0gZHJtX2F0b21p Y19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwogCQlpZiAoSVNfRVJSKGNv bm5fc3RhdGUpKSB7Ci0JCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7 CisJCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CiAJCQlyZXR1cm4g UFRSX0VSUihjb25uX3N0YXRlKTsKIAkJfQogCX0KLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9w dXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIp OwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNjk0LDEwICsxNjk0LDEwIEBAIHZvaWQgZHJtX3N0YXRl X2R1bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVyICpwKQogCWxp c3RfZm9yX2VhY2hfZW50cnkoY3J0YywgJmNvbmZpZy0+Y3J0Y19saXN0LCBoZWFkKQogCQlkcm1f YXRvbWljX2NydGNfcHJpbnRfc3RhdGUocCwgY3J0Yy0+c3RhdGUpOwogCi0JZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIo Y29ubmVjdG9yLCAmY29ubl9pdGVyKQogCQlkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0 ZShwLCBjb25uZWN0b3ItPnN0YXRlKTsKLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNv bm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwogfQog RVhQT1JUX1NZTUJPTChkcm1fc3RhdGVfZHVtcCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKaW5kZXggNmY5NGZjYTRjNjAxLi4zYzJjMDdmZjcxNjggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCkBAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIGludCBoYW5kbGVfY29u ZmxpY3RpbmdfZW5jb2RlcnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCSAqIGFu ZCB0aGUgY3J0YyBpcyBkaXNhYmxlZCBpZiBubyBlbmNvZGVyIGlzIGxlZnQuIFRoaXMgcHJlc2Vy dmVzCiAJICogY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBsZWdhY3kgc2V0X2NvbmZpZyBiZWhhdmlv ci4KIAkgKi8KLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoc3RhdGUtPmRldiwgJmNvbm5f aXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oc3RhdGUtPmRldiwgJmNvbm5f aXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRl cikgewogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAKQEAgLTE5Myw3ICsx OTMsNyBAQCBzdGF0aWMgaW50IGhhbmRsZV9jb25mbGljdGluZ19lbmNvZGVycyhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCX0KIAl9CiBvdXQ6Ci0JZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29u bl9pdGVyKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0yNDI5LDcgKzI0MjksNyBAQCBpbnQgZHJt X2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCXN0 YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKIAotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChk ZXYsICZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwgJmNv bm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm4sICZjb25uX2l0ZXIp IHsKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY29ubi0+c3RhdGUtPmNydGM7CiAJCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKQEAgLTI0NDgsNyArMjQ0OCw3IEBAIGludCBk cm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJ ZXJyID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwogZnJlZToKLQlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZj b25uX2l0ZXIpOwogCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKIAlyZXR1cm4gZXJyOwog fQpAQCAtMjk0MCw3ICsyOTQwLDcgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9k cG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAKIAlXQVJOX09OKCFkcm1fbW9k ZXNldF9pc19sb2NrZWQoJmNvbmZpZy0+Y29ubmVjdGlvbl9tdXRleCkpOwogCi0JZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfZ2V0KGNvbm5lY3Rvci0+ZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9iZWdpbihjb25uZWN0b3ItPmRldiwgJmNvbm5faXRlcik7CiAJZHJt X2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKHRtcF9jb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJ aWYgKHRtcF9jb25uZWN0b3ItPnN0YXRlLT5jcnRjICE9IGNydGMpCiAJCQljb250aW51ZTsKQEAg LTI5NTAsNyArMjk1MCw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJYnJlYWs7CiAJCX0KIAl9Ci0JZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKIAljcnRjX3N0YXRlLT5hY3RpdmUgPSBhY3RpdmU7CiAK IAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CkBAIC0zMzYwLDE4ICszMzYwLDE4IEBA IGRybV9hdG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCQl9CiAJfQogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRl cik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlk cm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubiwgJmNvbm5faXRlcikgewogCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKIAogCQljb25uX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uKTsKIAkJaWYgKElTX0VSUihjb25u X3N0YXRlKSkgewogCQkJZXJyID0gUFRSX0VSUihjb25uX3N0YXRlKTsKLQkJCWRybV9jb25uZWN0 b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwkJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVy X2VuZCgmY29ubl9pdGVyKTsKIAkJCWdvdG8gZnJlZTsKIAkJfQogCX0KLQlkcm1fY29ubmVjdG9y X2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5k KCZjb25uX2l0ZXIpOwogCiAJLyogY2xlYXIgdGhlIGFjcXVpcmUgY29udGV4dCBzbyB0aGF0IGl0 IGlzbid0IGFjY2lkZW50YWxseSByZXVzZWQgKi8KIAlzdGF0ZS0+YWNxdWlyZV9jdHggPSBOVUxM OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMKaW5kZXggMGRjMGU1YjMzZjhhLi4zODMzMjc4YzQyMDIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwpAQCAtNDQ1LDEwICs0NDUsMTAgQEAgdm9pZCBkcm1f Y29ubmVjdG9yX3VucmVnaXN0ZXJfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXIgY29ubl9pdGVyOwogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5f aXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsK IAlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKQogCQlk cm1fY29ubmVjdG9yX3VucmVnaXN0ZXIoY29ubmVjdG9yKTsKLQlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25u X2l0ZXIpOwogfQogCiBpbnQgZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcl9hbGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKQEAgLTQ1NywxMyArNDU3LDEzIEBAIGludCBkcm1fY29ubmVjdG9yX3JlZ2lz dGVyX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBkcm1fY29ubmVjdG9yX2xp c3RfaXRlciBjb25uX2l0ZXI7CiAJaW50IHJldCA9IDA7CiAKLQlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdp bihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0 b3IsICZjb25uX2l0ZXIpIHsKIAkJcmV0ID0gZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcihjb25uZWN0 b3IpOwogCQlpZiAocmV0KQogCQkJYnJlYWs7CiAJfQotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVy X3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRl cik7CiAKIAlpZiAocmV0KQogCQlkcm1fY29ubmVjdG9yX3VucmVnaXN0ZXJfYWxsKGRldik7CkBA IC00OTUsMjMgKzQ5NSwyMyBAQCBzdGF0aWMgc3RydWN0IGxvY2tkZXBfbWFwIGNvbm5lY3Rvcl9s aXN0X2l0ZXJfZGVwX21hcCA9IHsKICNlbmRpZgogCiAvKioKLSAqIGRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2dldCAtIGluaXRpYWxpemUgYSBjb25uZWN0b3JfbGlzdCBpdGVyYXRvcgorICogZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4gLSBpbml0aWFsaXplIGEgY29ubmVjdG9yX2xpc3Qg aXRlcmF0b3IKICAqIEBkZXY6IERSTSBkZXZpY2UKICAqIEBpdGVyOiBjb25uZWN0b3JfbGlzdCBp dGVyYXRvcgogICoKICAqIFNldHMgQGl0ZXIgdXAgdG8gd2FsayB0aGUgJmRybV9tb2RlX2NvbmZp Zy5jb25uZWN0b3JfbGlzdCBvZiBAZGV2LiBAaXRlcgotICogbXVzdCBhbHdheXMgYmUgY2xlYW5l ZCB1cCBhZ2FpbiBieSBjYWxsaW5nIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgpLgorICog bXVzdCBhbHdheXMgYmUgY2xlYW5lZCB1cCBhZ2FpbiBieSBjYWxsaW5nIGRybV9jb25uZWN0b3Jf bGlzdF9pdGVyX2VuZCgpLgogICogSXRlcmF0aW9uIGl0c2VsZiBoYXBwZW5zIHVzaW5nIGRybV9j b25uZWN0b3JfbGlzdF9pdGVyX25leHQoKSBvcgogICogZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9p dGVyKCkuCiAgKi8KLXZvaWQgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCi0JCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciAqaXRlcikK K3ZvaWQgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgKml0ZXIpCiB7CiAJaXRl ci0+ZGV2ID0gZGV2OwogCWl0ZXItPmNvbm4gPSBOVUxMOwogCWxvY2tfYWNxdWlyZV9zaGFyZWRf cmVjdXJzaXZlKCZjb25uZWN0b3JfbGlzdF9pdGVyX2RlcF9tYXAsIDAsIDEsIE5VTEwsIF9SRVRf SVBfKTsKIH0KLUVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KTsKK0VY UE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4pOwogCiAvKioKICAqIGRy bV9jb25uZWN0b3JfbGlzdF9pdGVyX25leHQgLSByZXR1cm4gbmV4dCBjb25uZWN0b3IKQEAgLTU1 Miw3ICs1NTIsNyBAQCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9uZXh0KHN0cnVjdCBkcm1fY29u bmVjdG9yX2xpc3RfaXRlciAqaXRlcikKIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfbmV4dCk7CiAKIC8qKgotICogZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0IC0gdGVh ciBkb3duIGEgY29ubmVjdG9yX2xpc3QgaXRlcmF0b3IKKyAqIGRybV9jb25uZWN0b3JfbGlzdF9p dGVyX2VuZCAtIHRlYXIgZG93biBhIGNvbm5lY3Rvcl9saXN0IGl0ZXJhdG9yCiAgKiBAaXRlcjog Y29ubmVjdG9yX2xpc3QgaXRlcmF0b3IKICAqCiAgKiBUZWFycyBkb3duIEBpdGVyIGFuZCByZWxl YXNlcyBhbnkgcmVzb3VyY2VzIChsaWtlICZkcm1fY29ubmVjdG9yIHJlZmVyZW5jZXMpCkBAIC01 NjAsMTQgKzU2MCwxNCBAQCBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX25l eHQpOwogICogaXRlcmF0aW9uIGNvbXBsZXRlcyBmdWxseSBvciB3aGVuIGl0IHdhcyBhYm9ydGVk IHdpdGhvdXQgd2Fsa2luZyB0aGUgZW50aXJlCiAgKiBsaXN0LgogICovCi12b2lkIGRybV9jb25u ZWN0b3JfbGlzdF9pdGVyX3B1dChzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgKml0ZXIp Cit2b2lkIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZChzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9s aXN0X2l0ZXIgKml0ZXIpCiB7CiAJaXRlci0+ZGV2ID0gTlVMTDsKIAlpZiAoaXRlci0+Y29ubikK IAkJZHJtX2Nvbm5lY3Rvcl9wdXQoaXRlci0+Y29ubik7CiAJbG9ja19yZWxlYXNlKCZjb25uZWN0 b3JfbGlzdF9pdGVyX2RlcF9tYXAsIDAsIF9SRVRfSVBfKTsKIH0KLUVYUE9SVF9TWU1CT0woZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KTsKK0VYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9s aXN0X2l0ZXJfZW5kKTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3Qg ZHJtX3N1YnBpeGVsX2VudW1fbGlzdFtdID0gewogCXsgU3ViUGl4ZWxVbmtub3duLCAiVW5rbm93 biIgfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwppbmRleCA1MzYwNTFjNjI3ZDguLjhhYThj MTA4NDEyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwpAQCAtMTAyLDE0ICsxMDIsMTQg QEAgYm9vbCBkcm1faGVscGVyX2VuY29kZXJfaW5fdXNlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlcikKIAl9CiAKIAotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0 ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwgJmNvbm5faXRlcik7CiAJ ZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewogCQlp ZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpIHsKLQkJCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwkJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgm Y29ubl9pdGVyKTsKIAkJCXJldHVybiB0cnVlOwogCQl9CiAJfQotCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNv bm5faXRlcik7CiAJcmV0dXJuIGZhbHNlOwogfQogRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX2Vu Y29kZXJfaW5fdXNlKTsKQEAgLTQ0OSw3ICs0NDksNyBAQCBkcm1fY3J0Y19oZWxwZXJfZGlzYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJCWlmIChlbmNvZGVyLT5jcnRjICE9IGNydGMpCiAJ CQljb250aW51ZTsKIAotCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9p dGVyKTsKKwkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsK IAkJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewog CQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2RlciAhPSBlbmNvZGVyKQogCQkJCWNvbnRpbnVlOwpAQCAt NDY3LDcgKzQ2Nyw3IEBAIGRybV9jcnRjX2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIAkJCS8qIHdlIGtlZXAgYSByZWZlcmVuY2Ugd2hpbGUgdGhlIGVuY29kZXIgaXMgYm91 bmQgKi8KIAkJCWRybV9jb25uZWN0b3JfcHV0KGNvbm5lY3Rvcik7CiAJCX0KLQkJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRl cl9lbmQoJmNvbm5faXRlcik7CiAJfQogCiAJX19kcm1faGVscGVyX2Rpc2FibGVfdW51c2VkX2Z1 bmN0aW9ucyhkZXYpOwpAQCAtNTgzLDEwICs1ODMsMTAgQEAgaW50IGRybV9jcnRjX2hlbHBlcl9z ZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIAl9CiAKIAljb3VudCA9IDA7Ci0J ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1fZm9yX2VhY2hfY29u bmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKQogCQlzYXZlX2Nvbm5lY3Rvcl9lbmNv ZGVyc1tjb3VudCsrXSA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKLQlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25u X2l0ZXIpOwogCiAJc2F2ZV9zZXQuY3J0YyA9IHNldC0+Y3J0YzsKIAlzYXZlX3NldC5tb2RlID0g JnNldC0+Y3J0Yy0+bW9kZTsKQEAgLTYyOCw3ICs2MjgsNyBAQCBpbnQgZHJtX2NydGNfaGVscGVy X3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogCiAJLyogYSkgdHJhdmVyc2Ug cGFzc2VkIGluIGNvbm5lY3RvciBsaXN0IGFuZCBnZXQgZW5jb2RlcnMgZm9yIHRoZW0gKi8KIAlj b3VudCA9IDA7Ci0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7 CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1f Zm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJCWNvbnN0 IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyAqY29ubmVjdG9yX2Z1bmNzID0KIAkJ CWNvbm5lY3Rvci0+aGVscGVyX3ByaXZhdGU7CkBAIC02NjIsNyArNjYyLDcgQEAgaW50IGRybV9j cnRjX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIAkJCWNvbm5l Y3Rvci0+ZW5jb2RlciA9IG5ld19lbmNvZGVyOwogCQl9CiAJfQotCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNv bm5faXRlcik7CiAKIAlpZiAoZmFpbCkgewogCQlyZXQgPSAtRUlOVkFMOwpAQCAtNjcwLDcgKzY3 MCw3IEBAIGludCBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0 ICpzZXQpCiAJfQogCiAJY291bnQgPSAwOwotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChk ZXYsICZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwgJmNv bm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5f aXRlcikgewogCQlpZiAoIWNvbm5lY3Rvci0+ZW5jb2RlcikKIAkJCWNvbnRpbnVlOwpAQCAtNjg5 LDcgKzY4OSw3IEBAIGludCBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21v ZGVfc2V0ICpzZXQpCiAJCWlmIChuZXdfY3J0YyAmJgogCQkgICAgIWRybV9lbmNvZGVyX2NydGNf b2soY29ubmVjdG9yLT5lbmNvZGVyLCBuZXdfY3J0YykpIHsKIAkJCXJldCA9IC1FSU5WQUw7Ci0J CQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CisJCQlkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CiAJCQlnb3RvIGZhaWw7CiAJCX0KIAkJaWYg KG5ld19jcnRjICE9IGNvbm5lY3Rvci0+ZW5jb2Rlci0+Y3J0YykgewpAQCAtNzA2LDcgKzcwNiw3 IEBAIGludCBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpz ZXQpCiAJCQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwogCQl9 CiAJfQotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CiAKIAkvKiBtb2RlX3NldF9iYXNlIGlz IG5vdCBhIHJlcXVpcmVkIGZ1bmN0aW9uICovCiAJaWYgKGZiX2NoYW5nZWQgJiYgIWNydGNfZnVu Y3MtPm1vZGVfc2V0X2Jhc2UpCkBAIC03NjEsMTAgKzc2MSwxMCBAQCBpbnQgZHJtX2NydGNfaGVs cGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogCX0KIAogCWNvdW50ID0g MDsKLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFj aF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpCiAJCWNvbm5lY3Rvci0+ZW5j b2RlciA9IHNhdmVfY29ubmVjdG9yX2VuY29kZXJzW2NvdW50KytdOwotCWRybV9jb25uZWN0b3Jf bGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQo JmNvbm5faXRlcik7CiAKIAkvKiBhZnRlciBmYWlsIGRyb3AgcmVmZXJlbmNlIG9uIGFsbCB1bmJv dW5kIGNvbm5lY3RvcnMgaW4gc2V0LCBsZXQKIAkgKiBib3VuZCBjb25uZWN0b3JzIGtlZXAgdGhl aXIgcmVmZXJlbmNlCkBAIC03OTQsMTIgKzc5NCwxMiBAQCBzdGF0aWMgaW50IGRybV9oZWxwZXJf Y2hvb3NlX2VuY29kZXJfZHBtcyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0 IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gZW5jb2Rlci0+ZGV2OwogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwg JmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9p dGVyKTsKIAlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVy KQogCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpCiAJCQlpZiAoY29ubmVjdG9y LT5kcG1zIDwgZHBtcykKIAkJCQlkcG1zID0gY29ubmVjdG9yLT5kcG1zOwotCWRybV9jb25uZWN0 b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9l bmQoJmNvbm5faXRlcik7CiAKIAlyZXR1cm4gZHBtczsKIH0KQEAgLTgzNSwxMiArODM1LDEyIEBA IHN0YXRpYyBpbnQgZHJtX2hlbHBlcl9jaG9vc2VfY3J0Y19kcG1zKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOwogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAKLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRl cl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihk ZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3Is ICZjb25uX2l0ZXIpCiAJCWlmIChjb25uZWN0b3ItPmVuY29kZXIgJiYgY29ubmVjdG9yLT5lbmNv ZGVyLT5jcnRjID09IGNydGMpCiAJCQlpZiAoY29ubmVjdG9yLT5kcG1zIDwgZHBtcykKIAkJCQlk cG1zID0gY29ubmVjdG9yLT5kcG1zOwotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29u bl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CiAKIAly ZXR1cm4gZHBtczsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9lbmNvZGVyLmMKaW5kZXggNjM0YWUwMjQ0ZWE5Li4wNzA4 Nzc5ODQwZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jCkBAIC0xODgsNyArMTg4LDcgQEAgc3RhdGlj IHN0cnVjdCBkcm1fY3J0YyAqZHJtX2VuY29kZXJfZ2V0X2NydGMoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyKQogCiAJLyogRm9yIGF0b21pYyBkcml2ZXJzIG9ubHkgc3RhdGUgb2JqZWN0cyBh cmUgc3luY2hyb25vdXNseSB1cGRhdGVkIGFuZAogCSAqIHByb3RlY3RlZCBieSBtb2Rlc2V0IGxv Y2tzLCBzbyBjaGVjayB0aG9zZSBmaXJzdC4gKi8KLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9n ZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYs ICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZj b25uX2l0ZXIpIHsKIAkJaWYgKCFjb25uZWN0b3ItPnN0YXRlKQogCQkJY29udGludWU7CkBAIC0x OTgsMTAgKzE5OCwxMCBAQCBzdGF0aWMgc3RydWN0IGRybV9jcnRjICpkcm1fZW5jb2Rlcl9nZXRf Y3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCWlmIChjb25uZWN0b3ItPnN0YXRl LT5iZXN0X2VuY29kZXIgIT0gZW5jb2RlcikKIAkJCWNvbnRpbnVlOwogCi0JCWRybV9jb25uZWN0 b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJf ZW5kKCZjb25uX2l0ZXIpOwogCQlyZXR1cm4gY29ubmVjdG9yLT5zdGF0ZS0+Y3J0YzsKIAl9Ci0J ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3Jf bGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKIAogCS8qIERvbid0IHJldHVybiBzdGFsZSBkYXRh IChlLmcuIHBlbmRpbmcgYXN5bmMgZGlzYWJsZSkuICovCiAJaWYgKHVzZXNfYXRvbWljKQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZmJfaGVscGVyLmMKaW5kZXggZWUxMzYxYTI0YjNhLi5lYzhkNDAzYjYyZTYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9mYl9oZWxwZXIuYwpAQCAtMTI3LDcgKzEyNyw3IEBAIGludCBkcm1fZmJfaGVscGVy X3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBl cikKIAkJcmV0dXJuIDA7CiAKIAltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsK LQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9j b25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJcmV0ID0gZHJtX2ZiX2hl bHBlcl9hZGRfb25lX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGNvbm5lY3Rvcik7CiAKQEAgLTE0OCw3 ICsxNDgsNyBAQCBpbnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0b3JzKHN0 cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAJfQogCWZiX2hlbHBlci0+Y29ubmVjdG9y X2NvdW50ID0gMDsKIG91dDoKLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRl cik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwogCW11dGV4X3Vu bG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5jCmluZGV4IDM3Nzc5YjlmMGMxZS4uZDk4NjIyNTlhMmE3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9tb2RlX2NvbmZpZy5jCkBAIC0xMzksMTkgKzEzOSwxOSBAQCBpbnQgZHJtX21vZGVf Z2V0cmVzb3VyY2VzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJfQogCWNh cmRfcmVzLT5jb3VudF9lbmNvZGVycyA9IGNvdW50OwogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4o ZGV2LCAmY29ubl9pdGVyKTsKIAljb3VudCA9IDA7CiAJY29ubmVjdG9yX2lkID0gdTY0X3RvX3Vz ZXJfcHRyKGNhcmRfcmVzLT5jb25uZWN0b3JfaWRfcHRyKTsKIAlkcm1fZm9yX2VhY2hfY29ubmVj dG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJCWlmIChjb3VudCA8IGNhcmRfcmVz LT5jb3VudF9jb25uZWN0b3JzICYmCiAJCSAgICBwdXRfdXNlcihjb25uZWN0b3ItPmJhc2UuaWQs IGNvbm5lY3Rvcl9pZCArIGNvdW50KSkgewotCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0 KCZjb25uX2l0ZXIpOworCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIp OwogCQkJcmV0dXJuIC1FRkFVTFQ7CiAJCX0KIAkJY291bnQrKzsKIAl9CiAJY2FyZF9yZXMtPmNv dW50X2Nvbm5lY3RvcnMgPSBjb3VudDsKLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNv bm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwogCiAJ cmV0dXJuIHJldDsKIH0KQEAgLTE4NCwxMSArMTg0LDExIEBAIHZvaWQgZHJtX21vZGVfY29uZmln X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWlmIChlbmNvZGVyLT5mdW5jcy0+cmVz ZXQpCiAJCQllbmNvZGVyLT5mdW5jcy0+cmVzZXQoZW5jb2Rlcik7CiAKLQlkcm1fY29ubmVjdG9y X2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRl cl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihj b25uZWN0b3IsICZjb25uX2l0ZXIpCiAJCWlmIChjb25uZWN0b3ItPmZ1bmNzLT5yZXNldCkKIAkJ CWNvbm5lY3Rvci0+ZnVuY3MtPnJlc2V0KGNvbm5lY3Rvcik7Ci0JZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29u bl9pdGVyKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfY29uZmlnX3Jlc2V0KTsKIApAQCAt NDEyLDcgKzQxMiw3IEBAIHZvaWQgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAkJZW5jb2Rlci0+ZnVuY3MtPmRlc3Ryb3koZW5jb2Rlcik7CiAJfQogCi0J ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1fZm9yX2VhY2hfY29u bmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJCS8qIGRybV9jb25uZWN0b3Jf bGlzdF9pdGVyIGhvbGRzIGFuIGZ1bGwgcmVmZXJlbmNlIHRvIHRoZQogCQkgKiBjdXJyZW50IGNv bm5lY3RvciBpdHNlbGYsIHdoaWNoIG1lYW5zIGl0IGlzIGluaGVyZW50bHkgc2FmZQpAQCAtNDIw LDEyICs0MjAsMTIgQEAgdm9pZCBkcm1fbW9kZV9jb25maWdfY2xlYW51cChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQkgKiBkZWxldGluZyBpdCByaWdodCBhd2F5LiAqLwogCQlkcm1fY29ubmVj dG9yX3B1dChjb25uZWN0b3IpOwogCX0KLQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNv bm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwogCWlm IChXQVJOX09OKCFsaXN0X2VtcHR5KCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0KSkp IHsKLQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJCWRy bV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwgJmNvbm5faXRlcik7CiAJCWRybV9mb3Jf ZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpCiAJCQlEUk1fRVJST1Io ImNvbm5lY3RvciAlcyBsZWFrZWQhXG4iLCBjb25uZWN0b3ItPm5hbWUpOwotCQlkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CisJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVy X2VuZCgmY29ubl9pdGVyKTsKIAl9CiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocHJvcGVy dHksIHB0LCAmZGV2LT5tb2RlX2NvbmZpZy5wcm9wZXJ0eV9saXN0LApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmVfaGVscGVyLmMKaW5kZXggMTQ4Njg4ZmI5MjBhLi4yMzY5ZGM0N2FhZDEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9wbGFuZV9oZWxwZXIuYwpAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgaW50IGdldF9jb25u ZWN0b3JzX2Zvcl9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKi8KIAlXQVJOX09OKCFk cm1fbW9kZXNldF9pc19sb2NrZWQoJmRldi0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCkp OwogCi0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKIAlkcm1fZm9yX2Vh Y2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9pdGVyKSB7CiAJCWlmIChjb25uZWN0 b3ItPmVuY29kZXIgJiYgY29ubmVjdG9yLT5lbmNvZGVyLT5jcnRjID09IGNydGMpIHsKIAkJCWlm IChjb25uZWN0b3JfbGlzdCAhPSBOVUxMICYmIGNvdW50IDwgbnVtX2Nvbm5lY3RvcnMpCkBAIC05 NCw3ICs5NCw3IEBAIHN0YXRpYyBpbnQgZ2V0X2Nvbm5lY3RvcnNfZm9yX2NydGMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCQkJY291bnQrKzsKIAkJfQogCX0KLQlkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25u X2l0ZXIpOwogCiAJcmV0dXJuIGNvdW50OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9wcm9iZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMK aW5kZXggZGM0NDE5YWRhMTJjLi5lMzM1OWZkOWM4NTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9o ZWxwZXIuYwpAQCAtMTQwLDEzICsxNDAsMTMgQEAgdm9pZCBkcm1fa21zX2hlbHBlcl9wb2xsX2Vu YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmICghZGV2LT5tb2RlX2NvbmZpZy5wb2xs X2VuYWJsZWQgfHwgIWRybV9rbXNfaGVscGVyX3BvbGwpCiAJCXJldHVybjsKIAotCWRybV9jb25u ZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX2JlZ2luKGRldiwgJmNvbm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9p dGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewogCQlpZiAoY29ubmVjdG9yLT5wb2xsZWQgJiAo RFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgfAogCQkJCQkgRFJNX0NPTk5FQ1RPUl9QT0xMX0RJ U0NPTk5FQ1QpKQogCQkJcG9sbCA9IHRydWU7CiAJfQotCWRybV9jb25uZWN0b3JfbGlzdF9pdGVy X3B1dCgmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRl cik7CiAKIAlpZiAoZGV2LT5tb2RlX2NvbmZpZy5kZWxheWVkX2V2ZW50KSB7CiAJCS8qCkBAIC00 MTQsNyArNDE0LDcgQEAgc3RhdGljIHZvaWQgb3V0cHV0X3BvbGxfZXhlY3V0ZShzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCiAJCWdvdG8gb3V0OwogCX0KIAotCWRybV9jb25uZWN0b3JfbGlzdF9p dGVyX2dldChkZXYsICZjb25uX2l0ZXIpOworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2lu KGRldiwgJmNvbm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3Rv ciwgJmNvbm5faXRlcikgewogCQkvKiBJZ25vcmUgZm9yY2VkIGNvbm5lY3RvcnMuICovCiAJCWlm IChjb25uZWN0b3ItPmZvcmNlKQpAQCAtNDY4LDcgKzQ2OCw3IEBAIHN0YXRpYyB2b2lkIG91dHB1 dF9wb2xsX2V4ZWN1dGUoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJY2hhbmdlZCA9IHRy dWU7CiAJCX0KIAl9Ci0JZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwor CWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKIAogCW11dGV4X3VubG9j aygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKQEAgLTU3NCw3ICs1NzQsNyBAQCBib29sIGRy bV9oZWxwZXJfaHBkX2lycV9ldmVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlyZXR1cm4g ZmFsc2U7CiAKIAltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKLQlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2l0ZXIpOwogCWRybV9mb3JfZWFjaF9jb25uZWN0b3Jf aXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJLyogT25seSBoYW5kbGUgSFBEIGNhcGFi bGUgY29ubmVjdG9ycy4gKi8KIAkJaWYgKCEoY29ubmVjdG9yLT5wb2xsZWQgJiBEUk1fQ09OTkVD VE9SX1BPTExfSFBEKSkKQEAgLTU5MSw3ICs1OTEsNyBAQCBib29sIGRybV9oZWxwZXJfaHBkX2ly cV9ldmVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpZiAob2xkX3N0YXR1cyAhPSBjb25u ZWN0b3ItPnN0YXR1cykKIAkJCWNoYW5nZWQgPSB0cnVlOwogCX0KLQlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZj b25uX2l0ZXIpOwogCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKIAlp ZiAoY2hhbmdlZCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2lu Y2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAppbmRleCBkNjQ5YmVjOTY5MzcuLmFjNDM1MDY2MjIx MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCisrKyBiL2luY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaApAQCAtOTA3LDcgKzkwNyw3IEBAIHZvaWQgZHJtX21vZGVfcHV0 X3RpbGVfZ3JvdXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKICAqCiAgKiBUaGlzIGl0ZXJhdG9y IHRyYWNrcyBzdGF0ZSBuZWVkZWQgdG8gYmUgYWJsZSB0byB3YWxrIHRoZSBjb25uZWN0b3JfbGlz dAogICogd2l0aGluIHN0cnVjdCBkcm1fbW9kZV9jb25maWcuIE9ubHkgdXNlIHRvZ2V0aGVyIHdp dGgKLSAqIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldCgpLCBkcm1fY29ubmVjdG9yX2xpc3Rf aXRlcl9wdXQoKSBhbmQKKyAqIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKCksIGRybV9j b25uZWN0b3JfbGlzdF9pdGVyX2VuZCgpIGFuZAogICogZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJf bmV4dCgpIHJlc3BlY3RpdmVseSB0aGUgY29udmVuaWVuY2UgbWFjcm8KICAqIGRybV9mb3JfZWFj aF9jb25uZWN0b3JfaXRlcigpLgogICovCkBAIC05MTcsMTEgKzkxNywxMSBAQCBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXIgewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwogfTsK IAotdm9pZCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKLQkJCQkgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyICppdGVyKTsKK3ZvaWQgZHJt X2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgKml0ZXIpOwogc3RydWN0IGRybV9jb25u ZWN0b3IgKgogZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfbmV4dChzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXIgKml0ZXIpOwotdm9pZCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoc3Ry dWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyICppdGVyKTsKK3ZvaWQgZHJtX2Nvbm5lY3Rvcl9s aXN0X2l0ZXJfZW5kKHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciAqaXRlcik7CiAKIC8q KgogICogZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyIC0gY29ubmVjdG9yX2xpc3QgaXRlcmF0 b3IgbWFjcm8KQEAgLTkyOSw4ICs5MjksOCBAQCB2b2lkIGRybV9jb25uZWN0b3JfbGlzdF9pdGVy X3B1dChzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgKml0ZXIpOwogICogQGl0ZXI6ICZz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIKICAqCiAgKiBOb3RlIHRoYXQgQGNvbm5lY3Rv ciBpcyBvbmx5IHZhbGlkIHdpdGhpbiB0aGUgbGlzdCBib2R5LCBpZiB5b3Ugd2FudCB0byB1c2UK LSAqIEBjb25uZWN0b3IgYWZ0ZXIgY2FsbGluZyBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQo KSB0aGVuIHlvdSBuZWVkIHRvIGdyYWIKLSAqIHlvdXIgb3duIHJlZmVyZW5jZSBmaXJzdCB1c2lu ZyBkcm1fY29ubmVjdG9yX2dldCgpLgorICogQGNvbm5lY3RvciBhZnRlciBjYWxsaW5nIGRybV9j b25uZWN0b3JfbGlzdF9pdGVyX2VuZCgpIHRoZW4geW91IG5lZWQgdG8gZ3JhYgorICogeW91ciBv d24gcmVmZXJlbmNlIGZpcnN0IHVzaW5nIGRybV9jb25uZWN0b3JfYmVnaW4oKS4KICAqLwogI2Rl ZmluZSBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCBpdGVyKSBcCiAJd2hp bGUgKChjb25uZWN0b3IgPSBkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9uZXh0KGl0ZXIpKSkKLS0g CjIuMTEuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==