From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v9 5/7] memory: add check_get_page_from_gfn() as a wrapper... Date: Thu, 13 Sep 2018 16:21:25 +0100 Message-ID: <20180913152128.6114-6-paul.durrant@citrix.com> References: <20180913152128.6114-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g0TR2-0008Tv-89 for xen-devel@lists.xenproject.org; Thu, 13 Sep 2018 15:21:36 +0000 In-Reply-To: <20180913152128.6114-1-paul.durrant@citrix.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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org Li4uZm9yIHNvbWUgdXNlcyBvZiBnZXRfcGFnZV9mcm9tX2dmbigpLgoKVGhlcmUgYXJlIG1hbnkg b2NjdXJyZW5jZXMgb2YgdGhlIGZvbGxvd2luZyBwYXR0ZXJuIGluIHRoZSBjb2RlOgoKICAgIHEg PSA8cmVhZG9ubHkgbG9vay11cD4gPyBQMk1fQUxMT0MgOiBQMk1fVU5TSEFSRTsKICAgIHBhZ2Ug PSBnZXRfcGFnZV9mcm9tX2dmbihkLCBnZm4sICZwMm10LCBxKTsKCiAgICBpZiAoIHAybV9pc19w YWdpbmcocDJtdCkgKQogICAgewogICAgICAgIGlmICggcGFnZSApCiAgICAgICAgICAgIHB1dF9w YWdlKHBhZ2UpOwoKICAgICAgICBwMm1fbWVtX3BhZ2luZ19wb3B1bGF0ZShkLCBnZm4pOwogICAg ICAgIHJldHVybiA8LUVBR0FJTiBvciBlcXVpdmFsZW50PjsKICAgIH0KCiAgICBpZiAoIChxICYg UDJNX1VOU0hBUkUpICYmIHAybV9pc19zaGFyZWQocDJtdCkgKQogICAgewogICAgICAgIGlmICgg cGFnZSApCiAgICAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwoKICAgICAgICByZXR1cm4gPC1FQUdB SU4gb3IgZXF1aXZhbGVudD47CiAgICB9CgogICAgaWYgKCAhcGFnZSApCiAgICAgICAgcmV0dXJu IDwtRUlOVkFMIG9yIGVxdWl2YWxlbnQ+OwoKVGhlcmUgYXJlIHNvbWUgc21hbGwgZGlmZmVyZW5j ZXMgYmV0d2VlbiB0aGUgZXhhY3Qgd2F5IHRoZSBvY2N1cnJlbmNlcwphcmUgY29kZWQgYnV0IHRo ZSBkZXNpcmVkIHNlbWFudGljIGlzIHRoZSBzYW1lLgoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEg bmV3IGNvbW1vbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNvZGUgaW4KY2hlY2tfZ2V0X3BhZ2Vf ZnJvbV9nZm4oKSBhbmQgdGhlbiBjb252ZXJ0cyB0aGUgdmFyaW91cyBvcGVuLWNvZGVkIHBhdHRl cm5zCmludG8gY2FsbHMgdG8gdGhpcyBuZXcgZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBQYXVs IER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1 IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t PgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSWFu IEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBKdWxpZW4gR3JhbGwgPGp1 bGllbi5ncmFsbEBhcm0uY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2ls a0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu b3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgoKdjk6CiAtIERlZmVyIFAyTSB0eXBlIGNoZWNrcyAoYmV5b25kIHNoYXJlZCBv ciBwYWdpbmcpIHRvIHRoZSBjYWxsZXIuCgp2NzoKIC0gRml4IEFSTSBidWlsZCBieSBpbnRyb2R1 Y2luZyBwMm1faXNfcmVhZG9ubHkoKSBwcmVkaWNhdGUuCiAtIFJlLW5hbWUgZ2V0X3BhZ2VkX2Zy YW1lKCkgLT4gY2hlY2tfZ2V0X3BhZ2VfZnJvbV9nZm4oKS4KIC0gQWRqdXN0IGRlZmF1bHQgY2Fz ZXMgb2YgY2FsbGVycyBzd2l0Y2gtaW5nIG9uIHJldHVybiB2YWx1ZS4KCnYzOgogLSBBZGRyZXNz ZWQgY29tbWVudHMgZnJvbSBHZW9yZ2UuCgp2MjoKIC0gTmV3IGluIHYyLgotLS0KIHhlbi9hcmNo L3g4Ni9odm0vZW11bGF0ZS5jIHwgMjUgKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHhlbi9hcmNo L3g4Ni9odm0vaHZtLmMgICAgIHwgMTQgKy0tLS0tLS0tLS0tLQogeGVuL2NvbW1vbi9ncmFudF90 YWJsZS5jICAgfCAzMiArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24v bWVtb3J5LmMgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaCAgfCAgNCArKysrCiB4ZW4vaW5j bHVkZS9hc20teDg2L3AybS5oICB8ICAzICsrKwogNiBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRp b25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2Vt dWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCmluZGV4IGE1Nzc2ODVkYzYuLjQ4 MDg0MGIyMDIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCkBAIC0zNTYsMjIgKzM1NiwyMSBAQCBzdGF0aWMgaW50 IGh2bWVtdWxfYWNxdWlyZV9wYWdlKHVuc2lnbmVkIGxvbmcgZ21mbiwgc3RydWN0IHBhZ2VfaW5m byAqKnBhZ2UpCiAgICAgc3RydWN0IGRvbWFpbiAqY3Vycl9kID0gY3VycmVudC0+ZG9tYWluOwog ICAgIHAybV90eXBlX3QgcDJtdDsKIAotICAgICpwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oY3Vy cl9kLCBnbWZuLCAmcDJtdCwgUDJNX1VOU0hBUkUpOwotCi0gICAgaWYgKCAqcGFnZSA9PSBOVUxM ICkKLSAgICAgICAgcmV0dXJuIFg4NkVNVUxfVU5IQU5ETEVBQkxFOwotCi0gICAgaWYgKCBwMm1f aXNfcGFnaW5nKHAybXQpICkKKyAgICBzd2l0Y2ggKCBjaGVja19nZXRfcGFnZV9mcm9tX2dmbihj dXJyX2QsIF9nZm4oZ21mbiksIGZhbHNlLCAmcDJtdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWdlKSApCiAgICAgewotICAgICAgICBwdXRfcGFnZSgqcGFnZSk7Ci0g ICAgICAgIHAybV9tZW1fcGFnaW5nX3BvcHVsYXRlKGN1cnJfZCwgZ21mbik7Ci0gICAgICAgIHJl dHVybiBYODZFTVVMX1JFVFJZOwotICAgIH0KKyAgICBjYXNlIDA6CisgICAgICAgIGJyZWFrOwog Ci0gICAgaWYgKCBwMm1faXNfc2hhcmVkKHAybXQpICkKLSAgICB7Ci0gICAgICAgIHB1dF9wYWdl KCpwYWdlKTsKKyAgICBjYXNlIC1FQUdBSU46CiAgICAgICAgIHJldHVybiBYODZFTVVMX1JFVFJZ OworCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAg IC8qIEZhbGx0aHJvdWdoICovCisKKyAgICBjYXNlIC1FSU5WQUw6CisgICAgICAgIHJldHVybiBY ODZFTVVMX1VOSEFORExFQUJMRTsKICAgICB9CiAKICAgICAvKiBUaGlzIGNvZGUgc2hvdWxkIG5v dCBiZSByZWFjaGVkIGlmIHRoZSBnbWZuIGlzIG5vdCBSQU0gKi8KZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IGZlNmM5YzU5 MmYuLjZiYjFkYTA3ZWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIv eGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtMjUzNiwyMCArMjUzNiw4IEBAIHN0YXRpYyB2b2lk ICpfaHZtX21hcF9ndWVzdF9mcmFtZSh1bnNpZ25lZCBsb25nIGdmbiwgYm9vbF90IHBlcm1hbmVu dCwKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOwogICAgIHN0cnVjdCBkb21haW4gKmQgPSBj dXJyZW50LT5kb21haW47CiAKLSAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgZ2ZuLCAm cDJtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGUgPyBQMk1fVU5TSEFS RSA6IFAyTV9BTExPQyk7Ci0gICAgaWYgKCAocDJtX2lzX3NoYXJlZChwMm10KSAmJiB3cml0YWJs ZSkgfHwgIXBhZ2UgKQotICAgIHsKLSAgICAgICAgaWYgKCBwYWdlICkKLSAgICAgICAgICAgIHB1 dF9wYWdlKHBhZ2UpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgaWYgKCBwMm1f aXNfcGFnaW5nKHAybXQpICkKLSAgICB7Ci0gICAgICAgIHB1dF9wYWdlKHBhZ2UpOwotICAgICAg ICBwMm1fbWVtX3BhZ2luZ19wb3B1bGF0ZShkLCBnZm4pOworICAgIGlmICggY2hlY2tfZ2V0X3Bh Z2VfZnJvbV9nZm4oZCwgX2dmbihnZm4pLCAhd3JpdGFibGUsICZwMm10LCAmcGFnZSkgKQogICAg ICAgICByZXR1cm4gTlVMTDsKLSAgICB9CiAKICAgICBpZiAoIHdyaXRhYmxlICkKICAgICB7CmRp ZmYgLS1naXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4vY29tbW9uL2dyYW50X3Rh YmxlLmMKaW5kZXggMGYwYjdiMWE0OS4uMzYwNGE4ODEyYyAxMDA2NDQKLS0tIGEveGVuL2NvbW1v bi9ncmFudF90YWJsZS5jCisrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAtMzc0LDI1 ICszNzQsMjMgQEAgc3RhdGljIGludCBnZXRfcGFnZWRfZnJhbWUodW5zaWduZWQgbG9uZyBnZm4s IG1mbl90ICptZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZv ICoqcGFnZSwgYm9vbCByZWFkb25seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBkb21haW4gKnJkKQogewotICAgIGludCByYyA9IEdOVFNUX29rYXk7CiAgICAgcDJtX3R5cGVf dCBwMm10OworICAgIGludCByYzsKIAotICAgICptZm4gPSBJTlZBTElEX01GTjsKLSAgICAqcGFn ZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKHJkLCBnZm4sICZwMm10LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVhZG9ubHkgPyBQMk1fQUxMT0MgOiBQMk1fVU5TSEFSRSk7Ci0gICAgaWYg KCAhKnBhZ2UgKQorICAgIHJjID0gY2hlY2tfZ2V0X3BhZ2VfZnJvbV9nZm4ocmQsIF9nZm4oZ2Zu KSwgcmVhZG9ubHksICZwMm10LCBwYWdlKTsKKyAgICBzd2l0Y2ggKCByYyApCiAgICAgewotI2lm ZGVmIFAyTV9TSEFSRURfVFlQRVMKLSAgICAgICAgaWYgKCBwMm1faXNfc2hhcmVkKHAybXQpICkK LSAgICAgICAgICAgIHJldHVybiBHTlRTVF9lYWdhaW47Ci0jZW5kaWYKLSNpZmRlZiBQMk1fUEFH RVNfVFlQRVMKLSAgICAgICAgaWYgKCBwMm1faXNfcGFnaW5nKHAybXQpICkKLSAgICAgICAgewot ICAgICAgICAgICAgcDJtX21lbV9wYWdpbmdfcG9wdWxhdGUocmQsIGdmbik7Ci0gICAgICAgICAg ICByZXR1cm4gR05UU1RfZWFnYWluOwotICAgICAgICB9Ci0jZW5kaWYKKyAgICBjYXNlIDA6Cisg ICAgICAgIGJyZWFrOworCisgICAgY2FzZSAtRUFHQUlOOgorICAgICAgICByZXR1cm4gR05UU1Rf ZWFnYWluOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7Cisg ICAgICAgIC8qIEZhbGx0aHJvdWdoICovCisKKyAgICBjYXNlIC1FSU5WQUw6CiAgICAgICAgIHJl dHVybiBHTlRTVF9iYWRfcGFnZTsKICAgICB9CiAKQEAgLTQwNiw3ICs0MDQsNyBAQCBzdGF0aWMg aW50IGdldF9wYWdlZF9mcmFtZSh1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgKm1mbiwKIAogICAg ICptZm4gPSBwYWdlX3RvX21mbigqcGFnZSk7CiAKLSAgICByZXR1cm4gcmM7CisgICAgcmV0dXJu IEdOVFNUX29rYXk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZApkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXggODU2MTFkZGFlNC4uOWI1 OTJkNGY2NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9u L21lbW9yeS5jCkBAIC0xNjI1LDM3ICsxNjI1LDY2IEBAIHZvaWQgZGVzdHJveV9yaW5nX2Zvcl9o ZWxwZXIoCiAgICAgfQogfQogCi1pbnQgcHJlcGFyZV9yaW5nX2Zvcl9oZWxwZXIoCi0gICAgc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnbWZuLCBzdHJ1Y3QgcGFnZV9pbmZvICoqX3Bh Z2UsCi0gICAgdm9pZCAqKl92YSkKKy8qCisgKiBBY3F1aXJlIGEgcG9pbnRlciB0byBzdHJ1Y3Qg cGFnZV9pbmZvIGZvciBhIHNwZWNpZmllZCBkb21hbiBhbmQgR0ZOLAorICogY2hlY2tpbmcgd2hl dGhlciB0aGUgcGFnZSBoYXMgYmVlbiBwYWdlZCBvdXQsIG9yIG5lZWRzIHVuc2hhcmluZy4KKyAq IElmIHRoZSBmdW5jdGlvbiBzdWNjZWVkcyB0aGVuIHplcm8gaXMgcmV0dXJuZWQsIHBhZ2VfcCBp cyB3cml0dGVuCisgKiB3aXRoIGEgcG9pbnRlciB0byB0aGUgc3RydWN0IHBhZ2VfaW5mbyB3aXRo IGEgcmVmZXJlbmNlIHRha2VuLCBhbmQKKyAqIHAybXRfcCBpdCBpcyB3cml0dGVuIHdpdGggdGhl IFAyTSB0eXBlIG9mIHRoZSBwYWdlLiBUaGUgY2FsbGVyIGlzCisgKiByZXNwb25zaWJsZSBmb3Ig ZHJvcHBpbmcgdGhlIHJlZmVyZW5jZS4KKyAqIElmIHRoZSBmdW5jdGlvbiBmYWlscyB0aGVuIGFu IGFwcHJvcHJpYXRlIGVycm5vIGlzIHJldHVybmVkIGFuZCB0aGUKKyAqIHZhbHVlcyByZWZlcmVu Y2VkIGJ5IHBhZ2VfcCBhbmQgcDJtdF9wIGFyZSB1bmRlZmluZWQuCisgKi8KK2ludCBjaGVja19n ZXRfcGFnZV9mcm9tX2dmbihzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIGJvb2wgcmVhZG9u bHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCAqcDJtdF9wLCBzdHJ1 Y3QgcGFnZV9pbmZvICoqcGFnZV9wKQogewotICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7Cisg ICAgcDJtX3F1ZXJ5X3QgcSA9IHJlYWRvbmx5ID8gUDJNX0FMTE9DIDogUDJNX1VOU0hBUkU7CiAg ICAgcDJtX3R5cGVfdCBwMm10OwotICAgIHZvaWQgKnZhOworICAgIHN0cnVjdCBwYWdlX2luZm8g KnBhZ2U7CiAKLSAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgZ21mbiwgJnAybXQsIFAy TV9VTlNIQVJFKTsKKyAgICBwYWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgZ2ZuX3goZ2ZuKSwg JnAybXQsIHEpOwogCiAjaWZkZWYgQ09ORklHX0hBU19NRU1fUEFHSU5HCiAgICAgaWYgKCBwMm1f aXNfcGFnaW5nKHAybXQpICkKICAgICB7CiAgICAgICAgIGlmICggcGFnZSApCiAgICAgICAgICAg ICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgcDJtX21lbV9wYWdpbmdfcG9wdWxhdGUoZCwgZ21m bik7Ci0gICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgICAgIHAybV9tZW1fcGFnaW5nX3Bv cHVsYXRlKGQsIGdmbl94KGdmbikpOworICAgICAgICByZXR1cm4gLUVBR0FJTjsKICAgICB9CiAj ZW5kaWYKICNpZmRlZiBDT05GSUdfSEFTX01FTV9TSEFSSU5HCi0gICAgaWYgKCBwMm1faXNfc2hh cmVkKHAybXQpICkKKyAgICBpZiAoIChxICYgUDJNX1VOU0hBUkUpICYmIHAybV9pc19zaGFyZWQo cDJtdCkgKQogICAgIHsKICAgICAgICAgaWYgKCBwYWdlICkKICAgICAgICAgICAgIHB1dF9wYWdl KHBhZ2UpOwotICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgICAgICByZXR1cm4gLUVBR0FJ TjsKICAgICB9CiAjZW5kaWYKIAogICAgIGlmICggIXBhZ2UgKQogICAgICAgICByZXR1cm4gLUVJ TlZBTDsKIAorICAgICpwMm10X3AgPSBwMm10OworICAgICpwYWdlX3AgPSBwYWdlOworICAgIHJl dHVybiAwOworfQorCitpbnQgcHJlcGFyZV9yaW5nX2Zvcl9oZWxwZXIoCisgICAgc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnbWZuLCBzdHJ1Y3QgcGFnZV9pbmZvICoqX3BhZ2UsCisg ICAgdm9pZCAqKl92YSkKK3sKKyAgICBwMm1fdHlwZV90IHAybXQ7CisgICAgc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZTsKKyAgICB2b2lkICp2YTsKKyAgICBpbnQgcmM7CisKKyAgICByYyA9IGNoZWNr X2dldF9wYWdlX2Zyb21fZ2ZuKGQsIF9nZm4oZ21mbiksIGZhbHNlLCAmcDJtdCwgJnBhZ2UpOwor ICAgIGlmICggcmMgKQorICAgICAgICByZXR1cm4gKHJjID09IC1FQUdBSU4pID8gLUVOT0VOVCA6 IHJjOworCiAgICAgaWYgKCAhZ2V0X3BhZ2VfdHlwZShwYWdlLCBQR1Rfd3JpdGFibGVfcGFnZSkg KQogICAgIHsKICAgICAgICAgcHV0X3BhZ2UocGFnZSk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAppbmRleCA4ODIzNzA3 YzE3Li4zNzdiNTkxYmM2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKQEAgLTMwMyw2ICszMDMsMTAgQEAgc3RhdGlj IGlubGluZSBzdHJ1Y3QgcGFnZV9pbmZvICpnZXRfcGFnZV9mcm9tX2dmbigKICAgICByZXR1cm4g cGFnZTsKIH0KIAoraW50IF9fbXVzdF9jaGVjayBjaGVja19nZXRfcGFnZV9mcm9tX2dmbihzdHJ1 Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgcmVhZG9ubHksIHAybV90eXBlX3QgKnAybXRfcCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqKnBhZ2VfcCk7 CisKIGludCBnZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2lnbmVkIGxv bmcgdHlwZSk7CiBib29sIGlzX2lvbWVtX3BhZ2UobWZuX3QgbWZuKTsKIHN0YXRpYyBpbmxpbmUg aW50IGdldF9wYWdlX2FuZF90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaApp bmRleCBkNGIzY2ZjYjZlLi44NjEzZGY0MmNlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTQ5Miw2ICs0OTIs OSBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBwYWdlX2luZm8gKmdldF9wYWdlX2Zyb21fZ2ZuKAog ICAgIHJldHVybiBtZm5fdmFsaWQoX21mbihnZm4pKSAmJiBnZXRfcGFnZShwYWdlLCBkKSA/IHBh Z2UgOiBOVUxMOwogfQogCitpbnQgX19tdXN0X2NoZWNrIGNoZWNrX2dldF9wYWdlX2Zyb21fZ2Zu KHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSwgcDJtX3R5cGVfdCAqcDJtdF9wLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICoqcGFn ZV9wKTsKIAogLyogR2VuZXJhbCBjb252ZXJzaW9uIGZ1bmN0aW9uIGZyb20gbWZuIHRvIGdmbiAq Lwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19nZm4oc3RydWN0IGRvbWFpbiAq ZCwgbWZuX3QgbWZuKQotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==