[LU-6499] leaking a kernel device on error in init_obdclass Created: 25/Apr/15  Updated: 09/Mar/17  Resolved: 15/Feb/17

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

Type: Bug Priority: Minor
Reporter: Oleg Drokin Assignee: Bruno Faccini (Inactive)
Resolution: Fixed Votes: 0
Labels: easy

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

 Description   

Highlighted by smatch:

init_obdclass has this nice code:

        err = misc_register(&obd_psdev);
        if (err) {
                CERROR("cannot register %d err %d\n", OBD_DEV_MINOR, err);
                return err;
        }
...
        err = obd_init_caches();
        if (err)
                return err;
        err = class_procfs_init();
        if (err)
                return err;

        err = lu_global_init();
        if (err)
                return err;

        err = lu_capainfo_init();
        if (err)
                return err;
...

leaking reference to the just registered device.
We should really be freeing it on all subsequent errors.



 Comments   
Comment by Bruno Faccini (Inactive) [ 16/Sep/16 ]

On behalf of "Gerrit Updater", I am manually adding the following comment because it had been originally added to a wrong ticket (LU-6449) due to a typo in the header/1st-line of commit-msg ... :

Faccini Bruno (bruno.faccini@intel.com) uploaded a new patch: http://review.whamcloud.com/22544
Subject: LU-6499 obdclass: obdclass module cleanup upon load error
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 18eba47083e13dbb0dd355de57042634a189b0a0
Comment by Gerrit Updater [ 15/Feb/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/22544/
Subject: LU-6499 obdclass: obdclass module cleanup upon load error
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: e4761eb1f4d564f111be66a61ac84f9f9be97fc2

Comment by Peter Jones [ 15/Feb/17 ]

Landed for 2.10

Generated at Sat Feb 10 02:00:45 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.