This leak is the same as the bus path; mlog_kset.kobj.name is set, but kset_register fails, thus nothing will ever call kset_unregister and name will be leaked
Signed-off-by: Patrick Pannuto <[email protected]> --- fs/ocfs2/cluster/masklog.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c index c7fba39..de715d4 100644 --- a/fs/ocfs2/cluster/masklog.c +++ b/fs/ocfs2/cluster/masklog.c @@ -154,6 +154,7 @@ static struct kset mlog_kset = { int mlog_sys_init(struct kset *o2cb_kset) { int i = 0; + int ret; while (mlog_attrs[i].attr.mode) { mlog_attr_ptrs[i] = &mlog_attrs[i].attr; @@ -163,7 +164,11 @@ int mlog_sys_init(struct kset *o2cb_kset) kobject_set_name(&mlog_kset.kobj, "logmask"); mlog_kset.kobj.kset = o2cb_kset; - return kset_register(&mlog_kset); + + ret = kset_register(&mlog_kset); + if (ret) + kfree(mlog_kset.kobj.name); + return ret; } void mlog_sys_shutdown(void) -- 1.7.2 _______________________________________________ Ocfs2-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/ocfs2-devel
