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

enum: HPD6=6 HPD1RX=7 HPD6RX=12 PFLIP1=26 GPIOPAD0=33 DC1UNDERFLOW=64 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_dce80[]

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=0x00002200 -> 0x00000001
control HPD1 ack: hpd_ack ran, polarity bit -> 0xfffffffb (ok)
control to_dal sweep (256 src x 13 ext): 246 mapped to covered sources, 0 to VLINE0 84..89 (expect 0) (ok -- latent)

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 ...
baseline exit=139

=== fixed ===
Segmentation fault (core dumped)
== DF-5054 replica: dce80 table gap -> NULL info->funcs ==
mode: FIXED (six VLINE0 dummy entries)

enum: HPD6=6 HPD1RX=7 HPD6RX=12 PFLIP1=26 GPIOPAD0=33 DC1UNDERFLOW=64 VUPDATE1=72 VBLANK1=78 DC1_VLINE0=84 DC6_VLINE0=89 DAL_IRQ_SOURCES_NUMBER=90


0 NULL-funcs entries in irq_source_info_dce80[]

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=0x00002200 -> 0x00000001
control HPD1 ack: hpd_ack ran, polarity bit -> 0xfffffffb (ok)
control to_dal sweep (256 src x 13 ext): 246 mapped to covered sources, 0 to VLINE0 84..89 (expect 0) (ok -- latent)

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)
fixed exit=0