From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/2] xen/livepatch: Clean up arch relocation handling Date: Tue, 13 Jun 2017 21:51:35 +0100 Message-ID: <1497387096-19058-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Stefano Stabellini , Andrew Cooper , Ross Lagerwall , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org ICogUmVkdWNlIHN5bWJvbCBzY29wZSBhbmQgaW5pdGFsaXNhdGlvbiBhcyBtdWNoIGFzIHBvc3Np YmxlCiAqIEFubm90YXRlIGEgZmFsbHRocm91Z2ggY2FzZSBpbiBhcm02NAogKiBGaXggc3dpdGNo IHN0YXRlbWVudCBzdHlsZSBpbiBhcm0zMgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQt b2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6 IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ0M6IFJvc3Mg TGFnZXJ3YWxsIDxyb3NzLmxhZ2Vyd2FsbEBjaXRyaXguY29tPgpDQzogSmFuIEJldWxpY2ggPEpC ZXVsaWNoQHN1c2UuY29tPgpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJu ZWwub3JnPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KClRoZSBwdXJw b3NlIG9mIHRoaXMgcGF0Y2ggaXMgc2ltcGx5IHRvIG1ha2UgdGhlIGZvbGxvd2luZyBwYXRjaCBl YXNpZXIgdG8KcmV2aWV3LgotLS0KIHhlbi9hcmNoL2FybS9hcm0zMi9saXZlcGF0Y2guYyB8IDI3 ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRj aC5jIHwgMTkgKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2xpdmVwYXRjaC5jICAg ICAgIHwgMTMgKysrKystLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCsp LCAzNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBh dGNoLmMgYi94ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBhdGNoLmMKaW5kZXggYTdmZDVlMi4uYTMy ODE3OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2FybTMyL2xpdmVwYXRjaC5jCisrKyBiL3hl bi9hcmNoL2FybS9hcm0zMi9saXZlcGF0Y2guYwpAQCAtMjI0LDIxICsyMjQsMjEgQEAgaW50IGFy Y2hfbGl2ZXBhdGNoX3BlcmZvcm0oc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZWxmX3NlYyAqcmVsYSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdXNlX3JlbGEpCiB7Ci0gICAgY29uc3Qg RWxmX1JlbEEgKnJfYTsKLSAgICBjb25zdCBFbGZfUmVsICpyOwotICAgIHVuc2lnbmVkIGludCBz eW1uZHgsIGk7Ci0gICAgdWludDMyX3QgdmFsOwotICAgIHZvaWQgKmRlc3Q7CisgICAgdW5zaWdu ZWQgaW50IGk7CiAgICAgaW50IHJjID0gMDsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgKHJlbGEt PnNlYy0+c2hfc2l6ZSAvIHJlbGEtPnNlYy0+c2hfZW50c2l6ZSk7IGkrKyApCiAgICAgeworICAg ICAgICB1bnNpZ25lZCBpbnQgc3ltbmR4OworICAgICAgICB1aW50MzJfdCB2YWw7CisgICAgICAg IHZvaWQgKmRlc3Q7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgdHlwZTsKLSAgICAgICAgczMyIGFk ZGVuZCA9IDA7CisgICAgICAgIHMzMiBhZGRlbmQ7CiAKICAgICAgICAgaWYgKCB1c2VfcmVsYSAp CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJfYSA9IHJlbGEtPmRhdGEgKyBpICogcmVsYS0+c2Vj LT5zaF9lbnRzaXplOworICAgICAgICAgICAgY29uc3QgRWxmX1JlbEEgKnJfYSA9IHJlbGEtPmRh dGEgKyBpICogcmVsYS0+c2VjLT5zaF9lbnRzaXplOworCiAgICAgICAgICAgICBzeW1uZHggPSBF TEYzMl9SX1NZTShyX2EtPnJfaW5mbyk7CiAgICAgICAgICAgICB0eXBlID0gRUxGMzJfUl9UWVBF KHJfYS0+cl9pbmZvKTsKICAgICAgICAgICAgIGRlc3QgPSBiYXNlLT5sb2FkX2FkZHIgKyByX2Et PnJfb2Zmc2V0OyAvKiBQICovCkBAIC0yNDYsMTAgKzI0NiwxMiBAQCBpbnQgYXJjaF9saXZlcGF0 Y2hfcGVyZm9ybShzdHJ1Y3QgbGl2ZXBhdGNoX2VsZiAqZWxmLAogICAgICAgICB9CiAgICAgICAg IGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgciA9IHJlbGEtPmRhdGEgKyBpICogcmVsYS0+ c2VjLT5zaF9lbnRzaXplOworICAgICAgICAgICAgY29uc3QgRWxmX1JlbCAqciA9IHJlbGEtPmRh dGEgKyBpICogcmVsYS0+c2VjLT5zaF9lbnRzaXplOworCiAgICAgICAgICAgICBzeW1uZHggPSBF TEYzMl9SX1NZTShyLT5yX2luZm8pOwogICAgICAgICAgICAgdHlwZSA9IEVMRjMyX1JfVFlQRShy LT5yX2luZm8pOwogICAgICAgICAgICAgZGVzdCA9IGJhc2UtPmxvYWRfYWRkciArIHItPnJfb2Zm c2V0OyAvKiBQICovCisgICAgICAgICAgICBhZGRlbmQgPSBnZXRfYWRkZW5kKHR5cGUsIGRlc3Qp OwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCBzeW1uZHggPiBlbGYtPm5zeW0gKQpAQCAtMjU5 LDEzICsyNjEsMTEgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm0oc3RydWN0IGxpdmVwYXRj aF9lbGYgKmVsZiwKICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CiAKLSAg ICAgICAgaWYgKCAhdXNlX3JlbGEgKQotICAgICAgICAgICAgYWRkZW5kID0gZ2V0X2FkZGVuZCh0 eXBlLCBkZXN0KTsKLQogICAgICAgICB2YWwgPSBlbGYtPnN5bVtzeW1uZHhdLnN5bS0+c3RfdmFs dWU7IC8qIFMgKi8KIAogICAgICAgICByYyA9IHBlcmZvcm1fcmVsKHR5cGUsIGRlc3QsIHZhbCwg YWRkZW5kKTsKLSAgICAgICAgc3dpdGNoICggcmMgKSB7CisgICAgICAgIHN3aXRjaCAoIHJjICkK KyAgICAgICAgewogICAgICAgICBjYXNlIC1FT1ZFUkZMT1c6CiAgICAgICAgICAgICBkcHJpbnRr KFhFTkxPR19FUlIsIExJVkVQQVRDSCAiJXM6IE92ZXJmbG93IGluIHJlbG9jYXRpb24gJXUgaW4g JXMgZm9yICVzIVxuIiwKICAgICAgICAgICAgICAgICAgICAgZWxmLT5uYW1lLCBpLCByZWxhLT5u YW1lLCBiYXNlLT5uYW1lKTsKQEAgLTI3NSw5ICsyNzUsNiBAQCBpbnQgYXJjaF9saXZlcGF0Y2hf cGVyZm9ybShzdHJ1Y3QgbGl2ZXBhdGNoX2VsZiAqZWxmLAogICAgICAgICAgICAgZHByaW50ayhY RU5MT0dfRVJSLCBMSVZFUEFUQ0ggIiVzOiBVbmhhbmRsZWQgcmVsb2NhdGlvbiAjJXhcbiIsCiAg ICAgICAgICAgICAgICAgICAgIGVsZi0+bmFtZSwgdHlwZSk7CiAgICAgICAgICAgICBicmVhazsK LQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAg ICAgICBpZiAoIHJjICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2gu YyBiL3hlbi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2guYwppbmRleCBkYWU2NGY1Li42MzkyOWIx IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vYXJtNjQvbGl2ZXBhdGNoLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2FybTY0L2xpdmVwYXRjaC5jCkBAIC0yNDEsMTkgKzI0MSwxNiBAQCBpbnQgYXJjaF9s aXZlcGF0Y2hfcGVyZm9ybV9yZWxhKHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZWxmX3NlYyAq YmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGxpdmVw YXRjaF9lbGZfc2VjICpyZWxhKQogewotICAgIGNvbnN0IEVsZl9SZWxBICpyOwotICAgIHVuc2ln bmVkIGludCBzeW1uZHgsIGk7Ci0gICAgdWludDY0X3QgdmFsOwotICAgIHZvaWQgKmRlc3Q7Ci0g ICAgYm9vbF90IG92ZXJmbG93X2NoZWNrOworICAgIHVuc2lnbmVkIGludCBpOwogCiAgICAgZm9y ICggaSA9IDA7IGkgPCAocmVsYS0+c2VjLT5zaF9zaXplIC8gcmVsYS0+c2VjLT5zaF9lbnRzaXpl KTsgaSsrICkKICAgICB7CisgICAgICAgIGNvbnN0IEVsZl9SZWxBICpyID0gcmVsYS0+ZGF0YSAr IGkgKiByZWxhLT5zZWMtPnNoX2VudHNpemU7CisgICAgICAgIHVuc2lnbmVkIGludCBzeW1uZHgg PSBFTEY2NF9SX1NZTShyLT5yX2luZm8pOworICAgICAgICB2b2lkICpkZXN0ID0gYmFzZS0+bG9h ZF9hZGRyICsgci0+cl9vZmZzZXQ7IC8qIFAgKi8KKyAgICAgICAgYm9vbCBvdmVyZmxvd19jaGVj ayA9IHRydWU7CiAgICAgICAgIGludCBvdmYgPSAwOwotCi0gICAgICAgIHIgPSByZWxhLT5kYXRh ICsgaSAqIHJlbGEtPnNlYy0+c2hfZW50c2l6ZTsKLQotICAgICAgICBzeW1uZHggPSBFTEY2NF9S X1NZTShyLT5yX2luZm8pOworICAgICAgICB1aW50NjRfdCB2YWw7CiAKICAgICAgICAgaWYgKCBz eW1uZHggPiBlbGYtPm5zeW0gKQogICAgICAgICB7CkBAIC0yNjIsMTEgKzI1OSw4IEBAIGludCBh cmNoX2xpdmVwYXRjaF9wZXJmb3JtX3JlbGEoc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZiwKICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CiAKLSAgICAgICAgZGVzdCA9IGJh c2UtPmxvYWRfYWRkciArIHItPnJfb2Zmc2V0OyAvKiBQICovCiAgICAgICAgIHZhbCA9IGVsZi0+ c3ltW3N5bW5keF0uc3ltLT5zdF92YWx1ZSArICByLT5yX2FkZGVuZDsgLyogUytBICovCiAKLSAg ICAgICAgb3ZlcmZsb3dfY2hlY2sgPSB0cnVlOwotCiAgICAgICAgIC8qIEFSTTY0IG9wZXJhdGlv bnMgYXQgbWluaW11bSBhcmUgYWx3YXlzIDMyLWJpdC4gKi8KICAgICAgICAgaWYgKCByLT5yX29m ZnNldCA+PSBiYXNlLT5zZWMtPnNoX3NpemUgfHwKICAgICAgICAgICAgIChyLT5yX29mZnNldCAr IHNpemVvZih1aW50MzJfdCkpID4gYmFzZS0+c2VjLT5zaF9zaXplICkKQEAgLTQwMyw2ICszOTcs NyBAQCBpbnQgYXJjaF9saXZlcGF0Y2hfcGVyZm9ybV9yZWxhKHN0cnVjdCBsaXZlcGF0Y2hfZWxm ICplbGYsCiAKICAgICAgICAgY2FzZSBSX0FBUkNINjRfQURSX1BSRUxfUEdfSEkyMV9OQzoKICAg ICAgICAgICAgIG92ZXJmbG93X2NoZWNrID0gZmFsc2U7CisgICAgICAgICAgICAvKiBGYWxsdGhy b3VnaC4gKi8KICAgICAgICAgY2FzZSBSX0FBUkNINjRfQURSX1BSRUxfUEdfSEkyMToKICAgICAg ICAgICAgIG92ZiA9IHJlbG9jX2luc25faW1tKFJFTE9DX09QX1BBR0UsIGRlc3QsIHZhbCwgMTIs IDIxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUFSQ0g2NF9JTlNOX0lNTV9B RFIpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2xpdmVwYXRjaC5jIGIveGVuL2FyY2gveDg2 L2xpdmVwYXRjaC5jCmluZGV4IGRkNTBkZDEuLjc5MTc2MTAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9saXZlcGF0Y2guYworKysgYi94ZW4vYXJjaC94ODYvbGl2ZXBhdGNoLmMKQEAgLTE2MSwx NiArMTYxLDE0IEBAIGludCBhcmNoX2xpdmVwYXRjaF9wZXJmb3JtX3JlbGEoc3RydWN0IGxpdmVw YXRjaF9lbGYgKmVsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry dWN0IGxpdmVwYXRjaF9lbGZfc2VjICpiYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgbGl2ZXBhdGNoX2VsZl9zZWMgKnJlbGEpCiB7Ci0gICAgY29uc3Qg RWxmX1JlbEEgKnI7Ci0gICAgdW5zaWduZWQgaW50IHN5bW5keCwgaTsKLSAgICB1aW50NjRfdCB2 YWw7Ci0gICAgdWludDhfdCAqZGVzdDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKIAogICAgIGZvciAo IGkgPSAwOyBpIDwgKHJlbGEtPnNlYy0+c2hfc2l6ZSAvIHJlbGEtPnNlYy0+c2hfZW50c2l6ZSk7 IGkrKyApCiAgICAgewotICAgICAgICByID0gcmVsYS0+ZGF0YSArIGkgKiByZWxhLT5zZWMtPnNo X2VudHNpemU7Ci0KLSAgICAgICAgc3ltbmR4ID0gRUxGNjRfUl9TWU0oci0+cl9pbmZvKTsKKyAg ICAgICAgY29uc3QgRWxmX1JlbEEgKnIgPSByZWxhLT5kYXRhICsgaSAqIHJlbGEtPnNlYy0+c2hf ZW50c2l6ZTsKKyAgICAgICAgdW5zaWduZWQgaW50IHN5bW5keCA9IEVMRjY0X1JfU1lNKHItPnJf aW5mbyk7CisgICAgICAgIHVpbnQ4X3QgKmRlc3QgPSBiYXNlLT5sb2FkX2FkZHIgKyByLT5yX29m ZnNldDsKKyAgICAgICAgdWludDY0X3QgdmFsOwogCiAgICAgICAgIGlmICggc3ltbmR4ID4gZWxm LT5uc3ltICkKICAgICAgICAgewpAQCAtMTc5LDcgKzE3Nyw2IEBAIGludCBhcmNoX2xpdmVwYXRj aF9wZXJmb3JtX3JlbGEoc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZiwKICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwogICAgICAgICB9CiAKLSAgICAgICAgZGVzdCA9IGJhc2UtPmxvYWRfYWRk ciArIHItPnJfb2Zmc2V0OwogICAgICAgICB2YWwgPSByLT5yX2FkZGVuZCArIGVsZi0+c3ltW3N5 bW5keF0uc3ltLT5zdF92YWx1ZTsKIAogICAgICAgICBzd2l0Y2ggKCBFTEY2NF9SX1RZUEUoci0+ cl9pbmZvKSApCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=