Am 2020-06-20 um 9:21 a.m. schrieb Julia Lawall: > > On Sat, 20 Jun 2020, Markus Elfring wrote: > >>> The function kobject_init_and_add alloc memory like: >>> kobject_init_and_add->kobject_add_varg->kobject_set_name_vargs >>> ->kvasprintf_const->kstrdup_const->kstrdup->kmalloc_track_caller >>> ->kmalloc_slab, in err branch this memory not free. If use >>> kmemleak, this path maybe catched. >>> These changes are to add kobject_put in kobject_init_and_add >>> failed branch, fix potential memleak. >> … >>> Changes since V2: >>> *remove duplicate kobject_put in kfd_procfs_init. >> Under which circumstances are going to improve this change description accordingly? > Bernard, please update the log message as well. The mail you sent was > much more clear, but mail just gets lost over time. The log message > itself should be improved. Hi all, The behaviour of kobject_init_and_add is documented in the kernel source: https://elixir.bootlin.com/linux/v5.7.2/source/lib/kobject.c#L459: * If this function returns an error, kobject_put() must be called to * properly clean up the memory associated with the object. This is the * same type of error handling after a call to kobject_add() and kobject * lifetime rules are the same here. No need to have a complicated explanation with a call stack in the change description. Just point to the kernel documentation. Regards,   Felix > > julia > >> Would you like to add the tag “Fixes” to the commit message? >> >> Regards, >> Markus > >