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

Reply via email to