summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-01-15 01:03:57 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-15 01:03:57 +0100
commit63f729cb4aa9a224cfd6bb35eab6b4556c29115d (patch)
tree4bfd85dc758d93d82d84a591cb9c61f4796f5cb8 /Documentation/filesystems
parentMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/ker... (diff)
parentMake sure that highmem pages are not added to symlink page cache (diff)
downloadlinux-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/porting6
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