From: Oleg Nesterov Date: Thu, 1 Aug 2024 13:27:14 +0000 (+0200) Subject: uprobes: is_trap_at_addr: don't use get_user_pages_remote() X-Git-Tag: v6.12-rc1~145^2~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=300b05621a3f85621130e356ca6ae90f6a4eec0e;p=thirdparty%2Fkernel%2Flinux.git uprobes: is_trap_at_addr: don't use get_user_pages_remote() get_user_pages_remote() and the comment above it make no sense. There is no task_struct passed into get_user_pages_remote() anymore, and nowadays mm_account_fault() increments the current->min/maj_flt counters regardless of FAULT_FLAG_REMOTE. Reported-by: Andrii Nakryiko Signed-off-by: Oleg Nesterov Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Jiri Olsa Acked-by: Andrii Nakryiko Link: https://lore.kernel.org/r/20240801132714.GA8783@redhat.com --- diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 2d1457eee9657..698bb22f7102c 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -2035,13 +2035,7 @@ static int is_trap_at_addr(struct mm_struct *mm, unsigned long vaddr) if (likely(result == 0)) goto out; - /* - * The NULL 'tsk' here ensures that any faults that occur here - * will not be accounted to the task. 'mm' *is* current->mm, - * but we treat this as a 'remote' access since it is - * essentially a kernel access to the memory. - */ - result = get_user_pages_remote(mm, vaddr, 1, FOLL_FORCE, &page, NULL); + result = get_user_pages(vaddr, 1, FOLL_FORCE, &page); if (result < 0) return result;