Re: [PATCH uprobe, thp 2/4] uprobe: use original page when all uprobes are removed

From: Song Liu
Date: Thu May 30 2019 - 13:24:46 EST




> 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