[LU-15600] mdc_changelog_cdev_init frees memory without removing it from list Created: 28/Feb/22 Updated: 01/Mar/22 |
|
| Status: | Open |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.15.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Oleg Drokin | Assignee: | Mikhail Pershin |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
list_add_tail(&obd->u.cli.cl_chg_dev_linkage, &entry->ced_obds); list_add_tail(&entry->ced_link, &chlg_registered_devices); rc = chlg_minor_alloc(&minor); if (rc) GOTO(out_unlock, rc); ... out_minor: chlg_minor_free(minor); list_del_init(&obd->u.cli.cl_chg_dev_linkage); list_del(&entry->ced_link); out_unlock: mutex_unlock(&chlg_registered_dev_lock); if (entry) OBD_FREE_PTR(entry); RETURN(rc); |
| Comments |
| Comment by John Hammond [ 28/Feb/22 ] |
|
tappro will you take a look at this please? |
| Comment by Andreas Dilger [ 01/Mar/22 ] |
|
looks like the out_unlock: label just needs to be moved up before the list_del_init() call. |