aboutsummaryrefslogtreecommitdiff
path: root/fs/tracefs
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org> 2024-05-17 18:34:27 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org> 2024-05-17 18:34:27 -0700
commit594d28157f2d55c4f17f2e18c778da098446e594 (patch)
tree097f046fd99ef03975102e0dfb4f61cccea7b4cf /fs/tracefs
parentMerge tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tra... (diff)
parenteventfs: Fix a possible null pointer dereference in eventfs_find_events() (diff)
downloadlinux-594d28157f2d55c4f17f2e18c778da098446e594.tar.gz
linux-594d28157f2d55c4f17f2e18c778da098446e594.tar.bz2
linux-594d28157f2d55c4f17f2e18c778da098446e594.zip
Merge tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
Pull tracing updates from Steven Rostedt: - Remove unused ftrace_direct_funcs variables - Fix a possible NULL pointer dereference race in eventfs - Update do_div() usage in trace event benchmark test - Speedup direct function registration with asynchronous RCU callback. The synchronization was done in the registration code and this caused delays when registering direct callbacks. Move the freeing to a call_rcu() that will prevent delaying of the registering. - Replace simple_strtoul() usage with kstrtoul() * tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: eventfs: Fix a possible null pointer dereference in eventfs_find_events() ftrace: Fix possible use-after-free issue in ftrace_location() ftrace: Remove unused global 'ftrace_direct_func_count' ftrace: Remove unused list 'ftrace_direct_funcs' tracing: Improve benchmark test performance by using do_div() ftrace: Use asynchronous grace period for register_ftrace_direct() ftrace: Replaces simple_strtoul in ftrace
Diffstat (limited to 'fs/tracefs')
-rw-r--r--fs/tracefs/event_inode.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/tracefs/event_inode.c b/fs/tracefs/event_inode.c
index a878cea70f4c..0256afdd4acf 100644
--- a/fs/tracefs/event_inode.c
+++ b/fs/tracefs/event_inode.c
@@ -345,10 +345,9 @@ static struct eventfs_inode *eventfs_find_events(struct dentry *dentry)
* If the ei is being freed, the ownership of the children
* doesn't matter.
*/
- if (ei->is_freed) {
- ei = NULL;
- break;
- }
+ if (ei->is_freed)
+ return NULL;
+
// Walk upwards until you find the events inode
} while (!ei->is_events);