lkml.org 
[lkml]   [2017]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCHv3 01/12] uprobes: split THPs before trying replace them
    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>

    \
     
     \ /
      Last update: 2017-01-31 17:08    [W:4.099 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site