ide: Initialise buffers with zeros
Just in case there's still a way how a guest can read out buffers when it's not supposed to, let's zero the buffers during initialisation so that we don't leak information to the guest. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
40c4ed3f95
commit
c925400ba8
@ -1789,9 +1789,13 @@ static void ide_init1(IDEBus *bus, int unit)
|
|||||||
s->unit = unit;
|
s->unit = unit;
|
||||||
s->drive_serial = drive_serial++;
|
s->drive_serial = drive_serial++;
|
||||||
/* we need at least 2k alignment for accessing CDROMs using O_DIRECT */
|
/* we need at least 2k alignment for accessing CDROMs using O_DIRECT */
|
||||||
s->io_buffer = qemu_memalign(2048, IDE_DMA_BUF_SECTORS*512 + 4);
|
|
||||||
s->io_buffer_total_len = IDE_DMA_BUF_SECTORS*512 + 4;
|
s->io_buffer_total_len = IDE_DMA_BUF_SECTORS*512 + 4;
|
||||||
|
s->io_buffer = qemu_memalign(2048, s->io_buffer_total_len);
|
||||||
|
memset(s->io_buffer, 0, s->io_buffer_total_len);
|
||||||
|
|
||||||
s->smart_selftest_data = qemu_blockalign(s->bs, 512);
|
s->smart_selftest_data = qemu_blockalign(s->bs, 512);
|
||||||
|
memset(s->smart_selftest_data, 0, 512);
|
||||||
|
|
||||||
s->sector_write_timer = qemu_new_timer_ns(vm_clock,
|
s->sector_write_timer = qemu_new_timer_ns(vm_clock,
|
||||||
ide_sector_write_timer_cb, s);
|
ide_sector_write_timer_cb, s);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user