[LU-4833] osd-zfs: object/buffer leak in __osd_object_create() Created: 28/Mar/14  Updated: 20/Jul/15  Resolved: 13/Jun/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.6.0

Type: Bug Priority: Critical
Reporter: Isaac Huang (Inactive) Assignee: Isaac Huang (Inactive)
Resolution: Fixed Votes: 0
Labels: zfs

Issue Links:
Related
Severity: 3
Rank (Obsolete): 13320

 Description   

If __osd_object_create() fails, references to the new DMU object and its dmu_buf_t are both lost. For example, in osd_mksym() and osd_mknod(), when __osd_object_create() returns error, the callers simply return ERR_PTR(rc); without doing anything else, then both the new DMU object and its dmu_buf_t are leaked.

So __osd_object_create() should clean it up before returning error. There's a similar problem in __osd_zap_create().



 Comments   
Comment by Andreas Dilger [ 23/Apr/14 ]

Isaac, are you working on a patch for this bug? It is marked as a critical bug for the 2.6.0 release.

Comment by Isaac Huang (Inactive) [ 25/Apr/14 ]

I think it should be minor, rather than critical. I'll work on a fix the coming week.

Comment by Isaac Huang (Inactive) [ 19/May/14 ]

Fix pushed at: http://review.whamcloud.com/#/c/10362/

Comment by Jodi Levi (Inactive) [ 13/Jun/14 ]

Patch landed to Master.

Generated at Sat Feb 10 01:46:14 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.