Thread (11 messages) read the whole thread 11 messages, 2 authors, 2021-10-21

Re: [PATCH] fs: buffer: check huge page size instead of single page for invalidatepage

From: Yang Shi <hidden>
Date: 2021-09-21 02:17:57
Also in: linux-mm, lkml

On Sun, Sep 19, 2021 at 7:41 AM Matthew Wilcox [off-list ref] wrote:
On Fri, Sep 17, 2021 at 05:07:03PM -0700, Yang Shi wrote:
quoted
quoted
The debugging showed the page passed to invalidatepage is a huge page
and the length is the size of huge page instead of single page due to
read only FS THP support.  But block_invalidatepage() would throw BUG if
the size is greater than single page.
Things have already gone wrong before we get to this point.  See
do_dentry_open().  You aren't supposed to be able to get a writable file
descriptor on a file which has had huge pages added to the page cache
without the filesystem's knowledge.  That's the problem that needs to
be fixed.
I don't quite understand your point here. Do you mean do_dentry_open()
should fail for such cases instead of truncating the page cache?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help