On Mon, 24 Apr 2023, Michael Schmitz wrote: > > I don't understand these results. If usp was really overwritten, the > > program would have crashed early, no? > > I think we're still at the point where rec() is called recursively, > before any returns.
Right. I wasn't thinking. I'll try to confirm that each "overwrote usp" error from movemlrt.c corresponds to visible corruption at the given address in the core dump. > >> Exception right before crash was an interrupt in this case (only seen > >> that once in this context, though I've seen lots of those in the > >> course of the test runs). Frame start calculated from siginfo pointer > >> value in this case. > > > > I didn't realize that you could get a crash from a signal delivered > > following an interrupt. I'll try to modify the kernel such that > > signals are not delivered after page faults. > > Yes, that was news to me, too. > That seems to be a mistake (?) I didn't see any failures when I patched the kernel to skip signal delivery after a page fault.