//! Disposable three-descriptor block read and malformed-chain rejection. use super::*; pub fn run(boot: &BootData, allocator: &mut memory::FrameAllocator) -> Result<(), &'static str> { let mut disk = virtio_ro_turkfs::RoDisk::open( boot, allocator, "TURKOS/OS/K1485-GET")?; if disk.capacity() < 1 { return Err("k1485-empty-disk"); } disk.reject_cycle_without_publish()?; let mut sector = [0xa5u8; 512]; disk.read(0, &mut sector)?; if sector.iter().any(|&byte| byte != 0) { return Err("k1485-read-data"); } disk.close(allocator)?; write_line("TURKOS/OS/K1485-DESCRIPTORS: SELF-CYCLE=REJECTED GET=512 DATA=ZERO OWNERS=0 FRAMES=RETURNED"); Ok(()) }