[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202510171450.G2KdvDMm-lkp@intel.com>
Date: Fri, 17 Oct 2025 15:14:34 +0800
From: kernel test robot <lkp@...el.com>
To: Marcos Paulo de Souza <mpdesouza@...e.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Petr Mladek <pmladek@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
John Ogness <john.ogness@...utronix.de>,
Sergey Senozhatsky <senozhatsky@...omium.org>,
Jason Wessel <jason.wessel@...driver.com>,
Daniel Thompson <danielt@...nel.org>,
Douglas Anderson <dianders@...omium.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
kgdb-bugreport@...ts.sourceforge.net,
Marcos Paulo de Souza <mpdesouza@...e.com>
Subject: Re: [PATCH v6 5/5] kdb: Adapt kdb_msg_write to work with NBCON
consoles
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: sh-randconfig-002-20251017 (https://download.01.org/0day-ci/archive/20251017/202510171450.G2KdvDMm-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251017/202510171450.G2KdvDMm-lkp@intel.com/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 <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510171450.G2KdvDMm-lkp@intel.com/
All errors (new ones prefixed by >>):
kernel/debug/kdb/kdb_io.c: In function 'kdb_msg_write':
>> kernel/debug/kdb/kdb_io.c:612:43: error: passing argument 1 of 'nbcon_kdb_release' from incompatible pointer type [-Wincompatible-pointer-types]
612 | nbcon_kdb_release(&wctxt);
| ^~~~~~
| |
| struct nbcon_write_context *
In file included from kernel/debug/kdb/kdb_io.c:17:
include/linux/console.h:667:54: note: expected 'struct console *' but argument is of type 'struct nbcon_write_context *'
667 | static inline void nbcon_kdb_release(struct console *con) { }
| ~~~~~~~~~~~~~~~~^~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for I2C_K1
Depends on [n]: I2C [=y] && HAS_IOMEM [=y] && (ARCH_SPACEMIT || COMPILE_TEST [=y]) && OF [=n]
Selected by [y]:
- MFD_SPACEMIT_P1 [=y] && HAS_IOMEM [=y] && (ARCH_SPACEMIT || COMPILE_TEST [=y]) && I2C [=y]
vim +/nbcon_kdb_release +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
Powered by blists - more mailing lists