From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2] xen/mm: Fix page_list_* helpers to evaluate all their arguments Date: Mon, 7 Mar 2016 15:01:06 +0000 Message-ID: <1457362866-21460-1-git-send-email-andrew.cooper3@citrix.com> References: <56DD8D1702000078000D9FA9@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: <56DD8D1702000078000D9FA9@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 , 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 IG9mIHBhZ2VfbGlzdF9lbXB0eSBmcm9tIGludAp0byBib29sX3QuCgpSZXBvcnRlZC1ieTogRG91 ZyBHb2xkc3RlaW4gPGNhcmRvZUBjYXJkb2UuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29v cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogRG91ZyBHb2xkc3Rl aW4gPGNhcmRvZUBjYXJkb2UuY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNl LmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzogR2VvcmdlIER1bmxhcCA8Z2Vv cmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgoKdjI6IFJlbW92ZSBleHBsaWNpdCBjYXN0cywgYW5k IG1pc3NpbmcgISEgaW4gcGFnZV9saXN0X2VtcHR5KCkKLS0tCiB4ZW4vaW5jbHVkZS94ZW4vbW0u aCB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCmlu ZGV4IGE3OTVkZDYuLjg2MDBjZjYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oCisr KyBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCkBAIC0yMjAsNyArMjIwLDcgQEAgc3RydWN0IHBhZ2Vf bGlzdF9oZWFkCiAjIGRlZmluZSBJTklUX1BBR0VfTElTVF9IRUFEKGhlYWQpICgoaGVhZCktPnRh aWwgPSAoaGVhZCktPm5leHQgPSBOVUxMKQogIyBkZWZpbmUgSU5JVF9QQUdFX0xJU1RfRU5UUlko ZW50KSAoKGVudCktPnByZXYgPSAoZW50KS0+bmV4dCA9IFBBR0VfTElTVF9OVUxMKQogCi1zdGF0 aWMgaW5saW5lIGludAorc3RhdGljIGlubGluZSBib29sX3QKIHBhZ2VfbGlzdF9lbXB0eShjb25z dCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQpCiB7CiAgICAgcmV0dXJuICFoZWFkLT5uZXh0 OwpAQCAtMzkyLDMxICszOTIsODQgQEAgcGFnZV9saXN0X3NwbGljZShzdHJ1Y3QgcGFnZV9saXN0 X2hlYWQgKmxpc3QsIHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkKICMgZGVmaW5lIFBBR0Vf TElTVF9IRUFEICAgICAgICAgICAgICAgICAgTElTVF9IRUFECiAjIGRlZmluZSBJTklUX1BBR0Vf TElTVF9IRUFEICAgICAgICAgICAgIElOSVRfTElTVF9IRUFECiAjIGRlZmluZSBJTklUX1BBR0Vf TElTVF9FTlRSWSAgICAgICAgICAgIElOSVRfTElTVF9IRUFECi0jIGRlZmluZSBwYWdlX2xpc3Rf ZW1wdHkgICAgICAgICAgICAgICAgIGxpc3RfZW1wdHkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9maXJz dChoZCkgICAgICAgICAgICAgXAotICAgIGxpc3RfZmlyc3RfZW50cnkoaGQsIHN0cnVjdCBwYWdl X2luZm8sIGxpc3QpCi0jIGRlZmluZSBwYWdlX2xpc3RfbGFzdChoZCkgICAgICAgICAgICAgIFwK LSAgICBsaXN0X2xhc3RfZW50cnkoaGQsIHN0cnVjdCBwYWdlX2luZm8sIGxpc3QpCi0jIGRlZmlu ZSBwYWdlX2xpc3RfbmV4dChwZywgaGQpICAgICAgICAgIGxpc3RfbmV4dF9lbnRyeShwZywgbGlz dCkKLSMgZGVmaW5lIHBhZ2VfbGlzdF9wcmV2KHBnLCBoZCkgICAgICAgICAgbGlzdF9wcmV2X2Vu dHJ5KHBnLCBsaXN0KQotIyBkZWZpbmUgcGFnZV9saXN0X2FkZChwZywgaGQpICAgICAgICAgICBs aXN0X2FkZCgmKHBnKS0+bGlzdCwgaGQpCi0jIGRlZmluZSBwYWdlX2xpc3RfYWRkX3RhaWwocGcs IGhkKSAgICAgIGxpc3RfYWRkX3RhaWwoJihwZyktPmxpc3QsIGhkKQotIyBkZWZpbmUgcGFnZV9s aXN0X2RlbChwZywgaGQpICAgICAgICAgICBsaXN0X2RlbCgmKHBnKS0+bGlzdCkKLSMgZGVmaW5l IHBhZ2VfbGlzdF9kZWwyKHBnLCBoZDEsIGhkMikgICAgbGlzdF9kZWwoJihwZyktPmxpc3QpCi0j IGRlZmluZSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoaGQpICAgICAgICghcGFnZV9saXN0X2VtcHR5 KGhkKSA/IFwKLSAgICAoeyBcCi0gICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKl9fcGcgPSBwYWdl X2xpc3RfZmlyc3QoaGQpOyBcCi0gICAgICAgIGxpc3RfZGVsKCZfX3BnLT5saXN0KTsgXAotICAg ICAgICBfX3BnOyBcCi0gICAgfSkgOiBOVUxMKQotIyBkZWZpbmUgcGFnZV9saXN0X21vdmUoZHN0 LCBzcmMpICAgICAgICAoIWxpc3RfZW1wdHkoc3JjKSA/IFwKLSAgICBsaXN0X3JlcGxhY2VfaW5p dChzcmMsIGRzdCkgOiAodm9pZCkwKQorCitzdGF0aWMgaW5saW5lIGJvb2xfdAorcGFnZV9saXN0 X2VtcHR5KGNvbnN0IHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkKK3sKKyAgICByZXR1cm4g ISFsaXN0X2VtcHR5KGhlYWQpOworfQorc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZV9pbmZvICoK K3BhZ2VfbGlzdF9maXJzdChjb25zdCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQpCit7Cisg ICAgcmV0dXJuIGxpc3RfZmlyc3RfZW50cnkoaGVhZCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCk7 Cit9CitzdGF0aWMgaW5saW5lIHN0cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X2xhc3QoY29u c3Qgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIHJldHVybiBsaXN0X2xhc3Rf ZW50cnkoaGVhZCwgc3RydWN0IHBhZ2VfaW5mbywgbGlzdCk7Cit9CitzdGF0aWMgaW5saW5lIHN0 cnVjdCBwYWdlX2luZm8gKgorcGFnZV9saXN0X25leHQoY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAq cGFnZSwKKyAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkK K3sKKyAgICByZXR1cm4gbGlzdF9lbnRyeShwYWdlLT5saXN0Lm5leHQsIHN0cnVjdCBwYWdlX2lu Zm8sIGxpc3QpOworfQorc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZV9pbmZvICoKK3BhZ2VfbGlz dF9wcmV2KGNvbnN0IHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsCisgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQpCit7CisgICAgcmV0dXJuIGxpc3RfZW50cnko cGFnZS0+bGlzdC5wcmV2LCBzdHJ1Y3QgcGFnZV9pbmZvLCBsaXN0KTsKK30KK3N0YXRpYyBpbmxp bmUgdm9pZAorcGFnZV9saXN0X2FkZChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgcGFn ZV9saXN0X2hlYWQgKmhlYWQpCit7CisgICAgbGlzdF9hZGQoJnBhZ2UtPmxpc3QsIGhlYWQpOwor fQorc3RhdGljIGlubGluZSB2b2lkCitwYWdlX2xpc3RfYWRkX3RhaWwoc3RydWN0IHBhZ2VfaW5m byAqcGFnZSwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIGxpc3RfYWRkX3Rh aWwoJnBhZ2UtPmxpc3QsIGhlYWQpOworfQorc3RhdGljIGlubGluZSB2b2lkCitwYWdlX2xpc3Rf ZGVsKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAqaGVhZCkK K3sKKyAgICBsaXN0X2RlbCgmcGFnZS0+bGlzdCk7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3Bh Z2VfbGlzdF9kZWwyKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHN0cnVjdCBwYWdlX2xpc3RfaGVh ZCAqaGVhZDEsCisgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgKmhlYWQyKQor eworICAgIGxpc3RfZGVsKCZwYWdlLT5saXN0KTsKK30KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHBh Z2VfaW5mbyAqCitwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpo ZWFkKQoreworICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnOworCisgICAgaWYgKCBwYWdlX2xpc3Rf ZW1wdHkoaGVhZCkgKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHBnID0gcGFnZV9saXN0 X2ZpcnN0KGhlYWQpOworICAgIGxpc3RfZGVsKCZwZy0+bGlzdCk7CisgICAgcmV0dXJuIHBnOwor fQorc3RhdGljIGlubGluZSB2b2lkCitwYWdlX2xpc3RfbW92ZShzdHJ1Y3QgcGFnZV9saXN0X2hl YWQgKmRzdCwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpzcmMpCit7CisgICAgaWYgKCAhbGlzdF9l bXB0eShzcmMpICkKKyAgICAgICAgbGlzdF9yZXBsYWNlX2luaXQoc3JjLCBkc3QpOworfQorc3Rh dGljIGlubGluZSB2b2lkCitwYWdlX2xpc3Rfc3BsaWNlKHN0cnVjdCBwYWdlX2xpc3RfaGVhZCAq bGlzdCwgc3RydWN0IHBhZ2VfbGlzdF9oZWFkICpoZWFkKQoreworICAgIGxpc3Rfc3BsaWNlKGxp c3QsIGhlYWQpOworfQorCiAjIGRlZmluZSBwYWdlX2xpc3RfZm9yX2VhY2gocG9zLCBoZWFkKSAg IGxpc3RfZm9yX2VhY2hfZW50cnkocG9zLCBoZWFkLCBsaXN0KQogIyBkZWZpbmUgcGFnZV9saXN0 X2Zvcl9lYWNoX3NhZmUocG9zLCB0bXAsIGhlYWQpIFwKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5 X3NhZmUocG9zLCB0bXAsIGhlYWQsIGxpc3QpCiAjIGRlZmluZSBwYWdlX2xpc3RfZm9yX2VhY2hf c2FmZV9yZXZlcnNlKHBvcywgdG1wLCBoZWFkKSBcCiAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlX3JldmVyc2UocG9zLCB0bXAsIGhlYWQsIGxpc3QpCi0jIGRlZmluZSBwYWdlX2xpc3Rfc3Bs aWNlKGxpc3QsIGhkKSAgICAgICAgbGlzdF9zcGxpY2UobGlzdCwgaGQpCiAjZW5kaWYKIAogc3Rh dGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X29yZGVyX2Zyb21fYnl0ZXMocGFkZHJfdCBzaXpl KQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=