Changes in kernel/generic/src/mm/backend_anon.c [5df1963:83b6ba9f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/mm/backend_anon.c
r5df1963 r83b6ba9f 76 76 .page_fault = anon_page_fault, 77 77 .frame_free = anon_frame_free, 78 79 .create_shared_data = NULL, 80 .destroy_shared_data = NULL 78 81 }; 79 82 … … 190 193 return AS_PF_FAULT; 191 194 192 if (area->sh_info) { 195 mutex_lock(&area->sh_info->lock); 196 if (area->sh_info->shared) { 193 197 btree_node_t *leaf; 194 198 … … 200 204 * mapping, a new frame is allocated and the mapping is created. 201 205 */ 202 mutex_lock(&area->sh_info->lock);203 206 frame = (uintptr_t) btree_search(&area->sh_info->pagemap, 204 207 upage - area->base, &leaf); … … 232 235 } 233 236 frame_reference_add(ADDR2PFN(frame)); 234 mutex_unlock(&area->sh_info->lock);235 237 } else { 236 238 … … 254 256 * Reserve the memory for this page now. 255 257 */ 256 if (!reserve_try_alloc(1)) 258 if (!reserve_try_alloc(1)) { 259 mutex_unlock(&area->sh_info->lock); 257 260 return AS_PF_SILENT; 261 } 258 262 } 259 263 … … 262 266 km_temporary_page_put(kpage); 263 267 } 268 mutex_unlock(&area->sh_info->lock); 264 269 265 270 /*
Note:
See TracChangeset
for help on using the changeset viewer.