From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.9 v3 1/3] xen/livepatch: Clean up arch relocation handling Date: Thu, 22 Jun 2017 19:15:27 +0100 Message-ID: <1498155329-4752-2-git-send-email-andrew.cooper3@citrix.com> References: <1498155329-4752-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: <1498155329-4752-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 List-Id: xen-devel@lists.xenproject.org ICogUmVkdWNlIHN5bWJvbCBzY29wZSBhbmQgaW5pdGFsaXNhdGlvbiBhcyBtdWNoIGFzIHBvc3Np YmxlCiAqIEFubm90YXRlIGEgZmFsbHRocm91Z2ggY2FzZSBpbiBhcm02NAogKiBGaXggc3dpdGNo IHN0YXRlbWVudCBzdHlsZSBpbiBhcm0zMgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZpZXdl ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogS29ucmFk IFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpUZXN0ZWQtYnk6IEtvbnJh ZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KLS0tCiB4ZW4vYXJjaC9h cm0vYXJtMzIvbGl2ZXBhdGNoLmMgfCAyNyArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIHhl bi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2guYyB8IDE5ICsrKysrKystLS0tLS0tLS0tLS0KIHhl bi9hcmNoL3g4Ni9saXZlcGF0Y2guYyAgICAgICB8IDEzICsrKysrLS0tLS0tLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL2FybTMyL2xpdmVwYXRjaC5jIGIveGVuL2FyY2gvYXJtL2FybTMyL2xpdmVw YXRjaC5jCmluZGV4IGE3ZmQ1ZTIuLmEzMjgxNzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9h cm0zMi9saXZlcGF0Y2guYworKysgYi94ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBhdGNoLmMKQEAg LTIyNCwyMSArMjI0LDIxIEBAIGludCBhcmNoX2xpdmVwYXRjaF9wZXJmb3JtKHN0cnVjdCBsaXZl cGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg bGl2ZXBhdGNoX2VsZl9zZWMgKnJlbGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IHVzZV9yZWxhKQogewotICAgIGNvbnN0IEVsZl9SZWxBICpyX2E7Ci0gICAgY29uc3QgRWxmX1Jl bCAqcjsKLSAgICB1bnNpZ25lZCBpbnQgc3ltbmR4LCBpOwotICAgIHVpbnQzMl90IHZhbDsKLSAg ICB2b2lkICpkZXN0OworICAgIHVuc2lnbmVkIGludCBpOwogICAgIGludCByYyA9IDA7CiAKICAg ICBmb3IgKCBpID0gMDsgaSA8IChyZWxhLT5zZWMtPnNoX3NpemUgLyByZWxhLT5zZWMtPnNoX2Vu dHNpemUpOyBpKysgKQogICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IHN5bW5keDsKKyAgICAg ICAgdWludDMyX3QgdmFsOworICAgICAgICB2b2lkICpkZXN0OwogICAgICAgICB1bnNpZ25lZCBj aGFyIHR5cGU7Ci0gICAgICAgIHMzMiBhZGRlbmQgPSAwOworICAgICAgICBzMzIgYWRkZW5kOwog CiAgICAgICAgIGlmICggdXNlX3JlbGEgKQogICAgICAgICB7Ci0gICAgICAgICAgICByX2EgPSBy ZWxhLT5kYXRhICsgaSAqIHJlbGEtPnNlYy0+c2hfZW50c2l6ZTsKKyAgICAgICAgICAgIGNvbnN0 IEVsZl9SZWxBICpyX2EgPSByZWxhLT5kYXRhICsgaSAqIHJlbGEtPnNlYy0+c2hfZW50c2l6ZTsK KwogICAgICAgICAgICAgc3ltbmR4ID0gRUxGMzJfUl9TWU0ocl9hLT5yX2luZm8pOwogICAgICAg ICAgICAgdHlwZSA9IEVMRjMyX1JfVFlQRShyX2EtPnJfaW5mbyk7CiAgICAgICAgICAgICBkZXN0 ID0gYmFzZS0+bG9hZF9hZGRyICsgcl9hLT5yX29mZnNldDsgLyogUCAqLwpAQCAtMjQ2LDEwICsy NDYsMTIgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm0oc3RydWN0IGxpdmVwYXRjaF9lbGYg KmVsZiwKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKLSAgICAgICAgICAgIHIg PSByZWxhLT5kYXRhICsgaSAqIHJlbGEtPnNlYy0+c2hfZW50c2l6ZTsKKyAgICAgICAgICAgIGNv bnN0IEVsZl9SZWwgKnIgPSByZWxhLT5kYXRhICsgaSAqIHJlbGEtPnNlYy0+c2hfZW50c2l6ZTsK KwogICAgICAgICAgICAgc3ltbmR4ID0gRUxGMzJfUl9TWU0oci0+cl9pbmZvKTsKICAgICAgICAg ICAgIHR5cGUgPSBFTEYzMl9SX1RZUEUoci0+cl9pbmZvKTsKICAgICAgICAgICAgIGRlc3QgPSBi YXNlLT5sb2FkX2FkZHIgKyByLT5yX29mZnNldDsgLyogUCAqLworICAgICAgICAgICAgYWRkZW5k ID0gZ2V0X2FkZGVuZCh0eXBlLCBkZXN0KTsKICAgICAgICAgfQogCiAgICAgICAgIGlmICggc3lt bmR4ID4gZWxmLT5uc3ltICkKQEAgLTI1OSwxMyArMjYxLDExIEBAIGludCBhcmNoX2xpdmVwYXRj aF9wZXJmb3JtKHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsKICAgICAgICAgfQogCi0gICAgICAgIGlmICggIXVzZV9yZWxhICkKLSAgICAgICAg ICAgIGFkZGVuZCA9IGdldF9hZGRlbmQodHlwZSwgZGVzdCk7Ci0KICAgICAgICAgdmFsID0gZWxm LT5zeW1bc3ltbmR4XS5zeW0tPnN0X3ZhbHVlOyAvKiBTICovCiAKICAgICAgICAgcmMgPSBwZXJm b3JtX3JlbCh0eXBlLCBkZXN0LCB2YWwsIGFkZGVuZCk7Ci0gICAgICAgIHN3aXRjaCAoIHJjICkg eworICAgICAgICBzd2l0Y2ggKCByYyApCisgICAgICAgIHsKICAgICAgICAgY2FzZSAtRU9WRVJG TE9XOgogICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSLCBMSVZFUEFUQ0ggIiVzOiBPdmVy ZmxvdyBpbiByZWxvY2F0aW9uICV1IGluICVzIGZvciAlcyFcbiIsCiAgICAgICAgICAgICAgICAg ICAgIGVsZi0+bmFtZSwgaSwgcmVsYS0+bmFtZSwgYmFzZS0+bmFtZSk7CkBAIC0yNzUsOSArMjc1 LDYgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm0oc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVs ZiwKICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENIICIlczogVW5oYW5k bGVkIHJlbG9jYXRpb24gIyV4XG4iLAogICAgICAgICAgICAgICAgICAgICBlbGYtPm5hbWUsIHR5 cGUpOwogICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg IGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCByYyApCmRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vYXJtNjQvbGl2ZXBhdGNoLmMgYi94ZW4vYXJjaC9hcm0vYXJtNjQvbGl2ZXBhdGNo LmMKaW5kZXggZGFlNjRmNS4uNjM5MjliMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2FybTY0 L2xpdmVwYXRjaC5jCisrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2guYwpAQCAtMjQx LDE5ICsyNDEsMTYgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm1fcmVsYShzdHJ1Y3QgbGl2 ZXBhdGNoX2VsZiAqZWxmLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dHJ1Y3QgbGl2ZXBhdGNoX2VsZl9zZWMgKmJhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZWxmX3NlYyAqcmVsYSkKIHsKLSAgICBjb25z dCBFbGZfUmVsQSAqcjsKLSAgICB1bnNpZ25lZCBpbnQgc3ltbmR4LCBpOwotICAgIHVpbnQ2NF90 IHZhbDsKLSAgICB2b2lkICpkZXN0OwotICAgIGJvb2xfdCBvdmVyZmxvd19jaGVjazsKKyAgICB1 bnNpZ25lZCBpbnQgaTsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgKHJlbGEtPnNlYy0+c2hfc2l6 ZSAvIHJlbGEtPnNlYy0+c2hfZW50c2l6ZSk7IGkrKyApCiAgICAgeworICAgICAgICBjb25zdCBF bGZfUmVsQSAqciA9IHJlbGEtPmRhdGEgKyBpICogcmVsYS0+c2VjLT5zaF9lbnRzaXplOworICAg ICAgICB1bnNpZ25lZCBpbnQgc3ltbmR4ID0gRUxGNjRfUl9TWU0oci0+cl9pbmZvKTsKKyAgICAg ICAgdm9pZCAqZGVzdCA9IGJhc2UtPmxvYWRfYWRkciArIHItPnJfb2Zmc2V0OyAvKiBQICovCisg ICAgICAgIGJvb2wgb3ZlcmZsb3dfY2hlY2sgPSB0cnVlOwogICAgICAgICBpbnQgb3ZmID0gMDsK LQotICAgICAgICByID0gcmVsYS0+ZGF0YSArIGkgKiByZWxhLT5zZWMtPnNoX2VudHNpemU7Ci0K LSAgICAgICAgc3ltbmR4ID0gRUxGNjRfUl9TWU0oci0+cl9pbmZvKTsKKyAgICAgICAgdWludDY0 X3QgdmFsOwogCiAgICAgICAgIGlmICggc3ltbmR4ID4gZWxmLT5uc3ltICkKICAgICAgICAgewpA QCAtMjYyLDExICsyNTksOCBAQCBpbnQgYXJjaF9saXZlcGF0Y2hfcGVyZm9ybV9yZWxhKHN0cnVj dCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICAg ICAgfQogCi0gICAgICAgIGRlc3QgPSBiYXNlLT5sb2FkX2FkZHIgKyByLT5yX29mZnNldDsgLyog UCAqLwogICAgICAgICB2YWwgPSBlbGYtPnN5bVtzeW1uZHhdLnN5bS0+c3RfdmFsdWUgKyAgci0+ cl9hZGRlbmQ7IC8qIFMrQSAqLwogCi0gICAgICAgIG92ZXJmbG93X2NoZWNrID0gdHJ1ZTsKLQog ICAgICAgICAvKiBBUk02NCBvcGVyYXRpb25zIGF0IG1pbmltdW0gYXJlIGFsd2F5cyAzMi1iaXQu ICovCiAgICAgICAgIGlmICggci0+cl9vZmZzZXQgPj0gYmFzZS0+c2VjLT5zaF9zaXplIHx8CiAg ICAgICAgICAgICAoci0+cl9vZmZzZXQgKyBzaXplb2YodWludDMyX3QpKSA+IGJhc2UtPnNlYy0+ c2hfc2l6ZSApCkBAIC00MDMsNiArMzk3LDcgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm1f cmVsYShzdHJ1Y3QgbGl2ZXBhdGNoX2VsZiAqZWxmLAogCiAgICAgICAgIGNhc2UgUl9BQVJDSDY0 X0FEUl9QUkVMX1BHX0hJMjFfTkM6CiAgICAgICAgICAgICBvdmVyZmxvd19jaGVjayA9IGZhbHNl OworICAgICAgICAgICAgLyogRmFsbHRocm91Z2guICovCiAgICAgICAgIGNhc2UgUl9BQVJDSDY0 X0FEUl9QUkVMX1BHX0hJMjE6CiAgICAgICAgICAgICBvdmYgPSByZWxvY19pbnNuX2ltbShSRUxP Q19PUF9QQUdFLCBkZXN0LCB2YWwsIDEyLCAyMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFBUkNINjRfSU5TTl9JTU1fQURSKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9s aXZlcGF0Y2guYyBiL3hlbi9hcmNoL3g4Ni9saXZlcGF0Y2guYwppbmRleCBkZDUwZGQxLi43OTE3 NjEwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbGl2ZXBhdGNoLmMKKysrIGIveGVuL2FyY2gv eDg2L2xpdmVwYXRjaC5jCkBAIC0xNjEsMTYgKzE2MSwxNCBAQCBpbnQgYXJjaF9saXZlcGF0Y2hf cGVyZm9ybV9yZWxhKHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZWxmX3NlYyAqYmFzZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGxpdmVwYXRjaF9lbGZf c2VjICpyZWxhKQogewotICAgIGNvbnN0IEVsZl9SZWxBICpyOwotICAgIHVuc2lnbmVkIGludCBz eW1uZHgsIGk7Ci0gICAgdWludDY0X3QgdmFsOwotICAgIHVpbnQ4X3QgKmRlc3Q7CisgICAgdW5z aWduZWQgaW50IGk7CiAKICAgICBmb3IgKCBpID0gMDsgaSA8IChyZWxhLT5zZWMtPnNoX3NpemUg LyByZWxhLT5zZWMtPnNoX2VudHNpemUpOyBpKysgKQogICAgIHsKLSAgICAgICAgciA9IHJlbGEt PmRhdGEgKyBpICogcmVsYS0+c2VjLT5zaF9lbnRzaXplOwotCi0gICAgICAgIHN5bW5keCA9IEVM RjY0X1JfU1lNKHItPnJfaW5mbyk7CisgICAgICAgIGNvbnN0IEVsZl9SZWxBICpyID0gcmVsYS0+ ZGF0YSArIGkgKiByZWxhLT5zZWMtPnNoX2VudHNpemU7CisgICAgICAgIHVuc2lnbmVkIGludCBz eW1uZHggPSBFTEY2NF9SX1NZTShyLT5yX2luZm8pOworICAgICAgICB1aW50OF90ICpkZXN0ID0g YmFzZS0+bG9hZF9hZGRyICsgci0+cl9vZmZzZXQ7CisgICAgICAgIHVpbnQ2NF90IHZhbDsKIAog ICAgICAgICBpZiAoIHN5bW5keCA+IGVsZi0+bnN5bSApCiAgICAgICAgIHsKQEAgLTE3OSw3ICsx NzcsNiBAQCBpbnQgYXJjaF9saXZlcGF0Y2hfcGVyZm9ybV9yZWxhKHN0cnVjdCBsaXZlcGF0Y2hf ZWxmICplbGYsCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICAgICAgfQogCi0gICAg ICAgIGRlc3QgPSBiYXNlLT5sb2FkX2FkZHIgKyByLT5yX29mZnNldDsKICAgICAgICAgdmFsID0g ci0+cl9hZGRlbmQgKyBlbGYtPnN5bVtzeW1uZHhdLnN5bS0+c3RfdmFsdWU7CiAKICAgICAgICAg c3dpdGNoICggRUxGNjRfUl9UWVBFKHItPnJfaW5mbykgKQotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK