From: kernel test robot <lkp@intel.com>
To: Christian Ehrhardt <christian.ehrhardt@codasip.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [scosu-sched:topic/mmap-cap-prot-wip/v6.18 460/1130] kernel/bpf/syscall.c:6346:9: warning: enumeration value '__MAX_BPF_CMD' not handled in switch
Date: Fri, 22 May 2026 06:25:02 +0800 [thread overview]
Message-ID: <202605220622.P8MTityv-lkp@intel.com> (raw)
tree: https://github.com/scosu/linux-sched topic/mmap-cap-prot-wip/v6.18
head: f69a5a9d9fee15edde28429e23a4c749a59937bd
commit: cdb93591dcfdf1fa3a23036e0da2dc2d54ba76eb [460/1130] [CHERRY-PICK] bpf: compat64: support CHECK_ATTR macro
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20260522/202605220622.P8MTityv-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260522/202605220622.P8MTityv-lkp@intel.com/reproduce)
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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605220622.P8MTityv-lkp@intel.com/
All warnings (new ones prefixed by >>):
from kernel/bpf/syscall.c:4:
include/linux/stddef.h:19:33: error: 'union compat_bpf_attr' has no member named 'excl_prog_hash_size'
19 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~
kernel/bpf/syscall.c:1211:17: note: in expansion of macro 'offsetof'
1211 | offsetof(TYPE, CMD##_LAST_FIELD) - \
| ^~~~~~~~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6348:24: note: in expansion of macro 'CHECK_ATTR'
6348 | return CHECK_ATTR(BPF_MAP_CREATE);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1212:39: error: 'union compat_bpf_attr' has no member named 'excl_prog_hash_size'
1212 | sizeof(((TYPE *)vattr)->CMD##_LAST_FIELD)) != NULL)
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6348:24: note: in expansion of macro 'CHECK_ATTR'
6348 | return CHECK_ATTR(BPF_MAP_CREATE);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1208:47: error: 'union compat_bpf_attr' has no member named 'keyring_id'
1208 | (memchr_inv((void *) &(((TYPE *)vattr)->CMD##_LAST_FIELD) + \
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6360:24: note: in expansion of macro 'CHECK_ATTR'
6360 | return CHECK_ATTR(BPF_PROG_LOAD);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1209:39: error: 'union compat_bpf_attr' has no member named 'keyring_id'
1209 | sizeof(((TYPE *)vattr)->CMD##_LAST_FIELD), 0, \
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6360:24: note: in expansion of macro 'CHECK_ATTR'
6360 | return CHECK_ATTR(BPF_PROG_LOAD);
| ^~~~~~~~~~
include/linux/stddef.h:19:33: error: 'union compat_bpf_attr' has no member named 'keyring_id'
19 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~
kernel/bpf/syscall.c:1211:17: note: in expansion of macro 'offsetof'
1211 | offsetof(TYPE, CMD##_LAST_FIELD) - \
| ^~~~~~~~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6360:24: note: in expansion of macro 'CHECK_ATTR'
6360 | return CHECK_ATTR(BPF_PROG_LOAD);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1212:39: error: 'union compat_bpf_attr' has no member named 'keyring_id'
1212 | sizeof(((TYPE *)vattr)->CMD##_LAST_FIELD)) != NULL)
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6360:24: note: in expansion of macro 'CHECK_ATTR'
6360 | return CHECK_ATTR(BPF_PROG_LOAD);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1208:47: error: 'union compat_bpf_attr' has no member named 'prog_stream_read'
1208 | (memchr_inv((void *) &(((TYPE *)vattr)->CMD##_LAST_FIELD) + \
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6422:24: note: in expansion of macro 'CHECK_ATTR'
6422 | return CHECK_ATTR(BPF_PROG_STREAM_READ_BY_FD);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1209:39: error: 'union compat_bpf_attr' has no member named 'prog_stream_read'
1209 | sizeof(((TYPE *)vattr)->CMD##_LAST_FIELD), 0, \
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6422:24: note: in expansion of macro 'CHECK_ATTR'
6422 | return CHECK_ATTR(BPF_PROG_STREAM_READ_BY_FD);
| ^~~~~~~~~~
include/linux/stddef.h:19:33: error: 'union compat_bpf_attr' has no member named 'prog_stream_read'
19 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~
kernel/bpf/syscall.c:1211:17: note: in expansion of macro 'offsetof'
1211 | offsetof(TYPE, CMD##_LAST_FIELD) - \
| ^~~~~~~~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6422:24: note: in expansion of macro 'CHECK_ATTR'
6422 | return CHECK_ATTR(BPF_PROG_STREAM_READ_BY_FD);
| ^~~~~~~~~~
kernel/bpf/syscall.c:1212:39: error: 'union compat_bpf_attr' has no member named 'prog_stream_read'
1212 | sizeof(((TYPE *)vattr)->CMD##_LAST_FIELD)) != NULL)
| ^~
kernel/bpf/syscall.c:1216:17: note: in expansion of macro '__CHECK_ATTR'
1216 | __CHECK_ATTR(CMD, union compat_bpf_attr) : \
| ^~~~~~~~~~~~
kernel/bpf/syscall.c:6422:24: note: in expansion of macro 'CHECK_ATTR'
6422 | return CHECK_ATTR(BPF_PROG_STREAM_READ_BY_FD);
| ^~~~~~~~~~
>> kernel/bpf/syscall.c:6346:9: warning: enumeration value '__MAX_BPF_CMD' not handled in switch [-Wswitch]
6346 | switch (cmd) {
| ^~~~~~
vim +/__MAX_BPF_CMD +6346 kernel/bpf/syscall.c
6343
6344 static int check_attr(enum bpf_cmd cmd, void *vattr)
6345 {
> 6346 switch (cmd) {
6347 case BPF_MAP_CREATE:
6348 return CHECK_ATTR(BPF_MAP_CREATE);
6349 case BPF_MAP_LOOKUP_ELEM:
6350 return CHECK_ATTR(BPF_MAP_LOOKUP_ELEM);
6351 case BPF_MAP_UPDATE_ELEM:
6352 return CHECK_ATTR(BPF_MAP_UPDATE_ELEM);
6353 case BPF_MAP_DELETE_ELEM:
6354 return CHECK_ATTR(BPF_MAP_DELETE_ELEM);
6355 case BPF_MAP_GET_NEXT_KEY:
6356 return CHECK_ATTR(BPF_MAP_GET_NEXT_KEY);
6357 case BPF_MAP_FREEZE:
6358 return CHECK_ATTR(BPF_MAP_FREEZE);
6359 case BPF_PROG_LOAD:
6360 return CHECK_ATTR(BPF_PROG_LOAD);
6361 case BPF_OBJ_PIN:
6362 return CHECK_ATTR(BPF_OBJ);
6363 case BPF_OBJ_GET:
6364 return CHECK_ATTR(BPF_OBJ);
6365 case BPF_PROG_ATTACH:
6366 return CHECK_ATTR(BPF_PROG_ATTACH);
6367 case BPF_PROG_DETACH:
6368 return CHECK_ATTR(BPF_PROG_DETACH);
6369 case BPF_PROG_QUERY:
6370 return CHECK_ATTR(BPF_PROG_QUERY);
6371 case BPF_PROG_TEST_RUN:
6372 return CHECK_ATTR(BPF_PROG_TEST_RUN);
6373 case BPF_PROG_GET_NEXT_ID:
6374 return CHECK_ATTR(BPF_OBJ_GET_NEXT_ID);
6375 case BPF_MAP_GET_NEXT_ID:
6376 return CHECK_ATTR(BPF_OBJ_GET_NEXT_ID);
6377 case BPF_BTF_GET_NEXT_ID:
6378 return CHECK_ATTR(BPF_OBJ_GET_NEXT_ID);
6379 case BPF_PROG_GET_FD_BY_ID:
6380 return CHECK_ATTR(BPF_PROG_GET_FD_BY_ID);
6381 case BPF_MAP_GET_FD_BY_ID:
6382 return CHECK_ATTR(BPF_MAP_GET_FD_BY_ID);
6383 case BPF_OBJ_GET_INFO_BY_FD:
6384 return CHECK_ATTR(BPF_OBJ_GET_INFO_BY_FD);
6385 case BPF_RAW_TRACEPOINT_OPEN:
6386 return CHECK_ATTR(BPF_RAW_TRACEPOINT_OPEN);
6387 case BPF_BTF_LOAD:
6388 return CHECK_ATTR(BPF_BTF_LOAD);
6389 case BPF_BTF_GET_FD_BY_ID:
6390 return CHECK_ATTR(BPF_BTF_GET_FD_BY_ID);
6391 case BPF_TASK_FD_QUERY:
6392 return CHECK_ATTR(BPF_TASK_FD_QUERY);
6393 case BPF_MAP_LOOKUP_AND_DELETE_ELEM:
6394 return CHECK_ATTR(BPF_MAP_LOOKUP_AND_DELETE_ELEM);
6395 case BPF_MAP_LOOKUP_BATCH:
6396 return CHECK_ATTR(BPF_MAP_BATCH);
6397 case BPF_MAP_LOOKUP_AND_DELETE_BATCH:
6398 return CHECK_ATTR(BPF_MAP_BATCH);
6399 case BPF_MAP_UPDATE_BATCH:
6400 return CHECK_ATTR(BPF_MAP_BATCH);
6401 case BPF_MAP_DELETE_BATCH:
6402 return CHECK_ATTR(BPF_MAP_BATCH);
6403 case BPF_LINK_CREATE:
6404 return CHECK_ATTR(BPF_LINK_CREATE);
6405 case BPF_LINK_UPDATE:
6406 return CHECK_ATTR(BPF_LINK_UPDATE);
6407 case BPF_LINK_GET_FD_BY_ID:
6408 return CHECK_ATTR(BPF_LINK_GET_FD_BY_ID);
6409 case BPF_LINK_GET_NEXT_ID:
6410 return CHECK_ATTR(BPF_OBJ_GET_NEXT_ID);
6411 case BPF_ENABLE_STATS:
6412 return CHECK_ATTR(BPF_ENABLE_STATS);
6413 case BPF_ITER_CREATE:
6414 return CHECK_ATTR(BPF_ITER_CREATE);
6415 case BPF_LINK_DETACH:
6416 return CHECK_ATTR(BPF_LINK_DETACH);
6417 case BPF_PROG_BIND_MAP:
6418 return CHECK_ATTR(BPF_PROG_BIND_MAP);
6419 case BPF_TOKEN_CREATE:
6420 return CHECK_ATTR(BPF_TOKEN_CREATE);
6421 case BPF_PROG_STREAM_READ_BY_FD:
6422 return CHECK_ATTR(BPF_PROG_STREAM_READ_BY_FD);
6423 /*
6424 * no default case so we're warned of unhandled enum bpf_cmd
6425 * values by -Wswitch
6426 */
6427 }
6428
6429 return 0;
6430 }
6431
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-05-21 22:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202605220622.P8MTityv-lkp@intel.com \
--to=lkp@intel.com \
--cc=christian.ehrhardt@codasip.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.