Wenn Speicherhotplugged mit der Verwendung von Standard-Linux-Kernel-API mit Standard-Linux-Kernel-API hinzugefügt wird: < /p>
Code: Select all
*add_memory_driver_managed() -> add_memory_resource() -> memblock_add_node() -> memblock_add_range(&memblock.memory, base, size, nid, flags) -> memblock_insert_region(&memblock.memory)*
Zu diesem Zeitpunkt muss der DM_VERITY -Treiber, der Speicher zuteilt/verwendet, überprüfen, ob der zugewiesene Speicher gültig ist oder nicht, indem die Standard -Linux -Kernel -API verwendet wird:
Code: Select all
* verity_work() -> sg_init_one() -> sg_set_buf() -> virt_addr_valid() -> pfn_is_map_memory() -> memblock_is_map_memory() -> memblock_search(&memblock.memory, addr);*
Aufgrund der Konkurrenz um memblock wird in "sg_set_buf ()" von dm_verity treiber ausgelöst. Ursache.