Re: [PATCH] fix crash when using XFS on loopback

From: John David Anglin
Date: Sat Jan 04 2014 - 15:31:55 EST


On 4-Jan-14, at 2:55 PM, Mikulas Patocka wrote:

On Sat, 4 Jan 2014, John David Anglin wrote:

On 4-Jan-14, at 12:45 PM, Mikulas Patocka wrote:

* flush_dcache_page asks for the list of userspace mappings, however that
page->mapping field is reused by the slab subsystem for a different
purpose. This causes the crash.

I'd noticed the other day that the parisc implementation of
flush_dcache_page()
should return if "!mapping || mapping != page->mapping" is true. This would
have avoided crash.

Dave

I think no.

page_mapping returns NULL if the page has only anonymous mapping and it is
not placed in the swap cache. In this case, you need to flush the kernel
cache.


The suggestion is to add the "mapping != page->mapping" to the current NULL check.
It occurs after the kernel cache flush.

It doesn't seem right to flush the vma mappings associated with swap address space
and that appears to be happening with current code.

Dave
--
John David Anglin dave.anglin@xxxxxxxx



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/