mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 05:42:46 +01:00
ftrace: Use hash argument for tmp_ops in update_ftrace_direct_mod
The modify logic registers temporary ftrace_ops object (tmp_ops) to trigger
the slow path for all direct callers to be able to safely modify attached
addresses.
At the moment we use ops->func_hash for tmp_ops filter, which represents all
the systems attachments. It's faster to use just the passed hash filter, which
contains only the modified sites and is always a subset of the ops->func_hash.
Cc: Alexei Starovoitov <[email protected]>
Cc: Daniel Borkmann <[email protected]>
Cc: Andrii Nakryiko <[email protected]>
Cc: Menglong Dong <[email protected]>
Cc: Song Liu <[email protected]>
Link: https://patch.msgid.link/[email protected]
Fixes: e93672f770 ("ftrace: Add update_ftrace_direct_mod function")
Signed-off-by: Jiri Olsa <[email protected]>
Signed-off-by: Steven Rostedt (Google) <[email protected]>
This commit is contained in:
1 parent
f35dbac694
commit
50b35c9e50
1 file changed
+2
-2
@@ -6606,9 +6606,9 @@ int update_ftrace_direct_mod(struct ftrace_ops *ops, struct ftrace_hash *hash, b
|
||||
if (!orig_hash)
|
||||
goto unlock;
|
||||
|
||||
/* Enable the tmp_ops to have the same functions as the direct ops */
|
||||
/* Enable the tmp_ops to have the same functions as the hash object. */
|
||||
ftrace_ops_init(&tmp_ops);
|
||||
tmp_ops.func_hash = ops->func_hash;
|
||||
tmp_ops.func_hash->filter_hash = hash;
|
||||
|
||||
err = register_ftrace_function_nolock(&tmp_ops);
|
||||
if (err)
|
||||
|
||||
Reference in new issue
Block a user