uprobes: longjmp / special-mapping fixes
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest14 patches 0 repliesNew
- v211 patches 18 repliesSuperseded
- v110 patches 18 repliesSuperseded
Patches in v3 No applies recorded yet
Reviews trailers per patch
11 of 14 patches have a Reviewed-by or Acked-by.
| Patch | Srikar Dronamraju | Anton Arapov | Pratyush Anand |
|---|---|---|---|
| 1/14 | A-b | A-b | T-b |
| 2/14 | A-b | A-b | T-b |
| 3/14 | A-b | A-b | T-b |
| 4/14 | A-b | A-b | T-b |
| 5/14 | A-b | A-b | T-b |
| 6/14 | A-b | A-b | T-b |
| 7/14 | A-b | A-b | T-b |
| 8/14 | A-b | A-b | T-b |
| 9/14 | A-b | A-b | T-b |
| 10/14 | A-b | A-b | T-b |
| 11/14 | A-b | A-b | T-b |
| 12/14 | |||
| 13/14 | |||
| 14/14 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v3 00/14] uprobes: longjmp / special-mapping fixes
Ingo,
This is the changes I asked you to pull. I added v3 tag to avoid the confusion, but the only change is that I added the acks I got.
Currently ret-probes can't work (the application will likely crash) if the probed function does not return, and this is even documented in handle_trampoline(). This tries to make the first step to fix the problem, assuming that the probed functions use the same stack.
Also, xol_add_vma() doesn't use install_special_mapping() correctly, and we can name the xol vma which currently looks like anon mapping.
Oleg Nesterov (14):
uprobes: Introduce get_uprobe()
uprobes: Introduce free_ret_instance()
uprobes: Send SIGILL if handle_trampoline() fails
uprobes: Change prepare_uretprobe() to use uprobe_warn()
uprobes: Change handle_trampoline() to find the next chain beforehand
uprobes: Export struct return_instance, introduce arch_uretprobe_is_alive() uprobes/x86: Reimplement arch_uretprobe_is_alive()
uprobes: Change handle_trampoline() to flush the frames invalidated by longjmp()
uprobes: Change prepare_uretprobe() to (try to) flush the dead frames
uprobes: Add the "enum rp_check ctx" arg to arch_uretprobe_is_alive() uprobes/x86: Make arch_uretprobe_is_alive(RP_CHECK_CALL) more clever
uprobes: fix the usage of install_special_mapping()
uprobes: use vm_special_mapping to name the xol vma
uprobes: fix the waitqueue_active() check in xol_free_insn_slot()
arch/x86/kernel/uprobes.c | 9 ++ include/linux/uprobes.h | 17 ++++ kernel/events/uprobes.c | 228 ++++++++++++++++++++++++++------------------- 3 files changed, 156 insertions(+), 98 deletions(-)