Changes in kernel/generic/src/mm/backend_elf.c [5df1963:83b6ba9f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/backend_elf.c
r5df1963 r83b6ba9f 75 75 .page_fault = elf_page_fault, 76 76 .frame_free = elf_frame_free, 77 78 .create_shared_data = NULL, 79 .destroy_shared_data = NULL 77 80 }; 78 81 … … 274 277 start_anon = entry->p_vaddr + entry->p_filesz; 275 278 276 if (area->sh_info) { 279 mutex_lock(&area->sh_info->lock); 280 if (area->sh_info->shared) { 277 281 bool found = false; 278 282 … … 281 285 */ 282 286 283 mutex_lock(&area->sh_info->lock);284 287 frame = (uintptr_t) btree_search(&area->sh_info->pagemap, 285 288 upage - area->base, &leaf); … … 384 387 } 385 388 386 if (dirty && area->sh_info ) {389 if (dirty && area->sh_info->shared) { 387 390 frame_reference_add(ADDR2PFN(frame)); 388 391 btree_insert(&area->sh_info->pagemap, upage - area->base, … … 390 393 } 391 394 392 if (area->sh_info) 393 mutex_unlock(&area->sh_info->lock); 395 mutex_unlock(&area->sh_info->lock); 394 396 395 397 page_mapping_insert(AS, upage, frame, as_area_get_flags(area));
Note:
See TracChangeset
for help on using the changeset viewer.