diff options
author | Ned Bass <[email protected]> | 2015-05-28 16:14:19 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-06-05 12:41:17 -0700 |
commit | 5f8e1e850522ee5cd37366427da4b4101a71c8a8 (patch) | |
tree | e2d658d906c9287d008bc769ca7321e521d93f19 /include | |
parent | d617648c7fc6904261f3ae8f2e3726c5c1838508 (diff) |
dmu_objset_userquota_get_ids uses dn_bonus unsafely
The function dmu_objset_userquota_get_ids() checks and uses dn->dn_bonus
outside of dn_struct_rwlock. If the dnode is being freed then the bonus
dbuf may be in the process of getting evicted. In this case there is a
race that may cause dmu_objset_userquota_get_ids() to access the dbuf
after it has been destroyed. To prevent this, ensure that when we are
using the bonus dbuf we are either holding a reference on it or have
taken dn_struct_rwlock.
Signed-off-by: Ned Bass <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3443
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions