I'll add to this by noting that it is highly oops dependent. Depending on what locks and refcounts you had taken at the moment you oops'd, it may not be possible to clean up the process e.g. if you're holding your own mmap lock at the moment you oops you're liable to deadlock in __mmput. But there are certainly empirical cases (not all too isolated ones) where the kernel really *is* able to clean up the entire process.