diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-15 01:03:57 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-15 01:03:57 +0100 |
commit | 63f729cb4aa9a224cfd6bb35eab6b4556c29115d (patch) | |
tree | 4bfd85dc758d93d82d84a591cb9c61f4796f5cb8 /Documentation/filesystems | |
parent | Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/ker... (diff) | |
parent | Make sure that highmem pages are not added to symlink page cache (diff) | |
download | linux-63f729cb4aa9a224cfd6bb35eab6b4556c29115d.tar.xz linux-63f729cb4aa9a224cfd6bb35eab6b4556c29115d.zip |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs fix from Al Viro:
"Don't put symlink bodies in pagecache into highmem"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
Make sure that highmem pages are not added to symlink page cache
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/porting | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index 0f88e6020487..f1b87d8aa2da 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting @@ -508,7 +508,11 @@ in your dentry operations instead. [mandatory] any symlink that might use page_follow_link_light/page_put_link() must have inode_nohighmem(inode) called before anything might start playing with - its pagecache. + its pagecache. No highmem pages should end up in the pagecache of such + symlinks. That includes any preseeding that might be done during symlink + creation. __page_symlink() will honour the mapping gfp flags, so once + you've done inode_nohighmem() it's safe to use, but if you allocate and + insert the page manually, make sure to use the right gfp flags. -- [mandatory] ->follow_link() is replaced with ->get_link(); same API, except that |