From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.9 v3 3/3] xen/livepatch: Don't crash on encountering STN_UNDEF relocations Date: Thu, 22 Jun 2017 19:15:29 +0100 Message-ID: <1498155329-4752-4-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: Stefano Stabellini , Andrew Cooper , Ross Lagerwall , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QSBzeW1uZHggb2YgU1ROX1VOREVGIGlzIHNwZWNpYWwsIGFuZCBtZWFucyBhIHN5bWJvbCB2YWx1 ZSBvZiAwLiAgV2hpbGUKbGVnaXRpbWF0ZSBpbiB0aGUgRUxGIHN0YW5kYXJkLCBpdHMgZXhpc3Rh bmNlIGluIGEgbGl2ZXBhdGNoIGlzIHF1ZXN0aW9uYWJsZQphdCBiZXN0LiAgVW50aWwgYSBwbGF1 c2libGUgdXNlY2FzZSBwcmVzZW50cyBpdHNlbGYsIHJlamVjdCBzdWNoIGEgcmVsb2NhdGlvbgp3 aXRoIC1FT1BOT1RTVVBQLgoKQWRkaXRpb25hbGx5LCBmaXggYW4gb2ZmLWJ5LW9uZSBlcnJvciB3 aGlsZSByYW5nZSBjaGVja2luZyBzeW1uZHgsIGFuZCBwZXJmb3JtCmEgc2FmZXR5IGNoZWNrIG9u IGVsZi0+c3ltW3N5bW5keF0uc3ltIGJlZm9yZSBkZXJlZmVuY2luZyBpdCwgdG8gYXZvaWQKdHJp cHBpbmcgb3ZlciBhIE5VTEwgcG9pbnRlciB3aGVuIGNhbGN1bGF0aW5nIHZhbC4KClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzog S29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDQzogUm9zcyBM YWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CkNDOiBKYW4gQmV1bGljaCA8SkJl dWxpY2hAc3VzZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKdjM6CiAqIEZp eCBvZmYtYnktb25lIGVycm9yCnYyOgogKiBSZWplY3QgU1ROX1VOREVGIHdpdGggLUVPUE5PVFNV UFAKLS0tCiB4ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBhdGNoLmMgfCAxNCArKysrKysrKysrKysr LQogeGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRjaC5jIHwgMTQgKysrKysrKysrKysrKy0KIHhl bi9hcmNoL3g4Ni9saXZlcGF0Y2guYyAgICAgICB8IDE0ICsrKysrKysrKysrKystCiAzIGZpbGVz IGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL2FybTMyL2xpdmVwYXRjaC5jIGIveGVuL2FyY2gvYXJtL2FybTMyL2xpdmVw YXRjaC5jCmluZGV4IGEzMjgxNzkuLjQxMzc4YTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9h cm0zMi9saXZlcGF0Y2guYworKysgYi94ZW4vYXJjaC9hcm0vYXJtMzIvbGl2ZXBhdGNoLmMKQEAg LTI1NCwxMiArMjU0LDI0IEBAIGludCBhcmNoX2xpdmVwYXRjaF9wZXJmb3JtKHN0cnVjdCBsaXZl cGF0Y2hfZWxmICplbGYsCiAgICAgICAgICAgICBhZGRlbmQgPSBnZXRfYWRkZW5kKHR5cGUsIGRl c3QpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCBzeW1uZHggPiBlbGYtPm5zeW0gKQorICAg ICAgICBpZiAoIHN5bW5keCA9PSBTVE5fVU5ERUYgKQorICAgICAgICB7CisgICAgICAgICAgICBk cHJpbnRrKFhFTkxPR19FUlIsIExJVkVQQVRDSCAiJXM6IEVuY291bnRlcmVkIFNUTl9VTkRFRlxu IiwKKyAgICAgICAgICAgICAgICAgICAgZWxmLT5uYW1lKTsKKyAgICAgICAgICAgIHJldHVybiAt RU9QTk9UU1VQUDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICggc3ltbmR4ID49IGVsZi0+ bnN5bSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBB VENIICIlczogUmVsYXRpdmUgc3ltYm9sIHdhbnRzIHN5bWJvbEAldSB3aGljaCBpcyBwYXN0IGVu ZCFcbiIsCiAgICAgICAgICAgICAgICAgICAgIGVsZi0+bmFtZSwgc3ltbmR4KTsKICAgICAgICAg ICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCAhZWxmLT5z eW1bc3ltbmR4XS5zeW0gKQorICAgICAgICB7CisgICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19F UlIsIExJVkVQQVRDSCAiJXM6IE5vIHJlbGF0aXZlIHN5bWJvbEAldVxuIiwKKyAgICAgICAgICAg ICAgICAgICAgZWxmLT5uYW1lLCBzeW1uZHgpOworICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CisgICAgICAgIH0KIAogICAgICAgICB2YWwgPSBlbGYtPnN5bVtzeW1uZHhdLnN5bS0+c3RfdmFs dWU7IC8qIFMgKi8KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRjaC5j IGIveGVuL2FyY2gvYXJtL2FybTY0L2xpdmVwYXRjaC5jCmluZGV4IDYzOTI5YjEuLjIyNDdiOTIg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9saXZlcGF0Y2guYworKysgYi94ZW4vYXJj aC9hcm0vYXJtNjQvbGl2ZXBhdGNoLmMKQEAgLTI1MiwxMiArMjUyLDI0IEBAIGludCBhcmNoX2xp dmVwYXRjaF9wZXJmb3JtX3JlbGEoc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZiwKICAgICAgICAg aW50IG92ZiA9IDA7CiAgICAgICAgIHVpbnQ2NF90IHZhbDsKIAotICAgICAgICBpZiAoIHN5bW5k eCA+IGVsZi0+bnN5bSApCisgICAgICAgIGlmICggc3ltbmR4ID09IFNUTl9VTkRFRiApCisgICAg ICAgIHsKKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENIICIlczogRW5j b3VudGVyZWQgU1ROX1VOREVGXG4iLAorICAgICAgICAgICAgICAgICAgICBlbGYtPm5hbWUpOwor ICAgICAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworICAgICAgICB9CisgICAgICAgIGVsc2Ug aWYgKCBzeW1uZHggPj0gZWxmLT5uc3ltICkKICAgICAgICAgewogICAgICAgICAgICAgZHByaW50 ayhYRU5MT0dfRVJSLCBMSVZFUEFUQ0ggIiVzOiBSZWxhdGl2ZSByZWxvY2F0aW9uIHdhbnRzIHN5 bWJvbEAldSB3aGljaCBpcyBwYXN0IGVuZCFcbiIsCiAgICAgICAgICAgICAgICAgICAgIGVsZi0+ bmFtZSwgc3ltbmR4KTsKICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9Cisg ICAgICAgIGVsc2UgaWYgKCAhZWxmLT5zeW1bc3ltbmR4XS5zeW0gKQorICAgICAgICB7CisgICAg ICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsIExJVkVQQVRDSCAiJXM6IE5vIHJlbGF0aXZlIHN5 bWJvbEAldVxuIiwKKyAgICAgICAgICAgICAgICAgICAgZWxmLT5uYW1lLCBzeW1uZHgpOworICAg ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgIH0KIAogICAgICAgICB2YWwgPSBlbGYt PnN5bVtzeW1uZHhdLnN5bS0+c3RfdmFsdWUgKyAgci0+cl9hZGRlbmQ7IC8qIFMrQSAqLwogCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbGl2ZXBhdGNoLmMgYi94ZW4vYXJjaC94ODYvbGl2ZXBh dGNoLmMKaW5kZXggNzkxNzYxMC4uNDA2ZWI5MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2xp dmVwYXRjaC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9saXZlcGF0Y2guYwpAQCAtMTcwLDEyICsxNzAs MjQgQEAgaW50IGFyY2hfbGl2ZXBhdGNoX3BlcmZvcm1fcmVsYShzdHJ1Y3QgbGl2ZXBhdGNoX2Vs ZiAqZWxmLAogICAgICAgICB1aW50OF90ICpkZXN0ID0gYmFzZS0+bG9hZF9hZGRyICsgci0+cl9v ZmZzZXQ7CiAgICAgICAgIHVpbnQ2NF90IHZhbDsKIAotICAgICAgICBpZiAoIHN5bW5keCA+IGVs Zi0+bnN5bSApCisgICAgICAgIGlmICggc3ltbmR4ID09IFNUTl9VTkRFRiApCisgICAgICAgIHsK KyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiwgTElWRVBBVENIICIlczogRW5jb3VudGVy ZWQgU1ROX1VOREVGXG4iLAorICAgICAgICAgICAgICAgICAgICBlbGYtPm5hbWUpOworICAgICAg ICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCBz eW1uZHggPj0gZWxmLT5uc3ltICkKICAgICAgICAgewogICAgICAgICAgICAgZHByaW50ayhYRU5M T0dfRVJSLCBMSVZFUEFUQ0ggIiVzOiBSZWxhdGl2ZSByZWxvY2F0aW9uIHdhbnRzIHN5bWJvbEAl dSB3aGljaCBpcyBwYXN0IGVuZCFcbiIsCiAgICAgICAgICAgICAgICAgICAgIGVsZi0+bmFtZSwg c3ltbmR4KTsKICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICB9CisgICAgICAg IGVsc2UgaWYgKCAhZWxmLT5zeW1bc3ltbmR4XS5zeW0gKQorICAgICAgICB7CisgICAgICAgICAg ICBkcHJpbnRrKFhFTkxPR19FUlIsIExJVkVQQVRDSCAiJXM6IE5vIHN5bWJvbEAldVxuIiwKKyAg ICAgICAgICAgICAgICAgICAgZWxmLT5uYW1lLCBzeW1uZHgpOworICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisgICAgICAgIH0KIAogICAgICAgICB2YWwgPSByLT5yX2FkZGVuZCArIGVsZi0+ c3ltW3N5bW5keF0uc3ltLT5zdF92YWx1ZTsKIAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK