[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3b59c8a-494f-51ed-2691-c4c544e771a1@fb.com>
Date: Mon, 20 Nov 2017 10:25:55 -0800
From: Yonghong Song <yhs@...com>
To: Oleg Nesterov <oleg@...hat.com>
CC: <mingo@...nel.org>, <tglx@...utronix.de>, <peterz@...radead.org>,
<linux-kernel@...r.kernel.org>, <x86@...nel.org>,
<netdev@...r.kernel.org>, <ast@...com>, <kernel-team@...com>
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 <oleg@...hat.com>
>>>
>>>
>>>
>>> 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.
>
Powered by blists - more mailing lists