From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vasilis Liaskovitis Subject: [PATCH v2 1/4] xen: add hypercall for getting parameters at runtime Date: Fri, 22 Mar 2019 20:28:06 +0100 Message-ID: <20190322192809.3002-2-vliaskovitis@suse.com> References: <20190322192809.3002-1-vliaskovitis@suse.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 1h7PqJ-00052y-R7 for xen-devel@lists.xenproject.org; Fri, 22 Mar 2019 19:28:39 +0000 In-Reply-To: <20190322192809.3002-1-vliaskovitis@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, sstabellini@kernel.org, wei.liu2@citrix.com, jbeulich@suse.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, vliaskovitis@suse.com, dgdegra@tycho.nsa.gov List-Id: xen-devel@lists.xenproject.org QWRkIGEgc3lzY3RsIGh5cGVyY2FsbCB0byBzdXBwb3J0IGdldHRpbmcgaHlwZXJ2aXNvciBwYXJh bWV0ZXJzCmF0IHJ1bnRpbWUuCgpMaW1pdGF0aW9uczoKLSBDdXN0b20gcnVudGltZSBwYXJhbWV0 ZXJzIChPUFRfQ1VTVE9NKSBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuCi0gRm9yIGludGVnZXIgcGFy YW1ldGVycyAoT1BUX1VJTlQpLCBvbmx5IHVuc2lnbmVkIHBhcmFtZXRlcnMgYXJlIHByaW50ZWQK Y29ycmVjdGx5LgoKU2lnbmVkLW9mZi1ieTogVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3Zp dGlzQHN1c2UuY29tPgotLS0KIHRvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL2RvbTAudGUgIHwg ICAyICstCiB4ZW4vY29tbW9uL2tlcm5lbC5jICAgICAgICAgICAgICAgICB8IDExMCArKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL3N5c2N0bC5jICAgICAgICAgICAgICAg ICB8ICA1NSArKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAg ICAgfCAgMTggKysrKysKIHhlbi9pbmNsdWRlL3hlbi9saWIuaCAgICAgICAgICAgICAgIHwgICAx ICsKIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgIHwgICAzICsKIHhlbi94c20v Zmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzIHwgICAyICsKIDcgZmlsZXMgY2hhbmdlZCwgMTg4 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmxhc2sv cG9saWN5L21vZHVsZXMvZG9tMC50ZSBiL3Rvb2xzL2ZsYXNrL3BvbGljeS9tb2R1bGVzL2RvbTAu dGUKaW5kZXggYTM0N2Q2NjRmOC4uNjgxZDFhMTAxYiAxMDA2NDQKLS0tIGEvdG9vbHMvZmxhc2sv cG9saWN5L21vZHVsZXMvZG9tMC50ZQorKysgYi90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9k b20wLnRlCkBAIC0xNiw3ICsxNiw3IEBAIGFsbG93IGRvbTBfdCB4ZW5fdDp4ZW4gewogYWxsb3cg ZG9tMF90IHhlbl90OnhlbjIgewogCXJlc291cmNlX29wIHBzcl9jbXRfb3AgcHNyX2FsbG9jIHBt dV9jdHJsIGdldF9zeW1ib2wKIAlnZXRfY3B1X2xldmVsbGluZ19jYXBzIGdldF9jcHVfZmVhdHVy ZXNldCBsaXZlcGF0Y2hfb3AKLQljb3ZlcmFnZV9vcCBzZXRfcGFyYW1ldGVyCisJY292ZXJhZ2Vf b3Agc2V0X3BhcmFtZXRlciBnZXRfcGFyYW1ldGVyCiB9OwogCiAjIEFsbG93IGRvbTAgdG8gdXNl IGFsbCBYRU5WRVJfIHN1Ym9wcyB0aGF0IGhhdmUgY2hlY2tzLgpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9rZXJuZWwuYyBiL3hlbi9jb21tb24va2VybmVsLmMKaW5kZXggNjEyNTc1NDMwZi4uMmQx MmE1YmNmNiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9rZXJuZWwuYworKysgYi94ZW4vY29tbW9u L2tlcm5lbC5jCkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8eGVuL3BhZ2luZy5oPgogI2lu Y2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3MuaD4KICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+Cisj aW5jbHVkZSA8eGVuL2N0eXBlLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgogI2luY2x1ZGUgPGFz bS9jdXJyZW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL3ZlcnNpb24uaD4KQEAgLTUyLDYgKzUzLDEx NSBAQCBzdGF0aWMgaW50IGFzc2lnbl9pbnRlZ2VyX3BhcmFtKGNvbnN0IHN0cnVjdCBrZXJuZWxf cGFyYW0gKnBhcmFtLCB1aW50NjRfdCB2YWwpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgZ2V0X2ludGVnZXJfcGFyYW0oY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJhbSAqcGFyYW0sIHVp bnQ2NF90ICp2YWwpCit7CisgICAgc3dpdGNoICggcGFyYW0tPmxlbiApCisgICAgeworICAgIGNh c2Ugc2l6ZW9mKHVpbnQ4X3QpOgorICAgICAgICAqdmFsID0gKih1aW50OF90ICopcGFyYW0tPnBh ci52YXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ugc2l6ZW9mKHVpbnQxNl90KToKKyAgICAg ICAgKnZhbCA9ICoodWludDE2X3QgKilwYXJhbS0+cGFyLnZhcjsKKyAgICAgICAgYnJlYWs7Cisg ICAgY2FzZSBzaXplb2YodWludDMyX3QpOgorICAgICAgICAqdmFsID0gKih1aW50MzJfdCAqKXBh cmFtLT5wYXIudmFyOworICAgICAgICBicmVhazsKKyAgICBjYXNlIHNpemVvZih1aW50NjRfdCk6 CisgICAgICAgICp2YWwgPSAqKHVpbnQ2NF90ICopcGFyYW0tPnBhci52YXI7CisgICAgICAgIGJy ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEJVRygpOworICAgIH0KKworICAgIHJldHVybiAw OworfQorCitpbnQgcnVudGltZV9nZXRfcGFyYW1zKGNvbnN0IGNoYXIgKmNtZGxpbmUsIGNoYXIg KnZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbWF4bGVuKQoreworICAgIGNo YXIgb3B0WzEyOF0sICpvcHRrZXksICpxLCAqdmFsID0gdmFsdWVzOworICAgIGNvbnN0IGNoYXIg KnAgPSBjbWRsaW5lOworICAgIGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0gKnBhcmFtOworICAg IGludCByYyA9IDAsIGxlbiA9IDA7CisgICAgc2l6ZV90IGJ1ZnBvcyA9IDA7CisgICAgdWludDY0 X3QgcGFyYW1faW50OworCisgICAgaWYgKCF2YWx1ZXMpCisgICAgICAgIHJldHVybiAtRUZBVUxU OworCisgICAgZm9yICggOyA7ICkKKyAgICB7CisgICAgICAgIC8qIFNraXAgd2hpdGVzcGFjZS4g Ki8KKyAgICAgICAgd2hpbGUgKCBpc3NwYWNlKCpwKSApCisgICAgICAgICAgICBwKys7CisgICAg ICAgIGlmICggKnAgPT0gJ1wwJyApCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvKiBH cmFiIHRoZSBuZXh0IHdoaXRlc3BhY2UtZGVsaW1pdGVkIG9wdGlvbi4gKi8KKyAgICAgICAgcSA9 IG9wdGtleSA9IG9wdDsKKyAgICAgICAgd2hpbGUgKCAoKnAgIT0gJyAnKSAmJiAoKnAgIT0gJ1ww JykgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIChxIC0gb3B0KSA8IChzaXplb2Yob3B0 KS0xKSApIC8qIGF2b2lkIG92ZXJmbG93ICovCisgICAgICAgICAgICAgICAgKnErKyA9ICpwOwor ICAgICAgICAgICAgcCsrOworICAgICAgICB9CisgICAgICAgICpxID0gJ1wwJzsKKworICAgICAg ICBmb3IgKCBwYXJhbSA9IF9fcGFyYW1fc3RhcnQ7IHBhcmFtIDwgX19wYXJhbV9lbmQ7IHBhcmFt KysgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHN0cmNtcChwYXJhbS0+bmFtZSwgb3B0 a2V5KSApCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIHN3aXRjaCAo IHBhcmFtLT50eXBlICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgT1BUX1NUUjoK KyAgICAgICAgICAgICAgICBsZW4gPSBzbnByaW50Zih2YWwgKyBidWZwb3MsIG1heGxlbiAtIGJ1 ZnBvcywgIiVzICIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIqKXBhcmFt LT5wYXIudmFyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgT1BU X1VJTlQ6CisgICAgICAgICAgICBjYXNlIE9QVF9TSVpFOgorICAgICAgICAgICAgICAgIGdldF9p bnRlZ2VyX3BhcmFtKHBhcmFtLCAmcGFyYW1faW50KTsKKyAgICAgICAgICAgICAgICBsZW4gPSBz bnByaW50Zih2YWwgKyBidWZwb3MsIG1heGxlbiAtIGJ1ZnBvcywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiJSJQUkl1NjQiICIsIHBhcmFtX2ludCk7CisgICAgICAgICAgICAgICAg YnJlYWs7CisgICAgICAgICAgICBjYXNlIE9QVF9CT09MOgorICAgICAgICAgICAgICAgIGdldF9p bnRlZ2VyX3BhcmFtKHBhcmFtLCAmcGFyYW1faW50KTsKKyAgICAgICAgICAgICAgICBsZW4gPSBz bnByaW50Zih2YWwgKyBidWZwb3MsIG1heGxlbiAtIGJ1ZnBvcywgIiVzICIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGFyYW1faW50ID8gInRydWUiIDogImZhbHNlIik7CisgICAg ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIE9QVF9DVVNUT006CisgICAgICAg ICAgICAgICAgLyogQ3VzdG9tIHBhcmFtZXRlcnMgYXJlIG5vdCBzdXBwb3J0ZWQgeWV0LiAqLwor ICAgICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgQlVHKCk7CisgICAgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChsZW4gPCAwKQorICAg ICAgICAgICAgICAgIHJjID0gbGVuOworICAgICAgICAgICAgZWxzZSBpZiAobGVuIDwgbWF4bGVu IC0gYnVmcG9zKQorICAgICAgICAgICAgLyogaWYgb3V0cHV0IHdhcyBub3QgdHJ1bmNhdGVkIHVw ZGF0ZSBidWZmZXIgcG9zaXRpb24gKi8KKyAgICAgICAgICAgICAgICBidWZwb3MgKz0gKHNpemVf dCkgbGVuOworICAgICAgICAgICAgZWxzZSBpZiAobGVuID4gMCkKKyAgICAgICAgICAgICAgICBy YyA9IC1FTk9NRU07CisKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg Lyogbm8gcGFyYW1ldGVyIHdhcyBtYXRjaGVkICovCisgICAgICAgIGlmICggcGFyYW0gPj0gX19w YXJhbV9lbmQgKQorICAgICAgICB7CisgICAgICAgICAgICByYyA9IC1FSU5WQUw7CisgICAgICAg IH0KKworICAgICAgICBpZiAocmMpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBy ZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBpbnQgcGFyc2VfcGFyYW1zKGNvbnN0IGNoYXIgKmNtZGxp bmUsIGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0gKnN0YXJ0LAogICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJhbSAqZW5kKQogewpkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9zeXNjdGwuYyBiL3hlbi9jb21tb24vc3lzY3RsLmMKaW5kZXggYzBhYTZiZGU0ZS4u MWI2NWJkNjE3ZSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9zeXNjdGwuYworKysgYi94ZW4vY29t bW9uL3N5c2N0bC5jCkBAIC00NjYsOSArNDY2LDkgQEAgbG9uZyBkb19zeXNjdGwoWEVOX0dVRVNU X0hBTkRMRV9QQVJBTSh4ZW5fc3lzY3RsX3QpIHVfc3lzY3RsKQogICAgICAgICAgICAgY29weWJh Y2sgPSAxOwogICAgICAgICBicmVhazsKIAorI2RlZmluZSBYRU5fUEFSQU1FVEVSX01BWF9TSVpF IDEwMjMKICAgICBjYXNlIFhFTl9TWVNDVExfc2V0X3BhcmFtZXRlcjoKICAgICB7Ci0jZGVmaW5l IFhFTl9TRVRfUEFSQU1FVEVSX01BWF9TSVpFIDEwMjMKICAgICAgICAgY2hhciAqcGFyYW1zOwog CiAgICAgICAgIGlmICggb3AtPnUuc2V0X3BhcmFtZXRlci5wYWRbMF0gfHwgb3AtPnUuc2V0X3Bh cmFtZXRlci5wYWRbMV0gfHwKQEAgLTQ3Nyw3ICs0NzcsNyBAQCBsb25nIGRvX3N5c2N0bChYRU5f R1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdCkgdV9zeXNjdGwpCiAgICAgICAgICAgICBy ZXQgPSAtRUlOVkFMOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgaWYg KCBvcC0+dS5zZXRfcGFyYW1ldGVyLnNpemUgPiBYRU5fU0VUX1BBUkFNRVRFUl9NQVhfU0laRSAp CisgICAgICAgIGlmICggb3AtPnUuc2V0X3BhcmFtZXRlci5zaXplID4gWEVOX1BBUkFNRVRFUl9N QVhfU0laRSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldCA9IC1FMkJJRzsKICAgICAgICAg ICAgIGJyZWFrOwpAQCAtNTAxLDYgKzUwMSw1NyBAQCBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1Rf SEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdCkgdV9zeXNjdGwpCiAKICAgICAgICAgYnJlYWs7CiAg ICAgfQorICAgIGNhc2UgWEVOX1NZU0NUTF9nZXRfcGFyYW1ldGVyOgorICAgIHsKKyAgICAgICAg Y2hhciAqcGFyYW1zOworICAgICAgICBjaGFyICp2YWx1ZXM7CisKKyAgICAgICAgaWYgKCBvcC0+ dS5nZXRfcGFyYW1ldGVyLnBhZFswXSB8fCBvcC0+dS5nZXRfcGFyYW1ldGVyLnBhZFsxXSB8fAor ICAgICAgICAgICAgIG9wLT51LmdldF9wYXJhbWV0ZXIucGFkWzJdICkKKyAgICAgICAgeworICAg ICAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg ICAgICAgIGlmICggb3AtPnUuZ2V0X3BhcmFtZXRlci5zaXplID4gWEVOX1BBUkFNRVRFUl9NQVhf U0laRSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldCA9IC1FMkJJRzsKKyAgICAgICAgICAg IGJyZWFrOworICAgICAgICB9CisgICAgICAgIHBhcmFtcyA9IHhtYWxsb2NfYnl0ZXMob3AtPnUu Z2V0X3BhcmFtZXRlci5zaXplICsgMSk7CisgICAgICAgIGlmICggIXBhcmFtcyApCisgICAgICAg IHsKKyAgICAgICAgICAgIHJldCA9IC1FTk9NRU07CisgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgfQorCisgICAgICAgIHZhbHVlcyA9IHhtYWxsb2NfYnl0ZXMoWEVOX1BBUkFNRVRFUl9NQVhf U0laRSk7CisgICAgICAgIGlmICggIXZhbHVlcyApCisgICAgICAgIHsKKyAgICAgICAgICAgIHhm cmVlKHBhcmFtcyk7CisgICAgICAgICAgICByZXQgPSAtRU5PTUVNOworICAgICAgICAgICAgYnJl YWs7CisgICAgICAgIH0KKworICAgICAgICBlbHNlIGlmICggY29weV9mcm9tX2d1ZXN0KHBhcmFt cywgb3AtPnUuZ2V0X3BhcmFtZXRlci5wYXJhbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wLT51LmdldF9wYXJhbWV0ZXIuc2l6ZSkgKQorICAgICAgICAgICAgcmV0ID0gLUVGQVVM VDsKKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBwYXJhbXNbb3AtPnUuc2V0 X3BhcmFtZXRlci5zaXplXSA9IDA7CisgICAgICAgICAgICByZXQgPSBydW50aW1lX2dldF9wYXJh bXMocGFyYW1zLCB2YWx1ZXMsIFhFTl9QQVJBTUVURVJfTUFYX1NJWkUpOworCisgICAgICAgICAg ICBpZiAoICFyZXQgJiYgY29weV90b19ndWVzdChvcC0+dS5nZXRfcGFyYW1ldGVyLnZhbHVlcywg dmFsdWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbih2YWx1ZXMpKSAp CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKKyAgICAgICAg ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHhmcmVlKHBhcmFtcyk7CisgICAgICAgIHhmcmVl KHZhbHVlcyk7CisKKyAgICAgICAgYnJlYWs7CisgICAgfQogCiAgICAgZGVmYXVsdDoKICAgICAg ICAgcmV0ID0gYXJjaF9kb19zeXNjdGwob3AsIHVfc3lzY3RsKTsKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3B1YmxpYy9zeXNjdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaAppbmRl eCBjNDliNGRjYzk5Li43ZDc3ZDU3MTE1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMv c3lzY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCkBAIC0xMTAwLDYgKzEx MDAsMjIgQEAgdHlwZWRlZiBzdHJ1Y3QgeGVuX3N5c2N0bF9jcHVfcG9saWN5IHhlbl9zeXNjdGxf Y3B1X3BvbGljeV90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3N5c2N0bF9jcHVfcG9s aWN5X3QpOwogI2VuZGlmCiAKKy8qCisgKiBYRU5fU1lTQ1RMX2dldF9wYXJhbWV0ZXIKKyAqCisg KiBSZWFkIGh5cGVydmlzb3IgcGFyYW1ldGVycyBhdCBydW50aW1lLgorICogUGFyYW1ldGVycyBh cmUgYSBzaW5nbGUgc3RyaW5nIHRlcm1pbmF0ZWQgYnkgYSBOVUwgYnl0ZSBvZiBtYXguIHNpemUK KyAqIGNoYXJhY3RlcnMuIE11bHRpcGxlIHNldHRpbmdzIGNhbiBiZSBzcGVjaWZpZWQgYnkgc2Vw YXJhdGluZyB0aGVtCisgKiB3aXRoIGJsYW5rcy4KKyAqLworCitzdHJ1Y3QgeGVuX3N5c2N0bF9n ZXRfcGFyYW1ldGVyIHsKKyAgICBYRU5fR1VFU1RfSEFORExFXzY0KGNoYXIpIHBhcmFtczsgICAg ICAgLyogSU46IHBvaW50ZXIgdG8gcGFyYW1ldGVycy4gKi8KKyAgICBYRU5fR1VFU1RfSEFORExF XzY0KGNoYXIpIHZhbHVlczsgICAgICAgLyogT1VUOiBwb2ludGVyIHRvIG91dHB1dCB2YWx1ZXMu ICovCisgICAgdWludDE2X3Qgc2l6ZTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElOOiBz aXplIG9mIHBhcmFtZXRlcnMuICovCisgICAgdWludDE2X3QgcGFkWzNdOyAgICAgICAgICAgICAg ICAgICAgICAgIC8qIElOOiBNVVNUIGJlIHplcm8uICovCit9OworCiBzdHJ1Y3QgeGVuX3N5c2N0 bCB7CiAgICAgdWludDMyX3QgY21kOwogI2RlZmluZSBYRU5fU1lTQ1RMX3JlYWRjb25zb2xlICAg ICAgICAgICAgICAgICAgICAxCkBAIC0xMTMwLDYgKzExNDYsNyBAQCBzdHJ1Y3QgeGVuX3N5c2N0 bCB7CiAjZGVmaW5lIFhFTl9TWVNDVExfbGl2ZXBhdGNoX29wICAgICAgICAgICAgICAgICAgMjcK ICNkZWZpbmUgWEVOX1NZU0NUTF9zZXRfcGFyYW1ldGVyICAgICAgICAgICAgICAgICAyOAogI2Rl ZmluZSBYRU5fU1lTQ1RMX2dldF9jcHVfcG9saWN5ICAgICAgICAgICAgICAgIDI5CisjZGVmaW5l IFhFTl9TWVNDVExfZ2V0X3BhcmFtZXRlciAgICAgICAgICAgICAgICAgMzAKICAgICB1aW50MzJf dCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX1NZU0NUTF9JTlRFUkZBQ0VfVkVSU0lPTiAqLwog ICAgIHVuaW9uIHsKICAgICAgICAgc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGUgICAgICAg cmVhZGNvbnNvbGU7CkBAIC0xMTYyLDYgKzExNzksNyBAQCBzdHJ1Y3QgeGVuX3N5c2N0bCB7CiAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQogICAgICAgICBzdHJ1 Y3QgeGVuX3N5c2N0bF9jcHVfcG9saWN5ICAgICAgICBjcHVfcG9saWN5OwogI2VuZGlmCisgICAg ICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2dldF9wYXJhbWV0ZXIgICAgIGdldF9wYXJhbWV0ZXI7CiAg ICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZFsxMjhdOwogICAg IH0gdTsKIH07CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbGliLmggYi94ZW4vaW5jbHVk ZS94ZW4vbGliLmgKaW5kZXggODk5MzlmNDNjOC4uOTY0NDBhNjA0MSAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUveGVuL2xpYi5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9saWIuaApAQCAtNzEsNiAr NzEsNyBAQCBzdHJ1Y3QgZG9tYWluOwogdm9pZCBjbWRsaW5lX3BhcnNlKGNvbnN0IGNoYXIgKmNt ZGxpbmUpOwogaW50IHJ1bnRpbWVfcGFyc2UoY29uc3QgY2hhciAqbGluZSk7CiBpbnQgcGFyc2Vf Ym9vbChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICplKTsKK2ludCBydW50aW1lX2dldF9wYXJh bXMoY29uc3QgY2hhciAqY21kbGluZSwgY2hhciAqdmFsdWVzLCBzaXplX3QgbWF4bGVuKTsKIAog LyoqCiAgKiBHaXZlbiBhIHNwZWNpZmljIG5hbWUsIHBhcnNlcyBhIHN0cmluZyBvZiB0aGUgZm9y bToKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3MuYyBiL3hlbi94c20vZmxhc2svaG9v a3MuYwppbmRleCAzZDAwYzc0N2Y2Li4xYjgzMmU5YTRjIDEwMDY0NAotLS0gYS94ZW4veHNtL2Zs YXNrL2hvb2tzLmMKKysrIGIveGVuL3hzbS9mbGFzay9ob29rcy5jCkBAIC04MzAsNiArODMwLDkg QEAgc3RhdGljIGludCBmbGFza19zeXNjdGwoaW50IGNtZCkKICAgICBjYXNlIFhFTl9TWVNDVExf c2V0X3BhcmFtZXRlcjoKICAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19wZXJtKFNFQ0lO SVRTSURfWEVOLCBTRUNDTEFTU19YRU4yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWEVOMl9fU0VUX1BBUkFNRVRFUiwgTlVMTCk7CisgICAgY2FzZSBYRU5fU1lTQ1RMX2dl dF9wYXJhbWV0ZXI6CisgICAgICAgIHJldHVybiBhdmNfY3VycmVudF9oYXNfcGVybShTRUNJTklU U0lEX1hFTiwgU0VDQ0xBU1NfWEVOMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFhFTjJfX0dFVF9QQVJBTUVURVIsIE5VTEwpOwogCiAgICAgZGVmYXVsdDoKICAgICAgICAg cmV0dXJuIGF2Y191bmtub3duX3Blcm1pc3Npb24oInN5c2N0bCIsIGNtZCk7CmRpZmYgLS1naXQg YS94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycyBiL3hlbi94c20vZmxhc2svcG9s aWN5L2FjY2Vzc192ZWN0b3JzCmluZGV4IGUwMDQ0OGI3NzYuLmM1ZWUyMWQ4NTIgMTAwNjQ0Ci0t LSBhL3hlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzCisrKyBiL3hlbi94c20vZmxh c2svcG9saWN5L2FjY2Vzc192ZWN0b3JzCkBAIC0xMDMsNiArMTAzLDggQEAgY2xhc3MgeGVuMgog ICAgIGNvdmVyYWdlX29wCiAjIFhFTl9TWVNDVExfc2V0X3BhcmFtZXRlcgogICAgIHNldF9wYXJh bWV0ZXIKKyMgWEVOX1NZU0NUTF9nZXRfcGFyYW1ldGVyCisgICAgZ2V0X3BhcmFtZXRlcgogfQog CiAjIENsYXNzZXMgZG9tYWluIGFuZCBkb21haW4yIGNvbnNpc3Qgb2Ygb3BlcmF0aW9ucyB0aGF0 IGEgZG9tYWluIHBlcmZvcm1zIG9uCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs