From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v4 10/11] livepatch/arm[32, 64]: Modify .livepatch.funcs section to be RW when patching Date: Wed, 20 Sep 2017 18:31:47 -0400 Message-ID: <20170920223148.13137-11-konrad.wilk@oracle.com> References: <20170920223148.13137-1-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dunXU-0007Hd-Aw for xen-devel@lists.xenproject.org; Wed, 20 Sep 2017 22:32:16 +0000 Received: by mail-qt0-f196.google.com with SMTP id q8so2677413qtb.1 for ; Wed, 20 Sep 2017 15:32:14 -0700 (PDT) In-Reply-To: <20170920223148.13137-1-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, ross.lagerwall@citrix.com, konrad.wilk@oracle.com, julien.grall@arm.com, sstabellini@kernel.org Cc: andrew.cooper3@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VGhpcyB3YXMgZm91bmQgd2hlbiBwb3J0aW5nIGxpdmVwYXRjaC1idWlsZC10b29scyB0byBBUk02 NC8zMgoKV2hlbiBsaXZlcGF0Y2gtYnVpbGQtdG9vbHMgYXJlIGJ1aWx0IChhbmQgdGVzdC1jYXNl IHRoYW5rcyB0bzoKbGl2ZXBhdGNoL3Rlc3RzOiBNYWtlIHN1cmUgYWxsIC5saXZlcGF0Y2guZnVu Y3Mgc2VjdGlvbnMgYXJlIHJlYWQtb25seSkKdGhlIC5saXZlcGF0Y2guZnVuY3MgYXJlIGluIHJl YWQtb25seSBzZWN0aW9uLgoKSG93ZXZlciB0aGUgaHlwZXJ2aXNvciB1c2VzIHRoZSAnb3BhcXVl JyBmb3IgaXRzIG93biBwdXJwb3NlLCB0aGF0CmlzIHN0YXNoaW5nIHRoZSBvcmlnaW5hbCBjb2Rl LiBCdXQgdGhlIC5saXZlcGF0Y2hfZnVuY3Mgc2VjdGlvbiBpcwppbiB0aGUgUk8gdm1hcCBhcmVh IHNvIG9uIEFSTVszMiw2NF0gd2UgZ2V0IGEgZmF1bHQgKGFzIHRoZQpzZWN1cmVfcGF5bG9hZCBj aGFuZ2VzIHRoZSBWQSB0byBSTykuCgpPbiB4ODYgdGhlIHNhbWUgcHJvdGVjdGlvbiBpcyBpbiBw bGFjZS4gSW4gJ2FyY2hfbGl2ZXBhdGNoX3F1aWVzY2UnCndlIGRpc2FibGUgV1AgdG8gYWxsb3cg Y2hhbmdlcyB0byByZWFkLW9ubHkgcGFnZXMgKGFuZCBpbiBhcmNoX2xpdmVwYXRjaF9yZXZpdmUK d2UgcmUtZW5hYmxlIHRoZSBXUCBwcm90ZWN0aW9uKS4KCk9uIEFSTVszMiw2NF0gd2UgZG8gbm90 IGhhdmUgdGhlIGx1eHVyeSBvZiBhIGdsb2JhbCByZWdpc3RlciB0aGF0IGNhbgpiZSBjaGFuZ2Vk IGFmdGVyIGJvb3QuIEluIGxpZXUgb2YgdGhhdCB3ZSBtb2RpZnkgdGhlIFZBIG9mIHdoZXJlCnRo ZSAubGl2ZXBhdGNoLmZ1bmNzIGlzIHRvIFJXLiBBZnRlciB3ZSBhcmUgZG9uZSB3aXRoIHBhdGNo aW5nCndlIGNoYW5nZSBpdCBiYWNrIHRvIFJPLgoKVG8gZG8gdGhpcyB3ZSBuZWVkIHRvIHN0YXNo IGR1cmluZyBsaXZlcGF0Y2hpbmcgdGhlIHZhIG9mIHRoZSBwYWdlCmluIHdoaWNoIHRoZSAubGl2 ZXBhdGNoLmZ1bmMgcmVzaWRlcywgYW5kIHRoZSBudW1iZXIgb2YgcGFnZXMgc2FpZApzZWN0aW9u IHVzZXMgKG9yIDEgYXQgbWluKS4KCkVxdWlwcGVkIHdpdGggdGhhdCB3ZSBjYW4gcGF0Y2ggbGl2 ZXBhdGNoIGZ1bmN0aW9ucyB3aGljaCBoYXZlCi5saXZlcGF0Y2hfZnVuY3MgaW4gcm9kYXRhIHNl Y3Rpb24uCgpBbiBhbHRlcm5hdGl2ZSBpcyB0byBhZGQgdGhlICdXJyBmbGFnIGR1cmluZyBsb2Fk aW5nIG9mIHRoZQoubGl2ZXBhdGNoX2Z1bmNzIHdoaWNoIHdvdWxkIHJlc3VsdCB0aGUgc2VjdGlv biBiZWluZyBpbiB3cml0ZWFibGUKcmVnaW9uIGZyb20gdGhlIGdlY2tvLgoKU3VnZ2VzdGVkLWJ5 OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBLb25y YWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQpDYzogUm9zcyBM YWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+Cgp2NDogRmlyc3QgcG9zdGluZwot LS0KIHhlbi9hcmNoL2FybS9saXZlcGF0Y2guYyAgICAgICAgfCA0NSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2FyY2gveDg2L2xpdmVwYXRjaC5jICAgICAg ICB8ICAyICstCiB4ZW4vY29tbW9uL2xpdmVwYXRjaC5jICAgICAgICAgIHwgIDkgKysrKysrKy0t CiB4ZW4vaW5jbHVkZS9hc20tYXJtL2xpdmVwYXRjaC5oIHwgMTMgKysrKysrKysrKysrCiB4ZW4v aW5jbHVkZS94ZW4vbGl2ZXBhdGNoLmggICAgIHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgNjQg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v bGl2ZXBhdGNoLmMgYi94ZW4vYXJjaC9hcm0vbGl2ZXBhdGNoLmMKaW5kZXggNzY3MjNmMWYxYS4u ZjIzZGY4NTk3ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2xpdmVwYXRjaC5jCisrKyBiL3hl bi9hcmNoL2FybS9saXZlcGF0Y2guYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDx4ZW4vbGli Lmg+CiAjaW5jbHVkZSA8eGVuL2xpdmVwYXRjaF9lbGYuaD4KICNpbmNsdWRlIDx4ZW4vbGl2ZXBh dGNoLmg+CisjaW5jbHVkZSA8eGVuL3Bmbi5oPgogI2luY2x1ZGUgPHhlbi92bWFwLmg+CiAKICNp bmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgpAQCAtMTcsMTMgKzE4LDE1IEBACiAjZGVmaW5lIHZp cnRfdG9fbWZuKHZhKSBfbWZuKF9fdmlydF90b19tZm4odmEpKQogCiB2b2lkICp2bWFwX29mX3hl bl90ZXh0Oworc3RydWN0IGxpdmVwYXRjaF92YSBsaXZlcGF0Y2hfc3Rhc2g7CiAKLWludCBhcmNo X2xpdmVwYXRjaF9xdWllc2NlKHZvaWQpCitpbnQgYXJjaF9saXZlcGF0Y2hfcXVpZXNjZShzdHJ1 Y3QgbGl2ZXBhdGNoX2Z1bmMgKmZ1bmMsIHNpemVfdCBuZnVuY3MpCiB7CiAgICAgbWZuX3QgdGV4 dF9tZm47CiAgICAgdW5zaWduZWQgaW50IHRleHRfb3JkZXI7CisgICAgaW50IHJjID0gMDsKIAot ICAgIGlmICggdm1hcF9vZl94ZW5fdGV4dCApCisgICAgaWYgKCB2bWFwX29mX3hlbl90ZXh0IHx8 IGxpdmVwYXRjaF9zdGFzaC52YSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAgICAgdGV4 dF9tZm4gPSB2aXJ0X3RvX21mbihfc3RhcnQpOwpAQCAtNDMsNyArNDYsMjkgQEAgaW50IGFyY2hf bGl2ZXBhdGNoX3F1aWVzY2Uodm9pZCkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQog Ci0gICAgcmV0dXJuIDA7CisgICAgaWYgKCBuZnVuY3MgKQorICAgIHsKKyAgICAgICAgdW5zaWdu ZWQgbG9uZyB2YSA9ICh1bnNpZ25lZCBsb25nKWZ1bmM7CisgICAgICAgIHVuc2lnbmVkIGludCBv ZmZzID0gdmEgJiAoUEFHRV9TSVpFIC0gMSk7CisgICAgICAgIHVuc2lnbmVkIGludCBwYWdlcyA9 IFBGTl9VUChvZmZzICsgbmZ1bmNzICogc2l6ZW9mKCpmdW5jKSk7CisKKyAgICAgICAgdmEgJj0g UEFHRV9NQVNLOworCisgICAgICAgIHJjID0gbW9kaWZ5X3hlbl9tYXBwaW5ncyh2YSwgdmEgKyAo cGFnZXMgKiBQQUdFX1NJWkUpLCBQVEVfTlgpOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAg eworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIgTElWRVBBVENIICJGYWlsZWQgdG8gbW9k aWZ5IDB4JWx4IHRvIFJXXG4iLCB2YSk7CisgICAgICAgICAgICB2dW5tYXAodm1hcF9vZl94ZW5f dGV4dCk7CisgICAgICAgICAgICB2bWFwX29mX3hlbl90ZXh0ID0gTlVMTDsKKyAgICAgICAgfQor ICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGxpdmVwYXRjaF9zdGFzaC52YSA9 IHZhOworICAgICAgICAgICAgbGl2ZXBhdGNoX3N0YXNoLnBhZ2VzID0gcGFnZXM7CisgICAgICAg IH0KKyAgICB9CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIHZvaWQgYXJjaF9saXZlcGF0Y2hfcmV2 aXZlKHZvaWQpCkBAIC01OCw2ICs4MywyMCBAQCB2b2lkIGFyY2hfbGl2ZXBhdGNoX3Jldml2ZSh2 b2lkKQogICAgICAgICB2dW5tYXAodm1hcF9vZl94ZW5fdGV4dCk7CiAKICAgICB2bWFwX29mX3hl bl90ZXh0ID0gTlVMTDsKKworICAgIGlmICggbGl2ZXBhdGNoX3N0YXNoLnZhICkKKyAgICB7Cisg ICAgICAgIHVuc2lnbmVkIGxvbmcgdmEgPSBsaXZlcGF0Y2hfc3Rhc2gudmE7CisKKyAgICAgICAg aW50IHJjID0gbW9kaWZ5X3hlbl9tYXBwaW5ncyh2YSwgdmEgKyAobGl2ZXBhdGNoX3N0YXNoLnBh Z2VzICogUEFHRV9TSVpFKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ VEVfTlggfCBQVEVfUk8pOworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIHByaW50ayhY RU5MT0dfRVJSIExJVkVQQVRDSCAiRmFpbGVkIHRvIG1vZGlmeSAlbHggdG8gUk8hXG4iLCB2YSk7 CisKKyAgICAgICAgbGl2ZXBhdGNoX3N0YXNoLnZhID0gMDsKKyAgICAgICAgbGl2ZXBhdGNoX3N0 YXNoLnBhZ2VzID0gMDsKKworICAgIH0KIH0KIAogaW50IGFyY2hfbGl2ZXBhdGNoX3ZlcmlmeV9m dW5jKGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZnVuYyAqZnVuYykKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9saXZlcGF0Y2guYyBiL3hlbi9hcmNoL3g4Ni9saXZlcGF0Y2guYwppbmRleCA0OGQy MGZkYWNkLi5mNTg2NTM3MGQ1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbGl2ZXBhdGNoLmMK KysrIGIveGVuL2FyY2gveDg2L2xpdmVwYXRjaC5jCkBAIC0xNCw3ICsxNCw3IEBACiAjaW5jbHVk ZSA8YXNtL25taS5oPgogI2luY2x1ZGUgPGFzbS9saXZlcGF0Y2guaD4KIAotaW50IGFyY2hfbGl2 ZXBhdGNoX3F1aWVzY2Uodm9pZCkKK2ludCBhcmNoX2xpdmVwYXRjaF9xdWllc2NlKHN0cnVjdCBs aXZlcGF0Y2hfZnVuYyAqZnVuYywgc2l6ZV90IG5mdW5jcykKIHsKICAgICAvKiBEaXNhYmxlIFdQ IHRvIGFsbG93IGNoYW5nZXMgdG8gcmVhZC1vbmx5IHBhZ2VzLiAqLwogICAgIHdyaXRlX2NyMChy ZWFkX2NyMCgpICYgflg4Nl9DUjBfV1ApOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9saXZlcGF0 Y2guYyBiL3hlbi9jb21tb24vbGl2ZXBhdGNoLmMKaW5kZXggZjczNmMzYTdlYS4uYWY4OTk4ZWM4 ZCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9saXZlcGF0Y2guYworKysgYi94ZW4vY29tbW9uL2xp dmVwYXRjaC5jCkBAIC01Niw2ICs1Niw3IEBAIHN0cnVjdCBwYXlsb2FkIHsKICAgICBpbnQzMl90 IHJjOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMCBvciAtWEVOX0VYWC4gKi8KICAgICBi b29sIHJldmVydGVkOyAgICAgICAgICAgICAgICAgICAgICAgLyogV2hldGhlciBpdCB3YXMgcmV2 ZXJ0ZWQuICovCiAgICAgYm9vbCBzYWZlX3RvX3JlYXBwbHk7ICAgICAgICAgICAgICAgIC8qIENh biBhcHBseSBzYWZlbHkgYWZ0ZXIgcmV2ZXJ0LiAqLworICAgIGJvb2wgZnVuY3Nfcm87ICAgICAg ICAgICAgICAgICAgICAgICAvKiBBcmUgbGl2ZXBhdGNoLmZ1bmNzIGluIC5yb2RhdGEgc2VjdGlv bi4gKi8KICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7ICAgICAgICAgICAgICAgLyogTGlua2Vk IHRvICdwYXlsb2FkX2xpc3QnLiAqLwogICAgIGNvbnN0IHZvaWQgKnRleHRfYWRkcjsgICAgICAg ICAgICAgICAvKiBWaXJ0dWFsIGFkZHJlc3Mgb2YgLnRleHQuICovCiAgICAgc2l6ZV90IHRleHRf c2l6ZTsgICAgICAgICAgICAgICAgICAgIC8qIC4uIGFuZCBpdHMgc2l6ZS4gKi8KQEAgLTUzOCw2 ICs1MzksMTAgQEAgc3RhdGljIGludCBwcmVwYXJlX3BheWxvYWQoc3RydWN0IHBheWxvYWQgKnBh eWxvYWQsCiAgICAgcGF5bG9hZC0+ZnVuY3MgPSBzZWMtPmxvYWRfYWRkcjsKICAgICBwYXlsb2Fk LT5uZnVuY3MgPSBzZWMtPnNlYy0+c2hfc2l6ZSAvIHNpemVvZigqcGF5bG9hZC0+ZnVuY3MpOwog CisgICAgaWYgKCBzZWMtPmxvYWRfYWRkciA+PSBwYXlsb2FkLT5yb19hZGRyICYmCisgICAgICAg ICBzZWMtPmxvYWRfYWRkciA8IChwYXlsb2FkLT5yb19hZGRyICsgcGF5bG9hZC0+cm9fc2l6ZSkg KQorICAgICAgICBwYXlsb2FkLT5mdW5jc19ybyA9IHRydWU7CisKICAgICBmb3IgKCBpID0gMDsg aSA8IHBheWxvYWQtPm5mdW5jczsgaSsrICkKICAgICB7CiAgICAgICAgIGludCByYzsKQEAgLTEw NzAsNyArMTA3NSw3IEBAIHN0YXRpYyBpbnQgYXBwbHlfcGF5bG9hZChzdHJ1Y3QgcGF5bG9hZCAq ZGF0YSkKICAgICBwcmludGsoWEVOTE9HX0lORk8gTElWRVBBVENIICIlczogQXBwbHlpbmcgJXUg ZnVuY3Rpb25zXG4iLAogICAgICAgICAgICAgZGF0YS0+bmFtZSwgZGF0YS0+bmZ1bmNzKTsKIAot ICAgIHJjID0gYXJjaF9saXZlcGF0Y2hfcXVpZXNjZSgpOworICAgIHJjID0gYXJjaF9saXZlcGF0 Y2hfcXVpZXNjZShkYXRhLT5mdW5jcywgZGF0YS0+ZnVuY3Nfcm8gPyBkYXRhLT5uZnVuY3MgOiAw KTsKICAgICBpZiAoIHJjICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSIExJVkVQ QVRDSCAiJXM6IHVuYWJsZSB0byBxdWllc2NlIVxuIiwgZGF0YS0+bmFtZSk7CkBAIC0xMTExLDcg KzExMTYsNyBAQCBzdGF0aWMgaW50IHJldmVydF9wYXlsb2FkKHN0cnVjdCBwYXlsb2FkICpkYXRh KQogCiAgICAgcHJpbnRrKFhFTkxPR19JTkZPIExJVkVQQVRDSCAiJXM6IFJldmVydGluZ1xuIiwg ZGF0YS0+bmFtZSk7CiAKLSAgICByYyA9IGFyY2hfbGl2ZXBhdGNoX3F1aWVzY2UoKTsKKyAgICBy YyA9IGFyY2hfbGl2ZXBhdGNoX3F1aWVzY2UoZGF0YS0+ZnVuY3MsIGRhdGEtPmZ1bmNzX3JvID8g ZGF0YS0+bmZ1bmNzIDogMCk7CiAgICAgaWYgKCByYyApCiAgICAgewogICAgICAgICBwcmludGso WEVOTE9HX0VSUiBMSVZFUEFUQ0ggIiVzOiB1bmFibGUgdG8gcXVpZXNjZSFcbiIsIGRhdGEtPm5h bWUpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9saXZlcGF0Y2guaCBiL3hlbi9p bmNsdWRlL2FzbS1hcm0vbGl2ZXBhdGNoLmgKaW5kZXggNmJjYTc5ZGViOS4uY2QxM2NhNzg2ZCAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9saXZlcGF0Y2guaAorKysgYi94ZW4vaW5j bHVkZS9hc20tYXJtL2xpdmVwYXRjaC5oCkBAIC0xNyw2ICsxNywxOSBAQAogICovCiBleHRlcm4g dm9pZCAqdm1hcF9vZl94ZW5fdGV4dDsKIAorLyoKKyAqIFRoZSB2YSBvZiB0aGUgbGl2ZXBhdGNo IC5saXZlcGF0Y2guZnVuY3MuIE9ubHkgdXNlZCBpZiBzYWlkCisgKiByZWdpb24gaXMgaW4gUk8g VkEgYW5kIHdlIG5lZWQgdG8gbW9kaWZ5IGl0IHRvIFJXIGR1cmluZworICogbGl2ZXBhdGNoaW5n LgorICovCitzdHJ1Y3QgbGl2ZXBhdGNoX3ZhCit7CisgICAgdW5zaWduZWQgbG9uZyB2YTsKKyAg ICB1bnNpZ25lZCBpbnQgcGFnZXM7Cit9OworCitleHRlcm4gc3RydWN0IGxpdmVwYXRjaF92YSBs aXZlcGF0Y2hfc3Rhc2g7CisKIC8qIFRoZXNlIHJhbmdlcyBhcmUgb25seSBmb3IgdW5jb25kaXRp b25hbCBicmFuY2hlcy4gKi8KICNpZmRlZiBDT05GSUdfQVJNXzMyCiAvKiBBUk0zMjogQTQuMyBJ TiBBUk0gRERJIDA0MDZDLmMgLSAgd2UgYXJlIHVzaW5nIG9ubHkgQVJNIGluc3RydWN0aW9ucyBp biBYZW4uKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9saXZlcGF0Y2guaCBiL3hlbi9p bmNsdWRlL3hlbi9saXZlcGF0Y2guaAppbmRleCBlOWJhYjg3ZjI4Li40YWNlYWFiNjM3IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vbGl2ZXBhdGNoLmgKKysrIGIveGVuL2luY2x1ZGUveGVu L2xpdmVwYXRjaC5oCkBAIC0xMDQsNyArMTA0LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbGl2ZXBh dGNoX3ZlcmlmeV9kaXN0YW5jZShjb25zdCBzdHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgKmZ1bmMpCiAg KiBUaGVzZSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBhcm91bmQgdGhlIGNyaXRpY2FsIHJlZ2lvbiBw YXRjaGluZyBsaXZlIGNvZGUsCiAgKiBmb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHRha2UgbWFrZSBh cHByb3ByYXRpZSBnbG9iYWwgc3RhdGUgYWRqdXN0bWVudHMuCiAgKi8KLWludCBhcmNoX2xpdmVw YXRjaF9xdWllc2NlKHZvaWQpOworaW50IGFyY2hfbGl2ZXBhdGNoX3F1aWVzY2Uoc3RydWN0IGxp dmVwYXRjaF9mdW5jICosIHNpemVfdCBuZnVuYyk7CiB2b2lkIGFyY2hfbGl2ZXBhdGNoX3Jldml2 ZSh2b2lkKTsKIAogdm9pZCBhcmNoX2xpdmVwYXRjaF9hcHBseShzdHJ1Y3QgbGl2ZXBhdGNoX2Z1 bmMgKmZ1bmMpOwotLSAKMi4xMy4zCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==