⬢ DragonFlyBSD Kernel Audit
DF-4479 / run.log
← back to finding ↓ download raw
# BASELINE (stock kernel, fresh vinum module).  Full program output:
create "drive d0": rc=-1 errno=1 err=1986622052 msg="e d0"
create "sd name s0 drive d0 len 2048s driveoffset 0s": rc=-1 errno=1 err=<str> msg="ame s0 ..."
readback: struct sd size = 208
after create: sd0 state=sd_crashed
SETSTATE(sd0, object_initializing, force)      -> reply.error=0 msg="" actual sd0 state=5(sd_initializing)
SETSTATE(sd0, object_initialized, force)       -> reply.error=16 msg="Can't set state" actual sd0 state=13(sd_up)
SETSTATE(sd0, object_initialized, force) again -> reply.error=16 msg="Can't set state" actual sd0 state=13(sd_up)
# Kernel log of the same sequence (dmesg):
vinum: s0 is initializing by force
vinum: s0 is initialized by force
vinum: s0 is up            <- update_plex_state()->forceup() promoted it past initialized
# The ioctl reports EBUSY ("Can't set state") for a transition the kernel
# actually performed (5 -> 6, then forceup -> 13): the 1046 comparison
# against sd_initializing (the state we came FROM) can never be satisfied.