[ruby-core:123231] [Ruby Bug#21569] [armv7, musl] SIGBUS in ibf_load_object_float due to unaligned VFP double load when reading IBF
From:
"alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date:
2025-09-12 14:28:45 UTC
List:
ruby-core #123231
SXNzdWUgIzIxNTY5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYWxhbnd1IChBbGFuIFd1KS4NCg0KDQo+ IGArICAgIGNvbnN0IGRvdWJsZSAqZGJscCA9IElCRl9PQkpCT0RZKGRvdWJsZSwgb2Zmc2V0KTtg DQoNClRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGBjb25zdCB2b2lkICpkYmxwID0gLi4uYC4gW01l cmVseSBjcmVhdGluZyBhbiB1bmFsaWduZWQgcG9pbnRlciB0cmlnZ2VycyB1bmRlZmluZWQgYmVo YXZpb3JdKGh0dHBzOi8vcG9ydDcwLm5ldC9+bnN6L2MvYzk5L24xMjU2Lmh0bWwjNi4zLjIuM3A3 KS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMyMTU2 OTogW2FybXY3LCBtdXNsXSBTSUdCVVMgaW4gaWJmX2xvYWRfb2JqZWN0X2Zsb2F0IGR1ZSB0byB1 bmFsaWduZWQgVkZQIGRvdWJsZSBsb2FkIHdoZW4gcmVhZGluZyBJQkYNCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnL2lzc3Vlcy8yMTU2OSNjaGFuZ2UtMTE0NTYxDQoNCiogQXV0aG9yOiBhbWFj eHogKEFsZWtzZXkgTWF4aW1vdikNCiogU3RhdHVzOiBPcGVuDQoqIHJ1YnkgLXY6IHJ1YnkgMy4z LjggKDIwMjUtMDQtMDkgcmV2aXNpb24gYjIwMGJhZDZjZCkgW2FybXY3YS1saW51eC1tdXNsZWFi aWhmXQ0KKiBCYWNrcG9ydDogMy4yOiBVTktOT1dOLCAzLjM6IFVOS05PV04sIDMuNDogVU5LTk9X Tg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRW52aXJvbm1lbnQ6 DQogIENQVTogQVJNdjctQSAoTlZJRElBIFRlZ3JhIDIpLCBWRlB2My1EMTYsIG5vIE5FT04NCiAg T1MvbGliYzogTGludXgsIG11c2wgKGxkLW11c2wtYXJtaGYuc28uMSkNCiAgQ29tcGlsZXI6IEdD QyAxNC4zLjANCiAgUnVieTogMy4zLjggKGJ1aWx0IGZyb20gc291cmNlIHZpYSBHZW50b28gZWJ1 aWxkKQ0KICBDRkxBR1MgYWN0dWFsbHkgdXNlZCBieSBzeXN0ZW06ICItT3MgLXBpcGUgLW1hcmNo PWFybXY3LWEgLW1mcHU9dmZwdjMtZDE2IC1tZmxvYXQtYWJpPWhhcmQiDQoNCg0KRHVyaW5nIG1h a2UgaW5zdGFsbCAob3IgR2VudG9v4oCZcyBlYnVpbGQgaW5zdGFsbCBwaGFzZSkgUnVieSBydW5z Og0KYGBgIHNoZWxsDQouL21pbmlydWJ5IC1JLi9saWIgLUkuIC1JLmV4dC9jb21tb24gLi90b29s L3J1bnJ1YnkucmIgLS1leHRvdXQ9LmV4dCAtLSBcDQogIC0tZGlzYWJsZS1nZW1zIC1yLi9hcm12 N2EtbGludXgtbXVzbGVhYmloZi1mYWtlIC4vdG9vbC9yYmluc3RhbGwucmIgXA0KICAtLW1ha2U9 bWFrZSAtLWRlc3QtZGlyPSIkRCIgLS1leHRvdXQ9LmV4dCAtLWV4dC1idWlsZC1kaXI9Li9leHQg XA0KICAtLW1mbGFncz0iLWoxIiAtLW1ha2UtZmxhZ3M9IiBWPTEiIC0tZ251bWFrZSAtLWluc3Rh bGw9YWxsIC0tZXhjbHVkZT1kb2MNCg0KYGBgDQpUaGlzIHJlbGlhYmx5IHRyaWdnZXJzIGEgU0lH QlVTIG9uIGFybXY3IGhhcmQtZmxvYXQuDQoNCk9ic2VydmVkIGNyYXNoOg0KDQpgYGANClRocmVh ZCAicnVieTMzIiByZWNlaXZlZCBzaWduYWwgU0lHQlVTIChCdXMgZXJyb3IpLg0KIzAgIGliZl9s b2FkX29iamVjdF9mbG9hdCAoKSBmcm9tIGxpYnJ1YnkzMy5zby4zLjMNCihnZGIpIGJ0DQojMCAg aWJmX2xvYWRfb2JqZWN0X2Zsb2F0DQojMSAgaWJmX2xvYWRfb2JqZWN0DQojMiAgcmJfaWJmX2xv YWRfaXNlcV9jb21wbGV0ZQ0KIzMgIGliZl9sb2FkX2lzZXENCiM0ICAuLi4NCihnZGIpIGluZm8g cmVnDQpyMCA9IDB4YjZmNTA4YjYgIChub3QgOC1ieXRlIGFsaWduZWQpDQpwYyA9IDB4YjZjYWNm NzggPGliZl9sb2FkX29iamVjdF9mbG9hdCszMj4NCihnZGIpIHgvNmkgJHBjLTgNCiAgIC4uLg0K ICAgMHhiNmNhY2Y3NDogdmxkciBkMCwgW3IwXSAgIDwtLSBWRlAgZG91YmxlIGxvYWQgZnJvbSB1 bmFsaWduZWQgYWRkciDihpIgU0lHQlVTDQoNCmBgYA0KDQpSb290IGNhdXNlDQpJbiBjb21waWxl LmM6DQoNCmBgYCBjDQpzdGF0aWMgVkFMVUUNCmliZl9sb2FkX29iamVjdF9mbG9hdChjb25zdCBz dHJ1Y3QgaWJmX2xvYWQgKmxvYWQsIGNvbnN0IHN0cnVjdCBpYmZfb2JqZWN0X2hlYWRlciAqaGVh ZGVyLCBpYmZfb2Zmc2V0X3Qgb2Zmc2V0KQ0Kew0KICAgIGNvbnN0IGRvdWJsZSAqZGJscCA9IElC Rl9PQkpCT0RZKGRvdWJsZSwgb2Zmc2V0KTsNCiAgICByZXR1cm4gREJMMk5VTSgqZGJscCk7DQp9 DQoNCmBgYA0KDQpJQkZfT0JKQk9EWShkb3VibGUsIC4uLikgbWF5IHJldHVybiBhbiB1bmFsaWdu ZWQgcG9pbnRlci4gT24gQVJNdjcsIFZGUCB2bGRyIHdpdGggYW4gdW5hbGlnbmVkIGRvdWJsZSBh ZGRyZXNzIHJhaXNlcyBTSUdCVVMgKG5vIGtlcm5lbCBmaXh1cCkuIEhlbmNlIHRoZSBjcmFzaCB3 aGlsZSBsb2FkaW5nIElCRi4NCg0KUHJvcG9zZWQgZml4DQpSZWFkIGludG8gYW4gYWxpZ25lZCBs b2NhbCB3aXRoIG1lbWNweToNCg0KYGBgDQotLS0gYS9jb21waWxlLmMNCisrKyBiL2NvbXBpbGUu Yw0KQEAgLTEyOTIxLDEwICsxMjkyMSwxMiBAQCBzdGF0aWMgVkFMVUUNCiBpYmZfbG9hZF9vYmpl Y3RfZmxvYXQoY29uc3Qgc3RydWN0IGliZl9sb2FkICpsb2FkLCBjb25zdCBzdHJ1Y3QgaWJmX29i amVjdF9oZWFkZXIgKmhlYWRlciwgaWJmX29mZnNldF90IG9mZnNldCkNCiB7DQotICAgIGNvbnN0 IGRvdWJsZSAqZGJscCA9IElCRl9PQkpCT0RZKGRvdWJsZSwgb2Zmc2V0KTsNCi0gICAgcmV0dXJu IERCTDJOVU0oKmRibHApOw0KKyAgICAvKiBJQkYgYnVmZmVyIG1heSBiZSB1bmFsaWduZWQgb24g c29tZSBwbGF0Zm9ybXMuIE9uIEFSTXY3LCBhIFZGUA0KKyAgICAgKiBkb3VibGUgbG9hZCBmcm9t IGFuIHVuYWxpZ25lZCBhZGRyZXNzIGNhdXNlcyBTSUdCVVMuICovDQorICAgIGRvdWJsZSBkOw0K KyAgICBtZW1jcHkoJmQsIElCRl9PQkpCT0RZKHZvaWQsIG9mZnNldCksIHNpemVvZihkKSk7DQor ICAgIHJldHVybiBEQkwyTlVNKGQpOw0KIH0NCg0KYGBgDQoNCk5vdGVzOg0KVGhlIGlzc3VlIHJl cHJvZHVjZXMgY29uc2lzdGVudGx5IG9uIFRlZ3JhMiAoYXJtdjdhLCB2ZnB2My1kMTYsIG5vIE5F T04pIHdpdGggbXVzbCwgYnV0IChJTU8pIGNvbmNlcHR1YWxseSBhcHBsaWVzIHRvIGFueSBzdHJp Y3QtYWxpZ25tZW50IEFSTXY3IHBsYXRmb3JtLg0KQSBzaW1pbGFyIGF1ZGl0IG1heSBiZSByZXF1 aXJlZCBmb3Igb3RoZXIgSUJGIGxvYWRlcnMgcmVhZGluZyA4LWJ5dGUgdHlwZXMuDQpQbGVhc2Ug cmV2aWV3IGFuZCBtZXJnZSB0aGUgZml4IChvciBpbXBsZW1lbnQgYW4gZXF1aXZhbGVudCBhbGln bm1lbnQtc2FmZSByZWFkIGZvciBJQkYgZmxvYXRzKS4gDQpJIGNhbiB0ZXN0IGFueSBwcm9wb3Nl ZCBwYXRjaCBvbiB0aGlzIGhhcmR3YXJlLg0KDQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCmNvbXBpbGVfYW5kX2RlYnVnX2xvZy50eHQgKDMxLjMgS0IpDQoNCg0K LS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1j b3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVi eS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8v bWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9y Zy8K