memory: Do not allow direct write access to rom_device regions
authorAlexander Duyck <alexander.h.duyck@linux.intel.com>
Fri, 10 Apr 2020 03:41:50 +0000 (20:41 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 13 Apr 2020 06:56:18 +0000 (02:56 -0400)
commitd489ae4ac57ebe14bde8384556cbac237ead988d
tree13decef18302ed6153b05ba5974918cd61dbc48b
parent1148e4f4dc22f8efe3419fda4ca4f0a7369ef94a
memory: Do not allow direct write access to rom_device regions

According to the documentation in memory.h a ROM memory region will be
backed by RAM for reads, but is supposed to go through a callback for
writes. Currently we were not checking for the existence of the rom_device
flag when determining if we could perform a direct write or not.

To correct that add a check to memory_region_is_direct so that if the
memory region has the rom_device flag set we will return false for all
checks where is_write is set.

Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Message-Id: <20200410034150.24738.98143.stgit@localhost.localdomain>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
include/exec/memory.h