DF-4000 / run.log
sizeof: GraphicsLevel=48 MemoryLevel=72 MCArbDramTimingTable=384 (stack) MCRegisterSet.data entries=4 crafted VBIOS: sclk dep ucNumEntries=12 mclk dep ucNumEntries=6 (both pass unclamped through processpptables.c:391 and smu7_hwmgr.c:689-711) GraphicsLevel[8]: +48 bytes past the GraphicsLevel[8] array -> 4/12 GraphicsLevel writes OOB (max +192 bytes past the array end, walking MemoryACPILevel/MemoryLevel/LinkLevel/ACPILevel/Smio and beyond inside smc_state_table) -> GraphicsLevel[count-1] store at :997 indexes [11] MemoryLevel[4]: +72 bytes past the MemoryLevel[4] array -> 2/6 MemoryLevel writes OOB (max +144 bytes past the array end, walking LinkLevel/ACPILevel/...; smc_state_table is followed by power_tune_table/ulv_setting/mc_regs/mc_reg_table inside the kzalloc'd iceland_smumgr) -> MemoryLevel[count-1] store at :1385 indexes [5] arb_regs.entries[7][4]: linear entry 32 of 32 -> +12 bytes past the 384-byte STACK object -> 26 of 72 stack-table writes OOB (max linear entry 49, i.e. +216 bytes past the stack object) -> 2/6 mc_regs.data[] writes OOB (past data[4] into the rest of SMU71_Discrete_MCRegisters / iceland_smumgr), plus smu7_copy_bytes_to_smc of sizeof(MCRegisterSet)*6 at :1798 reads past mc_regs upstream: smu7_setup_dpm_tables_v0 also writes dpm_levels[8..11] past dpm_levels[8] (smu7_hwmgr.c:689-711; DF-1166) DONE (source-certain; kernel fault itself hardware-gated - needs a Topaz/ICELAND GPU with the crafted VBIOS) RUN_RC=0