> >Synopsis: Kernel panic in malloc in acpi on boot > >Category: amd64 > >Environment: > System : OpenBSD 7.5 > Details : OpenBSD 7.5 (GENERIC) #79: Wed Mar 20 15:33:49 MDT 2024 > > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > During boot the kernel panics: > > panic: malloc: allocation too large, type = 33, size = 292057776136 > > This is during some ACPI stuff:
The size, in hex, is 0x4400000008, i.e. a merge 272 gigabytes. The _OSC method in your dsdt disassembles as: Method (_OSC, 5, NotSerialized) // _OSC: Operating System Capabilities { Local0 = Arg3 Local1 = (Local0 * 0x04) Name (BUF1, Buffer (Local1){}) BUF1 = Arg4 Local1 = Zero Local2 = Zero While (Local0) { Local2 = (Local1 * 0x04) CreateDWordField (BUF1, Local2, CAPB) If (Arg2) { If ((Local1 == Zero)) { (CAPB & 0xFFFFFFFC) } } Else { } Local1++ Local0-- } Return (BUF1) /* \_SB_.PCI0._OSC.BUF1 */ } ... which his horribly broken since it incorrectly declares 5 arguments insteod of 4. On the OpenBSD side, we can fix the AML interpreter to avoid invoking methods when we do not pass enough arguments. You might want to see if a BIOS update is available for your machine in the meantime.