ubifs: Massage assert in ubifs_xattr_set() wrt. init_xattrs
authorXiaolei Li <xiaolei.li@mediatek.com>
Fri, 23 Jun 2017 02:37:23 +0000 (10:37 +0800)
committerRichard Weinberger <richard@nod.at>
Fri, 14 Jul 2017 20:50:54 +0000 (22:50 +0200)
commitd8db5b1ca9d4c57e49893d0f78e6d5ce81450cc8
treed416e0fe37e606100a02d1c786c8050f460d7577
parent4acadda74ff8b949c448c0282765ae747e088c87
ubifs: Massage assert in ubifs_xattr_set() wrt. init_xattrs

The inode is not locked in init_xattrs when creating a new inode.

Without this patch, there will occurs assert when booting or creating
a new file, if the kernel config CONFIG_SECURITY_SMACK is enabled.

Log likes:

UBIFS assert failed in ubifs_xattr_set at 298 (pid 1156)
CPU: 1 PID: 1156 Comm: ldconfig Tainted: G S 4.12.0-rc1-207440-g1e70b02 #2
Hardware name: MediaTek MT2712 evaluation board (DT)
Call trace:
[<ffff000008088538>] dump_backtrace+0x0/0x238
[<ffff000008088834>] show_stack+0x14/0x20
[<ffff0000083d98d4>] dump_stack+0x9c/0xc0
[<ffff00000835d524>] ubifs_xattr_set+0x374/0x5e0
[<ffff00000835d7ec>] init_xattrs+0x5c/0xb8
[<ffff000008385788>] security_inode_init_security+0x110/0x190
[<ffff00000835e058>] ubifs_init_security+0x30/0x68
[<ffff00000833ada0>] ubifs_mkdir+0x100/0x200
[<ffff00000820669c>] vfs_mkdir+0x11c/0x1b8
[<ffff00000820b73c>] SyS_mkdirat+0x74/0xd0
[<ffff000008082f8c>] __sys_trace_return+0x0/0x4

Signed-off-by: Xiaolei Li <xiaolei.li@mediatek.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/crypto.c
fs/ubifs/ubifs.h
fs/ubifs/xattr.c