[ruby-core:123251] [Ruby Bug#21569] [armv7, musl] SIGBUS in ibf_load_object_float due to unaligned VFP double load when reading IBF
From:
"amacxz (Aleksey Maximov) via ruby-core" <ruby-core@...>
Date:
2025-09-14 12:30:09 UTC
List:
ruby-core #123251
SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYW1hY3h6IChBbGVrc2V5IE1heGltb3Yp Lg0KDQpGaWxlIDAzMC1pYmYtZml4LXVuYWxpZ25lZC1mbG9hdC1sb2FkLW9uLWFybXY3LnBhdGNo IGFkZGVkDQoNClN1Y2Nlc3NmdWxseSBjb21waWxlZCBvbiBBUk12NyB3aXRoIHRoaXMgcGF0Y2gg KHJpZ2h0IG5vdyk7IG5vIGNyYXNoIG9jY3VycmVkIGR1cmluZyB0aGUgcHJvamVjdCBidWlsZC4N CnJ1YnkgMy4zLjggKDIwMjUtMDQtMDkgcmV2aXNpb24gYjIwMGJhZDZjZCkgW2FybXY3YS1saW51 eC1tdXNsZWFiaWhmXQ0KDQpBZGRpbmcgYSDigJhQYXRjaGVkLWJ5OiBBbGVrc2V5IE1heGltb3Yg PGFtYXhjekBnbWFpbC5jb20+4oCZIHRhZyB3aWxsIGJlIHBlcmZlY3RseSBzdWZmaWNpZW50LiAN Cg0KVGhhbmtzIGZvciB0aGUgaGVscC4gOikNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIxNTY5OiBbYXJtdjcsIG11c2xdIFNJR0JVUyBpbiBpYmZf bG9hZF9vYmplY3RfZmxvYXQgZHVlIHRvIHVuYWxpZ25lZCBWRlAgZG91YmxlIGxvYWQgd2hlbiBy ZWFkaW5nIElCRg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxNTY5I2NoYW5n ZS0xMTQ1ODQNCg0KKiBBdXRob3I6IGFtYWN4eiAoQWxla3NleSBNYXhpbW92KQ0KKiBTdGF0dXM6 IE9wZW4NCiogcnVieSAtdjogcnVieSAzLjMuOCAoMjAyNS0wNC0wOSByZXZpc2lvbiBiMjAwYmFk NmNkKSBbYXJtdjdhLWxpbnV4LW11c2xlYWJpaGZdDQoqIEJhY2twb3J0OiAzLjI6IFVOS05PV04s IDMuMzogVU5LTk9XTiwgMy40OiBVTktOT1dODQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpFbnZpcm9ubWVudDoNCiAgQ1BVOiBBUk12Ny1BIChOVklESUEgVGVncmEg MiksIFZGUHYzLUQxNiwgbm8gTkVPTg0KICBPUy9saWJjOiBMaW51eCwgbXVzbCAobGQtbXVzbC1h cm1oZi5zby4xKQ0KICBDb21waWxlcjogR0NDIDE0LjMuMA0KICBSdWJ5OiAzLjMuOCAoYnVpbHQg ZnJvbSBzb3VyY2UgdmlhIEdlbnRvbyBlYnVpbGQpDQogIENGTEFHUyBhY3R1YWxseSB1c2VkIGJ5 IHN5c3RlbTogIi1PcyAtcGlwZSAtbWFyY2g9YXJtdjctYSAtbWZwdT12ZnB2My1kMTYgLW1mbG9h dC1hYmk9aGFyZCINCg0KDQpEdXJpbmcgbWFrZSBpbnN0YWxsIChvciBHZW50b2/igJlzIGVidWls ZCBpbnN0YWxsIHBoYXNlKSBSdWJ5IHJ1bnM6DQpgYGAgc2hlbGwNCi4vbWluaXJ1YnkgLUkuL2xp YiAtSS4gLUkuZXh0L2NvbW1vbiAuL3Rvb2wvcnVucnVieS5yYiAtLWV4dG91dD0uZXh0IC0tIFwN CiAgLS1kaXNhYmxlLWdlbXMgLXIuL2FybXY3YS1saW51eC1tdXNsZWFiaWhmLWZha2UgLi90b29s L3JiaW5zdGFsbC5yYiBcDQogIC0tbWFrZT1tYWtlIC0tZGVzdC1kaXI9IiREIiAtLWV4dG91dD0u ZXh0IC0tZXh0LWJ1aWxkLWRpcj0uL2V4dCBcDQogIC0tbWZsYWdzPSItajEiIC0tbWFrZS1mbGFn cz0iIFY9MSIgLS1nbnVtYWtlIC0taW5zdGFsbD1hbGwgLS1leGNsdWRlPWRvYw0KDQpgYGANClRo aXMgcmVsaWFibHkgdHJpZ2dlcnMgYSBTSUdCVVMgb24gYXJtdjcgaGFyZC1mbG9hdC4NCg0KT2Jz ZXJ2ZWQgY3Jhc2g6DQoNCmBgYA0KVGhyZWFkICJydWJ5MzMiIHJlY2VpdmVkIHNpZ25hbCBTSUdC VVMgKEJ1cyBlcnJvcikuDQojMCAgaWJmX2xvYWRfb2JqZWN0X2Zsb2F0ICgpIGZyb20gbGlicnVi eTMzLnNvLjMuMw0KKGdkYikgYnQNCiMwICBpYmZfbG9hZF9vYmplY3RfZmxvYXQNCiMxICBpYmZf bG9hZF9vYmplY3QNCiMyICByYl9pYmZfbG9hZF9pc2VxX2NvbXBsZXRlDQojMyAgaWJmX2xvYWRf aXNlcQ0KIzQgIC4uLg0KKGdkYikgaW5mbyByZWcNCnIwID0gMHhiNmY1MDhiNiAgKG5vdCA4LWJ5 dGUgYWxpZ25lZCkNCnBjID0gMHhiNmNhY2Y3OCA8aWJmX2xvYWRfb2JqZWN0X2Zsb2F0KzMyPg0K KGdkYikgeC82aSAkcGMtOA0KICAgLi4uDQogICAweGI2Y2FjZjc0OiB2bGRyIGQwLCBbcjBdICAg PC0tIFZGUCBkb3VibGUgbG9hZCBmcm9tIHVuYWxpZ25lZCBhZGRyIOKGkiBTSUdCVVMNCg0KYGBg DQoNClJvb3QgY2F1c2UNCkluIGNvbXBpbGUuYzoNCg0KYGBgIGMNCnN0YXRpYyBWQUxVRQ0KaWJm X2xvYWRfb2JqZWN0X2Zsb2F0KGNvbnN0IHN0cnVjdCBpYmZfbG9hZCAqbG9hZCwgY29uc3Qgc3Ry dWN0IGliZl9vYmplY3RfaGVhZGVyICpoZWFkZXIsIGliZl9vZmZzZXRfdCBvZmZzZXQpDQp7DQog ICAgY29uc3QgZG91YmxlICpkYmxwID0gSUJGX09CSkJPRFkoZG91YmxlLCBvZmZzZXQpOw0KICAg IHJldHVybiBEQkwyTlVNKCpkYmxwKTsNCn0NCg0KYGBgDQoNCklCRl9PQkpCT0RZKGRvdWJsZSwg Li4uKSBtYXkgcmV0dXJuIGFuIHVuYWxpZ25lZCBwb2ludGVyLiBPbiBBUk12NywgVkZQIHZsZHIg d2l0aCBhbiB1bmFsaWduZWQgZG91YmxlIGFkZHJlc3MgcmFpc2VzIFNJR0JVUyAobm8ga2VybmVs IGZpeHVwKS4gSGVuY2UgdGhlIGNyYXNoIHdoaWxlIGxvYWRpbmcgSUJGLg0KDQpQcm9wb3NlZCBm aXgNClJlYWQgaW50byBhbiBhbGlnbmVkIGxvY2FsIHdpdGggbWVtY3B5Og0KDQpgYGANCi0tLSBh L2NvbXBpbGUuYw0KKysrIGIvY29tcGlsZS5jDQpAQCAtMTI5MjEsMTAgKzEyOTIxLDEyIEBAIHN0 YXRpYyBWQUxVRQ0KIGliZl9sb2FkX29iamVjdF9mbG9hdChjb25zdCBzdHJ1Y3QgaWJmX2xvYWQg KmxvYWQsIGNvbnN0IHN0cnVjdCBpYmZfb2JqZWN0X2hlYWRlciAqaGVhZGVyLCBpYmZfb2Zmc2V0 X3Qgb2Zmc2V0KQ0KIHsNCi0gICAgY29uc3QgZG91YmxlICpkYmxwID0gSUJGX09CSkJPRFkoZG91 YmxlLCBvZmZzZXQpOw0KLSAgICByZXR1cm4gREJMMk5VTSgqZGJscCk7DQorICAgIC8qIElCRiBi dWZmZXIgbWF5IGJlIHVuYWxpZ25lZCBvbiBzb21lIHBsYXRmb3Jtcy4gT24gQVJNdjcsIGEgVkZQ DQorICAgICAqIGRvdWJsZSBsb2FkIGZyb20gYW4gdW5hbGlnbmVkIGFkZHJlc3MgY2F1c2VzIFNJ R0JVUy4gKi8NCisgICAgZG91YmxlIGQ7DQorICAgIG1lbWNweSgmZCwgSUJGX09CSkJPRFkodm9p ZCwgb2Zmc2V0KSwgc2l6ZW9mKGQpKTsNCisgICAgcmV0dXJuIERCTDJOVU0oZCk7DQogfQ0KDQpg YGANCg0KTm90ZXM6DQpUaGUgaXNzdWUgcmVwcm9kdWNlcyBjb25zaXN0ZW50bHkgb24gVGVncmEy IChhcm12N2EsIHZmcHYzLWQxNiwgbm8gTkVPTikgd2l0aCBtdXNsLCBidXQgKElNTykgY29uY2Vw dHVhbGx5IGFwcGxpZXMgdG8gYW55IHN0cmljdC1hbGlnbm1lbnQgQVJNdjcgcGxhdGZvcm0uDQpB IHNpbWlsYXIgYXVkaXQgbWF5IGJlIHJlcXVpcmVkIGZvciBvdGhlciBJQkYgbG9hZGVycyByZWFk aW5nIDgtYnl0ZSB0eXBlcy4NClBsZWFzZSByZXZpZXcgYW5kIG1lcmdlIHRoZSBmaXggKG9yIGlt cGxlbWVudCBhbiBlcXVpdmFsZW50IGFsaWdubWVudC1zYWZlIHJlYWQgZm9yIElCRiBmbG9hdHMp LiANCkkgY2FuIHRlc3QgYW55IHByb3Bvc2VkIHBhdGNoIG9uIHRoaXMgaGFyZHdhcmUuDQoNCg0K LS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY29tcGlsZV9hbmRfZGVi dWdfbG9nLnR4dCAoMzEuMyBLQikNCjAzMC1pYmYtZml4LXVuYWxpZ25lZC1mbG9hdC1sb2FkLW9u LWFybXY3LnBhdGNoICg2NDQgQnl0ZXMpDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1 YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVu c3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5v cmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9s aXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8K