diff options
| author | Jiri Olsa <jolsa@kernel.org> | 2026-07-03 13:49:08 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-07-03 16:30:35 +0200 |
| commit | d9a48e77f6fe0c11d3cdfcbbcbf4a98ec402e55a (patch) | |
| tree | e3a4e3f2a2c876a96d732d72bbf7a7dbc09ce1fb | |
| parent | 07c308eb2bcfe4727ba669e1ba6f5b0ba7d2696e (diff) | |
| download | linux-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.c | 2 |
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); } |
