> On May 30, 2019, at 4:17 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > On Wed, May 29, 2019 at 02:20:47PM -0700, Song Liu wrote: >> @@ -501,6 +512,20 @@ int uprobe_write_opcode(struct arch_uprobe *auprobe, struct mm_struct *mm, >> copy_highpage(new_page, old_page); >> copy_to_page(new_page, vaddr, &opcode, UPROBE_SWBP_INSN_SIZE); >> >> + index = vaddr_to_offset(vma, vaddr & PAGE_MASK) >> PAGE_SHIFT; >> + orig_page = find_get_page(vma->vm_file->f_inode->i_mapping, index); >> + if (orig_page) { >> + if (memcmp(page_address(orig_page), >> + page_address(new_page), PAGE_SIZE) == 0) { > > Does it work for highmem? Good catch! I will fix it in v2. Thanks! Song > > > -- > Kirill A. Shutemov