]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - fs/ext4/namei.c
don't put symlink bodies in pagecache into highmem
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 17 Nov 2015 06:07:57 +0000 (01:07 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 9 Dec 2015 03:41:36 +0000 (22:41 -0500)
commit21fc61c73c3903c4c312d0802da01ec2b323d174
treea26c29e3fbb766f00b023724e9e5b8b9bba9b879
parentaa80deab33a8fb180e718f5e45514db19aade165
don't put symlink bodies in pagecache into highmem

kmap() in page_follow_link_light() needed to go - allowing to hold
an arbitrary number of kmaps for long is a great way to deadlocking
the system.

new helper (inode_nohighmem(inode)) needs to be used for pagecache
symlinks inodes; done for all in-tree cases.  page_follow_link_light()
instrumented to yell about anything missed.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
57 files changed:
Documentation/filesystems/porting
fs/affs/inode.c
fs/affs/namei.c
fs/affs/symlink.c
fs/afs/inode.c
fs/befs/linuxvfs.c
fs/btrfs/inode.c
fs/coda/cnode.c
fs/coda/symlink.c
fs/cramfs/inode.c
fs/efs/inode.c
fs/efs/symlink.c
fs/exofs/inode.c
fs/exofs/namei.c
fs/ext2/inode.c
fs/ext2/namei.c
fs/ext4/inode.c
fs/ext4/namei.c
fs/ext4/symlink.c
fs/f2fs/inode.c
fs/f2fs/namei.c
fs/freevxfs/vxfs_inode.c
fs/hfsplus/inode.c
fs/hpfs/inode.c
fs/hpfs/namei.c
fs/hugetlbfs/inode.c
fs/inode.c
fs/isofs/inode.c
fs/isofs/rock.c
fs/jfs/inode.c
fs/jfs/namei.c
fs/logfs/dir.c
fs/logfs/inode.c
fs/minix/inode.c
fs/namei.c
fs/ncpfs/inode.c
fs/nfs/inode.c
fs/nfs/symlink.c
fs/nilfs2/inode.c
fs/nilfs2/namei.c
fs/ocfs2/inode.c
fs/ocfs2/namei.c
fs/qnx4/inode.c
fs/qnx6/inode.c
fs/ramfs/inode.c
fs/reiserfs/inode.c
fs/reiserfs/namei.c
fs/romfs/super.c
fs/squashfs/inode.c
fs/sysv/inode.c
fs/udf/inode.c
fs/udf/namei.c
fs/udf/symlink.c
fs/ufs/inode.c
fs/ufs/namei.c
include/linux/fs.h
mm/shmem.c