mirror of https://github.com/xqemu/xqemu.git
hw/virtio/virtio-balloon: zero-initialize the virtio_balloon_config struct
In virtio_balloon_get_config() we initialize a struct virtio_balloon_config which we then copy to guest memory. However, the local variable is not zero initialized. This works OK at the moment because we initialize all the fields in it; however an upcoming kernel header change will add some new fields. If we don't zero out the whole struct then we will start leaking a small amount of the contents of QEMU's stack to the guest as soon as we update linux-headers/ to a set of headers that includes the new fields. Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20190118183603.24757-1-peter.maydell@linaro.org
This commit is contained in:
parent
cce871c504
commit
5385a5988c
|
@ -311,7 +311,7 @@ out:
|
|||
static void virtio_balloon_get_config(VirtIODevice *vdev, uint8_t *config_data)
|
||||
{
|
||||
VirtIOBalloon *dev = VIRTIO_BALLOON(vdev);
|
||||
struct virtio_balloon_config config;
|
||||
struct virtio_balloon_config config = {};
|
||||
|
||||
config.num_pages = cpu_to_le32(dev->num_pages);
|
||||
config.actual = cpu_to_le32(dev->actual);
|
||||
|
|
Loading…
Reference in New Issue