diff options
author | David Disseldorp <ddiss@suse.de> | 2019-04-18 14:15:48 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2019-07-08 14:01:41 +0200 |
commit | 2b2abcac8c251d1c77a4cc9d9f248daefae0fb4e (patch) | |
tree | e5d02df95cdaaf86449ffebd879f0a24cf7c8f1d /sound/hda/hdmi_chmap.c | |
parent | 100cc610a550affcbef13d74855f736b92caa947 (diff) | |
download | linux-2b2abcac8c251d1c77a4cc9d9f248daefae0fb4e.tar.bz2 |
ceph: fix listxattr vxattr buffer length calculation
ceph_listxattr() incorrectly returns a length based on the static
ceph_vxattrs_name_size() value, which only takes into account whether
vxattrs are hidden, ignoring vxattr.exists_cb().
When filling the xattr buffer ceph_listxattr() checks VXATTR_FLAG_HIDDEN
and vxattr.exists_cb(). If both are false, we return an incorrect
(oversize) length.
Fix this behaviour by always calculating the vxattrs length at runtime,
taking both vxattr.hidden and vxattr.exists_cb() into account.
This bug is only exposed with the new "ceph.snap.btime" vxattr, as all
other vxattrs with a non-null exists_cb also carry VXATTR_FLAG_HIDDEN.
Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'sound/hda/hdmi_chmap.c')
0 files changed, 0 insertions, 0 deletions