]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tracing: Use vmalloc_array() to improve code
authorQianfeng Rong <rongqianfeng@vivo.com>
Sun, 17 Aug 2025 08:47:25 +0000 (16:47 +0800)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 23 Sep 2025 13:31:58 +0000 (09:31 -0400)
Remove array_size() calls and replace vmalloc() with vmalloc_array() in
tracing_map_sort_entries().  vmalloc_array() is optimized better, uses
fewer instructions, and handles overflow more concisely[1].

[1]: https://lore.kernel.org/lkml/abc66ec5-85a4-47e1-9759-2f60ab111971@vivo.com/

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/20250817084725.59477-1-rongqianfeng@vivo.com
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/tracing_map.c

index 1921ade45be38b27600e3b055e81b9050a566826..7f8da4dab69d50ed2fe3ae65495ffa20bff9f591 100644 (file)
@@ -1076,7 +1076,7 @@ int tracing_map_sort_entries(struct tracing_map *map,
        struct tracing_map_sort_entry *sort_entry, **entries;
        int i, n_entries, ret;
 
-       entries = vmalloc(array_size(sizeof(sort_entry), map->max_elts));
+       entries = vmalloc_array(map->max_elts, sizeof(sort_entry));
        if (!entries)
                return -ENOMEM;