Hi,

Il 09/06/23 19:49, Sergey Bugaev ha scritto:
with the following hacky patch, I no longer see any crashes,
debootstrap --second-stage runs all the way and leaves me with an
almost full Debian GNU/Hurd x86_64 system \o/

I was able to avoid the issues with a different approach, basically commenting any write to ES/DS in x86_64/locore.S. In my case the corruption usually happens when handling the error of writing a bad value to ES/DS, and disabling this probably hides the corruption issue, but it's still a different issue that could be solved by just removing the useless segment handling.

It might be that the corruption itself is caused by a second trap/irq happening when the exit code from a first trap is executing (e.g. pop the last registers before iretq). This would enter the trap/irq handler using the same pcb stack, and probably some fsbase/gsbase push/pop is not done correctly in this case.


Luca

Reply via email to