ntdll: Program could modify Dr* registers in segv_handler too.

Peter Beutner p.beutner at gmx.net
Sun Dec 11 16:28:33 CST 2005


Vitaliy Margolen schrieb:
> Sunday, December 11, 2005, 11:23:18 AM, Peter Beutner wrote:
>>The name suggests it's more about signal handling than a place to throw every arch
>>dependent code in it ;)
>>But that's not the point.
>>I just thought it might not be the best solution to duplicate that check in every signal
>>handler.
>>Besides what about somebody changes the Dr* registers in an exception handler invoked by
>>an exception raised by the application via RaiseException(i.e. not via a signal handler
>>called by the kernel)?
>>*Every* installed exception handler can change the registers in the CONTEXT structure,
>>thats why I think it would be the easiest way to implement it in __regs_RtlRaiseException.
> 
> 
> Good point but it needs a test. Besides I'm not sure that we will change
> any registers in that case at all. (just checked and no, we won't change
> any registers).
hm what exactly do you need to test?

And afaik the registers will be changed when the CONTEXT structure is restored on return
from __regs_RtlRaiseException. see __wine_call_from_32_regs.




More information about the wine-devel mailing list