Changeset 8b863a62 in mainline for kernel/generic/src/mm/backend_elf.c
- Timestamp:
- 2014-04-16T17:14:06Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f857e8b
- Parents:
- dba3e2c (diff), 70b570c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/backend_elf.c
rdba3e2c r8b863a62 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)); … … 429 431 * data. 430 432 */ 431 frame_free_noreserve(frame );433 frame_free_noreserve(frame, 1); 432 434 } 433 435 } else { … … 437 439 * anonymous). In any case, a frame needs to be freed. 438 440 */ 439 frame_free_noreserve(frame );441 frame_free_noreserve(frame, 1); 440 442 } 441 443 }
Note:
See TracChangeset
for help on using the changeset viewer.