File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -177,26 +177,28 @@ int acrn_vm_ram_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap)
177
177
vma = vma_lookup (current -> mm , memmap -> vma_base );
178
178
if (vma && ((vma -> vm_flags & VM_PFNMAP ) != 0 )) {
179
179
unsigned long start_pfn , cur_pfn ;
180
- spinlock_t * ptl ;
181
180
bool writable ;
182
- pte_t * ptep ;
183
181
184
182
if ((memmap -> vma_base + memmap -> len ) > vma -> vm_end ) {
185
183
mmap_read_unlock (current -> mm );
186
184
return - EINVAL ;
187
185
}
188
186
189
187
for (i = 0 ; i < nr_pages ; i ++ ) {
190
- ret = follow_pte (vma , memmap -> vma_base + i * PAGE_SIZE ,
191
- & ptep , & ptl );
188
+ struct follow_pfnmap_args args = {
189
+ .vma = vma ,
190
+ .address = memmap -> vma_base + i * PAGE_SIZE ,
191
+ };
192
+
193
+ ret = follow_pfnmap_start (& args );
192
194
if (ret )
193
195
break ;
194
196
195
- cur_pfn = pte_pfn ( ptep_get ( ptep )) ;
197
+ cur_pfn = args . pfn ;
196
198
if (i == 0 )
197
199
start_pfn = cur_pfn ;
198
- writable = !! pte_write ( ptep_get ( ptep )) ;
199
- pte_unmap_unlock ( ptep , ptl );
200
+ writable = args . writable ;
201
+ follow_pfnmap_end ( & args );
200
202
201
203
/* Disallow write access if the PTE is not writable. */
202
204
if (!writable &&
You can’t perform that action at this time.
0 commit comments