From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Clark Subject: [PATCH v3 15/15] argo: validate hypercall arg structures via compat machinery Date: Sun, 6 Jan 2019 23:42:48 -0800 Message-ID: <1546846968-7372-16-git-send-email-christopher.w.clark@gmail.com> References: <1546846968-7372-1-git-send-email-christopher.w.clark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ggPZO-00050F-0I for xen-devel@lists.xenproject.org; Mon, 07 Jan 2019 07:43:34 +0000 Received: by mail-pf1-x441.google.com with SMTP id h3so21444034pfg.1 for ; Sun, 06 Jan 2019 23:43:32 -0800 (PST) In-Reply-To: <1546846968-7372-1-git-send-email-christopher.w.clark@gmail.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 , Ross Philipson , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Jason Andryuk , Ian Jackson , Rich Persaud , Tim Deegan , Daniel Smith , Julien Grall , Paul Durrant , Jan Beulich , James McKenzie , Eric Chanudet , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org QXJnbyBkb2Vzbid0IHVzZSBjb21wYXQgaHlwZXJjYWxsIG9yIGFyZ3VtZW50IHRyYW5zbGF0aW9u IGJ1dCBjYW4gdXNlIHNvbWUKb2YgdGhlIGluZnJhc3RydWN0dXJlIGZvciB2YWxpZGF0aW5nIHRo ZSBoeXBlcmNhbGwgYXJndW1lbnQgc3RydWN0dXJlcyB0bwplbnN1cmUgdGhhdCB0aGUgc3RydWN0 IHNpemVzLCBvZmZzZXRzIGFuZCBjb21wb3NpdGlvbnMgZG9uJ3QgdmFyeSBiZXR3ZWVuIDMyCmFu ZCA2NGJpdCwgc28gYWRkIHRoYXQgaGVyZSBpbiBhIG5ldyBkZWRpY2F0ZWQgc291cmNlIGZpbGUg Zm9yIHRoaXMgcHVycG9zZS4KClNvbWUgb2YgdGhlIGFyZ28gaHlwZXJjYWxsIGFyZ3VtZW50IHN0 cnVjdHVyZXMgY29udGFpbiBlbGVtZW50cyB0aGF0IGFyZQpoeXBlcmNhbGwgYXJndW1lbnQgc3Ry dWN0dXJlIHR5cGVzIHRoZW1zZWx2ZXMsIGFuZCB0aGUgc3RhbmRhcmQgY29tcGF0CnN0cnVjdHVy ZSB2YWxpZGF0aW9uIGRvZXMgbm90IGhhbmRsZSB0aGlzLCBzaW5jZSB0aGUgdHlwZXMgZGlmZmVy IGluIGNvbXBhdAp2cy4gbm9uLWNvbXBhdCB2ZXJzaW9uczsgc28gZm9yIHNvbWUgb2YgdGhlIHRl c3RzIHRoZSBleGFjdC10eXBlLW1hdGNoIGNoZWNrCmlzIHJlcGxhY2VkIHdpdGggYSB3ZWFrZXIs IGJ1dCBzdGlsbCBzdWZmaWNpZW50LCBzaXplb2YgY2hlY2suCgpUaGVuIHRoZXJlIGFyZSBhZGRp dGlvbmFsIGh5cGVyY2FsbCBhcmd1bWVudCBzdHJ1Y3R1cmVzIHRoYXQgY29udGFpbgplbGVtZW50 cyB0aGF0IGRvIG5vdCBoYXZlIGEgZml4ZWQgc2l6ZSAobGFzdCBlbGVtZW50LCB2YXJpYWJsZSBs ZW5ndGggYXJyYXkKZmllbGRzKSwgc28gd2UgaGF2ZSB0byB0aGVuIGRpc2FibGUgdGhhdCBzaXpl IGNoZWNrIHRvbyBmb3IgdmFsaWRhdGluZyB0aG9zZQpzdHJ1Y3R1cmVzOyB0aGUgY292ZXJhZ2Ug b2Ygb2Zmc2V0IG9mIGVsZW1lbnRzIGlzIHN0aWxsIHJldGFpbmVkLgoKU2lnbmVkLW9mZi1ieTog Q2hyaXN0b3BoZXIgQ2xhcmsgPGNocmlzdG9waGVyLmNsYXJrNkBiYWVzeXN0ZW1zLmNvbT4KLS0t CiB4ZW4vY29tbW9uL01ha2VmaWxlICAgICAgfCAgMiArLQogeGVuL2NvbW1vbi9jb21wYXQvYXJn by5jIHwgNjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL2NvbXBhdC9hcmdvLmMKCmRpZmYgLS1naXQgYS94ZW4v Y29tbW9uL01ha2VmaWxlIGIveGVuL2NvbW1vbi9NYWtlZmlsZQppbmRleCA4YzY1YzZmLi44OGI5 YjJmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL01ha2VmaWxlCisrKyBiL3hlbi9jb21tb24vTWFr ZWZpbGUKQEAgLTcwLDcgKzcwLDcgQEAgb2JqLXkgKz0geG1hbGxvY190bHNmLm8KIG9iai1iaW4t JChDT05GSUdfWDg2KSArPSAkKGZvcmVhY2ggbixkZWNvbXByZXNzIGJ1bnppcDIgdW54eiB1bmx6 bWEgdW5sem8gdW5sejQgZWFybHljcGlvLCQobikuaW5pdC5vKQogCiAKLW9iai0kKENPTkZJR19D T01QQVQpICs9ICQoYWRkcHJlZml4IGNvbXBhdC8sZG9tYWluLm8ga2VybmVsLm8gbWVtb3J5Lm8g bXVsdGljYWxsLm8geGxhdC5vKQorb2JqLSQoQ09ORklHX0NPTVBBVCkgKz0gJChhZGRwcmVmaXgg Y29tcGF0LyxhcmdvLm8gZG9tYWluLm8ga2VybmVsLm8gbWVtb3J5Lm8gbXVsdGljYWxsLm8geGxh dC5vKQogCiB0bWVtLXkgOj0gdG1lbS5vIHRtZW1feGVuLm8gdG1lbV9jb250cm9sLm8KIHRtZW0t JChDT05GSUdfQ09NUEFUKSArPSBjb21wYXQvdG1lbV94ZW4ubwpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9jb21wYXQvYXJnby5jIGIveGVuL2NvbW1vbi9jb21wYXQvYXJnby5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZjQ4NWQKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4v Y29tbW9uL2NvbXBhdC9hcmdvLmMKQEAgLTAsMCArMSw2MSBAQAorLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgorICogQXJnbyA6IEh5cGVydmlzb3ItTWVkaWF0ZWQgZGF0YSBlWGNoYW5nZQorICoKKyAq IENvcHlyaWdodCAoYykgMjAxOCwgQkFFIFN5c3RlbXMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxl IFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNp bmNsdWRlIDx4ZW4vdHlwZXMuaD4KKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8cHVi bGljL2FyZ28uaD4KKyNpbmNsdWRlIDxjb21wYXQvYXJnby5oPgorCitDSEVDS19hcmdvX2FkZHI7 CitDSEVDS19hcmdvX3JlZ2lzdGVyX3Jpbmc7CitDSEVDS19hcmdvX3VucmVnaXN0ZXJfcmluZzsK KworLyoKKyAqIERpc2FibGUgc3RyaWN0IHR5cGUgY2hlY2tpbmcgaW4gdGhpcyBjb21wYXQgdmFs aWRhdGlvbiBtYWNybyBmb3IgdGhlCisgKiBmb2xsb3dpbmcgc3RydWN0IGNoZWNrcyBiZWNhdXNl IGl0IGNhbm5vdCBoYW5kbGUgZmllbGRzIHdpdGhpbiBzdHJ1Y3RzIHRoYXQKKyAqIGhhdmUgdHlw ZXMgdGhhdCBkaWZmZXIgaW4gdGhlIGNvbXBhdCB2ZXJzdXMgbm9uLWNvbXBhdCBzdHJ1Y3RzLgor ICogUmVwbGFjZSBpdCB3aXRoIGEgZmllbGQgc2l6ZSBjaGVjayB3aGljaCBpcyBzdWZmaWNpZW50 IGhlcmUuCisgKi8KKworI3VuZGVmIENIRUNLX0ZJRUxEX0NPTU1PTl8KKyNkZWZpbmUgQ0hFQ0tf RklFTERfQ09NTU9OXyhrLCBuYW1lLCBuLCBmKSBcCitzdGF0aWMgaW5saW5lIGludCBfX21heWJl X3VudXNlZCBuYW1lKGsgeGVuXyAjIyBuICp4LCBrIGNvbXBhdF8gIyMgbiAqYykgXAoreyBcCisg ICAgQlVJTERfQlVHX09OKG9mZnNldG9mKGsgeGVuXyAjIyBuLCBmKSAhPSBcCisgICAgICAgICAg ICAgICAgIG9mZnNldG9mKGsgY29tcGF0XyAjIyBuLCBmKSk7IFwKKyAgICByZXR1cm4gc2l6ZW9m KHgtPmYpID09IHNpemVvZihjLT5mKTsgXAorfQorCitDSEVDS19hcmdvX3NlbmRfYWRkcjsKK0NI RUNLX2FyZ29fcmluZ19kYXRhX2VudDsKK0NIRUNLX2FyZ29faW92OworCisvKgorICogRGlzYWJs ZSBzaXplb2YgdHlwZSBjaGVja2luZyBmb3IgdGhlIGZvbGxvd2luZyBzdHJ1Y3QgY2hlY2tzIGJl Y2F1c2UKKyAqIHRoZXNlIHN0cnVjdHMgaGF2ZSBmaWVsZHMgd2l0aCB2YXJpYWJsZSBzaXplIHRo YXQgdGhlIHNpemUgY2hlY2sKKyAqIGNhbm5vdCB2YWxpZGF0ZS4KKyAqLworCisjdW5kZWYgQ0hF Q0tfRklFTERfQ09NTU9OXworI2RlZmluZSBDSEVDS19GSUVMRF9DT01NT05fKGssIG5hbWUsIG4s IGYpIFwKK3N0YXRpYyBpbmxpbmUgaW50IF9fbWF5YmVfdW51c2VkIG5hbWUoayB4ZW5fICMjIG4g KngsIGsgY29tcGF0XyAjIyBuICpjKSBcCit7IFwKKyAgICBCVUlMRF9CVUdfT04ob2Zmc2V0b2Yo ayB4ZW5fICMjIG4sIGYpICE9IFwKKyAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoayBjb21wYXRf ICMjIG4sIGYpKTsgXAorICAgIHJldHVybiAxOyBcCit9CisKK0NIRUNLX2FyZ29fcmluZzsKK0NI RUNLX2FyZ29fcmluZ19kYXRhOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v bGlzdGluZm8veGVuLWRldmVs