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

Generated at Sat Feb 10 03:19:42 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.