Re: [PATCH][v3] uprobes/x86: emulate push insns for uprobe on x86

From: Yonghong Song
Date: Wed Nov 15 2017 - 12:26:11 EST




On 11/15/17 9:07 AM, Oleg Nesterov wrote:
On 11/15, Oleg Nesterov wrote:

So please, check if uprobe_init_insn() fails or not in this case. After that
we will know whether your patch needs the additional is_64bit_mm() check in
push_setup_xol_ops() or not.

OK, I did the check for you.

uprobe_init_insn() doesn't fail but insn_init(x86_64 => 0) parse it as
single-byte insn with OPCODE1 == 0x41, so push_setup_xol_ops() doesn't
need to worry about compat tasks.

In short, your "V2" should be fine except you can factor out
auprobe->push.ilen initialization (as you did in V3). Please send V4.

Thanks a lot! I am just about to use inline asm or binary rewriter to create such a code for testing...

I will send V4 shortly.


Oleg.