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
545static void kdb_msg_write(const char *msg, int msg_len)545static void kdb_msg_write(const char *msg, int msg_len)
546{546{
547 struct console *c;547 struct console *c;
548 const char *cp;
549 int len;
548 550
549 if (msg_len == 0)551 if (msg_len == 0)
550 return;552 return;
551 553
552 if (dbg_io_ops) {554 cp = msg;
553 const char *cp = msg;555 len = msg_len;
554 int len = msg_len;
555 556
556 while (len--) {557 while (len--) {
557 dbg_io_ops->write_char(*cp);558 dbg_io_ops->write_char(*cp);
558 cp++;559 cp++;
559 }
560 }560 }
561 561
562 for_each_console(c) {562 for_each_console(c) {