OSDN Git Service

migration/ram: Rely on used_length for uffd_change_protection()
authorDavid Hildenbrand <david@redhat.com>
Thu, 5 Jan 2023 12:45:27 +0000 (13:45 +0100)
committerJuan Quintela <quintela@redhat.com>
Mon, 6 Feb 2023 18:22:56 +0000 (19:22 +0100)
commit59bcc049c17a50d8ac0353f164f597e7d904589d
treee22606a9fde283db4105f258baf7e610d415cc04
parent7cc8e9e0fadc734065d4d5c9cb0bd8997e743146
migration/ram: Rely on used_length for uffd_change_protection()

ram_mig_ram_block_resized() will abort migration (including background
snapshots) when resizing a RAMBlock. ram_block_populate_read() will only
populate RAM up to used_length, so at least for anonymous memory
protecting everything between used_length and max_length won't
actually be protected and is just a NOP.

So let's only protect everything up to used_length.

Note: it still makes sense to register uffd-wp for max_length, such
that RAM_UF_WRITEPROTECT is independent of a changing used_length.

Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
migration/ram.c