From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric DeVolder Subject: [PATCH v4 1/2] kexec: use hypercall_create_continuation to protect KEXEC ops Date: Wed, 19 Apr 2017 16:01:48 -0500 Message-ID: <1492635709-4007-2-git-send-email-eric.devolder@oracle.com> References: <1492635709-4007-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: <1492635709-4007-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 CnY0OiAwNC8xOS8yMDE3CiAtIFVuY2hhbmdlZAoKdjM6IDA0LzE5LzIwMTcKIC0gSW5jb3Jwb3Jh dGVkIGZlZWRiYWNrIGZyb20gSmFuIEJldWxpY2ggdG8gY2hhbmdlIHRoZQogICBuYW1lIG9mIHRo ZSBuZXcgZmxhZyB0byBLRVhFQ19GTEFHX0lOX0hZUEVSQ0FMTAoKdjI6IDA0LzE3LzIwMTcKIC0g UGF0Y2ggdGl0bGVkICdrZXhlYzogdXNlIGh5cGVyY2FsbF9jcmVhdGVfY29udGludWF0aW9uIHRv IHByb3RlY3QgS0VYRUMgb3BzJwogLSBKYW4gQmV1bGljaCBkaXJlY3RlZCBtZSB0byB1c2UgYSBj b250aW51YXRpb24gbWV0aG9kIGluc3RlYWQKICAgb2Ygc3BpbmxvY2suCiAtIEluY29ycG9yYXRl ZCBmZWVkYmFjayBmcm9tIERhbmllbCBLaXBlciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+CiAt IEluY29ycG9yYXRlZCBmZWVkYmFjayBmcm9tIEtvbnJhZCBXaWxrIDxrb25yYWQud2lsa0BvcmFj bGUuY29tPgoKdjE6IDA0LzEwLzIwMTcKIC0gUGF0Y2ggdGl0bGVkICdrZXhlYzogQWRkIHNwaW5s b2NrIGZvciB0aGUgd2hvbGUgaHlwZXJjYWxsJwogLSBVc2VkIHNwaW5sb2NrIGluIGRvX2tleGVj X29wX2ludGVybmFsKCkKLS0tCiB4ZW4vY29tbW9uL2tleGVjLmMgfCAxMiArKysrKysrKystLS0K IDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9rZXhlYy5jIGIveGVuL2NvbW1vbi9rZXhlYy5jCmluZGV4IDA3MmNj OGUuLjI1M2MyMDQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24va2V4ZWMuYworKysgYi94ZW4vY29t bW9uL2tleGVjLmMKQEAgLTUwLDkgKzUwLDEwIEBAIHN0YXRpYyBjcHVtYXNrX3QgY3Jhc2hfc2F2 ZWRfY3B1czsKIAogc3RhdGljIHN0cnVjdCBrZXhlY19pbWFnZSAqa2V4ZWNfaW1hZ2VbS0VYRUNf SU1BR0VfTlJdOwogCi0jZGVmaW5lIEtFWEVDX0ZMQUdfREVGQVVMVF9QT1MgICAoS0VYRUNfSU1B R0VfTlIgKyAwKQotI2RlZmluZSBLRVhFQ19GTEFHX0NSQVNIX1BPUyAgICAgKEtFWEVDX0lNQUdF X05SICsgMSkKLSNkZWZpbmUgS0VYRUNfRkxBR19JTl9QUk9HUkVTUyAgIChLRVhFQ19JTUFHRV9O UiArIDIpCisjZGVmaW5lIEtFWEVDX0ZMQUdfREVGQVVMVF9QT1MgIChLRVhFQ19JTUFHRV9OUiAr IDApCisjZGVmaW5lIEtFWEVDX0ZMQUdfQ1JBU0hfUE9TICAgIChLRVhFQ19JTUFHRV9OUiArIDEp CisjZGVmaW5lIEtFWEVDX0ZMQUdfSU5fUFJPR1JFU1MgIChLRVhFQ19JTUFHRV9OUiArIDIpCisj ZGVmaW5lIEtFWEVDX0ZMQUdfSU5fSFlQRVJDQUxMIChLRVhFQ19JTUFHRV9OUiArIDMpCiAKIHN0 YXRpYyB1bnNpZ25lZCBsb25nIGtleGVjX2ZsYWdzID0gMDsgLyogdGhlIGxvd2VzdCBiaXRzIGFy ZSBmb3IgS0VYRUNfSU1BR0UuLi4gKi8KIApAQCAtMTE5Myw2ICsxMTk0LDkgQEAgc3RhdGljIGlu dCBkb19rZXhlY19vcF9pbnRlcm5hbCh1bnNpZ25lZCBsb25nIG9wLAogICAgIGlmICggcmV0ICkK ICAgICAgICAgcmV0dXJuIHJldDsKIAorICAgIGlmICggdGVzdF9hbmRfc2V0X2JpdChLRVhFQ19G TEFHX0lOX0hZUEVSQ0FMTCwgJmtleGVjX2ZsYWdzKSApCisgICAgICAgIHJldHVybiBoeXBlcmNh bGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVSVklTT1Jfa2V4ZWNfb3AsICJsaCIsIG9wLCB1 YXJnKTsKKwogICAgIHN3aXRjaCAoIG9wICkKICAgICB7CiAgICAgY2FzZSBLRVhFQ19DTURfa2V4 ZWNfZ2V0X3JhbmdlOgpAQCAtMTIyNyw2ICsxMjMxLDggQEAgc3RhdGljIGludCBkb19rZXhlY19v cF9pbnRlcm5hbCh1bnNpZ25lZCBsb25nIG9wLAogICAgICAgICBicmVhazsKICAgICB9CiAKKyAg ICBjbGVhcl9iaXQoS0VYRUNfRkxBR19JTl9IWVBFUkNBTEwsICZrZXhlY19mbGFncyk7CisKICAg ICByZXR1cm4gcmV0OwogfQogCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=