aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/erofs/namei.c
diff options
context:
space:
mode:
authorGao Xiang <gaoxiang25@huawei.com>2019-01-14 19:40:23 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-15 15:51:57 +0100
commit7077fffcb0b0b65dc75e341306aeef4d0e7f2ec6 (patch)
tree666132ac5c0cfc3e39dcd69d94e7614e32f36911 /drivers/staging/erofs/namei.c
parentstaging: erofs: add document (diff)
downloadlinux-dev-7077fffcb0b0b65dc75e341306aeef4d0e7f2ec6.tar.xz
linux-dev-7077fffcb0b0b65dc75e341306aeef4d0e7f2ec6.zip
staging: erofs: fix fast symlink w/o xattr when fs xattr is on
Currently, this will hit a BUG_ON for these symlinks as follows: - kernel message ------------[ cut here ]------------ kernel BUG at drivers/staging/erofs/xattr.c:59! SMP PTI CPU: 1 PID: 1170 Comm: getllxattr Not tainted 4.20.0-rc6+ #92 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014 RIP: 0010:init_inode_xattrs+0x22b/0x270 Code: 48 0f 45 ea f0 ff 4d 34 74 0d 41 83 4c 24 e0 01 31 c0 e9 00 fe ff ff 48 89 ef e8 e0 31 9e ff eb e9 89 e8 e9 ef fd ff ff 0f 0$ <0f> 0b 48 89 ef e8 fb f6 9c ff 48 8b 45 08 a8 01 75 24 f0 ff 4d 34 RSP: 0018:ffffa03ac026bdf8 EFLAGS: 00010246 ------------[ cut here ]------------ ... Call Trace: erofs_listxattr+0x30/0x2c0 ? selinux_inode_listxattr+0x5a/0x80 ? kmem_cache_alloc+0x33/0x170 ? security_inode_listxattr+0x27/0x40 listxattr+0xaf/0xc0 path_listxattr+0x5a/0xa0 do_syscall_64+0x43/0xf0 entry_SYSCALL_64_after_hwframe+0x44/0xa9 ... ---[ end trace 3c24b49408dc0c72 ]--- Fix it by checking ->xattr_isize in init_inode_xattrs(), and it also fixes improper return value -ENOTSUPP (it should be -ENODATA if xattr is enabled) for those inodes. Fixes: b17500a0fdba ("staging: erofs: introduce xattr & acl support") Cc: <stable@vger.kernel.org> # 4.19+ Reported-by: Li Guifu <bluce.liguifu@huawei.com> Tested-by: Li Guifu <bluce.liguifu@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Gao Xiang <gaoxiang25@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/erofs/namei.c')
0 files changed, 0 insertions, 0 deletions