From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 2/2] xen/mm: Fix page_list_* helpers to evaluate all their arguments Date: Wed, 9 Mar 2016 13:13:00 +0000 Message-ID: <1457529180-25677-2-git-send-email-andrew.cooper3@citrix.com> References: <1457529180-25677-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457529180-25677-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Stefano Stabellini , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org SWYgYW4gYXJjaGl0ZWN0dXJlIGRvZXMgbm90IHByb3ZpZGUgYSBjdXN0b20gcGFnZV9saXN0X2Vu dHJ5LCBkZWZhdWx0CnBhZ2VfbGlzdF8qIGhlbHBlcnMgYXJlIHByb3ZpZGVkLCB3cmFwcGluZyBs aXN0X2hlYWQgYXMgYW4gdW5kZXJseWluZyB0eXBlIGZvcgpwYWdlX2xpc3RfaGVhZC4KClRoZSB0 d28gZGVjbGFyYXRpb25zIG9mIHRoZSBwYWdlX2xpc3RfKiBoZWxwZXJzIGRpZmZlciBiZXR3ZWVu IGRlZmluZXMgYW5kCnN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zLCB3aGVyZSB0aGUgZGVmaW5lcyBk aXNjYXJkIHNvbWUgb2YgdGhlaXIgcGFyYW1ldGVycy4KClRoaXMgY2F1c2VzIGEgY29tcGlsYXRp b24gZmFpbHVyZSBpZiBDT05GSUdfQklHTUVNIGFuZCBkZWJ1Zz1uIGluIHAybS1wb2QuYzoKCiAg cDJtLXBvZC5jOiBJbiBmdW5jdGlvbiDigJhwMm1fcG9kX2NhY2hlX2FkZOKAmToKICBwMm0tcG9k LmM6NzI6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYZOKAmSBbLVdlcnJvcj11bnVzZWQt dmFyaWFibGVdCiAgICAgICBzdHJ1Y3QgZG9tYWluICpkID0gcDJtLT5kb21haW47CiAgICAgICAg ICAgICAgICAgICAgICBeCiAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJv cnMKCmJlY2F1c2UgdGhlIHVzZSBvZiBkIG91dHNpZGUgb2YgdGhlICFOREVCVUcgc2VjdGlvbiBk b2Vzbid0IGdldCBldmFsdWF0ZWQgYXMgYQpwYXJhbWV0ZXIgYnkgcGFnZV9saXN0X2RlbCgpLgoK Rml4IHRoaXMgYnkgdHVybmluZyBhbGwgI2RlZmluZXMgaW50byBzdGF0aWMgaW5saW5lIGZ1bmN0 aW9ucywgc28gYWxsCnBhcmFtZXRlcnMgYXJlIGV2YWx1YXRlZCBldmVuIGlmIHRoZXkgYXJlIG5v dCB1c2VkLgoKV2hpbGUgZWRpdGluZyB0aGlzIGFyZWEsIGNvcnJlY3QgdGhlIHJldHVybiB0eXBl IG9mIHBhZ2VfbGlzdF9lbXB0eSBmcm9tIGludAp0byBib29sX3QuCgpObyBmdW5jdGlvbmFsIGNo YW5nZS4KClJlcG9ydGVkLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+ClNp Z25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJl dmlld2VkLWJ5OiBEb3VnIEdvbGRzdGVpbiA8Y2FyZG9lQGNhcmRvZS5jb20+CkFja2VkLWJ5OiBH ZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJl dWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkND OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVsbGluaUBjaXRyaXguY29tPgpDQzog SnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCnYyOgogKiBSZW1vdmUgZXhwbGlj aXQgY2FzdHMsIGFuZCBtaXNzaW5nICEhIGluIHBhZ2VfbGlzdF9lbXB0eSgpCgp2MzoKICogRml4 IGJ1aWxkIG9uIEFSTS4gIEFzIGl0IGlzIHJlZmVyZW5jZWQgZnJvbSBjb21tb24sIHJlbG1lbV9s aXN0IHNob3VsZG4ndAogICBiZSBhbiAuYXJjaCB2YXJpYWJsZS4gIEhvd2V2ZXIsIG1vdmluZyBp dCB3b3VsZCBzcGxpdCBpdCBhd2F5IGZyb20gdGhlCiAgIHJlbG1lbSBlbnVtZXJhdGlvbiwgd2hp Y2ggaXMgc3BlY2lmaWMgdG8gdGhlIGFyY2guICAoQmFzaWNhbGx5IC0gSSBsYWNrCiAgIHN1ZmZp Y2llbnQgVFVJVHMgdG8gZGlzZW50YWdsZSB0aGlzIHByb3Blcmx5LCBhbmQgdGhpcyBpcyB0aGUg bW9zdCBzaW1wbGUgZml4LikKCnY0OgogKiBTcGxpdCBBUk0gYnVpbGQgZml4IGludG8gdGhlIHBy ZXZpb3VzIHBhdGNoLgotLS0KIHhlbi9pbmNsdWRlL3hlbi9tbS5oIHwgOTUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDc0IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9tbS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmgKaW5kZXggNjgxZTZjMS4uOGQ1NDkw ZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL21tLmgKKysrIGIveGVuL2luY2x1ZGUveGVu L21tLmgKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQKICMgZGVmaW5l IElOSVRfUEFHRV9MSVNUX0hFQUQoaGVhZCkgKChoZWFkKS0+dGFpbCA9IChoZWFkKS0+bmV4dCA9 IE5VTEwpCiAjIGRlZmluZSBJTklUX1BBR0VfTElTVF9FTlRSWShlbnQpICgoZW50KS0+cHJldiA9 IChlbnQpLT5uZXh0ID0gUEFHRV9MSVNUX05VTEwpCiAKLXN0YXRpYyBpbmxpbmUgaW50CitzdGF0 aWMgaW5saW5lIGJvb2xfdAogcGFnZV9saXN0X2VtcHR5KGNvbnN0IHN0cnVjdCBwYWdlX2xpc3Rf aGVhZCAqaGVhZCkKIHsKICAgICByZXR1cm4gIWhlYWQtPm5leHQ7CkBAIC0zOTIsMzEgKzM5Miw4 NCBAQCBwYWdlX2xpc3Rfc3BsaWNlKHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqbGlzdCwgc3RydWN0 IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQogIyBkZWZpbmUgUEFHRV9MSVNUX0hFQUQgICAgICAgICAg ICAgICAgICBMSVNUX0hFQUQKICMgZGVmaW5lIElOSVRfUEFHRV9MSVNUX0hFQUQgICAgICAgICAg ICAgSU5JVF9MSVNUX0hFQUQKICMgZGVmaW5lIElOSVRfUEFHRV9MSVNUX0VOVFJZICAgICAgICAg ICAgSU5JVF9MSVNUX0hFQUQKLSMgZGVmaW5lIHBhZ2VfbGlzdF9lbXB0eSAgICAgICAgICAgICAg ICAgbGlzdF9lbXB0eQotIyBkZWZpbmUgcGFnZV9saXN0X2ZpcnN0KGhkKSAgICAgICAgICAgICBc Ci0gICAgbGlzdF9maXJzdF9lbnRyeShoZCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCkKLSMgZGVm aW5lIHBhZ2VfbGlzdF9sYXN0KGhkKSAgICAgICAgICAgICAgXAotICAgIGxpc3RfbGFzdF9lbnRy eShoZCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9uZXh0KHBn LCBoZCkgICAgICAgICAgbGlzdF9uZXh0X2VudHJ5KHBnLCBsaXN0KQotIyBkZWZpbmUgcGFnZV9s aXN0X3ByZXYocGcsIGhkKSAgICAgICAgICBsaXN0X3ByZXZfZW50cnkocGcsIGxpc3QpCi0jIGRl ZmluZSBwYWdlX2xpc3RfYWRkKHBnLCBoZCkgICAgICAgICAgIGxpc3RfYWRkKCYocGcpLT5saXN0 LCBoZCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9hZGRfdGFpbChwZywgaGQpICAgICAgbGlzdF9hZGRf dGFpbCgmKHBnKS0+bGlzdCwgaGQpCi0jIGRlZmluZSBwYWdlX2xpc3RfZGVsKHBnLCBoZCkgICAg ICAgICAgIGxpc3RfZGVsKCYocGcpLT5saXN0KQotIyBkZWZpbmUgcGFnZV9saXN0X2RlbDIocGcs IGhkMSwgaGQyKSAgICBsaXN0X2RlbCgmKHBnKS0+bGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9y ZW1vdmVfaGVhZChoZCkgICAgICAgKCFwYWdlX2xpc3RfZW1wdHkoaGQpID8gXAotICAgICh7IFwK LSAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqX19wZyA9IHBhZ2VfbGlzdF9maXJzdChoZCk7IFwK LSAgICAgICAgbGlzdF9kZWwoJl9fcGctPmxpc3QpOyBcCi0gICAgICAgIF9fcGc7IFwKLSAgICB9 KSA6IE5VTEwpCi0jIGRlZmluZSBwYWdlX2xpc3RfbW92ZShkc3QsIHNyYykgICAgICAgICghbGlz dF9lbXB0eShzcmMpID8gXAotICAgIGxpc3RfcmVwbGFjZV9pbml0KHNyYywgZHN0KSA6ICh2b2lk KTApCisKK3N0YXRpYyBpbmxpbmUgYm9vbF90CitwYWdlX2xpc3RfZW1wdHkoY29uc3Qgc3RydWN0 IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIHJldHVybiAhIWxpc3RfZW1wdHkoaGVhZCk7 Cit9CitzdGF0aWMgaW5saW5lIHN0cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X2ZpcnN0KGNv bnN0IHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkKK3sKKyAgICByZXR1cm4gbGlzdF9maXJz dF9lbnRyeShoZWFkLCBzdHJ1Y3QgcGFnZV9pbmZvLCBsaXN0KTsKK30KK3N0YXRpYyBpbmxpbmUg c3RydWN0IHBhZ2VfaW5mbyAqCitwYWdlX2xpc3RfbGFzdChjb25zdCBzdHJ1Y3QgcGFnZV9saXN0 X2hlYWQgKmhlYWQpCit7CisgICAgcmV0dXJuIGxpc3RfbGFzdF9lbnRyeShoZWFkLCBzdHJ1Y3Qg cGFnZV9pbmZvLCBsaXN0KTsKK30KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBhZ2VfaW5mbyAqCitw YWdlX2xpc3RfbmV4dChjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLAorICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIHJldHVybiBsaXN0 X2VudHJ5KHBhZ2UtPmxpc3QubmV4dCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCk7Cit9CitzdGF0 aWMgaW5saW5lIHN0cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X3ByZXYoY29uc3Qgc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZSwKKyAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwYWdlX2xpc3Rf aGVhZCAqaGVhZCkKK3sKKyAgICByZXR1cm4gbGlzdF9lbnRyeShwYWdlLT5saXN0LnByZXYsIHN0 cnVjdCBwYWdlX2luZm8sIGxpc3QpOworfQorc3RhdGljIGlubGluZSB2b2lkCitwYWdlX2xpc3Rf YWRkKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkK K3sKKyAgICBsaXN0X2FkZCgmcGFnZS0+bGlzdCwgaGVhZCk7Cit9CitzdGF0aWMgaW5saW5lIHZv aWQKK3BhZ2VfbGlzdF9hZGRfdGFpbChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgcGFn ZV9saXN0X2hlYWQgKmhlYWQpCit7CisgICAgbGlzdF9hZGRfdGFpbCgmcGFnZS0+bGlzdCwgaGVh ZCk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3BhZ2VfbGlzdF9kZWwoc3RydWN0IHBhZ2VfaW5m byAqcGFnZSwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIGxpc3RfZGVsKCZw YWdlLT5saXN0KTsKK30KK3N0YXRpYyBpbmxpbmUgdm9pZAorcGFnZV9saXN0X2RlbDIoc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZSwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkMSwKKyAgICAgICAg ICAgICAgIHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZDIpCit7CisgICAgbGlzdF9kZWwoJnBh Z2UtPmxpc3QpOworfQorc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZV9pbmZvICoKK3BhZ2VfbGlz dF9yZW1vdmVfaGVhZChzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQpCit7CisgICAgc3RydWN0 IHBhZ2VfaW5mbyAqcGc7CisKKyAgICBpZiAoIHBhZ2VfbGlzdF9lbXB0eShoZWFkKSApCisgICAg ICAgIHJldHVybiBOVUxMOworCisgICAgcGcgPSBwYWdlX2xpc3RfZmlyc3QoaGVhZCk7CisgICAg bGlzdF9kZWwoJnBnLT5saXN0KTsKKyAgICByZXR1cm4gcGc7Cit9CitzdGF0aWMgaW5saW5lIHZv aWQKK3BhZ2VfbGlzdF9tb3ZlKHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqZHN0LCBzdHJ1Y3QgcGFn ZV9saXN0X2hlYWQgKnNyYykKK3sKKyAgICBpZiAoICFsaXN0X2VtcHR5KHNyYykgKQorICAgICAg ICBsaXN0X3JlcGxhY2VfaW5pdChzcmMsIGRzdCk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3Bh Z2VfbGlzdF9zcGxpY2Uoc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpsaXN0LCBzdHJ1Y3QgcGFnZV9s aXN0X2hlYWQgKmhlYWQpCit7CisgICAgbGlzdF9zcGxpY2UobGlzdCwgaGVhZCk7Cit9CisKICMg ZGVmaW5lIHBhZ2VfbGlzdF9mb3JfZWFjaChwb3MsIGhlYWQpICAgbGlzdF9mb3JfZWFjaF9lbnRy eShwb3MsIGhlYWQsIGxpc3QpCiAjIGRlZmluZSBwYWdlX2xpc3RfZm9yX2VhY2hfc2FmZShwb3Ms IHRtcCwgaGVhZCkgXAogICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwb3MsIHRtcCwgaGVh ZCwgbGlzdCkKICMgZGVmaW5lIHBhZ2VfbGlzdF9mb3JfZWFjaF9zYWZlX3JldmVyc2UocG9zLCB0 bXAsIGhlYWQpIFwKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVfcmV2ZXJzZShwb3MsIHRt cCwgaGVhZCwgbGlzdCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9zcGxpY2UobGlzdCwgaGQpICAgICAg ICBsaXN0X3NwbGljZShsaXN0LCBoZCkKICNlbmRpZgogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVk IGludCBnZXRfb3JkZXJfZnJvbV9ieXRlcyhwYWRkcl90IHNpemUpCi0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==