eventfs: Make sure that parent->d_inode is locked in creating files/dirs

Since the locking of the parent->d_inode has been moved outside the
creation of the files and directories (as it use to be locked via a
conditional), add a WARN_ON_ONCE() to the case that it's not locked.

Link: https://lkml.kernel.org/r/20231121231112.853962542@goodmis.org

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: default avatarJosef Bacik <josef@toxicpanda.com>
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
parent fc456122
...@@ -327,6 +327,8 @@ create_file_dentry(struct eventfs_inode *ei, int idx, ...@@ -327,6 +327,8 @@ create_file_dentry(struct eventfs_inode *ei, int idx,
struct dentry **e_dentry = &ei->d_children[idx]; struct dentry **e_dentry = &ei->d_children[idx];
struct dentry *dentry; struct dentry *dentry;
WARN_ON_ONCE(!inode_is_locked(parent->d_inode));
mutex_lock(&eventfs_mutex); mutex_lock(&eventfs_mutex);
if (ei->is_freed) { if (ei->is_freed) {
mutex_unlock(&eventfs_mutex); mutex_unlock(&eventfs_mutex);
...@@ -430,6 +432,8 @@ create_dir_dentry(struct eventfs_inode *pei, struct eventfs_inode *ei, ...@@ -430,6 +432,8 @@ create_dir_dentry(struct eventfs_inode *pei, struct eventfs_inode *ei,
{ {
struct dentry *dentry = NULL; struct dentry *dentry = NULL;
WARN_ON_ONCE(!inode_is_locked(parent->d_inode));
mutex_lock(&eventfs_mutex); mutex_lock(&eventfs_mutex);
if (pei->is_freed || ei->is_freed) { if (pei->is_freed || ei->is_freed) {
mutex_unlock(&eventfs_mutex); mutex_unlock(&eventfs_mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment