Skip to content

x86/traps: cleanup DO_ERROR*() to prepare for uprobes fixes

Oleg Nesterov lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6x86/traps: Make math_error() staticarch/x86/include/asm/traps.h arch/x86/kernel/traps.c+1 -20 replies
2/6x86/traps: Use SEND_SIG_PRIV instead of force_sig()arch/x86/kernel/traps.c+3 -60 replies
3/6x86/traps: Introduce do_error_trap()arch/x86/kernel/traps.c+17 -210 replies
4/6x86/traps: Introduce fill_trap_info(), simplify DO_ERROR_INFO()arch/x86/kernel/traps.c+38 -150 replies
5/6x86/traps: Shift fill_trap_info() from DO_ERROR_INFO() to do_error_trap()arch/x86/kernel/traps.c+12 -90 replies
6/6x86/traps: Kill DO_ERROR_INFO()arch/x86/kernel/traps.c+9 -150 replies

Reviews trailers per patch

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

PatchMasami Hiramatsu
SeriesA-b R-b
1/6
2/6
3/6
4/6
5/6
6/6

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/6] x86/traps: cleanup DO_ERROR*() to prepare for uprobes fixes

Hello.

Quoted 7 lines · Oleg Nesterov

Well, actually we are not 100% fine because si_addr can be wrong. But this is not invalid_op-specific, we need to fix this anyway and the fix is simple.

I do not want to discuss this now, but I am going to make another series later which adds something like uprobe_instruction_pointer(regs). It can (should) be used by DO_ERROR_INFO() (perhaps by something else, not sure about math_error())

So we basically need a very simple fix,

- DO_ERROR_INFO(..., regs->ip)
+ DO_ERROR_INFO(..., uprobe_get_trap_addr(regs))

but it is not easy to change these define's, this series tries to cleanup and simplify this code first.

Note: initially I was going to send more changes. For example, after this series we can convert math_error() into the "normal" DO_ERROR() user, and most probably we can do the same with do_general_protection().

But let me send the initial changes first for review. If they pass the review and if nobody objects, I'd like to route them along with the pending uprobes fixes.

Oleg.

 arch/x86/include/asm/traps.h |    1 -
 arch/x86/kernel/traps.c      |  107 +++++++++++++++++++++++------------------
 2 files changed, 60 insertions(+), 48 deletions(-)