Messages in this thread | | | Date | Tue, 30 Apr 2019 11:23:15 +1000 | From | "Tobin C. Harding" <> | Subject | Re: [PATCH 1/3] bridge: Fix error path for kobject_init_and_add() |
| |
On Tue, Apr 30, 2019 at 10:28:15AM +1000, Tobin C. Harding wrote:
[snip]
The cover letter appears to have gotten lost, I can resend if it makes things better for you Dave.
FTR this is the contents from it:
Hi Dave,
There are a few places in net/ that are not correctly handling the error path after calls to kobject_init_and_add(). This set fixes all of these for net/
This corrects a memory leak if kobject_init() is not followed by a call to kobject_put()
This set is part of an effort to check/fix all of these mem leaks across the kernel tree.
For reference this is the behaviour that we are trying to achieve
void fn(void) { int ret;
ret = kobject_init_and_add(kobj, ktype, NULL, "foo"); if (ret) { kobject_put(kobj); return ret; }
ret = some_init_fn(); if (ret) goto err;
ret = some_other_init_fn(); if (ret) goto other_err;
kobject_uevent(kobj, KOBJ_ADD); return 0;
other_err: other_clean_up_fn(); err: kobject_del(kobj); return ret; }
Testing: No testing done, built with config options
CONFIG_NET=y CONFIG_SYSFS=y CONFIG_BRIDGE=y
thanks, Tobin.
| |