From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 6/9] xen/kexec, kimage: Convert kexec and kimage to use typesafe mfn_t Date: Thu, 5 Oct 2017 18:42:19 +0100 Message-ID: <20171005174222.29161-7-julien.grall@linaro.org> References: <20171005174222.29161-1-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171005174222.29161-1-julien.grall@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Julien Grall List-Id: xen-devel@lists.xenproject.org QXQgdGhlIHNhbWUgdGltZSwgY29ycmVjdGx5IGFsaWduIG9uZSB0aGUgcHJvdG90eXBlIGNoYW5n ZWQuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3Jn PgotLS0KIHhlbi9jb21tb24va2V4ZWMuYyAgICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0KIHhl bi9jb21tb24va2ltYWdlLmMgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQogeGVuL2luY2x1ZGUveGVuL2tpbWFnZS5oIHwgIDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAy OCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L2tleGVjLmMgYi94ZW4vY29tbW9uL2tleGVjLmMKaW5kZXggZmNjNjhiZDRkOC4uYzE0Y2JiMmI5 YyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9rZXhlYy5jCisrKyBiL3hlbi9jb21tb24va2V4ZWMu YwpAQCAtOTA1LDExICs5MDUsMTEgQEAgc3RhdGljIHVpbnQxNl90IGtleGVjX2xvYWRfdjFfYXJj aCh2b2lkKQogI2VuZGlmCiB9CiAKLXN0YXRpYyBpbnQga2V4ZWNfc2VnbWVudHNfYWRkX3NlZ21l bnQoCi0gICAgdW5zaWduZWQgaW50ICpucl9zZWdtZW50cywgeGVuX2tleGVjX3NlZ21lbnRfdCAq c2VnbWVudHMsCi0gICAgdW5zaWduZWQgbG9uZyBtZm4pCitzdGF0aWMgaW50IGtleGVjX3NlZ21l bnRzX2FkZF9zZWdtZW50KHVuc2lnbmVkIGludCAqbnJfc2VnbWVudHMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9rZXhlY19zZWdtZW50X3QgKnNlZ21lbnRzLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4pCiB7Ci0gICAg cGFkZHJfdCBtYWRkciA9IChwYWRkcl90KW1mbiA8PCBQQUdFX1NISUZUOworICAgIHBhZGRyX3Qg bWFkZHIgPSBtZm5fdG9fbWFkZHIobWZuKTsKICAgICB1bnNpZ25lZCBpbnQgbiA9ICpucl9zZWdt ZW50czsKIAogICAgIC8qIE5lZWQgYSBuZXcgc2VnbWVudD8gKi8KQEAgLTkzMCw3ICs5MzAsNyBA QCBzdGF0aWMgaW50IGtleGVjX3NlZ21lbnRzX2FkZF9zZWdtZW50KAogICAgIHJldHVybiAwOwog fQogCi1zdGF0aWMgaW50IGtleGVjX3NlZ21lbnRzX2Zyb21faW5kX3BhZ2UodW5zaWduZWQgbG9u ZyBtZm4sCitzdGF0aWMgaW50IGtleGVjX3NlZ21lbnRzX2Zyb21faW5kX3BhZ2UobWZuX3QgbWZu LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAq bnJfc2VnbWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVu X2tleGVjX3NlZ21lbnRfdCAqc2VnbWVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbF90IGNvbXBhdCkKQEAgLTkzOSw3ICs5MzksNyBAQCBzdGF0aWMgaW50 IGtleGVjX3NlZ21lbnRzX2Zyb21faW5kX3BhZ2UodW5zaWduZWQgbG9uZyBtZm4sCiAgICAga2lt YWdlX2VudHJ5X3QgKmVudHJ5OwogICAgIGludCByZXQgPSAwOwogCi0gICAgcGFnZSA9IG1hcF9k b21haW5fcGFnZShfbWZuKG1mbikpOworICAgIHBhZ2UgPSBtYXBfZG9tYWluX3BhZ2UobWZuKTsK IAogICAgIC8qCiAgICAgICogV2FsayB0aGUgaW5kaXJlY3Rpb24gcGFnZSBsaXN0LCBhZGRpbmcg ZGVzdGluYXRpb24gcGFnZXMgdG8gdGhlCkBAIC05NjEsNyArOTYxLDcgQEAgc3RhdGljIGludCBr ZXhlY19zZWdtZW50c19mcm9tX2luZF9wYWdlKHVuc2lnbmVkIGxvbmcgbWZuLAogICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgSU5EX0lORElSRUNUSU9OOgogICAgICAgICAgICAgdW5t YXBfZG9tYWluX3BhZ2UocGFnZSk7Ci0gICAgICAgICAgICBlbnRyeSA9IHBhZ2UgPSBtYXBfZG9t YWluX3BhZ2UoX21mbihtZm4pKTsKKyAgICAgICAgICAgIGVudHJ5ID0gcGFnZSA9IG1hcF9kb21h aW5fcGFnZShtZm4pOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGNhc2UgSU5EX0RP TkU6CiAgICAgICAgICAgICBnb3RvIGRvbmU7CkBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIGlu dCBrZXhlY19kb19sb2FkX3YxKHhlbl9rZXhlY19sb2FkX3YxX3QgKmxvYWQsIGludCBjb21wYXQp CiAgICAgeGVuX2tleGVjX3NlZ21lbnRfdCAqc2VnbWVudHM7CiAgICAgdWludDE2X3QgYXJjaDsK ICAgICB1bnNpZ25lZCBpbnQgbnJfc2VnbWVudHMgPSAwOwotICAgIHVuc2lnbmVkIGxvbmcgaW5k X21mbiA9IGxvYWQtPmltYWdlLmluZGlyZWN0aW9uX3BhZ2UgPj4gUEFHRV9TSElGVDsKKyAgICBt Zm5fdCBpbmRfbWZuID0gbWFkZHJfdG9fbWZuKGxvYWQtPmltYWdlLmluZGlyZWN0aW9uX3BhZ2Up OwogICAgIGludCByZXQ7CiAKICAgICBhcmNoID0ga2V4ZWNfbG9hZF92MV9hcmNoKCk7CmRpZmYg LS1naXQgYS94ZW4vY29tbW9uL2tpbWFnZS5jIGIveGVuL2NvbW1vbi9raW1hZ2UuYwppbmRleCAw NzU4Nzg5NmE0Li5hZmQ4MjkyY2MxIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2tpbWFnZS5jCisr KyBiL3hlbi9jb21tb24va2ltYWdlLmMKQEAgLTIzLDYgKzIzLDEyIEBACiAKICNpbmNsdWRlIDxh c20vcGFnZS5oPgogCisvKiBPdmVycmlkZSBtYWNyb3MgZnJvbSBhc20vcGFnZS5oIHRvIG1ha2Ug dGhlbSB3b3JrIHdpdGggbWZuX3QgKi8KKyN1bmRlZiBtZm5fdG9fcGFnZQorI2RlZmluZSBtZm5f dG9fcGFnZShtZm4pIF9fbWZuX3RvX3BhZ2UobWZuX3gobWZuKSkKKyN1bmRlZiBwYWdlX3RvX21m bgorI2RlZmluZSBwYWdlX3RvX21mbihwZykgIF9tZm4oX19wYWdlX3RvX21mbihwZykpCisKIC8q CiAgKiBXaGVuIGtleGVjIHRyYW5zaXRpb25zIHRvIHRoZSBuZXcga2VybmVsIHRoZXJlIGlzIGEg b25lLXRvLW9uZQogICogbWFwcGluZyBiZXR3ZWVuIHBoeXNpY2FsIGFuZCB2aXJ0dWFsIGFkZHJl c3Nlcy4gIE9uIHByb2Nlc3NvcnMKQEAgLTc2LDcgKzgyLDcgQEAgc3RhdGljIHN0cnVjdCBwYWdl X2luZm8gKmtpbWFnZV9hbGxvY196ZXJvZWRfcGFnZSh1bnNpZ25lZCBtZW1mbGFncykKICAgICBp ZiAoICFwYWdlICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBjbGVhcl9kb21haW5fcGFn ZShfbWZuKHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CisgICAgY2xlYXJfZG9tYWluX3BhZ2UocGFnZV90 b19tZm4ocGFnZSkpOwogCiAgICAgcmV0dXJuIHBhZ2U7CiB9CkBAIC00MDUsNyArNDExLDcgQEAg c3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmtpbWFnZV9hbGxvY19jcmFzaF9jb250cm9sX3BhZ2Uo c3RydWN0IGtleGVjX2ltYWdlICppbWEKICAgICBpZiAoIHBhZ2UgKQogICAgIHsKICAgICAgICAg aW1hZ2UtPm5leHRfY3Jhc2hfcGFnZSA9IGhvbGVfZW5kOwotICAgICAgICBjbGVhcl9kb21haW5f cGFnZShfbWZuKHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CisgICAgICAgIGNsZWFyX2RvbWFpbl9wYWdl KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKICAgICB9CiAKICAgICByZXR1cm4gcGFnZTsKQEAgLTY0MSw3 ICs2NDcsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqa2ltYWdlX2FsbG9jX3BhZ2Uoc3Ry dWN0IGtleGVjX2ltYWdlICppbWFnZSwKICAgICAgICAgICAgICpvbGQgPSAoYWRkciAmIH5QQUdF X01BU0spIHwgSU5EX1NPVVJDRTsKICAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKG9sZCk7 CiAKLSAgICAgICAgICAgIHBhZ2UgPSBtZm5fdG9fcGFnZShtZm5feChvbGRfbWZuKSk7CisgICAg ICAgICAgICBwYWdlID0gbWZuX3RvX3BhZ2Uob2xkX21mbik7CiAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgfQogICAgICAgICBlbHNlCkBAIC04NDAsMTEgKzg0NiwxMSBAQCBraW1hZ2VfZW50 cnlfdCAqa2ltYWdlX2VudHJ5X25leHQoa2ltYWdlX2VudHJ5X3QgKmVudHJ5LCBib29sX3QgY29t cGF0KQogICAgIHJldHVybiBlbnRyeSArIDE7CiB9CiAKLXVuc2lnbmVkIGxvbmcga2ltYWdlX2Vu dHJ5X21mbihraW1hZ2VfZW50cnlfdCAqZW50cnksIGJvb2xfdCBjb21wYXQpCittZm5fdCBraW1h Z2VfZW50cnlfbWZuKGtpbWFnZV9lbnRyeV90ICplbnRyeSwgYm9vbF90IGNvbXBhdCkKIHsKICAg ICBpZiAoIGNvbXBhdCApCi0gICAgICAgIHJldHVybiAqKHVpbnQzMl90ICopZW50cnkgPj4gUEFH RV9TSElGVDsKLSAgICByZXR1cm4gKmVudHJ5ID4+IFBBR0VfU0hJRlQ7CisgICAgICAgIHJldHVy biBtYWRkcl90b19tZm4oKih1aW50MzJfdCAqKWVudHJ5KTsKKyAgICByZXR1cm4gbWFkZHJfdG9f bWZuKCplbnRyeSk7CiB9CiAKIHVuc2lnbmVkIGxvbmcga2ltYWdlX2VudHJ5X2luZChraW1hZ2Vf ZW50cnlfdCAqZW50cnksIGJvb2xfdCBjb21wYXQpCkBAIC04NTQsNyArODYwLDcgQEAgdW5zaWdu ZWQgbG9uZyBraW1hZ2VfZW50cnlfaW5kKGtpbWFnZV9lbnRyeV90ICplbnRyeSwgYm9vbF90IGNv bXBhdCkKICAgICByZXR1cm4gKmVudHJ5ICYgMHhmOwogfQogCi1pbnQga2ltYWdlX2J1aWxkX2lu ZChzdHJ1Y3Qga2V4ZWNfaW1hZ2UgKmltYWdlLCB1bnNpZ25lZCBsb25nIGluZF9tZm4sCitpbnQg a2ltYWdlX2J1aWxkX2luZChzdHJ1Y3Qga2V4ZWNfaW1hZ2UgKmltYWdlLCBtZm5fdCBpbmRfbWZu LAogICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGNvbXBhdCkKIHsKICAgICB2b2lkICpwYWdl OwpAQCAtODYyLDcgKzg2OCw3IEBAIGludCBraW1hZ2VfYnVpbGRfaW5kKHN0cnVjdCBrZXhlY19p bWFnZSAqaW1hZ2UsIHVuc2lnbmVkIGxvbmcgaW5kX21mbiwKICAgICBpbnQgcmV0ID0gMDsKICAg ICBwYWRkcl90IGRlc3QgPSBLSU1BR0VfTk9fREVTVDsKIAotICAgIHBhZ2UgPSBtYXBfZG9tYWlu X3BhZ2UoX21mbihpbmRfbWZuKSk7CisgICAgcGFnZSA9IG1hcF9kb21haW5fcGFnZShpbmRfbWZu KTsKICAgICBpZiAoICFwYWdlICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAKQEAgLTg3Myw3 ICs4NzksNyBAQCBpbnQga2ltYWdlX2J1aWxkX2luZChzdHJ1Y3Qga2V4ZWNfaW1hZ2UgKmltYWdl LCB1bnNpZ25lZCBsb25nIGluZF9tZm4sCiAgICAgZm9yICggZW50cnkgPSBwYWdlOyA7ICApCiAg ICAgewogICAgICAgICB1bnNpZ25lZCBsb25nIGluZDsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBt Zm47CisgICAgICAgIG1mbl90IG1mbjsKIAogICAgICAgICBpbmQgPSBraW1hZ2VfZW50cnlfaW5k KGVudHJ5LCBjb21wYXQpOwogICAgICAgICBtZm4gPSBraW1hZ2VfZW50cnlfbWZuKGVudHJ5LCBj b21wYXQpOwpAQCAtODgxLDE0ICs4ODcsMTQgQEAgaW50IGtpbWFnZV9idWlsZF9pbmQoc3RydWN0 IGtleGVjX2ltYWdlICppbWFnZSwgdW5zaWduZWQgbG9uZyBpbmRfbWZuLAogICAgICAgICBzd2l0 Y2ggKCBpbmQgKQogICAgICAgICB7CiAgICAgICAgIGNhc2UgSU5EX0RFU1RJTkFUSU9OOgotICAg ICAgICAgICAgZGVzdCA9IChwYWRkcl90KW1mbiA8PCBQQUdFX1NISUZUOworICAgICAgICAgICAg ZGVzdCA9IG1mbl90b19tYWRkcihtZm4pOwogICAgICAgICAgICAgcmV0ID0ga2ltYWdlX3NldF9k ZXN0aW5hdGlvbihpbWFnZSwgZGVzdCk7CiAgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQogICAg ICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl IElORF9JTkRJUkVDVElPTjoKICAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHBhZ2UpOwot ICAgICAgICAgICAgcGFnZSA9IG1hcF9kb21haW5fcGFnZShfbWZuKG1mbikpOworICAgICAgICAg ICAgcGFnZSA9IG1hcF9kb21haW5fcGFnZShtZm4pOwogICAgICAgICAgICAgZW50cnkgPSBwYWdl OwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGNhc2UgSU5EX0RPTkU6CkBAIC05MTMs NyArOTE5LDcgQEAgaW50IGtpbWFnZV9idWlsZF9pbmQoc3RydWN0IGtleGVjX2ltYWdlICppbWFn ZSwgdW5zaWduZWQgbG9uZyBpbmRfbWZuLAogICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAg ICAgICAgICAgIH0KIAotICAgICAgICAgICAgY29weV9kb21haW5fcGFnZShfbWZuKHBhZ2VfdG9f bWZuKHhlbl9wYWdlKSksIF9tZm4obWZuKSk7CisgICAgICAgICAgICBjb3B5X2RvbWFpbl9wYWdl KHBhZ2VfdG9fbWZuKHhlbl9wYWdlKSwgbWZuKTsKICAgICAgICAgICAgIHB1dF9wYWdlKGd1ZXN0 X3BhZ2UpOwogCiAgICAgICAgICAgICByZXQgPSBraW1hZ2VfYWRkX3BhZ2UoaW1hZ2UsIHBhZ2Vf dG9fbWFkZHIoeGVuX3BhZ2UpKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9raW1hZ2Uu aCBiL3hlbi9pbmNsdWRlL3hlbi9raW1hZ2UuaAppbmRleCBkMTBlYmY3ODQ0Li5jYmZiOWU5MDU0 IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4va2ltYWdlLmgKKysrIGIveGVuL2luY2x1ZGUv eGVuL2tpbWFnZS5oCkBAIC00OCw5ICs0OCw5IEBAIHN0cnVjdCBwYWdlX2luZm8gKmtpbWFnZV9h bGxvY19jb250cm9sX3BhZ2Uoc3RydWN0IGtleGVjX2ltYWdlICppbWFnZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWVtZmxhZ3MpOwogCiBr aW1hZ2VfZW50cnlfdCAqa2ltYWdlX2VudHJ5X25leHQoa2ltYWdlX2VudHJ5X3QgKmVudHJ5LCBi b29sX3QgY29tcGF0KTsKLXVuc2lnbmVkIGxvbmcga2ltYWdlX2VudHJ5X21mbihraW1hZ2VfZW50 cnlfdCAqZW50cnksIGJvb2xfdCBjb21wYXQpOworbWZuX3Qga2ltYWdlX2VudHJ5X21mbihraW1h Z2VfZW50cnlfdCAqZW50cnksIGJvb2xfdCBjb21wYXQpOwogdW5zaWduZWQgbG9uZyBraW1hZ2Vf ZW50cnlfaW5kKGtpbWFnZV9lbnRyeV90ICplbnRyeSwgYm9vbF90IGNvbXBhdCk7Ci1pbnQga2lt YWdlX2J1aWxkX2luZChzdHJ1Y3Qga2V4ZWNfaW1hZ2UgKmltYWdlLCB1bnNpZ25lZCBsb25nIGlu ZF9tZm4sCitpbnQga2ltYWdlX2J1aWxkX2luZChzdHJ1Y3Qga2V4ZWNfaW1hZ2UgKmltYWdlLCBt Zm5fdCBpbmRfbWZuLAogICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGNvbXBhdCk7CiAKICNl bmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=