From: kernel test robot <lkp@intel.com>
To: "Pratyush Yadav (Google)" <pratyush@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Pasha Tatashin <pasha.tatashin@soleen.com>,
Mike Rapoport <rppt@kernel.org>,
kexec@lists.infradead.org
Subject: [liveupdate:next 11/21] kernel/liveupdate/luo_session.c:344:48: error: too few arguments provided to function-like macro invocation
Date: Mon, 01 Jun 2026 13:25:29 +0800 [thread overview]
Message-ID: <202606011344.RHiYuqso-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux.git next
head: f4b4f5fe58a55a4212a263d9d44416778ca6e7a7
commit: 74cab0be9a5d9d91471c4dee7311dcdfc1c0a6f4 [11/21] liveupdate: validate session type before performing operation
config: x86_64-buildonly-randconfig-003-20260601 (https://download.01.org/0day-ci/archive/20260601/202606011344.RHiYuqso-lkp@intel.com/config)
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/20260601/202606011344.RHiYuqso-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/202606011344.RHiYuqso-lkp@intel.com/
All errors (new ones prefixed by >>):
>> kernel/liveupdate/luo_session.c:344:48: error: too few arguments provided to function-like macro invocation
344 | struct liveupdate_session_retrieve_fd, token),
| ^
kernel/liveupdate/luo_session.c:327:9: note: macro 'IOCTL_OP' defined here
327 | #define IOCTL_OP(_ioctl, _fn, _struct, _last, _type) \
| ^
>> kernel/liveupdate/luo_session.c:343:2: error: use of undeclared identifier 'IOCTL_OP'
343 | IOCTL_OP(LIVEUPDATE_SESSION_RETRIEVE_FD, luo_session_retrieve_fd,
| ^
>> kernel/liveupdate/luo_session.c:378:6: error: invalid application of 'sizeof' to an incomplete type 'const struct luo_ioctl_op[]'
378 | ARRAY_SIZE(luo_session_ioctl_ops)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:32: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~
3 errors generated.
vim +344 kernel/liveupdate/luo_session.c
16cec0d265219f Pasha Tatashin 2025-11-25 326
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 327) #define IOCTL_OP(_ioctl, _fn, _struct, _last, _type) \
16cec0d265219f Pasha Tatashin 2025-11-25 328 [_IOC_NR(_ioctl) - LIVEUPDATE_CMD_SESSION_BASE] = { \
16cec0d265219f Pasha Tatashin 2025-11-25 329 .size = sizeof(_struct) + \
16cec0d265219f Pasha Tatashin 2025-11-25 330 BUILD_BUG_ON_ZERO(sizeof(union ucmd_buffer) < \
16cec0d265219f Pasha Tatashin 2025-11-25 331 sizeof(_struct)), \
16cec0d265219f Pasha Tatashin 2025-11-25 332 .min_size = offsetofend(_struct, _last), \
16cec0d265219f Pasha Tatashin 2025-11-25 333 .ioctl_num = _ioctl, \
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 334) .type = _type, \
16cec0d265219f Pasha Tatashin 2025-11-25 335 .execute = _fn, \
16cec0d265219f Pasha Tatashin 2025-11-25 336 }
16cec0d265219f Pasha Tatashin 2025-11-25 337
16cec0d265219f Pasha Tatashin 2025-11-25 338 static const struct luo_ioctl_op luo_session_ioctl_ops[] = {
16cec0d265219f Pasha Tatashin 2025-11-25 339 IOCTL_OP(LIVEUPDATE_SESSION_FINISH, luo_session_finish,
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 340) struct liveupdate_session_finish, reserved, LUO_IOCTL_INCOMING),
16cec0d265219f Pasha Tatashin 2025-11-25 341 IOCTL_OP(LIVEUPDATE_SESSION_PRESERVE_FD, luo_session_preserve_fd,
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 342) struct liveupdate_session_preserve_fd, token, LUO_IOCTL_OUTGOING),
16cec0d265219f Pasha Tatashin 2025-11-25 @343 IOCTL_OP(LIVEUPDATE_SESSION_RETRIEVE_FD, luo_session_retrieve_fd,
16cec0d265219f Pasha Tatashin 2025-11-25 @344 struct liveupdate_session_retrieve_fd, token),
4c08a9f38c50c0 Luca Boccassi 2026-04-29 345 IOCTL_OP(LIVEUPDATE_SESSION_GET_NAME, luo_session_get_name,
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 346) struct liveupdate_session_retrieve_fd, token, LUO_IOCTL_INCOMING),
16cec0d265219f Pasha Tatashin 2025-11-25 347 };
16cec0d265219f Pasha Tatashin 2025-11-25 348
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 349) static bool luo_ioctl_type_valid(struct luo_session *session,
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 350) const struct luo_ioctl_op *op)
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 351) {
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 352) switch (op->type) {
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 353) case LUO_IOCTL_INCOMING:
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 354) /* Retrieved is only set on incoming sessions */
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 355) return session->retrieved;
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 356) case LUO_IOCTL_OUTGOING:
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 357) return !session->retrieved;
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 358) case LUO_IOCTL_ALL:
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 359) return true;
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 360) }
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 361)
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 362) /* Catch-all. */
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 363) return false;
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 364) }
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 365)
16cec0d265219f Pasha Tatashin 2025-11-25 366 static long luo_session_ioctl(struct file *filep, unsigned int cmd,
16cec0d265219f Pasha Tatashin 2025-11-25 367 unsigned long arg)
16cec0d265219f Pasha Tatashin 2025-11-25 368 {
16cec0d265219f Pasha Tatashin 2025-11-25 369 struct luo_session *session = filep->private_data;
16cec0d265219f Pasha Tatashin 2025-11-25 370 const struct luo_ioctl_op *op;
16cec0d265219f Pasha Tatashin 2025-11-25 371 struct luo_ucmd ucmd = {};
16cec0d265219f Pasha Tatashin 2025-11-25 372 union ucmd_buffer buf;
16cec0d265219f Pasha Tatashin 2025-11-25 373 unsigned int nr;
16cec0d265219f Pasha Tatashin 2025-11-25 374 int ret;
16cec0d265219f Pasha Tatashin 2025-11-25 375
16cec0d265219f Pasha Tatashin 2025-11-25 376 nr = _IOC_NR(cmd);
16cec0d265219f Pasha Tatashin 2025-11-25 377 if (nr < LIVEUPDATE_CMD_SESSION_BASE || (nr - LIVEUPDATE_CMD_SESSION_BASE) >=
16cec0d265219f Pasha Tatashin 2025-11-25 @378 ARRAY_SIZE(luo_session_ioctl_ops)) {
16cec0d265219f Pasha Tatashin 2025-11-25 379 return -EINVAL;
16cec0d265219f Pasha Tatashin 2025-11-25 380 }
16cec0d265219f Pasha Tatashin 2025-11-25 381
16cec0d265219f Pasha Tatashin 2025-11-25 382 ucmd.ubuffer = (void __user *)arg;
16cec0d265219f Pasha Tatashin 2025-11-25 383 ret = get_user(ucmd.user_size, (u32 __user *)ucmd.ubuffer);
16cec0d265219f Pasha Tatashin 2025-11-25 384 if (ret)
16cec0d265219f Pasha Tatashin 2025-11-25 385 return ret;
16cec0d265219f Pasha Tatashin 2025-11-25 386
16cec0d265219f Pasha Tatashin 2025-11-25 387 op = &luo_session_ioctl_ops[nr - LIVEUPDATE_CMD_SESSION_BASE];
16cec0d265219f Pasha Tatashin 2025-11-25 388 if (op->ioctl_num != cmd)
16cec0d265219f Pasha Tatashin 2025-11-25 389 return -ENOIOCTLCMD;
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 390) if (!luo_ioctl_type_valid(session, op))
74cab0be9a5d9d Pratyush Yadav (Google 2026-05-19 391) return -EINVAL;
16cec0d265219f Pasha Tatashin 2025-11-25 392 if (ucmd.user_size < op->min_size)
16cec0d265219f Pasha Tatashin 2025-11-25 393 return -EINVAL;
16cec0d265219f Pasha Tatashin 2025-11-25 394
16cec0d265219f Pasha Tatashin 2025-11-25 395 ucmd.cmd = &buf;
16cec0d265219f Pasha Tatashin 2025-11-25 396 ret = copy_struct_from_user(ucmd.cmd, op->size, ucmd.ubuffer,
16cec0d265219f Pasha Tatashin 2025-11-25 397 ucmd.user_size);
16cec0d265219f Pasha Tatashin 2025-11-25 398 if (ret)
16cec0d265219f Pasha Tatashin 2025-11-25 399 return ret;
16cec0d265219f Pasha Tatashin 2025-11-25 400
16cec0d265219f Pasha Tatashin 2025-11-25 401 return op->execute(session, &ucmd);
16cec0d265219f Pasha Tatashin 2025-11-25 402 }
16cec0d265219f Pasha Tatashin 2025-11-25 403
:::::: The code at line 344 was first introduced by commit
:::::: 16cec0d265219f14a7fcebcc43aeb69205adba56 liveupdate: luo_session: add ioctls for file preservation
:::::: TO: Pasha Tatashin <pasha.tatashin@soleen.com>
:::::: CC: Andrew Morton <akpm@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-06-01 5:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-01 5:25 kernel test robot [this message]
2026-06-01 11:52 ` [liveupdate:next 11/21] kernel/liveupdate/luo_session.c:344:48: error: too few arguments provided to function-like macro invocation Pratyush Yadav
2026-06-01 11:57 ` Pratyush Yadav
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=202606011344.RHiYuqso-lkp@intel.com \
--to=lkp@intel.com \
--cc=kexec@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pasha.tatashin@soleen.com \
--cc=pratyush@kernel.org \
--cc=rppt@kernel.org \
/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.