Re: [PATCH] uprobes: __replace_page() avoid BUG in munlock_vma_page()

From: Oleg Nesterov
Date: Mon Aug 17 2020 - 10:07:55 EST


On 08/16, Hugh Dickins wrote:
>
> --- v5.9-rc/kernel/events/uprobes.c 2020-08-12 19:46:50.851196584 -0700
> +++ linux/kernel/events/uprobes.c 2020-08-16 13:18:35.292821674 -0700
> @@ -205,7 +205,7 @@ static int __replace_page(struct vm_area
> try_to_free_swap(old_page);
> page_vma_mapped_walk_done(&pvmw);
>
> - if (vma->vm_flags & VM_LOCKED)
> + if ((vma->vm_flags & VM_LOCKED) && !PageCompound(old_page))
> munlock_vma_page(old_page);
> put_page(old_page);

Thanks!

Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx>