diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2020-01-25 10:52:30 -0500 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2020-01-25 10:52:30 -0500 |
commit | 24589e3a20876dc07c62f45c8f8f8266dd39ba38 (patch) | |
tree | 731bd14092dae05d75a635c4a0bbca5f65dd63ed /kernel/trace/ftrace.c | |
parent | 28394da25888168df379c40910591b95e8e449f7 (diff) | |
download | linux-stable-24589e3a20876dc07c62f45c8f8f8266dd39ba38.tar.gz linux-stable-24589e3a20876dc07c62f45c8f8f8266dd39ba38.tar.bz2 linux-stable-24589e3a20876dc07c62f45c8f8f8266dd39ba38.zip |
tracing: Use pr_err() instead of WARN() for memory failures
As warnings can trigger panics, especially when "panic_on_warn" is set,
memory failure warnings can cause panics and fail fuzz testers that are
stressing memory.
Create a MEM_FAIL() macro to use instead of WARN() in the tracing code
(perhaps this should be a kernel wide macro?), and use that for memory
failure issues. This should stop failing fuzz tests due to warnings.
Link: https://lore.kernel.org/r/CACT4Y+ZP-7np20GVRu3p+eZys9GPtbu+JpfV+HtsufAzvTgJrg@mail.gmail.com
Suggested-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r-- | kernel/trace/ftrace.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 5c701765da5b..fdb1a9532420 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -5459,7 +5459,7 @@ static void __init set_ftrace_early_graph(char *buf, int enable) struct ftrace_hash *hash; hash = alloc_ftrace_hash(FTRACE_HASH_DEFAULT_BITS); - if (WARN_ON(!hash)) + if (MEM_FAIL(!hash, "Failed to allocate hash\n")) return; while (buf) { @@ -6591,7 +6591,7 @@ static void add_to_clear_hash_list(struct list_head *clear_list, func = kmalloc(sizeof(*func), GFP_KERNEL); if (!func) { - WARN_ONCE(1, "alloc failure, ftrace filter could be stale\n"); + MEM_FAIL(1, "alloc failure, ftrace filter could be stale\n"); return; } |