Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- From: David Miller <davem@xxxxxxxxxxxxx>
- Date: Sun, 31 Dec 2006 01:46:30 -0800 (PST)
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/
- References:
- Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- From: Russell King
- Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- From: David Miller
- Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- From: Russell King
- Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- Prev by Date: Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- Next by Date: Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- Previous by thread: Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- Next by thread: Re: fuse, get_user_pages, flush_anon_page, aliasing caches and all that again
- Index(es):
Relevant Pages
|
|