From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 8/9] cpufreq: convert to a single post-init driver (hooks) instance Date: Tue, 11 Sep 2018 07:37:00 -0600 Message-ID: <5B97C4FC02000078001E74C7@prv1-mh.provo.novell.com> References: <5B97C28802000078001E7456@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fziqo-0000UA-A4 for xen-devel@lists.xenproject.org; Tue, 11 Sep 2018 13:37:06 +0000 In-Reply-To: <5B97C28802000078001E7456@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall List-Id: xen-devel@lists.xenproject.org VGhpcyByZWR1Y2VzIHRoZSBwb3N0LWluaXQgbWVtb3J5IGZvb3RwcmludCwgZWxpbWluYXRlcyBh IHBvaW50bGVzcwpsZXZlbCBvZiBpbmRpcmVjdGlvbiBhdCB0aGUgdXNlIHNpdGVzLCBhbmQgYWxs b3dzIGZvciBzdWJzZXF1ZW50CmFsdGVybmF0aXZlcyBjYWxsIHBhdGNoaW5nLgoKVGFrZSB0aGUg b3Bwb3J0dW5pdHkgYW5kIGFsc28gYWRkIGEgbmFtZSB0byB0aGUgUG93ZXJOb3chIGluc3RhbmNl LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjI6 IE5ldy4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5jCkBAIC01Myw4ICs1Myw2IEBAIGVudW0g ewogCiBzdHJ1Y3QgYWNwaV9jcHVmcmVxX2RhdGEgKmNwdWZyZXFfZHJ2X2RhdGFbTlJfQ1BVU107 CiAKLXN0YXRpYyBzdHJ1Y3QgY3B1ZnJlcV9kcml2ZXIgYWNwaV9jcHVmcmVxX2RyaXZlcjsKLQog c3RhdGljIGJvb2wgX19yZWFkX21vc3RseSBhY3BpX3BzdGF0ZV9zdHJpY3Q7CiBib29sZWFuX3Bh cmFtKCJhY3BpX3BzdGF0ZV9zdHJpY3QiLCBhY3BpX3BzdGF0ZV9zdHJpY3QpOwogCkBAIC0zNTUs NyArMzUzLDcgQEAgc3RhdGljIHZvaWQgZmVhdHVyZV9kZXRlY3Qodm9pZCAqaW5mbykKICAgICBp ZiAoIGNwdV9oYXNfYXBlcmZtcGVyZiApCiAgICAgewogICAgICAgICBwb2xpY3ktPmFwZXJmX21w ZXJmID0gMTsKLSAgICAgICAgYWNwaV9jcHVmcmVxX2RyaXZlci5nZXRhdmcgPSBnZXRfbWVhc3Vy ZWRfcGVyZjsKKyAgICAgICAgY3B1ZnJlcV9kcml2ZXIuZ2V0YXZnID0gZ2V0X21lYXN1cmVkX3Bl cmY7CiAgICAgfQogCiAgICAgZWF4ID0gY3B1aWRfZWF4KDYpOwpAQCAtNTkzLDcgKzU5MSw3IEBA IGFjcGlfY3B1ZnJlcV9jcHVfaW5pdChzdHJ1Y3QgY3B1ZnJlcV9wb2wKICAgICAgICAgcG9saWN5 LT5jdXIgPSBhY3BpX2NwdWZyZXFfZ3Vlc3NfZnJlcShkYXRhLCBwb2xpY3ktPmNwdSk7CiAgICAg ICAgIGJyZWFrOwogICAgIGNhc2UgQUNQSV9BRFJfU1BBQ0VfRklYRURfSEFSRFdBUkU6Ci0gICAg ICAgIGFjcGlfY3B1ZnJlcV9kcml2ZXIuZ2V0ID0gZ2V0X2N1cl9mcmVxX29uX2NwdTsKKyAgICAg ICAgY3B1ZnJlcV9kcml2ZXIuZ2V0ID0gZ2V0X2N1cl9mcmVxX29uX2NwdTsKICAgICAgICAgcG9s aWN5LT5jdXIgPSBnZXRfY3VyX2ZyZXFfb25fY3B1KGNwdSk7CiAgICAgICAgIGJyZWFrOwogICAg IGRlZmF1bHQ6CkBAIC02MzUsNyArNjMzLDcgQEAgc3RhdGljIGludCBhY3BpX2NwdWZyZXFfY3B1 X2V4aXQoc3RydWN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgY3B1ZnJlcV9k cml2ZXIgYWNwaV9jcHVmcmVxX2RyaXZlciA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY3B1ZnJl cV9kcml2ZXIgX19pbml0Y29uc3RyZWwgYWNwaV9jcHVmcmVxX2RyaXZlciA9IHsKICAgICAubmFt ZSAgID0gImFjcGktY3B1ZnJlcSIsCiAgICAgLnZlcmlmeSA9IGFjcGlfY3B1ZnJlcV92ZXJpZnks CiAgICAgLnRhcmdldCA9IGFjcGlfY3B1ZnJlcV90YXJnZXQsCkBAIC02NTYsNyArNjU0LDcgQEAg c3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV9kcml2ZXJfaW5pdCh2bwogCiAgICAgcmV0dXJuIHJl dDsKIH0KLV9faW5pdGNhbGwoY3B1ZnJlcV9kcml2ZXJfaW5pdCk7CitwcmVzbXBfaW5pdGNhbGwo Y3B1ZnJlcV9kcml2ZXJfaW5pdCk7CiAKIGludCBjcHVmcmVxX2NwdV9pbml0KHVuc2lnbmVkIGlu dCBjcHVpZCkKIHsKLS0tIGEveGVuL2FyY2gveDg2L2FjcGkvY3B1ZnJlcS9wb3dlcm5vdy5jCisr KyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvcG93ZXJub3cuYwpAQCAtNTIsOCArNTIsNiBA QAogCiAjZGVmaW5lIEFSQ0hfQ1BVX0ZMQUdfUkVTVU1FCTEKIAotc3RhdGljIHN0cnVjdCBjcHVm cmVxX2RyaXZlciBwb3dlcm5vd19jcHVmcmVxX2RyaXZlcjsKLQogc3RhdGljIHZvaWQgdHJhbnNp dGlvbl9wc3RhdGUodm9pZCAqcHN0YXRlKQogewogICAgIHdybXNybChNU1JfUFNUQVRFX0NUUkws ICoodW5zaWduZWQgaW50ICopcHN0YXRlKTsKQEAgLTIxNSw3ICsyMTMsNyBAQCBzdGF0aWMgdm9p ZCBmZWF0dXJlX2RldGVjdCh2b2lkICppbmZvKQogICAgIGlmICggY3B1X2hhc19hcGVyZm1wZXJm ICkKICAgICB7CiAgICAgICAgIHBvbGljeS0+YXBlcmZfbXBlcmYgPSAxOwotICAgICAgICBwb3dl cm5vd19jcHVmcmVxX2RyaXZlci5nZXRhdmcgPSBnZXRfbWVhc3VyZWRfcGVyZjsKKyAgICAgICAg Y3B1ZnJlcV9kcml2ZXIuZ2V0YXZnID0gZ2V0X21lYXN1cmVkX3BlcmY7CiAgICAgfQogCiAgICAg ZWR4ID0gY3B1aWRfZWR4KENQVUlEX0ZSRVFfVk9MVF9DQVBBQklMSVRJRVMpOwpAQCAtMzQ3LDcg KzM0NSw4IEBAIHN0YXRpYyBpbnQgcG93ZXJub3dfY3B1ZnJlcV9jcHVfZXhpdChzdHIKICAgICBy ZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBjcHVmcmVxX2RyaXZlciBwb3dlcm5vd19jcHVm cmVxX2RyaXZlciA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY3B1ZnJlcV9kcml2ZXIgX19pbml0 Y29uc3RyZWwgcG93ZXJub3dfY3B1ZnJlcV9kcml2ZXIgPSB7CisgICAgLm5hbWUgICA9ICJwb3dl cm5vdyIsCiAgICAgLnZlcmlmeSA9IHBvd2Vybm93X2NwdWZyZXFfdmVyaWZ5LAogICAgIC50YXJn ZXQgPSBwb3dlcm5vd19jcHVmcmVxX3RhcmdldCwKICAgICAuaW5pdCAgID0gcG93ZXJub3dfY3B1 ZnJlcV9jcHVfaW5pdCwKLS0tIGEveGVuL2RyaXZlcnMvYWNwaS9wbXN0YXQuYworKysgYi94ZW4v ZHJpdmVycy9hY3BpL3Btc3RhdC5jCkBAIC02NCw3ICs2NCw3IEBAIGludCBkb19nZXRfcG1faW5m byhzdHJ1Y3QgeGVuX3N5c2N0bF9nZXQKICAgICBjYXNlIFBNU1RBVF9QWDoKICAgICAgICAgaWYg KCAhKHhlbl9wcm9jZXNzb3JfcG1iaXRzICYgWEVOX1BST0NFU1NPUl9QTV9QWCkgKQogICAgICAg ICAgICAgcmV0dXJuIC1FTk9ERVY7Ci0gICAgICAgIGlmICggIWNwdWZyZXFfZHJpdmVyICkKKyAg ICAgICAgaWYgKCAhY3B1ZnJlcV9kcml2ZXIuaW5pdCApCiAgICAgICAgICAgICByZXR1cm4gLUVO T0RFVjsKICAgICAgICAgaWYgKCAhcG1wdCB8fCAhKHBtcHQtPnBlcmYuaW5pdCAmIFhFTl9QWF9J TklUKSApCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKQEAgLTI1NSwxNiArMjU1LDE2IEBA IHN0YXRpYyBpbnQgZ2V0X2NwdWZyZXFfcGFyYShzdHJ1Y3QgeGVuX3MKICAgICAgICAgcmV0dXJu IHJldDsKIAogICAgIG9wLT51LmdldF9wYXJhLmNwdWluZm9fY3VyX2ZyZXEgPQotICAgICAgICBj cHVmcmVxX2RyaXZlci0+Z2V0ID8gY3B1ZnJlcV9kcml2ZXItPmdldChvcC0+Y3B1aWQpIDogcG9s aWN5LT5jdXI7CisgICAgICAgIGNwdWZyZXFfZHJpdmVyLmdldCA/IGNwdWZyZXFfZHJpdmVyLmdl dChvcC0+Y3B1aWQpIDogcG9saWN5LT5jdXI7CiAgICAgb3AtPnUuZ2V0X3BhcmEuY3B1aW5mb19t YXhfZnJlcSA9IHBvbGljeS0+Y3B1aW5mby5tYXhfZnJlcTsKICAgICBvcC0+dS5nZXRfcGFyYS5j cHVpbmZvX21pbl9mcmVxID0gcG9saWN5LT5jcHVpbmZvLm1pbl9mcmVxOwogICAgIG9wLT51Lmdl dF9wYXJhLnNjYWxpbmdfY3VyX2ZyZXEgPSBwb2xpY3ktPmN1cjsKICAgICBvcC0+dS5nZXRfcGFy YS5zY2FsaW5nX21heF9mcmVxID0gcG9saWN5LT5tYXg7CiAgICAgb3AtPnUuZ2V0X3BhcmEuc2Nh bGluZ19taW5fZnJlcSA9IHBvbGljeS0+bWluOwogCi0gICAgaWYgKCBjcHVmcmVxX2RyaXZlci0+ bmFtZVswXSApCisgICAgaWYgKCBjcHVmcmVxX2RyaXZlci5uYW1lWzBdICkKICAgICAgICAgc3Ry bGNweShvcC0+dS5nZXRfcGFyYS5zY2FsaW5nX2RyaXZlciwgCi0gICAgICAgICAgICBjcHVmcmVx X2RyaXZlci0+bmFtZSwgQ1BVRlJFUV9OQU1FX0xFTik7CisgICAgICAgICAgICBjcHVmcmVxX2Ry aXZlci5uYW1lLCBDUFVGUkVRX05BTUVfTEVOKTsKICAgICBlbHNlCiAgICAgICAgIHN0cmxjcHko b3AtPnUuZ2V0X3BhcmEuc2NhbGluZ19kcml2ZXIsICJVbmtub3duIiwgQ1BVRlJFUV9OQU1FX0xF Tik7CiAKLS0tIGEveGVuL2RyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxLmMKKysrIGIveGVuL2RyaXZl cnMvY3B1ZnJlcS9jcHVmcmVxLmMKQEAgLTE3Miw3ICsxNzIsNyBAQCBpbnQgY3B1ZnJlcV9hZGRf Y3B1KHVuc2lnbmVkIGludCBjcHUpCiAgICAgaWYgKCAhKHBlcmYtPmluaXQgJiBYRU5fUFhfSU5J VCkgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAotICAgIGlmICghY3B1ZnJlcV9kcml2ZXIp CisgICAgaWYgKCFjcHVmcmVxX2RyaXZlci5pbml0KQogICAgICAgICByZXR1cm4gMDsKIAogICAg IGlmIChwZXJfY3B1KGNwdWZyZXFfY3B1X3BvbGljeSwgY3B1KSkKQEAgLTIzOSw3ICsyMzksNyBA QCBpbnQgY3B1ZnJlcV9hZGRfY3B1KHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHBvbGljeS0+ Y3B1ID0gY3B1OwogICAgICAgICBwZXJfY3B1KGNwdWZyZXFfY3B1X3BvbGljeSwgY3B1KSA9IHBv bGljeTsKIAotICAgICAgICByZXQgPSBjcHVmcmVxX2RyaXZlci0+aW5pdChwb2xpY3kpOworICAg ICAgICByZXQgPSBjcHVmcmVxX2RyaXZlci5pbml0KHBvbGljeSk7CiAgICAgICAgIGlmIChyZXQp IHsKICAgICAgICAgICAgIGZyZWVfY3B1bWFza192YXIocG9saWN5LT5jcHVzKTsKICAgICAgICAg ICAgIHhmcmVlKHBvbGljeSk7CkBAIC0yOTgsNyArMjk4LDcgQEAgZXJyMToKICAgICBjcHVtYXNr X2NsZWFyX2NwdShjcHUsIGNwdWZyZXFfZG9tLT5tYXApOwogCiAgICAgaWYgKGNwdW1hc2tfZW1w dHkocG9saWN5LT5jcHVzKSkgewotICAgICAgICBjcHVmcmVxX2RyaXZlci0+ZXhpdChwb2xpY3kp OworICAgICAgICBjcHVmcmVxX2RyaXZlci5leGl0KHBvbGljeSk7CiAgICAgICAgIGZyZWVfY3B1 bWFza192YXIocG9saWN5LT5jcHVzKTsKICAgICAgICAgeGZyZWUocG9saWN5KTsKICAgICB9CkBA IC0zNjIsNyArMzYyLDcgQEAgaW50IGNwdWZyZXFfZGVsX2NwdSh1bnNpZ25lZCBpbnQgY3B1KQog ICAgIGNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgY3B1ZnJlcV9kb20tPm1hcCk7CiAKICAgICBpZiAo Y3B1bWFza19lbXB0eShwb2xpY3ktPmNwdXMpKSB7Ci0gICAgICAgIGNwdWZyZXFfZHJpdmVyLT5l eGl0KHBvbGljeSk7CisgICAgICAgIGNwdWZyZXFfZHJpdmVyLmV4aXQocG9saWN5KTsKICAgICAg ICAgZnJlZV9jcHVtYXNrX3Zhcihwb2xpY3ktPmNwdXMpOwogICAgICAgICB4ZnJlZShwb2xpY3kp OwogICAgIH0KQEAgLTY2MywxNyArNjYzLDE3IEBAIHN0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFf cHJlc21wX2luaXQodm8KIH0KIHByZXNtcF9pbml0Y2FsbChjcHVmcmVxX3ByZXNtcF9pbml0KTsK IAotaW50IF9faW5pdCBjcHVmcmVxX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgY3B1ZnJlcV9kcml2 ZXIgKmRyaXZlcl9kYXRhKQoraW50IF9faW5pdCBjcHVmcmVxX3JlZ2lzdGVyX2RyaXZlcihjb25z dCBzdHJ1Y3QgY3B1ZnJlcV9kcml2ZXIgKmRyaXZlcl9kYXRhKQogewogICAgaWYgKCAhZHJpdmVy X2RhdGEgfHwgIWRyaXZlcl9kYXRhLT5pbml0IHx8CiAgICAgICAgICFkcml2ZXJfZGF0YS0+dmVy aWZ5IHx8ICFkcml2ZXJfZGF0YS0+ZXhpdCB8fAogICAgICAgICAoIWRyaXZlcl9kYXRhLT50YXJn ZXQgPT0gIWRyaXZlcl9kYXRhLT5zZXRwb2xpY3kpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CiAKLSAgICBpZiAoIGNwdWZyZXFfZHJpdmVyICkKKyAgICBpZiAoIGNwdWZyZXFfZHJpdmVyLmlu aXQgKQogICAgICAgICByZXR1cm4gLUVCVVNZOwogCi0gICAgY3B1ZnJlcV9kcml2ZXIgPSBkcml2 ZXJfZGF0YTsKKyAgICBjcHVmcmVxX2RyaXZlciA9ICpkcml2ZXJfZGF0YTsKIAogICAgIHJldHVy biAwOwogfQotLS0gYS94ZW4vZHJpdmVycy9jcHVmcmVxL3V0aWxpdHkuYworKysgYi94ZW4vZHJp dmVycy9jcHVmcmVxL3V0aWxpdHkuYwpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgPGFjcGkv Y3B1ZnJlcS9jcHVmcmVxLmg+CiAjaW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgogCi1zdHJ1Y3Qg Y3B1ZnJlcV9kcml2ZXIgICAqY3B1ZnJlcV9kcml2ZXI7CitzdHJ1Y3QgY3B1ZnJlcV9kcml2ZXIg X19yZWFkX21vc3RseSBjcHVmcmVxX2RyaXZlcjsKIHN0cnVjdCBwcm9jZXNzb3JfcG1pbmZvICpf X3JlYWRfbW9zdGx5IHByb2Nlc3Nvcl9wbWluZm9bTlJfQ1BVU107CiBERUZJTkVfUEVSX0NQVV9S RUFEX01PU1RMWShzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKiwgY3B1ZnJlcV9jcHVfcG9saWN5KTsK IApAQCAtMzYwLDExICszNjAsMTEgQEAgaW50IF9fY3B1ZnJlcV9kcml2ZXJfdGFyZ2V0KHN0cnVj dCBjcHVmcgogewogICAgIGludCByZXR2YWwgPSAtRUlOVkFMOwogCi0gICAgaWYgKGNwdV9vbmxp bmUocG9saWN5LT5jcHUpICYmIGNwdWZyZXFfZHJpdmVyLT50YXJnZXQpCisgICAgaWYgKGNwdV9v bmxpbmUocG9saWN5LT5jcHUpICYmIGNwdWZyZXFfZHJpdmVyLnRhcmdldCkKICAgICB7CiAgICAg ICAgIHVuc2lnbmVkIGludCBwcmV2X2ZyZXEgPSBwb2xpY3ktPmN1cjsKIAotICAgICAgICByZXR2 YWwgPSBjcHVmcmVxX2RyaXZlci0+dGFyZ2V0KHBvbGljeSwgdGFyZ2V0X2ZyZXEsIHJlbGF0aW9u KTsKKyAgICAgICAgcmV0dmFsID0gY3B1ZnJlcV9kcml2ZXIudGFyZ2V0KHBvbGljeSwgdGFyZ2V0 X2ZyZXEsIHJlbGF0aW9uKTsKICAgICAgICAgaWYgKCByZXR2YWwgPT0gMCApCiAgICAgICAgICAg ICBUUkFDRV8yRChUUkNfUE1fRlJFUV9DSEFOR0UsIHByZXZfZnJlcS8xMDAwLCBwb2xpY3ktPmN1 ci8xMDAwKTsKICAgICB9CkBAIC0zODAsOSArMzgwLDkgQEAgaW50IGNwdWZyZXFfZHJpdmVyX2dl dGF2Zyh1bnNpZ25lZCBpbnQgYwogICAgIGlmICghY3B1X29ubGluZShjcHUpIHx8ICEocG9saWN5 ID0gcGVyX2NwdShjcHVmcmVxX2NwdV9wb2xpY3ksIGNwdSkpKQogICAgICAgICByZXR1cm4gMDsK IAotICAgIGlmIChjcHVmcmVxX2RyaXZlci0+Z2V0YXZnKQorICAgIGlmIChjcHVmcmVxX2RyaXZl ci5nZXRhdmcpCiAgICAgewotICAgICAgICBmcmVxX2F2ZyA9IGNwdWZyZXFfZHJpdmVyLT5nZXRh dmcoY3B1LCBmbGFnKTsKKyAgICAgICAgZnJlcV9hdmcgPSBjcHVmcmVxX2RyaXZlci5nZXRhdmco Y3B1LCBmbGFnKTsKICAgICAgICAgaWYgKGZyZXFfYXZnID4gMCkKICAgICAgICAgICAgIHJldHVy biBmcmVxX2F2ZzsKICAgICB9CkBAIC00MTIsOSArNDEyLDkgQEAgaW50IGNwdWZyZXFfdXBkYXRl X3R1cmJvKGludCBjcHVpZCwgaW50CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcG9saWN5LT50 dXJibyA9IG5ld19zdGF0ZTsKLSAgICBpZiAoY3B1ZnJlcV9kcml2ZXItPnVwZGF0ZSkKKyAgICBp ZiAoY3B1ZnJlcV9kcml2ZXIudXBkYXRlKQogICAgIHsKLSAgICAgICAgcmV0ID0gY3B1ZnJlcV9k cml2ZXItPnVwZGF0ZShjcHVpZCwgcG9saWN5KTsKKyAgICAgICAgcmV0ID0gY3B1ZnJlcV9kcml2 ZXIudXBkYXRlKGNwdWlkLCBwb2xpY3kpOwogICAgICAgICBpZiAocmV0KQogICAgICAgICAgICAg cG9saWN5LT50dXJibyA9IGN1cnJfc3RhdGU7CiAgICAgfQpAQCAtNDUwLDE1ICs0NTAsMTUgQEAg aW50IF9fY3B1ZnJlcV9zZXRfcG9saWN5KHN0cnVjdCBjcHVmcmVxXwogICAgICAgICByZXR1cm4g LUVJTlZBTDsKIAogICAgIC8qIHZlcmlmeSB0aGUgY3B1IHNwZWVkIGNhbiBiZSBzZXQgd2l0aGlu IHRoaXMgbGltaXQgKi8KLSAgICByZXQgPSBjcHVmcmVxX2RyaXZlci0+dmVyaWZ5KHBvbGljeSk7 CisgICAgcmV0ID0gY3B1ZnJlcV9kcml2ZXIudmVyaWZ5KHBvbGljeSk7CiAgICAgaWYgKHJldCkK ICAgICAgICAgcmV0dXJuIHJldDsKIAogICAgIGRhdGEtPm1pbiA9IHBvbGljeS0+bWluOwogICAg IGRhdGEtPm1heCA9IHBvbGljeS0+bWF4OwogICAgIGRhdGEtPmxpbWl0cyA9IHBvbGljeS0+bGlt aXRzOwotICAgIGlmIChjcHVmcmVxX2RyaXZlci0+c2V0cG9saWN5KQotICAgICAgICByZXR1cm4g Y3B1ZnJlcV9kcml2ZXItPnNldHBvbGljeShkYXRhKTsKKyAgICBpZiAoY3B1ZnJlcV9kcml2ZXIu c2V0cG9saWN5KQorICAgICAgICByZXR1cm4gY3B1ZnJlcV9kcml2ZXIuc2V0cG9saWN5KGRhdGEp OwogCiAgICAgaWYgKHBvbGljeS0+Z292ZXJub3IgIT0gZGF0YS0+Z292ZXJub3IpIHsKICAgICAg ICAgLyogc2F2ZSBvbGQsIHdvcmtpbmcgdmFsdWVzICovCi0tLSBhL3hlbi9pbmNsdWRlL2FjcGkv Y3B1ZnJlcS9jcHVmcmVxLmgKKysrIGIveGVuL2luY2x1ZGUvYWNwaS9jcHVmcmVxL2NwdWZyZXEu aApAQCAtMTUzLDcgKzE1Myw3IEBAIF9fY3B1ZnJlcV9nb3Zlcm5vcihzdHJ1Y3QgY3B1ZnJlcV9w b2xpY3kKICNkZWZpbmUgQ1BVRlJFUV9SRUxBVElPTl9IIDEgIC8qIGhpZ2hlc3QgZnJlcXVlbmN5 IGJlbG93IG9yIGF0IHRhcmdldCAqLwogCiBzdHJ1Y3QgY3B1ZnJlcV9kcml2ZXIgewotICAgIGNo YXIgICBuYW1lW0NQVUZSRVFfTkFNRV9MRU5dOworICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAg aW50ICAgICgqaW5pdCkoc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3kpOwogICAgIGludCAg ICAoKnZlcmlmeSkoc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3kpOwogICAgIGludCAgICAo KnNldHBvbGljeSkoc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3kpOwpAQCAtMTY2LDkgKzE2 Niw5IEBAIHN0cnVjdCBjcHVmcmVxX2RyaXZlciB7CiAgICAgaW50ICAgICgqZXhpdCkoc3RydWN0 IGNwdWZyZXFfcG9saWN5ICpwb2xpY3kpOwogfTsKIAotZXh0ZXJuIHN0cnVjdCBjcHVmcmVxX2Ry aXZlciAqY3B1ZnJlcV9kcml2ZXI7CitleHRlcm4gc3RydWN0IGNwdWZyZXFfZHJpdmVyIGNwdWZy ZXFfZHJpdmVyOwogCi1pbnQgY3B1ZnJlcV9yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IGNwdWZyZXFf ZHJpdmVyICopOworaW50IGNwdWZyZXFfcmVnaXN0ZXJfZHJpdmVyKGNvbnN0IHN0cnVjdCBjcHVm cmVxX2RyaXZlciAqKTsKIAogc3RhdGljIF9faW5saW5lX18KIHZvaWQgY3B1ZnJlcV92ZXJpZnlf d2l0aGluX2xpbWl0cyhzdHJ1Y3QgY3B1ZnJlcV9wb2xpY3kgKnBvbGljeSwKCgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=