[ruby-core:123230] [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-12 12:59:03 UTC
List:
ruby-core #123230
SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYW1hY3h6IChBbGVrc2V5IE1heGltb3Yp Lg0KDQoNCmhtbW0NCg0KR29vZCBjYXRjaCDigJQgeW914oCZcmUgcmlnaHQgdGhhdCBJQkZfT0JK Qk9EWSh2b2lkLCkgaXMgaW52YWxpZCB3aXRoIHRoZSBmYWxsYmFjayBkZWZpbml0aW9uLg0KSeKA mXZlIHVwZGF0ZWQgdGhlIHBhdGNoLiBJ4oCZbGwgdGVzdCBpdCB0b2RheSBhbmQgcmVwb3J0IGJh Y2suDQoNCmBgYA0KLS0tIGEvY29tcGlsZS5jDQorKysgYi9jb21waWxlLmMNCkBAIC0xMjkyMSwx MCArMTI5MjEsMTIgQEAgc3RhdGljIFZBTFVFDQogaWJmX2xvYWRfb2JqZWN0X2Zsb2F0KGNvbnN0 IHN0cnVjdCBpYmZfbG9hZCAqbG9hZCwgY29uc3Qgc3RydWN0IGliZl9vYmplY3RfaGVhZGVyICpo ZWFkZXIsIGliZl9vZmZzZXRfdCBvZmZzZXQpDQogew0KLSAgICBjb25zdCBkb3VibGUgKmRibHAg PSBJQkZfT0JKQk9EWShkb3VibGUsIG9mZnNldCk7DQotICAgIHJldHVybiBEQkwyTlVNKCpkYmxw KTsNCisgICAgY29uc3QgZG91YmxlICpkYmxwID0gSUJGX09CSkJPRFkoZG91YmxlLCBvZmZzZXQp Ow0KKyAgICAvKiBJQkYgYnVmZmVyIG1heSBiZSB1bmFsaWduZWQ7IGxvYWRpbmcgYSBkb3VibGUg ZGlyZWN0bHkgKFZGUCB2bGRyKQ0KKyAgICAgKiBmcm9tIGFuIHVuYWxpZ25lZCBhZGRyZXNzIGNh dXNlcyBTSUdCVVMgb24gYXJtdjcuICovDQorICAgIGRvdWJsZSBkOw0KKyAgICBtZW1jcHkoJmQs IGRibHAsIHNpemVvZiBkKTsNCisgICAgcmV0dXJuIERCTDJOVU0oZCk7DQogfQ0KDQpgYGANCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMyMTU2OTogW2Fy bXY3LCBtdXNsXSBTSUdCVVMgaW4gaWJmX2xvYWRfb2JqZWN0X2Zsb2F0IGR1ZSB0byB1bmFsaWdu ZWQgVkZQIGRvdWJsZSBsb2FkIHdoZW4gcmVhZGluZyBJQkYNCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8yMTU2OSNjaGFuZ2UtMTE0NTYwDQoNCiogQXV0aG9yOiBhbWFjeHogKEFs ZWtzZXkgTWF4aW1vdikNCiogU3RhdHVzOiBPcGVuDQoqIHJ1YnkgLXY6IHJ1YnkgMy4zLjggKDIw MjUtMDQtMDkgcmV2aXNpb24gYjIwMGJhZDZjZCkgW2FybXY3YS1saW51eC1tdXNsZWFiaWhmXQ0K KiBCYWNrcG9ydDogMy4yOiBVTktOT1dOLCAzLjM6IFVOS05PV04sIDMuNDogVU5LTk9XTg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRW52aXJvbm1lbnQ6DQogIENQ VTogQVJNdjctQSAoTlZJRElBIFRlZ3JhIDIpLCBWRlB2My1EMTYsIG5vIE5FT04NCiAgT1MvbGli YzogTGludXgsIG11c2wgKGxkLW11c2wtYXJtaGYuc28uMSkNCiAgQ29tcGlsZXI6IEdDQyAxNC4z LjANCiAgUnVieTogMy4zLjggKGJ1aWx0IGZyb20gc291cmNlIHZpYSBHZW50b28gZWJ1aWxkKQ0K ICBDRkxBR1MgYWN0dWFsbHkgdXNlZCBieSBzeXN0ZW06ICItT3MgLXBpcGUgLW1hcmNoPWFybXY3 LWEgLW1mcHU9dmZwdjMtZDE2IC1tZmxvYXQtYWJpPWhhcmQiDQoNCg0KRHVyaW5nIG1ha2UgaW5z dGFsbCAob3IgR2VudG9v4oCZcyBlYnVpbGQgaW5zdGFsbCBwaGFzZSkgUnVieSBydW5zOg0KYGBg IHNoZWxsDQouL21pbmlydWJ5IC1JLi9saWIgLUkuIC1JLmV4dC9jb21tb24gLi90b29sL3J1bnJ1 YnkucmIgLS1leHRvdXQ9LmV4dCAtLSBcDQogIC0tZGlzYWJsZS1nZW1zIC1yLi9hcm12N2EtbGlu dXgtbXVzbGVhYmloZi1mYWtlIC4vdG9vbC9yYmluc3RhbGwucmIgXA0KICAtLW1ha2U9bWFrZSAt LWRlc3QtZGlyPSIkRCIgLS1leHRvdXQ9LmV4dCAtLWV4dC1idWlsZC1kaXI9Li9leHQgXA0KICAt LW1mbGFncz0iLWoxIiAtLW1ha2UtZmxhZ3M9IiBWPTEiIC0tZ251bWFrZSAtLWluc3RhbGw9YWxs IC0tZXhjbHVkZT1kb2MNCg0KYGBgDQpUaGlzIHJlbGlhYmx5IHRyaWdnZXJzIGEgU0lHQlVTIG9u IGFybXY3IGhhcmQtZmxvYXQuDQoNCk9ic2VydmVkIGNyYXNoOg0KDQpgYGANClRocmVhZCAicnVi eTMzIiByZWNlaXZlZCBzaWduYWwgU0lHQlVTIChCdXMgZXJyb3IpLg0KIzAgIGliZl9sb2FkX29i amVjdF9mbG9hdCAoKSBmcm9tIGxpYnJ1YnkzMy5zby4zLjMNCihnZGIpIGJ0DQojMCAgaWJmX2xv YWRfb2JqZWN0X2Zsb2F0DQojMSAgaWJmX2xvYWRfb2JqZWN0DQojMiAgcmJfaWJmX2xvYWRfaXNl cV9jb21wbGV0ZQ0KIzMgIGliZl9sb2FkX2lzZXENCiM0ICAuLi4NCihnZGIpIGluZm8gcmVnDQpy MCA9IDB4YjZmNTA4YjYgIChub3QgOC1ieXRlIGFsaWduZWQpDQpwYyA9IDB4YjZjYWNmNzggPGli Zl9sb2FkX29iamVjdF9mbG9hdCszMj4NCihnZGIpIHgvNmkgJHBjLTgNCiAgIC4uLg0KICAgMHhi NmNhY2Y3NDogdmxkciBkMCwgW3IwXSAgIDwtLSBWRlAgZG91YmxlIGxvYWQgZnJvbSB1bmFsaWdu ZWQgYWRkciDihpIgU0lHQlVTDQoNCmBgYA0KDQpSb290IGNhdXNlDQpJbiBjb21waWxlLmM6DQoN CmBgYCBjDQpzdGF0aWMgVkFMVUUNCmliZl9sb2FkX29iamVjdF9mbG9hdChjb25zdCBzdHJ1Y3Qg aWJmX2xvYWQgKmxvYWQsIGNvbnN0IHN0cnVjdCBpYmZfb2JqZWN0X2hlYWRlciAqaGVhZGVyLCBp YmZfb2Zmc2V0X3Qgb2Zmc2V0KQ0Kew0KICAgIGNvbnN0IGRvdWJsZSAqZGJscCA9IElCRl9PQkpC T0RZKGRvdWJsZSwgb2Zmc2V0KTsNCiAgICByZXR1cm4gREJMMk5VTSgqZGJscCk7DQp9DQoNCmBg YA0KDQpJQkZfT0JKQk9EWShkb3VibGUsIC4uLikgbWF5IHJldHVybiBhbiB1bmFsaWduZWQgcG9p bnRlci4gT24gQVJNdjcsIFZGUCB2bGRyIHdpdGggYW4gdW5hbGlnbmVkIGRvdWJsZSBhZGRyZXNz IHJhaXNlcyBTSUdCVVMgKG5vIGtlcm5lbCBmaXh1cCkuIEhlbmNlIHRoZSBjcmFzaCB3aGlsZSBs b2FkaW5nIElCRi4NCg0KUHJvcG9zZWQgZml4DQpSZWFkIGludG8gYW4gYWxpZ25lZCBsb2NhbCB3 aXRoIG1lbWNweToNCg0KYGBgDQotLS0gYS9jb21waWxlLmMNCisrKyBiL2NvbXBpbGUuYw0KQEAg LTEyOTIxLDEwICsxMjkyMSwxMiBAQCBzdGF0aWMgVkFMVUUNCiBpYmZfbG9hZF9vYmplY3RfZmxv YXQoY29uc3Qgc3RydWN0IGliZl9sb2FkICpsb2FkLCBjb25zdCBzdHJ1Y3QgaWJmX29iamVjdF9o ZWFkZXIgKmhlYWRlciwgaWJmX29mZnNldF90IG9mZnNldCkNCiB7DQotICAgIGNvbnN0IGRvdWJs ZSAqZGJscCA9IElCRl9PQkpCT0RZKGRvdWJsZSwgb2Zmc2V0KTsNCi0gICAgcmV0dXJuIERCTDJO VU0oKmRibHApOw0KKyAgICAvKiBJQkYgYnVmZmVyIG1heSBiZSB1bmFsaWduZWQgb24gc29tZSBw bGF0Zm9ybXMuIE9uIEFSTXY3LCBhIFZGUA0KKyAgICAgKiBkb3VibGUgbG9hZCBmcm9tIGFuIHVu YWxpZ25lZCBhZGRyZXNzIGNhdXNlcyBTSUdCVVMuICovDQorICAgIGRvdWJsZSBkOw0KKyAgICBt ZW1jcHkoJmQsIElCRl9PQkpCT0RZKHZvaWQsIG9mZnNldCksIHNpemVvZihkKSk7DQorICAgIHJl dHVybiBEQkwyTlVNKGQpOw0KIH0NCg0KYGBgDQoNCk5vdGVzOg0KVGhlIGlzc3VlIHJlcHJvZHVj ZXMgY29uc2lzdGVudGx5IG9uIFRlZ3JhMiAoYXJtdjdhLCB2ZnB2My1kMTYsIG5vIE5FT04pIHdp dGggbXVzbCwgYnV0IChJTU8pIGNvbmNlcHR1YWxseSBhcHBsaWVzIHRvIGFueSBzdHJpY3QtYWxp Z25tZW50IEFSTXY3IHBsYXRmb3JtLg0KQSBzaW1pbGFyIGF1ZGl0IG1heSBiZSByZXF1aXJlZCBm b3Igb3RoZXIgSUJGIGxvYWRlcnMgcmVhZGluZyA4LWJ5dGUgdHlwZXMuDQpQbGVhc2UgcmV2aWV3 IGFuZCBtZXJnZSB0aGUgZml4IChvciBpbXBsZW1lbnQgYW4gZXF1aXZhbGVudCBhbGlnbm1lbnQt c2FmZSByZWFkIGZvciBJQkYgZmxvYXRzKS4gDQpJIGNhbiB0ZXN0IGFueSBwcm9wb3NlZCBwYXRj aCBvbiB0aGlzIGhhcmR3YXJlLg0KDQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCmNvbXBpbGVfYW5kX2RlYnVnX2xvZy50eHQgKDMxLjMgS0IpDQoNCg0KLS0gDQpo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1s LnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3Jl LWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVi eS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8K