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

From: Mikulas Patocka
Date: Sat Jan 04 2014 - 14:56:40 EST


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.

Maybe you could skip cache flush if the page is neither anonymous nor
file-backed, but I haven't seen this condition in other architectures'
flush_dcache_page.

Mikulas
--
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/