| From | Ben Hutchings <> | Date | Sun, 29 Dec 2013 03:08:44 +0100 | Subject | [PATCH 3.2 181/185] ftrace: Fix ftrace hash record update with notrace |
| |
3.2.54-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Steven Rostedt <srostedt@redhat.com>
commit c842e975520f8ab09e293cc92f51a1f396251fd5 upstream.
When disabling the "notrace" records, that means we want to trace them. If the notrace_hash is zero, it means that we want to trace all records. But to disable a zero notrace_hash means nothing.
The check for the notrace_hash count was incorrect with:
if (hash && !hash->count) return
With the correct comment above it that states that we do nothing if the notrace_hash has zero count. But !hash also means that the notrace hash has zero count. I think this was done to protect against dereferencing NULL. But if !hash is true, then we go through the following loop without doing a single thing.
Fix it to:
if (!hash || !hash->count) return;
Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- kernel/trace/ftrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -1358,7 +1358,7 @@ static void __ftrace_hash_rec_update(str * If the notrace hash has no items, * then there's nothing to do. */ - if (hash && !hash->count) + if (!hash || !hash->count) return; }
|