xpmem: Use correct process_vm in xpmem functions
This reverts commit 29d27b7c8d.
Change-Id: I1863cddcffa67c60e5f93d874447db9919e519dc
This commit is contained in:
committed by
Masamichi Takagi
parent
63443383e9
commit
4ac9dcdccd
@ -1421,10 +1421,9 @@ static void xpmem_detach_att(
|
||||
|
||||
XPMEM_DEBUG("call: apid=0x%lx, att=0x%p", ap->apid, att);
|
||||
|
||||
XPMEM_DEBUG("detaching current->vm=0x%p, att->vm=0x%p",
|
||||
(void *)cpu_local_var(current)->vm, (void *)att->vm);
|
||||
XPMEM_DEBUG("detaching att->vm=0x%p", (void *)att->vm);
|
||||
|
||||
vm = cpu_local_var(current)->vm ? cpu_local_var(current)->vm : att->vm;
|
||||
vm = att->vm;
|
||||
|
||||
ihk_rwspinlock_read_lock_noirq(&vm->memory_range_lock);
|
||||
|
||||
@ -1438,7 +1437,7 @@ static void xpmem_detach_att(
|
||||
}
|
||||
att->flags |= XPMEM_FLAG_DESTROYING;
|
||||
|
||||
range = lookup_process_memory_range(cpu_local_var(current)->vm,
|
||||
range = lookup_process_memory_range(vm,
|
||||
att->at_vaddr, att->at_vaddr + 1);
|
||||
|
||||
if (!range || range->start > att->at_vaddr) {
|
||||
@ -1475,8 +1474,7 @@ static void xpmem_detach_att(
|
||||
|
||||
XPMEM_DEBUG("xpmem_vm_munmap(): start=0x%lx, len=0x%lx",
|
||||
range->start, att->at_size);
|
||||
ret = xpmem_vm_munmap(cpu_local_var(current)->vm, (void *)range->start,
|
||||
att->at_size);
|
||||
ret = xpmem_vm_munmap(vm, (void *)range->start, att->at_size);
|
||||
if (ret) {
|
||||
ekprintf("%s: ERROR: xpmem_vm_munmap() failed %d\n",
|
||||
__FUNCTION__, ret);
|
||||
@ -1673,8 +1671,7 @@ int xpmem_remove_process_memory_range(
|
||||
|
||||
xpmem_att_ref(att);
|
||||
|
||||
ihk_rwspinlock_read_lock_noirq(
|
||||
&cpu_local_var(current)->vm->memory_range_lock);
|
||||
ihk_rwspinlock_read_lock_noirq(&vm->memory_range_lock);
|
||||
|
||||
mcs_rwlock_writer_lock(&att->at_lock, &at_lock);
|
||||
|
||||
@ -1711,7 +1708,7 @@ int xpmem_remove_process_memory_range(
|
||||
else {
|
||||
remaining_vaddr = vmr->end;
|
||||
remaining_vmr = lookup_process_memory_range(
|
||||
cpu_local_var(current)->vm, remaining_vaddr - 1,
|
||||
vm, remaining_vaddr - 1,
|
||||
remaining_vaddr);
|
||||
if (!remaining_vmr) {
|
||||
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
||||
@ -1732,7 +1729,7 @@ int xpmem_remove_process_memory_range(
|
||||
}
|
||||
|
||||
remaining_vmr = lookup_process_memory_range(
|
||||
cpu_local_var(current)->vm, remaining_vaddr,
|
||||
vm, remaining_vaddr,
|
||||
remaining_vaddr + 1);
|
||||
if (!remaining_vmr) {
|
||||
ekprintf("%s: ERROR: vm_range is NULL\n", __FUNCTION__);
|
||||
@ -1756,8 +1753,7 @@ int xpmem_remove_process_memory_range(
|
||||
out:
|
||||
mcs_rwlock_writer_unlock(&att->at_lock, &at_lock);
|
||||
|
||||
ihk_rwspinlock_read_unlock_noirq(
|
||||
&cpu_local_var(current)->vm->memory_range_lock);
|
||||
ihk_rwspinlock_read_unlock_noirq(&vm->memory_range_lock);
|
||||
|
||||
xpmem_att_deref(att);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user