summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2026-07-03 13:49:08 +0200
committerPeter Zijlstra <peterz@infradead.org>2026-07-03 16:30:35 +0200
commitd9a48e77f6fe0c11d3cdfcbbcbf4a98ec402e55a (patch)
treee3a4e3f2a2c876a96d732d72bbf7a7dbc09ce1fb
parent07c308eb2bcfe4727ba669e1ba6f5b0ba7d2696e (diff)
downloadlinux-d9a48e77f6fe0c11d3cdfcbbcbf4a98ec402e55a.tar.gz
linux-d9a48e77f6fe0c11d3cdfcbbcbf4a98ec402e55a.zip
uprobes/x86: Allow to copy uprobe trampolines on fork
When we do fork or clone without CLONE_VM the new process won't have uprobe trampoline vma objects and at the same time it will have optimized code calling that trampoline and crash. Fixing this by allowing vma uprobe trampoline objects to be copied on fork to the new process. Fixes: ba2bfc97b462 ("uprobes/x86: Add support to optimize uprobes") Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Oleg Nesterov <oleg@redhat.com> Link: https://patch.msgid.link/20260703114917.238144-5-jolsa@kernel.org
-rw-r--r--arch/x86/kernel/uprobes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/uprobes.c b/arch/x86/kernel/uprobes.c
index 7f820560e6f8..ba7ca62f9605 100644
--- a/arch/x86/kernel/uprobes.c
+++ b/arch/x86/kernel/uprobes.c
@@ -701,7 +701,7 @@ static struct vm_area_struct *get_uprobe_trampoline(struct mm_struct *mm, unsign
*new_mapping = true;
return _install_special_mapping(mm, vaddr, PAGE_SIZE,
- VM_READ|VM_EXEC|VM_MAYEXEC|VM_MAYREAD|VM_DONTCOPY|VM_IO,
+ VM_READ|VM_EXEC|VM_MAYEXEC|VM_MAYREAD|VM_IO,
&tramp_mapping);
}