Thread (12 messages) flat view 12 messages, 3 authors, 2025-02-20

Re: Add Morton,Peter and David for discussion//Re: [PATCH -next] uprobes: fix two zero old_folio bugs in __replace_page()

From: Tong Tiangen <hidden>
Date: 2025-02-20 12:01:55
Also in: bpf, linux-mm, linux-perf-users, lkml


在 2025/2/20 16:38, David Hildenbrand 写道:
On 20.02.25 03:31, Tong Tiangen wrote:
quoted

在 2025/2/20 0:12, David Hildenbrand 写道:
quoted
On 19.02.25 16:22, Oleg Nesterov wrote:
quoted
On 02/18, Tong Tiangen wrote:
quoted
OK, Before your rewrite last merged, How about i change the 
solution to
just reject them immediately after get_user_page_vma_remote()?
I agree, uprobe_write_opcode() should simply fail if
is_zero_page(old_page).
Yes. That's currently only syzkaller that triggers it, not some sane use
case.
OK, change as follows:
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -506,6 +506,12 @@ int uprobe_write_opcode(struct arch_uprobe
*auprobe, struct mm_struct *mm,
          if (ret <= 0)
                  goto put_old;

+       if (WARN(is_zero_page(old_page),
This can likely be triggered by user space, so do not use WARN.
OK,thanks.

Hi Oleg, is that all right?

Thanks,
Tong.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help