Re: exception vs SIGALRM race (with test-case now!)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



24.06.2021 03:11, stsp пишет:
24.06.2021 02:38, stsp пишет:
The test-case:
https://github.com/dosemu2/dosemu2/issues/1500#issuecomment-867215291
URL was off 1 comment.
The right one is:
https://github.com/dosemu2/dosemu2/issues/1500#issuecomment-867214782

Direct link to the test-case:
https://github.com/dosemu2/dosemu2/files/6705274/a.exe.gz

What does this test-case do?
It provokes the PF by writing to
the NULL pointer. The PF handler
checks if PF is coming from the
right place, or from the nearby
IRQ8 timer handler. If PF is coming
from the very first instruction of
the timer handler, then we got
that nasty SIGALRM race and
KVM exited to user-space with
the pending PF exception.

How to replicate the buggy setup?
Just install dosemu2 on your
favourite distro using the pre-built packages:
https://github.com/dosemu2/dosemu2/blob/devel/README

How to run the test-case?
On the PC with Intel Core2 CPU,
run this command:
|dosemu -K ./a.exe -T -I 'ignore_djgpp_null_derefs off'|

|After a few seconds it will say
"Race DETECTED" and exit.
If it just keeps printing dots
forever, then your setup is not buggy,
press Ctrl-c to finish test.
|




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux