⬢ DragonFlyBSD Kernel Audit
DF-4932 / run.2.log
← back to finding ↓ download raw
===== BASELINE (table/dispatch verbatim) =====
== DF-4932 replica: dce110 table gap -> NULL info->funcs ==
mode: BASELINE (table/dispatch verbatim)

enum: VUPDATE1=72 VBLANK1=78 DC1_VLINE0=84 DC6_VLINE0=89 DAL_IRQ_SOURCES_NUMBER=90

table[84] (.funcs == NULL)  <-- uncovered enum value
table[85] (.funcs == NULL)  <-- uncovered enum value
table[86] (.funcs == NULL)  <-- uncovered enum value
table[87] (.funcs == NULL)  <-- uncovered enum value
table[88] (.funcs == NULL)  <-- uncovered enum value
table[89] (.funcs == NULL)  <-- uncovered enum value

6 NULL-funcs entries in irq_source_info_dce110[]

DC_IRQ_ERR: dal_irq_service_set: cannot find irq info table entry for 90
control OOB-index set: rejected by find_irq_source_info (ok)
control PFLIP1 set: ok, enable_reg=0x00001200 -> 0x00000001

trigger: dal_irq_service_set(DC_IRQ_SOURCE_DC1_VLINE0=84)
   -> dal_irq_service_ack -> `info->funcs->ack` (irq_service.c:152) with funcs==NULL ...
Segmentation fault (core dumped)
EXIT=139

===== FIXED =====
== DF-4932 replica: dce110 table gap -> NULL info->funcs ==
mode: FIXED (vline0 dummy entries + funcs NULL guards)

enum: VUPDATE1=72 VBLANK1=78 DC1_VLINE0=84 DC6_VLINE0=89 DAL_IRQ_SOURCES_NUMBER=90


0 NULL-funcs entries in irq_source_info_dce110[]

DC_IRQ_ERR: dal_irq_service_set: cannot find irq info table entry for 90
control OOB-index set: rejected by find_irq_source_info (ok)
control PFLIP1 set: ok, enable_reg=0x00001200 -> 0x00000001

trigger: dal_irq_service_set(DC_IRQ_SOURCE_DC1_VLINE0=84)
   -> dal_irq_service_ack -> `info->funcs->ack` (irq_service.c:152) with funcs==NULL ...
DC_IRQ_ERR: dal_irq_service_dummy_ack: called for non-implemented irq source
DC_IRQ_ERR: dal_irq_service_dummy_set: called for non-implemented irq source
survived the VLINE0 set (fixed behavior)
EXIT=0