From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: kernel/liveupdate/luo_file.c:558:5-13: ERROR: invalid reference to the index variable of the iterator on line 553
Date: Wed, 11 Mar 2026 16:53:27 +0800 [thread overview]
Message-ID: <202603111600.DLzuFaV9-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Pasha Tatashin <pasha.tatashin@soleen.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
CC: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
CC: Pratyush Yadav <pratyush@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b29fb8829bff243512bb8c8908fd39406f9fd4c3
commit: 7c722a7f44e0c1f9714084152226bc7bd644b7e3 liveupdate: luo_file: implement file systems callbacks
date: 3 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-101-20260311 (https://download.01.org/0day-ci/archive/20260311/202603111600.DLzuFaV9-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
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>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202603111600.DLzuFaV9-lkp@intel.com/
cocci warnings: (new ones prefixed by >>)
>> kernel/liveupdate/luo_file.c:558:5-13: ERROR: invalid reference to the index variable of the iterator on line 553
vim +558 kernel/liveupdate/luo_file.c
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 517
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 518 /**
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 519 * luo_retrieve_file - Restores a preserved file from a file_set by its token.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 520 * @file_set: The file_set from which to retrieve the file.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 521 * @token: The unique token identifying the file to be restored.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 522 * @filep: Output parameter; on success, this is populated with a pointer
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 523 * to the newly retrieved 'struct file'.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 524 *
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 525 * This function is the primary mechanism for recreating a file in the new
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 526 * kernel after a live update. It searches the file_set's list of deserialized
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 527 * files for an entry matching the provided @token.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 528 *
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 529 * The operation is idempotent: if a file has already been successfully
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 530 * retrieved, this function will simply return a pointer to the existing
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 531 * 'struct file' and report success without re-executing the retrieve
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 532 * operation. This is handled by checking the 'retrieved' flag under a lock.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 533 *
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 534 * File retrieval can happen in any order; it is not bound by the order of
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 535 * preservation.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 536 *
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 537 * Context: Can be called from an ioctl or other in-kernel code in the new
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 538 * kernel.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 539 * Return: 0 on success. Returns a negative errno on failure:
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 540 * -ENOENT if no file with the matching token is found.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 541 * Any error code returned by the handler's .retrieve() op.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 542 */
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 543 int luo_retrieve_file(struct luo_file_set *file_set, u64 token,
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 544 struct file **filep)
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 545 {
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 546 struct liveupdate_file_op_args args = {0};
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 547 struct luo_file *luo_file;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 548 int err;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 549
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 550 if (list_empty(&file_set->files_list))
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 551 return -ENOENT;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 552
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 @553 list_for_each_entry(luo_file, &file_set->files_list, list) {
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 554 if (luo_file->token == token)
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 555 break;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 556 }
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 557
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 @558 if (luo_file->token != token)
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 559 return -ENOENT;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 560
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 561 guard(mutex)(&luo_file->mutex);
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 562 if (luo_file->retrieved) {
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 563 /*
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 564 * Someone is asking for this file again, so get a reference
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 565 * for them.
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 566 */
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 567 get_file(luo_file->file);
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 568 *filep = luo_file->file;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 569 return 0;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 570 }
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 571
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 572 args.handler = luo_file->fh;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 573 args.serialized_data = luo_file->serialized_data;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 574 err = luo_file->fh->ops->retrieve(&args);
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 575 if (!err) {
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 576 luo_file->file = args.file;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 577
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 578 /* Get reference so we can keep this file in LUO until finish */
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 579 get_file(luo_file->file);
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 580 *filep = luo_file->file;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 581 luo_file->retrieved = true;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 582 }
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 583
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 584 return err;
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 585 }
7c722a7f44e0c1 Pasha Tatashin 2025-11-25 586
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2026-03-11 8:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-11 8:53 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-04-13 19:55 kernel/liveupdate/luo_file.c:558:5-13: ERROR: invalid reference to the index variable of the iterator on line 553 kernel test robot
2026-01-29 4:18 kernel test robot
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=202603111600.DLzuFaV9-lkp@intel.com \
--to=lkp@intel.com \
--cc=julia.lawall@inria.fr \
--cc=oe-kbuild@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.