From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH XSA-followup for-4.8] libelf: fix symtab/strtab loading for 32bit domains Date: Tue, 22 Nov 2016 17:39:37 +0000 Message-ID: <1479836377-9627-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c9F2q-0004At-Tq for xen-devel@lists.xenproject.org; Tue, 22 Nov 2016 17:39:49 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Brian Marcotte , Ian Jackson , Tim Deegan , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org Q29tbWl0IGVkMDRjYSBpbnRyb2R1Y2VkIGEgYnVnIGluIHRoZSBzeW10YWIvc3RydGFiIGxvYWRp bmcgZm9yIDMyYml0Cmd1ZXN0cywgdGhhdCBjb3JydXB0ZWQgdGhlIHNlY3Rpb24gaGVhZGVycyBh cnJheSBkdWUgdG8gdGhlIHBhZGRpbmcKaW50cm9kdWNlZCBieSB0aGUgZWxmX3NoZHIgdW5pb24u CgpUaGUgRWxmIHNlY3Rpb24gaGVhZGVyIGFycmF5IG9uIDMyYml0IHNob3VsZCBiZSBhY2Nlc3Np YmxlIGFzIGFuIGFycmF5IG9mCkVsZjMyX1NoZHIgZWxlbWVudHMsIGFuZCB0aGUgdW5pb24gd2l0 aCBFbGY2NF9TaGRyIGRvbmUgaW4gZWxmX3NoZHIgd2FzCmJyZWFraW5nIHRoaXMgZHVlIHRvIHNp emUgZGlmZmVyZW5jZXMgYmV0d2VlbiBFbGYzMl9TaGRyIGFuZCBFbGY2NF9TaGRyLgoKRml4IHRo aXMgYnkgY29weWluZyBlYWNoIHNlY3Rpb24gaGVhZGVyIG9uZSBieSBvbmUsIGFuZCB1c2luZyB0 aGUgcHJvcGVyCnNpemUgZGVwZW5kaW5nIG9uIHRoZSBiaXRuZXNzIG9mIHRoZSBndWVzdCBrZXJu ZWwuIFdoaWxlIHRoZXJlLCBhbHNvIGZpeAphIGNvdXBsZSBvZiBjb25zaXN0ZW5jeSBpc3N1ZXMs IGJ5IG1ha2luZyBzdXJlIHdlIGFsd2F5cyB1c2UgdGhlIHNpemVzIG9mCm91ciBsb2NhbCB2ZXJz aW9ucyBvZiB0aGUgRUxGIGhlYWRlciBhbmQgdGhlIEVMRiBzZWN0aW9ucyBoZWFkZXJzLgoKUmVw b3J0ZWQtYnk6IEJyaWFuIE1hcmNvdHRlIDxtYXJjb3R0ZUBwYW5peC5jb20+ClNpZ25lZC1vZmYt Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpBY2tlZC1ieTogSWFu IEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1 bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpDYzogQnJpYW4gTWFyY290dGUgPG1hcmNvdHRl QHBhbml4LmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ CkNjOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4g SmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1 bGljaEBzdXNlLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh Y2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K Q2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KLS0tClNob3VsZCBiZSBiYWNrcG9ydGVkIHRvIFhlbiA0Ljcgc3RhYmxlIGJyYW5jaC4K LS0tCkNoYW5nZXMgc2luY2UgdjQ6CiAtIEZpeCBjb25zaXN0ZW5jeSBpc3N1ZXM6IG1ha2Ugc3Vy ZSB0aGUgc2l6ZXMgb2Ygb3VyIGxvY2FsIGNvcHkgb2YgdGhlIEVMRgogICBoZWFkZXIgYW5kIHRo ZSBFTEYgc2VjdGlvbiBoZWFkZXJzIGFyZSBhbHdheXMgdXNlZC4KCkNoYW5nZXMgc2luY2UgdjM6 CiAtIE1vdmUgdGhlIGRlZmluaXRpb24gb2YgZWxmX3N5bV9oZWFkZXIgaW50byBsaWJlbGYtbG9h ZGVyLmMuCgpDaGFuZ2VzIHNpbmNlIHYyOgogLSBVc2Ugb2Zmc2V0b2YgdG8gY29ycmVjdGx5IGFj Y291bnQgZm9yIHRoZSBtZW1vcnkgdXNlZCBieSB0aGUgZWxmIGhlYWRlci4KCkNoYW5nZXMgc2lu Y2UgdjE6CiAtIE5vIG5lZWQgdG8gY2FsY3VsYXRlIHNoZHJfc2l6ZSBhZ2FpbiwgaXQncyBhbHJl YWR5IGZldGNoZWQgZnJvbSB0aGUKICAgb3JpZ2luYWwgZWxmIGhlYWRlci4KIC0gUmVtb3ZlIHNo ZHIgdmFyaWFibGUuCiAtIFVzZSBvZmZzZXRvZiBpbnN0ZWFkIG9mIHN1YnRyYWN0aW5nIHR3byBz aXplb2ZzLgogLSBGaXggZWxmX3BhcnNlX2JzZHN5bXMgc28gdGhhdCBpdCB0YWtlcyBpbnRvIGFj Y291bnQgdGhlIHNpemUgb2YgZWxmX2VoZHIKICAgaW5zdGVhZCBvZiB0aGUgc2l6ZSBvZiB0aGUg bmF0aXZlIGVsZiBoZWFkZXIuCi0tLQogeGVuL2NvbW1vbi9saWJlbGYvbGliZWxmLWxvYWRlci5j IHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9saWJlbGYvbGliZWxmLWxvYWRlci5jIGIveGVuL2NvbW1vbi9saWJlbGYvbGliZWxm LWxvYWRlci5jCmluZGV4IGQ2N2UwYTcuLmViNzU2OWQgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24v bGliZWxmL2xpYmVsZi1sb2FkZXIuYworKysgYi94ZW4vY29tbW9uL2xpYmVsZi9saWJlbGYtbG9h ZGVyLmMKQEAgLTIxLDEwICsyMSwxNyBAQAogCiAjaW5jbHVkZSAibGliZWxmLXByaXZhdGUuaCIK IAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKIC8qIE51bWJlciBvZiBzZWN0aW9uIGhlYWRlciBu ZWVkZWQgaW4gb3JkZXIgdG8gZml0IHRoZSBTWU1UQUIgYW5kIFNUUlRBQi4gKi8KICNkZWZpbmUg RUxGX0JTRFNZTV9TRUNUSU9OUyAzCi0KLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworc3RydWN0IGVs Zl9zeW1faGVhZGVyIHsKKyAgICB1aW50MzJfdCBzaXplOworICAgIHN0cnVjdCB7CisgICAgICAg IGVsZl9laGRyIGhlYWRlcjsKKyAgICAgICAgZWxmX3NoZHIgc2VjdGlvbltFTEZfQlNEU1lNX1NF Q1RJT05TXTsKKyAgICB9IGVsZl9oZWFkZXI7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwog CiBlbGZfZXJyb3JzdGF0dXMgZWxmX2luaXQoc3RydWN0IGVsZl9iaW5hcnkgKmVsZiwgY29uc3Qg Y2hhciAqaW1hZ2VfaW5wdXQsIHNpemVfdCBzaXplKQogewpAQCAtMTcyLDkgKzE3OSwxMCBAQCB2 b2lkIGVsZl9wYXJzZV9ic2RzeW1zKHN0cnVjdCBlbGZfYmluYXJ5ICplbGYsIHVpbnQ2NF90IHBz dGFydCkKICAgICAvKiBTcGFjZSB0byBzdG9yZSB0aGUgc2l6ZSBvZiB0aGUgZWxmIGltYWdlICov CiAgICAgc3ogPSBzaXplb2YodWludDMyX3QpOwogCi0gICAgLyogU3BhY2UgZm9yIHRoZSBlbGYg YW5kIGVsZiBzZWN0aW9uIGhlYWRlcnMgKi8KLSAgICBzeiArPSBlbGZfdXZhbChlbGYsIGVsZi0+ ZWhkciwgZV9laHNpemUpICsKLSAgICAgICAgICBFTEZfQlNEU1lNX1NFQ1RJT05TICogZWxmX3V2 YWwoZWxmLCBlbGYtPmVoZHIsIGVfc2hlbnRzaXplKTsKKyAgICAvKiBTcGFjZSBmb3IgdGhlIEVM RiBoZWFkZXIgYW5kIHNlY3Rpb24gaGVhZGVycyAqLworICAgIHN6ICs9IG9mZnNldG9mKHN0cnVj dCBlbGZfc3ltX2hlYWRlciwgZWxmX2hlYWRlci5zZWN0aW9uKSArCisgICAgICAgICAgRUxGX0JT RFNZTV9TRUNUSU9OUyAqIChlbGZfNjRiaXQoZWxmKSA/IHNpemVvZihFbGY2NF9TaGRyKSA6Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihF bGYzMl9TaGRyKSk7CiAgICAgc3ogPSBlbGZfcm91bmRfdXAoZWxmLCBzeik7CiAKICAgICAvKgpA QCAtMjUxLDE4ICsyNTksMTEgQEAgc3RhdGljIHZvaWQgZWxmX2xvYWRfYnNkc3ltcyhzdHJ1Y3Qg ZWxmX2JpbmFyeSAqZWxmKQogICAgICAqIHN0cnRhYiwgc28gd2Ugb25seSBuZWVkIHRocmVlIHNl Y3Rpb24gaGVhZGVycyBpbiBvdXIgZmFrZSBFTEYKICAgICAgKiBoZWFkZXIgKGZpcnN0IHNlY3Rp b24gaGVhZGVyIGlzIGFsd2F5cyB0aGUgdW5kZWZpbmVkIHNlY3Rpb24pLgogICAgICAqLwotICAg IHN0cnVjdCB7Ci0gICAgICAgIHVpbnQzMl90IHNpemU7Ci0gICAgICAgIHN0cnVjdCB7Ci0gICAg ICAgICAgICBlbGZfZWhkciBoZWFkZXI7Ci0gICAgICAgICAgICBlbGZfc2hkciBzZWN0aW9uW0VM Rl9CU0RTWU1fU0VDVElPTlNdOwotICAgICAgICB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGVs Zl9oZWFkZXI7Ci0gICAgfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBoZWFkZXI7Ci0KKyAgICBz dHJ1Y3QgZWxmX3N5bV9oZWFkZXIgaGVhZGVyOwogICAgIEVMRl9IQU5ETEVfREVDTChlbGZfZWhk cikgaGVhZGVyX2hhbmRsZTsKLSAgICB1bnNpZ25lZCBsb25nIHNoZHJfc2l6ZTsKKyAgICB1bnNp Z25lZCBsb25nIHNoZHJfc2l6ZSwgZWhkcl9zaXplLCBoZWFkZXJfc2l6ZTsKICAgICBFTEZfSEFO RExFX0RFQ0woZWxmX3NoZHIpIHNlY3Rpb25faGFuZGxlOwotICAgIHVuc2lnbmVkIGludCBsaW5r LCByYzsKKyAgICB1bnNpZ25lZCBpbnQgbGluaywgcmMsIGk7CiAgICAgZWxmX3B0cnZhbCBoZWFk ZXJfYmFzZTsKICAgICBlbGZfcHRydmFsIGVsZl9oZWFkZXJfYmFzZTsKICAgICBlbGZfcHRydmFs IHN5bXRhYl9iYXNlOwpAQCAtMzAxLDggKzMwMiwxNSBAQCBkbyB7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBoZWFk ZXJfaGFuZGxlID0gRUxGX01BS0VfSEFORExFKGVsZl9laGRyLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFTEZfUkVBTFBUUjJQVFJWQUwoJmhlYWRlci5lbGZfaGVhZGVyLmhlYWRl cikpOwogICAgIGVsZl9tZW1jcHlfc2FmZShlbGYsIEVMRl9IQU5ETEVfUFRSVkFMKGhlYWRlcl9o YW5kbGUpLAotICAgICAgICAgICAgICAgICAgICBFTEZfSEFORExFX1BUUlZBTChlbGYtPmVoZHIp LAotICAgICAgICAgICAgICAgICAgICBlbGZfdXZhbChlbGYsIGVsZi0+ZWhkciwgZV9laHNpemUp KTsKKyAgICAgICAgICAgICAgICAgICAgRUxGX0hBTkRMRV9QVFJWQUwoZWxmLT5laGRyKSwgZWhk cl9zaXplKTsKKworICAgIC8qCisgICAgICogU2V0IHRoZSBFTEYgaGVhZGVyIHNpemUsIHNlY3Rp b24gaGVhZGVyIGVudHJ5IHNpemUgYW5kIHZlcnNpb24KKyAgICAgKiAoaW4gY2FzZSB3ZSBhcmUg ZGVhbGluZyB3aXRoIGFuIGlucHV0IEVMRiBoZWFkZXIgdGhhdCBoYXMgZXh0ZW5zaW9ucykuCisg ICAgICovCisgICAgZWxmX3N0b3JlX2ZpZWxkX2JpdG5lc3MoZWxmLCBoZWFkZXJfaGFuZGxlLCBl X2Voc2l6ZSwgZWhkcl9zaXplKTsKKyAgICBlbGZfc3RvcmVfZmllbGRfYml0bmVzcyhlbGYsIGhl YWRlcl9oYW5kbGUsIGVfc2hlbnRzaXplLCBzaGRyX3NpemUpOworICAgIGVsZl9zdG9yZV9maWVs ZF9iaXRuZXNzKGVsZiwgaGVhZGVyX2hhbmRsZSwgZV92ZXJzaW9uLCBFVl9DVVJSRU5UKTsKIAog ICAgIC8qIFNldCB0aGUgb2Zmc2V0IHRvIHRoZSBzaGRyIGFycmF5LiAqLwogICAgIGVsZl9zdG9y ZV9maWVsZF9iaXRuZXNzKGVsZiwgaGVhZGVyX2hhbmRsZSwgZV9zaG9mZiwKQEAgLTMxNSw2ICsz MjMsNyBAQCBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICBlbGZfc3RvcmVfZmllbGRfYml0bmVzcyhlbGYsIGhl YWRlcl9oYW5kbGUsIGVfcGhvZmYsIDApOwogICAgIGVsZl9zdG9yZV9maWVsZF9iaXRuZXNzKGVs ZiwgaGVhZGVyX2hhbmRsZSwgZV9waGVudHNpemUsIDApOwogICAgIGVsZl9zdG9yZV9maWVsZF9i aXRuZXNzKGVsZiwgaGVhZGVyX2hhbmRsZSwgZV9waG51bSwgMCk7CisgICAgZWxmX3N0b3JlX2Zp ZWxkX2JpdG5lc3MoZWxmLCBoZWFkZXJfaGFuZGxlLCBlX3Noc3RybmR4LCAwKTsKIAogICAgIHNo ZHJfc2l6ZSA9IGVsZl91dmFsKGVsZiwgZWxmLT5laGRyLCBlX3NoZW50c2l6ZSk7CiAKQEAgLTM4 NywxNSArMzk2LDM1IEBAIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGhlYWRlci5zaXplID0gc3RydGFiX2Jh c2UgKyBlbGZfdXZhbChlbGYsIHNlY3Rpb25faGFuZGxlLCBzaF9zaXplKSAtCiAgICAgICAgICAg ICAgICAgICBlbGZfaGVhZGVyX2Jhc2U7CiAKLSAgICAvKiBMb2FkIHRoZSBoZWFkZXJzLiAqLwor ICAgIC8qIExvYWQgdGhlIHNpemUgcGx1cyBFTEYgaGVhZGVyLiAqLworICAgIGhlYWRlcl9zaXpl ID0gb2Zmc2V0b2YodHlwZW9mKGhlYWRlciksIGVsZl9oZWFkZXIuc2VjdGlvbik7CiAgICAgcmMg PSBlbGZfbG9hZF9pbWFnZShlbGYsIGhlYWRlcl9iYXNlLCBFTEZfUkVBTFBUUjJQVFJWQUwoJmhl YWRlciksCi0gICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaGVhZGVyKSwgc2l6ZW9mKGhl YWRlcikpOworICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyX3NpemUsIGhlYWRlcl9zaXpl KTsKICAgICBpZiAoIHJjICE9IDAgKQogICAgIHsKICAgICAgICAgZWxmX21hcmtfYnJva2VuKGVs ZiwgInVuYWJsZSB0byBsb2FkIEVMRiBoZWFkZXJzIGludG8gZ3Vlc3QgbWVtb3J5Iik7CiAgICAg ICAgIHJldHVybjsKICAgICB9CiAKKyAgICAvKgorICAgICAqIExvYWQgdGhlIHNlY3Rpb24gaGVh ZGVycy4KKyAgICAgKgorICAgICAqIE5COiB0aGlzIF9tdXN0XyBiZSBkb25lIG9uZSBieSBvbmUs IGFuZCB0YWtpbmcgdGhlIGJpdG5lc3MgaW50byBhY2NvdW50LAorICAgICAqIHNvIHRoYXQgdGhl IGd1ZXN0IGNhbiB0cmVhdCB0aGlzIGFzIGFuIGFycmF5IG9mIHR5cGUgRWxmezMyLzY0fV9TaGRy LgorICAgICAqLworICAgIGZvciAoIGkgPSAwOyBpIDwgRUxGX0JTRFNZTV9TRUNUSU9OUzsgaSsr ICkKKyAgICB7CisgICAgICAgIHJjID0gZWxmX2xvYWRfaW1hZ2UoZWxmLCBoZWFkZXJfYmFzZSAr IGhlYWRlcl9zaXplICsgc2hkcl9zaXplICogaSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFTEZfUkVBTFBUUjJQVFJWQUwoJmhlYWRlci5lbGZfaGVhZGVyLnNlY3Rpb25baV0pLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNoZHJfc2l6ZSwgc2hkcl9zaXplKTsKKyAgICAgICAg aWYgKCByYyAhPSAwICkKKyAgICAgICAgeworICAgICAgICAgICAgZWxmX21hcmtfYnJva2VuKGVs ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8gbG9hZCBFTEYgc2VjdGlvbiBo ZWFkZXIgaW50byBndWVzdCBtZW1vcnkiKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg fQorICAgIH0KKwogICAgIC8qIFJlbW92ZSBwZXJtaXNzaW9ucyBmcm9tIGVsZl9tZW1jcHlfc2Fm ZS4gKi8KICAgICBlbGZfc2V0X3hkZXN0KGVsZiwgTlVMTCwgMCk7CiAKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==