On Tue 2021-12-14 16:50:15, Greg Kroah-Hartman wrote: > > kobject_init() does allocate things internally, where does it say it > does not? What is trying to be "fixed" here? Could you please show where things are allocated in kobject_init()? I do not see it in the code! It looks to me like a cargo cult claim to me. Documentation/core-api/kobject.rst says: Once you registered your kobject via kobject_add(), you must never use kfree() to free it directly. The only safe way is to use kobject_put(). kobject_add() makes perfect sense because it copies the name, takes reference to the parent, etc. kobject_init() just initializes the structure members and nothing else. Best Regards, Petr