From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric DeVolder Subject: [PATCH v2 1/2] kexec: use hypercall_create_continuation to protect KEXEC ops Date: Mon, 17 Apr 2017 14:09:05 -0500 Message-ID: <1492456146-28808-2-git-send-email-eric.devolder@oracle.com> References: <1492456146-28808-1-git-send-email-eric.devolder@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1492456146-28808-1-git-send-email-eric.devolder@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.xen.org, andrew.cooper3@citrix.com Cc: daniel.kiper@oracle.com, eric.devolder@oracle.com, bhavesh.davda@oracle.com, JBeulich@suse.com List-Id: xen-devel@lists.xenproject.org V2hlbiB3ZSBjb25jdXJyZW50bHkgdHJ5IHRvIHVubG9hZCBhbmQgbG9hZCBjcmFzaAppbWFnZXMg d2UgZXZlbnR1YWxseSBnZXQ6CgogWGVuIGNhbGwgdHJhY2U6CiAgICBbPGZmZmY4MmQwODAxOGIw NGY+XSBtYWNoaW5lX2tleGVjX2FkZF9wYWdlKzB4M2EwLzB4M2ZhCiAgICBbPGZmZmY4MmQwODAx OGIxODQ+XSBtYWNoaW5lX2tleGVjX2xvYWQrMHhkYi8weDEwNwogICAgWzxmZmZmODJkMDgwMTE2 ZThkPl0ga2V4ZWMuYyNrZXhlY19sb2FkX3Nsb3QrMHgxMS8weDQyCiAgICBbPGZmZmY4MmQwODAx MTcyNGY+XSBrZXhlYy5jI2tleGVjX2xvYWQrMHgxMTkvMHgxNTAKICAgIFs8ZmZmZjgyZDA4MDEx N2MxZT5dIGtleGVjLmMjZG9fa2V4ZWNfb3BfaW50ZXJuYWwrMHhhYi8weGNmCiAgICBbPGZmZmY4 MmQwODAxMTdjNjA+XSBkb19rZXhlY19vcCsweGUvMHgxZQogICAgWzxmZmZmODJkMDgwMjVjNjIw Pl0gcHZfaHlwZXJjYWxsKzB4MjBhLzB4NDRhCiAgICBbPGZmZmY4MmQwODAyNjAxMTY+XSBjcHVm cmVxLmMjdGVzdF9hbGxfZXZlbnRzKzAvMHgzMAoKIFBhZ2V0YWJsZSB3YWxrIGZyb20gZmZmZjgy MDA0MDA4ODMyMDoKICBMNFsweDEwNF0gPSAwMDAwMDAwMjk3OWQxMDYzIGZmZmZmZmZmZmZmZmZm ZmYKICBMM1sweDAwMV0gPSAwMDAwMDAwMjk3OWQwMDYzIGZmZmZmZmZmZmZmZmZmZmYKICBMMlsw eDAwMF0gPSAwMDAwMDAwMjk3OWM3MDYzIGZmZmZmZmZmZmZmZmZmZmYKICBMMVsweDA4OF0gPSA4 MDAzN2E5MWVkZTk3MDYzIGZmZmZmZmZmZmZmZmZmZmYKClRoZSBpbnRlcmVzdGluZyB0aGluZyBp cyB0aGF0IHRoZSBwYWdlIGJpdHMgKDA2MykgbG9vayBsZWdpdC4KClRoZSBvcGVyYXRpb24gb24g d2hpY2ggd2UgYmxvdyB1cCBpcyB1cyB0cnlpbmcgdG8gd3JpdGUKaW4gdGhlIEwxIGFuZCBmaW5k aW5nIHRoYXQgdGhlIEwyIGVudHJ5IHBvaW50cyB0byBzb21lCmJpenphcmUgTUZOLiBJdCBzdGlu a3Mgb2YgYSByYWNlLCBhbmQgaXQgbG9va3MgbGlrZQp0aGUgaXNzdWUgaXMgZHVlIHRvIG5vIGNv bmN1cnJlbmN5IGxvY2tzIHdoZW4gZGVhbGluZwp3aXRoIHRoZSBjcmFzaCBrZXJuZWwgc3BhY2Uu CgpTcGVjaWZpY2FsbHkgd2UgY29uY3VycmVudGx5IGNhbGwga2ltYWdlX2FsbG9jX2NyYXNoX2Nv bnRyb2xfcGFnZQp3aGljaCBpdGVyYXRlcyBvdmVyIHRoZSBrZXhlY19jcmFzaF9hcmVhLnN0YXJ0 IC0+IGtleGVjX2NyYXNoX2FyZWEuc2l6ZQphbmQgb25jZSBmb3VuZDoKCiAgaWYgKCBwYWdlICkK ICB7CiAgICAgIGltYWdlLT5uZXh0X2NyYXNoX3BhZ2UgPSBob2xlX2VuZDsKICAgICAgY2xlYXJf ZG9tYWluX3BhZ2UoX21mbihwYWdlX3RvX21mbihwYWdlKSkpOwogIH0KCmNsZWFycy4gU2luY2Ug dGhlIHBhcmFtZXRlcnMgb2Ygd2hhdCBNRk4gdG8gdXNlIGFyZSBwcm92aWRlZApieSB0aGUgY2Fs bGVycyAoYW5kIHRoZSBhcmVhIHRvIHNlYXJjaCBpcyBib3VuZGVkKSB0aGUgdGhlICdwYWdlJwpp cyBwcm9iYWJseSB0aGUgc2FtZS4gU28gIzEgd2UgY29uY3VycmVudGx5IGNsZWFyIHRoZQonY29u dHJvbF9jb2RlX3BhZ2UnLgoKVGhlIG5leHQgc3RlcCBpcyB1cyBwYXNzaW5nIHRoaXMgJ2NvbnRy b2xfY29kZV9wYWdlJyB0bwptYWNoaW5lX2tleGVjX2FkZF9wYWdlLiBUaGlzIGZ1bmN0aW9uIHJl cXVpcmVzIHRoZSBNRk5zOgpwYWdlX3RvX21hZGRyKGltYWdlLT5jb250cm9sX2NvZGVfcGFnZSku CgpBbmQgdGhpcyB3b3VsZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHZpcnR1YWwgYWRkcmVzcywg YXMKdGhlIE1GTiBvZiB0aGUgY29udHJvbF9jb2RlX3BhZ2UgaXMgaW5zaWRlIG9mIHRoZQprZXhl Y19jcmFzaF9hcmVhLnN0YXJ0IC0+IGtleGVjX2NyYXNoX2FyZWEuc2l6ZSBhcmVhLgoKVGhlbiBt YWNoaW5lX2tleGVjX2FkZF9wYWdlIHVwZGF0ZXMgdGhlIEwxIC4uIHdoaWNoIGNhbiBiZSBkb25l CmNvbmN1cnJlbnRseSBhbmQgb24gc3Vic2VxdWVudCBjYWxscyB3ZSBtYW5nbGUgaXQgdXAuCgpU aGlzIGlzIGFsbCBhIHRoZW9yeSBhdCB0aGlzIHRpbWUsIGJ1dCB0ZXN0aW5nIHJldmVhbHMKdGhh dCBhZGRpbmcgdGhlIGh5cGVyY2FsbF9jcmVhdGVfY29udGludWF0aW9uKCkgYXQgdGhlCmtleGVj IGh5cGVyY2FsbCBmaXhlcyB0aGUgY3Jhc2guCgpOT1RFOiBUaGlzIHBhdGNoIGZvbGxvd3MgNWM1 MjE2IChrZXhlYzogY2xlYXIga2V4ZWNfaW1hZ2Ugc2xvdAp3aGVuIHVubG9hZGluZyBrZXhlYyBp bWFnZSkgdG8gcHJldmVudCBjcmFzaGVzIGR1cmluZwpzaW11bHRhbmVvdXMgbG9hZC91bmxvYWRz LgoKTk9URTogQ29uc2lkZXJhdGlvbiB3YXMgZ2l2ZW4gdG8gdXNpbmcgdGhlIGV4aXN0aW5nIGZs YWcKS0VYRUNfRkxBR19JTl9QUk9HUkVTUyB0byBkZW5vdGUgYSBrZXhlYyBoeXBlcmNhbGwgaW4K cHJvZ3Jlc3MuIFRoaXMsIGhvd2V2ZXIsIG92ZXJsb2FkcyB0aGUgb3JpZ2luYWwgaW50ZW50IG9m CnRoZSBmbGFnIHdoaWNoIGlzIHRvIGRlbm90ZSB0aGF0IHdlIGFyZSBhYm91dC10by9oYXZlIG1h ZGUKdGhlIGp1bXAgdG8gdGhlIGNyYXNoIHBhdGguIFRoZSBvdmVybG9hZGluZyB3b3VsZCBsZWFk IHRvCmZhaWx1cmVzIGluIGV4aXN0aW5nIGNoZWNrcyBvbiB0aGlzIGZsYWcgYXMgdGhlIGZsYWcg d291bGQKYWx3YXlzIGJlIHNldCBhdCB0aGUgdG9wIGxldmVsIGluIGRvX2tleGVjX29wX2ludGVy bmFsKCkuCkZvciB0aGlzIHJlYXNvbiwgdGhlIG5ldyBmbGFnIEtFWEVDX0ZMQUdfSENfSU5fUFJP R1JFU1MKd2FzIGludHJvZHVjZWQuCgpXaGlsZSBhdCBpdCwgZml4ZWQgdGhlICNkZWZpbmUgbWlz bWF0Y2hlZCBzcGFjaW5nCgpTaWduZWQtb2ZmLWJ5OiBFcmljIERlVm9sZGVyIDxlcmljLmRldm9s ZGVyQG9yYWNsZS5jb20+ClJldmlld2VkLWJ5OiBCaGF2ZXNoIERhdmRhIDxiaGF2ZXNoLmRhdmRh QG9yYWNsZS5jb20+ClJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53 aWxrQG9yYWNsZS5jb20+Ci0tLQp2MjogMDQvMTcvMjAxNwogLSBQYXRjaCB0aXRsZWQgJ2tleGVj OiB1c2UgaHlwZXJjYWxsX2NyZWF0ZV9jb250aW51YXRpb24gdG8gcHJvdGVjdCBLRVhFQyBvcHMn CiAtIEphbiBCZXVsaWNoIGRpcmVjdGVkIG1lIHRvIHVzZSBhIGNvbnRpbnVhdGlvbiBtZXRob2Qg aW5zdGVhZAogICBvZiBzcGlubG9jay4KIC0gSW5jb3Jwb3JhdGVkIGZlZWRiYWNrIGZyb20gRGFu aWVsIEtpcGVyIDxkYW5pZWwua2lwZXJAb3JhY2xlLmNvbT4KIC0gSW5jb3Jwb3JhdGVkIGZlZWRi YWNrIGZyb20gS29ucmFkIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Cgp2MTogMDQvMTAv MjAxNwogLSBQYXRjaCB0aXRsZWQgJ2tleGVjOiBBZGQgc3BpbmxvY2sgZm9yIHRoZSB3aG9sZSBo eXBlcmNhbGwnCiAtIFVzZWQgc3BpbmxvY2sgaW4gZG9fa2V4ZWNfb3BfaW50ZXJuYWwoKQotLS0K IHhlbi9jb21tb24va2V4ZWMuYyB8IDEyICsrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDkg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2tl eGVjLmMgYi94ZW4vY29tbW9uL2tleGVjLmMKaW5kZXggMDcyY2M4ZS4uM2Y5NmViMiAxMDA2NDQK LS0tIGEveGVuL2NvbW1vbi9rZXhlYy5jCisrKyBiL3hlbi9jb21tb24va2V4ZWMuYwpAQCAtNTAs OSArNTAsMTAgQEAgc3RhdGljIGNwdW1hc2tfdCBjcmFzaF9zYXZlZF9jcHVzOwogCiBzdGF0aWMg c3RydWN0IGtleGVjX2ltYWdlICprZXhlY19pbWFnZVtLRVhFQ19JTUFHRV9OUl07CiAKLSNkZWZp bmUgS0VYRUNfRkxBR19ERUZBVUxUX1BPUyAgIChLRVhFQ19JTUFHRV9OUiArIDApCi0jZGVmaW5l IEtFWEVDX0ZMQUdfQ1JBU0hfUE9TICAgICAoS0VYRUNfSU1BR0VfTlIgKyAxKQotI2RlZmluZSBL RVhFQ19GTEFHX0lOX1BST0dSRVNTICAgKEtFWEVDX0lNQUdFX05SICsgMikKKyNkZWZpbmUgS0VY RUNfRkxBR19ERUZBVUxUX1BPUyAgICAoS0VYRUNfSU1BR0VfTlIgKyAwKQorI2RlZmluZSBLRVhF Q19GTEFHX0NSQVNIX1BPUyAgICAgIChLRVhFQ19JTUFHRV9OUiArIDEpCisjZGVmaW5lIEtFWEVD X0ZMQUdfSU5fUFJPR1JFU1MgICAgKEtFWEVDX0lNQUdFX05SICsgMikKKyNkZWZpbmUgS0VYRUNf RkxBR19IQ19JTl9QUk9HUkVTUyAoS0VYRUNfSU1BR0VfTlIgKyAzKQogCiBzdGF0aWMgdW5zaWdu ZWQgbG9uZyBrZXhlY19mbGFncyA9IDA7IC8qIHRoZSBsb3dlc3QgYml0cyBhcmUgZm9yIEtFWEVD X0lNQUdFLi4uICovCiAKQEAgLTExOTMsNiArMTE5NCw5IEBAIHN0YXRpYyBpbnQgZG9fa2V4ZWNf b3BfaW50ZXJuYWwodW5zaWduZWQgbG9uZyBvcCwKICAgICBpZiAoIHJldCApCiAgICAgICAgIHJl dHVybiByZXQ7CiAKKyAgICBpZiAoIHRlc3RfYW5kX3NldF9iaXQoS0VYRUNfRkxBR19IQ19JTl9Q Uk9HUkVTUywgJmtleGVjX2ZsYWdzKSkKKyAgICAgICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVf Y29udGludWF0aW9uKF9fSFlQRVJWSVNPUl9rZXhlY19vcCwgImxoIiwgb3AsIHVhcmcpOworCiAg ICAgc3dpdGNoICggb3AgKQogICAgIHsKICAgICBjYXNlIEtFWEVDX0NNRF9rZXhlY19nZXRfcmFu Z2U6CkBAIC0xMjI3LDYgKzEyMzEsOCBAQCBzdGF0aWMgaW50IGRvX2tleGVjX29wX2ludGVybmFs KHVuc2lnbmVkIGxvbmcgb3AsCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNsZWFyX2Jp dChLRVhFQ19GTEFHX0hDX0lOX1BST0dSRVNTLCAma2V4ZWNfZmxhZ3MpOworCiAgICAgcmV0dXJu IHJldDsKIH0KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK