Skip to content

Commit f4438b1

Browse files
compudjgregkh
authored andcommitted
tracepoint: Do not warn on ENOMEM
commit d66a270 upstream. Tracepoint should only warn when a kernel API user does not respect the required preconditions (e.g. same tracepoint enabled twice, or called to remove a tracepoint that does not exist). Silence warning in out-of-memory conditions, given that the error is returned to the caller. This ensures that out-of-memory error-injection testing does not trigger warnings in tracepoint.c, which were seen by syzbot. Link: https://lkml.kernel.org/r/001a114465e241a8720567419a72@google.com Link: https://lkml.kernel.org/r/001a1140e0de15fc910567464190@google.com Link: http://lkml.kernel.org/r/20180315124424.32319-1-mathieu.desnoyers@efficios.com CC: Peter Zijlstra <peterz@infradead.org> CC: Jiri Olsa <jolsa@redhat.com> CC: Arnaldo Carvalho de Melo <acme@kernel.org> CC: Alexander Shishkin <alexander.shishkin@linux.intel.com> CC: Namhyung Kim <namhyung@kernel.org> CC: stable@vger.kernel.org Fixes: de7b297 ("tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints") Reported-by: syzbot+9c0d616860575a73166a@syzkaller.appspotmail.com Reported-by: syzbot+4e9ae7fa46233396f64d@syzkaller.appspotmail.com Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent bd0e2ae commit f4438b1

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

kernel/tracepoint.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ static int tracepoint_add_func(struct tracepoint *tp,
207207
lockdep_is_held(&tracepoints_mutex));
208208
old = func_add(&tp_funcs, func, prio);
209209
if (IS_ERR(old)) {
210-
WARN_ON_ONCE(1);
210+
WARN_ON_ONCE(PTR_ERR(old) != -ENOMEM);
211211
return PTR_ERR(old);
212212
}
213213

@@ -240,7 +240,7 @@ static int tracepoint_remove_func(struct tracepoint *tp,
240240
lockdep_is_held(&tracepoints_mutex));
241241
old = func_remove(&tp_funcs, func);
242242
if (IS_ERR(old)) {
243-
WARN_ON_ONCE(1);
243+
WARN_ON_ONCE(PTR_ERR(old) != -ENOMEM);
244244
return PTR_ERR(old);
245245
}
246246

0 commit comments

Comments
 (0)