From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/2] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Date: Tue, 13 Jun 2017 21:51:36 +0100 Message-ID: <1497387096-19058-2-git-send-email-andrew.cooper3@citrix.com> References: <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: In-Reply-To: <1497387096-19058-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: Stefano Stabellini , Andrew Cooper , Ross Lagerwall , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QSBzeW1uZHggb2YgU1ROX1VOREVGIGlzIHNwZWNpYWwsIGFuZCBtZWFucyBhIHN5bWJvbCB2YWx1 ZSBvZiAwLgoKVGhlcmUgaXMgbm8gcmVhbCBzeW1ib2wgZGF0YSBmb3IgaXQsIHNvIGF2b2lkIHRy aXBwaW5nIG92ZXIgYSBOVUxMIHBvaW50ZXIKd2l0aCAiZWxmLT5zeW1bc3ltbmR4XS5zeW0tPnN0 X3ZhbHVlIi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+Ci0tLQpDQzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFj bGUuY29tPgpDQzogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CkND OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkg PHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBh cm0uY29tPgoKRnVuY3Rpb25hbGx5IHRlc3RlZCBvbiB4ODYsIGJ1dCBib3RoIGFybSB2YXJpYW50 cyBsb29rIHRvIHN1ZmZlciBmcm9tIHRoZSBzYW1lCmlzc3VlLiAgQ29tcGlsZSB0ZXN0ZWQgb24g YWxsIGFyY2hpdGVjdHVyZXMuCgpUT0RPOiBGaWd1cmUgb3V0IGhvdyBteSBsaXZlcGF0Y2ggaGFz IGEgU1ROX1VOREVGIHJlbG9jYXRpb24uLi4KLS0tCiB4ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBh dGNoLmMgfCAxNCArKysrKysrKysrKy0tLQogeGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRjaC5j IHwgMTQgKysrKysrKysrKystLS0KIHhlbi9hcmNoL3g4Ni9saXZlcGF0Y2guYyAgICAgICB8IDE0 ICsrKysrKysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTMyL2xpdmVwYXRjaC5jIGIv eGVuL2FyY2gvYXJtL2FybTMyL2xpdmVwYXRjaC5jCmluZGV4IGEzMjgxNzkuLjBmNzk5MGEgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9hcm0zMi9saXZlcGF0Y2guYworKysgYi94ZW4vYXJjaC9h cm0vYXJtMzIvbGl2ZXBhdGNoLmMKQEAgLTI1NCwxNCArMjU0LDIyIEBAIGludCBhcmNoX2xpdmVw YXRjaF9wZXJmb3JtKHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICBhZGRl bmQgPSBnZXRfYWRkZW5kKHR5cGUsIGRlc3QpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCBz eW1uZHggPiBlbGYtPm5zeW0gKQorICAgICAgICBpZiAoIHN5bW5keCA9PSBTVE5fVU5ERUYgKQor ICAgICAgICAgICAgdmFsID0gMDsKKyAgICAgICAgZWxzZSBpZiAoIHN5bW5keCA+IGVsZi0+bnN5 bSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENI ICIlczogUmVsYXRpdmUgc3ltYm9sIHdhbnRzIHN5bWJvbEAldSB3aGljaCBpcyBwYXN0IGVuZCFc biIsCiAgICAgICAgICAgICAgICAgICAgIGVsZi0+bmFtZSwgc3ltbmR4KTsKICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOwogICAgICAgICB9Ci0KLSAgICAgICAgdmFsID0gZWxmLT5zeW1bc3lt bmR4XS5zeW0tPnN0X3ZhbHVlOyAvKiBTICovCisgICAgICAgIGVsc2UgaWYgKCAhZWxmLT5zeW1b c3ltbmR4XS5zeW0gKQorICAgICAgICB7CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIs IExJVkVQQVRDSCAiJXM6IE5vIHJlbGF0aXZlIHN5bWJvbEAldVxuIiwKKyAgICAgICAgICAgICAg ICAgICAgZWxmLT5uYW1lLCBzeW1uZHgpOworICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cisg ICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsID0gZWxmLT5zeW1bc3ltbmR4 XS5zeW0tPnN0X3ZhbHVlOyAvKiBTICovCiAKICAgICAgICAgcmMgPSBwZXJmb3JtX3JlbCh0eXBl LCBkZXN0LCB2YWwsIGFkZGVuZCk7CiAgICAgICAgIHN3aXRjaCAoIHJjICkKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2guYyBiL3hlbi9hcmNoL2FybS9hcm02NC9saXZl cGF0Y2guYwppbmRleCA2MzkyOWIxLi40NzZlMjM4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v YXJtNjQvbGl2ZXBhdGNoLmMKKysrIGIveGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRjaC5jCkBA IC0yNTIsMTQgKzI1MiwyMiBAQCBpbnQgYXJjaF9saXZlcGF0Y2hfcGVyZm9ybV9yZWxhKHN0cnVj dCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgIGludCBvdmYgPSAwOwogICAgICAgICB1aW50 NjRfdCB2YWw7CiAKLSAgICAgICAgaWYgKCBzeW1uZHggPiBlbGYtPm5zeW0gKQorICAgICAgICBp ZiAoIHN5bW5keCA9PSBTVE5fVU5ERUYgKQorICAgICAgICAgICAgdmFsID0gMDsKKyAgICAgICAg ZWxzZSBpZiAoIHN5bW5keCA+IGVsZi0+bnN5bSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGRw cmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENIICIlczogUmVsYXRpdmUgcmVsb2NhdGlvbiB3YW50 cyBzeW1ib2xAJXUgd2hpY2ggaXMgcGFzdCBlbmQhXG4iLAogICAgICAgICAgICAgICAgICAgICBl bGYtPm5hbWUsIHN5bW5keCk7CiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICAgICAg fQotCi0gICAgICAgIHZhbCA9IGVsZi0+c3ltW3N5bW5keF0uc3ltLT5zdF92YWx1ZSArICByLT5y X2FkZGVuZDsgLyogUytBICovCisgICAgICAgIGVsc2UgaWYgKCAhZWxmLT5zeW1bc3ltbmR4XS5z eW0gKQorICAgICAgICB7CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsIExJVkVQQVRD SCAiJXM6IE5vIHJlbGF0aXZlIHN5bWJvbEAldVxuIiwKKyAgICAgICAgICAgICAgICAgICAgZWxm LT5uYW1lLCBzeW1uZHgpOworICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgIH0K KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsID0gZWxmLT5zeW1bc3ltbmR4XS5zeW0tPnN0 X3ZhbHVlICsgci0+cl9hZGRlbmQ7IC8qIFMrQSAqLwogCiAgICAgICAgIC8qIEFSTTY0IG9wZXJh dGlvbnMgYXQgbWluaW11bSBhcmUgYWx3YXlzIDMyLWJpdC4gKi8KICAgICAgICAgaWYgKCByLT5y X29mZnNldCA+PSBiYXNlLT5zZWMtPnNoX3NpemUgfHwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9saXZlcGF0Y2guYyBiL3hlbi9hcmNoL3g4Ni9saXZlcGF0Y2guYwppbmRleCA3OTE3NjEwLi42 ZjQ0MTI4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbGl2ZXBhdGNoLmMKKysrIGIveGVuL2Fy Y2gveDg2L2xpdmVwYXRjaC5jCkBAIC0xNzAsMTQgKzE3MCwyMiBAQCBpbnQgYXJjaF9saXZlcGF0 Y2hfcGVyZm9ybV9yZWxhKHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYsCiAgICAgICAgIHVpbnQ4 X3QgKmRlc3QgPSBiYXNlLT5sb2FkX2FkZHIgKyByLT5yX29mZnNldDsKICAgICAgICAgdWludDY0 X3QgdmFsOwogCi0gICAgICAgIGlmICggc3ltbmR4ID4gZWxmLT5uc3ltICkKKyAgICAgICAgaWYg KCBzeW1uZHggPT0gU1ROX1VOREVGICkKKyAgICAgICAgICAgIHZhbCA9IDA7CisgICAgICAgIGVs c2UgaWYgKCBzeW1uZHggPiBlbGYtPm5zeW0gKQogICAgICAgICB7CiAgICAgICAgICAgICBkcHJp bnRrKFhFTkxPR19FUlIsIExJVkVQQVRDSCAiJXM6IFJlbGF0aXZlIHJlbG9jYXRpb24gd2FudHMg c3ltYm9sQCV1IHdoaWNoIGlzIHBhc3QgZW5kIVxuIiwKICAgICAgICAgICAgICAgICAgICAgZWxm LT5uYW1lLCBzeW1uZHgpOwogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgICAgIH0K LQotICAgICAgICB2YWwgPSByLT5yX2FkZGVuZCArIGVsZi0+c3ltW3N5bW5keF0uc3ltLT5zdF92 YWx1ZTsKKyAgICAgICAgZWxzZSBpZiAoICFlbGYtPnN5bVtzeW1uZHhdLnN5bSApCisgICAgICAg IHsKKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENIICIlczogTm8gc3lt Ym9sQCV1XG4iLAorICAgICAgICAgICAgICAgICAgICBlbGYtPm5hbWUsIHN5bW5keCk7CisgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAg ICAgICB2YWwgPSByLT5yX2FkZGVuZCArIGVsZi0+c3ltW3N5bW5keF0uc3ltLT5zdF92YWx1ZTsK IAogICAgICAgICBzd2l0Y2ggKCBFTEY2NF9SX1RZUEUoci0+cl9pbmZvKSApCiAgICAgICAgIHsK LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==