⬢ DragonFlyBSD Kernel Audit
DF-2491 / run_control.log
← back to finding ↓ download raw
DF-2491 stock-kernel CONTROL runs (same boot, module loaded at boot,
stock INVARIANTS kernel, pristine /usr/src == audited tree).
Non-fatal scenarios; output of `sysctl -n kern.dfrig2491.status`.

########## STOCK go=1: CONTROL, kernel own chain, CHS sane (current 16/63) ##########
== DF-2491 go1: KERNEL OWN chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=0 (CHS sane (current 16/63)) ==
atadev->flags=0x0001 (ATA_D_USE_CHS=1) param.atavalid=0x0007 current_heads=16 current_sectors=63 raw heads=16 sectors=63
EXPECTING: request completes (result=0), taskfile registers written to the register file
ata_controlcmd RETURNED rc=0 (no panic)
go1 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go1 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go1 CHS taskfile CORRECT
last_rc=1

########## STOCK go=4: CONTROL, kernel own chain, LBA mode ##########
== DF-2491 go4: KERNEL OWN chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=3 (LBA mode (no ATA_D_USE_CHS)) ==
atadev->flags=0x0000 (ATA_D_USE_CHS=0) param.atavalid=0x0007 current_heads=16 current_sectors=63 raw heads=16 sectors=63
EXPECTING: request completes (result=0), taskfile registers written to the register file
ata_controlcmd RETURNED rc=0 (no panic)
go4 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x34 CYL_LSB=0x12 CYL_MSB=0x00 DRIVE=0xe0 COMMAND=0x20
go4 expected (LBA): SECTOR=0x34 CYL_LSB=0x12 CYL_MSB=0x00 DRIVE=0xe0
go4 LBA taskfile CORRECT
last_rc=1

########## STOCK go=6: CONTROL, verbatim #included copy, CHS sane ##########
== DF-2491 go6: VERBATIM COPY chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=0 (CHS sane (current 16/63)) ==
atadev->flags=0x0001 (ATA_D_USE_CHS=1) param.atavalid=0x0007 current_heads=16 current_sectors=63 raw heads=16 sectors=63
EXPECTING: request completes (result=0), taskfile registers written to the register file
ata_controlcmd RETURNED rc=0 (no panic)
go6 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go6 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go6 CHS taskfile CORRECT
last_rc=1

########## STOCK go=8: CONTROL, FULL PRODUCTION FUNNEL, sane CHS IDENTIFY ##########
== DF-2491 go8: FULL PRODUCTION FUNNEL, IDENTIFY variant=0 ==(atavalid=0x0007 current_heads=16 current_sectors=63 raw 16383/16/63 version_major=0x0000 lba_size=0)==
firing the kernel's own ata_identify(): real getparam parse, real newbus child, real ad_probe/ad_attach ...
EXPECTING: ad_attach SURVIVES (ad_get_geometry guard falls to raw 16/63, ata-disk.c:469-480), ATA_D_USE_CHS set (:485-486); then first I/O completes cleanly
attach state (kernel's own): child attached, atadev->flags=0x0001 ATA_D_USE_CHS=1 param.atavalid=0x0007 current_heads=16 current_sectors=63; adp->heads=16 adp->sectors=63 total_secs=0
hw stats: identify=1 reads=4 ctl=0
GATE CHECK OK: the kernel's own ad_get_geometry (ata-disk.c:485-486) set ATA_D_USE_CHS for this device
ata_controlcmd RETURNED rc=0 (no panic)
go8 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go8 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go8 CHS taskfile CORRECT
last_rc=1

Serial console breadcrumbs (stock boot, scenario 8):
  dfrig2491[go8]: firing PRODUCTION ata_identify() (funnel variant=0)
  ad0: 0MB <DF2491 SANE GEOM DIS FW000001> at ata0-master PIO4
  dfrig2491[go8]: ata_identify RETURNED
  dfrig2491[go8]: hw seam swapped to the REAL kernel chain; firing FIRST I/O (ata_controlcmd ATA_READ lba=0x1234)
  dfrig2491: scenario 8 DONE (seq=4)