I'd suggest you to make 2 patches:
- 1/2 creates arch_uprobe_*_step(...) __weak helpers in
kernel/events/uprobes.c which simply call
user_*_single_step() and updates the callers
Not strictly necessary, but imho makes sense...
- 2/2 adds the x86 implementation in arch/x86/kernel/uprobes.c
which still uses user_*_single_step() but checks
TIF_SINGLESTEP. As your patch does, but you should use
utask, not uprobe.
IOW, I simply suggest to make your patch x86-specific. Then we
will try to do more fixes/improvements.
Sebastian, Ananth, what do you think?
Oleg.