From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3] xen/mm: Fix page_list_* helpers to evaluate all their arguments Date: Mon, 7 Mar 2016 18:12:56 +0000 Message-ID: <1457374376-30786-1-git-send-email-andrew.cooper3@citrix.com> References: <56DDC00002000078000DA1C7@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <56DDC00002000078000DA1C7@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Julien Grall , Stefano Stabellini , Jan Beulich List-Id: xen-devel@lists.xenproject.org SWYgYW4gYXJjaGl0ZWN0dXJlIGRvZXMgbm90IHByb3ZpZGUgYSBjdXN0b20gcGFnZV9saXN0X2Vu dHJ5LCBkZWZhdWx0CnBhZ2VfbGlzdF8qIGhlbHBlcnMgYXJlIHByb3ZpZGVkLCB3cmFwcGluZyBs aXN0X2hlYWQgYXMgYW4gdW5kZXJseWluZyB0eXBlIGZvcgpwYWdlX2xpc3RfaGVhZC4KClRoZSB0 d28gZGVjbGFyYXRpb25zIG9mIHRoZSBwYWdlX2xpc3RfKiBoZWxwZXJzIGRpZmZlciBiZXR3ZWVu IGRlZmluZXMgYW5kCnN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zLCB3aGVyZSB0aGUgZGVmaW5lcyBk aXNjYXJkIHNvbWUgb2YgdGhlaXIgcGFyYW1ldGVycy4KClRoaXMgY2F1c2VzIGEgY29tcGlsYXRp b24gZmFpbHVyZSBpZiBDT05GSUdfQklHTUVNIGFuZCBkZWJ1Zz1uIGluIHAybS1wb2QuYzoKCiAg cDJtLXBvZC5jOiBJbiBmdW5jdGlvbiDigJhwMm1fcG9kX2NhY2hlX2FkZOKAmToKICBwMm0tcG9k LmM6NzI6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYZOKAmSBbLVdlcnJvcj11bnVzZWQt dmFyaWFibGVdCiAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcDJtLT5kb21haW47CiAgICAgICAg ICAgICAgICAgICAgICBeCiAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJv cnMKCmJlY2F1c2UgdGhlIHVzZSBvZiBkIG91dHNpZGUgb2YgdGhlICFOREVCVUcgc2VjdGlvbiBk b2Vzbid0IGdldCBldmFsdWF0ZWQgYXMgYQpwYXJhbWV0ZXIgYnkgcGFnZV9saXN0X2RlbCgpLgoK Rml4IHRoaXMgYnkgdHVybmluZyBhbGwgI2RlZmluZXMgaW50byBzdGF0aWMgaW5saW5lIGZ1bmN0 aW9ucywgc28gYWxsCnBhcmFtZXRlcnMgYXJlIGV2YWx1YXRlZCBldmVuIGlmIHRoZXkgYXJlIG5v dCB1c2VkLgoKVGhpcyByZXZlYWxzIGEgYnVpbGQgaXNzdWUgb24gQVJNLiAgcGFnZV9hbGxvYy5j IHJlZmVyZW5jZXMKZC0+YXJjaC5yZWxtZW1fbGlzdCBpbiB0aGUgcHJldmlvdXNseS1kaXNjYXJk ZWQgcGFyYW1ldGVyLiAgRml4IHRoaXMgYnkKaW50cm9kdWNpbmcgcmVsbWVtX2xpc3QgZm9yIEFS TSAoY3VycmVudGx5IHVudXNlZCkuCgpXaGlsZSBlZGl0aW5nIHRoaXMgYXJlYSwgY29ycmVjdCB0 aGUgcmV0dXJuIHR5cGUgb2YgcGFnZV9saXN0X2VtcHR5IGZyb20gaW50CnRvIGJvb2xfdC4KClJl cG9ydGVkLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+ClNpZ25lZC1vZmYt Ynk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5 OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2gg PEpCZXVsaWNoQHN1c2UuY29tPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNDOiBHZW9y Z2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNDOiBTdGVmYW5vIFN0YWJl bGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBjaXRyaXguY29tPgpDQzogSnVsaWVuIEdyYWxsIDxq dWxpZW4uZ3JhbGxAYXJtLmNvbT4KCnYyOgogKiBSZW1vdmUgZXhwbGljaXQgY2FzdHMsIGFuZCBt aXNzaW5nICEhIGluIHBhZ2VfbGlzdF9lbXB0eSgpCgp2MzoKICogRml4IGJ1aWxkIG9uIEFSTS4g IEFzIGl0IGlzIHJlZmVyZW5jZWQgZnJvbSBjb21tb24sIHJlbG1lbV9saXN0IHNob3VsZG4ndAog ICBiZSBhbiAuYXJjaCB2YXJpYWJsZS4gIEhvd2V2ZXIsIG1vdmluZyBpdCB3b3VsZCBzcGxpdCBp dCBhd2F5IGZyb20gdGhlCiAgIHJlbG1lbSBlbnVtZXJhdGlvbiwgd2hpY2ggaXMgc3BlY2lmaWMg dG8gdGhlIGFyY2guICAoQmFzaWNhbGx5IC0gSSBsYWNrCiAgIHN1ZmZpY2llbnQgVFVJVHMgdG8g ZGlzZW50YWdsZSB0aGlzIHByb3Blcmx5LCBhbmQgdGhpcyBpcyB0aGUgbW9zdCBzaW1wbGUgZml4 LikKLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIHwgIDEgKwogeGVuL2luY2x1ZGUv eGVuL21tLmggICAgICAgICB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggYi94ZW4vaW5j bHVkZS9hc20tYXJtL2RvbWFpbi5oCmluZGV4IGMzNWVkNDAuLmMyNzQ1NDcgMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9k b21haW4uaApAQCAtNjUsNiArNjUsNyBAQCBzdHJ1Y3QgYXJjaF9kb21haW4KICAgICAgICAgUkVM TUVNX21hcHBpbmcsCiAgICAgICAgIFJFTE1FTV9kb25lLAogICAgIH0gcmVsbWVtOworICAgIHN0 cnVjdCBwYWdlX2xpc3RfaGVhZCByZWxtZW1fbGlzdDsKIAogICAgIC8qIFZpcnR1YWwgQ1BVSUQg Ki8KICAgICB1aW50MzJfdCB2cGlkcjsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9tbS5o IGIveGVuL2luY2x1ZGUveGVuL21tLmgKaW5kZXggYTc5NWRkNi4uODYwMGNmNiAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUveGVuL21tLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgKQEAgLTIy MCw3ICsyMjAsNyBAQCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQKICMgZGVmaW5lIElOSVRfUEFHRV9M SVNUX0hFQUQoaGVhZCkgKChoZWFkKS0+dGFpbCA9IChoZWFkKS0+bmV4dCA9IE5VTEwpCiAjIGRl ZmluZSBJTklUX1BBR0VfTElTVF9FTlRSWShlbnQpICgoZW50KS0+cHJldiA9IChlbnQpLT5uZXh0 ID0gUEFHRV9MSVNUX05VTEwpCiAKLXN0YXRpYyBpbmxpbmUgaW50CitzdGF0aWMgaW5saW5lIGJv b2xfdAogcGFnZV9saXN0X2VtcHR5KGNvbnN0IHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkK IHsKICAgICByZXR1cm4gIWhlYWQtPm5leHQ7CkBAIC0zOTIsMzEgKzM5Miw4NCBAQCBwYWdlX2xp c3Rfc3BsaWNlKHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqbGlzdCwgc3RydWN0IHBhZ2VfbGlzdF9o ZWFkICpoZWFkKQogIyBkZWZpbmUgUEFHRV9MSVNUX0hFQUQgICAgICAgICAgICAgICAgICBMSVNU X0hFQUQKICMgZGVmaW5lIElOSVRfUEFHRV9MSVNUX0hFQUQgICAgICAgICAgICAgSU5JVF9MSVNU X0hFQUQKICMgZGVmaW5lIElOSVRfUEFHRV9MSVNUX0VOVFJZICAgICAgICAgICAgSU5JVF9MSVNU X0hFQUQKLSMgZGVmaW5lIHBhZ2VfbGlzdF9lbXB0eSAgICAgICAgICAgICAgICAgbGlzdF9lbXB0 eQotIyBkZWZpbmUgcGFnZV9saXN0X2ZpcnN0KGhkKSAgICAgICAgICAgICBcCi0gICAgbGlzdF9m aXJzdF9lbnRyeShoZCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlz dF9sYXN0KGhkKSAgICAgICAgICAgICAgXAotICAgIGxpc3RfbGFzdF9lbnRyeShoZCwgc3RydWN0 IHBhZ2VfaW5mbywgbGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9uZXh0KHBnLCBoZCkgICAgICAg ICAgbGlzdF9uZXh0X2VudHJ5KHBnLCBsaXN0KQotIyBkZWZpbmUgcGFnZV9saXN0X3ByZXYocGcs IGhkKSAgICAgICAgICBsaXN0X3ByZXZfZW50cnkocGcsIGxpc3QpCi0jIGRlZmluZSBwYWdlX2xp c3RfYWRkKHBnLCBoZCkgICAgICAgICAgIGxpc3RfYWRkKCYocGcpLT5saXN0LCBoZCkKLSMgZGVm aW5lIHBhZ2VfbGlzdF9hZGRfdGFpbChwZywgaGQpICAgICAgbGlzdF9hZGRfdGFpbCgmKHBnKS0+ bGlzdCwgaGQpCi0jIGRlZmluZSBwYWdlX2xpc3RfZGVsKHBnLCBoZCkgICAgICAgICAgIGxpc3Rf ZGVsKCYocGcpLT5saXN0KQotIyBkZWZpbmUgcGFnZV9saXN0X2RlbDIocGcsIGhkMSwgaGQyKSAg ICBsaXN0X2RlbCgmKHBnKS0+bGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9yZW1vdmVfaGVhZCho ZCkgICAgICAgKCFwYWdlX2xpc3RfZW1wdHkoaGQpID8gXAotICAgICh7IFwKLSAgICAgICAgc3Ry dWN0IHBhZ2VfaW5mbyAqX19wZyA9IHBhZ2VfbGlzdF9maXJzdChoZCk7IFwKLSAgICAgICAgbGlz dF9kZWwoJl9fcGctPmxpc3QpOyBcCi0gICAgICAgIF9fcGc7IFwKLSAgICB9KSA6IE5VTEwpCi0j IGRlZmluZSBwYWdlX2xpc3RfbW92ZShkc3QsIHNyYykgICAgICAgICghbGlzdF9lbXB0eShzcmMp ID8gXAotICAgIGxpc3RfcmVwbGFjZV9pbml0KHNyYywgZHN0KSA6ICh2b2lkKTApCisKK3N0YXRp YyBpbmxpbmUgYm9vbF90CitwYWdlX2xpc3RfZW1wdHkoY29uc3Qgc3RydWN0IHBhZ2VfbGlzdF9o ZWFkICpoZWFkKQoreworICAgIHJldHVybiAhIWxpc3RfZW1wdHkoaGVhZCk7Cit9CitzdGF0aWMg aW5saW5lIHN0cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X2ZpcnN0KGNvbnN0IHN0cnVjdCBw YWdlX2xpc3RfaGVhZCAqaGVhZCkKK3sKKyAgICByZXR1cm4gbGlzdF9maXJzdF9lbnRyeShoZWFk LCBzdHJ1Y3QgcGFnZV9pbmZvLCBsaXN0KTsKK30KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2Vf aW5mbyAqCitwYWdlX2xpc3RfbGFzdChjb25zdCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQp Cit7CisgICAgcmV0dXJuIGxpc3RfbGFzdF9lbnRyeShoZWFkLCBzdHJ1Y3QgcGFnZV9pbmZvLCBs aXN0KTsKK30KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2VfaW5mbyAqCitwYWdlX2xpc3RfbmV4 dChjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLAorICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIHJldHVybiBsaXN0X2VudHJ5KHBhZ2Ut Pmxpc3QubmV4dCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCk7Cit9CitzdGF0aWMgaW5saW5lIHN0 cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X3ByZXYoY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAq cGFnZSwKKyAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkK K3sKKyAgICByZXR1cm4gbGlzdF9lbnRyeShwYWdlLT5saXN0LnByZXYsIHN0cnVjdCBwYWdlX2lu Zm8sIGxpc3QpOworfQorc3RhdGljIGlubGluZSB2b2lkCitwYWdlX2xpc3RfYWRkKHN0cnVjdCBw YWdlX2luZm8gKnBhZ2UsIHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkKK3sKKyAgICBsaXN0 X2FkZCgmcGFnZS0+bGlzdCwgaGVhZCk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3BhZ2VfbGlz dF9hZGRfdGFpbChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQg KmhlYWQpCit7CisgICAgbGlzdF9hZGRfdGFpbCgmcGFnZS0+bGlzdCwgaGVhZCk7Cit9CitzdGF0 aWMgaW5saW5lIHZvaWQKK3BhZ2VfbGlzdF9kZWwoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgc3Ry dWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIGxpc3RfZGVsKCZwYWdlLT5saXN0KTsK K30KK3N0YXRpYyBpbmxpbmUgdm9pZAorcGFnZV9saXN0X2RlbDIoc3RydWN0IHBhZ2VfaW5mbyAq cGFnZSwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkMSwKKyAgICAgICAgICAgICAgIHN0cnVj dCBwYWdlX2xpc3RfaGVhZCAqaGVhZDIpCit7CisgICAgbGlzdF9kZWwoJnBhZ2UtPmxpc3QpOwor fQorc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZV9pbmZvICoKK3BhZ2VfbGlzdF9yZW1vdmVfaGVh ZChzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQpCit7CisgICAgc3RydWN0IHBhZ2VfaW5mbyAq cGc7CisKKyAgICBpZiAoIHBhZ2VfbGlzdF9lbXB0eShoZWFkKSApCisgICAgICAgIHJldHVybiBO VUxMOworCisgICAgcGcgPSBwYWdlX2xpc3RfZmlyc3QoaGVhZCk7CisgICAgbGlzdF9kZWwoJnBn LT5saXN0KTsKKyAgICByZXR1cm4gcGc7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3BhZ2VfbGlz dF9tb3ZlKHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqZHN0LCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQg KnNyYykKK3sKKyAgICBpZiAoICFsaXN0X2VtcHR5KHNyYykgKQorICAgICAgICBsaXN0X3JlcGxh Y2VfaW5pdChzcmMsIGRzdCk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3BhZ2VfbGlzdF9zcGxp Y2Uoc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpsaXN0LCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhl YWQpCit7CisgICAgbGlzdF9zcGxpY2UobGlzdCwgaGVhZCk7Cit9CisKICMgZGVmaW5lIHBhZ2Vf bGlzdF9mb3JfZWFjaChwb3MsIGhlYWQpICAgbGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsIGhlYWQs IGxpc3QpCiAjIGRlZmluZSBwYWdlX2xpc3RfZm9yX2VhY2hfc2FmZShwb3MsIHRtcCwgaGVhZCkg XAogICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwb3MsIHRtcCwgaGVhZCwgbGlzdCkKICMg ZGVmaW5lIHBhZ2VfbGlzdF9mb3JfZWFjaF9zYWZlX3JldmVyc2UocG9zLCB0bXAsIGhlYWQpIFwK ICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVfcmV2ZXJzZShwb3MsIHRtcCwgaGVhZCwgbGlz dCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9zcGxpY2UobGlzdCwgaGQpICAgICAgICBsaXN0X3NwbGlj ZShsaXN0LCBoZCkKICNlbmRpZgogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnZXRfb3Jk ZXJfZnJvbV9ieXRlcyhwYWRkcl90IHNpemUpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==