2017-11-20 18:27:58

by Yonghong Song

[permalink] [raw]
Subject: Re: [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 <[email protected]>
>>>
>>>
>>>
>>> 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.

Thanks!

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

From 1584604022909315407@xxx Mon Nov 20 16:42:38 +0000 2017
X-GM-THRID: 1583700940287669077
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread