Changes in kernel/generic/src/mm/backend_elf.c [83b6ba9f:59fb782] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/backend_elf.c
r83b6ba9f r59fb782 75 75 .page_fault = elf_page_fault, 76 76 .frame_free = elf_frame_free, 77 78 .create_shared_data = NULL,79 .destroy_shared_data = NULL80 77 }; 81 78 … … 277 274 start_anon = entry->p_vaddr + entry->p_filesz; 278 275 279 mutex_lock(&area->sh_info->lock); 280 if (area->sh_info->shared) { 276 if (area->sh_info) { 281 277 bool found = false; 282 278 … … 285 281 */ 286 282 283 mutex_lock(&area->sh_info->lock); 287 284 frame = (uintptr_t) btree_search(&area->sh_info->pagemap, 288 285 upage - area->base, &leaf); … … 387 384 } 388 385 389 if (dirty && area->sh_info ->shared) {386 if (dirty && area->sh_info) { 390 387 frame_reference_add(ADDR2PFN(frame)); 391 388 btree_insert(&area->sh_info->pagemap, upage - area->base, … … 393 390 } 394 391 395 mutex_unlock(&area->sh_info->lock); 392 if (area->sh_info) 393 mutex_unlock(&area->sh_info->lock); 396 394 397 395 page_mapping_insert(AS, upage, frame, as_area_get_flags(area)); … … 431 429 * data. 432 430 */ 433 frame_free_noreserve(frame , 1);431 frame_free_noreserve(frame); 434 432 } 435 433 } else { … … 439 437 * anonymous). In any case, a frame needs to be freed. 440 438 */ 441 frame_free_noreserve(frame , 1);439 frame_free_noreserve(frame); 442 440 } 443 441 }
Note:
See TracChangeset
for help on using the changeset viewer.