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. Oleg.