Re: [PATCH v5] mm: cma: support sysfs
From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-03-23 21:29:56
Also in:
lkml
From: Dmitry Osipenko <digetx@gmail.com>
Date: 2021-03-23 21:29:56
Also in:
lkml
24.03.2021 00:19, Dmitry Osipenko пишет:
quoted
+ if (!kobj) + goto out; + + kobj->cma = cma; + cma->kobj = kobj; + if (kobject_init_and_add(&cma->kobj->kobj, &cma_ktype, + cma_kobj_root, "%s", cma->name)) { + kobject_put(&cma->kobj->kobj); + goto out; + } + } + + return 0; +out: + kobject_put(cma_kobj_root); + + return -ENOMEM;kobject_init_and_add returns a error code, it could be different from ENOMEM. Won't hurt to propagate the proper error code.
I think it will be cleaner to write it like this:
cma_kobj = kzalloc(sizeof(*cma_kobj), GFP_KERNEL);
if (!cma_kobj) {
kobject_put(cma_kobj_root);
return -ENOMEM;
}
cma_kobj->cma = cma;
err = kobject_init_and_add(&cma_kobj->kobj, &cma_ktype,
cma_kobj_root, "%s", cma->name);
if (err) {
kobject_put(&cma_kobj->kobj);
kobject_put(cma_kobj_root);
return err;
}
}
return 0;
}