Re: fuse, get_user_pages, flush_anon_page, aliasing caches and allthat again

From: David Miller
Date: Sun Dec 31 2006 - 04:47:00 EST


From: Russell King <rmk+lkml@xxxxxxxxxxxxxxxx>
Date: Sun, 31 Dec 2006 09:23:18 +0000

> We do this on ARM - if page_mapping() is NULL, we flush the kernel
> alias unconditionally. However, we have no view where the user
> mapping of that page is, which is where the problem is. Cache lines
> remain allocated for the user mapping and data contained within is
> not visible via the kernel mapping.

You can walk the RMAP list.

> However, it's not only FUSE which is suffering - direct-IO also doesn't
> work. If my analysis is correct, only _two_ users of get_user_pages()
> with the current process actually does the right thing and that's ptrace
> and ELF core dumping. All other users are buggy.

I do not argue that these cases need work, in fact I am aware
of the direct-IO bit.
-
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/