Thread (9 messages) 9 messages, 3 authors, 2021-03-24

Re: [PATCH v5] mm: cma: support sysfs

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;
}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help