[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <F97FB4EB-3416-4BE7-9539-E58A3AD86874@fb.com>
Date: Thu, 30 May 2019 17:18:43 +0000
From: Song Liu <songliubraving@...com>
To: "Kirill A. Shutemov" <kirill@...temov.name>
CC: linux-kernel <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"namit@...are.com" <namit@...are.com>,
"peterz@...radead.org" <peterz@...radead.org>,
"oleg@...hat.com" <oleg@...hat.com>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"mhiramat@...nel.org" <mhiramat@...nel.org>,
"matthew.wilcox@...cle.com" <matthew.wilcox@...cle.com>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
Kernel Team <Kernel-team@...com>,
"william.kucharski@...cle.com" <william.kucharski@...cle.com>,
"chad.mynhier@...cle.com" <chad.mynhier@...cle.com>,
"mike.kravetz@...cle.com" <mike.kravetz@...cle.com>
Subject: Re: [PATCH uprobe, thp 2/4] uprobe: use original page when all
uprobes are removed
> On May 30, 2019, at 4:17 AM, Kirill A. Shutemov <kirill@...temov.name> 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
Powered by blists - more mailing lists