mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2026 -----
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 43 participants
  • 22869 discussions
[openeuler:OLK-6.6 13/13] include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *'
by kernel test robot 26 Dec '25

26 Dec '25
Hi Ze, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: 5c9754d56876f60e199456beda45715da2d1a20b [13/13] mm/mem_sampling: Add eBPF interface for memory access tracing config: arm64-randconfig-001-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260557.iKOSRQRF-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260557.iKOSRQRF-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512260557.iKOSRQRF-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from mm/slub.c:46: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 7 warnings and 2 errors generated. -- In file included from mm/memory.c:83: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] mm/memory.c:5502:17: warning: variable 'nr_pages' set but not used [-Wunused-but-set-variable] 5502 | int flags = 0, nr_pages; | ^ 8 warnings and 2 errors generated. -- In file included from mm/page_alloc.c:41: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] mm/page_alloc.c:4143:9: error: call to undeclared function 'dynamic_pool_should_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 4143 | return dynamic_pool_should_alloc(gfp_mask & ~GFP_RELIABLE, order); | ^ 7 warnings and 3 errors generated. -- In file included from mm/slab_common.c:35: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE' 217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \ | ^~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL' 177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args) | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:95: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:416:1: error: conflicting types for '__traceiter_mm_spe_record' 416 | TRACE_EVENT(mm_spe_record, | ^ include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT' 28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE' 341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args)); | ^ include/linux/tracepoint.h:305:6: note: expanded from macro 'DEFINE_TRACE_FN' 305 | int __traceiter_##_name(void *__data, proto); \ | ^ <scratch space>:54:1: note: expanded from here 54 | __traceiter_mm_spe_record | ^ include/trace/events/kmem.h:416:1: note: previous declaration is here 416 | TRACE_EVENT(mm_spe_record, | ^ include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE' 432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^ include/linux/tracepoint.h:252:13: note: expanded from macro '__DECLARE_TRACE' 252 | extern int __traceiter_##name(data_proto); \ | ^ <scratch space>:57:1: note: expanded from here 57 | __traceiter_mm_spe_record | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:95: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] >> include/trace/events/kmem.h:416:1: error: conflicting types for '__traceiter_mm_spe_record' 416 | TRACE_EVENT(mm_spe_record, | ^ include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT' 28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE' 341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args)); | ^ include/linux/tracepoint.h:319:6: note: expanded from macro 'DEFINE_TRACE_FN' 319 | int __traceiter_##_name(void *__data, proto) \ | ^ <scratch space>:64:1: note: expanded from here 64 | __traceiter_mm_spe_record | ^ include/trace/events/kmem.h:416:1: note: previous declaration is here 416 | TRACE_EVENT(mm_spe_record, | ^ include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE' 432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^ include/linux/tracepoint.h:252:13: note: expanded from macro '__DECLARE_TRACE' 252 | extern int __traceiter_##name(data_proto); \ | ^ <scratch space>:57:1: note: expanded from here 57 | __traceiter_mm_spe_record | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:95: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:416:1: error: conflicting types for '__probestub_mm_spe_record' 416 | TRACE_EVENT(mm_spe_record, | ^ include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT' 28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE' 341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args)); | ^ include/linux/tracepoint.h:335:7: note: expanded from macro 'DEFINE_TRACE_FN' 335 | void __probestub_##_name(void *__data, proto) \ | ^ <scratch space>:75:1: note: expanded from here 75 | __probestub_mm_spe_record | ^ include/trace/events/kmem.h:416:1: note: previous declaration is here include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT' 28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE' 341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args)); | ^ include/linux/tracepoint.h:306:7: note: expanded from macro 'DEFINE_TRACE_FN' 306 | void __probestub_##_name(void *__data, proto); \ | ^ <scratch space>:55:1: note: expanded from here 55 | __probestub_mm_spe_record | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:102: In file included from include/trace/trace_events.h:286: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:102: In file included from include/trace/trace_events.h:460: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT' 42 | PARAMS(args), \ | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:427:51: note: expanded from macro 'DECLARE_EVENT_CLASS' 427 | __DECLARE_EVENT_CLASS(call, PARAMS(proto), PARAMS(args), PARAMS(tstruct), \ | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:410:64: note: expanded from macro '\ __DECLARE_EVENT_CLASS' 410 | __data_size = trace_event_get_offsets_##call(&__data_offsets, args); \ | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:102: In file included from include/trace/trace_events.h:460: >> include/trace/events/kmem.h:428:26: error: incomplete definition of type 'struct mem_sampling_record' 428 | __entry->vaddr = record->virt_addr; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS' 428 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:420:4: note: expanded from macro '\ __DECLARE_EVENT_CLASS' 420 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:429:26: error: incomplete definition of type 'struct mem_sampling_record' 429 | __entry->paddr = record->phys_addr; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS' 428 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:420:4: note: expanded from macro '\ __DECLARE_EVENT_CLASS' 420 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:430:24: error: incomplete definition of type 'struct mem_sampling_record' 430 | __entry->pid = record->context_id; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS' 428 | PARAMS(assign), PARAMS(print)) \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:420:4: note: expanded from macro '\ __DECLARE_EVENT_CLASS' 420 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT' 42 | PARAMS(args), \ | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/trace_events.h:432:42: note: expanded from macro 'DECLARE_EVENT_CLASS' 432 | do_trace_event_raw_event_##call(__data, args); \ | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:416:1: error: incompatible function pointer types passing 'void (void *, struct mem_sampling_record *)' to parameter of type 'void (*)(void *, struct mem_sampling_record *)' [-Wincompatible-function-pointer-types] 416 | TRACE_EVENT(mm_spe_record, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 417 | TP_PROTO(struct mem_sampling_record *record), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 418 | 419 | TP_ARGS(record), | ~~~~~~~~~~~~~~~~ 420 | 421 | TP_STRUCT__entry( | ~~~~~~~~~~~~~~~~~ 422 | __field(u64, vaddr) | ~~~~~~~~~~~~~~~~~~~ 423 | __field(u64, paddr) | ~~~~~~~~~~~~~~~~~~~ 424 | __field(int, pid) | ~~~~~~~~~~~~~~~~~ 425 | ), | ~~ 426 | 427 | TP_fast_assign( | ~~~~~~~~~~~~~~~ 428 | __entry->vaddr = record->virt_addr; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 429 | __entry->paddr = record->phys_addr; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 430 | __entry->pid = record->context_id; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 431 | include/trace/trace_events.h:46:2: note: expanded from macro 'TRACE_EVENT' 46 | DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/trace/trace_events.h:457:35: note: expanded from macro 'DEFINE_EVENT' 457 | check_trace_callback_type_##call(trace_event_raw_event_##template); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <scratch space>:118:1: note: expanded from here 118 | trace_event_raw_event_mm_spe_record | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/trace/events/kmem.h:416:1: note: passing argument to parameter 'cb' here 416 | TRACE_EVENT(mm_spe_record, | ^ include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE' 432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^ include/linux/tracepoint.h:287:42: note: expanded from macro '__DECLARE_TRACE' 287 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:102: In file included from include/trace/trace_events.h:512: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:103: In file included from include/trace/perf.h:75: include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility] 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:416:1: error: conflicting types for 'perf_trace_mm_spe_record' 416 | TRACE_EVENT(mm_spe_record, | ^ include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT' 40 | DECLARE_EVENT_CLASS(name, \ | ^ include/trace/perf.h:17:27: note: expanded from macro 'DECLARE_EVENT_CLASS' 17 | static notrace void \ | ^ <scratch space>:93:1: note: expanded from here 93 | perf_trace_mm_spe_record | ^ include/trace/events/kmem.h:416:1: note: previous declaration is here 416 | TRACE_EVENT(mm_spe_record, | ^ include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT' 40 | DECLARE_EVENT_CLASS(name, \ | ^ include/trace/trace_events.h:467:72: note: expanded from macro 'DECLARE_EVENT_CLASS' 467 | #define DECLARE_EVENT_CLASS(call, proto, args, tstruct, assign, print) \ | ^ include/trace/trace_events.h:383:2: note: expanded from macro '\ _TRACE_PERF_PROTO' 383 | perf_trace_##call(void *__data, proto); | ^ <scratch space>:27:1: note: expanded from here 27 | perf_trace_mm_spe_record | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:103: In file included from include/trace/perf.h:75: >> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types] 419 | TP_ARGS(record), | ^~~~~~ include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS' 148 | #define TP_ARGS(args...) args | ^~~~ include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT' 42 | PARAMS(args), \ | ^~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/perf.h:31:64: note: expanded from macro 'DECLARE_EVENT_CLASS' 31 | __data_size = trace_event_get_offsets_##call(&__data_offsets, args); \ | ^~~~ include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here 417 | TP_PROTO(struct mem_sampling_record *record), | ^ In file included from mm/slab_common.c:35: In file included from include/trace/events/kmem.h:441: In file included from include/trace/define_trace.h:103: In file included from include/trace/perf.h:75: >> include/trace/events/kmem.h:428:26: error: incomplete definition of type 'struct mem_sampling_record' 428 | __entry->vaddr = record->virt_addr; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS' 51 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:429:26: error: incomplete definition of type 'struct mem_sampling_record' 429 | __entry->paddr = record->phys_addr; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS' 51 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:430:24: error: incomplete definition of type 'struct mem_sampling_record' 430 | __entry->pid = record->context_id; | ~~~~~~^ include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign' 135 | #define TP_fast_assign(args...) args | ^~~~ include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT' 44 | PARAMS(assign), \ | ^~~~~~ include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS' 107 | #define PARAMS(args...) args | ^~~~ include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS' 51 | { assign; } \ | ^~~~~~ include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record' 417 | TP_PROTO(struct mem_sampling_record *record), | ^ include/trace/events/kmem.h:416:1: error: incompatible function pointer types passing 'void (void *, struct mem_sampling_record *)' to parameter of type 'void (*)(void *, struct mem_sampling_record *)' [-Wincompatible-function-pointer-types] 416 | TRACE_EVENT(mm_spe_record, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 417 | TP_PROTO(struct mem_sampling_record *record), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 418 | 419 | TP_ARGS(record), | ~~~~~~~~~~~~~~~~ 420 | 421 | TP_STRUCT__entry( | ~~~~~~~~~~~~~~~~~ 422 | __field(u64, vaddr) | ~~~~~~~~~~~~~~~~~~~ 423 | __field(u64, paddr) | ~~~~~~~~~~~~~~~~~~~ 424 | __field(int, pid) | ~~~~~~~~~~~~~~~~~ 425 | ), | ~~ 426 | 427 | TP_fast_assign( | ~~~~~~~~~~~~~~~ 428 | __entry->vaddr = record->virt_addr; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 429 | __entry->paddr = record->phys_addr; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 430 | __entry->pid = record->context_id; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 431 | include/trace/trace_events.h:46:2: note: expanded from macro 'TRACE_EVENT' 46 | DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/trace/perf.h:67:35: note: expanded from macro 'DEFINE_EVENT' 67 | check_trace_callback_type_##call(perf_trace_##template); \ | ^~~~~~~~~~~~~~~~~~~~~ <scratch space>:99:1: note: expanded from here 99 | perf_trace_mm_spe_record | ^~~~~~~~~~~~~~~~~~~~~~~~ include/trace/events/kmem.h:416:1: note: passing argument to parameter 'cb' here 416 | TRACE_EVENT(mm_spe_record, | ^ include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT' 566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^ include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE' 432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^ Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for HALTPOLL_CPUIDLE Depends on [n]: CPU_IDLE [=n] && ARCH_CPUIDLE_HALTPOLL [=y] && ARCH_HAS_OPTIMIZED_POLL [=y] Selected by [y]: - ARM64 [=y] WARNING: unmet direct dependencies detected for RESCTRL_FS Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y] Selected by [y]: - ARM64_MPAM [=y] vim +419 include/trace/events/kmem.h 388 389 TP_PROTO(struct mm_struct *mm, 390 int member), 391 392 TP_ARGS(mm, member), 393 394 TP_STRUCT__entry( 395 __field(unsigned int, mm_id) 396 __field(unsigned int, curr) 397 __field(int, member) 398 __field(long, size) 399 ), 400 401 TP_fast_assign( 402 __entry->mm_id = mm_ptr_to_hash(mm); 403 __entry->curr = !!(current->mm == mm); 404 __entry->member = member; 405 __entry->size = (mm_counter_sum_positive(mm, member) 406 << PAGE_SHIFT); 407 ), 408 409 TP_printk("mm_id=%u curr=%d type=%s size=%ldB", 410 __entry->mm_id, 411 __entry->curr, 412 __print_symbolic(__entry->member, TRACE_MM_PAGES), 413 __entry->size) 414 ); 415 #ifdef CONFIG_ARM_SPE_MEM_SAMPLING > 416 TRACE_EVENT(mm_spe_record, 417 TP_PROTO(struct mem_sampling_record *record), 418 > 419 TP_ARGS(record), 420 421 TP_STRUCT__entry( 422 __field(u64, vaddr) 423 __field(u64, paddr) 424 __field(int, pid) 425 ), 426 427 TP_fast_assign( > 428 __entry->vaddr = record->virt_addr; 429 __entry->paddr = record->phys_addr; 430 __entry->pid = record->context_id; 431 432 ), 433 434 TP_printk("vaddr=%llu paddr=%llu pid=%d", 435 __entry->vaddr, __entry->paddr, __entry->pid) 436 ); 437 #endif /* CONFIG_ARM_SPE_MEM_SAMPLING */ 438 #endif /* _TRACE_KMEM_H */ 439 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 13/13] arch/arm64/mm/pfn_range_alloc.c:473:8: error: call to undeclared function 'pudp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations
by kernel test robot 26 Dec '25

26 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: 8dabe346dae33600033f2c8bcca5f4cfec8e87fb [13/13] mm/pfn_range_alloc: support update cachable attribue of linear mapping config: arm64-randconfig-r061-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260451.F7TC9nwx-lkp@…) compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260451.F7TC9nwx-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512260451.F7TC9nwx-lkp@intel.com/ All errors (new ones prefixed by >>): >> arch/arm64/mm/pfn_range_alloc.c:473:8: error: call to undeclared function 'pudp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 473 | pud = pudp_huge_get_and_clear(walk->mm, addr, pudp); | ^ >> arch/arm64/mm/pfn_range_alloc.c:473:6: error: assigning to 'pud_t' from incompatible type 'int' 473 | pud = pudp_huge_get_and_clear(walk->mm, addr, pudp); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> arch/arm64/mm/pfn_range_alloc.c:489:8: error: call to undeclared function 'pmdp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 489 | pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp); | ^ >> arch/arm64/mm/pfn_range_alloc.c:489:6: error: assigning to 'pmd_t' from incompatible type 'int' 489 | pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 errors generated. Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for RESCTRL_FS Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y] Selected by [y]: - ARM64_MPAM [=y] vim +/pudp_huge_get_and_clear +473 arch/arm64/mm/pfn_range_alloc.c 463 464 static int nc_pud_entry(pud_t *pudp, unsigned long addr, 465 unsigned long next, struct mm_walk *walk) 466 { 467 bool set_nc = (bool)walk->private; 468 pud_t pud; 469 470 if (pud_table(*pudp)) 471 return 0; 472 > 473 pud = pudp_huge_get_and_clear(walk->mm, addr, pudp); 474 update_entry_nc(&pud_val(pud), set_nc); 475 set_pud(pudp, pud); 476 477 return 0; 478 } 479 480 static int nc_pmd_entry(pmd_t *pmdp, unsigned long addr, 481 unsigned long next, struct mm_walk *walk) 482 { 483 bool set_nc = (bool)walk->private; 484 pmd_t pmd; 485 486 if (pmd_table(*pmdp)) 487 return 0; 488 > 489 pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp); 490 update_entry_nc(&pmd_val(pmd), set_nc); 491 set_pmd(pmdp, pmd); 492 493 return 0; 494 } 495 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 13/13] drivers/ptp/ptp_hisi.c:731:36: warning: 'hisi_ptp_acpi_match' defined but not used
by kernel test robot 26 Dec '25

26 Dec '25
Hi Yonglong, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: e6aa0ecf50a8a0da6b742aacd9cbd47463275a30 [13/13] net: hns3: add support for Hisilicon ptp sync device config: arm64-randconfig-004-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260055.uMNjurGb-lkp@…) compiler: aarch64-linux-gcc (GCC) 13.4.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260055.uMNjurGb-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512260055.uMNjurGb-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/ptp/ptp_hisi.c:731:36: warning: 'hisi_ptp_acpi_match' defined but not used [-Wunused-const-variable=] 731 | static const struct acpi_device_id hisi_ptp_acpi_match[] = { | ^~~~~~~~~~~~~~~~~~~ Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for RESCTRL_FS Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y] Selected by [y]: - ARM64_MPAM [=y] vim +/hisi_ptp_acpi_match +731 drivers/ptp/ptp_hisi.c 730 > 731 static const struct acpi_device_id hisi_ptp_acpi_match[] = { 732 { "HISI0411", 0 }, 733 { } 734 }; 735 MODULE_DEVICE_TABLE(acpi, hisi_ptp_acpi_match); 736 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 13/13] net/wireless/nl80211.c:12933:17: warning: 'memcpy' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807
by kernel test robot 26 Dec '25

