[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: |
|
||||
| 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. |