Re: [PATCH POC 4/4] printk: Correctly replay buffer log for a new console

From: kbuild test robot
Date: Fri Jul 15 2016 - 14:28:46 EST


Hi,

[auto build test ERROR on v4.7-rc7]
[cannot apply to next-20160715]
[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/Petr-Mladek/printk-Several-fixes-of-cont-buffer-and-console-handling/20160716-012724
config: i386-tinyconfig (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

kernel/printk/printk.c: In function 'console_cont_flush':
kernel/printk/printk.c:2153:11: error: 'struct cont' has no member named 'msg'
if (!cont->msg->text_len)
^~
kernel/printk/printk.c:2163:24: error: passing argument 1 of 'cont_print_text' from incompatible pointer type [-Werror=incompatible-pointer-types]
len = cont_print_text(cont, text, size);
^~~~
kernel/printk/printk.c:1875:15: note: expected 'char *' but argument is of type 'struct cont *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2163:30: warning: passing argument 2 of 'cont_print_text' makes integer from pointer without a cast [-Wint-conversion]
len = cont_print_text(cont, text, size);
^~~~
kernel/printk/printk.c:1875:15: note: expected 'size_t {aka unsigned int}' but argument is of type 'char *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2163:8: error: too many arguments to function 'cont_print_text'
len = cont_print_text(cont, text, size);
^~~~~~~~~~~~~~~
kernel/printk/printk.c:1875:15: note: declared here
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2164:14: error: 'struct cont' has no member named 'msg'
level = cont->msg->level;
^~
kernel/printk/printk.c: In function 'console_unlock':
kernel/printk/printk.c:2262:7: error: 'cont_console_len' undeclared (first use in this function)
if (cont_console_len &&
^~~~~~~~~~~~~~~~
kernel/printk/printk.c:2262:7: note: each undeclared identifier is reported only once for each function it appears in
kernel/printk/printk.c:2263:7: error: 'cont_console_seq' undeclared (first use in this function)
cont_console_seq == console_seq &&
^~~~~~~~~~~~~~~~
kernel/printk/printk.c:2267:13: error: 'struct cont' has no member named 'owner'
fake_cont.owner = NULL;
^
kernel/printk/printk.c:2268:13: error: 'struct cont' has no member named 'msg'
fake_cont.msg = msg;
^
kernel/printk/printk.c:2269:13: error: 'struct cont' has no member named 'buf'
fake_cont.buf = log_text(msg);
^
kernel/printk/printk.c:2271:27: error: passing argument 1 of 'cont_print_text' from incompatible pointer type [-Werror=incompatible-pointer-types]
len += cont_print_text(&fake_cont, text + len, sizeof(text) - len);
^
kernel/printk/printk.c:1875:15: note: expected 'char *' but argument is of type 'struct cont *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2271:39: warning: passing argument 2 of 'cont_print_text' makes integer from pointer without a cast [-Wint-conversion]
len += cont_print_text(&fake_cont, text + len, sizeof(text) - len);
^~~~
kernel/printk/printk.c:1875:15: note: expected 'size_t {aka unsigned int}' but argument is of type 'char *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2271:11: error: too many arguments to function 'cont_print_text'
len += cont_print_text(&fake_cont, text + len, sizeof(text) - len);
^~~~~~~~~~~~~~~
kernel/printk/printk.c:1875:15: note: declared here
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/string.h:2:0,
from include/linux/string.h:18,
from include/linux/dynamic_debug.h:111,
from include/linux/printk.h:289,
from include/linux/kernel.h:13,
from kernel/printk/printk.c:19:
>> kernel/printk/printk.c:2315:24: error: 'cont_msg' undeclared (first use in this function)
memcpy(&fake_msg, &cont_msg, sizeof(fake_msg));
^
arch/x86/include/asm/string_32.h:182:45: note: in definition of macro 'memcpy'
#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
^
kernel/printk/printk.c:2316:14: error: 'struct cont' has no member named 'buf'
fake_cont.buf = cont_buf;
^
>> kernel/printk/printk.c:2316:21: error: 'cont_buf' undeclared (first use in this function)
fake_cont.buf = cont_buf;
^~~~~~~~
kernel/printk/printk.c:2320:14: error: 'struct cont' has no member named 'buf'
fake_cont.buf = log_text(msg);
^
kernel/printk/printk.c:2322:13: error: 'struct cont' has no member named 'msg'
fake_cont.msg = &fake_msg;
^
kernel/printk/printk.c:2326:26: error: passing argument 1 of 'cont_print_text' from incompatible pointer type [-Werror=incompatible-pointer-types]
len = cont_print_text(&fake_cont, text, sizeof(text));
^
kernel/printk/printk.c:1875:15: note: expected 'char *' but argument is of type 'struct cont *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2326:38: warning: passing argument 2 of 'cont_print_text' makes integer from pointer without a cast [-Wint-conversion]
len = cont_print_text(&fake_cont, text, sizeof(text));
^~~~
kernel/printk/printk.c:1875:15: note: expected 'size_t {aka unsigned int}' but argument is of type 'char *'
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
kernel/printk/printk.c:2326:10: error: too many arguments to function 'cont_print_text'
len = cont_print_text(&fake_cont, text, sizeof(text));
^~~~~~~~~~~~~~~
kernel/printk/printk.c:1875:15: note: declared here
static size_t cont_print_text(char *text, size_t size) { return 0; }
^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/cont_msg +2315 kernel/printk/printk.c

2309 struct cont fake_cont;
2310 size_t len;
2311 int level;
2312
2313 raw_spin_lock(&logbuf_lock);
2314 if (console_seq == log_next_seq) {
> 2315 memcpy(&fake_msg, &cont_msg, sizeof(fake_msg));
> 2316 fake_cont.buf = cont_buf;
2317 } else {
2318 msg = log_from_idx(console_idx);
2319 memcpy(&fake_msg, msg, sizeof(fake_msg));

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

Attachment: .config.gz
Description: Binary data