⬢ DragonFlyBSD Kernel Audit
DF-2491 / fix_run.log
← back to finding ↓ download raw
########## FIXED-KERNEL go=7 ##########
GO_RC=0 (panic lands on serial console if vulnerable)
== DF-2491 go7: FULL PRODUCTION FUNNEL, IDENTIFY variant=1 ==(atavalid=0x0007 current_heads=16 current_sectors=0 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 -> FATAL TRAP 18 at ata-lowlevel.c:783
attach state (kernel's own): child attached, atadev->flags=0x0001 ATA_D_USE_CHS=1 param.atavalid=0x0007 current_heads=16 current_sectors=0; 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)
last_rc=0

########## FIXED-KERNEL go=3 ##########
GO_RC=0 (panic lands on serial console if vulnerable)
== DF-2491 go3: KERNEL OWN chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=2 (CHS crafted current_heads=0 (word 55)) ==
atadev->flags=0x0001 (ATA_D_USE_CHS=1) param.atavalid=0x0007 current_heads=0 current_sectors=63 raw heads=16 sectors=63
EXPECTING FATAL TRAP 18 (integer divide fault) in ata_tf_write at ata-lowlevel.c:785 (lba/(sectors*heads))
ata_controlcmd RETURNED rc=0 (no panic)
go3 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go3 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go3 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go3 CHS taskfile CORRECT
last_rc=1

########## FIXED-KERNEL go=5 ##########
GO_RC=0 (panic lands on serial console if vulnerable)
== DF-2491 go5: VERBATIM COPY chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=1 (CHS crafted current_sectors=0 (word 56)) ==
atadev->flags=0x0001 (ATA_D_USE_CHS=1) param.atavalid=0x0007 current_heads=16 current_sectors=0 raw heads=16 sectors=63
EXPECTING FATAL TRAP 18 (integer divide fault) in ata_tf_write at ata-lowlevel.c:783 (lba%%sectors)
ata_controlcmd RETURNED rc=0 (no panic)
go5 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go5 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go5 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go5 CHS taskfile CORRECT
last_rc=1

########## FIXED-KERNEL go=10 ##########
GO_RC=0 (panic lands on serial console if vulnerable)
== DF-2491 go10: KERNEL OWN chain, ata_controlcmd(ATA_READ, lba=0x1234, count=1), variant=4 (CHS crafted raw sectors=0 (word 6, no word53 bit)) ==
atadev->flags=0x0001 (ATA_D_USE_CHS=1) param.atavalid=0x0000 current_heads=16 current_sectors=63 raw heads=16 sectors=0
EXPECTING FATAL TRAP 18 (integer divide fault) in ata_tf_write at ata-lowlevel.c:783 (lba%%sectors)
ata_controlcmd RETURNED rc=0 (no panic)
go10 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go10 taskfile: FEATURE=0x00 COUNT=0x01 SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9 COMMAND=0x20
go10 expected (heads=16 sectors=63): SECTOR=0x3e CYL_LSB=0x04 CYL_MSB=0x00 DRIVE=0xa9
go10 CHS taskfile CORRECT
last_rc=1

########## FIXED-KERNEL go=9 ##########
GO_RC=0 (panic lands on serial console if vulnerable)
== DF-2491 go9: FULL PRODUCTION FUNNEL, IDENTIFY variant=2 ==(atavalid=0x0007 current_heads=0 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 -> FATAL TRAP 18 at ata-lowlevel.c:785
attach state (kernel's own): child attached, atadev->flags=0x0001 ATA_D_USE_CHS=1 param.atavalid=0x0007 current_heads=0 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)
last_rc=0