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? -- Kirill A. Shutemov