Re: bio linked list corruption.

From: Chris Mason
Date: Mon Oct 24 2016 - 18:03:06 EST


On 10/24/2016 05:50 PM, Linus Torvalds wrote:
On Mon, Oct 24, 2016 at 2:17 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

The vmalloc/vfree code itself is a bit scary. In particular, we have a
rather insane model of TLB flushing. We leave the virtual area on a
lazy purge-list, and we delay flushing the TLB and actually freeing
the virtual memory for it so that we can batch things up.

Never mind. If DaveJ is running with DEBUG_PAGEALLOC, then the code in
vmap_debug_free_range() should have forced a synchronous TLB flush fro
vmalloc ranges too, so that doesn't explain it either.


My big fear here is that we're just triggering an old stack corruption more reliably. I wonder if we can make it happen much faster by restricting the stacks to a static list and cycling through them in lifo fashion?

-chris