diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2017-01-19 21:34:28 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2017-02-01 03:37:17 +0200 |
commit | ec42813028d9ede3f9f73b8c943b00ff235ba0c1 (patch) | |
tree | d0a836e804255ae0cb63f8c091a642bcc092304d /hw/pci | |
parent | ed63ec0d22ccdce3b2222d9a514423b7fbba3a0d (diff) | |
download | qemu-ec42813028d9ede3f9f73b8c943b00ff235ba0c1.zip qemu-ec42813028d9ede3f9f73b8c943b00ff235ba0c1.tar.gz qemu-ec42813028d9ede3f9f73b8c943b00ff235ba0c1.tar.bz2 |
pci: mark ROMs read-only
Looks like we didn't mark PCI ROMs as RO allowing
mischief such as guests writing there.
Further, e.g. vhost gets confused trying to allocate
enough space to log writes there. Fix it up.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Diffstat (limited to 'hw/pci')
-rw-r--r-- | hw/pci/pci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 47ca3af..a563555 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2195,7 +2195,7 @@ static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom, snprintf(name, sizeof(name), "%s.rom", object_get_typename(OBJECT(pdev))); } pdev->has_rom = true; - memory_region_init_ram(&pdev->rom, OBJECT(pdev), name, size, &error_fatal); + memory_region_init_rom(&pdev->rom, OBJECT(pdev), name, size, &error_fatal); vmstate_register_ram(&pdev->rom, &pdev->qdev); ptr = memory_region_get_ram_ptr(&pdev->rom); load_image(path, ptr); |