Re: [PATCH 2/2] printk: Add boottime and real timestamps

From: kbuild test robot
Date: Wed Jul 26 2017 - 23:04:23 EST


Hi Prarit,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.13-rc2]
[cannot apply to next-20170726]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Prarit-Bhargava/printk-allow-different-timestamps-for-printk-time/20170727-104148
config: i386-tinyconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

kernel/printk/printk.c: In function 'printk_late_init':
>> kernel/printk/printk.c:2746:6: error: 'printk_time_setting' undeclared (first use in this function)
if (printk_time_setting == 0)
^~~~~~~~~~~~~~~~~~~
kernel/printk/printk.c:2746:6: note: each undeclared identifier is reported only once for each function it appears in
>> kernel/printk/printk.c:2747:25: error: 'printk_time' undeclared (first use in this function)
printk_time_setting = printk_time;
^~~~~~~~~~~

vim +/printk_time_setting +2746 kernel/printk/printk.c

2724
2725 /*
2726 * Some boot consoles access data that is in the init section and which will
2727 * be discarded after the initcalls have been run. To make sure that no code
2728 * will access this data, unregister the boot consoles in a late initcall.
2729 *
2730 * If for some reason, such as deferred probe or the driver being a loadable
2731 * module, the real console hasn't registered yet at this point, there will
2732 * be a brief interval in which no messages are logged to the console, which
2733 * makes it difficult to diagnose problems that occur during this time.
2734 *
2735 * To mitigate this problem somewhat, only unregister consoles whose memory
2736 * intersects with the init section. Note that code exists elsewhere to get
2737 * rid of the boot console as soon as the proper console shows up, so there
2738 * won't be side-effects from postponing the removal.
2739 */
2740 static int __init printk_late_init(void)
2741 {
2742 struct console *con;
2743 int ret;
2744
2745 /* initialize printk_time settings */
> 2746 if (printk_time_setting == 0)
> 2747 printk_time_setting = printk_time;
2748
2749 for_each_console(con) {
2750 if (!keep_bootcon && con->flags & CON_BOOT) {
2751 /*
2752 * Make sure to unregister boot consoles whose data
2753 * resides in the init section before the init section
2754 * is discarded. Boot consoles whose data will stick
2755 * around will automatically be unregistered when the
2756 * proper console replaces them.
2757 */
2758 if (init_section_intersects(con, sizeof(*con)))
2759 unregister_console(con);
2760 }
2761 }
2762 ret = cpuhp_setup_state_nocalls(CPUHP_PRINTK_DEAD, "printk:dead", NULL,
2763 console_cpu_notify);
2764 WARN_ON(ret < 0);
2765 ret = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "printk:online",
2766 console_cpu_notify, NULL);
2767 WARN_ON(ret < 0);
2768 return 0;
2769 }
2770 late_initcall(printk_late_init);
2771

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip