Commit 798a4016 authored by Al Viro's avatar Al Viro
Browse files

tracefs: fix a leak in eventfs_create_events_dir()



If we have LOCKDOWN_TRACEFS, the function bails out - *after*
having locked the parent directory and without bothering to
undo that.  Just check it before tracefs_start_creating()...

Fixes: e2470945 "tracefs/eventfs: Add missing lockdown checks"
Acked-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent c460192a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -757,7 +757,7 @@ struct eventfs_inode *eventfs_create_events_dir(const char *name, struct dentry
						const struct eventfs_entry *entries,
						int size, void *data)
{
	struct dentry *dentry = tracefs_start_creating(name, parent);
	struct dentry *dentry;
	struct eventfs_root_inode *rei;
	struct eventfs_inode *ei;
	struct tracefs_inode *ti;
@@ -768,6 +768,7 @@ struct eventfs_inode *eventfs_create_events_dir(const char *name, struct dentry
	if (security_locked_down(LOCKDOWN_TRACEFS))
		return NULL;

	dentry = tracefs_start_creating(name, parent);
	if (IS_ERR(dentry))
		return ERR_CAST(dentry);