Re: [PATCH-next 3/3] serial/sysrq: Add MAGIC_SYSRQ_SERIAL_SEQUENCE

From: kbuild test robot
Date: Fri Jan 10 2020 - 14:02:05 EST


Hi Dmitry,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tty/tty-testing]
[also build test ERROR on next-20200109]
[cannot apply to linux/master usb/usb-testing linus/master v5.5-rc5]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/serial-sysrq-Add-MAGIC_SYSRQ_SERIAL_SEQUENCE/20200110-191606
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
config: microblaze-nommu_defconfig (attached as .config)
compiler: microblaze-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=microblaze

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/tty/serial/serial_core.c:3084:33: error: 'CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE' undeclared here (not in a function)
const char sysrq_toggle_seq[] = CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/serial_core.c: In function 'uart_sysrq_on':
>> drivers/tty/serial/serial_core.c:3088:2: error: implicit declaration of function 'sysrq_toggle_support' [-Werror=implicit-function-declaration]
sysrq_toggle_support(1);
^~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/serial_core.c: In function 'uart_handle_sysrq_char':
>> drivers/tty/serial/serial_core.c:3125:7: error: implicit declaration of function 'sysrq_get_mask'; did you mean 'xas_get_mark'? [-Werror=implicit-function-declaration]
if (sysrq_get_mask()) {
^~~~~~~~~~~~~~
xas_get_mark
cc1: some warnings being treated as errors

vim +/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE +3084 drivers/tty/serial/serial_core.c

3083
> 3084 const char sysrq_toggle_seq[] = CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE;
3085
3086 static void uart_sysrq_on(struct work_struct *w)
3087 {
> 3088 sysrq_toggle_support(1);
3089 pr_info("SysRq is enabled by magic sequience on serial\n");
3090 }
3091 static DECLARE_WORK(sysrq_enable_work, uart_sysrq_on);
3092
3093 static int uart_try_toggle_sysrq(struct uart_port *port, unsigned int ch)
3094 {
3095 if (sysrq_toggle_seq[0] == '\0')
3096 return 0;
3097
3098 BUILD_BUG_ON(ARRAY_SIZE(sysrq_toggle_seq) >= sizeof(port->sysrq_seq)*U8_MAX);
3099 if (sysrq_toggle_seq[port->sysrq_seq] != ch) {
3100 port->sysrq_seq = 0;
3101 return 0;
3102 }
3103
3104 /* Without the last \0 */
3105 if (++port->sysrq_seq < (ARRAY_SIZE(sysrq_toggle_seq) - 1)) {
3106 port->sysrq = jiffies + HZ*5;
3107 return 1;
3108 }
3109
3110 schedule_work(&sysrq_enable_work);
3111
3112 port->sysrq = 0;
3113 return 1;
3114 }
3115
3116 int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
3117 {
3118 if (!IS_ENABLED(CONFIG_MAGIC_SYSRQ_SERIAL))
3119 return 0;
3120
3121 if (!port->has_sysrq || !port->sysrq)
3122 return 0;
3123
3124 if (ch && time_before(jiffies, port->sysrq)) {
> 3125 if (sysrq_get_mask()) {
3126 handle_sysrq(ch);
3127 port->sysrq = 0;
3128 return 1;
3129 }
3130 if (uart_try_toggle_sysrq(port, ch))
3131 return 1;
3132 }
3133 port->sysrq = 0;
3134
3135 return 0;
3136 }
3137 EXPORT_SYMBOL_GPL(uart_handle_sysrq_char);
3138

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

Attachment: .config.gz
Description: application/gzip