[ruby-core:123250] [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-14 08:02:23 UTC
List:
ruby-core #123250
SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KU2ltcGx5IGl0IGNhbiBiZToNCmBgYGMNCm1lbWNweSgmZCwgSUJGX09CSkJPRFkoZG91 YmxlLCBvZmZzZXQpLCBzaXplb2YoZCkpOw0KYGBgDQoNCmFtYWN4ejogV291bGQgeW91IHNlbmQg UFIgYXQgZ2l0aHViLCBvciBwb3N0IHRoZSBmb3JtYXR0ZWQtcGF0Y2g/DQpPdGhlcndpc2Ugd2Ug Y2FuIGp1c3QgYWRkICJwYXRjaGVkIGJ5IiBjb21tZW50IHRvIHRoZSBjb21taXQgbG9nLg0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIxNTY5OiBbYXJt djcsIG11c2xdIFNJR0JVUyBpbiBpYmZfbG9hZF9vYmplY3RfZmxvYXQgZHVlIHRvIHVuYWxpZ25l ZCBWRlAgZG91YmxlIGxvYWQgd2hlbiByZWFkaW5nIElCRg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFu Zy5vcmcvaXNzdWVzLzIxNTY5I2NoYW5nZS0xMTQ1ODMNCg0KKiBBdXRob3I6IGFtYWN4eiAoQWxl a3NleSBNYXhpbW92KQ0KKiBTdGF0dXM6IE9wZW4NCiogcnVieSAtdjogcnVieSAzLjMuOCAoMjAy NS0wNC0wOSByZXZpc2lvbiBiMjAwYmFkNmNkKSBbYXJtdjdhLWxpbnV4LW11c2xlYWJpaGZdDQoq IEJhY2twb3J0OiAzLjI6IFVOS05PV04sIDMuMzogVU5LTk9XTiwgMy40OiBVTktOT1dODQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpFbnZpcm9ubWVudDoNCiAgQ1BV OiBBUk12Ny1BIChOVklESUEgVGVncmEgMiksIFZGUHYzLUQxNiwgbm8gTkVPTg0KICBPUy9saWJj OiBMaW51eCwgbXVzbCAobGQtbXVzbC1hcm1oZi5zby4xKQ0KICBDb21waWxlcjogR0NDIDE0LjMu MA0KICBSdWJ5OiAzLjMuOCAoYnVpbHQgZnJvbSBzb3VyY2UgdmlhIEdlbnRvbyBlYnVpbGQpDQog IENGTEFHUyBhY3R1YWxseSB1c2VkIGJ5IHN5c3RlbTogIi1PcyAtcGlwZSAtbWFyY2g9YXJtdjct YSAtbWZwdT12ZnB2My1kMTYgLW1mbG9hdC1hYmk9aGFyZCINCg0KDQpEdXJpbmcgbWFrZSBpbnN0 YWxsIChvciBHZW50b2/igJlzIGVidWlsZCBpbnN0YWxsIHBoYXNlKSBSdWJ5IHJ1bnM6DQpgYGAg c2hlbGwNCi4vbWluaXJ1YnkgLUkuL2xpYiAtSS4gLUkuZXh0L2NvbW1vbiAuL3Rvb2wvcnVucnVi eS5yYiAtLWV4dG91dD0uZXh0IC0tIFwNCiAgLS1kaXNhYmxlLWdlbXMgLXIuL2FybXY3YS1saW51 eC1tdXNsZWFiaWhmLWZha2UgLi90b29sL3JiaW5zdGFsbC5yYiBcDQogIC0tbWFrZT1tYWtlIC0t ZGVzdC1kaXI9IiREIiAtLWV4dG91dD0uZXh0IC0tZXh0LWJ1aWxkLWRpcj0uL2V4dCBcDQogIC0t bWZsYWdzPSItajEiIC0tbWFrZS1mbGFncz0iIFY9MSIgLS1nbnVtYWtlIC0taW5zdGFsbD1hbGwg LS1leGNsdWRlPWRvYw0KDQpgYGANClRoaXMgcmVsaWFibHkgdHJpZ2dlcnMgYSBTSUdCVVMgb24g YXJtdjcgaGFyZC1mbG9hdC4NCg0KT2JzZXJ2ZWQgY3Jhc2g6DQoNCmBgYA0KVGhyZWFkICJydWJ5 MzMiIHJlY2VpdmVkIHNpZ25hbCBTSUdCVVMgKEJ1cyBlcnJvcikuDQojMCAgaWJmX2xvYWRfb2Jq ZWN0X2Zsb2F0ICgpIGZyb20gbGlicnVieTMzLnNvLjMuMw0KKGdkYikgYnQNCiMwICBpYmZfbG9h ZF9vYmplY3RfZmxvYXQNCiMxICBpYmZfbG9hZF9vYmplY3QNCiMyICByYl9pYmZfbG9hZF9pc2Vx X2NvbXBsZXRlDQojMyAgaWJmX2xvYWRfaXNlcQ0KIzQgIC4uLg0KKGdkYikgaW5mbyByZWcNCnIw ID0gMHhiNmY1MDhiNiAgKG5vdCA4LWJ5dGUgYWxpZ25lZCkNCnBjID0gMHhiNmNhY2Y3OCA8aWJm X2xvYWRfb2JqZWN0X2Zsb2F0KzMyPg0KKGdkYikgeC82aSAkcGMtOA0KICAgLi4uDQogICAweGI2 Y2FjZjc0OiB2bGRyIGQwLCBbcjBdICAgPC0tIFZGUCBkb3VibGUgbG9hZCBmcm9tIHVuYWxpZ25l ZCBhZGRyIOKGkiBTSUdCVVMNCg0KYGBgDQoNClJvb3QgY2F1c2UNCkluIGNvbXBpbGUuYzoNCg0K YGBgIGMNCnN0YXRpYyBWQUxVRQ0KaWJmX2xvYWRfb2JqZWN0X2Zsb2F0KGNvbnN0IHN0cnVjdCBp YmZfbG9hZCAqbG9hZCwgY29uc3Qgc3RydWN0IGliZl9vYmplY3RfaGVhZGVyICpoZWFkZXIsIGli Zl9vZmZzZXRfdCBvZmZzZXQpDQp7DQogICAgY29uc3QgZG91YmxlICpkYmxwID0gSUJGX09CSkJP RFkoZG91YmxlLCBvZmZzZXQpOw0KICAgIHJldHVybiBEQkwyTlVNKCpkYmxwKTsNCn0NCg0KYGBg DQoNCklCRl9PQkpCT0RZKGRvdWJsZSwgLi4uKSBtYXkgcmV0dXJuIGFuIHVuYWxpZ25lZCBwb2lu dGVyLiBPbiBBUk12NywgVkZQIHZsZHIgd2l0aCBhbiB1bmFsaWduZWQgZG91YmxlIGFkZHJlc3Mg cmFpc2VzIFNJR0JVUyAobm8ga2VybmVsIGZpeHVwKS4gSGVuY2UgdGhlIGNyYXNoIHdoaWxlIGxv YWRpbmcgSUJGLg0KDQpQcm9wb3NlZCBmaXgNClJlYWQgaW50byBhbiBhbGlnbmVkIGxvY2FsIHdp dGggbWVtY3B5Og0KDQpgYGANCi0tLSBhL2NvbXBpbGUuYw0KKysrIGIvY29tcGlsZS5jDQpAQCAt MTI5MjEsMTAgKzEyOTIxLDEyIEBAIHN0YXRpYyBWQUxVRQ0KIGliZl9sb2FkX29iamVjdF9mbG9h dChjb25zdCBzdHJ1Y3QgaWJmX2xvYWQgKmxvYWQsIGNvbnN0IHN0cnVjdCBpYmZfb2JqZWN0X2hl YWRlciAqaGVhZGVyLCBpYmZfb2Zmc2V0X3Qgb2Zmc2V0KQ0KIHsNCi0gICAgY29uc3QgZG91Ymxl ICpkYmxwID0gSUJGX09CSkJPRFkoZG91YmxlLCBvZmZzZXQpOw0KLSAgICByZXR1cm4gREJMMk5V TSgqZGJscCk7DQorICAgIC8qIElCRiBidWZmZXIgbWF5IGJlIHVuYWxpZ25lZCBvbiBzb21lIHBs YXRmb3Jtcy4gT24gQVJNdjcsIGEgVkZQDQorICAgICAqIGRvdWJsZSBsb2FkIGZyb20gYW4gdW5h bGlnbmVkIGFkZHJlc3MgY2F1c2VzIFNJR0JVUy4gKi8NCisgICAgZG91YmxlIGQ7DQorICAgIG1l bWNweSgmZCwgSUJGX09CSkJPRFkodm9pZCwgb2Zmc2V0KSwgc2l6ZW9mKGQpKTsNCisgICAgcmV0 dXJuIERCTDJOVU0oZCk7DQogfQ0KDQpgYGANCg0KTm90ZXM6DQpUaGUgaXNzdWUgcmVwcm9kdWNl cyBjb25zaXN0ZW50bHkgb24gVGVncmEyIChhcm12N2EsIHZmcHYzLWQxNiwgbm8gTkVPTikgd2l0 aCBtdXNsLCBidXQgKElNTykgY29uY2VwdHVhbGx5IGFwcGxpZXMgdG8gYW55IHN0cmljdC1hbGln bm1lbnQgQVJNdjcgcGxhdGZvcm0uDQpBIHNpbWlsYXIgYXVkaXQgbWF5IGJlIHJlcXVpcmVkIGZv ciBvdGhlciBJQkYgbG9hZGVycyByZWFkaW5nIDgtYnl0ZSB0eXBlcy4NClBsZWFzZSByZXZpZXcg YW5kIG1lcmdlIHRoZSBmaXggKG9yIGltcGxlbWVudCBhbiBlcXVpdmFsZW50IGFsaWdubWVudC1z YWZlIHJlYWQgZm9yIElCRiBmbG9hdHMpLiANCkkgY2FuIHRlc3QgYW55IHByb3Bvc2VkIHBhdGNo IG9uIHRoaXMgaGFyZHdhcmUuDQoNCg0KLS0tRmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KY29tcGlsZV9hbmRfZGVidWdfbG9nLnR4dCAoMzEuMyBLQikNCg0KDQotLSANCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwu cnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUt bGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5 LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLwo=