ANDROID: mm: page_pinner: use put_user_page at seq_print_vma_name
seq_print_vma_name uses get_user_pages_remote so it should use put_user_page to close false positive of page_pinner. Page pinned via pid 930, ts 38241618218 ns PFN 10351665 Block 10109 type CMA Flags 0x8000000000080034(uptodate|lru|active|swapbacked) __set_page_pinner+0x34/0xb4 try_grab_page+0x18c/0x1a0 follow_page_pte+0x2b4/0x4a8 follow_pmd_mask+0x180/0x4a4 __get_user_pages+0x1a0/0x434 __get_user_pages_remote+0xa4/0x28c get_user_pages_remote+0x20/0x48 seq_print_vma_name+0xa4/0x1f4 show_smap+0x114/0x25c seq_read_iter+0x2e8/0x3e8 seq_read+0xec/0x124 vfs_read+0xe0/0x2dc ksys_read+0x7c/0xec __arm64_sys_read+0x20/0x30 el0_svc_common+0xa4/0x180 do_el0_svc+0x28/0x88 Bug: 183414571 Signed-off-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Minchan Kim <minchan@google.com> Change-Id: Ib81ccbc486877aab5e561ef516cedcbb172736f1
This commit is contained in:
parent
2de28a0bdd
commit
d14850835c
1 changed files with 1 additions and 1 deletions
|
|
@ -159,7 +159,7 @@ static void seq_print_vma_name(struct seq_file *m, struct vm_area_struct *vma)
|
|||
write_len = strnlen(kaddr + page_offset, len);
|
||||
seq_write(m, kaddr + page_offset, write_len);
|
||||
kunmap(page);
|
||||
put_page(page);
|
||||
put_user_page(page);
|
||||
|
||||
/* if strnlen hit a null terminator then we're done */
|
||||
if (write_len != len)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue