From: Daniel Thompson daniel.thompson@linaro.org
This patch has been added to the stable tree. If you have any objections, please let us know.
===============
[ Upstream commit c07d35338081d107e57cf37572d8cc931a8e32e2 ]
kallsyms_symbol_next() returns a boolean (true on success). Currently kdb_read() tests the return value with an inequality that unconditionally evaluates to true.
This is fixed in the obvious way and, since the conditional branch is supposed to be unreachable, we also add a WARN_ON().
Reported-by: Dan Carpenter dan.carpenter@oracle.com Signed-off-by: Daniel Thompson daniel.thompson@linaro.org Cc: linux-stable stable@vger.kernel.org Signed-off-by: Jason Wessel jason.wessel@windriver.com Signed-off-by: Sasha Levin alexander.levin@microsoft.com --- kernel/debug/kdb/kdb_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c index fc1ef736253c..77777d918676 100644 --- a/kernel/debug/kdb/kdb_io.c +++ b/kernel/debug/kdb/kdb_io.c @@ -349,7 +349,7 @@ static char *kdb_read(char *buffer, size_t bufsize) } kdb_printf("\n"); for (i = 0; i < count; i++) { - if (kallsyms_symbol_next(p_tmp, i) < 0) + if (WARN_ON(!kallsyms_symbol_next(p_tmp, i))) break; kdb_printf("%s ", p_tmp); *(p_tmp + len) = '\0';