26 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: ac421033218a2998c95539a46fbedb6657790b28 [13/13] wifi: cfg80211: fix CQM for non-range use config: arm64-randconfig-003-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260022.AlkesDtX-lkp@…) compiler: aarch64-linux-gcc (GCC) 12.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260022.AlkesDtX-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512260022.AlkesDtX-lkp@intel.com/ All warnings (new ones prefixed by >>): net/wireless/nl80211.c: In function 'nl80211_set_cqm_rssi.isra': >> net/wireless/nl80211.c:12933:17: warning: 'memcpy' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=] 12933 | memcpy(cqm_config->rssi_thresholds, thresholds, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12934 | flex_array_size(cqm_config, rssi_thresholds, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12935 | n_thresholds)); | ~~~~~~~~~~~~~~ vim +/memcpy +12933 net/wireless/nl80211.c 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12877 d6dc1a38635897 Juuso Oikarinen 2010-03-23 12878 static int nl80211_set_cqm_rssi(struct genl_info *info, 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12879 const s32 *thresholds, int n_thresholds, 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12880 u32 hysteresis) d6dc1a38635897 Juuso Oikarinen 2010-03-23 12881 { 4c476991062a0a Johannes Berg 2010-10-04 12882 struct cfg80211_registered_device *rdev = info->user_ptr[0]; 37c20b2effe987 Johannes Berg 2023-08-16 12883 struct cfg80211_cqm_config *cqm_config = NULL, *old; 4c476991062a0a Johannes Berg 2010-10-04 12884 struct net_device *dev = info->user_ptr[1]; 1da5fcc86d7104 Johannes Berg 2013-08-06 12885 struct wireless_dev *wdev = dev->ieee80211_ptr; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12886 int i, err; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12887 s32 prev = S32_MIN; d6dc1a38635897 Juuso Oikarinen 2010-03-23 12888 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12889 /* Check all values negative and sorted */ 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12890 for (i = 0; i < n_thresholds; i++) { 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12891 if (thresholds[i] > 0 || thresholds[i] <= prev) d6dc1a38635897 Juuso Oikarinen 2010-03-23 12892 return -EINVAL; d6dc1a38635897 Juuso Oikarinen 2010-03-23 12893 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12894 prev = thresholds[i]; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12895 } d6dc1a38635897 Juuso Oikarinen 2010-03-23 12896 074ac8df9f93f2 Johannes Berg 2010-09-16 12897 if (wdev->iftype != NL80211_IFTYPE_STATION && 4c476991062a0a Johannes Berg 2010-10-04 12898 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT) 4c476991062a0a Johannes Berg 2010-10-04 12899 return -EOPNOTSUPP; d6dc1a38635897 Juuso Oikarinen 2010-03-23 12900 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12901 if (n_thresholds == 1 && thresholds[0] == 0) /* Disabling */ 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12902 n_thresholds = 0; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12903 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12904 wdev_lock(wdev); 37c20b2effe987 Johannes Berg 2023-08-16 12905 old = rcu_dereference_protected(wdev->cqm_config, 37c20b2effe987 Johannes Berg 2023-08-16 12906 lockdep_is_held(&wdev->mtx)); 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12907 ac421033218a29 Johannes Berg 2024-03-20 12908 /* if already disabled just succeed */ ac421033218a29 Johannes Berg 2024-03-20 12909 if (!n_thresholds && !old) ac421033218a29 Johannes Berg 2024-03-20 12910 return 0; ac421033218a29 Johannes Berg 2024-03-20 12911 ac421033218a29 Johannes Berg 2024-03-20 12912 if (n_thresholds > 1) { ac421033218a29 Johannes Berg 2024-03-20 12913 if (!wiphy_ext_feature_isset(&rdev->wiphy, ac421033218a29 Johannes Berg 2024-03-20 12914 NL80211_EXT_FEATURE_CQM_RSSI_LIST) || ac421033218a29 Johannes Berg 2024-03-20 12915 !rdev->ops->set_cqm_rssi_range_config) ac421033218a29 Johannes Berg 2024-03-20 12916 return -EOPNOTSUPP; ac421033218a29 Johannes Berg 2024-03-20 12917 } else { ac421033218a29 Johannes Berg 2024-03-20 12918 if (!rdev->ops->set_cqm_rssi_config) ac421033218a29 Johannes Berg 2024-03-20 12919 return -EOPNOTSUPP; ac421033218a29 Johannes Berg 2024-03-20 12920 } ac421033218a29 Johannes Berg 2024-03-20 12921 37c20b2effe987 Johannes Berg 2023-08-16 12922 if (n_thresholds) { 40f231e75a1d98 Len Baker 2021-09-19 12923 cqm_config = kzalloc(struct_size(cqm_config, rssi_thresholds, 40f231e75a1d98 Len Baker 2021-09-19 12924 n_thresholds), 40f231e75a1d98 Len Baker 2021-09-19 12925 GFP_KERNEL); 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12926 if (!cqm_config) { 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12927 err = -ENOMEM; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12928 goto unlock; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12929 } 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12930 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12931 cqm_config->rssi_hyst = hysteresis; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12932 cqm_config->n_rssi_thresholds = n_thresholds; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 @12933 memcpy(cqm_config->rssi_thresholds, thresholds, 40f231e75a1d98 Len Baker 2021-09-19 12934 flex_array_size(cqm_config, rssi_thresholds, 40f231e75a1d98 Len Baker 2021-09-19 12935 n_thresholds)); ac421033218a29 Johannes Berg 2024-03-20 12936 cqm_config->use_range_api = n_thresholds > 1 || ac421033218a29 Johannes Berg 2024-03-20 12937 !rdev->ops->set_cqm_rssi_config; 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12938 37c20b2effe987 Johannes Berg 2023-08-16 12939 rcu_assign_pointer(wdev->cqm_config, cqm_config); ac421033218a29 Johannes Berg 2024-03-20 12940 ac421033218a29 Johannes Berg 2024-03-20 12941 if (cqm_config->use_range_api) ac421033218a29 Johannes Berg 2024-03-20 12942 err = cfg80211_cqm_rssi_update(rdev, dev, cqm_config); ac421033218a29 Johannes Berg 2024-03-20 12943 else ac421033218a29 Johannes Berg 2024-03-20 12944 err = rdev_set_cqm_rssi_config(rdev, dev, ac421033218a29 Johannes Berg 2024-03-20 12945 thresholds[0], ac421033218a29 Johannes Berg 2024-03-20 12946 hysteresis); 37c20b2effe987 Johannes Berg 2023-08-16 12947 } else { 37c20b2effe987 Johannes Berg 2023-08-16 12948 RCU_INIT_POINTER(wdev->cqm_config, NULL); ac421033218a29 Johannes Berg 2024-03-20 12949 /* if enabled as range also disable via range */ ac421033218a29 Johannes Berg 2024-03-20 12950 if (old->use_range_api) ac421033218a29 Johannes Berg 2024-03-20 12951 err = rdev_set_cqm_rssi_range_config(rdev, dev, 0, 0); ac421033218a29 Johannes Berg 2024-03-20 12952 else ac421033218a29 Johannes Berg 2024-03-20 12953 err = rdev_set_cqm_rssi_config(rdev, dev, 0, 0); 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12954 } 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12955 37c20b2effe987 Johannes Berg 2023-08-16 12956 if (err) { 37c20b2effe987 Johannes Berg 2023-08-16 12957 rcu_assign_pointer(wdev->cqm_config, old); 37c20b2effe987 Johannes Berg 2023-08-16 12958 kfree_rcu(cqm_config, rcu_head); 37c20b2effe987 Johannes Berg 2023-08-16 12959 } else { 37c20b2effe987 Johannes Berg 2023-08-16 12960 kfree_rcu(old, rcu_head); 37c20b2effe987 Johannes Berg 2023-08-16 12961 } 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12962 unlock: 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12963 wdev_unlock(wdev); 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12964 4a4b8169501b18 Andrew Zaborowski 2017-02-10 12965 return err; d6dc1a38635897 Juuso Oikarinen 2010-03-23 12966 } d6dc1a38635897 Juuso Oikarinen 2010-03-23 12967 :::::: The code at line 12933 was first introduced by commit :::::: 4a4b8169501b18c3450ac735a7e277b24886a651 cfg80211: Accept multiple RSSI thresholds for CQM :::::: TO: Andrew Zaborowski <andrew.zaborowski(a)intel.com> :::::: CC: Johannes Berg <johannes.berg(a)intel.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 13/13] drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: error: call to undeclared function 'mmu_notifier_unregister'; ISO C99 and later do not support implicit function declarations
by kernel test robot 25 Dec '25

25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: 901128a1ed92d11749cd5ad529be4e30f3196214 [13/13] uburma: add uburma command and user object framework headers config: arm64-randconfig-002-20251226 (https://download.01.org/0day-ci/archive/20251225/202512252339.bFtPO9U0-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 4ef602d446057dabf5f61fb221669ecbeda49279) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252339.bFtPO9U0-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512252339.bFtPO9U0-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from <built-in>:3: In file included from include/linux/compiler_types.h:150: include/linux/compiler-clang.h:33:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 33 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:368:9: note: previous definition is here 368 | #define __SANITIZE_ADDRESS__ 1 | ^ >> drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: error: call to undeclared function 'mmu_notifier_unregister'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 77 | mmu_notifier_unregister(&file->ub_mn.mn, mm); | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: note: did you mean 'mmu_notifier_release'? include/linux/mmu_notifier.h:629:20: note: 'mmu_notifier_release' declared here 629 | static inline void mmu_notifier_release(struct mm_struct *mm) | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:68:6: warning: no previous prototype for function 'uburma_unregister_mmu' [-Wmissing-prototypes] 68 | void uburma_unregister_mmu(struct uburma_file *file) | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:68:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 68 | void uburma_unregister_mmu(struct uburma_file *file) | ^ | static >> drivers/ub/urma/uburma/uburma_dev_ops.c:87:8: error: call to undeclared function 'mmu_notifier_register'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 87 | ret = mmu_notifier_register(&ub_mn->mn, current->mm); | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:87:8: note: did you mean 'mmu_notifier_release'? include/linux/mmu_notifier.h:629:20: note: 'mmu_notifier_release' declared here 629 | static inline void mmu_notifier_release(struct mm_struct *mm) | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:80:5: warning: no previous prototype for function 'uburma_register_mmu' [-Wmissing-prototypes] 80 | int uburma_register_mmu(struct uburma_file *file) | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:80:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 80 | int uburma_register_mmu(struct uburma_file *file) | ^ | static drivers/ub/urma/uburma/uburma_dev_ops.c:96:6: warning: no previous prototype for function 'uburma_release_file' [-Wmissing-prototypes] 96 | void uburma_release_file(struct kref *ref) | ^ drivers/ub/urma/uburma/uburma_dev_ops.c:96:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 96 | void uburma_release_file(struct kref *ref) | ^ | static 4 warnings and 2 errors generated. Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for ARCH_SUPPORTS_SCHED_SOFT_QUOTA Depends on [n]: CGROUPS [=n] Selected by [y]: - ARM64 [=y] vim +/mmu_notifier_unregister +77 drivers/ub/urma/uburma/uburma_dev_ops.c 67 > 68 void uburma_unregister_mmu(struct uburma_file *file) 69 { 70 struct uburma_mn *ub_mn = &file->ub_mn; 71 struct mm_struct *mm = ub_mn->mm; 72 73 if (!mm) 74 return; 75 76 file->ub_mn.mm = NULL; > 77 mmu_notifier_unregister(&file->ub_mn.mn, mm); 78 } 79 80 int uburma_register_mmu(struct uburma_file *file) 81 { 82 struct uburma_mn *ub_mn = &file->ub_mn; 83 int ret = 0; 84 85 ub_mn->mm = current->mm; 86 ub_mn->mn.ops = &uburma_mm_notifier_ops; > 87 ret = mmu_notifier_register(&ub_mn->mn, current->mm); 88 if (ret) { 89 ub_mn->mm = NULL; 90 return ret; 91 } 92 93 return 0; 94 } 95 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling'
by kernel test robot 25 Dec '25

25 Dec '25
Hi hjx_gitff, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: 11fa263277520b886a650fadf4f719a2878229d0 [10/10] Add poll method for nfs for virtCCA CVM. config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512252218.txZwa0HZ-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252218.txZwa0HZ-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512252218.txZwa0HZ-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes] 92 | void cq_polling(void *data) | ^ drivers/infiniband/core/ib_core_cq_poll.c:92:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 92 | void cq_polling(void *data) | ^ | static >> drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes] 123 | void wakeup_and_poll(struct task_struct *awakened_thread) | ^ drivers/infiniband/core/ib_core_cq_poll.c:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 123 | void wakeup_and_poll(struct task_struct *awakened_thread) | ^ | static >> drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes] 130 | int polling_thread(void *data) | ^ drivers/infiniband/core/ib_core_cq_poll.c:130:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 130 | int polling_thread(void *data) | ^ | static >> drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes] 147 | int polling_awaken_thread(void *data) | ^ drivers/infiniband/core/ib_core_cq_poll.c:147:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 147 | int polling_awaken_thread(void *data) | ^ | static 4 warnings generated. vim +/cq_polling +92 drivers/infiniband/core/ib_core_cq_poll.c 91 > 92 void cq_polling(void *data) 93 { 94 void *cq; 95 int completed = 0; 96 unsigned long flags; 97 u64 time_interval; 98 ktime_t start_time_stamp, end_time_stamp; 99 struct cq_poll_node *poll_node_entry, *poll_node_next; 100 101 spin_lock_irqsave(&cq_list_lock, flags); 102 list_for_each_entry_safe(poll_node_entry, poll_node_next, 103 &ib_cq_poll_list, list) { 104 cq = poll_node_entry->cq; 105 if (!cq) { 106 WARN_ONCE(1, "got NULL CQ 0x%p in poll list\n", cq); 107 continue; 108 } 109 start_time_stamp = ktime_get(); 110 completed = ib_poll_cq_thread(cq); 111 end_time_stamp = ktime_get(); 112 if (ib_cq_polling_kthread.debug_cq_poll_stat && completed) { 113 time_interval = ktime_to_ns(ktime_sub(end_time_stamp, start_time_stamp)); 114 poll_node_entry->time_used_ns += time_interval; 115 poll_node_entry->poll_cq_cnt++; 116 if (poll_node_entry->max_time_ns < time_interval) 117 poll_node_entry->max_time_ns = time_interval; 118 } 119 } 120 spin_unlock_irqrestore(&cq_list_lock, flags); 121 } 122 > 123 void wakeup_and_poll(struct task_struct *awakened_thread) 124 { 125 wake_up_process(awakened_thread); 126 127 cq_polling(NULL); 128 } 129 > 130 int polling_thread(void *data) 131 { 132 while (true) { 133 if (ib_cq_polling_kthread.use_polling_kthread) 134 wakeup_and_poll(waker_polling_thread); 135 136 set_current_state(TASK_INTERRUPTIBLE); 137 if (unlikely(kthread_should_stop())) { 138 set_current_state(TASK_RUNNING); 139 break; 140 } 141 schedule(); 142 } 143 144 return 0; 145 } 146 > 147 int polling_awaken_thread(void *data) 148 { 149 while (true) { 150 if (ib_cq_polling_kthread.use_polling_kthread) 151 wakeup_and_poll(poll_cq_thread); 152 153 set_current_state(TASK_INTERRUPTIBLE); 154 if (unlikely(kthread_should_stop())) { 155 set_current_state(TASK_RUNNING); 156 break; 157 } 158 schedule(); 159 } 160 161 return 0; 162 } 163 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] Documentation/devicetree/bindings/gpu/phytium,dc.yaml:40:8: [warning] wrong indentation: expected 2 but found 7 (indentation)
by kernel test robot 25 Dec '25

25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: ab9ff1e38569313e41ba5a036591f93cb55e5d87 [10/10] DRM: Phytium display DRM doc config: arm64-randconfig-2052-20251225 (https://download.01.org/0day-ci/archive/20251225/202512251441.n6oaTKbj-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project e3ef26df85c317665a2c505a0d9bc179fe67bdaf) dtschema version: 2025.12 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251441.n6oaTKbj-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251441.n6oaTKbj-lkp@intel.com/ dtcheck warnings: (new ones prefixed by >>) >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml:40:8: [warning] wrong indentation: expected 2 but found 7 (indentation) Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings) Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:82:15: [error] string value is redundantly quoted with any quotes (quoted-strings) -- >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:clocks: 'oneOf' conditional failed, one must be fixed: False schema does not allow 1 ['description:Display controller reference clock source'] is too short hint: "minItems" is only needed if less than the "items" list length from schema $id: http://devicetree.org/meta-schemas/items.yaml >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:reg: 'oneOf' conditional failed, one must be fixed: False schema does not allow 1 [{'description': 'Offset and length of the memory mapped registers'}] is too short hint: "minItems" is only needed if less than the "items" list length from schema $id: http://devicetree.org/meta-schemas/items.yaml >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: 'Example' is not one of ['$id', '$schema', 'title', 'description', 'examples', 'required', 'allOf', 'anyOf', 'oneOf', 'definitions', '$defs', 'additionalProperties', 'dependencies', 'dependentRequired', 'dependentSchemas', 'patternProperties', 'properties', 'not', 'if', 'then', 'else', 'unevaluatedProperties', 'deprecated', 'maintainers', 'select', '$ref'] from schema $id: http://devicetree.org/meta-schemas/base.yaml >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:clocks:items: 'anyOf' conditional failed, one must be fixed: ['description:Display controller reference clock source'] is not of type 'object', 'boolean' 'description:Display controller reference clock source' is not of type 'object', 'boolean' >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: $id: Cannot determine base path from $id, relative path/filename doesn't match actual path or filename $id: http://devicetree.org/schemas/dc/snps,dc.yaml file: Documentation/devicetree/bindings/gpu/phytium,dc.yaml Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml: ^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$: Missing additionalProperties/unevaluatedProperties constraint -- >> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: ignoring, error in schema: properties: clocks: items /usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/shared-dma-pool.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml' /usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/framebuffer.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/framebuffer.yaml' /usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/memory-region.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/memory-region.yaml' /usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/reserved-memory.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml' Documentation/devicetree/bindings/sound/audio-graph.yaml: convert-sample-format: missing type definition Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-odd-pixels: missing type definition Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-even-pixels: missing type definition Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.yaml: ti,x-plate-ohms: missing type definition Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml: i2c-alias: missing type definition Traceback (most recent call last): vim +40 Documentation/devicetree/bindings/gpu/phytium,dc.yaml 33 34 required: 35 - compatible 36 - reg 37 - interrupts 38 39 Example: > 40 /memreserve/ 0xf4000000 0x4000000; // (optional) -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
by kernel test robot 25 Dec '25

25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 610575a82bdf3c3be06ce9559609d5bfa65472e8 commit: c21dc717760f8594e1fccae49eb86eb05e9a5f12 [10/10] dt-bindings: arm: Add MPAM MSC binding config: arm64-randconfig-2052-20251225 (https://download.01.org/0day-ci/archive/20251225/202512251456.TRkvFsjk-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project e3ef26df85c317665a2c505a0d9bc179fe67bdaf) dtschema version: 2025.12 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251456.TRkvFsjk-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251456.TRkvFsjk-lkp@intel.com/ dtcheck warnings: (new ones prefixed by >>) >> Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings) Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:82:15: [error] string value is redundantly quoted with any quotes (quoted-strings) vim +76 Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml 8 9 description: | 10 The Arm MPAM specification can be found here: 11 12 https://developer.arm.com/documentation/ddi0598/latest 13 14 maintainers: 15 - Rob Herring <robh(a)kernel.org> 16 17 properties: 18 compatible: 19 items: 20 - const: arm,mpam-msc # Further details are discoverable 21 - const: arm,mpam-memory-controller-msc 22 23 reg: 24 maxItems: 1 25 description: A memory region containing registers as defined in the MPAM 26 specification. 27 28 interrupts: 29 minItems: 1 30 items: 31 - description: error (optional) 32 - description: overflow (optional, only for monitoring) 33 34 interrupt-names: 35 oneOf: 36 - items: 37 - enum: [ error, overflow ] 38 - items: 39 - const: error 40 - const: overflow 41 42 arm,not-ready-us: 43 description: The maximum time in microseconds for monitoring data to be 44 accurate after a settings change. For more information, see the 45 Not-Ready (NRDY) bit description in the MPAM specification. 46 47 numa-node-id: true # see NUMA binding 48 49 '#address-cells': 50 const: 1 51 52 '#size-cells': 53 const: 0 54 55 patternProperties: 56 '^ris@[0-9a-f]$': 57 type: object 58 additionalProperties: false 59 description: | 60 RIS nodes for each RIS in an MSC. These nodes are required for each RIS 61 implementing known MPAM controls 62 63 properties: 64 compatible: 65 enum: 66 # Bulk storage for cache 67 - arm,mpam-cache 68 # Memory bandwidth 69 - arm,mpam-memory 70 71 reg: 72 minimum: 0 73 maximum: 0xf 74 75 cpus: > 76 $ref: '/schemas/types.yaml#/definitions/phandle-array' 77 description: 78 Phandle(s) to the CPU node(s) this RIS belongs to. By default, the parent 79 device's affinity is used. 80 81 arm,mpam-device: 82 $ref: '/schemas/types.yaml#/definitions/phandle' 83 description: 84 By default, the MPAM enabled device associated with a RIS is the MSC's 85 parent node. It is possible for each RIS to be associated with different 86 devices in which case 'arm,mpam-device' should be used. 87 88 required: 89 - compatible 90 - reg 91 92 required: 93 - compatible 94 - reg 95 96 dependencies: 97 interrupts: [ interrupt-names ] 98 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/pci/pcie/.tmp_dpc.o: warning: objtool: missing symbol for section .init.text
by kernel test robot 25 Dec '25

25 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 4e9c55920995d70b3e88b60c69753df54b03fdf4 commit: 58d584102f06f870f118644f1022c751e015e7bb [1942/1942] PCI: portdrv: Initialize service drivers directly config: x86_64-buildonly-randconfig-004-20251213 (https://download.01.org/0day-ci/archive/20251225/202512252031.yxPB7t3Y-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252031.yxPB7t3Y-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512252031.yxPB7t3Y-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/pci/pcie/.tmp_dpc.o: warning: objtool: missing symbol for section .init.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] mm/share_pool.c:1468:7: warning: variable 'is_hugepage' set but not used
by kernel test robot 25 Dec '25

25 Dec '25
Hi Wang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5 commit: eaafc4a2a3fd023a99c44286895074dd5712706f [10/10] mm/sharepool: Implement mg_sp_unshare_kva config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512252023.HaBIKQLH-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252023.HaBIKQLH-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512252023.HaBIKQLH-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from mm/share_pool.c:21: In file included from include/linux/share_pool.h:5: In file included from include/linux/mman.h:5: In file included from include/linux/mm.h:2174: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> mm/share_pool.c:1468:7: warning: variable 'is_hugepage' set but not used [-Wunused-but-set-variable] 1468 | bool is_hugepage = true; | ^ mm/share_pool.c:73:12: warning: unused variable 'system_group_count' [-Wunused-variable] 73 | static int system_group_count; | ^~~~~~~~~~~~~~~~~~ mm/share_pool.c:76:19: warning: unused variable 'sp_group_idr' [-Wunused-variable] 76 | static DEFINE_IDR(sp_group_idr); | ^~~~~~~~~~~~ include/linux/idr.h:56:37: note: expanded from macro 'DEFINE_IDR' 56 | #define DEFINE_IDR(name) struct idr name = IDR_INIT(name) | ^~~~ mm/share_pool.c:223:20: warning: unused function 'sp_add_group_master' [-Wunused-function] 223 | static inline void sp_add_group_master(struct sp_group_master *master) | ^~~~~~~~~~~~~~~~~~~ mm/share_pool.c:230:20: warning: unused function 'sp_del_group_master' [-Wunused-function] 230 | static inline void sp_del_group_master(struct sp_group_master *master) | ^~~~~~~~~~~~~~~~~~~ mm/share_pool.c:237:13: warning: unused function 'meminfo_init' [-Wunused-function] 237 | static void meminfo_init(struct sp_meminfo *meminfo) | ^~~~~~~~~~~~ mm/share_pool.c:274:20: warning: unused function 'meminfo_alloc_sum_byKB' [-Wunused-function] 274 | static inline long meminfo_alloc_sum_byKB(struct sp_meminfo *meminfo) | ^~~~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:279:20: warning: unused function 'meminfo_k2u_size' [-Wunused-function] 279 | static inline long meminfo_k2u_size(struct sp_meminfo *meminfo) | ^~~~~~~~~~~~~~~~ mm/share_pool.c:284:25: warning: unused function 'meminfo_total_size' [-Wunused-function] 284 | static inline long long meminfo_total_size(struct sp_meminfo *meminfo) | ^~~~~~~~~~~~~~~~~~ mm/share_pool.c:380:13: warning: unused function 'sp_mapping_detach' [-Wunused-function] 380 | static void sp_mapping_detach(struct sp_group *spg, struct sp_mapping *spm) | ^~~~~~~~~~~~~~~~~ mm/share_pool.c:438:12: warning: unused function 'sp_group_setup_mapping_normal' [-Wunused-function] 438 | static int sp_group_setup_mapping_normal(struct mm_struct *mm, struct sp_group *spg) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:485:13: warning: unused function 'update_mem_usage_alloc' [-Wunused-function] 485 | static void update_mem_usage_alloc(unsigned long size, bool inc, | ^~~~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:497:13: warning: unused function 'update_mem_usage_k2u' [-Wunused-function] 497 | static void update_mem_usage_k2u(unsigned long size, bool inc, | ^~~~~~~~~~~~~~~~~~~~ mm/share_pool.c:582:22: warning: unused function 'spa_size' [-Wunused-function] 582 | static unsigned long spa_size(struct sp_area *spa) | ^~~~~~~~ mm/share_pool.c:587:21: warning: unused function 'spa_file' [-Wunused-function] 587 | static struct file *spa_file(struct sp_area *spa) | ^~~~~~~~ mm/share_pool.c:791:24: warning: unused function 'sp_area_alloc' [-Wunused-function] 791 | static struct sp_area *sp_area_alloc(unsigned long size, unsigned long flags, | ^~~~~~~~~~~~~ mm/share_pool.c:944:24: warning: unused function 'sp_area_get' [-Wunused-function] 944 | static struct sp_area *sp_area_get(struct sp_group *spg, | ^~~~~~~~~~~ mm/share_pool.c:1005:13: warning: unused function 'sp_area_put_locked' [-Wunused-function] 1005 | static void sp_area_put_locked(struct sp_area *spa) | ^~~~~~~~~~~~~~~~~~ 23 warnings generated. vim +/is_hugepage +1468 mm/share_pool.c 1460 1461 /* No possible concurrent protection, take care when use */ 1462 static int sp_unshare_kva(unsigned long kva, unsigned long size) 1463 { 1464 unsigned long addr, kva_aligned; 1465 struct page *page; 1466 unsigned long size_aligned; 1467 unsigned long step; > 1468 bool is_hugepage = true; 1469 int ret; 1470 1471 ret = is_vmap_hugepage(kva); 1472 if (ret > 0) { 1473 kva_aligned = ALIGN_DOWN(kva, PMD_SIZE); 1474 size_aligned = ALIGN(kva + size, PMD_SIZE) - kva_aligned; 1475 step = PMD_SIZE; 1476 } else if (ret == 0) { 1477 kva_aligned = ALIGN_DOWN(kva, PAGE_SIZE); 1478 size_aligned = ALIGN(kva + size, PAGE_SIZE) - kva_aligned; 1479 step = PAGE_SIZE; 1480 is_hugepage = false; 1481 } else { 1482 pr_err_ratelimited("check vmap hugepage failed %d\n", ret); 1483 return -EINVAL; 1484 } 1485 1486 if (kva_aligned + size_aligned < kva_aligned) { 1487 pr_err_ratelimited("overflow happened in unshare kva\n"); 1488 return -EINVAL; 1489 } 1490 1491 for (addr = kva_aligned; addr < (kva_aligned + size_aligned); addr += step) { 1492 page = vmalloc_to_page((void *)addr); 1493 if (page) 1494 put_page(page); 1495 else 1496 WARN(1, "vmalloc %pK to page/hugepage failed\n", 1497 (void *)addr); 1498 } 1499 1500 vunmap((void *)kva_aligned); 1501 1502 return 0; 1503 } 1504 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH openEuler-1.0-LTS] RDMA/rxe: Fix "kernel NULL pointer dereference" error
by Ziming Du 25 Dec '25

25 Dec '25
From: Zhu Yanjun <yanjun.zhu(a)linux.dev> stable inclusion from stable-v4.19.262 commit 9c5dd6993c794703e74c6ba17ac78ca0211ef940 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11468 CVE: CVE-2022-50671 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit a625ca30eff806395175ebad3ac1399014bdb280 ] When rxe_queue_init in the function rxe_qp_init_req fails, both qp->req.task.func and qp->req.task.arg are not initialized. Because of creation of qp fails, the function rxe_create_qp will call rxe_qp_do_cleanup to handle allocated resource. Before calling __rxe_do_task, both qp->req.task.func and qp->req.task.arg should be checked. Fixes: 8700e3e7c485 ("Soft RoCE driver") Link: https://lore.kernel.org/r/20220822011615.805603-2-yanjun.zhu@linux.dev Reported-by: syzbot+ab99dc4c6e961eed8b8e(a)syzkaller.appspotmail.com Signed-off-by: Zhu Yanjun <yanjun.zhu(a)linux.dev> Reviewed-by: Li Zhijian <lizhijian(a)fujitsu.com> Reviewed-by: Bob Pearson <rpearsonhpe(a)gmail.com> Signed-off-by: Leon Romanovsky <leon(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> --- drivers/infiniband/sw/rxe/rxe_qp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c index 21c28317fc8f..5d289a5df261 100644 --- a/drivers/infiniband/sw/rxe/rxe_qp.c +++ b/drivers/infiniband/sw/rxe/rxe_qp.c @@ -798,7 +798,9 @@ void rxe_qp_destroy(struct rxe_qp *qp) rxe_cleanup_task(&qp->comp.task); /* flush out any receive wr's or pending requests */ - __rxe_do_task(&qp->req.task); + if (qp->req.task.func) + __rxe_do_task(&qp->req.task); + if (qp->sq.queue) { __rxe_do_task(&qp->comp.task); __rxe_do_task(&qp->req.task); -- 2.43.0
2 1
0 0
[PATCH OLK-6.6] usbnet: Prevents free active kevent
by Ziming Du 25 Dec '25

25 Dec '25
From: Lizhi Xu <lizhi.xu(a)windriver.com> stable inclusion from stable-v6.6.117 commit 9a579d6a39513069d298eee70770bbac8a148565 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11499 CVE: CVE-2025-68312 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit 420c84c330d1688b8c764479e5738bbdbf0a33de ] The root cause of this issue are: 1. When probing the usbnet device, executing usbnet_link_change(dev, 0, 0); put the kevent work in global workqueue. However, the kevent has not yet been scheduled when the usbnet device is unregistered. Therefore, executing free_netdev() results in the "free active object (kevent)" error reported here. 2. Another factor is that when calling usbnet_disconnect()->unregister_netdev(), if the usbnet device is up, ndo_stop() is executed to cancel the kevent. However, because the device is not up, ndo_stop() is not executed. The solution to this problem is to cancel the kevent before executing free_netdev(). Fixes: a69e617e533e ("usbnet: Fix linkwatch use-after-free on disconnect") Reported-by: Sam Sun <samsun1006219(a)gmail.com> Closes: https://syzkaller.appspot.com/bug?extid=8bfd7bcc98f7300afb84 Signed-off-by: Lizhi Xu <lizhi.xu(a)windriver.com> Link: https://patch.msgid.link/20251022024007.1831898-1-lizhi.xu@windriver.com Signed-off-by: Jakub Kicinski <kuba(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Ziming Du <duziming2(a)huawei.com> --- drivers/net/usb/usbnet.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index c4134303d395..5f8606a55dbe 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1649,6 +1649,8 @@ void usbnet_disconnect (struct usb_interface *intf) net = dev->net; unregister_netdev (net); + cancel_work_sync(&dev->kevent); + while ((urb = usb_get_from_anchor(&dev->deferred))) { dev_kfree_skb(urb->context); kfree(urb->sg); -- 2.43.0
2 1
0 0
[openeuler:OLK-6.6 10/10] mm/share_pool.c:787: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Wang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 610575a82bdf3c3be06ce9559609d5bfa65472e8 commit: b39fcd51ad1b62c99ed0932ad0d2f89dfdc17aaa [10/10] mm/sharepool: Add sp_area management code config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512251841.ZhY8a5Eu-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251841.ZhY8a5Eu-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251841.ZhY8a5Eu-lkp@intel.com/ All warnings (new ones prefixed by >>): mm/share_pool.c:685: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead >> mm/share_pool.c:787: warning: Function parameter or member 'node_id' not described in 'sp_area_alloc' mm/share_pool.c:1110: warning: duplicate section name 'Return' mm/share_pool.c:1145: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare' vim +787 mm/share_pool.c 773 774 /** 775 * sp_area_alloc() - Allocate a region of VA from the share pool. 776 * @size: the size of VA to allocate. 777 * @flags: how to allocate the memory. 778 * @spg: the share group that the memory is allocated to. 779 * @type: the type of the region. 780 * @applier: the tgid of the task which allocates the region. 781 * 782 * Return: a valid pointer for success, NULL on failure. 783 */ 784 static struct sp_area *sp_area_alloc(unsigned long size, unsigned long flags, 785 struct sp_group *spg, enum spa_type type, 786 pid_t applier, int node_id) > 787 { 788 int device_id; 789 struct sp_area *spa, *first, *err; 790 struct rb_node *n; 791 unsigned long vstart; 792 unsigned long vend; 793 unsigned long addr; 794 unsigned long size_align = ALIGN(size, PMD_SIZE); /* va aligned to 2M */ 795 struct sp_mapping *mapping; 796 797 device_id = sp_flags_device_id(flags); 798 if (device_id < 0 || device_id >= MAX_DEVID) { 799 pr_err("invalid device id %d\n", device_id); 800 return ERR_PTR(-EINVAL); 801 } 802 803 if (flags & SP_PROT_FOCUS) { 804 if ((flags & (SP_DVPP | SP_PROT_RO)) != SP_PROT_RO) { 805 pr_err("invalid sp_flags [%lx]\n", flags); 806 return ERR_PTR(-EINVAL); 807 } 808 mapping = spg->mapping[SP_MAPPING_RO]; 809 } else if (flags & SP_DVPP) { 810 mapping = spg->mapping[SP_MAPPING_DVPP]; 811 } else { 812 mapping = spg->mapping[SP_MAPPING_NORMAL]; 813 } 814 815 if (!mapping) { 816 pr_err_ratelimited("non DVPP spg, id %d\n", spg->id); 817 return ERR_PTR(-EINVAL); 818 } 819 820 vstart = mapping->start[device_id]; 821 vend = mapping->end[device_id]; 822 spa = kmalloc(sizeof(struct sp_area), GFP_KERNEL); 823 if (unlikely(!spa)) 824 return ERR_PTR(-ENOMEM); 825 826 spin_lock(&mapping->sp_mapping_lock); 827 828 /* 829 * Invalidate cache if we have more permissive parameters. 830 * cached_hole_size notes the largest hole noticed _below_ 831 * the sp_area cached in free_area_cache: if size fits 832 * into that hole, we want to scan from vstart to reuse 833 * the hole instead of allocating above free_area_cache. 834 * Note that sp_area_free may update free_area_cache 835 * without updating cached_hole_size. 836 */ 837 if (!mapping->free_area_cache || size_align < mapping->cached_hole_size || 838 vstart != mapping->cached_vstart) { 839 mapping->cached_hole_size = 0; 840 mapping->free_area_cache = NULL; 841 } 842 843 /* record if we encounter less permissive parameters */ 844 mapping->cached_vstart = vstart; 845 846 /* find starting point for our search */ 847 if (mapping->free_area_cache) { 848 first = rb_entry(mapping->free_area_cache, struct sp_area, rb_node); 849 addr = first->va_end; 850 if (addr + size_align < addr) { 851 err = ERR_PTR(-EOVERFLOW); 852 goto error; 853 } 854 } else { 855 addr = vstart; 856 if (addr + size_align < addr) { 857 err = ERR_PTR(-EOVERFLOW); 858 goto error; 859 } 860 861 n = mapping->area_root.rb_node; 862 first = NULL; 863 864 while (n) { 865 struct sp_area *tmp; 866 867 tmp = rb_entry(n, struct sp_area, rb_node); 868 if (tmp->va_end >= addr) { 869 first = tmp; 870 if (tmp->va_start <= addr) 871 break; 872 n = n->rb_left; 873 } else 874 n = n->rb_right; 875 } 876 877 if (!first) 878 goto found; 879 } 880 881 /* from the starting point, traverse areas until a suitable hole is found */ 882 while (addr + size_align > first->va_start && addr + size_align <= vend) { 883 if (addr + mapping->cached_hole_size < first->va_start) 884 mapping->cached_hole_size = first->va_start - addr; 885 addr = first->va_end; 886 if (addr + size_align < addr) { 887 err = ERR_PTR(-EOVERFLOW); 888 goto error; 889 } 890 891 n = rb_next(&first->rb_node); 892 if (n) 893 first = rb_entry(n, struct sp_area, rb_node); 894 else 895 goto found; 896 } 897 898 found: 899 if (addr + size_align > vend) { 900 err = ERR_PTR(-EOVERFLOW); 901 goto error; 902 } 903 904 spa->va_start = addr; 905 spa->va_end = addr + size_align; 906 spa->real_size = size; 907 spa->region_vstart = vstart; 908 spa->flags = flags; 909 spa->is_hugepage = (flags & SP_HUGEPAGE); 910 spa->spg = spg; 911 spa->spm = mapping; 912 spa->type = type; 913 spa->kva = 0; /* NULL pointer */ 914 spa->applier = applier; 915 spa->preferred_node_id = node_id; 916 atomic_set(&spa->use_count, 1); 917 918 /* the link location could be saved before, to be optimized */ 919 spm_insert_area(mapping, spa); 920 mapping->free_area_cache = &spa->rb_node; 921 922 spin_unlock(&mapping->sp_mapping_lock); 923 sp_group_insert_area(spg, spa); 924 925 return spa; 926 927 error: 928 spin_unlock(&mapping->sp_mapping_lock); 929 kfree(spa); 930 return err; 931 } 932 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Ze, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 610575a82bdf3c3be06ce9559609d5bfa65472e8 commit: 7d1031b36ebd6c273d9aad316fd9e3e2daa01a85 [10/10] mm: support pagecache limit config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512251734.Tln5GDz4-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251734.Tln5GDz4-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251734.Tln5GDz4-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from mm/page_cache_limit.c:6: In file included from include/linux/mm.h:2181: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ mm/page_cache_limit.c:61:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes] 61 | int cache_reclaim_enable_handler(struct ctl_table *table, int write, | ^ mm/page_cache_limit.c:61:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 61 | int cache_reclaim_enable_handler(struct ctl_table *table, int write, | ^ | static mm/page_cache_limit.c:77:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes] 77 | int cache_reclaim_sysctl_handler(struct ctl_table *table, int write, | ^ mm/page_cache_limit.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 77 | int cache_reclaim_sysctl_handler(struct ctl_table *table, int write, | ^ | static >> mm/page_cache_limit.c:94:5: warning: no previous prototype for function 'cache_limit_mbytes_sysctl_handler' [-Wmissing-prototypes] 94 | int cache_limit_mbytes_sysctl_handler(struct ctl_table *table, int write, | ^ mm/page_cache_limit.c:94:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 94 | int cache_limit_mbytes_sysctl_handler(struct ctl_table *table, int write, | ^ | static 8 warnings generated. vim +/cache_limit_mbytes_sysctl_handler +94 mm/page_cache_limit.c 93 > 94 int cache_limit_mbytes_sysctl_handler(struct ctl_table *table, int write, 95 void __user *buffer, size_t *length, loff_t *ppos) 96 { 97 int ret; 98 unsigned long vm_cache_limit_mbytes_max; 99 unsigned long origin_mbytes = vm_cache_limit_mbytes; 100 int nr_retries = MAX_RECLAIM_RETRIES; 101 102 vm_cache_limit_mbytes_max = totalram_pages() >> (20 - PAGE_SHIFT); 103 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); 104 if (ret || !write) 105 return ret; 106 107 if (vm_cache_limit_mbytes > vm_cache_limit_mbytes_max) { 108 vm_cache_limit_mbytes = origin_mbytes; 109 return -EINVAL; 110 } 111 112 if (write) { 113 while (should_reclaim_page_cache() && page_cache_over_limit() && 114 nr_retries--) { 115 if (signal_pending(current)) 116 return -EINTR; 117 118 shrink_memory(node_reclaim_num(), false); 119 } 120 } 121 122 return 0; 123 } 124 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/scsi/huawei/hifc/hifc_hba.c:762:37: warning: default initialization of an object of type 'struct unf_low_level_function_op_s' with const member leaves the object uninitialized
by kernel test robot 25 Dec '25

25 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 4e9c55920995d70b3e88b60c69753df54b03fdf4 commit: 7fc993d55d1b54ae40e29dfac825a18d04d644c6 [1942/1942] scsi/hifc: add hifc driver FC service module config: x86_64-randconfig-071-20251213 (https://download.01.org/0day-ci/archive/20251225/202512251713.lhlEoibn-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251713.lhlEoibn-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251713.lhlEoibn-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ drivers/scsi/huawei/hifc/hifc_hba.c:343:6: warning: no previous prototype for function 'hifc_flush_root_ctx' [-Wmissing-prototypes] 343 | void hifc_flush_root_ctx(struct hifc_hba_s *v_hba) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:343:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 343 | void hifc_flush_root_ctx(struct hifc_hba_s *v_hba) | ^ | static drivers/scsi/huawei/hifc/hifc_hba.c:406:6: warning: no previous prototype for function 'hifc_flush_srq_ctx' [-Wmissing-prototypes] 406 | void hifc_flush_srq_ctx(struct hifc_hba_s *v_hba) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:406:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 406 | void hifc_flush_srq_ctx(struct hifc_hba_s *v_hba) | ^ | static >> drivers/scsi/huawei/hifc/hifc_hba.c:762:37: warning: default initialization of an object of type 'struct unf_low_level_function_op_s' with const member leaves the object uninitialized [-Wdefault-const-init-field-unsafe] 762 | struct unf_low_level_function_op_s low_level_fun; | ^ drivers/scsi/huawei/hifc/unf_common.h:1779:21: note: member 'xchg_mgr_type' declared 'const' here 1779 | const unsigned int xchg_mgr_type; | ^ drivers/scsi/huawei/hifc/hifc_hba.c:786:6: warning: no previous prototype for function 'hifc_release_probe_index' [-Wmissing-prototypes] 786 | void hifc_release_probe_index(unsigned int probe_index) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:786:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 786 | void hifc_release_probe_index(unsigned int probe_index) | ^ | static drivers/scsi/huawei/hifc/hifc_hba.c:1016:14: warning: no previous prototype for function 'hifc_assign_probe_index' [-Wmissing-prototypes] 1016 | unsigned int hifc_assign_probe_index(unsigned int *v_probe_index) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:1016:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1016 | unsigned int hifc_assign_probe_index(unsigned int *v_probe_index) | ^ | static drivers/scsi/huawei/hifc/hifc_hba.c:1038:5: warning: no previous prototype for function 'hifc_probe' [-Wmissing-prototypes] 1038 | int hifc_probe(struct hifc_lld_dev *lld_dev, void **uld_dev, char *uld_dev_name) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:1038:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1038 | int hifc_probe(struct hifc_lld_dev *lld_dev, void **uld_dev, char *uld_dev_name) | ^ | static drivers/scsi/huawei/hifc/hifc_hba.c:1497:6: warning: no previous prototype for function 'hifc_remove' [-Wmissing-prototypes] 1497 | void hifc_remove(struct hifc_lld_dev *lld_dev, void *uld_dev) | ^ drivers/scsi/huawei/hifc/hifc_hba.c:1497:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1497 | void hifc_remove(struct hifc_lld_dev *lld_dev, void *uld_dev) | ^ | static drivers/scsi/huawei/hifc/hifc_hba.c:1570:6: warning: no previous prototype for function 'hifc_event' [-Wmissing-prototypes] 1570 | void hifc_event(struct hifc_lld_dev *lld_dev, void *uld_dev, | ^ drivers/scsi/huawei/hifc/hifc_hba.c:1570:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 1570 | void hifc_event(struct hifc_lld_dev *lld_dev, void *uld_dev, | ^ | static 9 warnings generated. vim +762 drivers/scsi/huawei/hifc/hifc_hba.c 31015b9ad992c4 Chenguangli 2020-11-16 758 31015b9ad992c4 Chenguangli 2020-11-16 759 static unsigned int hifc_create_lport(struct hifc_hba_s *v_hba) 31015b9ad992c4 Chenguangli 2020-11-16 760 { 31015b9ad992c4 Chenguangli 2020-11-16 761 void *lport = NULL; 31015b9ad992c4 Chenguangli 2020-11-16 @762 struct unf_low_level_function_op_s low_level_fun; 31015b9ad992c4 Chenguangli 2020-11-16 763 31015b9ad992c4 Chenguangli 2020-11-16 764 HIFC_CHECK(INVALID_VALUE32, v_hba, return UNF_RETURN_ERROR); 31015b9ad992c4 Chenguangli 2020-11-16 765 hifc_fun_op.dev = v_hba->pci_dev; 31015b9ad992c4 Chenguangli 2020-11-16 766 memcpy(&low_level_fun, &hifc_fun_op, 31015b9ad992c4 Chenguangli 2020-11-16 767 sizeof(struct unf_low_level_function_op_s)); 31015b9ad992c4 Chenguangli 2020-11-16 768 31015b9ad992c4 Chenguangli 2020-11-16 769 /* Update port configuration table */ 31015b9ad992c4 Chenguangli 2020-11-16 770 hifc_update_lport_config(v_hba, &low_level_fun); 31015b9ad992c4 Chenguangli 2020-11-16 771 31015b9ad992c4 Chenguangli 2020-11-16 772 /* Apply for lport resources */ 31015b9ad992c4 Chenguangli 2020-11-16 773 UNF_LOWLEVEL_ALLOC_LPORT(lport, v_hba, &low_level_fun); 31015b9ad992c4 Chenguangli 2020-11-16 774 if (!lport) { 31015b9ad992c4 Chenguangli 2020-11-16 775 HIFC_TRACE(UNF_EVTLOG_DRIVER_ERR, UNF_LOG_REG_ATT, UNF_ERR, 31015b9ad992c4 Chenguangli 2020-11-16 776 "[err]Port(0x%x) can't allocate Lport", 31015b9ad992c4 Chenguangli 2020-11-16 777 v_hba->port_cfg.port_id); 31015b9ad992c4 Chenguangli 2020-11-16 778 31015b9ad992c4 Chenguangli 2020-11-16 779 return UNF_RETURN_ERROR; 31015b9ad992c4 Chenguangli 2020-11-16 780 } 31015b9ad992c4 Chenguangli 2020-11-16 781 v_hba->lport = lport; 31015b9ad992c4 Chenguangli 2020-11-16 782 31015b9ad992c4 Chenguangli 2020-11-16 783 return RETURN_OK; 31015b9ad992c4 Chenguangli 2020-11-16 784 } 31015b9ad992c4 Chenguangli 2020-11-16 785 :::::: The code at line 762 was first introduced by commit :::::: 31015b9ad992c40fc0db81055932bbabe74f2533 scsi/hifc: add hifc driver port resource module :::::: TO: Chenguangli <chenguangli2(a)huawei.com> :::::: CC: Yang Yingliang <yangyingliang(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] mm/share_pool.c:68: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead
by kernel test robot 25 Dec '25

25 Dec '25
Hi Wang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 610575a82bdf3c3be06ce9559609d5bfa65472e8 commit: fb31808921b891789a2f6cbfc7e277fd0918144a [10/10] mm/sharepool: Add base framework for share_pool config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512251747.a9usmhG0-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251747.a9usmhG0-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251747.a9usmhG0-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/share_pool.c:68: warning: expecting prototype for mp_sp_group_id_by_pid(). Prototype was for mg_sp_group_id_by_pid() instead >> mm/share_pool.c:176: warning: duplicate section name 'Return' >> mm/share_pool.c:211: warning: Function parameter or member 'spg_id' not described in 'mg_sp_unshare' vim +68 mm/share_pool.c 54 55 /** 56 * mp_sp_group_id_by_pid() - Get the sp_group ID array of a process. 57 * @tgid: tgid of target process. 58 * @spg_ids: point to an array to save the group ids the process belongs to 59 * @num: input the spg_ids array size; output the spg number of the process 60 * 61 * Return: 62 * >0 - the sp_group ID. 63 * -ENODEV - target process doesn't belong to any sp_group. 64 * -EINVAL - spg_ids or num is NULL. 65 * -E2BIG - the num of groups process belongs to is larger than *num 66 */ 67 int mg_sp_group_id_by_pid(int tgid, int *spg_ids, int *num) > 68 { 69 return -EOPNOTSUPP; 70 } 71 EXPORT_SYMBOL_GPL(mg_sp_group_id_by_pid); 72 73 /** 74 * mg_sp_group_add_task() - Add a process to an share group (sp_group). 75 * @tgid: the tgid of the task to be added. 76 * @prot: the prot of task for this spg. 77 * @spg_id: the ID of the sp_group. 78 * 79 * Return: A postive group number for success, -errno on failure. 80 * 81 * Valid @spg_id: 82 * [SPG_ID_MIN, SPG_ID_MAX]: 83 * the task would be added to the group with @spg_id, if the 84 * group doesn't exist, just create it. 85 * [SPG_ID_AUTO_MIN, SPG_ID_AUTO_MAX]: 86 * the task would be added to the group with @spg_id, if it 87 * doesn't exist ,return failed. 88 * SPG_ID_AUTO: 89 * the task would be added into a new group with a new id in range 90 * [SPG_ID_AUTO_MIN, SPG_ID_AUTO_MAX]. 91 * 92 * This function can be taken into four parts: 93 * 1. Check and initlize the task specified by @tgid properly. 94 * 2. Create or get the spg specified by @spg_id. 95 * 3. Check the spg and task together and link the task into the spg if 96 * everything looks good. 97 * 4. Map the existing sp_area from the spg into the new task. 98 */ 99 int mg_sp_group_add_task(int tgid, unsigned long prot, int spg_id) 100 { 101 return -EOPNOTSUPP; 102 } 103 EXPORT_SYMBOL_GPL(mg_sp_group_add_task); 104 105 int mg_sp_id_of_current(void) 106 { 107 return -EOPNOTSUPP; 108 } 109 EXPORT_SYMBOL_GPL(mg_sp_id_of_current); 110 111 /** 112 * mg_sp_free() - Free the memory allocated by mg_sp_alloc() or 113 * mg_sp_alloc_nodemask(). 114 * 115 * @addr: the starting VA of the memory. 116 * @id: Address space identifier, which is used to distinguish the addr. 117 * 118 * Return: 119 * * 0 - success. 120 * * -EINVAL - the memory can't be found or was not allocated by share pool. 121 * * -EPERM - the caller has no permision to free the memory. 122 */ 123 int mg_sp_free(unsigned long addr, int id) 124 { 125 return -EOPNOTSUPP; 126 } 127 EXPORT_SYMBOL_GPL(mg_sp_free); 128 129 static void __init proc_sharepool_init(void) 130 { 131 if (!proc_mkdir("sharepool", NULL)) 132 return; 133 } 134 135 void *mg_sp_alloc_nodemask(unsigned long size, unsigned long sp_flags, int spg_id, 136 nodemask_t nodemask) 137 { 138 return ERR_PTR(-EOPNOTSUPP); 139 } 140 EXPORT_SYMBOL_GPL(mg_sp_alloc_nodemask); 141 142 /** 143 * mg_sp_alloc() - Allocate shared memory for all the processes in a sp_group. 144 * @size: the size of memory to allocate. 145 * @sp_flags: how to allocate the memory. 146 * @spg_id: the share group that the memory is allocated to. 147 * 148 * Use pass through allocation if spg_id == SPG_ID_DEFAULT in multi-group mode. 149 * 150 * Return: 151 * * if succeed, return the starting address of the shared memory. 152 * * if fail, return the pointer of -errno. 153 */ 154 void *mg_sp_alloc(unsigned long size, unsigned long sp_flags, int spg_id) 155 { 156 return ERR_PTR(-EOPNOTSUPP); 157 } 158 EXPORT_SYMBOL_GPL(mg_sp_alloc); 159 160 /** 161 * mg_sp_make_share_k2u() - Share kernel memory to current process or an sp_group. 162 * @kva: the VA of shared kernel memory. 163 * @size: the size of shared kernel memory. 164 * @sp_flags: how to allocate the memory. We only support SP_DVPP. 165 * @tgid: the tgid of the specified process (Not currently in use). 166 * @spg_id: the share group that the memory is shared to. 167 * 168 * Return: the shared target user address to start at 169 * 170 * Share kernel memory to current task if spg_id == SPG_ID_NONE 171 * or SPG_ID_DEFAULT in multi-group mode. 172 * 173 * Return: 174 * * if succeed, return the shared user address to start at. 175 * * if fail, return the pointer of -errno. > 176 */ 177 void *mg_sp_make_share_k2u(unsigned long kva, unsigned long size, 178 unsigned long sp_flags, int tgid, int spg_id) 179 { 180 return ERR_PTR(-EOPNOTSUPP); 181 } 182 EXPORT_SYMBOL_GPL(mg_sp_make_share_k2u); 183 184 /** 185 * mg_sp_make_share_u2k() - Share user memory of a specified process to kernel. 186 * @uva: the VA of shared user memory 187 * @size: the size of shared user memory 188 * @tgid: the tgid of the specified process(Not currently in use) 189 * 190 * Return: 191 * * if success, return the starting kernel address of the shared memory. 192 * * if failed, return the pointer of -errno. 193 */ 194 void *mg_sp_make_share_u2k(unsigned long uva, unsigned long size, int tgid) 195 { 196 return ERR_PTR(-EOPNOTSUPP); 197 } 198 EXPORT_SYMBOL_GPL(mg_sp_make_share_u2k); 199 200 /** 201 * mg_sp_unshare() - Unshare the kernel or user memory which shared by calling 202 * sp_make_share_{k2u,u2k}(). 203 * @va: the specified virtual address of memory 204 * @size: the size of unshared memory 205 * 206 * Use spg_id of current thread if spg_id == SPG_ID_DEFAULT. 207 * 208 * Return: 0 for success, -errno on failure. 209 */ 210 int mg_sp_unshare(unsigned long va, unsigned long size, int spg_id) > 211 { 212 return -EOPNOTSUPP; 213 } 214 EXPORT_SYMBOL_GPL(mg_sp_unshare); 215 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 10/10] mm/page_cache_limit.c:35:5: warning: no previous prototype for function 'cache_reclaim_enable_handler'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Ze, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 610575a82bdf3c3be06ce9559609d5bfa65472e8 commit: 621647ce254f1d347ae9bc3d328c09cbb2732487 [10/10] mm: support periodical memory reclaim config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512251637.3XaOXOTN-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251637.3XaOXOTN-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251637.3XaOXOTN-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from mm/page_cache_limit.c:6: In file included from include/linux/mm.h:2181: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> mm/page_cache_limit.c:35:5: warning: no previous prototype for function 'cache_reclaim_enable_handler' [-Wmissing-prototypes] 35 | int cache_reclaim_enable_handler(struct ctl_table *table, int write, | ^ mm/page_cache_limit.c:35:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 35 | int cache_reclaim_enable_handler(struct ctl_table *table, int write, | ^ | static >> mm/page_cache_limit.c:51:5: warning: no previous prototype for function 'cache_reclaim_sysctl_handler' [-Wmissing-prototypes] 51 | int cache_reclaim_sysctl_handler(struct ctl_table *table, int write, | ^ mm/page_cache_limit.c:51:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 51 | int cache_reclaim_sysctl_handler(struct ctl_table *table, int write, | ^ | static 7 warnings generated. vim +/cache_reclaim_enable_handler +35 mm/page_cache_limit.c 34 > 35 int cache_reclaim_enable_handler(struct ctl_table *table, int write, 36 void *buffer, size_t *length, loff_t *ppos) 37 { 38 int ret; 39 40 ret = proc_dointvec_minmax(table, write, buffer, length, ppos); 41 if (ret || !write) 42 return ret; 43 44 if (should_periodical_reclaim()) 45 schedule_delayed_work(&shepherd, round_jiffies_relative( 46 (unsigned long)vm_cache_reclaim_s * HZ)); 47 48 return 0; 49 } 50 > 51 int cache_reclaim_sysctl_handler(struct ctl_table *table, int write, 52 void *buffer, size_t *length, loff_t *ppos) 53 { 54 int ret; 55 56 ret = proc_dointvec_minmax(table, write, buffer, length, ppos); 57 if (ret || !write) 58 return ret; 59 60 if (should_periodical_reclaim()) 61 mod_delayed_work(system_unbound_wq, &shepherd, 62 round_jiffies_relative( 63 (unsigned long)vm_cache_reclaim_s * HZ)); 64 65 return ret; 66 } 67 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH openEuler-1.0-LTS] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 25 Dec '25

25 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> mainline inclusion from mainline-v6.18-rc7 commit 90449f2d1e1f020835cba5417234636937dd657e category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11214 CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… ------------------ sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 7c9c63be214d..4698b79a62ff 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2208,9 +2208,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH OLK-5.10] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 25 Dec '25

25 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> stable inclusion from stable-v5.10.247 commit db6ac8703ab2b473e1ec845f57f6dd961a388d9f category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11214 CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit 90449f2d1e1f020835cba5417234636937dd657e upstream. sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index fbd973b184bb..98baa9cd46bf 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2235,9 +2235,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH OLK-6.6] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 25 Dec '25

25 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> stable inclusion from stable-v6.6.118 commit b343cee5df7e750d9033fba33e96fc4399fa88a5 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11214 CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit 90449f2d1e1f020835cba5417234636937dd657e upstream. sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 62574886a911..9258a1a8c23c 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2212,9 +2212,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH openEuler-1.0-LTS] md/raid10: fix null-ptr-deref in raid10_sync_request
by Zheng Qixing 25 Dec '25

25 Dec '25
From: Li Nan <linan122(a)huawei.com> stable inclusion from stable-v4.19.283 commit 38d33593260536840b49fd1dcac9aedfd14a9d42 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11456 CVE: CVE-2023-53832 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit a405c6f0229526160aa3f177f65e20c86fce84c5 upstream. init_resync() inits mempool and sets conf->have_replacemnt at the beginning of sync, close_sync() frees the mempool when sync is completed. After [1] recovery might be skipped and init_resync() is called but close_sync() is not. null-ptr-deref occurs with r10bio->dev[i].repl_bio. The following is one way to reproduce the issue. 1) create a array, wait for resync to complete, mddev->recovery_cp is set to MaxSector. 2) recovery is woken and it is skipped. conf->have_replacement is set to 0 in init_resync(). close_sync() not called. 3) some io errors and rdev A is set to WantReplacement. 4) a new device is added and set to A's replacement. 5) recovery is woken, A have replacement, but conf->have_replacemnt is 0. r10bio->dev[i].repl_bio will not be alloced and null-ptr-deref occurs. Fix it by not calling init_resync() if recovery skipped. [1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled") Fixes: 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled") Cc: stable(a)vger.kernel.org Signed-off-by: Li Nan <linan122(a)huawei.com> Signed-off-by: Song Liu <song(a)kernel.org> Link: https://lore.kernel.org/r/20230222041000.3341651-3-linan666@huaweicloud.com Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/md/raid10.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 5f0a20174979..67493be59f7f 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -2989,10 +2989,6 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, sector_t chunk_mask = conf->geo.chunk_mask; int page_idx = 0; - if (!mempool_initialized(&conf->r10buf_pool)) - if (init_resync(conf)) - return 0; - /* * Allow skipping a full rebuild for incremental assembly * of a clean array, like RAID1 does. @@ -3008,6 +3004,10 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, return mddev->dev_sectors - sector_nr; } + if (!mempool_initialized(&conf->r10buf_pool)) + if (init_resync(conf)) + return 0; + skipped: max_sector = mddev->dev_sectors; if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) || -- 2.39.2
2 1
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/x86/kernel/cpu/hygon.c:439:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len'
by kernel test robot 25 Dec '25

25 Dec '25
Hi qiuzhiteng, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 4e9c55920995d70b3e88b60c69753df54b03fdf4 commit: 1e3cb18ebe2976b3294e85c3d162736cc3c7c92b [1942/1942] x86: Enhanced copy capabilities for Hygon processor config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512251003.lVv73hTo-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251003.lVv73hTo-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512251003.lVv73hTo-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ arch/x86/kernel/cpu/hygon.c:434:6: warning: no previous prototype for function 'set_c86_features_para_invalid' [-Wmissing-prototypes] 434 | void set_c86_features_para_invalid(void) | ^ arch/x86/kernel/cpu/hygon.c:434:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 434 | void set_c86_features_para_invalid(void) | ^ | static >> arch/x86/kernel/cpu/hygon.c:439:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len' [-Wmissing-prototypes] 439 | unsigned int get_nt_block_copy_mini_len(void) | ^ arch/x86/kernel/cpu/hygon.c:439:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 439 | unsigned int get_nt_block_copy_mini_len(void) | ^ | static 3 warnings generated. In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ 1 warning generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ >> arch/x86/kernel/fpu/core.c:149:14: warning: no previous prototype for function 'get_fpustate_free_space' [-Wmissing-prototypes] 149 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ arch/x86/kernel/fpu/core.c:149:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 149 | unsigned int get_fpustate_free_space(struct fpu *fpu) | ^ | static >> arch/x86/kernel/fpu/core.c:175:14: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement] 175 | struct fpu *fpu = &current->thread.fpu; | ^ 3 warnings generated. In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ 1 warning generated. vim +/get_nt_block_copy_mini_len +439 arch/x86/kernel/cpu/hygon.c 438 > 439 unsigned int get_nt_block_copy_mini_len(void) 440 { 441 unsigned int mini_len = hygon_c86_data.nt_cpy_mini_len; 442 443 return mini_len; 444 } 445 EXPORT_SYMBOL_GPL(get_nt_block_copy_mini_len); 446 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6] perf/x86/intel: Fix KASAN global-out-of-bounds warning
by Luo Gengkun 25 Dec '25

25 Dec '25
From: Dapeng Mi <dapeng1.mi(a)linux.intel.com> mainline inclusion from mainline-v6.18-rc4 commit 0ba6502ce167fc3d598c08c2cc3b4ed7ca5aa251 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11639 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- When running "perf mem record" command on CWF, the below KASAN global-out-of-bounds warning is seen. ================================================================== BUG: KASAN: global-out-of-bounds in cmt_latency_data+0x176/0x1b0 Read of size 4 at addr ffffffffb721d000 by task dtlb/9850 Call Trace: kasan_report+0xb8/0xf0 cmt_latency_data+0x176/0x1b0 setup_arch_pebs_sample_data+0xf49/0x2560 intel_pmu_drain_arch_pebs+0x577/0xb00 handle_pmi_common+0x6c4/0xc80 The issue is caused by below code in __grt_latency_data(). The code tries to access x86_hybrid_pmu structure which doesn't exist on non-hybrid platform like CWF. WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big) So add is_hybrid() check before calling this WARN_ON_ONCE to fix the global-out-of-bounds access issue. Fixes: 090262439f66 ("perf/x86/intel: Rename model-specific pebs_latency_data functions") Reported-by: Xudong Hao <xudong.hao(a)intel.com> Signed-off-by: Dapeng Mi <dapeng1.mi(a)linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz(a)infradead.org> Reviewed-by: Zide Chen <zide.chen(a)intel.com> Cc: stable(a)vger.kernel.org Link: https://patch.msgid.link/20251028064214.1451968-1-dapeng1.mi@linux.intel.com Signed-off-by: Luo Gengkun <luogengkun2(a)huawei.com> --- arch/x86/events/intel/ds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c index 3010a90a339a..c313aee99d9a 100644 --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c @@ -304,7 +304,8 @@ static u64 __grt_latency_data(struct perf_event *event, u64 status, { u64 val; - WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big); + WARN_ON_ONCE(is_hybrid() && + hybrid_pmu(event->pmu)->pmu_type == hybrid_big); dse &= PERF_PEBS_DATA_SOURCE_GRT_MASK; val = hybrid_var(event->pmu, pebs_data_source)[dse]; -- 2.34.1
2 1
0 0
[PATCH OLK-6.6] mm: migrate: add dma copy offloading for hugetlb
by Zeng Heng 25 Dec '25

25 Dec '25
From: Tong Tiangen <tongtiangen(a)huawei.com> hulk inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/7837 ------------------------------- Large memory migration imposes significant overhead on the CPU. This patch introduces enhancements to the page migration by offloading the copy to UDMA hardware which based on the DMA engine framework, and a new migration mode has been introduced, If DMA migration fails, it will fall back to CPU migration. DMA migration supports both asynchronous and synchronous modes for subsequent debugging purposes. Signed-off-by: Tong Tiangen <tongtiangen(a)huawei.com> Signed-off-by: Zeng Heng <zengheng4(a)huawei.com> --- arch/arm64/configs/openeuler_defconfig | 1 + arch/x86/configs/openeuler_defconfig | 1 + include/linux/migrate_mode.h | 7 ++ include/linux/mm.h | 8 ++ mm/Kconfig | 12 +++ mm/Makefile | 1 + mm/migrate.c | 9 ++ mm/migrate_dma.c | 143 +++++++++++++++++++++++++ 8 files changed, 182 insertions(+) create mode 100644 mm/migrate_dma.c diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig index c25ac4ff6c2f..08af29cf2776 100644 --- a/arch/arm64/configs/openeuler_defconfig +++ b/arch/arm64/configs/openeuler_defconfig @@ -1186,6 +1186,7 @@ CONFIG_COMPACTION=y CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y +CONFIG_MIGRATE_PAGES_DMA_OFFLOADING=y CONFIG_DEVICE_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig index 612ef34a6c73..7d9ce1496e18 100644 --- a/arch/x86/configs/openeuler_defconfig +++ b/arch/x86/configs/openeuler_defconfig @@ -1147,6 +1147,7 @@ CONFIG_COMPACTION=y CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y +# CONFIG_MIGRATE_PAGES_DMA_OFFLOADING is not set CONFIG_DEVICE_MIGRATION=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y diff --git a/include/linux/migrate_mode.h b/include/linux/migrate_mode.h index 0f577f932bb4..5283e62b7d1b 100644 --- a/include/linux/migrate_mode.h +++ b/include/linux/migrate_mode.h @@ -19,6 +19,13 @@ enum migrate_mode { MIGRATE_SYNC_NO_COPY, }; +/* + * Actually the macro MIGRATE_ASYNC_DMA_OFFLOADING definition should be + * placed within enum migrate_mode, but for KABI compatibility, it is + * defined here alone. + */ +#define MIGRATE_ASYNC_DMA_OFFLOADING (10) + enum migrate_reason { MR_COMPACTION, MR_MEMORY_FAILURE, diff --git a/include/linux/mm.h b/include/linux/mm.h index c0040a2014c4..036822cb1b9d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1330,6 +1330,14 @@ void put_pages_list(struct list_head *pages); void split_page(struct page *page, unsigned int order); void folio_copy(struct folio *dst, struct folio *src); int folio_mc_copy(struct folio *dst, struct folio *src); +#ifdef CONFIG_MIGRATE_PAGES_DMA_OFFLOADING +int folio_dma_copy(struct folio *dst, struct folio *src); +#else +static inline int folio_dma_copy(struct folio *dst, struct folio *src) +{ + return -ENODEV; +} +#endif unsigned long nr_free_buffer_pages(void); diff --git a/mm/Kconfig b/mm/Kconfig index 4eb0642b71e5..12438e8dff88 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -696,6 +696,18 @@ config MIGRATION pages as migration can relocate pages to satisfy a huge page allocation instead of reclaiming. +config MIGRATE_PAGES_DMA_OFFLOADING + bool "Support to use DMA channels for page migration" + depends on DMA_ENGINE + depends on MIGRATION + default y + help + This config enhances page migration by introducing a new mode + that offloads copy operations to UB-DMA hardware based on the + DMA engine framework, with automatic fallback to CPU migration + if DMA migration fails. DMA migration supports both asynchronous + and synchronous modes to facilitate debugging. + config DEVICE_MIGRATION def_bool MIGRATION && ZONE_DEVICE diff --git a/mm/Makefile b/mm/Makefile index e45cdeda47b7..dd81f8c33e03 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -92,6 +92,7 @@ obj-$(CONFIG_FAILSLAB) += failslab.o obj-$(CONFIG_FAIL_PAGE_ALLOC) += fail_page_alloc.o obj-$(CONFIG_MEMTEST) += memtest.o obj-$(CONFIG_MIGRATION) += migrate.o +obj-$(CONFIG_MIGRATE_PAGES_DMA_OFFLOADING) += migrate_dma.o obj-$(CONFIG_NUMA) += memory-tiers.o obj-$(CONFIG_DEVICE_MIGRATION) += migrate_device.o obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += huge_memory.o khugepaged.o diff --git a/mm/migrate.c b/mm/migrate.c index 148e55fab012..216f45c9570f 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -583,6 +583,15 @@ static int folio_migrate_mc_copy(struct folio *dst, struct folio *src, if (mode == MIGRATE_SYNC_NO_COPY) return 0; + if (mode == MIGRATE_ASYNC_DMA_OFFLOADING) { + if (folio_test_hugetlb(src) || + folio_test_pmd_mappable(src)) { + /* if dma offloading fail, fallback */ + if (!folio_dma_copy(dst, src)) + return 0; + } + } + return folio_mc_copy(dst, src); } diff --git a/mm/migrate_dma.c b/mm/migrate_dma.c new file mode 100644 index 000000000000..796cd9a5477e --- /dev/null +++ b/mm/migrate_dma.c @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Support to use DMA channels for page migration. + * + * Copyright (C) 2025 Huawei Limited + */ + +#define pr_fmt(fmt) "migrate_dma: " fmt + +#include <linux/dmaengine.h> +#include <linux/dma-mapping.h> + +/* DMA channel track its transfers done */ +struct dma_channel_work { + struct dma_chan *chan; + enum dma_status status; + struct completion done; +}; + +static void folios_dma_copy_completion_callback(void *param, + const struct dmaengine_result *result) +{ + struct dma_channel_work *chan_work = param; + + if (result) { + enum dmaengine_tx_result dma_res = result->result; + + if (dma_res == DMA_TRANS_NOERROR) + chan_work->status = DMA_COMPLETE; + else + chan_work->status = DMA_ERROR; + } + + complete(&chan_work->done); +} + +static int process_folio_dma_transfer(struct dma_channel_work *chan_work, + struct folio *src, struct folio *dst) +{ + struct dma_chan *chan = chan_work->chan; + struct device *dev = dmaengine_get_dma_device(chan); + enum dma_ctrl_flags flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT; + struct dma_async_tx_descriptor *tx; + dma_addr_t src_handle, dst_handle; + size_t size = folio_size(src); + int ret; + + src_handle = dma_map_page(dev, &src->page, 0, size, DMA_TO_DEVICE); + if (dma_mapping_error(dev, src_handle)) { + dev_err(dev, "map dma src page error.\n"); + return -ENOMEM; + } + + dst_handle = dma_map_page(dev, &dst->page, 0, size, DMA_FROM_DEVICE); + if (dma_mapping_error(dev, dst_handle)) { + dev_err(dev, "map dma dst page error.\n"); + ret = -ENOMEM; + goto out_unmap; + } + + tx = dmaengine_prep_dma_memcpy(chan, dst_handle, src_handle, + size, flags); + if (unlikely(!tx)) { + dev_err(dev, "prep dma memcpy error.\n"); + ret = -EBUSY; + goto out_unmap_all; + } + + tx->callback_result = folios_dma_copy_completion_callback; + tx->callback_param = chan_work; + init_completion(&chan_work->done); + chan_work->status = DMA_ERROR; + + if (dma_submit_error(dmaengine_submit(tx))) { + dev_err(dev, "dma submit error.\n"); + ret = -EINVAL; + goto out_unmap_all; + } + + dma_async_issue_pending(chan); + if (!wait_for_completion_timeout(&chan_work->done, + msecs_to_jiffies(1000))) { + ret = -ETIMEDOUT; + goto out_unmap_all; + } + + ret = (chan_work->status == DMA_COMPLETE) ? 0 : -EPROTO; + +out_unmap_all: + dma_unmap_page(dev, dst_handle, size, DMA_FROM_DEVICE); +out_unmap: + dma_unmap_page(dev, src_handle, size, DMA_TO_DEVICE); + + return ret; +} + +static bool folio_dma_chan_filter(struct dma_chan *chan, void *param) +{ + return !strcmp(dev_name(chan->device->dev), "ub_dma_device"); +} + +int folio_dma_copy(struct folio *dst, struct folio *src) +{ + struct dma_channel_work *chan_work; + struct dma_slave_config dma_cfg; + struct dma_chan *chan; + dma_cap_mask_t mask; + int ret = -ENODEV; + + dma_cap_zero(mask); + dma_cap_set(DMA_MEMCPY, mask); + chan = dma_request_channel(mask, folio_dma_chan_filter, NULL); + if (!chan) { + pr_err("failed to allocate dma channel.\n"); + return ret; + } + + memset(&dma_cfg, 0, sizeof(dma_cfg)); + dma_cfg.direction = DMA_MEM_TO_MEM; + ret = dmaengine_slave_config(chan, &dma_cfg); + if (ret) { + pr_err("failed to config dma channel.\n"); + goto out_release; + } + + chan_work = kmalloc(sizeof(*chan_work), GFP_KERNEL); + if (unlikely(!chan_work)) { + pr_err("failed to allocate memory for chan work.\n"); + goto out_release; + } + + chan_work->chan = chan; + ret = process_folio_dma_transfer(chan_work, src, dst); + if (unlikely(ret)) + pr_err("failed to process folio dma transfer.\n"); + + kfree(chan_work); +out_release: + dma_release_channel(chan); + + return ret; +} +EXPORT_SYMBOL(folio_dma_copy); -- 2.25.1
2 1
0 0
[PATCH OLK-6.6] bpf: Free special fields when update [lru_,]percpu_hash maps
by Luo Gengkun 25 Dec '25

25 Dec '25
From: Leon Hwang <leon.hwang(a)linux.dev> mainline inclusion from mainline-v6.19-rc1 commit 6af6e49a76c9af7d42eb923703e7648cb2bf401a category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/12705 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- As [lru_,]percpu_hash maps support BPF_KPTR_{REF,PERCPU}, missing calls to 'bpf_obj_free_fields()' in 'pcpu_copy_value()' could cause the memory referenced by BPF_KPTR_{REF,PERCPU} fields to be held until the map gets freed. Fix this by calling 'bpf_obj_free_fields()' after 'copy_map_value[,_long]()' in 'pcpu_copy_value()'. Fixes: 65334e64a493 ("bpf: Support kptrs in percpu hashmap and percpu LRU hashmap") Signed-off-by: Leon Hwang <leon.hwang(a)linux.dev> Acked-by: Yonghong Song <yonghong.song(a)linux.dev> Link: https://lore.kernel.org/r/20251105151407.12723-2-leon.hwang@linux.dev Signed-off-by: Alexei Starovoitov <ast(a)kernel.org> Signed-off-by: Luo Gengkun <luogengkun2(a)huawei.com> --- kernel/bpf/hashtab.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c index fdc74aeaa164..46e833e5666b 100644 --- a/kernel/bpf/hashtab.c +++ b/kernel/bpf/hashtab.c @@ -957,15 +957,21 @@ static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l) static void pcpu_copy_value(struct bpf_htab *htab, void __percpu *pptr, void *value, bool onallcpus) { + void *ptr; + if (!onallcpus) { /* copy true value_size bytes */ - copy_map_value(&htab->map, this_cpu_ptr(pptr), value); + ptr = this_cpu_ptr(pptr); + copy_map_value(&htab->map, ptr, value); + bpf_obj_free_fields(htab->map.record, ptr); } else { u32 size = round_up(htab->map.value_size, 8); int off = 0, cpu; for_each_possible_cpu(cpu) { - copy_map_value_long(&htab->map, per_cpu_ptr(pptr, cpu), value + off); + ptr = per_cpu_ptr(pptr, cpu); + copy_map_value_long(&htab->map, ptr, value + off); + bpf_obj_free_fields(htab->map.record, ptr); off += size; } } -- 2.34.1
2 1
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/net/ethernet/microchip/lan743x_ptp.c:985:6: warning: no previous prototype for function 'lan743x_ptp_set_sync_ts_insert'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Bryan, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 4e9c55920995d70b3e88b60c69753df54b03fdf4 commit: 07624df1c9efd4b7f2f6762581587c590b03c7a2 [1942/1942] lan743x: lan743x: Add PTP support config: x86_64-randconfig-071-20251213 (https://download.01.org/0day-ci/archive/20251225/202512250737.MecjkLdA-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512250737.MecjkLdA-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512250737.MecjkLdA-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:78: include/linux/compiler-clang.h:25:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 25 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:353:9: note: previous definition is here 353 | #define __SANITIZE_ADDRESS__ 1 | ^ drivers/net/ethernet/microchip/lan743x_ptp.c:781:28: error: no member named 'ptp_clock' in 'struct lan743x_ptp' 781 | ptp_schedule_worker(ptp->ptp_clock, 0); | ~~~ ^ drivers/net/ethernet/microchip/lan743x_ptp.c:879:6: warning: unused variable 'ret' [-Wunused-variable] 879 | int ret = -ENODEV; | ^~~ >> drivers/net/ethernet/microchip/lan743x_ptp.c:985:6: warning: no previous prototype for function 'lan743x_ptp_set_sync_ts_insert' [-Wmissing-prototypes] 985 | void lan743x_ptp_set_sync_ts_insert(struct lan743x_adapter *adapter, | ^ drivers/net/ethernet/microchip/lan743x_ptp.c:985:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 985 | void lan743x_ptp_set_sync_ts_insert(struct lan743x_adapter *adapter, | ^ | static 3 warnings and 1 error generated. vim +/lan743x_ptp_set_sync_ts_insert +985 drivers/net/ethernet/microchip/lan743x_ptp.c 984 > 985 void lan743x_ptp_set_sync_ts_insert(struct lan743x_adapter *adapter, 986 bool ts_insert_enable) 987 { 988 u32 ptp_tx_mod = lan743x_csr_read(adapter, PTP_TX_MOD); 989 990 if (ts_insert_enable) 991 ptp_tx_mod |= PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_; 992 else 993 ptp_tx_mod &= ~PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_; 994 995 lan743x_csr_write(adapter, PTP_TX_MOD, ptp_tx_mod); 996 } 997 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 3406/3406] kernel/cgroup/cgroup.c:6734: warning: Function parameter or member 'fd' not described in 'cgroup_get_from_fd_v2'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Liu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355 commit: 56fee14453059f894b018d08071826d47e634800 [3406/3406] cgroup: make cgroup_bpf_prog_attach work when cgroup2 is not mounted config: arm64-randconfig-003-20251211 (https://download.01.org/0day-ci/archive/20251225/202512250139.hi51ZBjo-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512250139.hi51ZBjo-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512250139.hi51ZBjo-lkp@intel.com/ All warnings (new ones prefixed by >>): kernel/cgroup/cgroup.c:6217: warning: Function parameter or member 'f' not described in 'cgroup_get_from_file' kernel/cgroup/cgroup.c:6369: warning: Function parameter or member 'kargs' not described in 'cgroup_can_fork' kernel/cgroup/cgroup.c:6430: warning: Function parameter or member 'kargs' not described in 'cgroup_post_fork' kernel/cgroup/cgroup.c:6716: warning: Function parameter or member 'fd' not described in 'cgroup_get_from_fd' >> kernel/cgroup/cgroup.c:6734: warning: Function parameter or member 'fd' not described in 'cgroup_get_from_fd_v2' vim +6734 kernel/cgroup/cgroup.c 6729 6730 /** 6731 * same with cgroup_get_from_fd, only add cgrp_dfl_visible check 6732 */ 6733 struct cgroup *cgroup_get_from_fd_v2(int fd) > 6734 { 6735 struct cgroup *cgrp = cgroup_v1v2_get_from_fd(fd); 6736 6737 if (IS_ERR(cgrp)) 6738 return ERR_CAST(cgrp); 6739 6740 if (!cgroup_on_dfl(cgrp)) { 6741 cgroup_put(cgrp); 6742 if (cgrp_dfl_visible) 6743 return ERR_PTR(-EBADF); 6744 6745 cgrp = &cgrp_dfl_root.cgrp; 6746 cgroup_get(cgrp); 6747 } 6748 return cgrp; 6749 } 6750 EXPORT_SYMBOL_GPL(cgroup_get_from_fd_v2); 6751 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 3406/3406] kernel/task_work.c:84: warning: Function parameter or member 'data' not described in 'task_work_cancel_match'
by kernel test robot 25 Dec '25

25 Dec '25
Hi Jens, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1588d318a9e388d05b6cf5e2a63134c8beb6a355 commit: 8802b2dc61376ea4727dba6630f81697da540e85 [3406/3406] task_work: add helper for more targeted task_work canceling config: arm64-randconfig-003-20251211 (https://download.01.org/0day-ci/archive/20251225/202512250050.7RnKXs39-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512250050.7RnKXs39-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512250050.7RnKXs39-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/task_work.c:84: warning: Function parameter or member 'data' not described in 'task_work_cancel_match' vim +84 kernel/task_work.c e73f8959af0439 Oleg Nesterov 2012-05-11 71 892f6668f3a708 Oleg Nesterov 2013-09-11 72 /** 8802b2dc61376e Jens Axboe 2023-02-28 73 * task_work_cancel_match - cancel a pending work added by task_work_add() 892f6668f3a708 Oleg Nesterov 2013-09-11 74 * @task: the task which should execute the work 8802b2dc61376e Jens Axboe 2023-02-28 75 * @match: match function to call 892f6668f3a708 Oleg Nesterov 2013-09-11 76 * 892f6668f3a708 Oleg Nesterov 2013-09-11 77 * RETURNS: 892f6668f3a708 Oleg Nesterov 2013-09-11 78 * The found work or NULL if not found. 892f6668f3a708 Oleg Nesterov 2013-09-11 79 */ 67d1214551e800 Al Viro 2012-06-27 80 struct callback_head * 8802b2dc61376e Jens Axboe 2023-02-28 81 task_work_cancel_match(struct task_struct *task, 8802b2dc61376e Jens Axboe 2023-02-28 82 bool (*match)(struct callback_head *, void *data), 8802b2dc61376e Jens Axboe 2023-02-28 83 void *data) e73f8959af0439 Oleg Nesterov 2012-05-11 @84 { ac3d0da8f3290b Oleg Nesterov 2012-08-26 85 struct callback_head **pprev = &task->task_works; 205e550a0fb469 Oleg Nesterov 2013-09-11 86 struct callback_head *work; e73f8959af0439 Oleg Nesterov 2012-05-11 87 unsigned long flags; 61e96496d3c949 Oleg Nesterov 2016-08-02 88 61e96496d3c949 Oleg Nesterov 2016-08-02 89 if (likely(!task->task_works)) 61e96496d3c949 Oleg Nesterov 2016-08-02 90 return NULL; ac3d0da8f3290b Oleg Nesterov 2012-08-26 91 /* ac3d0da8f3290b Oleg Nesterov 2012-08-26 92 * If cmpxchg() fails we continue without updating pprev. ac3d0da8f3290b Oleg Nesterov 2012-08-26 93 * Either we raced with task_work_add() which added the ac3d0da8f3290b Oleg Nesterov 2012-08-26 94 * new entry before this work, we will find it again. Or 9da33de62431c7 Oleg Nesterov 2012-08-26 95 * we raced with task_work_run(), *pprev == NULL/exited. ac3d0da8f3290b Oleg Nesterov 2012-08-26 96 */ e73f8959af0439 Oleg Nesterov 2012-05-11 97 raw_spin_lock_irqsave(&task->pi_lock, flags); 506458efaf153c Will Deacon 2017-10-24 98 while ((work = READ_ONCE(*pprev))) { 8802b2dc61376e Jens Axboe 2023-02-28 99 if (!match(work, data)) ac3d0da8f3290b Oleg Nesterov 2012-08-26 100 pprev = &work->next; ac3d0da8f3290b Oleg Nesterov 2012-08-26 101 else if (cmpxchg(pprev, work, work->next) == work) 158e1645e07f3e Al Viro 2012-06-27 102 break; 158e1645e07f3e Al Viro 2012-06-27 103 } e73f8959af0439 Oleg Nesterov 2012-05-11 104 raw_spin_unlock_irqrestore(&task->pi_lock, flags); ac3d0da8f3290b Oleg Nesterov 2012-08-26 105 ac3d0da8f3290b Oleg Nesterov 2012-08-26 106 return work; e73f8959af0439 Oleg Nesterov 2012-05-11 107 } e73f8959af0439 Oleg Nesterov 2012-05-11 108 :::::: The code at line 84 was first introduced by commit :::::: e73f8959af0439d114847eab5a8a5ce48f1217c4 task_work_add: generic process-context callbacks :::::: TO: Oleg Nesterov <oleg(a)redhat.com> :::::: CC: Al Viro <viro(a)zeniv.linux.org.uk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 24 Dec '25

24 Dec '25
From: Daniel Wagner <wagi(a)kernel.org> stable inclusion from stable-v6.6.117 commit 601ed47b2363c24d948d7bac0c23abc8bd459570 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11412 CVE: CVE-2025-40343 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- [ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ] When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted. Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com> Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh… Reviewed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Daniel Wagner <wagi(a)kernel.org> Signed-off-by: Keith Busch <kbusch(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com> --- drivers/nvme/target/fc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index a15e764bae35..188b9f1bdaca 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work) static void nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc) { + int terminating; + + terminating = atomic_xchg(&assoc->terminating, 1); + + /* if already terminating, do nothing */ + if (terminating) + return; + nvmet_fc_tgtport_get(assoc->tgtport); if (!queue_work(nvmet_wq, &assoc->del_work)) nvmet_fc_tgtport_put(assoc->tgtport); @@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc) { struct nvmet_fc_tgtport *tgtport = assoc->tgtport; unsigned long flags; - int i, terminating; - - terminating = atomic_xchg(&assoc->terminating, 1); - - /* if already terminating, do nothing */ - if (terminating) - return; + int i; spin_lock_irqsave(&tgtport->lock, flags); list_del_rcu(&assoc->a_list); -- 2.34.1
2 1
0 0
[PATCH openEuler-1.0-LTS] md/raid10: fix null-ptr-deref in raid10_sync_request
by Zheng Qixing 24 Dec '25

24 Dec '25
From: Li Nan <linan122(a)huawei.com> stable inclusion from stable-v4.19.283 commit 38d33593260536840b49fd1dcac9aedfd14a9d42 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDBOQL CVE: CVE-2023-53832 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit a405c6f0229526160aa3f177f65e20c86fce84c5 upstream. init_resync() inits mempool and sets conf->have_replacemnt at the beginning of sync, close_sync() frees the mempool when sync is completed. After [1] recovery might be skipped and init_resync() is called but close_sync() is not. null-ptr-deref occurs with r10bio->dev[i].repl_bio. The following is one way to reproduce the issue. 1) create a array, wait for resync to complete, mddev->recovery_cp is set to MaxSector. 2) recovery is woken and it is skipped. conf->have_replacement is set to 0 in init_resync(). close_sync() not called. 3) some io errors and rdev A is set to WantReplacement. 4) a new device is added and set to A's replacement. 5) recovery is woken, A have replacement, but conf->have_replacemnt is 0. r10bio->dev[i].repl_bio will not be alloced and null-ptr-deref occurs. Fix it by not calling init_resync() if recovery skipped. [1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled") Fixes: 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled") Cc: stable(a)vger.kernel.org Signed-off-by: Li Nan <linan122(a)huawei.com> Signed-off-by: Song Liu <song(a)kernel.org> Link: https://lore.kernel.org/r/20230222041000.3341651-3-linan666@huaweicloud.com Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/md/raid10.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 5f0a20174979..67493be59f7f 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -2989,10 +2989,6 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, sector_t chunk_mask = conf->geo.chunk_mask; int page_idx = 0; - if (!mempool_initialized(&conf->r10buf_pool)) - if (init_resync(conf)) - return 0; - /* * Allow skipping a full rebuild for incremental assembly * of a clean array, like RAID1 does. @@ -3008,6 +3004,10 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr, return mddev->dev_sectors - sector_nr; } + if (!mempool_initialized(&conf->r10buf_pool)) + if (init_resync(conf)) + return 0; + skipped: max_sector = mddev->dev_sectors; if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery) || -- 2.39.2
2 1
0 0
[PATCH openEuler-1.0-LTS] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 24 Dec '25

24 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> mainline inclusion from mainline-v6.18-rc7 commit 90449f2d1e1f020835cba5417234636937dd657e category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDATPD CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… ------------------ sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 7c9c63be214d..4698b79a62ff 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2208,9 +2208,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH OLK-5.10] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 24 Dec '25

24 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> stable inclusion from stable-v5.10.247 commit db6ac8703ab2b473e1ec845f57f6dd961a388d9f category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDATPD CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit 90449f2d1e1f020835cba5417234636937dd657e upstream. sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index fbd973b184bb..98baa9cd46bf 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2235,9 +2235,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH OLK-6.6] scsi: sg: Do not sleep in atomic context
by Zheng Qixing 24 Dec '25

24 Dec '25
From: Bart Van Assche <bvanassche(a)acm.org> stable inclusion from stable-v6.6.118 commit b343cee5df7e750d9033fba33e96fc4399fa88a5 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDATPD CVE: CVE-2025-40259 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ------------------ commit 90449f2d1e1f020835cba5417234636937dd657e upstream. sg_finish_rem_req() calls blk_rq_unmap_user(). The latter function may sleep. Hence, call sg_finish_rem_req() with interrupts enabled instead of disabled. Reported-by: syzbot+c01f8e6e73f20459912e(a)syzkaller.appspotmail.com Closes: https://lore.kernel.org/linux-scsi/691560c4.a70a0220.3124cb.001a.GAE@google… Cc: Hannes Reinecke <hare(a)suse.de> Cc: stable(a)vger.kernel.org Fixes: 97d27b0dd015 ("scsi: sg: close race condition in sg_remove_sfp_usercontext()") Signed-off-by: Bart Van Assche <bvanassche(a)acm.org> Link: https://patch.msgid.link/20251113181643.1108973-1-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Signed-off-by: Zheng Qixing <zhengqixing(a)huawei.com> --- drivers/scsi/sg.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 62574886a911..9258a1a8c23c 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -2212,9 +2212,17 @@ sg_remove_sfp_usercontext(struct work_struct *work) write_lock_irqsave(&sfp->rq_list_lock, iflags); while (!list_empty(&sfp->rq_list)) { srp = list_first_entry(&sfp->rq_list, Sg_request, entry); - sg_finish_rem_req(srp); list_del(&srp->entry); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + sg_finish_rem_req(srp); + /* + * sg_rq_end_io() uses srp->parentfp. Hence, only clear + * srp->parentfp after blk_mq_free_request() has been called. + */ srp->parentfp = NULL; + + write_lock_irqsave(&sfp->rq_list_lock, iflags); } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); -- 2.39.2
2 1
0 0
[PATCH] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 24 Dec '25

24 Dec '25
From: Daniel Wagner <wagi(a)kernel.org> stable inclusion from stable-v6.6.117 commit 601ed47b2363c24d948d7bac0c23abc8bd459570 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11412 CVE: CVE-2025-40343 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- [ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ] When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted. Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com> Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh… Reviewed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Daniel Wagner <wagi(a)kernel.org> Signed-off-by: Keith Busch <kbusch(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com> --- drivers/nvme/target/fc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index a15e764bae35..188b9f1bdaca 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work) static void nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc) { + int terminating; + + terminating = atomic_xchg(&assoc->terminating, 1); + + /* if already terminating, do nothing */ + if (terminating) + return; + nvmet_fc_tgtport_get(assoc->tgtport); if (!queue_work(nvmet_wq, &assoc->del_work)) nvmet_fc_tgtport_put(assoc->tgtport); @@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc) { struct nvmet_fc_tgtport *tgtport = assoc->tgtport; unsigned long flags; - int i, terminating; - - terminating = atomic_xchg(&assoc->terminating, 1); - - /* if already terminating, do nothing */ - if (terminating) - return; + int i; spin_lock_irqsave(&tgtport->lock, flags); list_del_rcu(&assoc->a_list); -- 2.34.1
1 0
0 0
[PATCH OLK-6.6] bpf: Fix invalid prog->stats access when update_effective_progs fails
by Pu Lehui 24 Dec '25

24 Dec '25
mainline inclusion from mainline-v6.19-rc1 commit 7dc211c1159d991db609bdf4b0fb9033c04adcbc category: bugfix bugzilla: https://atomgit.com/openeuler/kernel/issues/8294 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- Syzkaller triggers an invalid memory access issue following fault injection in update_effective_progs. The issue can be described as follows: __cgroup_bpf_detach update_effective_progs compute_effective_progs bpf_prog_array_alloc <-- fault inject purge_effective_progs /* change to dummy_bpf_prog */ array->items[index] = &dummy_bpf_prog.prog ---softirq start--- __do_softirq ... __cgroup_bpf_run_filter_skb __bpf_prog_run_save_cb bpf_prog_run stats = this_cpu_ptr(prog->stats) /* invalid memory access */ flags = u64_stats_update_begin_irqsave(&stats->syncp) ---softirq end--- static_branch_dec(&cgroup_bpf_enabled_key[atype]) The reason is that fault injection caused update_effective_progs to fail and then changed the original prog into dummy_bpf_prog.prog in purge_effective_progs. Then a softirq came, and accessing the members of dummy_bpf_prog.prog in the softirq triggers invalid mem access. To fix it, skip updating stats when stats is NULL. Fixes: 492ecee892c2 ("bpf: enable program stats") Signed-off-by: Pu Lehui <pulehui(a)huawei.com> Link: https://lore.kernel.org/r/20251115102343.2200727-1-pulehui@huaweicloud.com Signed-off-by: Alexei Starovoitov <ast(a)kernel.org> Conflicts: include/linux/filter.h [The conflicts were due to not merge ce09cbdd9888] Signed-off-by: Pu Lehui <pulehui(a)huawei.com> --- include/linux/filter.h | 12 +++++++----- kernel/bpf/syscall.c | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/linux/filter.h b/include/linux/filter.h index a7c0caa8b7ad..b324f264fc14 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -603,11 +603,13 @@ static __always_inline u32 __bpf_prog_run(const struct bpf_prog *prog, unsigned long flags; ret = dfunc(ctx, prog->insnsi, prog->bpf_func); - stats = this_cpu_ptr(prog->stats); - flags = u64_stats_update_begin_irqsave(&stats->syncp); - u64_stats_inc(&stats->cnt); - u64_stats_add(&stats->nsecs, sched_clock() - start); - u64_stats_update_end_irqrestore(&stats->syncp, flags); + if (likely(prog->stats)) { + stats = this_cpu_ptr(prog->stats); + flags = u64_stats_update_begin_irqsave(&stats->syncp); + u64_stats_inc(&stats->cnt); + u64_stats_add(&stats->nsecs, sched_clock() - start); + u64_stats_update_end_irqrestore(&stats->syncp, flags); + } } else { ret = dfunc(ctx, prog->insnsi, prog->bpf_func); } diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 091234d93d2b..2c8a655db26a 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -2226,6 +2226,9 @@ void notrace bpf_prog_inc_misses_counter(struct bpf_prog *prog) struct bpf_prog_stats *stats; unsigned int flags; + if (unlikely(!prog->stats)) + return; + stats = this_cpu_ptr(prog->stats); flags = u64_stats_update_begin_irqsave(&stats->syncp); u64_stats_inc(&stats->misses); -- 2.34.1
2 1
0 0
[PATCH] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 24 Dec '25

24 Dec '25
From: Daniel Wagner <wagi(a)kernel.org> stable inclusion from stable-v6.6.117 commit 601ed47b2363c24d948d7bac0c23abc8bd459570 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11412 CVE: CVE-2025-40343 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- [ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ] When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted. Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com> Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh… Reviewed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Daniel Wagner <wagi(a)kernel.org> Signed-off-by: Keith Busch <kbusch(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com> --- drivers/nvme/target/fc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index a15e764bae35..188b9f1bdaca 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work) static void nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc) { + int terminating; + + terminating = atomic_xchg(&assoc->terminating, 1); + + /* if already terminating, do nothing */ + if (terminating) + return; + nvmet_fc_tgtport_get(assoc->tgtport); if (!queue_work(nvmet_wq, &assoc->del_work)) nvmet_fc_tgtport_put(assoc->tgtport); @@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc) { struct nvmet_fc_tgtport *tgtport = assoc->tgtport; unsigned long flags; - int i, terminating; - - terminating = atomic_xchg(&assoc->terminating, 1); - - /* if already terminating, do nothing */ - if (terminating) - return; + int i; spin_lock_irqsave(&tgtport->lock, flags); list_del_rcu(&assoc->a_list); -- 2.34.1
1 0
0 0
[openeuler:OLK-6.6 3544/3544] drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c:411:30: sparse: sparse: invalid bitfield specifier for type restricted __le32.
by kernel test robot 24 Dec '25

24 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: d0888acfac5d4aca4538e40f027e80d9230c5002 [3544/3544] drivers: update Yunsilicon drivers to version rel_2412_std_card config: x86_64-randconfig-r121-20251215 (https://download.01.org/0day-ci/archive/20251224/202512240606.03jP75lH-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251224/202512240606.03jP75lH-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512240606.03jP75lH-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1277:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1278:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1279:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1280:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1282:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1283:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1284:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1285:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1286:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1287:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1288:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1299:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1300:30: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1301:32: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1302:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1303:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1304:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1305:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1357:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1358:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1359:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1360:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1361:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1362:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1363:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1364:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1365:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1366:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1367:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1368:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1369:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1370:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1371:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1372:30: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1373:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1378:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1379:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1380:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:195:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:205:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:210:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c:411:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c:421:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c:426:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. -- drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_next_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1277:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1278:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1279:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1280:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1282:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1283:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1284:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1285:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1286:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1287:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1288:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1299:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1300:30: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1301:32: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1302:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1303:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1304:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1305:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1357:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1358:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1359:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1360:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1361:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1362:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1363:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1364:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1365:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1366:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1367:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1368:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1369:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1370:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1371:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1372:30: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1373:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1378:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1379:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1380:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_next_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:195:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:205:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:210:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_next_impl.c:405:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_next_impl.c:415:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_next_impl.c:420:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. -- drivers/net/ethernet/yunsilicon/xsc/pci/hal/andes_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1277:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1278:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1279:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1280:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1282:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1283:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1284:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1285:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1286:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1287:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1288:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1299:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1300:30: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1301:32: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1302:33: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1303:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1304:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1305:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1357:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1358:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1359:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1360:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1361:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1362:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1363:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1364:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1365:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1366:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1367:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1368:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1369:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1370:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1371:33: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1372:30: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1373:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1378:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1379:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1380:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/hal/andes_impl.c: note: in included file: drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:195:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:205:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:210:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/andes_impl.c:508:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/andes_impl.c:518:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/pci/hal/andes_impl.c:521:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. vim +411 drivers/net/ethernet/yunsilicon/xsc/pci/hal/diamond_impl.c 408 409 struct diamond_cqe { 410 u8 error_code; > 411 __le32 qp_id:15; 412 u8 raw_is_cut:1; 413 u8 se:1; 414 u8 has_pph:1; 415 u8 type:1; 416 u8 with_immdt:1; 417 u8 csum_err:4; 418 __le32 imm_data; 419 __le32 msg_len; 420 __le32 vni; > 421 __le64 ts:48; 422 __le16 wqe_id; 423 u8 msg_opcode; 424 u8 rsv; 425 __le16 rsv1[2]; > 426 __le16 rsv2:15; 427 u8 owner:1; 428 }; 429 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3544/3544] drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32.
by kernel test robot 24 Dec '25

24 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: 601fb01dc16f747534b866610743d95830b6655e [3544/3544] drivers: support for xsc drivers from Yunsilicon Technology config: x86_64-randconfig-r121-20251215 (https://download.01.org/0day-ci/archive/20251224/202512240507.scMsfP6J-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251224/202512240507.scMsfP6J-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512240507.scMsfP6J-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/yunsilicon/xsc/pci/intf.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/intf.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_mem.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_mem.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/port.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/port.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/cq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/cq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/mr.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/mr.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_res.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/pci/fw/osdep.h, ...): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_res.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, ...): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/wq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/wq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/wq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/pci/wq.h): >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:25:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:26:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:27:32: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:28:36: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:29:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:36:53: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:42:52: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:43:50: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:46:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:47:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:48:15: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:53:40: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:55:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:56:48: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:61:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:62:44: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/eq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/eq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/eq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/pci/wq.h): >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:25:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:26:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:27:32: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:28:36: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:29:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:36:53: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:42:52: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:43:50: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:46:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:47:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:48:15: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:53:40: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:55:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:56:48: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:61:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:62:44: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/devlink.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/devlink.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw/osdep.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/fw/osdep.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/pd.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/pd.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/mad.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/mad.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/alloc.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/alloc.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw/cmd.c: note: in included file: >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/fw/cmd.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. -- drivers/net/ethernet/yunsilicon/xsc/pci/qpts.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/qpts.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/sriov.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/sriov.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/pci_irq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/pci_irq.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/qp.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/qp.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/qp.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h, ...): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/qp.c: note: in included file: >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:25:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:26:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:27:32: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:28:36: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:29:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:36:53: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:42:52: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:43:50: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:46:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:47:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:48:15: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:53:40: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:55:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:56:48: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:61:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:62:44: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/eswitch.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/vport.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/eswitch.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, ...): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/res_obj.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/res_obj.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/res_obj.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, ...): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/fw.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_flow.c: note: in included file: >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/fw/xsc_flow.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. -- drivers/net/ethernet/yunsilicon/xsc/pci/main.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/main.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/main.c: note: in included file: >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:25:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:26:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:27:32: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:28:36: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:29:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:36:53: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:42:52: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:43:50: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:46:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:47:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:48:15: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:53:40: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:55:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:56:48: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:61:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:62:44: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/debugfs.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/debugfs.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/pci/debugfs.c: note: in included file: >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:25:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:26:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:27:32: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:28:36: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:29:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/qp.h:36:53: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:42:52: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:43:50: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:46:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:47:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:48:15: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:53:40: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:55:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:56:48: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:61:31: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/qp.h:62:44: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/sriov_sysfs.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/sriov_sysfs.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/vport.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/vport.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/xsc_port_ctrl.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/xsc_port_ctrl.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/xsc_pci_ctrl.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/xsc_pci_ctrl.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/xsc_lag.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/xsc_lag.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h, drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. -- drivers/net/ethernet/yunsilicon/xsc/pci/cmd2.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h, drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:913:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:914:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:915:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:916:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:918:41: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:919:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:920:48: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:921:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:922:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:923:51: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:924:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:935:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:936:35: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:937:36: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:938:37: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:939:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:940:42: sparse: sparse: invalid bitfield specifier for type restricted __be16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:988:36: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:989:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:990:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:991:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:992:34: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:993:35: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:994:28: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:995:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:996:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:997:42: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:998:40: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:999:39: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1000:32: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1001:29: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1006:44: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1007:45: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h:1008:37: sparse: sparse: invalid bitfield specifier for type restricted __be32. drivers/net/ethernet/yunsilicon/xsc/pci/cmd2.c: note: in included file (through drivers/net/ethernet/yunsilicon/xsc/common/driver.h): >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:208:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:218:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. >> drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:221:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:233:30: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:243:27: sparse: sparse: invalid bitfield specifier for type restricted __le64. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:246:29: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:264:24: sparse: sparse: invalid bitfield specifier for type restricted __le16. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:359:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:360:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:361:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:364:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:365:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:366:23: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:369:35: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:370:27: sparse: sparse: invalid bitfield specifier for type restricted __le32. drivers/net/ethernet/yunsilicon/xsc/common/xsc_hsi.h:371:33: sparse: sparse: invalid bitfield specifier for type restricted __le32. vim +913 drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h 910 911 /* vport mbox */ 912 struct xsc_nic_vport_context { > 913 __be32 min_wqe_inline_mode:3; 914 __be32 disable_mc_local_lb:1; > 915 __be32 disable_uc_local_lb:1; 916 __be32 roce_en:1; 917 918 __be32 arm_change_event:1; 919 __be32 event_on_mtu:1; 920 __be32 event_on_promisc_change:1; 921 __be32 event_on_vlan_change:1; 922 __be32 event_on_mc_address_change:1; 923 __be32 event_on_uc_address_change:1; 924 __be32 affiliation_criteria:4; 925 __be32 affiliated_vhca_id; 926 927 __be16 mtu; 928 929 __be64 system_image_guid; 930 __be64 port_guid; 931 __be64 node_guid; 932 933 __be32 qkey_violation_counter; 934 > 935 __be16 promisc_uc:1; 936 __be16 promisc_mc:1; 937 __be16 promisc_all:1; 938 __be16 vlan_allowed:1; 939 __be16 allowed_list_type:3; 940 __be16 allowed_list_size:10; 941 942 u8 permanent_address[6]; 943 u8 current_address[6]; 944 u8 current_uc_mac_address[0][2]; 945 }; 946 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/bluetooth/.tmp_btmtkuart.o: warning: objtool: missing symbol for section .init.text
by kernel test robot 24 Dec '25

24 Dec '25
Hi Sean, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 4e9c55920995d70b3e88b60c69753df54b03fdf4 commit: 7237c4c9ec92e1a4f6ef1f712bf9105d7b392c6a [1942/1942] Bluetooth: mediatek: Add protocol support for MediaTek serial devices config: x86_64-buildonly-randconfig-004-20251213 (https://download.01.org/0day-ci/archive/20251224/202512240426.paSRxhEJ-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251224/202512240426.paSRxhEJ-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512240426.paSRxhEJ-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/bluetooth/.tmp_btmtkuart.o: warning: objtool: missing symbol for section .init.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3544/3544] drivers/cpuinspect/sysfs.c:98:9: sparse: sparse: symbol 'cpu_utility_show' was not declared. Should it be static?
by kernel test robot 24 Dec '25

24 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: d91c6db8ca896824da23aab69dde9ce289222299 [3544/3544] cpuinspect: add CPU-inspect infrastructure config: x86_64-randconfig-r121-20251215 (https://download.01.org/0day-ci/archive/20251224/202512240309.Ohc8FBKV-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251224/202512240309.Ohc8FBKV-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512240309.Ohc8FBKV-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/cpuinspect/sysfs.c:92:9: sparse: sparse: symbol 'patrol_complete_show' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:98:9: sparse: sparse: symbol 'cpu_utility_show' was not declared. Should it be static? drivers/cpuinspect/sysfs.c:104:9: sparse: sparse: symbol 'cpu_utility_store' was not declared. Should it be static? drivers/cpuinspect/sysfs.c:117:9: sparse: sparse: symbol 'patrol_times_show' was not declared. Should it be static? drivers/cpuinspect/sysfs.c:123:9: sparse: sparse: symbol 'patrol_times_store' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:139:9: sparse: sparse: symbol 'start_patrol_store' was not declared. Should it be static? vim +/cpu_utility_show +98 drivers/cpuinspect/sysfs.c 91 > 92 ssize_t patrol_complete_show(struct device *dev, struct device_attribute *attr, 93 char *buf) 94 { 95 return sprintf(buf, "%d\n", !ci_core.inspect_on); 96 } 97 > 98 ssize_t cpu_utility_show(struct device *dev, struct device_attribute *attr, 99 char *buf) 100 { 101 return sprintf(buf, "%u\n", ci_core.cpu_utility); 102 } 103 104 ssize_t cpu_utility_store(struct device *dev, struct device_attribute *attr, 105 const char *buf, size_t size) 106 { 107 unsigned int cpu_util; 108 109 if (kstrtouint(buf, 10, &cpu_util) || cpu_util < 1 || cpu_util > 100) 110 return -EINVAL; 111 112 ci_core.cpu_utility = cpu_util; 113 114 return size; 115 } 116 117 ssize_t patrol_times_show(struct device *dev, struct device_attribute *attr, 118 char *buf) 119 { 120 return sprintf(buf, "%lu\n", ci_core.inspect_times); 121 } 122 123 ssize_t patrol_times_store(struct device *dev, struct device_attribute *attr, 124 const char *buf, size_t size) 125 { 126 /* 127 * It is not allowed to modify patrol times during the CPU 128 * inspection operation. 129 */ 130 if (ci_core.inspect_on) 131 return -EBUSY; 132 133 if (kstrtoul(buf, 10, &ci_core.inspect_times)) 134 return -EINVAL; 135 136 return size; 137 } 138 > 139 ssize_t start_patrol_store(struct device *dev, struct device_attribute *attr, 140 const char *buf, size_t size) 141 { 142 bool start_patrol = false; 143 144 if (strtobool(buf, &start_patrol) < 0) 145 return -EINVAL; 146 147 if (!mutex_trylock(&cpuinspect_lock)) 148 return -EBUSY; 149 150 /* 151 * It is not allowed to start the inspection again during the 152 * inspection process. 153 */ 154 if (start_patrol && (int) start_patrol == ci_core.inspect_on) { 155 mutex_unlock(&cpuinspect_lock); 156 return -EBUSY; 157 } 158 159 if (start_patrol == 0) 160 stop_inspect_threads(); 161 else if (curr_cpu_inspector) 162 start_inspect_threads(); 163 164 mutex_unlock(&cpuinspect_lock); 165 return size; 166 } 167 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3544/3544] drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot 24 Dec '25

24 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: 8248d42b7c5f4338a54f26d8efebec8614b43466 [3544/3544] fbdev: add ls2k500sfb driver for ls2k500 bmc. config: x86_64-randconfig-r121-20251215 (https://download.01.org/0day-ci/archive/20251224/202512240049.8n7uFL15-lkp@…) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251224/202512240049.8n7uFL15-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512240049.8n7uFL15-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static p @@ got void [noderef] __iomem * @@ drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: expected void *static p drivers/video/fbdev/ls2k500sfb.c:143:27: sparse: got void [noderef] __iomem * >> drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void *static p @@ drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: expected void const volatile [noderef] __iomem *addr drivers/video/fbdev/ls2k500sfb.c:145:30: sparse: got void *static p >> drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *static p @@ drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: expected void volatile [noderef] __iomem *addr drivers/video/fbdev/ls2k500sfb.c:199:36: sparse: got void *static p >> drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: expected void const volatile [noderef] __iomem *addr drivers/video/fbdev/ls2k500sfb.c:201:37: sparse: got void * >> drivers/video/fbdev/ls2k500sfb.c:254:13: sparse: sparse: symbol 'ls2k500sfb_interrupt' was not declared. Should it be static? >> drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got char *preg @@ drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: expected void const volatile [noderef] __iomem *addr drivers/video/fbdev/ls2k500sfb.c:456:28: sparse: got char *preg >> drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got char *preg @@ drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: expected void volatile [noderef] __iomem *addr drivers/video/fbdev/ls2k500sfb.c:457:32: sparse: got char *preg >> drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@ drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: expected char *penv drivers/video/fbdev/ls2k500sfb.c:569:19: sparse: got void [noderef] __iomem * >> drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *preg @@ got void [noderef] __iomem * @@ drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: expected char *preg drivers/video/fbdev/ls2k500sfb.c:570:19: sparse: got void [noderef] __iomem * drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *penv @@ got void [noderef] __iomem * @@ drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: expected char *penv drivers/video/fbdev/ls2k500sfb.c:671:14: sparse: got void [noderef] __iomem * vim +143 drivers/video/fbdev/ls2k500sfb.c 113 114 static void ls2k500sfb_events_fn(struct work_struct *work) 115 { 116 struct ls2k500sfb_struct *priv = container_of(work, struct ls2k500sfb_struct, work); 117 struct pci_dev *pdev = priv->dev; 118 struct pci_dev *ppdev = pdev->bus->self; 119 uint32_t i, d, timeout, retry = 0; 120 static const uint32_t index[] = { 121 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x30, 0x3c, 0x54, 0x58, 0x78, 0x7c, 0x80, 4 122 }; 123 124 static uint32_t data[sizeof(index) / 4]; 125 static const uint32_t cindex[] = { 0x10, 0x3c, 4 }; 126 127 static uint32_t cdata[sizeof(cindex) / 4]; 128 static uint32_t d80c, d71c, ctrl; 129 static void *p; 130 131 if (!priv->running) { 132 for (i = 0; i < ARRAY_SIZE(index); i++) 133 pci_read_config_dword(ppdev, index[i], &data[i]); 134 for (i = 0; i < ARRAY_SIZE(cindex); i++) 135 pci_read_config_dword(pdev, cindex[i], &cdata[i]); 136 if (ppdev->vendor == 0x14) { 137 pci_read_config_dword(ppdev, 0x80c, &d80c); 138 d80c = (d80c & ~(3 << 17)) | (1 << 17); 139 140 pci_read_config_dword(ppdev, 0x71c, &d71c); 141 d71c |= 1 << 26; 142 > 143 p = pci_iomap(ppdev, 0, 0x100); 144 } > 145 ctrl = readl(p); 146 return; 147 } 148 local_bh_disable(); 149 pciebreak_smp_send_stop(100); 150 wmb(); /* flush all write before we disable pcie window */ 151 pci_write_config_dword(ppdev, 0x18, 0); 152 pci_write_config_dword(ppdev, 0x1c, 0); 153 pci_write_config_dword(ppdev, 0x20, 0); 154 atomic_set(&waiting_for_pciebreak_ipi, 0); 155 wmb(); /* flush all write after change pcie window */ 156 local_bh_enable(); 157 if (ppdev->vendor == 0x14) { 158 timeout = 10000; 159 while (timeout) { 160 pci_read_config_dword(ppdev, 0x10, &d); 161 d &= ~0xf; 162 if (!d) 163 break; 164 mdelay(1); 165 timeout--; 166 }; 167 if (!timeout) 168 pr_info("bar not clear 0\n"); 169 170 pci_read_config_dword(ppdev, 0x0, &d); 171 pr_info("pcie port deviceid=0x%x recover begin\n", d); 172 retrain: 173 while (1) { 174 pci_write_config_dword(ppdev, index[0], data[0]); 175 pci_read_config_dword(ppdev, index[0], &d); 176 d &= ~0xf; 177 if (d) 178 break; 179 mdelay(1); 180 } 181 182 while (1) { 183 for (i = 0; i < ARRAY_SIZE(index); i++) { 184 if (index[i] != 0x18 && index[i] != 0x1c && index[i] != 0x20) 185 pci_write_config_dword(ppdev, index[i], data[i]); 186 } 187 pci_write_config_dword(ppdev, 0x80c, d80c); 188 pci_write_config_dword(ppdev, 0x71c, d71c); 189 190 pci_read_config_dword(ppdev, 0x10, &d); 191 d &= ~0xf; 192 if (d) 193 break; 194 mdelay(1); 195 } 196 197 timeout = 10000; 198 > 199 writel(ctrl | 0x8, p); 200 while (1) { > 201 d = readl(p + 0xc); 202 if ((d & 0x11) == 0x11) { 203 break; 204 } else if (!timeout) { 205 pr_info("pcie train failed status=0x%x\n", d); 206 goto out; 207 } 208 mdelay(1); 209 timeout--; 210 } 211 212 213 pr_info("pcie recovered done\n"); 214 215 if (!retry) { 216 /*wait u-boot ddr config */ 217 set_current_state(TASK_UNINTERRUPTIBLE); 218 schedule_timeout(HZ*resetbootwait); 219 set_current_state(TASK_RUNNING); 220 pci_read_config_dword(ppdev, 0x10, &d); 221 d &= ~0xf; 222 if (!d) { 223 retry = 1; 224 goto retrain; 225 } 226 } 227 } else { 228 set_current_state(TASK_UNINTERRUPTIBLE); 229 schedule_timeout(HZ*resetbootwait); 230 set_current_state(TASK_RUNNING); 231 } 232 local_bh_disable(); 233 pciebreak_smp_send_stop(10000); 234 wmb(); /* flush all write before we update pcie window */ 235 for (i = 0; i < ARRAY_SIZE(index); i++) 236 pci_write_config_dword(ppdev, index[i], data[i]); 237 238 for (i = 0; i < ARRAY_SIZE(cindex); i++) 239 pci_write_config_dword(pdev, cindex[i], cdata[i]); 240 atomic_set(&waiting_for_pciebreak_ipi, 0); 241 wmb(); /* flush all write after we update pcie window */ 242 local_bh_enable(); 243 244 245 pr_info("redraw console\n"); 246 247 saved_console = fg_console; 248 switch_console(fg_console > 0?fg_console - 1 : fg_console + 1); 249 queue_delayed_work(priv->wq, &priv->redraw_work, HZ); 250 out: 251 priv->running = 0; 252 } 253 > 254 irqreturn_t ls2k500sfb_interrupt(int irq, void *arg) 255 { 256 struct ls2k500sfb_struct *priv = arg; 257 struct pci_dev *pdev = priv->dev; 258 259 if (irq == pdev->irq) 260 pr_info("ls2k500sfb pcie interrupt\n"); 261 else 262 pr_info("ls2k500sfb gpio interrupt\n"); 263 if (system_state != SYSTEM_RUNNING) 264 return IRQ_HANDLED; 265 266 if (!priv->running) { 267 if (!resetdelay || time_after(jiffies, priv->reset_time + resetdelay * HZ)) { 268 priv->running = 1; 269 queue_work(priv->wq, &priv->work); 270 } 271 priv->reset_time = jiffies; 272 } 273 return IRQ_HANDLED; 274 } 275 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2/2] drivers/crypto/ccp/hygon/hct.c:2175:30: sparse: sparse: symbol 'hct_noiommu_fops' was not declared. Should it be static?
by kernel test robot 23 Dec '25

23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: 6e2db6d2859f5c41ff51b696235dc3971f4bcd22 [2/2] hct: supporting memory encryption in host and wb set in vm config: x86_64-randconfig-123-20251223 (https://download.01.org/0day-ci/archive/20251223/202512232326.ySrpmNr0-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512232326.ySrpmNr0-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512232326.ySrpmNr0-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/crypto/ccp/hygon/hct.c:246:18: sparse: sparse: symbol 'hct_mdev_type' was not declared. Should it be static? drivers/crypto/ccp/hygon/hct.c:250:18: sparse: sparse: symbol 'hct_mdev_types' was not declared. Should it be static? drivers/crypto/ccp/hygon/hct.c:472:23: sparse: sparse: cast to restricted __le32 drivers/crypto/ccp/hygon/hct.c:1217:20: sparse: sparse: symbol 'hct_mdev_driver' was not declared. Should it be static? drivers/crypto/ccp/hygon/hct.c:1346:13: sparse: sparse: symbol 'hct_pin_memory' was not declared. Should it be static? drivers/crypto/ccp/hygon/hct.c:2080:6: sparse: sparse: symbol 'hct_noiommu_set_memory_wb' was not declared. Should it be static? >> drivers/crypto/ccp/hygon/hct.c:2175:30: sparse: sparse: symbol 'hct_noiommu_fops' was not declared. Should it be static? >> drivers/crypto/ccp/hygon/hct.c:2180:19: sparse: sparse: symbol 'hct_noiommu_misc' was not declared. Should it be static? vim +/hct_noiommu_fops +2175 drivers/crypto/ccp/hygon/hct.c 2174 > 2175 const struct file_operations hct_noiommu_fops = { 2176 .owner = THIS_MODULE, 2177 .unlocked_ioctl = hct_noiommu_ioctl, 2178 }; 2179 > 2180 struct miscdevice hct_noiommu_misc = { 2181 .minor = MISC_DYNAMIC_MINOR, 2182 .name = "hct_noiommu", 2183 .fops = &hct_noiommu_fops, 2184 }; 2185 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2/2] drivers/crypto/ccp/hygon/hct.c:233:18: sparse: sparse: symbol 'hct_mdev_type' was not declared. Should it be static?
by kernel test robot 23 Dec '25

23 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: c098fa18c07cc52100a52db8fd0c2900461888c9 commit: c74ae2c5da57becf3f41c596d79b3dd30fa1baa6 [2/2] hct: add mediated ccp driver support for hygon crypto technology. config: x86_64-randconfig-123-20251223 (https://download.01.org/0day-ci/archive/20251223/202512232143.LPloCdRW-lkp@…) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512232143.LPloCdRW-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512232143.LPloCdRW-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/crypto/ccp/hygon/hct.c:233:18: sparse: sparse: symbol 'hct_mdev_type' was not declared. Should it be static? >> drivers/crypto/ccp/hygon/hct.c:237:18: sparse: sparse: symbol 'hct_mdev_types' was not declared. Should it be static? >> drivers/crypto/ccp/hygon/hct.c:459:23: sparse: sparse: cast to restricted __le32 >> drivers/crypto/ccp/hygon/hct.c:1204:20: sparse: sparse: symbol 'hct_mdev_driver' was not declared. Should it be static? >> drivers/crypto/ccp/hygon/hct.c:1333:13: sparse: sparse: symbol 'hct_pin_memory' was not declared. Should it be static? vim +/hct_mdev_type +233 drivers/crypto/ccp/hygon/hct.c 232 > 233 struct mdev_type hct_mdev_type = { 234 .sysfs_name = "1", 235 .pretty_name = "hct mdev type" 236 }; > 237 struct mdev_type *hct_mdev_types[] = { 238 &hct_mdev_type 239 }; 240 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6] ftrace: Fix softlockup in ftrace_module_enable
by Tengda Wu 23 Dec '25

23 Dec '25
From: Vladimir Riabchun <ferr.lambarginio(a)gmail.com> stable inclusion from stable-v6.6.119 commit e81e6d6d99b16dae11adbeda5c996317942a940c category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11609 CVE: CVE-2025-68173 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit 4099b98203d6b33d990586542fa5beee408032a3 ] A soft lockup was observed when loading amdgpu module. If a module has a lot of tracable functions, multiple calls to kallsyms_lookup can spend too much time in RCU critical section and with disabled preemption, causing kernel panic. This is the same issue that was fixed in commit d0b24b4e91fc ("ftrace: Prevent RCU stall on PREEMPT_VOLUNTARY kernels") and commit 42ea22e754ba ("ftrace: Add cond_resched() to ftrace_graph_set_hash()"). Fix it the same way by adding cond_resched() in ftrace_module_enable. Link: https://lore.kernel.org/aMQD9_lxYmphT-up@vova-pc Signed-off-by: Vladimir Riabchun <ferr.lambarginio(a)gmail.com> Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Tengda Wu <wutengda2(a)huawei.com> --- kernel/trace/ftrace.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 15785a729a0c..398992597685 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -6873,6 +6873,8 @@ void ftrace_module_enable(struct module *mod) if (!within_module(rec->ip, mod)) break; + cond_resched(); + /* Weak functions should still be ignored */ if (!test_for_valid_rec(rec)) { /* Clear all other flags. Should not be enabled anyway */ -- 2.34.1
2 1
0 0
[PATCH] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 23 Dec '25

23 Dec '25
From: Daniel Wagner <wagi(a)kernel.org> stable inclusion from stable-v6.6.117 commit 601ed47b2363c24d948d7bac0c23abc8bd459570 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11412 CVE: CVE-2025-40343 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- [ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ] When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted. Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com> Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh… Reviewed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Daniel Wagner <wagi(a)kernel.org> Signed-off-by: Keith Busch <kbusch(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com> --- drivers/nvme/target/fc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index a15e764bae35..188b9f1bdaca 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work) static void nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc) { + int terminating; + + terminating = atomic_xchg(&assoc->terminating, 1); + + /* if already terminating, do nothing */ + if (terminating) + return; + nvmet_fc_tgtport_get(assoc->tgtport); if (!queue_work(nvmet_wq, &assoc->del_work)) nvmet_fc_tgtport_put(assoc->tgtport); @@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc) { struct nvmet_fc_tgtport *tgtport = assoc->tgtport; unsigned long flags; - int i, terminating; - - terminating = atomic_xchg(&assoc->terminating, 1); - - /* if already terminating, do nothing */ - if (terminating) - return; + int i; spin_lock_irqsave(&tgtport->lock, flags); list_del_rcu(&assoc->a_list); -- 2.34.1
1 0
0 0
[PATCH OLK-6.6 v2] bpf: account for current allocated stack depth in widen_imprecise_scalars()
by Pu Lehui 23 Dec '25

23 Dec '25
From: Eduard Zingerman <eddyz87(a)gmail.com> stable inclusion from stable-v6.6.117 commit 64b12dca2b0abcb5fc0542887d18b926ea5cf711 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11581 CVE: CVE-2025-68208 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit b0c8e6d3d866b6a7f73877f71968dbffd27b7785 ] The usage pattern for widen_imprecise_scalars() looks as follows: prev_st = find_prev_entry(env, ...); queued_st = push_stack(...); widen_imprecise_scalars(env, prev_st, queued_st); Where prev_st is an ancestor of the queued_st in the explored states tree. This ancestor is not guaranteed to have same allocated stack depth as queued_st. E.g. in the following case: def main(): for i in 1..2: foo(i) // same callsite, differnt param def foo(i): if i == 1: use 128 bytes of stack iterator based loop Here, for a second 'foo' call prev_st->allocated_stack is 128, while queued_st->allocated_stack is much smaller. widen_imprecise_scalars() needs to take this into account and avoid accessing bpf_verifier_state->frame[*]->stack out of bounds. Fixes: 2793a8b015f7 ("bpf: exact states comparison for iterator convergence checks") Reported-by: Emil Tsalapatis <emil(a)etsalapatis.com> Signed-off-by: Eduard Zingerman <eddyz87(a)gmail.com> Link: https://lore.kernel.org/r/20251114025730.772723-1-eddyz87@gmail.com Signed-off-by: Alexei Starovoitov <ast(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Pu Lehui <pulehui(a)huawei.com> --- kernel/bpf/verifier.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 26086c893dfb..ce1f5a9bdd9a 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -7918,7 +7918,7 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env, struct bpf_verifier_state *cur) { struct bpf_func_state *fold, *fcur; - int i, fr; + int i, fr, num_slots; reset_idmap_scratch(env); for (fr = old->curframe; fr >= 0; fr--) { @@ -7931,7 +7931,9 @@ static int widen_imprecise_scalars(struct bpf_verifier_env *env, &fcur->regs[i], &env->idmap_scratch); - for (i = 0; i < fold->allocated_stack / BPF_REG_SIZE; i++) { + num_slots = min(fold->allocated_stack / BPF_REG_SIZE, + fcur->allocated_stack / BPF_REG_SIZE); + for (i = 0; i < num_slots; i++) { if (!is_spilled_reg(&fold->stack[i]) || !is_spilled_reg(&fcur->stack[i])) continue; -- 2.34.1
2 1
0 0
[PATCH OLK-6.6 v2] bpf: Add bpf_prog_run_data_pointers()
by Pu Lehui 23 Dec '25

23 Dec '25
From: Eric Dumazet <edumazet(a)google.com> stable inclusion from stable-v6.6.117 commit baa61dcaa50b7141048c8d2aede7fe9ed8f21d11 category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/11594 CVE: CVE-2025-68200 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- [ Upstream commit 4ef92743625818932b9c320152b58274c05e5053 ] syzbot found that cls_bpf_classify() is able to change tc_skb_cb(skb)->drop_reason triggering a warning in sk_skb_reason_drop(). WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 __sk_skb_reason_drop net/core/skbuff.c:1189 [inline] WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 sk_skb_reason_drop+0x76/0x170 net/core/skbuff.c:1214 struct tc_skb_cb has been added in commit ec624fe740b4 ("net/sched: Extend qdisc control block with tc control block"), which added a wrong interaction with db58ba459202 ("bpf: wire in data and data_end for cls_act_bpf"). drop_reason was added later. Add bpf_prog_run_data_pointers() helper to save/restore the net_sched storage colliding with BPF data_meta/data_end. Fixes: ec624fe740b4 ("net/sched: Extend qdisc control block with tc control block") Reported-by: syzbot <syzkaller(a)googlegroups.com> Closes: https://lore.kernel.org/netdev/6913437c.a70a0220.22f260.013b.GAE@google.com/ Signed-off-by: Eric Dumazet <edumazet(a)google.com> Signed-off-by: Martin KaFai Lau <martin.lau(a)kernel.org> Reviewed-by: Victor Nogueira <victor(a)mojatatu.com> Acked-by: Jamal Hadi Salim <jhs(a)mojatatu.com> Link: https://patch.msgid.link/20251112125516.1563021-1-edumazet@google.com Signed-off-by: Sasha Levin <sashal(a)kernel.org> Conflicts: net/sched/act_bpf.c net/sched/cls_bpf.c [ctx conflicts] Signed-off-by: Pu Lehui <pulehui(a)huawei.com> --- include/linux/filter.h | 20 ++++++++++++++++++++ net/sched/act_bpf.c | 6 ++---- net/sched/cls_bpf.c | 6 ++---- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/include/linux/filter.h b/include/linux/filter.h index a7c0caa8b7ad..4ae423d8533f 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -685,6 +685,26 @@ static inline void bpf_compute_data_pointers(struct sk_buff *skb) cb->data_end = skb->data + skb_headlen(skb); } +static inline int bpf_prog_run_data_pointers( + const struct bpf_prog *prog, + struct sk_buff *skb) +{ + struct bpf_skb_data_end *cb = (struct bpf_skb_data_end *)skb->cb; + void *save_data_meta, *save_data_end; + int res; + + save_data_meta = cb->data_meta; + save_data_end = cb->data_end; + + bpf_compute_data_pointers(skb); + res = bpf_prog_run(prog, skb); + + cb->data_meta = save_data_meta; + cb->data_end = save_data_end; + + return res; +} + /* Similar to bpf_compute_data_pointers(), except that save orginal * data in cb->data and cb->meta_data for restore. */ diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c index b0455fda7d0b..223cc157312a 100644 --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c @@ -47,12 +47,10 @@ TC_INDIRECT_SCOPE int tcf_bpf_act(struct sk_buff *skb, filter = rcu_dereference(prog->filter); if (at_ingress) { __skb_push(skb, skb->mac_len); - bpf_compute_data_pointers(skb); - filter_res = bpf_prog_run(filter, skb); + filter_res = bpf_prog_run_data_pointers(filter, skb); __skb_pull(skb, skb->mac_len); } else { - bpf_compute_data_pointers(skb); - filter_res = bpf_prog_run(filter, skb); + filter_res = bpf_prog_run_data_pointers(filter, skb); } if (unlikely(!skb->tstamp && skb->mono_delivery_time)) skb->mono_delivery_time = 0; diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c index 382c7a71f81f..05f718dd09a6 100644 --- a/net/sched/cls_bpf.c +++ b/net/sched/cls_bpf.c @@ -97,12 +97,10 @@ TC_INDIRECT_SCOPE int cls_bpf_classify(struct sk_buff *skb, } else if (at_ingress) { /* It is safe to push/pull even if skb_shared() */ __skb_push(skb, skb->mac_len); - bpf_compute_data_pointers(skb); - filter_res = bpf_prog_run(prog->filter, skb); + filter_res = bpf_prog_run_data_pointers(prog->filter, skb); __skb_pull(skb, skb->mac_len); } else { - bpf_compute_data_pointers(skb); - filter_res = bpf_prog_run(prog->filter, skb); + filter_res = bpf_prog_run_data_pointers(prog->filter, skb); } if (unlikely(!skb->tstamp && skb->mono_delivery_time)) skb->mono_delivery_time = 0; -- 2.34.1
2 1
0 0
[PATCH OLK-6.6] [Backport] nvmet-fc: avoid scheduling association deletion twice
by Chen Jinghuang 23 Dec '25

23 Dec '25
From: Daniel Wagner <wagi(a)kernel.org> stable inclusion from stable-v6.6.117 commit 601ed47b2363c24d948d7bac0c23abc8bd459570 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDBQL1 CVE: CVE-2025-40343 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… ---------------------------------------------------------------------- [ Upstream commit f2537be4f8421f6495edfa0bc284d722f253841d ] When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted. Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki(a)wdc.com> Closes: https://lore.kernel.org/all/rsdinhafrtlguauhesmrrzkybpnvwantwmyfq2ih5areggh… Reviewed-by: Hannes Reinecke <hare(a)suse.de> Signed-off-by: Daniel Wagner <wagi(a)kernel.org> Signed-off-by: Keith Busch <kbusch(a)kernel.org> Signed-off-by: Sasha Levin <sashal(a)kernel.org> Signed-off-by: Chen Jinghuang <chenjinghuang2(a)huawei.com> --- drivers/nvme/target/fc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index a15e764bae35..188b9f1bdaca 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1090,6 +1090,14 @@ nvmet_fc_delete_assoc_work(struct work_struct *work) static void nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc) { + int terminating; + + terminating = atomic_xchg(&assoc->terminating, 1); + + /* if already terminating, do nothing */ + if (terminating) + return; + nvmet_fc_tgtport_get(assoc->tgtport); if (!queue_work(nvmet_wq, &assoc->del_work)) nvmet_fc_tgtport_put(assoc->tgtport); @@ -1209,13 +1217,7 @@ nvmet_fc_delete_target_assoc(struct nvmet_fc_tgt_assoc *assoc) { struct nvmet_fc_tgtport *tgtport = assoc->tgtport; unsigned long flags; - int i, terminating; - - terminating = atomic_xchg(&assoc->terminating, 1); - - /* if already terminating, do nothing */ - if (terminating) - return; + int i; spin_lock_irqsave(&tgtport->lock, flags); list_del_rcu(&assoc->a_list); -- 2.34.1
2 1
0 0
[PATCH OLK-5.10] scsi/hiraid: Support New Raid feature
by LinKun 23 Dec '25

23 Dec '25
From: 岳智超 <yuezhichao1(a)h-partners.com> driver inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/8290 CVE: NA -------------------------------- Add thread irq for io queue Signed-off-by: 岳智超 <yuezhichao1(a)h-partners.com> --- drivers/scsi/hisi_raid/hiraid.h | 1 + drivers/scsi/hisi_raid/hiraid_main.c | 60 ++++++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/hisi_raid/hiraid.h b/drivers/scsi/hisi_raid/hiraid.h index 04b2e25..b786066 100644 --- a/drivers/scsi/hisi_raid/hiraid.h +++ b/drivers/scsi/hisi_raid/hiraid.h @@ -686,6 +686,7 @@ struct hiraid_queue { atomic_t inflight; void *sense_buffer_virt; dma_addr_t sense_buffer_phy; + s32 pci_irq; struct dma_pool *prp_small_pool; }; diff --git a/drivers/scsi/hisi_raid/hiraid_main.c b/drivers/scsi/hisi_raid/hiraid_main.c index 2f33339..ee5cb10 100644 --- a/drivers/scsi/hisi_raid/hiraid_main.c +++ b/drivers/scsi/hisi_raid/hiraid_main.c @@ -107,6 +107,13 @@ static u32 log_debug_switch; module_param(log_debug_switch, uint, 0644); MODULE_PARM_DESC(log_debug_switch, "set log state, default zero for switch off"); +static bool threaded_irq = true; +module_param(threaded_irq, bool, 0444); +MODULE_PARM_DESC(threaded_irq, "use threaded irq for io queue, default on"); + +static u32 poll_delay_min = 9; +static u32 poll_delay_max = 19; + static int extra_pool_num_set(const char *val, const struct kernel_param *kp) { u8 n = 0; @@ -152,7 +159,7 @@ static struct workqueue_struct *work_queue; __func__, ##__VA_ARGS__); \ } while (0) -#define HIRAID_DRV_VERSION "1.1.0.1" +#define HIRAID_DRV_VERSION "1.1.0.2" #define ADMIN_TIMEOUT (admin_tmout * HZ) #define USRCMD_TIMEOUT (180 * HZ) @@ -1305,6 +1312,7 @@ static int hiraid_alloc_queue(struct hiraid_dev *hdev, u16 qid, u16 depth) hiraidq->q_depth = depth; hiraidq->qid = qid; hiraidq->cq_vector = -1; + hiraidq->pci_irq = -1; hdev->queue_count++; return 0; @@ -1631,6 +1639,39 @@ static irqreturn_t hiraid_handle_irq(int irq, void *data) return ret; } +static irqreturn_t hiraid_io_poll(int irq, void *data) +{ + struct hiraid_queue *hiraidq = data; + irqreturn_t ret = IRQ_NONE; + u16 start, end; + + do { + spin_lock(&hiraidq->cq_lock); + hiraid_process_cq(hiraidq, &start, &end, -1); + hiraidq->last_cq_head = hiraidq->cq_head; + spin_unlock(&hiraidq->cq_lock); + + if (start != end) { + hiraid_complete_cqes(hiraidq, start, end); + ret = IRQ_HANDLED; + } + usleep_range(poll_delay_min, poll_delay_max); + } while (start != end); + enable_irq(hiraidq->pci_irq); + return ret; +} + +static irqreturn_t hiraid_io_irq(int irq, void *data) +{ + struct hiraid_queue *q = data; + + if (hiraid_cqe_pending(q)) { + disable_irq_nosync(q->pci_irq); + return IRQ_WAKE_THREAD; + } + return IRQ_NONE; +} + static int hiraid_setup_admin_queue(struct hiraid_dev *hdev) { struct hiraid_queue *adminq = &hdev->queues[0]; @@ -1666,9 +1707,11 @@ static int hiraid_setup_admin_queue(struct hiraid_dev *hdev) adminq, "hiraid%d_q%d", hdev->instance, adminq->qid); if (ret) { adminq->cq_vector = -1; + adminq->pci_irq = -1; return ret; } + adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector); hiraid_init_queue(adminq, 0); dev_info(hdev->dev, "setup admin queue success, queuecount[%d] online[%d] pagesize[%d]\n", @@ -1937,14 +1980,23 @@ static int hiraid_create_queue(struct hiraid_queue *hiraidq, u16 qid) goto delete_cq; hiraidq->cq_vector = cq_vector; - ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, NULL, - hiraidq, "hiraid%d_q%d", hdev->instance, qid); + + if (threaded_irq) + ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_io_irq, + hiraid_io_poll, hiraidq, "hiraid%d_q%d", + hdev->instance, qid); + else + ret = pci_request_irq(hdev->pdev, cq_vector, hiraid_handle_irq, + NULL, hiraidq, "hiraid%d_q%d", + hdev->instance, qid); if (ret) { hiraidq->cq_vector = -1; + hiraidq->pci_irq = -1; dev_err(hdev->dev, "request queue[%d] irq failed\n", qid); goto delete_sq; } + hiraidq->pci_irq = pci_irq_vector(hdev->pdev, hiraidq->cq_vector); hiraid_init_queue(hiraidq, qid); return 0; @@ -2094,10 +2146,12 @@ static int hiraid_setup_io_queues(struct hiraid_dev *hdev) adminq, "hiraid%d_q%d", hdev->instance, adminq->qid); if (ret) { dev_err(hdev->dev, "request admin irq failed\n"); + adminq->pci_irq = -1; adminq->cq_vector = -1; return ret; } + adminq->pci_irq = pci_irq_vector(hdev->pdev, adminq->cq_vector); hdev->online_queues++; for (i = hdev->queue_count; i <= hdev->max_qid; i++) { -- 2.45.1.windows.1
2 1
0 0
[PATCH OLK-6.6 0/1] iommu: set the default iommu-dma mode as non-strict
by Qinxin Xia 23 Dec '25

23 Dec '25
driver inclusion category: feature bugzilla: https://atomgit.com/openeuler/kernel/issues/8292 ---------------------------------------------------------------------- The non-strict smmu mode has significant performance gains and can resolve the nvme soft lockup problem. We enable it by default. Currently, many peripherals are faster than before. For example, the top speed of the older netcard is 10Gb/s, and now it's more than 25Gb/s. But when iommu page-table mapping enabled, it's hard to reach the top speed in strict mode, because of frequently map and unmap operations. In order to keep abreast of the times, I think it's better to set non-strict as default. Below it's our iperf performance data of 25Gb netcard: strict mode: 18-20 Gb/s non-strict mode: 23.5 Gb/s Qinxin Xia (1): iommu: set the default iommu-dma mode as non-strict Documentation/admin-guide/kernel-parameters.txt | 2 +- arch/arm64/configs/openeuler_defconfig | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -- 2.33.0
2 2
0 0
  • ← Newer
  • 1
  • ...
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...
  • 458
  • Older →

HyperKitty Powered by HyperKitty