From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 1/4] drm/debugfs: Add support for dynamic debugfs initialization Date: Mon, 27 Aug 2018 20:36:24 -0400 Message-ID: <20180828003635.8200-2-lyude@redhat.com> References: <20180828003635.8200-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id DD67B6E0FE for ; Tue, 28 Aug 2018 00:36:57 +0000 (UTC) In-Reply-To: <20180828003635.8200-1-lyude@redhat.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: David Airlie , linux-kernel@vger.kernel.org, Sean Paul List-Id: dri-devel@lists.freedesktop.org Q3VycmVudGx5IGFsbCBkZWJ1Z2ZzIHJlbGF0ZWQgaW5pdGlhbGl6YXRpb24gZm9yIHRoZSBEUk0g Y29yZSBoYXBwZW5zIGluCmRybV9kZWJ1Z2ZzX2luaXQoKSwgd2hpY2ggaXMgY2FsbGVkIHdoZW4g cmVnaXN0ZXJpbmcgdGhlIG1pbm9yIGRldmljZS4KV2hpbGUgdGhpcyB3b3JrcyBmaW5lIGZvciBm ZWF0dXJlcyBzdWNoIGFzIGF0b21pYyBtb2Rlc2V0dGluZyBhbmQgR0VNLAp0aGlzIGRvZXNuJ3Qg d29yayBhdCBhbGwgZm9yIHJlc291cmNlcyBsaWtlIERQIE1TVCB0b3BvbG9neSBtYW5hZ2Vycwp3 aGljaCBjYW4gcG90ZW50aWFsbHkgYmUgY3JlYXRlZCBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgdGhl IG1pbm9yCmRldmljZSBoYXMgYmVlbiByZWdpc3RlcmVkLgoKU28sIGluIG9yZGVyIHRvIGFkZCBk cml2ZXItd2lkZSBkZWJ1Z2ZzIGZpbGVzIGZvciBNU1Qgd2UnbGwgbmVlZCB0byBiZQphYmxlIHRv IGhhbmRsZSBkZWJ1Z2ZzIGluaXRpYWxpemF0aW9uIGZvciBzdWNoIHJlc291cmNlcy4gV2UgZG8g c28gYnkKaW50cm9kdWNpbmcgZHJtX2RlYnVnZnNfY2FsbGJhY2tfcmVnaXN0ZXIoKSBhbmQKZHJt X2RlYnVnZnNfY2FsbGJhY2tfdW5yZWdpc3RlcigpLiBUaGVzZSBmdW5jdGlvbnMgYWxsb3cgZHJp dmVyLWFnbm9zdGljCnBhcnRzIG9mIERSTSB0byBhZGQgYWRkaXRpb25hbCBkZWJ1Z2ZzIGluaXRp YWxpemF0aW9uIGNhbGxiYWNrcyBhdCBhbnkKcG9pbnQgZHVyaW5nIGEgRFJNIGRyaXZlcidzIGxp ZmV0aW1lLgoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KQ2M6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNj OiBEYW5pZWwgU3RvbmUgPGRhbmllbEBmb29pc2hiYXIub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZGVidWdmcy5jICB8IDE3MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgICAgICB8ICAgMyArCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2ludGVybmFsLmggfCAgIDUgKwogaW5jbHVkZS9kcm0vZHJtX2RlYnVnZnMuaCAgICAgIHwg IDI3ICsrKysrCiBpbmNsdWRlL2RybS9kcm1fZmlsZS5oICAgICAgICAgfCAgIDQgKwogNSBmaWxl cyBjaGFuZ2VkLCAyMDMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGVi dWdmcy5jCmluZGV4IDZmMjhmZTU4ZjE2OS4uYTUzYTQ1NGIxNjdmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RlYnVn ZnMuYwpAQCAtMzksNiArMzksMTMgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQog CitzdHJ1Y3QgZHJtX2RlYnVnZnNfY2FsbGJhY2sgeworCXZvaWQgKCppbml0KSh2b2lkICpkYXRh KTsKKwl2b2lkICgqY2xlYW51cF9jYikodm9pZCAqZGF0YSk7CisJdm9pZCAqZGF0YTsKKwlzdHJ1 Y3QgbGlzdF9oZWFkIGxpc3Q7Cit9OworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCiAgKiBJbml0aWFsaXphdGlvbiwgZXRjLgogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtNjcsNiArNzQs MTEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGRybV9kZWJ1Z2ZzX2Zv cHMgPSB7CiAJLnJlbGVhc2UgPSBzaW5nbGVfcmVsZWFzZSwKIH07CiAKKy8qKgorICogZHJtX2Rl YnVnZnNfcmVnaXN0ZXJfY2FsbGJhY2sgLSBSZWdpc3RlciBhIGNhbGxiYWNrIGZvciBpbml0aWFs aXppbmcKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pYyBkcml2ZXIt YWdub3N0aWMgZGVidWdmcyBmaWxlcworICogQG1pbm9yOiBkZXZpY2UgbWlub3IgbnVtYmVyCisg KiBAaW5pdDogVGhlIGNhbGxiYWNrIHRvIGludm9rZSB0byBwZXJmb3JtIHRoZSBkZWJ1Z2ZzIGlu aXRpYWxpemF0aW9uCisgKiBAY2xlYW51cF9jYjogVGhlIGNhbGxiYWNrIHRvIGludm9rZSB0byBj bGVhbnVwIGFueSByZXNvdXJjZXMgZm9yIHRoZQorICogY2FsbGJhY2sKKyAqIEBkYXRhOiBEYXRh IHRvIHBhc3MgdG8gQGluaXQgYW5kIEBjbGVhbnVwX2NiCisgKiBAb3V0OiBXaGVyZSB0byBzdG9y ZSB0aGUgcG9pbnRlciB0byB0aGUgY2FsbGJhY2sgc3RydWN0CisgKgorICogUmVnaXN0ZXIgYW4g aW5pdGlhbGl6YXRpb24gY2FsbGJhY2sgd2l0aCBkZWJ1Z2ZzLiBUaGlzIGNhbGxiYWNrIGNhbiBi ZSB1c2VkCisgKiB0byBjcmVhdGluZyBkZWJ1Z2ZzIG5vZGVzIGZvciBEUk0gcmVzb3VyY2VzIHRo YXQgbWlnaHQgZ2V0IGNyZWF0ZWQgYmVmb3JlCisgKiB0aGUgZGVidWdmcyBub2RlIGZvciBAbWlu b3IgaGFzIGJlZW4gY3JlYXRlZC4KKyAqCisgKiBXaGVuIGEgY2FsbGJhY2sgaXMgcmVnaXN0ZXJl ZCB3aXRoIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHRoZSBkZWJ1Z2ZzIHJvb3QKKyAqIGhhcyBiZWVu IGNyZWF0ZWQsIHRoZSBjYWxsYmFjaydzIGV4ZWN1dGlvbiB3aWxsIGJlIGRlbGF5ZWQgdW50aWwg YWxsIG90aGVyCisgKiBkZWJ1Z2ZzIG5vZGVzIChpbmNsdWRpbmcgdGhvc2Ugb3duZWQgYnkgdGhl IERSTSBkZXZpY2UncyBkcml2ZXIpIGhhdmUgYmVlbgorICogaW5zdGFudGlhdGVkLiBJZiBhIGNh bGxiYWNrIGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGlzIGZ1bmN0aW9uIGFmdGVyIHRoZQorICogZGVi dWdmcyByb290IGhhcyBiZWVuIGNyZWF0ZWQsIEBpbml0IGFuZCBAY2xlYW51cF9jYiB3aWxsIGJl IGV4ZWN1dGVkCisgKiBpbW1lZGlhdGVseSB3aXRob3V0IGNyZWF0aW5nIGEgJnN0cnVjdCBkcm1f ZGVidWdmc19jYWxsYmFjay4KKyAqCisgKiBJbiB0aGUgZXZlbnQgdGhhdCBkZWJ1Z2ZzIGNyZWF0 aW9uIGZvciB0aGUgZGV2aWNlIGZhaWxzOyBhbGwgcmVnaXN0ZXJlZAorICogZGVidWdmcyBjYWxs YmFja3Mgd2lsbCBoYXZlIHRoZWlyIEBjbGVhbnVwX2NiIGNhbGxiYWNrcyBpbnZva2VkIHdpdGhv dXQKKyAqIGhhdmluZyB0aGVpciBAaW5pdCBjYWxsYmFja3MgaW52b2tlZC4gVGhpcyBpcyB0byBl bnN1cmUgdGhhdCBubyByZXNvdXJjZXMKKyAqIGFyZSBsZWFrZWQgZHVyaW5nIGluaXRpYWxpemF0 aW9uIG9mIGRlYnVnZnMsIGV2ZW4gaWYgdGhlIGluaXRpYWxpemF0aW9uCisgKiBwcm9jZXNzIGZh aWxzLiBMaWtld2lzZTsgYW55IGNhbGxiYWNrcyB0aGF0IGFyZSByZWdpc3RlcmVkIGFmdGVyIERS TSBoYXMKKyAqIGZhaWxlZCB0byBpbml0aWFsaXplIGl0J3MgZGVidWdmcyBmaWxlcyB3aWxsIGhh dmUgdGhlaXIgQGNsZWFudXBfY2IKKyAqIGNhbGxiYWNrcyBpbnZva2VkIGltbWVkaWF0ZWx5IGFu ZCBhbGwgb2YgdGhlaXIgcmVzcGVjdGl2ZSByZXNvdXJjZXMKKyAqIGRlc3Ryb3llZC4KKyAqCisg KiBJbXBsZW1lbnRhdGlvbnMgb2YgQGNsZWFudXBfY2Igc2hvdWxkIGNsZWFuIHVwIGFsbCByZXNv dXJjZXMgZm9yIHRoZQorICogY2FsbGJhY2ssIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBmcmVlaW5n IHRoZSBtZW1vcnkgZm9yIEBvdXQuIEZyZWVpbmcgQG91dAorICogd2lsbCBiZSBoYW5kbGVkIGJ5 IHRoZSBEUk0gY29yZSBhdXRvbWF0aWNhbGx5LgorICoKKyAqIFVzZXJzIG9mIHRoaXMgZnVuY3Rp b24gc2hvdWxkIHRha2UgY2FyZSB0byBhZGQgYSBzeW1tZXRyaWMgY2FsbCB0bworICogQGRybV9k ZWJ1Z2ZzX3VucmVnaXN0ZXJfY2FsbGJhY2sgdG8gaGFuZGxlIGRlc3Ryb3lpbmcgYSByZWdpc3Rl cmVkIGNhbGxiYWNrCisgKiBpbiBjYXNlIHRoZSByZXNvdXJjZXMgZm9yIHRoZSB1c2VyIG9mIHRo aXMgZnVuY3Rpb24gYXJlIGRlc3Ryb3llZCBiZWZvcmUKKyAqIGRlYnVnZnMgcm9vdCBpcyBpbml0 aWFsaXplZC4KKyAqCisgKi8KK2ludAorZHJtX2RlYnVnZnNfcmVnaXN0ZXJfY2FsbGJhY2soc3Ry dWN0IGRybV9taW5vciAqbWlub3IsCisJCQkgICAgICB2b2lkICgqaW5pdCkodm9pZCAqKSwKKwkJ CSAgICAgIHZvaWQgKCpjbGVhbnVwX2NiKSh2b2lkICopLAorCQkJICAgICAgdm9pZCAqZGF0YSwg c3RydWN0IGRybV9kZWJ1Z2ZzX2NhbGxiYWNrICoqb3V0KQoreworCWludCByZXQgPSAwOworCisJ bXV0ZXhfbG9jaygmbWlub3ItPmRlYnVnZnNfY2FsbGJhY2tfbG9jayk7CisJaWYgKG1pbm9yLT5k ZWJ1Z2ZzX2NhbGxiYWNrc19kb25lKSB7CisJCS8qIGRlYnVnZnMgaXMgYWxyZWFkeSBzZXR1cCwg c28ganVzdCBoYW5kbGUgdGhlIGNhbGxiYWNrCisJCSAqIGltbWVkaWF0ZWx5CisJCSAqLworCQlp ZiAobWlub3ItPmRlYnVnZnNfcm9vdCkKKwkJCSgqaW5pdCkoZGF0YSk7CisJCSgqY2xlYW51cF9j YikoZGF0YSk7CisJCWdvdG8gb3V0X3VubG9jazsKKwl9CisKKwkqb3V0ID0ga3phbGxvYyhzaXpl b2YoKipvdXQpLCBHRlBfS0VSTkVMKTsKKwlpZiAoISpvdXQpIHsKKwkJcmV0ID0gLUVOT01FTTsK KwkJZ290byBvdXRfdW5sb2NrOworCX0KKworCSgqb3V0KS0+aW5pdCA9IGluaXQ7CisJKCpvdXQp LT5jbGVhbnVwX2NiID0gY2xlYW51cF9jYjsKKwkoKm91dCktPmRhdGEgPSBkYXRhOworCWxpc3Rf YWRkKCYoKm91dCktPmxpc3QsICZtaW5vci0+ZGVidWdmc19jYWxsYmFja19saXN0KTsKKworb3V0 X3VubG9jazoKKwltdXRleF91bmxvY2soJm1pbm9yLT5kZWJ1Z2ZzX2NhbGxiYWNrX2xvY2spOwor CXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9kZWJ1Z2ZzX3JlZ2lzdGVyX2NhbGxi YWNrKTsKKworLyoqCisgKiBkcm1fZGVidWdmc191bnJlZ2lzdGVyX2NhbGxiYWNrIC0gVW5yZWdp c3RlciBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzCisgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIGEgZGVidWdmcyBpbml0IGNhbGxiYWNrCisgKiBA bWlub3I6IGRldmljZSBtaW5vciBudW1iZXIKKyAqIEBjYjogQSBwb2ludGVyIHRvIHRoZSAmc3Ry dWN0IGRybV9kZWJ1Z2ZzX2NhbGxiYWNrIHN0cnVjdCByZXR1cm5lZCBieQorICogZHJtX2RlYnVn ZnNfcmVnaXN0ZXJfY2FsbGJhY2soKS4gTWF5IGJlIE5VTEwKKyAqCisgKiBVbnJlZ2lzdGVycyBh ICZzdHJ1Y3QgZHJtX2RlYnVnZnNfY2FsbGJhY2sgc3RydWN0IHdpdGggZGVidWdmcyBhbmQgZGVz dHJveXMKKyAqIGFsbCBvZiBpdCdzIGFzc29jaWF0ZWQgcmVzb3VyY2VzLiBUaGlzIGluY2x1ZGVz IGEgY2FsbCB0byB0aGUgY2FsbGJhY2sncworICogQGNsZWFudXBfY2IgaW1wbGVtZW50YXRpb24u CisgKgorICogT25jZSB0aGUgZGVidWdmcyByb290IGlzIGluaXRpYWxpemVkIG9yIGhhcyBmYWls ZWQgaW5pdGlhbGl6YXRpb24sIGFsbAorICogcmVnaXN0ZXJlZCBjYWxsYmFja3MgYXJlIGF1dG9t YXRpY2FsbHkgZGVzdHJveWVkLiBJZiB0aGlzIGZ1bmN0aW9uIGlzCisgKiBjYWxsZWQgYWZ0ZXIg dGhhdCBwb2ludDsgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGEgbm8tb3AuCisgKi8KK3ZvaWQK K2RybV9kZWJ1Z2ZzX3VucmVnaXN0ZXJfY2FsbGJhY2soc3RydWN0IGRybV9taW5vciAqbWlub3Is CisJCQkJc3RydWN0IGRybV9kZWJ1Z2ZzX2NhbGxiYWNrICpjYikKK3sKKwltdXRleF9sb2NrKCZt aW5vci0+ZGVidWdmc19jYWxsYmFja19sb2NrKTsKKwkvKiBXZSBkb24ndCBoYXZlIHRvIGRvIGFu eXRoaW5nIGlmIHdlJ3ZlIGFscmVhZHkgY29tcGxldGVkIGFueQorCSAqIHJlZ2lzdGVyZWQgY2Fs bGJhY2tzLCBhcyB0aGV5IHdpbGwgaGF2ZSBhbHJlYWR5IGJlZW4gZGVzdHJveWVkCisJICovCisJ aWYgKCFtaW5vci0+ZGVidWdmc19jYWxsYmFja3NfZG9uZSkgeworCQljYi0+Y2xlYW51cF9jYihj Yi0+ZGF0YSk7CisJCWxpc3RfZGVsKCZjYi0+bGlzdCk7CisJCWtmcmVlKGNiKTsKKwl9CisJbXV0 ZXhfdW5sb2NrKCZtaW5vci0+ZGVidWdmc19jYWxsYmFja19sb2NrKTsKK30KK0VYUE9SVF9TWU1C T0woZHJtX2RlYnVnZnNfdW5yZWdpc3Rlcl9jYWxsYmFjayk7CiAKIC8qKgogICogZHJtX2RlYnVn ZnNfY3JlYXRlX2ZpbGVzIC0gSW5pdGlhbGl6ZSBhIGdpdmVuIHNldCBvZiBkZWJ1Z2ZzIGZpbGVz IGZvciBEUk0KQEAgLTEyNiwxMiArMjQwLDI0IEBAIGludCBkcm1fZGVidWdmc19jcmVhdGVfZmls ZXMoY29uc3Qgc3RydWN0IGRybV9pbmZvX2xpc3QgKmZpbGVzLCBpbnQgY291bnQsCiB9CiBFWFBP UlRfU1lNQk9MKGRybV9kZWJ1Z2ZzX2NyZWF0ZV9maWxlcyk7CiAKK2ludCBkcm1fZGVidWdmc19h bGxvYyhzdHJ1Y3QgZHJtX21pbm9yICptaW5vcikKK3sKKwlJTklUX0xJU1RfSEVBRCgmbWlub3It PmRlYnVnZnNfY2FsbGJhY2tfbGlzdCk7CisJbXV0ZXhfaW5pdCgmbWlub3ItPmRlYnVnZnNfY2Fs bGJhY2tfbG9jayk7CisJcmV0dXJuIDA7Cit9CisKIGludCBkcm1fZGVidWdmc19pbml0KHN0cnVj dCBkcm1fbWlub3IgKm1pbm9yLCBpbnQgbWlub3JfaWQsCiAJCSAgICAgc3RydWN0IGRlbnRyeSAq cm9vdCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWlub3ItPmRldjsKKwlzdHJ1Y3Qg ZHJtX2RlYnVnZnNfY2FsbGJhY2sgKnBvcywgKnRtcDsKIAljaGFyIG5hbWVbNjRdOwotCWludCBy ZXQ7CisJaW50IHJldCA9IDA7CisKKwkvKiBEb24ndCBhbGxvdyBhbnkgbW9yZSBjYWxsYmFja3Mg dG8gYmUgcmVnaXN0ZXJlZCB3aGlsZSB3ZSBzZXR1cCAqLworCW11dGV4X2xvY2soJm1pbm9yLT5k ZWJ1Z2ZzX2NhbGxiYWNrX2xvY2spOworCW1pbm9yLT5kZWJ1Z2ZzX2NhbGxiYWNrc19kb25lID0g dHJ1ZTsKIAogCUlOSVRfTElTVF9IRUFEKCZtaW5vci0+ZGVidWdmc19saXN0KTsKIAltdXRleF9p bml0KCZtaW5vci0+ZGVidWdmc19sb2NrKTsKQEAgLTEzOSw3ICsyNjUsOCBAQCBpbnQgZHJtX2Rl YnVnZnNfaW5pdChzdHJ1Y3QgZHJtX21pbm9yICptaW5vciwgaW50IG1pbm9yX2lkLAogCW1pbm9y LT5kZWJ1Z2ZzX3Jvb3QgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIobmFtZSwgcm9vdCk7CiAJaWYgKCFt aW5vci0+ZGVidWdmc19yb290KSB7CiAJCURSTV9FUlJPUigiQ2Fubm90IGNyZWF0ZSAvc3lzL2tl cm5lbC9kZWJ1Zy9kcmkvJXNcbiIsIG5hbWUpOwotCQlyZXR1cm4gLTE7CisJCXJldCA9IC0xOwor CQlnb3RvIG91dF91bmxvY2s7CiAJfQogCiAJcmV0ID0gZHJtX2RlYnVnZnNfY3JlYXRlX2ZpbGVz KGRybV9kZWJ1Z2ZzX2xpc3QsIERSTV9ERUJVR0ZTX0VOVFJJRVMsCkBAIC0xNDgsMTQgKzI3NSwx NCBAQCBpbnQgZHJtX2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHJtX21pbm9yICptaW5vciwgaW50IG1p bm9yX2lkLAogCQlkZWJ1Z2ZzX3JlbW92ZShtaW5vci0+ZGVidWdmc19yb290KTsKIAkJbWlub3It PmRlYnVnZnNfcm9vdCA9IE5VTEw7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBjb3Jl IGRybSBkZWJ1Z2ZzIGZpbGVzXG4iKTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBvdXRfdW5sb2Nr OwogCX0KIAogCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0FUT01JQykp IHsKIAkJcmV0ID0gZHJtX2F0b21pY19kZWJ1Z2ZzX2luaXQobWlub3IpOwogCQlpZiAocmV0KSB7 CiAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgYXRvbWljIGRlYnVnZnMgZmlsZXNcbiIp OwotCQkJcmV0dXJuIHJldDsKKwkJCWdvdG8gb3V0X3VubG9jazsKIAkJfQogCX0KIApAQCAtMTYz LDEzICsyOTAsMTMgQEAgaW50IGRybV9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAqbWlu b3IsIGludCBtaW5vcl9pZCwKIAkJcmV0ID0gZHJtX2ZyYW1lYnVmZmVyX2RlYnVnZnNfaW5pdCht aW5vcik7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBmcmFt ZWJ1ZmZlciBkZWJ1Z2ZzIGZpbGVcbiIpOwotCQkJcmV0dXJuIHJldDsKKwkJCWdvdG8gb3V0X3Vu bG9jazsKIAkJfQogCiAJCXJldCA9IGRybV9jbGllbnRfZGVidWdmc19pbml0KG1pbm9yKTsKIAkJ aWYgKHJldCkgewogCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGNsaWVudCBkZWJ1Z2Zz IGZpbGVcbiIpOwotCQkJcmV0dXJuIHJldDsKKwkJCWdvdG8gb3V0X3VubG9jazsKIAkJfQogCX0K IApAQCAtMTc4LDEwICszMDUsMjMgQEAgaW50IGRybV9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9t aW5vciAqbWlub3IsIGludCBtaW5vcl9pZCwKIAkJaWYgKHJldCkgewogCQkJRFJNX0VSUk9SKCJE Uk06IERyaXZlciBmYWlsZWQgdG8gaW5pdGlhbGl6ZSAiCiAJCQkJICAiL3N5cy9rZXJuZWwvZGVi dWcvZHJpLlxuIik7Ci0JCQlyZXR1cm4gcmV0OworCQkJZ290byBvdXRfdW5sb2NrOwogCQl9CiAJ fQotCXJldHVybiAwOworCitvdXRfdW5sb2NrOgorCS8qIEV4ZWN1dGUgYW55IGRlbGF5ZWQgY2Fs bGJhY2tzIGlmIHdlIHN1Y2NlZWRlZCwgb3IganVzdCBjbGVhbiB0aGVtCisJICogdXAgd2l0aG91 dCBydW5uaW5nIHRoZW0gaWYgd2UgZmFpbGVkCisJICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKHBvcywgdG1wLCAmbWlub3ItPmRlYnVnZnNfY2FsbGJhY2tfbGlzdCwKKwkJCQkgbGlzdCkg eworCQlpZiAoIXJldCkKKwkJCXBvcy0+aW5pdChwb3MtPmRhdGEpOworCQlwb3MtPmNsZWFudXBf Y2IocG9zLT5kYXRhKTsKKwkJa2ZyZWUocG9zKTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZtaW5vci0+ ZGVidWdmc19jYWxsYmFja19sb2NrKTsKKwlyZXR1cm4gcmV0OwogfQogCiAKQEAgLTIyMywxNCAr MzYzLDI5IEBAIHN0YXRpYyB2b2lkIGRybV9kZWJ1Z2ZzX3JlbW92ZV9hbGxfZmlsZXMoc3RydWN0 IGRybV9taW5vciAqbWlub3IpCiAKIGludCBkcm1fZGVidWdmc19jbGVhbnVwKHN0cnVjdCBkcm1f bWlub3IgKm1pbm9yKQogeworCXN0cnVjdCBkcm1fZGVidWdmc19jYWxsYmFjayAqcG9zLCAqdG1w OworCisJbXV0ZXhfbG9jaygmbWlub3ItPmRlYnVnZnNfY2FsbGJhY2tfbG9jayk7CisJaWYgKCFt aW5vci0+ZGVidWdmc19jYWxsYmFja3NfZG9uZSkgeworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUocG9zLCB0bXAsCisJCQkJCSAmbWlub3ItPmRlYnVnZnNfY2FsbGJhY2tfbGlzdCwKKwkJCQkJ IGxpc3QpIHsKKwkJCXBvcy0+Y2xlYW51cF9jYihwb3MtPmRhdGEpOworCQkJa2ZyZWUocG9zKTsK KwkJfQorCX0KKwltaW5vci0+ZGVidWdmc19jYWxsYmFja3NfZG9uZSA9IHRydWU7CisKIAlpZiAo IW1pbm9yLT5kZWJ1Z2ZzX3Jvb3QpCi0JCXJldHVybiAwOworCQlnb3RvIG91dDsKIAogCWRybV9k ZWJ1Z2ZzX3JlbW92ZV9hbGxfZmlsZXMobWlub3IpOwogCiAJZGVidWdmc19yZW1vdmVfcmVjdXJz aXZlKG1pbm9yLT5kZWJ1Z2ZzX3Jvb3QpOwogCW1pbm9yLT5kZWJ1Z2ZzX3Jvb3QgPSBOVUxMOwog CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZtaW5vci0+ZGVidWdmc19jYWxsYmFja19sb2NrKTsKIAly ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKaW5kZXggZWE0OTQxZGE5YjI3Li43MDQxYjMxMzcyMjkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9kcnYuYwpAQCAtMTE4LDYgKzExOCw5IEBAIHN0YXRpYyBpbnQgZHJtX21pbm9yX2Fs bG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eXBlKQogCiAJbWlub3It PnR5cGUgPSB0eXBlOwogCW1pbm9yLT5kZXYgPSBkZXY7CisJciA9IGRybV9kZWJ1Z2ZzX2FsbG9j KG1pbm9yKTsKKwlpZiAocikKKwkJZ290byBlcnJfZnJlZTsKIAogCWlkcl9wcmVsb2FkKEdGUF9L RVJORUwpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZkcm1fbWlub3JfbG9jaywgZmxhZ3MpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJt L2RybV9pbnRlcm5hbC5oCmluZGV4IDQwMTc5YzVmYzZiOC4uZDYzOTQyNDY5NjdkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9pbnRlcm5hbC5oCkBAIC0xMTgsNiArMTE4LDcgQEAgdm9pZCBkcm1fZ2VtX3ByaW50X2lu Zm8oc3RydWN0IGRybV9wcmludGVyICpwLCB1bnNpZ25lZCBpbnQgaW5kZW50LAogCiAvKiBkcm1f ZGVidWdmcy5jIGRybV9kZWJ1Z2ZzX2NyYy5jICovCiAjaWYgZGVmaW5lZChDT05GSUdfREVCVUdf RlMpCitpbnQgZHJtX2RlYnVnZnNfYWxsb2Moc3RydWN0IGRybV9taW5vciAqbWlub3IpOwogaW50 IGRybV9kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAqbWlub3IsIGludCBtaW5vcl9pZCwK IAkJICAgICBzdHJ1Y3QgZGVudHJ5ICpyb290KTsKIGludCBkcm1fZGVidWdmc19jbGVhbnVwKHN0 cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKQEAgLTEyNyw2ICsxMjgsMTAgQEAgaW50IGRybV9kZWJ1 Z2ZzX2NydGNfYWRkKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGRybV9kZWJ1Z2ZzX2Ny dGNfcmVtb3ZlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiBpbnQgZHJtX2RlYnVnZnNfY3J0Y19j cmNfYWRkKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiAjZWxzZQorc3RhdGljIGlubGluZSBpbnQg ZHJtX2RlYnVnZnNfYWxsb2Moc3RydWN0IGRybV9taW5vciAqbWlub3IpCit7CisJcmV0dXJuIDA7 Cit9CiBzdGF0aWMgaW5saW5lIGludCBkcm1fZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3Ig Km1pbm9yLCBpbnQgbWlub3JfaWQsCiAJCQkJICAgc3RydWN0IGRlbnRyeSAqcm9vdCkKIHsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kZWJ1Z2ZzLmggYi9pbmNsdWRlL2RybS9kcm1fZGVi dWdmcy5oCmluZGV4IGFjMGY3NWRmMWFjOS4uNmFjNDVkOTZmY2QxIDEwMDY0NAotLS0gYS9pbmNs dWRlL2RybS9kcm1fZGVidWdmcy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kZWJ1Z2ZzLmgKQEAg LTc3LDEyICs3NywyMyBAQCBzdHJ1Y3QgZHJtX2luZm9fbm9kZSB7CiAJc3RydWN0IGRlbnRyeSAq ZGVudDsKIH07CiAKK3N0cnVjdCBkcm1fZGVidWdmc19jYWxsYmFjazsKKwogI2lmIGRlZmluZWQo Q09ORklHX0RFQlVHX0ZTKQogaW50IGRybV9kZWJ1Z2ZzX2NyZWF0ZV9maWxlcyhjb25zdCBzdHJ1 Y3QgZHJtX2luZm9fbGlzdCAqZmlsZXMsCiAJCQkgICAgIGludCBjb3VudCwgc3RydWN0IGRlbnRy eSAqcm9vdCwKIAkJCSAgICAgc3RydWN0IGRybV9taW5vciAqbWlub3IpOwogaW50IGRybV9kZWJ1 Z2ZzX3JlbW92ZV9maWxlcyhjb25zdCBzdHJ1Y3QgZHJtX2luZm9fbGlzdCAqZmlsZXMsCiAJCQkg ICAgIGludCBjb3VudCwgc3RydWN0IGRybV9taW5vciAqbWlub3IpOworCitpbnQgZHJtX2RlYnVn ZnNfcmVnaXN0ZXJfY2FsbGJhY2soc3RydWN0IGRybV9taW5vciAqbWlub3IsCisJCQkJICB2b2lk ICgqaW5pdCkodm9pZCAqKSwKKwkJCQkgIHZvaWQgKCpjbGVhbnVwX2NiKSh2b2lkICopLAorCQkJ CSAgdm9pZCAqZGF0YSwKKwkJCQkgIHN0cnVjdCBkcm1fZGVidWdmc19jYWxsYmFjayAqKm91dCk7 Cit2b2lkIGRybV9kZWJ1Z2ZzX3VucmVnaXN0ZXJfY2FsbGJhY2soc3RydWN0IGRybV9taW5vciAq bWlub3IsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2RlYnVnZnNfY2FsbGJhY2sgKmNiKTsKKwogI2Vs c2UKIHN0YXRpYyBpbmxpbmUgaW50IGRybV9kZWJ1Z2ZzX2NyZWF0ZV9maWxlcyhjb25zdCBzdHJ1 Y3QgZHJtX2luZm9fbGlzdCAqZmlsZXMsCiAJCQkJCSAgIGludCBjb3VudCwgc3RydWN0IGRlbnRy eSAqcm9vdCwKQEAgLTk2LDYgKzEwNywyMiBAQCBzdGF0aWMgaW5saW5lIGludCBkcm1fZGVidWdm c19yZW1vdmVfZmlsZXMoY29uc3Qgc3RydWN0IGRybV9pbmZvX2xpc3QgKmZpbGVzLAogewogCXJl dHVybiAwOwogfQorCitzdGF0aWMgaW5saW5lIGludAorZHJtX2RlYnVnZnNfcmVnaXN0ZXJfY2Fs bGJhY2soc3RydWN0IGRybV9taW5vciAqbWlub3IsCisJCQkgICAgICB2b2lkICgqaW5pdCkodm9p ZCAqKSwKKwkJCSAgICAgIHZvaWQgKCpjbGVhbnVwX2NiKSh2b2lkICopLAorCQkJICAgICAgdm9p ZCAqZGF0YSwKKwkJCSAgICAgIHN0cnVjdCBkcm1fZGVidWdmc19jYWxsYmFjayAqKm91dCkKK3sK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitkcm1fZGVidWdmc191bnJlZ2lz dGVyX2NhbGxiYWNrKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yLAorCQkJCXN0cnVjdCBkcm1fZGVi dWdmc19jYWxsYmFjayAqY2IpCit7Cit9CiAjZW5kaWYKIAogI2VuZGlmIC8qIF9EUk1fREVCVUdG U19IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZpbGUuaCBiL2luY2x1ZGUvZHJt L2RybV9maWxlLmgKaW5kZXggMjY0ODVhY2M1MWQ3Li4xODAwNTJiNTE3MTIgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9maWxlLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZpbGUuaApAQCAt NzQsNiArNzQsMTAgQEAgc3RydWN0IGRybV9taW5vciB7CiAKIAlzdHJ1Y3QgZGVudHJ5ICpkZWJ1 Z2ZzX3Jvb3Q7CiAKKwlib29sIGRlYnVnZnNfY2FsbGJhY2tzX2RvbmU7CisJc3RydWN0IGxpc3Rf aGVhZCBkZWJ1Z2ZzX2NhbGxiYWNrX2xpc3Q7CisJc3RydWN0IG11dGV4IGRlYnVnZnNfY2FsbGJh Y2tfbG9jazsKKwogCXN0cnVjdCBsaXN0X2hlYWQgZGVidWdmc19saXN0OwogCXN0cnVjdCBtdXRl eCBkZWJ1Z2ZzX2xvY2s7IC8qIFByb3RlY3RzIGRlYnVnZnNfbGlzdC4gKi8KIH07Ci0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=