eventfs: Fix failure path in eventfs_create_events_dir()
commit 7e8ad67c9b5c11e990c320ed7e7563f2301672a7 upstream. The failure path of allocating ei goes to a path that dereferences ei. Add another label that skips over the ei dereferences to do the rest of the clean up. Link: https://lore.kernel.org/all/70e7bace-561c-95f-1117-706c2c220bc@inria.fr/ Link: https://lore.kernel.org/linux-trace-kernel/20231019204132.6662fef0@gandalf.local.home Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Fixes: 5790b1fb3d67 ("eventfs: Remove eventfs_file and just use eventfs_inode") Reported-by: Julia Lawall <julia.lawall@inria.fr> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
17e4e4d233
commit
c99e5cfe77
@ -735,7 +735,7 @@ struct eventfs_inode *eventfs_create_events_dir(const char *name, struct dentry
|
||||
|
||||
ei = kzalloc(sizeof(*ei), GFP_KERNEL);
|
||||
if (!ei)
|
||||
goto fail;
|
||||
goto fail_ei;
|
||||
|
||||
inode = tracefs_get_inode(dentry->d_sb);
|
||||
if (unlikely(!inode))
|
||||
@ -781,6 +781,7 @@ struct eventfs_inode *eventfs_create_events_dir(const char *name, struct dentry
|
||||
fail:
|
||||
kfree(ei->d_children);
|
||||
kfree(ei);
|
||||
fail_ei:
|
||||
tracefs_failed_creating(dentry);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user