On 11/14, Yonghong Song wrote:
On 11/14/17 8:03 AM, Oleg Nesterov wrote:
quoted
Ah, no, sizeof_long() is broken by the same reason, so you can't test it...
Right. I hacked the emulate_push_stack (original name: push_ret_address)
with sizeof_long = 4, and 32bit binary uprobe works fine on x86_64 platform
then...
OK,
quoted
OK, I'll try to do something tomorrow, then we will see what can we do
with your patch...
Thanks for reviewing! I will wait for your further comments/direction
before next step.
Oh. tomorrow, I promise. Sorry I was bit busy today...
quoted
But it would be nice if you can check what uprobe_init_insn() does in this
case, see above.
As mentioned in my previous email, for 32bit application,
compiler won't generate "push %r8" as "%r8" is only available on
x86_64 platform.
But this is irrelevant, see my previous email.
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.
Oleg.