Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
mdd_parent_fid() reads xattrs without taking a lock, so the xattr cache can be populated with stale data. So link_ea data forms a cycle :
osp <struct osp_object 0xffff8800852091e0> b'trusted.link' <struct osp_xattr_entry 0xffff880085836d80> <struct link_ea_entry 0xffff880085836dde> b'16' [0x2c0000400:0x21:0x0] osp <struct osp_object 0xffff880085208420> b'trusted.link' <struct osp_xattr_entry 0xffff8801246c1780> <struct link_ea_entry 0xffff8801246c17de> b'[0x2c0000400:0x21:0x0]:0' [0x2c0000404:0x720:0x0] osp <struct osp_object 0xffff880085209080> b'trusted.link' <struct osp_xattr_entry 0xffff880085836700> <struct link_ea_entry 0xffff88008583675e> b'8' [0x280000403:0x7:0x0] osp <struct osp_object 0xffff8800852082c0> b'trusted.link' <struct osp_xattr_entry 0xffff880083db1300> <struct link_ea_entry 0xffff880083db135e> b'[0x280000403:0x7:0x0]:3' [0x2c0000409:0x729:0x0]
It is reproduced by racer.