[ruby-core:123218] [Ruby Bug#21569] [armv7, musl] SIGBUS in ibf_load_object_float due to unaligned VFP double load when reading IBF
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-09-11 09:46:19 UTC
List:
ruby-core #123218
SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KVGhhbmsgeW91IGZvciB0aGUgcmVwb3J0Lg0KDQphbWFjeHogKEFsZWtzZXkgTWF4aW1v dikgd3JvdGU6DQo+IGBgYA0KPiArICAgIG1lbWNweSgmZCwgSUJGX09CSkJPRFkodm9pZCwgb2Zm c2V0KSwgc2l6ZW9mKGQpKTsNCj4gYGBgDQoNCkkgdGhpbmsgYHZvaWRgIHNob3VsZCBiZSBgZG91 YmxlYCBzaW5jZSBgSUJGX09CSkJPRFlgIHdvbid0IHdvcmsgb24gYHZvaWRgLg0KQXQgbGVhc3Qg dGhlIGZhbGxiYWNrIGRlZmluaXRpb24sIGBvZmZzZXRvZihzdHJ1Y3QgeyBjaGFyIF87IFQgdDsg fSwgdClgLCBpcyBpbnZhbGlkIHdoZXJlIGBUYCBpcyBgdm9pZGAuDQoNCg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIxNTY5OiBbYXJtdjcsIG11c2xd IFNJR0JVUyBpbiBpYmZfbG9hZF9vYmplY3RfZmxvYXQgZHVlIHRvIHVuYWxpZ25lZCBWRlAgZG91 YmxlIGxvYWQgd2hlbiByZWFkaW5nIElCRg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNz dWVzLzIxNTY5I2NoYW5nZS0xMTQ1NDkNCg0KKiBBdXRob3I6IGFtYWN4eiAoQWxla3NleSBNYXhp bW92KQ0KKiBTdGF0dXM6IE9wZW4NCiogcnVieSAtdjogcnVieSAzLjMuOCAoMjAyNS0wNC0wOSBy ZXZpc2lvbiBiMjAwYmFkNmNkKSBbYXJtdjdhLWxpbnV4LW11c2xlYWJpaGZdDQoqIEJhY2twb3J0 OiAzLjI6IFVOS05PV04sIDMuMzogVU5LTk9XTiwgMy40OiBVTktOT1dODQotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpFbnZpcm9ubWVudDoNCiAgQ1BVOiBBUk12Ny1B IChOVklESUEgVGVncmEgMiksIFZGUHYzLUQxNiwgbm8gTkVPTg0KICBPUy9saWJjOiBMaW51eCwg bXVzbCAobGQtbXVzbC1hcm1oZi5zby4xKQ0KICBDb21waWxlcjogR0NDIDE0LjMuMA0KICBSdWJ5 OiAzLjMuOCAoYnVpbHQgZnJvbSBzb3VyY2UgdmlhIEdlbnRvbyBlYnVpbGQpDQogIENGTEFHUyBh Y3R1YWxseSB1c2VkIGJ5IHN5c3RlbTogIi1PcyAtcGlwZSAtbWFyY2g9YXJtdjctYSAtbWZwdT12 ZnB2My1kMTYgLW1mbG9hdC1hYmk9aGFyZCINCg0KDQpEdXJpbmcgbWFrZSBpbnN0YWxsIChvciBH ZW50b2/igJlzIGVidWlsZCBpbnN0YWxsIHBoYXNlKSBSdWJ5IHJ1bnM6DQpgYGAgc2hlbGwNCi4v bWluaXJ1YnkgLUkuL2xpYiAtSS4gLUkuZXh0L2NvbW1vbiAuL3Rvb2wvcnVucnVieS5yYiAtLWV4 dG91dD0uZXh0IC0tIFwNCiAgLS1kaXNhYmxlLWdlbXMgLXIuL2FybXY3YS1saW51eC1tdXNsZWFi aWhmLWZha2UgLi90b29sL3JiaW5zdGFsbC5yYiBcDQogIC0tbWFrZT1tYWtlIC0tZGVzdC1kaXI9 IiREIiAtLWV4dG91dD0uZXh0IC0tZXh0LWJ1aWxkLWRpcj0uL2V4dCBcDQogIC0tbWZsYWdzPSIt ajEiIC0tbWFrZS1mbGFncz0iIFY9MSIgLS1nbnVtYWtlIC0taW5zdGFsbD1hbGwgLS1leGNsdWRl PWRvYw0KDQpgYGANClRoaXMgcmVsaWFibHkgdHJpZ2dlcnMgYSBTSUdCVVMgb24gYXJtdjcgaGFy ZC1mbG9hdC4NCg0KT2JzZXJ2ZWQgY3Jhc2g6DQoNCmBgYA0KVGhyZWFkICJydWJ5MzMiIHJlY2Vp dmVkIHNpZ25hbCBTSUdCVVMgKEJ1cyBlcnJvcikuDQojMCAgaWJmX2xvYWRfb2JqZWN0X2Zsb2F0 ICgpIGZyb20gbGlicnVieTMzLnNvLjMuMw0KKGdkYikgYnQNCiMwICBpYmZfbG9hZF9vYmplY3Rf ZmxvYXQNCiMxICBpYmZfbG9hZF9vYmplY3QNCiMyICByYl9pYmZfbG9hZF9pc2VxX2NvbXBsZXRl DQojMyAgaWJmX2xvYWRfaXNlcQ0KIzQgIC4uLg0KKGdkYikgaW5mbyByZWcNCnIwID0gMHhiNmY1 MDhiNiAgKG5vdCA4LWJ5dGUgYWxpZ25lZCkNCnBjID0gMHhiNmNhY2Y3OCA8aWJmX2xvYWRfb2Jq ZWN0X2Zsb2F0KzMyPg0KKGdkYikgeC82aSAkcGMtOA0KICAgLi4uDQogICAweGI2Y2FjZjc0OiB2 bGRyIGQwLCBbcjBdICAgPC0tIFZGUCBkb3VibGUgbG9hZCBmcm9tIHVuYWxpZ25lZCBhZGRyIOKG kiBTSUdCVVMNCg0KYGBgDQoNClJvb3QgY2F1c2UNCkluIGNvbXBpbGUuYzoNCg0KYGBgIGMNCnN0 YXRpYyBWQUxVRQ0KaWJmX2xvYWRfb2JqZWN0X2Zsb2F0KGNvbnN0IHN0cnVjdCBpYmZfbG9hZCAq bG9hZCwgY29uc3Qgc3RydWN0IGliZl9vYmplY3RfaGVhZGVyICpoZWFkZXIsIGliZl9vZmZzZXRf dCBvZmZzZXQpDQp7DQogICAgY29uc3QgZG91YmxlICpkYmxwID0gSUJGX09CSkJPRFkoZG91Ymxl LCBvZmZzZXQpOw0KICAgIHJldHVybiBEQkwyTlVNKCpkYmxwKTsNCn0NCg0KYGBgDQoNCklCRl9P QkpCT0RZKGRvdWJsZSwgLi4uKSBtYXkgcmV0dXJuIGFuIHVuYWxpZ25lZCBwb2ludGVyLiBPbiBB Uk12NywgVkZQIHZsZHIgd2l0aCBhbiB1bmFsaWduZWQgZG91YmxlIGFkZHJlc3MgcmFpc2VzIFNJ R0JVUyAobm8ga2VybmVsIGZpeHVwKS4gSGVuY2UgdGhlIGNyYXNoIHdoaWxlIGxvYWRpbmcgSUJG Lg0KDQpQcm9wb3NlZCBmaXgNClJlYWQgaW50byBhbiBhbGlnbmVkIGxvY2FsIHdpdGggbWVtY3B5 Og0KDQpgYGANCi0tLSBhL2NvbXBpbGUuYw0KKysrIGIvY29tcGlsZS5jDQpAQCAtMTI5MjEsMTAg KzEyOTIxLDEyIEBAIHN0YXRpYyBWQUxVRQ0KIGliZl9sb2FkX29iamVjdF9mbG9hdChjb25zdCBz dHJ1Y3QgaWJmX2xvYWQgKmxvYWQsIGNvbnN0IHN0cnVjdCBpYmZfb2JqZWN0X2hlYWRlciAqaGVh ZGVyLCBpYmZfb2Zmc2V0X3Qgb2Zmc2V0KQ0KIHsNCi0gICAgY29uc3QgZG91YmxlICpkYmxwID0g SUJGX09CSkJPRFkoZG91YmxlLCBvZmZzZXQpOw0KLSAgICByZXR1cm4gREJMMk5VTSgqZGJscCk7 DQorICAgIC8qIElCRiBidWZmZXIgbWF5IGJlIHVuYWxpZ25lZCBvbiBzb21lIHBsYXRmb3Jtcy4g T24gQVJNdjcsIGEgVkZQDQorICAgICAqIGRvdWJsZSBsb2FkIGZyb20gYW4gdW5hbGlnbmVkIGFk ZHJlc3MgY2F1c2VzIFNJR0JVUy4gKi8NCisgICAgZG91YmxlIGQ7DQorICAgIG1lbWNweSgmZCwg SUJGX09CSkJPRFkodm9pZCwgb2Zmc2V0KSwgc2l6ZW9mKGQpKTsNCisgICAgcmV0dXJuIERCTDJO VU0oZCk7DQogfQ0KDQpgYGANCg0KTm90ZXM6DQpUaGUgaXNzdWUgcmVwcm9kdWNlcyBjb25zaXN0 ZW50bHkgb24gVGVncmEyIChhcm12N2EsIHZmcHYzLWQxNiwgbm8gTkVPTikgd2l0aCBtdXNsLCBi dXQgKElNTykgY29uY2VwdHVhbGx5IGFwcGxpZXMgdG8gYW55IHN0cmljdC1hbGlnbm1lbnQgQVJN djcgcGxhdGZvcm0uDQpBIHNpbWlsYXIgYXVkaXQgbWF5IGJlIHJlcXVpcmVkIGZvciBvdGhlciBJ QkYgbG9hZGVycyByZWFkaW5nIDgtYnl0ZSB0eXBlcy4NClBsZWFzZSByZXZpZXcgYW5kIG1lcmdl IHRoZSBmaXggKG9yIGltcGxlbWVudCBhbiBlcXVpdmFsZW50IGFsaWdubWVudC1zYWZlIHJlYWQg Zm9yIElCRiBmbG9hdHMpLiANCkkgY2FuIHRlc3QgYW55IHByb3Bvc2VkIHBhdGNoIG9uIHRoaXMg aGFyZHdhcmUuDQoNCg0KLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K Y29tcGlsZV9hbmRfZGVidWdfbG9nLnR4dCAoMzEuMyBLQikNCg0KDQotLSANCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnLw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5n Lm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwu cnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3Jn L21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLwo=