kprobes/x86: Use hlist_for_each_entry() instead of hlist_for_each_entry_safe()
authorMasami Hiramatsu <mhiramat@kernel.org>
Mon, 6 Feb 2017 09:55:43 +0000 (18:55 +0900)
committerIngo Molnar <mingo@kernel.org>
Mon, 6 Feb 2017 10:07:07 +0000 (11:07 +0100)
Use hlist_for_each_entry() in the first loop in the kretprobe
trampoline_handler() function, because it doesn't change the hlist.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/148637493309.19245.12546866092052500584.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/kprobes/core.c

index eb3509338ae01ac69097d3decb922075ab63cb6a..520b8dfe164026cf53b762f87b8f507401384969 100644 (file)
@@ -745,7 +745,7 @@ __visible __used void *trampoline_handler(struct pt_regs *regs)
         *       will be the real return address, and all the rest will
         *       point to kretprobe_trampoline.
         */
-       hlist_for_each_entry_safe(ri, tmp, head, hlist) {
+       hlist_for_each_entry(ri, head, hlist) {
                if (ri->task != current)
                        /* another task is sharing our hash bucket */
                        continue;