ceph: fix xattr dangling pointer / double free
If we use the xattr_blob, clear the pointer so we don't release the memory at the bottom of the fuction. Reported-by: Henry C Chang <henry_c_chang@tcloudcomputing.com> Signed-off-by: Sage Weil <sage@newdream.net>
This commit is contained in:
@@ -619,6 +619,7 @@ static int fill_inode(struct inode *inode,
|
|||||||
memcpy(ci->i_xattrs.blob->vec.iov_base,
|
memcpy(ci->i_xattrs.blob->vec.iov_base,
|
||||||
iinfo->xattr_data, iinfo->xattr_len);
|
iinfo->xattr_data, iinfo->xattr_len);
|
||||||
ci->i_xattrs.version = le64_to_cpu(info->xattr_version);
|
ci->i_xattrs.version = le64_to_cpu(info->xattr_version);
|
||||||
|
xattr_blob = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
inode->i_mapping->a_ops = &ceph_aops;
|
inode->i_mapping->a_ops = &ceph_aops;
|
||||||
|
|||||||
Reference in New Issue
Block a user