eventfs: Move taking of inode_lock into dcache_dir_open_wrapper()
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 21 Nov 2023 23:10:05 +0000 (18:10 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Wed, 22 Nov 2023 23:37:05 +0000 (18:37 -0500)
commitbcae32c5632fc0a0dbce46fa731cd23403117e66
treea92479127dfd86845cffe8753b5573131a271534
parent4763d635c907baed212664dc579dde1663bb2676
eventfs: Move taking of inode_lock into dcache_dir_open_wrapper()

The both create_file_dentry() and create_dir_dentry() takes a boolean
parameter "lookup", as on lookup the inode_lock should already be taken,
but for dcache_dir_open_wrapper() it is not taken.

There's no reason that the dcache_dir_open_wrapper() can't take the
inode_lock before calling these functions. In fact, it's better if it
does, as the lock can be held throughout both directory and file
creations.

This also simplifies the code, and possibly prevents unexpected race
conditions when the lock is released.

Link: https://lkml.kernel.org/r/20231121231112.528544825@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Fixes: 5790b1fb3d672 ("eventfs: Remove eventfs_file and just use eventfs_inode")
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
fs/tracefs/event_inode.c