Incorrect usage of kobject_init_and_add?
From: Machiry Aravind Kumar
Date: Wed Jan 09 2019 - 18:14:25 EST
Hi all,
I see some discrepancy in how the function: kobject_init_and_add is
used in various places of the kernel.
According to the docs, when kobject_init_and_add fails, the caller is
supposed to call kobject_put on the corresponding kobj.
We found several instances where this is indeed true:
https://elixir.bootlin.com/linux/latest/source/drivers/block/pktcdvd.c#L131
However, there are again several places where this is not the case.
For instance: https://github.com/torvalds/linux/blob/master/kernel/sched/cpufreq_schedutil.c#L754
Why is this discrepancy? Should these be fixed to add kobject_put in
their error path?
-Best,
Aravind