From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric DeVolder Subject: [PATCH v3 1/2] kexec: use hypercall_create_continuation to protect KEXEC ops Date: Wed, 19 Apr 2017 10:47:15 -0500 Message-ID: <1492616837-27617-2-git-send-email-eric.devolder@oracle.com> References: <1492616837-27617-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: <1492616837-27617-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+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+ClJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t PgpSZXZpZXdlZC1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lwZXJAb3JhY2xlLmNvbT4KLS0t CnYzOgogLSBJbmNvcnBvcmF0ZWQgZmVlZGJhY2sgZnJvbSBKYW4gQmV1bGljaCB0byBjaGFuZ2Ug dGhlCiAgIG5hbWUgb2YgdGhlIG5ldyBmbGFnIHRvIEtFWEVDX0ZMQUdfSU5fSFlQRVJDQUxMCgp2 MjogMDQvMTcvMjAxNwogLSBQYXRjaCB0aXRsZWQgJ2tleGVjOiB1c2UgaHlwZXJjYWxsX2NyZWF0 ZV9jb250aW51YXRpb24gdG8gcHJvdGVjdCBLRVhFQyBvcHMnCiAtIEphbiBCZXVsaWNoIGRpcmVj dGVkIG1lIHRvIHVzZSBhIGNvbnRpbnVhdGlvbiBtZXRob2QgaW5zdGVhZAogICBvZiBzcGlubG9j ay4KIC0gSW5jb3Jwb3JhdGVkIGZlZWRiYWNrIGZyb20gRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lw ZXJAb3JhY2xlLmNvbT4KIC0gSW5jb3Jwb3JhdGVkIGZlZWRiYWNrIGZyb20gS29ucmFkIFdpbGsg PGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Cgp2MTogMDQvMTAvMjAxNwogLSBQYXRjaCB0aXRsZWQg J2tleGVjOiBBZGQgc3BpbmxvY2sgZm9yIHRoZSB3aG9sZSBoeXBlcmNhbGwnCiAtIFVzZWQgc3Bp bmxvY2sgaW4gZG9fa2V4ZWNfb3BfaW50ZXJuYWwoKQotLS0KIHhlbi9jb21tb24va2V4ZWMuYyB8 IDEyICsrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2tleGVjLmMgYi94ZW4vY29tbW9uL2tl eGVjLmMKaW5kZXggMDcyY2M4ZS4uMjUzYzIwNCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9rZXhl Yy5jCisrKyBiL3hlbi9jb21tb24va2V4ZWMuYwpAQCAtNTAsOSArNTAsMTAgQEAgc3RhdGljIGNw dW1hc2tfdCBjcmFzaF9zYXZlZF9jcHVzOwogCiBzdGF0aWMgc3RydWN0IGtleGVjX2ltYWdlICpr ZXhlY19pbWFnZVtLRVhFQ19JTUFHRV9OUl07CiAKLSNkZWZpbmUgS0VYRUNfRkxBR19ERUZBVUxU X1BPUyAgIChLRVhFQ19JTUFHRV9OUiArIDApCi0jZGVmaW5lIEtFWEVDX0ZMQUdfQ1JBU0hfUE9T ICAgICAoS0VYRUNfSU1BR0VfTlIgKyAxKQotI2RlZmluZSBLRVhFQ19GTEFHX0lOX1BST0dSRVNT ICAgKEtFWEVDX0lNQUdFX05SICsgMikKKyNkZWZpbmUgS0VYRUNfRkxBR19ERUZBVUxUX1BPUyAg KEtFWEVDX0lNQUdFX05SICsgMCkKKyNkZWZpbmUgS0VYRUNfRkxBR19DUkFTSF9QT1MgICAgKEtF WEVDX0lNQUdFX05SICsgMSkKKyNkZWZpbmUgS0VYRUNfRkxBR19JTl9QUk9HUkVTUyAgKEtFWEVD X0lNQUdFX05SICsgMikKKyNkZWZpbmUgS0VYRUNfRkxBR19JTl9IWVBFUkNBTEwgKEtFWEVDX0lN QUdFX05SICsgMykKIAogc3RhdGljIHVuc2lnbmVkIGxvbmcga2V4ZWNfZmxhZ3MgPSAwOyAvKiB0 aGUgbG93ZXN0IGJpdHMgYXJlIGZvciBLRVhFQ19JTUFHRS4uLiAqLwogCkBAIC0xMTkzLDYgKzEx OTQsOSBAQCBzdGF0aWMgaW50IGRvX2tleGVjX29wX2ludGVybmFsKHVuc2lnbmVkIGxvbmcgb3As CiAgICAgaWYgKCByZXQgKQogICAgICAgICByZXR1cm4gcmV0OwogCisgICAgaWYgKCB0ZXN0X2Fu ZF9zZXRfYml0KEtFWEVDX0ZMQUdfSU5fSFlQRVJDQUxMLCAma2V4ZWNfZmxhZ3MpICkKKyAgICAg ICAgcmV0dXJuIGh5cGVyY2FsbF9jcmVhdGVfY29udGludWF0aW9uKF9fSFlQRVJWSVNPUl9rZXhl Y19vcCwgImxoIiwgb3AsIHVhcmcpOworCiAgICAgc3dpdGNoICggb3AgKQogICAgIHsKICAgICBj YXNlIEtFWEVDX0NNRF9rZXhlY19nZXRfcmFuZ2U6CkBAIC0xMjI3LDYgKzEyMzEsOCBAQCBzdGF0 aWMgaW50IGRvX2tleGVjX29wX2ludGVybmFsKHVuc2lnbmVkIGxvbmcgb3AsCiAgICAgICAgIGJy ZWFrOwogICAgIH0KIAorICAgIGNsZWFyX2JpdChLRVhFQ19GTEFHX0lOX0hZUEVSQ0FMTCwgJmtl eGVjX2ZsYWdzKTsKKwogICAgIHJldHVybiByZXQ7CiB9CiAKLS0gCjIuNy40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==