Skip to content

uprobes: single-step fixes

Oleg Nesterov lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 18 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7uprobes: Introduce arch_uprobe_enable/disable_step()include/linux/uprobes.h kernel/events/uprobes.c+14 -21 reply
2/7uprobes: x86: Implement x86 specific arch_uprobe_*_steparch/x86/include/asm/uprobes.h arch/x86/kernel/uprobes.c+35 -01 reply
3/7ptrace: Introduce set_task_blockstep() helperarch/x86/kernel/step.c+21 -201 reply
4/7ptrace: Partly fix set_task_blockstep()->update_debugctlmsr() logicarch/x86/kernel/step.c+13 -14 replies
5/7uprobes: Do not (ab)use TIF_SINGLESTEP/user_*_single_step() for single-steppingarch/x86/include/asm/processor.h arch/x86/kernel/step.c arch/x86/kernel/uprobes.c+21 -153 replies
6/7uprobes: Xol should send SIGTRAP if X86_EFLAGS_TF was setarch/x86/include/asm/uprobes.h arch/x86/kernel/uprobes.c+14 -82 replies
7/7uprobes: Make arch_uprobe_task->saved_trap_nr "unsigned int"arch/x86/include/asm/uprobes.h+1 -11 reply

Reviews trailers per patch

6 of 7 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchSrikar Dronamraju
SeriesA-b
1/7A-b
2/7A-b
3/7A-b
4/7
5/7A-b
6/7A-b
7/7A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/7] uprobes: single-step fixes

Hello.

In short: uprobes should not use user_enable/disable_single_step(). This is unneeded and wrong.

Sebastian, I changed your patches a bit:

1/7:

- Change the subject and update the changelog. In particular, s/utrace/uprobes/. I am wondering where this typo came from ;)

2/7:

- Rename UPROBE_TF_CHANGES to UPROBE_FIX_SETF to match other *_FIX_* defines.

- Update the changelog.

- !!!REMOVE send_sig(SIGTRAP) from arch_uprobe_disable_step!!! Didn't I ask you to make a separate patch for this change? ;)

This "else send_sig(SIGTRAP)" is very wrong. Just suppose an application does asm ("pushf; popf") and the 2nd insn is probed. And otoh this is not enough.

See 6/7.

please let me know if you disagree.

Oleg.