[PATCH] ntdll: Add a shortcut to NtReadVirtualMemory for the local process

Martin Storsjö martin at martin.st
Wed Oct 30 03:44:48 CDT 2019


On Wed, 30 Oct 2019, Alexandre Julliard wrote:

> Martin Storsjö <martin at martin.st> writes:
>
>> On Tue, 29 Oct 2019, Andrew Wesie wrote:
>>
>>> On Tue, Oct 29, 2019 at 9:04 AM Martin Storsjo <martin at martin.st> wrote:
>>>> ...
>>>> Therefore, exception handling in executables with libunwind on i686
>>>> doesn't work when run with wine within docker.
>>>
>>> I personally don't think this is a great rationale for changing the
>>> behavior of wine. It sounds like a rationale for docker to allow
>>> SYS_PTRACE.
>>
>> It can be enabled, but it's not generally enabled by default.
>>
>> In any case: I believe it is fair to hope that
>> EnumProcessModules(GetCurrentProcess()) would work, without privileges
>> that let you read the memory of other processes.
>
> Not being able to use ptrace isn't a very interesting case, particularly
> if you are talking about exception handling, since you'll also need
> ptrace for the debug registers.

Hmm, are the debug registers used somewhere in exception unwinding? SEH 
based exception handling works fine without ptrace at the moment.

> I don't think it's worth adding complicated workarounds for this.

Ok, fair enough.

I presume you're not willing to add a special case directly within 
EnumProcessModules either? That has much less risk of vaguely changing 
semantics of other functions, but it does add a bit of code duplication 
though.

// Martin


More information about the wine-devel mailing list