android_kernel_xiaomi_sm8350/fs/ext3
Jan Kara ae54870a1d ext3: Fix lock inversion in ext3_symlink()
ext3_symlink() cannot call __page_symlink() with transaction open.
__page_symlink() calls ext3_write_begin() which gets page lock which ranks
above transaction start (thus lock ordering is violated) and and also
ext3_write_begin() waits for a transaction commit when we run out of space
which never happens if we hold transaction open.

Fix the problem by stopping a transaction before calling __page_symlink()
(we have to be careful and put inode to orphan list so that it gets deleted
in case of crash) and starting another one after __page_symlink() returns
for addition of symlink into a directory.

Signed-off-by: Jan Kara <jack@suse.cz>
2011-04-29 23:20:03 +02:00
..
acl.c userns: rename is_owner_or_cap to inode_owner_or_capable 2011-03-23 19:47:13 -07:00
acl.h
balloc.c Fix common misspellings 2011-03-31 11:26:23 -03:00
bitmap.c
dir.c
ext3_jbd.c
file.c
fsync.c
hash.c
ialloc.c fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
inode.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2011-04-08 07:35:17 -07:00
ioctl.c userns: rename is_owner_or_cap to inode_owner_or_capable 2011-03-23 19:47:13 -07:00
Kconfig
Makefile
namei.c ext3: Fix lock inversion in ext3_symlink() 2011-04-29 23:20:03 +02:00
namei.h
resize.c Fix common misspellings 2011-03-31 11:26:23 -03:00
super.c Fix common misspellings 2011-03-31 11:26:23 -03:00
symlink.c
xattr_security.c fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00
xattr_trusted.c
xattr_user.c
xattr.c
xattr.h fs/vfs/security: pass last path component to LSM on inode creation 2011-02-01 11:12:29 -05:00