Messages in this thread | | | From | John David Anglin <> | Subject | Re: [PATCH] fix crash when using XFS on loopback | Date | Sat, 4 Jan 2014 15:31:13 -0500 |
| |
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@bell.net
| |