Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1570851

Re: [PATCHv3 01/12] uprobes: split THPs before trying replace them

From Oleg Nesterov <oleg@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCHv3 01/12] uprobes: split THPs before trying replace them
Date 2017-01-31 17:10 +0100
Message-ID <t5Jai-2Mv-5@gated-at.bofh.it> (permalink)
References <t51Ci-1v9-13@gated-at.bofh.it> <t51Ci-1v9-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 01/29, Kirill A. Shutemov wrote:
>
> For THPs page_check_address() always fails. It leads to endless loop in
> uprobe_write_opcode().
>
> Testcase with huge-tmpfs (not sure if it's possible to trigger this
> uprobe codepath for anon memory):

No, you can't probe the anonymous memory,

> --- a/kernel/events/uprobes.c
> +++ b/kernel/events/uprobes.c
> @@ -300,8 +300,8 @@ int uprobe_write_opcode(struct mm_struct *mm, unsigned long vaddr,
>  
>  retry:
>  	/* Read the page with vaddr into memory */
> -	ret = get_user_pages_remote(NULL, mm, vaddr, 1, FOLL_FORCE, &old_page,
> -			&vma, NULL);
> +	ret = get_user_pages_remote(NULL, mm, vaddr, 1,
> +			FOLL_FORCE | FOLL_SPLIT, &old_page, &vma, NULL);
>  	if (ret <= 0)
>  		return ret;

Thanks,

Acked-by: Oleg Nesterov <oleg@redhat.com>

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCHv3 01/12] uprobes: split THPs before trying replace them Oleg Nesterov <oleg@redhat.com> - 2017-01-31 17:10 +0100

csiph-web