Messages in this thread |  | | Date | Sat, 6 Feb 2021 19:06:05 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH v2] powerpc/uprobes: Validation for prefixed instruction |
| |
On 02/04, Ravi Bangoria wrote: > > +static int get_instr(struct mm_struct *mm, unsigned long addr, u32 *instr) > +{ > + struct page *page; > + struct vm_area_struct *vma; > + void *kaddr; > + unsigned int gup_flags = FOLL_FORCE | FOLL_SPLIT_PMD; > + > + if (get_user_pages_remote(mm, addr, 1, gup_flags, &page, &vma, NULL) <= 0) > + return -EINVAL;
"vma" is not used, and I don't think you need FOLL_SPLIT_PMD.
Otherwise I can't really comment this ppc-specific change.
To be honest, I don't even understand why do we need this fix. Sure, the breakpoint in the middle of 64-bit insn won't work, why do we care? The user should know what does he do.
Not to mention we can't really trust get_user_pages() in that this page can be modified by mm owner or debugger...
But I won't argue.
Oleg.
|  |