History

kdb: remove unnecessary null check of dbg_io_ops

`kdb_msg_write` operates on a global `struct kgdb_io *` called `dbg_io_ops`. It's initialized in `debug_core.c` and checked throughout the debug flow. There's a null check in `kdb_msg_write` which triggers static analyzers and gives the (almost entirely wrong) impression that it can be null. Coverity scanner caught this as CID 1465042. I have removed the unnecessary null check and eliminated false-positive forward null dereference warning.

Cengiz Can committed 6 years ago

Commit fcdb84c1 parent f75aef31 file · +7 −7Browse files

Showing the changes to kernel/debug (1 of 1 file). Show all

Unified · Split

kernel/debug/kdb/kdb_io.c+7−7
@@ -545,18 +545,18 @@ static int kdb_search_string(char *searched, char *searchfor) · 544 unmodified lines
545545 static void kdb_msg_write(const char *msg, int msg_len)
546546 {
547547 struct console *c;
548+ const char *cp;
549+ int len;
548550
549551 if (msg_len == 0)
550552 return;
551553
552− if (dbg_io_ops) {
553− const char *cp = msg;
554− int len = msg_len;
554+ cp = msg;
555+ len = msg_len;
555556
556− while (len--) {
557− dbg_io_ops->write_char(*cp);
558− cp++;
559− }
557+ while (len--) {
558+ dbg_io_ops->write_char(*cp);
559+ cp++;
560560 }
561561
562562 for_each_console(c) {