[lkml]   [2017]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH][v4] uprobes/x86: emulate push insns for uprobe on x86

On 11/20/17 8:41 AM, Oleg Nesterov wrote:
> On 11/17, Yonghong Song wrote:
>> On 11/17/17 9:25 AM, Oleg Nesterov wrote:
>>> On 11/15, Yonghong Song wrote:
>>>> v3 -> v4:
>>>> . Revert most of v3 change as 32bit emulation is not really working
>>>> on x86_64 platform as among other issues, function emulate_push_stack()
>>>> needs to account for 32bit app on 64bit platform.
>>>> A separate effort is ongoing to address this issue.
>>> Reviewed-by: Oleg Nesterov <>
>>> Please test your patch with the fix below, in this particular case the
>>> TIF_IA32 check should be fine. Although this is not what we really want,
>>> we should probably use user_64bit_mode(regs) which checks ->cs. But this
>>> needs more changes and doesn't solve other problems (get_unmapped_area)
>>> so I still can't decide what should we do right now...
>> I tested the below change with my patch. On x86_64, both 64bit and 32bit
>> program can be uprobe emulated properly.
> Good, so your patch is fine.


>> On x86_32, however, there is a
>> compilation error like below:
> Yes, yes, when I said "in this particular case" I meant x86_64 system only.
> Sorry for confusion, I asked you to test this additional change just to
> ensure that we didn't miss something and your patch has no problems with
> 32bit tasks on 64bit system, except those we need to fix anyway.

Understood. I actually tried a little to see whether I could have a
simple way to fix 32bit compilation error without using ugly "#ifdef
CONFIG_X86_64". Maybe is_64bit_mm is a good choice. But we could defer
this until you have a comprehensive fix for 32bit app uprobe on 64bit
systems as there are multiple issues for this.

> Oleg.

 \ /
  Last update: 2017-11-20 19:27    [W:0.052 / U:3.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site