Message ID | tencent_364B28745976AD66CC3D7137029706364609@qq.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | reiserfs: fix null ptr deref in reiserfs_xattr_set | expand |
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index 998035a6388e..00fd8f747394 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -618,6 +618,9 @@ int reiserfs_xattr_set(struct inode *inode, const char *name, int error, error2; size_t jbegin_count = reiserfs_xattr_nblocks(inode, buffer_size); + if (!reiserfs_xattrs_initialized(inode->i_sb)) + return -EOPNOTSUPP; + /* Check before we start a transaction and then do nothing. */ if (!d_really_is_positive(REISERFS_SB(inode->i_sb)->priv_root)) return -EOPNOTSUPP;
Before performing any xattr settings, it is necessary to first confirm that both xattr_root and priv_root are valid. Reported-and-tested-by: syzbot+74dce9511a59ad67a492@syzkaller.appspotmail.com Signed-off-by: Edward Adam Davis <eadavis@qq.com --- fs/reiserfs/xattr.c | 3 +++ 1 file changed, 3 insertions(+)