This patch from Tavis Ormandy <[EMAIL PROTECTED]> fixes an infinite loop in the emulated SB16 device.
See http://taviso.decsystem.org/virtsec.pdf for more details. --- hw/sb16.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/sb16.c b/hw/sb16.c index c22de7a..b2a3a70 100644 --- a/hw/sb16.c +++ b/hw/sb16.c @@ -1246,8 +1246,10 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) s->block_size); #endif - while (s->left_till_irq <= 0) { - s->left_till_irq = s->block_size + s->left_till_irq; + if (s->block_size) { + while (s->left_till_irq <= 0) { + s->left_till_irq = s->block_size + s->left_till_irq; + } } return dma_pos; -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net