X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Fkernel%2Fevents%2Fuprobes.c;fp=kernel%2Fkernel%2Fevents%2Fuprobes.c;h=da0c09ff6112badb3fa3d4da719f78cee299c1ab;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=7dad84913abfb06df2495fae555e7f8bcac2b104;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/kernel/events/uprobes.c b/kernel/kernel/events/uprobes.c index 7dad84913..da0c09ff6 100644 --- a/kernel/kernel/events/uprobes.c +++ b/kernel/kernel/events/uprobes.c @@ -171,8 +171,10 @@ static int __replace_page(struct vm_area_struct *vma, unsigned long addr, mmu_notifier_invalidate_range_start(mm, mmun_start, mmun_end); err = -EAGAIN; ptep = page_check_address(page, mm, addr, &ptl, 0); - if (!ptep) + if (!ptep) { + mem_cgroup_cancel_charge(kpage, memcg); goto unlock; + } get_page(kpage); page_add_new_anon_rmap(kpage, vma, addr); @@ -199,7 +201,6 @@ static int __replace_page(struct vm_area_struct *vma, unsigned long addr, err = 0; unlock: - mem_cgroup_cancel_charge(kpage, memcg); mmu_notifier_invalidate_range_end(mm, mmun_start, mmun_end); unlock_page(page); return err;