DF-4814 / run.log
== variant A: minimal 1536-byte DMC file ==
DF-4814 harness: fw file 1536 bytes, num_entries=0x08000000, fw_info[] holds 20 entries (256 bytes)
SIGSEGV/11 at 0x800474003 accessing fw_info[115] (array has 20 entries; fw file ends 3 bytes before fault)
=> unbounded num_entries walk left the buffer and hit an unmapped page.
In-kernel equivalent: page fault in kernel mode -> panic (DoS),
or garbage dmc_offset feeding further OOB indexing at intel_csr.c:372-376.
fw_info[] array ended at i=20 (offset 256 into package hdr); loop bound was num_entries=134217728 => OOB read of up to 1610612736 bytes beyond the array.
exit_A=0
== variant B: 1 MiB DMC file (shows file size does not bound the walk) ==
DF-4814 harness: fw file 1048576 bytes, num_entries=0x08000000, fw_info[] holds 20 entries (256 bytes)
SIGSEGV/11 at 0x80057300b accessing fw_info[87369] (array has 20 entries; fw file ends 11 bytes before fault)
=> unbounded num_entries walk left the buffer and hit an unmapped page.
In-kernel equivalent: page fault in kernel mode -> panic (DoS),
or garbage dmc_offset feeding further OOB indexing at intel_csr.c:372-376.
fw_info[] array ended at i=20 (offset 256 into package hdr); loop bound was num_entries=134217728 => OOB read of up to 1610612736 bytes beyond the array.
exit_B=0