drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:363:62: warning: format specifies type 'char' but the argument has type 'int'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: 3c4153394e2c749b415947b86eb560114ec0f64d bnxt_en: implement firmware live patching
date: 12 days ago
config: i386-randconfig-a002-20211109 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f3798ad5fa845771846599f3c088016e3aef800c)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 3c4153394e2c749b415947b86eb560114ec0f64d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c:363:62: warning: format specifies type 'char' but the argument has type 'int' [-Wformat]
netdev_err(bp->dev, "Unexpected live patch error: %hhd\n", err);
~~~~ ^~~
%d
1 warning generated.
vim +363 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
325
326 static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req,
327 struct netlink_ext_ack *extack);
328
329 static void
330 bnxt_dl_livepatch_report_err(struct bnxt *bp, struct netlink_ext_ack *extack,
331 struct hwrm_fw_livepatch_output *resp)
332 {
333 int err = ((struct hwrm_err_output *)resp)->cmd_err;
334
335 switch (err) {
336 case FW_LIVEPATCH_CMD_ERR_CODE_INVALID_OPCODE:
337 netdev_err(bp->dev, "Illegal live patch opcode");
338 NL_SET_ERR_MSG_MOD(extack, "Invalid opcode");
339 break;
340 case FW_LIVEPATCH_CMD_ERR_CODE_NOT_SUPPORTED:
341 NL_SET_ERR_MSG_MOD(extack, "Live patch operation not supported");
342 break;
343 case FW_LIVEPATCH_CMD_ERR_CODE_NOT_INSTALLED:
344 NL_SET_ERR_MSG_MOD(extack, "Live patch not found");
345 break;
346 case FW_LIVEPATCH_CMD_ERR_CODE_NOT_PATCHED:
347 NL_SET_ERR_MSG_MOD(extack,
348 "Live patch deactivation failed. Firmware not patched.");
349 break;
350 case FW_LIVEPATCH_CMD_ERR_CODE_AUTH_FAIL:
351 NL_SET_ERR_MSG_MOD(extack, "Live patch not authenticated");
352 break;
353 case FW_LIVEPATCH_CMD_ERR_CODE_INVALID_HEADER:
354 NL_SET_ERR_MSG_MOD(extack, "Incompatible live patch");
355 break;
356 case FW_LIVEPATCH_CMD_ERR_CODE_INVALID_SIZE:
357 NL_SET_ERR_MSG_MOD(extack, "Live patch has invalid size");
358 break;
359 case FW_LIVEPATCH_CMD_ERR_CODE_ALREADY_PATCHED:
360 NL_SET_ERR_MSG_MOD(extack, "Live patch already applied");
361 break;
362 default:
> 363 netdev_err(bp->dev, "Unexpected live patch error: %hhd\n", err);
364 NL_SET_ERR_MSG_MOD(extack, "Failed to activate live patch");
365 break;
366 }
367 }
368
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
Re: [PATCH net v1] bpf: Fix build when CONFIG_BPF_SYSCALL is disabled
by kernel test robot
Hi Vinicius,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master]
url: https://github.com/0day-ci/linux/commits/Vinicius-Costa-Gomes/bpf-Fix-bui...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git fceb07950a7aac43d52d8c6ef580399a8b9b68fe
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/1e7a382c089da5714e4a9411765e84815...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vinicius-Costa-Gomes/bpf-Fix-build-when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148
git checkout 1e7a382c089da5714e4a9411765e84815cf550f9
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/bpf/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
kernel/bpf/btf.c: In function 'btf_seq_show':
kernel/bpf/btf.c:5876:22: warning: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5876 | seq_vprintf((struct seq_file *)show->target, fmt, args);
| ^~~~~~~~
kernel/bpf/btf.c: In function 'btf_snprintf_show':
kernel/bpf/btf.c:5913:2: warning: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
5913 | len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
| ^~~
kernel/bpf/btf.c: At top level:
kernel/bpf/btf.c:6370:9: error: variable 'bpf_tcp_ca_kfunc_list' has initializer but incomplete type
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/list.h:21:30: warning: excess elements in struct initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/mutex.h:109:3: error: extra brace group at end of initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/btf.h:6,
from kernel/bpf/btf.c:4:
include/linux/types.h:170:24: error: extra brace group at end of initializer
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/types.h:170:24: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/mutex.h:109:3: warning: excess elements in struct initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6370:9: error: variable 'prog_test_kfunc_list' has initializer but incomplete type
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/list.h:21:30: warning: excess elements in struct initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT'
6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/mutex.h:109:3: error: extra brace group at end of initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/btf.h:6,
from kernel/bpf/btf.c:4:
include/linux/types.h:170:24: error: extra brace group at end of initializer
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/types.h:170:24: note: (near initialization for 'prog_test_kfunc_list')
170 | #define ATOMIC_INIT(i) { (i) }
| ^
include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT'
19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i)
| ^~~~~~~~~~~
include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT'
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
include/linux/list.h:21:30: error: extra brace group at end of initializer
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list')
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^
include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT'
111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^
include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT'
21 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
| ^~~~
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rhashtable-types.h:14,
from include/linux/ipc.h:7,
from include/uapi/linux/sem.h:5,
from include/linux/sem.h:5,
from include/linux/sched.h:15,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
>> include/linux/mutex.h:109:3: warning: excess elements in struct initializer
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list')
109 | { .owner = ATOMIC_LONG_INIT(0) \
| ^
kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER'
6371 | __MUTEX_INITIALIZER(name.mutex) }; \
| ^~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:7,
from include/linux/kernel.h:8,
from arch/x86/include/asm/percpu.h:27,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/ptrace.h:6,
from include/uapi/asm-generic/bpf_perf_event.h:4,
from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1,
from include/uapi/linux/bpf_perf_event.h:11,
from kernel/bpf/btf.c:6:
kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~
include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL'
98 | extern typeof(sym) sym; \
| ^~~
include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL'
160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "")
| ^~~~~~~~~~~~~~~
include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL'
164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl")
| ^~~~~~~~~~~~~~
kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
6372 | EXPORT_SYMBOL_GPL(name)
| ^~~~~~~~~~~~~~~~~
kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST'
6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +21 include/linux/list.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 10
^1da177e4c3f41 Linus Torvalds 2005-04-16 11 /*
1eafe075bf9cb4 Asif Rasheed 2020-09-20 12 * Circular doubly linked list implementation.
^1da177e4c3f41 Linus Torvalds 2005-04-16 13 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 14 * Some of the internal functions ("__xxx") are useful when
^1da177e4c3f41 Linus Torvalds 2005-04-16 15 * manipulating whole lists rather than single entries, as
^1da177e4c3f41 Linus Torvalds 2005-04-16 16 * sometimes we already know the next/prev entries and we can
^1da177e4c3f41 Linus Torvalds 2005-04-16 17 * generate better code by using them directly rather than
^1da177e4c3f41 Linus Torvalds 2005-04-16 18 * using the generic single-entry routines.
^1da177e4c3f41 Linus Torvalds 2005-04-16 19 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 20
^1da177e4c3f41 Linus Torvalds 2005-04-16 @21 #define LIST_HEAD_INIT(name) { &(name), &(name) }
^1da177e4c3f41 Linus Torvalds 2005-04-16 22
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/net/wireless/microchip/wilc1000/wlan.c:620:34: warning: variable 'to_host_from_fw_bit' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: 5bb9de8bcb18c38ea089a287b77944ef8ee71abd wilc1000: configure registers to handle chip wakeup sequence
date: 7 weeks ago
config: h8300-randconfig-r026-20211109 (attached as .config)
compiler: h8300-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 5bb9de8bcb18c38ea089a287b77944ef8ee71abd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/wireless/microchip/wilc1000/wlan.c: In function 'chip_wakeup':
>> drivers/net/wireless/microchip/wilc1000/wlan.c:620:34: warning: variable 'to_host_from_fw_bit' set but not used [-Wunused-but-set-variable]
620 | u32 to_host_from_fw_reg, to_host_from_fw_bit;
| ^~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/microchip/wilc1000/wlan.c:620:13: warning: variable 'to_host_from_fw_reg' set but not used [-Wunused-but-set-variable]
620 | u32 to_host_from_fw_reg, to_host_from_fw_bit;
| ^~~~~~~~~~~~~~~~~~~
vim +/to_host_from_fw_bit +620 drivers/net/wireless/microchip/wilc1000/wlan.c
613
614 void chip_wakeup(struct wilc *wilc)
615 {
616 u32 ret = 0;
617 u32 clk_status_val = 0, trials = 0;
618 u32 wakeup_reg, wakeup_bit;
619 u32 clk_status_reg, clk_status_bit;
> 620 u32 to_host_from_fw_reg, to_host_from_fw_bit;
621 u32 from_host_to_fw_reg, from_host_to_fw_bit;
622 const struct wilc_hif_func *hif_func = wilc->hif_func;
623
624 if (wilc->io_type == WILC_HIF_SDIO) {
625 wakeup_reg = WILC_SDIO_WAKEUP_REG;
626 wakeup_bit = WILC_SDIO_WAKEUP_BIT;
627 clk_status_reg = WILC_SDIO_CLK_STATUS_REG;
628 clk_status_bit = WILC_SDIO_CLK_STATUS_BIT;
629 from_host_to_fw_reg = WILC_SDIO_HOST_TO_FW_REG;
630 from_host_to_fw_bit = WILC_SDIO_HOST_TO_FW_BIT;
631 to_host_from_fw_reg = WILC_SDIO_FW_TO_HOST_REG;
632 to_host_from_fw_bit = WILC_SDIO_FW_TO_HOST_BIT;
633 } else {
634 wakeup_reg = WILC_SPI_WAKEUP_REG;
635 wakeup_bit = WILC_SPI_WAKEUP_BIT;
636 clk_status_reg = WILC_SPI_CLK_STATUS_REG;
637 clk_status_bit = WILC_SPI_CLK_STATUS_BIT;
638 from_host_to_fw_reg = WILC_SPI_HOST_TO_FW_REG;
639 from_host_to_fw_bit = WILC_SPI_HOST_TO_FW_BIT;
640 to_host_from_fw_reg = WILC_SPI_FW_TO_HOST_REG;
641 to_host_from_fw_bit = WILC_SPI_FW_TO_HOST_BIT;
642 }
643
644 /* indicate host wakeup */
645 ret = hif_func->hif_write_reg(wilc, from_host_to_fw_reg,
646 from_host_to_fw_bit);
647 if (ret)
648 return;
649
650 /* Set wake-up bit */
651 ret = hif_func->hif_write_reg(wilc, wakeup_reg,
652 wakeup_bit);
653 if (ret)
654 return;
655
656 while (trials < WAKE_UP_TRIAL_RETRY) {
657 ret = hif_func->hif_read_reg(wilc, clk_status_reg,
658 &clk_status_val);
659 if (ret) {
660 pr_err("Bus error %d %x\n", ret, clk_status_val);
661 return;
662 }
663 if (clk_status_val & clk_status_bit)
664 break;
665
666 trials++;
667 }
668 if (trials >= WAKE_UP_TRIAL_RETRY) {
669 pr_err("Failed to wake-up the chip\n");
670 return;
671 }
672 }
673 EXPORT_SYMBOL_GPL(chip_wakeup);
674
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
Re: [PATCH v3 3/3] mm/hwpoison: fix unpoison_memory()
by kernel test robot
Hi Naoya,
I love your patch! Yet something to improve:
[auto build test ERROR on hnaz-mm/master]
url: https://github.com/0day-ci/linux/commits/Naoya-Horiguchi/mm-hwpoison-fix-...
base: https://github.com/hnaz/linux-mm master
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/1b78bd027ee061f9378cf47687f9f4649...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Naoya-Horiguchi/mm-hwpoison-fix-unpoison_memory/20211105-135311
git checkout 1b78bd027ee061f9378cf47687f9f4649a160fa4
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/mmzone.h:22,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from mm/memory-failure.c:37:
mm/memory-failure.c: In function 'SetPageHWPoisonTakenOff':
>> include/linux/page-flags.h:525:24: error: unsigned conversion from 'long long int' to 'long unsigned int' changes value from '5212723395167473486' to '1230196558' [-Werror=overflow]
525 | #define MAGIC_HWPOISON 0x4857504f49534f4e
| ^~~~~~~~~~~~~~~~~~
mm/memory-failure.c:1170:25: note: in expansion of macro 'MAGIC_HWPOISON'
1170 | set_page_private(page, MAGIC_HWPOISON);
| ^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +525 include/linux/page-flags.h
520
521 #ifdef CONFIG_MEMORY_FAILURE
522 PAGEFLAG(HWPoison, hwpoison, PF_ANY)
523 TESTSCFLAG(HWPoison, hwpoison, PF_ANY)
524 #define __PG_HWPOISON (1UL << PG_hwpoison)
> 525 #define MAGIC_HWPOISON 0x4857504f49534f4e
526 extern void SetPageHWPoisonTakenOff(struct page *page);
527 extern void ClearPageHWPoisonTakenOff(struct page *page);
528 extern bool take_page_off_buddy(struct page *page);
529 extern bool put_page_back_buddy(struct page *page);
530 #else
531 PAGEFLAG_FALSE(HWPoison, hwpoison)
532 #define __PG_HWPOISON 0
533 #endif
534
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cb690f5238d71f543f4ce874aa59237cf53a877c
commit: 63b3f96e1a989846a5a521d4fbef4bc86406929d kvm: Select SCHED_INFO instead of TASK_DELAY_ACCT
date: 6 months ago
config: arm64-randconfig-s032-20210927 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 63b3f96e1a989846a5a521d4fbef4bc86406929d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/pvtime.c:27:25: sparse: sparse: cast to restricted __le64
--
arch/arm64/kvm/mmio.c: note: in included file:
>> arch/arm64/include/asm/kvm_emulate.h:439:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __be16 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:439:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:439:32: sparse: got restricted __be16 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:441:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __be32 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:441:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:441:32: sparse: got restricted __be32 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:443:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __be64 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:443:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:443:32: sparse: got restricted __be64 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:450:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __le16 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:450:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:450:32: sparse: got restricted __le16 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:452:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __le32 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:452:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:452:32: sparse: got restricted __le32 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:454:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned long @@ got restricted __le64 [usertype] @@
arch/arm64/include/asm/kvm_emulate.h:454:32: sparse: expected unsigned long
arch/arm64/include/asm/kvm_emulate.h:454:32: sparse: got restricted __le64 [usertype]
>> arch/arm64/include/asm/kvm_emulate.h:408:32: sparse: sparse: cast to restricted __be16
>> arch/arm64/include/asm/kvm_emulate.h:410:32: sparse: sparse: cast to restricted __be32
>> arch/arm64/include/asm/kvm_emulate.h:412:32: sparse: sparse: cast to restricted __be64
>> arch/arm64/include/asm/kvm_emulate.h:419:32: sparse: sparse: cast to restricted __le16
>> arch/arm64/include/asm/kvm_emulate.h:419:32: sparse: sparse: cast to restricted __le16
>> arch/arm64/include/asm/kvm_emulate.h:419:32: sparse: sparse: cast to restricted __le16
>> arch/arm64/include/asm/kvm_emulate.h:419:32: sparse: sparse: cast to restricted __le16
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:421:32: sparse: sparse: cast to restricted __le32
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
>> arch/arm64/include/asm/kvm_emulate.h:423:32: sparse: sparse: cast to restricted __le64
--
>> arch/arm64/kvm/arch_timer.c:1016:66: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *vcpu_info @@ got struct kvm_vcpu *[noderef] __percpu * @@
arch/arm64/kvm/arch_timer.c:1016:66: sparse: expected void *vcpu_info
arch/arm64/kvm/arch_timer.c:1016:66: sparse: got struct kvm_vcpu *[noderef] __percpu *
arch/arm64/kvm/arch_timer.c:1049:74: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *vcpu_info @@ got struct kvm_vcpu *[noderef] __percpu * @@
arch/arm64/kvm/arch_timer.c:1049:74: sparse: expected void *vcpu_info
arch/arm64/kvm/arch_timer.c:1049:74: sparse: got struct kvm_vcpu *[noderef] __percpu *
--
>> arch/arm64/kvm/vgic/vgic-mmio.c:854:24: sparse: sparse: cast to restricted __le16
>> arch/arm64/kvm/vgic/vgic-mmio.c:854:24: sparse: sparse: cast to restricted __le16
>> arch/arm64/kvm/vgic/vgic-mmio.c:854:24: sparse: sparse: cast to restricted __le16
>> arch/arm64/kvm/vgic/vgic-mmio.c:854:24: sparse: sparse: cast to restricted __le16
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:856:24: sparse: sparse: cast to restricted __le32
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:858:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-mmio.c:878:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long data @@ got restricted __le16 [usertype] @@
arch/arm64/kvm/vgic/vgic-mmio.c:878:22: sparse: expected unsigned long data
arch/arm64/kvm/vgic/vgic-mmio.c:878:22: sparse: got restricted __le16 [usertype]
>> arch/arm64/kvm/vgic/vgic-mmio.c:881:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long data @@ got restricted __le32 [usertype] @@
arch/arm64/kvm/vgic/vgic-mmio.c:881:22: sparse: expected unsigned long data
arch/arm64/kvm/vgic/vgic-mmio.c:881:22: sparse: got restricted __le32 [usertype]
>> arch/arm64/kvm/vgic/vgic-mmio.c:884:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long data @@ got restricted __le64 [usertype] @@
arch/arm64/kvm/vgic/vgic-mmio.c:884:22: sparse: expected unsigned long data
arch/arm64/kvm/vgic/vgic-mmio.c:884:22: sparse: got restricted __le64 [usertype]
arch/arm64/kvm/vgic/vgic-mmio.c:88:17: sparse: sparse: context imbalance in 'vgic_mmio_write_group' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-mmio.c:124:9: sparse: sparse: context imbalance in 'vgic_mmio_write_senable' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-mmio.c:195:9: sparse: sparse: context imbalance in 'vgic_uaccess_write_senable' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-mmio.c:278:9: sparse: sparse: context imbalance in 'vgic_mmio_write_spending' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-mmio.c:320:9: sparse: sparse: context imbalance in 'vgic_uaccess_write_spending' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-mmio.c:565:9: sparse: sparse: context imbalance in 'vgic_mmio_change_active' - wrong count at exit
arch/arm64/kvm/vgic/vgic-mmio.c:773:30: sparse: sparse: context imbalance in 'vgic_write_irq_line_level_info' - different lock contexts for basic block
--
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:824:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:955:24: sparse: sparse: cast to restricted __le64
>> arch/arm64/kvm/vgic/vgic-its.c:2133:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [assigned] [usertype] val @@ got restricted __le64 [usertype] @@
arch/arm64/kvm/vgic/vgic-its.c:2133:13: sparse: expected unsigned long long [assigned] [usertype] val
arch/arm64/kvm/vgic/vgic-its.c:2133:13: sparse: got restricted __le64 [usertype]
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2159:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2280:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [assigned] [usertype] val @@ got restricted __le64 [usertype] @@
arch/arm64/kvm/vgic/vgic-its.c:2280:13: sparse: expected unsigned long long [assigned] [usertype] val
arch/arm64/kvm/vgic/vgic-its.c:2280:13: sparse: got restricted __le64 [usertype]
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2306:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2404:17: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2460:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [assigned] [usertype] val @@ got restricted __le64 [usertype] @@
arch/arm64/kvm/vgic/vgic-its.c:2460:13: sparse: expected unsigned long long [assigned] [usertype] val
arch/arm64/kvm/vgic/vgic-its.c:2460:13: sparse: got restricted __le64 [usertype]
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:2476:15: sparse: sparse: cast to restricted __le64
arch/arm64/kvm/vgic/vgic-its.c:280:12: sparse: sparse: context imbalance in 'update_lpi_config' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-its.c:443:9: sparse: sparse: context imbalance in 'its_sync_lpi_pending_table' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-its.c:730:12: sparse: sparse: context imbalance in 'vgic_its_trigger_msi' - different lock contexts for basic block
arch/arm64/kvm/vgic/vgic-its.c:752:5: sparse: sparse: context imbalance in 'vgic_its_inject_cached_translation' - wrong count at exit
vim +27 arch/arm64/kvm/pvtime.c
b48c1a45a19089 virt/kvm/arm/pvtime.c Steven Price 2019-10-21 12
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 13 void kvm_update_stolen_time(struct kvm_vcpu *vcpu)
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 14 {
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 15 struct kvm *kvm = vcpu->kvm;
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 16 u64 base = vcpu->arch.steal.base;
2dbd780e34ac53 arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 17 u64 last_steal = vcpu->arch.steal.last_steal;
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 18 u64 offset = offsetof(struct pvclock_vcpu_stolen_time, stolen_time);
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 19 u64 steal = 0;
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 20 int idx;
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 21
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 22 if (base == GPA_INVALID)
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 23 return;
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 24
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 25 idx = srcu_read_lock(&kvm->srcu);
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 26 if (!kvm_get_guest(kvm, base + offset, steal)) {
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 @27 steal = le64_to_cpu(steal);
2dbd780e34ac53 arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 28 vcpu->arch.steal.last_steal = READ_ONCE(current->sched_info.run_delay);
2dbd780e34ac53 arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 29 steal += vcpu->arch.steal.last_steal - last_steal;
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 30 kvm_put_guest(kvm, base + offset, cpu_to_le64(steal));
53f985584e3c2e arch/arm64/kvm/pvtime.c Andrew Jones 2020-08-04 31 }
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 32 srcu_read_unlock(&kvm->srcu, idx);
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 33 }
8564d6372a7d8a virt/kvm/arm/pvtime.c Steven Price 2019-10-21 34
:::::: The code at line 27 was first introduced by commit
:::::: 53f985584e3c2ebe5f2455530fbf87a001528db8 KVM: arm64: pvtime: Fix stolen time accounting across migration
:::::: TO: Andrew Jones <drjones(a)redhat.com>
:::::: CC: Marc Zyngier <maz(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[freescale-fslc:pr/485 13126/15145] drivers/firmware/imx/s400-api.c:455:17: error: implicit declaration of function '__cpuc_flush_dcache_area'
by kernel test robot
Hi Pankaj,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc pr/485
head: 3ff8c24dfb1fc13343e3e0bc54344b213b5a618b
commit: b57b8221587134978fbcd522e87aab6f44fea710 [13126/15145] s4muap arm: fix for compilation issue.
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/Freescale/linux-fslc/commit/b57b8221587134978fbcd522e8...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc pr/485
git checkout b57b8221587134978fbcd522e87aab6f44fea710
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/firmware/imx/s400-api.c:245:16: warning: no previous prototype for 'imx_soc_device_register' [-Wmissing-prototypes]
245 | struct device *imx_soc_device_register(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/imx/s400-api.c: In function 's4_muap_ioctl_img_auth_cmd_handler':
drivers/firmware/imx/s400-api.c:446:24: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
446 | memcpy((void *)img->dst, (const void *)(img->offset + phdr),
| ^
>> drivers/firmware/imx/s400-api.c:455:17: error: implicit declaration of function '__cpuc_flush_dcache_area' [-Werror=implicit-function-declaration]
455 | __cpuc_flush_dcache_area((void *) s, e);
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/__cpuc_flush_dcache_area +455 drivers/firmware/imx/s400-api.c
338
339 static int s4_muap_ioctl_get_info(struct s4_mu_device_ctx *dev_ctx,
340 unsigned long arg)
341 {
342 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
343 struct s4_read_info info;
344
345 int ret = -EINVAL;
346
347 ret = (int)copy_from_user(&info, (u8 *)arg,
348 sizeof(info));
349 if (ret) {
350 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
351 ret = -EFAULT;
352 goto exit;
353 }
354
355 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
356 (info.cmd_id << 16) |
357 (info.size << 8) |
358 S400_VERSION;
359
360 ret = imx_s400_api_call(s400_muap_priv, (void *) &info.resp);
361 if (ret) {
362 devctx_err(dev_ctx, "%s: imx_s400_api_call failed for cmd [0x%x]\n",
363 __func__, info.cmd_id);
364 ret = -EIO;
365 }
366
367 ret = (int)copy_to_user((u8 *)arg, &info,
368 sizeof(info));
369 if (ret) {
370 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
371 ret = -EFAULT;
372 }
373
374 exit:
375 return ret;
376 }
377 static int s4_muap_ioctl_img_auth_cmd_handler(struct s4_mu_device_ctx *dev_ctx,
378 unsigned long arg)
379 {
380 struct imx_s400_api *s400_muap_priv = dev_ctx->s400_muap_priv;
381 struct s4_muap_auth_image s4_muap_auth_image;
382 struct container_hdr *phdr = &s4_muap_auth_image.chdr;
383 struct image_info *img = &s4_muap_auth_image.img_info[0];
384 unsigned long base_addr = (unsigned long) &s4_muap_auth_image;
385
386 int i;
387 u16 length;
388 unsigned long s, e;
389 int ret = -EINVAL;
390
391 /* Check if not already configured. */
392 if (dev_ctx->secure_mem.dma_addr != 0u) {
393 devctx_err(dev_ctx, "Shared memory not configured\n");
394 goto exit;
395 }
396
397 ret = (int)copy_from_user(&s4_muap_auth_image, (u8 *)arg,
398 sizeof(s4_muap_auth_image));
399 if (ret) {
400 devctx_err(dev_ctx, "Fail copy shared memory config to user\n");
401 ret = -EFAULT;
402 goto exit;
403 }
404
405
406 if (!IS_ALIGNED(base_addr, 4)) {
407 devctx_err(dev_ctx, "Error: Image's address is not 4 byte aligned\n");
408 return -EINVAL;
409 }
410
411 if (phdr->tag != 0x87 && phdr->version != 0x0) {
412 devctx_err(dev_ctx, "Error: Wrong container header\n");
413 return -EFAULT;
414 }
415
416 if (!phdr->num_images) {
417 devctx_err(dev_ctx, "Error: Wrong container, no image found\n");
418 return -EFAULT;
419 }
420 length = phdr->length_lsb + (phdr->length_msb << 8);
421
422 devctx_dbg(dev_ctx, "container length %u\n", length);
423
424 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
425 (S400_OEM_CNTN_AUTH_REQ << 16) |
426 (S400_OEM_CNTN_AUTH_REQ_SIZE << 8) |
427 S400_VERSION;
428 s400_muap_priv->tx_msg.data[0] = ((u32)(((base_addr) >> 16) >> 16));
429 s400_muap_priv->tx_msg.data[1] = ((u32)(base_addr));
430
431 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
432 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
433 devctx_err(dev_ctx, "Error: Container Authentication failed.\n");
434 ret = -EIO;
435 goto exit;
436 }
437
438 /* Copy images to dest address */
439 for (i = 0; i < phdr->num_images; i++) {
440 img = img + i;
441
442 //devctx_dbg(dev_ctx, "img %d, dst 0x%x, src 0x%lux, size 0x%x\n",
443 // i, (u32) img->dst,
444 // (unsigned long)img->offset + phdr, img->size);
445
446 memcpy((void *)img->dst, (const void *)(img->offset + phdr),
447 img->size);
448
449 s = img->dst & ~(CACHELINE_SIZE - 1);
450 e = ALIGN(img->dst + img->size, CACHELINE_SIZE) - 1;
451
452 #ifdef CONFIG_ARM64
453 __flush_dcache_area((void *) s, e);
454 #else
> 455 __cpuc_flush_dcache_area((void *) s, e);
456 #endif
457 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
458 (S400_VERIFY_IMAGE_REQ << 16) |
459 (S400_VERIFY_IMAGE_REQ_SIZE << 8) |
460 S400_VERSION;
461 s400_muap_priv->tx_msg.data[0] = 1 << i;
462 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
463 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
464 devctx_err(dev_ctx, "Error: Image Verification failed.\n");
465 ret = -EIO;
466 goto exit;
467 }
468 }
469
470 exit:
471 s400_muap_priv->tx_msg.header = (s400_muap_priv->cmd_tag << 24) |
472 (S400_RELEASE_CONTAINER_REQ << 16) |
473 (S400_RELEASE_CONTAINER_REQ_SIZE << 8) |
474 S400_VERSION;
475 ret = imx_s400_api_call(s400_muap_priv, (void *) &s4_muap_auth_image.resp);
476 if (ret || (s4_muap_auth_image.resp != S400_SUCCESS_IND)) {
477 devctx_err(dev_ctx, "Error: Release Container failed.\n");
478 ret = -EIO;
479 }
480
481 ret = (int)copy_to_user((u8 *)arg, &s4_muap_auth_image,
482 sizeof(s4_muap_auth_image));
483 if (ret) {
484 devctx_err(dev_ctx, "Failed to copy iobuff setup to user\n");
485 ret = -EFAULT;
486 }
487 return ret;
488 }
489
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
Re: [PATCH v2 1/2] PCI: hv: Make the code arch neutral
by kernel test robot
Hi Sunil,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on e4e737bb5c170df6135a127739a9e6148ee3da82]
url: https://github.com/0day-ci/linux/commits/Sunil-Muthuswamy/PCI-hv-Hyper-V-...
base: e4e737bb5c170df6135a127739a9e6148ee3da82
config: x86_64-rhel-8.3-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/8f266a9b41d3dfc1600cecaba80ea116d...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sunil-Muthuswamy/PCI-hv-Hyper-V-vPCI-for-ARM64/20211009-012330
git checkout 8f266a9b41d3dfc1600cecaba80ea116dc6edf27
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/pci/controller/pci-hyperv-irqchip.c:18:5: warning: no previous prototype for 'hv_pci_irqchip_init' [-Wmissing-prototypes]
18 | int hv_pci_irqchip_init(struct irq_domain **parent_domain,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pci-hyperv-irqchip.c:29:6: warning: no previous prototype for 'hv_pci_irqchip_free' [-Wmissing-prototypes]
29 | void hv_pci_irqchip_free(void) {}
| ^~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pci-hyperv-irqchip.c:31:14: warning: no previous prototype for 'hv_msi_get_int_vector' [-Wmissing-prototypes]
31 | unsigned int hv_msi_get_int_vector(struct irq_data *data)
| ^~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pci-hyperv-irqchip.c:38:6: warning: no previous prototype for 'hv_set_msi_entry_from_desc' [-Wmissing-prototypes]
38 | void hv_set_msi_entry_from_desc(union hv_msi_entry *msi_entry,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pci-hyperv-irqchip.c:45:5: warning: no previous prototype for 'hv_msi_prepare' [-Wmissing-prototypes]
45 | int hv_msi_prepare(struct irq_domain *domain, struct device *dev,
| ^~~~~~~~~~~~~~
--
ERROR: modpost: missing MODULE_LICENSE() in drivers/pci/controller/pci-hyperv-irqchip.o
>> ERROR: modpost: "hv_msi_prepare" [drivers/pci/controller/pci-hyperv.ko] undefined!
>> ERROR: modpost: "hv_pci_irqchip_init" [drivers/pci/controller/pci-hyperv.ko] undefined!
>> ERROR: modpost: "hv_pci_irqchip_free" [drivers/pci/controller/pci-hyperv.ko] undefined!
>> ERROR: modpost: "hv_msi_get_int_vector" [drivers/pci/controller/pci-hyperv.ko] undefined!
>> ERROR: modpost: "hv_set_msi_entry_from_desc" [drivers/pci/controller/pci-hyperv.ko] undefined!
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[intel-lts:4.19/preempt-rt 16921/24084] arch/microblaze/include/asm/irqflags.h:51: Error: junk at end of line, first unrecognized character is `{'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 4.19/preempt-rt
head: 5869b5f01603be1b382db99b966071ac9d840daf
commit: 7cf6c733c0aa7108e00a2ae809e3d2261a86a703 [16921/24084] Merge tag 'lts-v4.19.120-base-200512T132121Z' into lts2018/preempt-rt
config: microblaze-buildonly-randconfig-r001-20211021 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel/linux-intel-lts/commit/7cf6c733c0aa7108e00a2ae80...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 4.19/preempt-rt
git checkout 7cf6c733c0aa7108e00a2ae809e3d2261a86a703
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/microblaze/include/asm/irqflags.h: Assembler messages:
arch/microblaze/include/asm/irqflags.h:50: Error: unknown opcode "static"
>> arch/microblaze/include/asm/irqflags.h:51: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:52: Error: unknown opcode "unsigned"
arch/microblaze/include/asm/irqflags.h:53: Error: unknown opcode "asm"
arch/microblaze/include/asm/irqflags.h:54: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:55: Error: unknown opcode "andi %1,"
arch/microblaze/include/asm/irqflags.h:56: Error: unknown opcode "mts rmsr,"
arch/microblaze/include/asm/irqflags.h:57: Error: unknown opcode "nop \n""
>> arch/microblaze/include/asm/irqflags.h:58: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:59: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:60: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:61: Error: unknown opcode "return"
arch/microblaze/include/asm/irqflags.h:62: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:64: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:65: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:66: Error: unknown opcode "unsigned"
arch/microblaze/include/asm/irqflags.h:67: Error: unknown opcode "asm"
arch/microblaze/include/asm/irqflags.h:68: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:69: Error: unknown opcode "andi %0,"
arch/microblaze/include/asm/irqflags.h:70: Error: unknown opcode "mts rmsr,"
arch/microblaze/include/asm/irqflags.h:71: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:72: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:73: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:74: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:75: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:77: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:78: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:79: Error: unknown opcode "unsigned"
arch/microblaze/include/asm/irqflags.h:80: Error: unknown opcode "asm"
arch/microblaze/include/asm/irqflags.h:81: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:82: Error: unknown opcode "ori %0,"
arch/microblaze/include/asm/irqflags.h:83: Error: unknown opcode "mts rmsr,"
arch/microblaze/include/asm/irqflags.h:84: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:85: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:86: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:87: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:88: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:92: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:93: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:94: Error: unknown opcode "unsigned"
arch/microblaze/include/asm/irqflags.h:95: Error: unknown opcode "asm"
arch/microblaze/include/asm/irqflags.h:96: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:97: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:98: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:99: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:100: Error: unknown opcode "return"
arch/microblaze/include/asm/irqflags.h:101: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:103: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:104: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:105: Error: unknown opcode "asm"
arch/microblaze/include/asm/irqflags.h:106: Error: unknown opcode "nop \n""
arch/microblaze/include/asm/irqflags.h:107: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:108: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:109: Error: junk at end of line, first unrecognized character is `:'
arch/microblaze/include/asm/irqflags.h:110: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:112: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:113: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:114: Error: unknown opcode "return"
arch/microblaze/include/asm/irqflags.h:115: Error: junk at end of line, first unrecognized character is `}'
arch/microblaze/include/asm/irqflags.h:117: Error: unknown opcode "static"
arch/microblaze/include/asm/irqflags.h:118: Error: junk at end of line, first unrecognized character is `{'
arch/microblaze/include/asm/irqflags.h:119: Error: unknown opcode "return"
arch/microblaze/include/asm/irqflags.h:120: Error: junk at end of line, first unrecognized character is `}'
include/linux/irqflags.h:25: Error: unknown opcode "static"
include/linux/irqflags.h:26: Error: unknown opcode "static"
include/linux/irqflags.h:27: Error: unknown opcode "static"
include/linux/irqflags.h:28: Error: unknown opcode "static"
vim +51 arch/microblaze/include/asm/irqflags.h
df9ee29270c11d David Howells 2010-10-07 49
a2f526994e92ea Steven Rostedt 2011-07-01 50 static inline notrace unsigned long arch_local_irq_save(void)
df9ee29270c11d David Howells 2010-10-07 @51 {
df9ee29270c11d David Howells 2010-10-07 52 unsigned long flags, tmp;
df9ee29270c11d David Howells 2010-10-07 53 asm volatile (" mfs %0, rmsr \n"
df9ee29270c11d David Howells 2010-10-07 54 " nop \n"
df9ee29270c11d David Howells 2010-10-07 55 " andi %1, %0, %2 \n"
df9ee29270c11d David Howells 2010-10-07 56 " mts rmsr, %1 \n"
df9ee29270c11d David Howells 2010-10-07 57 " nop \n"
df9ee29270c11d David Howells 2010-10-07 @58 : "=r"(flags), "=r"(tmp)
df9ee29270c11d David Howells 2010-10-07 59 : "i"(~MSR_IE)
df9ee29270c11d David Howells 2010-10-07 60 : "memory");
df9ee29270c11d David Howells 2010-10-07 61 return flags;
df9ee29270c11d David Howells 2010-10-07 62 }
4dbdc9a59656d9 Michal Simek 2009-03-27 63
:::::: The code at line 51 was first introduced by commit
:::::: df9ee29270c11dba7d0fe0b83ce47a4d8e8d2101 Fix IRQ flag handling naming
:::::: TO: David Howells <dhowells(a)redhat.com>
:::::: CC: David Howells <dhowells(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks