I wonder if the following scenario is possible:
CPU 0 CPU 1
add_to_page_cache() truncate_list_pages()
spin_lock(&pagecache_lock);
__add_to_page_cache()
spin_unlock(&pagecache_lock);
==> network irq
... remove_inode_page()
...
==> softirqs __free_pages_ok()
...
...
*** page now on free list ***
lru_cache_add(page);
*** BOOM ***
regards,
Rik
-- DMCA, SSSCA, W3C? Who cares? http://thefreeworld.net/http://www.surriel.com/ http://distro.conectiva.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/