include/system/memory.h: Clarify address_space_destroy() behaviour
address_space_destroy() doesn't actually immediately destroy the AS; it queues it to be destroyed via RCU. This means you can't g_free() the memory the AS struct is in until that has happened. Clarify this in the documentation. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: David Hildenbrand <david@redhat.com> Link: https://lore.kernel.org/r/20250929144228.1994037-2-peter.maydell@linaro.org Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
d943cef760
commit
9e7bfda490
1 changed files with 8 additions and 3 deletions
|
|
@ -2727,9 +2727,14 @@ void address_space_init(AddressSpace *as, MemoryRegion *root, const char *name);
|
|||
/**
|
||||
* address_space_destroy: destroy an address space
|
||||
*
|
||||
* Releases all resources associated with an address space. After an address space
|
||||
* is destroyed, its root memory region (given by address_space_init()) may be destroyed
|
||||
* as well.
|
||||
* Releases all resources associated with an address space. After an
|
||||
* address space is destroyed, the reference the AddressSpace had to
|
||||
* its root memory region is dropped, which may result in the
|
||||
* destruction of that memory region as well.
|
||||
*
|
||||
* Note that destruction of the AddressSpace is done via RCU;
|
||||
* it is therefore not valid to free the memory the AddressSpace
|
||||
* struct is in until after that RCU callback has completed.
|
||||
*
|
||||
* @as: address space to be destroyed
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue