]> git.itanic.dy.fi Git - linux-stable/commitdiff
kdb: Fix handling of kallsyms_symbol_next() return value
authorDaniel Thompson <daniel.thompson@linaro.org>
Mon, 2 Mar 2015 14:13:36 +0000 (14:13 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Dec 2017 09:32:27 +0000 (10:32 +0100)
commit c07d35338081d107e57cf37572d8cc931a8e32e2 upstream.

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>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/debug/kdb/kdb_io.c

index 7c70812caea5b3223fe1a9b7d9252980f90a02fe..681c8b42e01333bb890a1451153afb3f0b612b22 100644 (file)
@@ -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';