Hi Marcos, kernel test robot noticed the following build errors:
[auto build test ERROR on 3a8660878839faadb4f1a6dd72c3179c1df56787] url: https://github.com/intel-lab-lkp/linux/commits/Marcos-Paulo-de-Souza/printk-nbcon-Export-console_is_usable/20251016-225503 base: 3a8660878839faadb4f1a6dd72c3179c1df56787 patch link: https://lore.kernel.org/r/20251016-nbcon-kgdboc-v6-5-866aac60a80e%40suse.com patch subject: [PATCH v6 5/5] kdb: Adapt kdb_msg_write to work with NBCON consoles config: i386-buildonly-randconfig-006-20251017 (https://download.01.org/0day-ci/archive/20251017/[email protected]/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251017/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): >> kernel/debug/kdb/kdb_io.c:612:22: error: incompatible pointer types passing >> 'struct nbcon_write_context *' to parameter of type 'struct console *' >> [-Werror,-Wincompatible-pointer-types] 612 | nbcon_kdb_release(&wctxt); | ^~~~~~ include/linux/console.h:667:54: note: passing argument to parameter 'con' here 667 | static inline void nbcon_kdb_release(struct console *con) { } | ^ 1 error generated. vim +612 kernel/debug/kdb/kdb_io.c 560 561 static void kdb_msg_write(const char *msg, int msg_len) 562 { 563 struct console *c; 564 const char *cp; 565 int cookie; 566 int len; 567 568 if (msg_len == 0) 569 return; 570 571 cp = msg; 572 len = msg_len; 573 574 while (len--) { 575 dbg_io_ops->write_char(*cp); 576 cp++; 577 } 578 579 /* 580 * The console_srcu_read_lock() only provides safe console list 581 * traversal. The use of the ->write() callback relies on all other 582 * CPUs being stopped at the moment and console drivers being able to 583 * handle reentrance when @oops_in_progress is set. 584 * 585 * There is no guarantee that every console driver can handle 586 * reentrance in this way; the developer deploying the debugger 587 * is responsible for ensuring that the console drivers they 588 * have selected handle reentrance appropriately. 589 */ 590 cookie = console_srcu_read_lock(); 591 for_each_console_srcu(c) { 592 short flags = console_srcu_read_flags(c); 593 594 if (!console_is_usable(c, flags, true)) 595 continue; 596 if (c == dbg_io_ops->cons) 597 continue; 598 599 if (flags & CON_NBCON) { 600 struct nbcon_write_context wctxt = { }; 601 602 /* 603 * Do not continue if the console is NBCON and the context 604 * can't be acquired. 605 */ 606 if (!nbcon_kdb_try_acquire(c, &wctxt)) 607 continue; 608 609 nbcon_write_context_set_buf(&wctxt, (char *)msg, msg_len); 610 611 c->write_atomic(c, &wctxt); > 612 nbcon_kdb_release(&wctxt); 613 } else { 614 /* 615 * Set oops_in_progress to encourage the console drivers to 616 * disregard their internal spin locks: in the current calling 617 * context the risk of deadlock is a bigger problem than risks 618 * due to re-entering the console driver. We operate directly on 619 * oops_in_progress rather than using bust_spinlocks() because 620 * the calls bust_spinlocks() makes on exit are not appropriate 621 * for this calling context. 622 */ 623 ++oops_in_progress; 624 c->write(c, msg, msg_len); 625 --oops_in_progress; 626 } 627 touch_nmi_watchdog(); 628 } 629 console_srcu_read_unlock(cookie); 630 } 631 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ Kgdb-bugreport mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport
