* kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
@ 2026-01-21 8:58 Dan Carpenter
2026-01-21 20:39 ` Andrew Morton
0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2026-01-21 8:58 UTC (permalink / raw)
To: oe-kbuild, Pasha Tatashin
Cc: lkp, oe-kbuild-all, linux-kernel, Andrew Morton,
Linux Memory Management List, Jason Gunthorpe,
Mike Rapoport (Microsoft)
Hi Pasha,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6c790212c588fddeb0d852f2790840753bb604b1
commit: 48a1b2321d763b5edeaf20bd4576d8c4b5df772b liveupdate: kho: move to kernel/liveupdate
config: x86_64-randconfig-r071-20260121 (https://download.01.org/0day-ci/archive/20260121/202601211636.IRaejjdw-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8985-g2614ff1a
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: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
smatch warnings:
kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
vim +/err +994 kernel/liveupdate/kexec_handover.c
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 960) int kho_preserve_vmalloc(void *ptr, struct kho_vmalloc *preservation)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 961) {
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 962) struct kho_vmalloc_chunk *chunk;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 963) struct vm_struct *vm = find_vm_area(ptr);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 964) unsigned int order, flags, nr_contig_pages;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 965) unsigned int idx = 0;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 966) int err;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 967)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 968) if (!vm)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 969) return -EINVAL;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 970)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 971) if (vm->flags & ~KHO_VMALLOC_SUPPORTED_FLAGS)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 972) return -EOPNOTSUPP;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 973)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 974) flags = vmalloc_flags_to_kho(vm->flags);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 975) order = get_vm_area_page_order(vm);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 976)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 977) chunk = new_vmalloc_chunk(NULL);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 978) if (!chunk)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 979) return -ENOMEM;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 980) KHOSER_STORE_PTR(preservation->first, chunk);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 981)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 982) nr_contig_pages = (1 << order);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 983) for (int i = 0; i < vm->nr_pages; i += nr_contig_pages) {
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 984) phys_addr_t phys = page_to_phys(vm->pages[i]);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 985)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 986) err = kho_preserve_pages(vm->pages[i], nr_contig_pages);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 987) if (err)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 988) goto err_free;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 989)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 990) chunk->phys[idx++] = phys;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 991) if (idx == ARRAY_SIZE(chunk->phys)) {
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 992) chunk = new_vmalloc_chunk(chunk);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 993) if (!chunk)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 @994) goto err_free;
err = -ENOMEM;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 995) idx = 0;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 996) }
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 997) }
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 998)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 999) preservation->total_pages = vm->nr_pages;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1000) preservation->flags = flags;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1001) preservation->order = order;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1002)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1003) return 0;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1004)
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1005) err_free:
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1006) kho_vmalloc_free_chunks(preservation);
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1007) return err;
a667300bd53f27 kernel/kexec_handover.c Mike Rapoport (Microsoft 2025-09-21 1008) }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
2026-01-21 8:58 kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err' Dan Carpenter
@ 2026-01-21 20:39 ` Andrew Morton
2026-01-22 9:49 ` Mike Rapoport
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Andrew Morton @ 2026-01-21 20:39 UTC (permalink / raw)
To: Dan Carpenter
Cc: oe-kbuild, Pasha Tatashin, lkp, oe-kbuild-all, linux-kernel,
Linux Memory Management List, Jason Gunthorpe,
Mike Rapoport (Microsoft)
On Wed, 21 Jan 2026 11:58:20 +0300 Dan Carpenter <dan.carpenter@linaro.org> wrote:
> Hi Pasha,
>
> First bad commit (maybe != root cause):
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 6c790212c588fddeb0d852f2790840753bb604b1
> commit: 48a1b2321d763b5edeaf20bd4576d8c4b5df772b liveupdate: kho: move to kernel/liveupdate
> config: x86_64-randconfig-r071-20260121 (https://download.01.org/0day-ci/archive/20260121/202601211636.IRaejjdw-lkp@intel.com/config)
> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> smatch version: v0.5.0-8985-g2614ff1a
>
> 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: Dan Carpenter <dan.carpenter@linaro.org>
> | Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
>
> smatch warnings:
> kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
Indeed, thanks.
From: Andrew Morton <akpm@linux-foundation.org>
Subject: kho: kho_preserve_vmalloc(): don't return 0 when ENOMEM
Date: Wed Jan 21 12:36:17 PM PST 2026
kho_preserve_vmalloc() should return -ENOMEM when new_vmalloc_chunk()
fails.
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
Cc: Alexander Graf <graf@amazon.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: Pratyush Yadav <pratyush@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
kernel/liveupdate/kexec_handover.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/kernel/liveupdate/kexec_handover.c~a
+++ a/kernel/liveupdate/kexec_handover.c
@@ -1011,8 +1011,10 @@ int kho_preserve_vmalloc(void *ptr, stru
chunk->phys[idx++] = phys;
if (idx == ARRAY_SIZE(chunk->phys)) {
chunk = new_vmalloc_chunk(chunk);
- if (!chunk)
+ if (!chunk) {
+ err = -ENOMEM;
goto err_free;
+ }
idx = 0;
}
}
_
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
2026-01-21 20:39 ` Andrew Morton
@ 2026-01-22 9:49 ` Mike Rapoport
2026-01-22 10:30 ` Pratyush Yadav
2026-01-22 18:14 ` Pasha Tatashin
2 siblings, 0 replies; 6+ messages in thread
From: Mike Rapoport @ 2026-01-22 9:49 UTC (permalink / raw)
To: Andrew Morton
Cc: Dan Carpenter, oe-kbuild, Pasha Tatashin, lkp, oe-kbuild-all,
linux-kernel, Linux Memory Management List, Jason Gunthorpe
On Wed, Jan 21, 2026 at 12:39:22PM -0800, Andrew Morton wrote:
> On Wed, 21 Jan 2026 11:58:20 +0300 Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> > Hi Pasha,
> >
> > First bad commit (maybe != root cause):
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 6c790212c588fddeb0d852f2790840753bb604b1
> > commit: 48a1b2321d763b5edeaf20bd4576d8c4b5df772b liveupdate: kho: move to kernel/liveupdate
> > config: x86_64-randconfig-r071-20260121 (https://download.01.org/0day-ci/archive/20260121/202601211636.IRaejjdw-lkp@intel.com/config)
> > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> > rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> > smatch version: v0.5.0-8985-g2614ff1a
> >
> > 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: Dan Carpenter <dan.carpenter@linaro.org>
> > | Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
> >
> > smatch warnings:
> > kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
>
> Indeed, thanks.
>
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: kho: kho_preserve_vmalloc(): don't return 0 when ENOMEM
> Date: Wed Jan 21 12:36:17 PM PST 2026
>
> kho_preserve_vmalloc() should return -ENOMEM when new_vmalloc_chunk()
> fails.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
> Cc: Alexander Graf <graf@amazon.com>
> Cc: Jason Gunthorpe <jgg@nvidia.com>
> Cc: Mike Rapoport <rppt@kernel.org>
> Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
> Cc: Pratyush Yadav <pratyush@kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Thanks!
> ---
>
> kernel/liveupdate/kexec_handover.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> --- a/kernel/liveupdate/kexec_handover.c~a
> +++ a/kernel/liveupdate/kexec_handover.c
> @@ -1011,8 +1011,10 @@ int kho_preserve_vmalloc(void *ptr, stru
> chunk->phys[idx++] = phys;
> if (idx == ARRAY_SIZE(chunk->phys)) {
> chunk = new_vmalloc_chunk(chunk);
> - if (!chunk)
> + if (!chunk) {
> + err = -ENOMEM;
> goto err_free;
> + }
> idx = 0;
> }
> }
> _
>
--
Sincerely yours,
Mike.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
2026-01-21 20:39 ` Andrew Morton
2026-01-22 9:49 ` Mike Rapoport
@ 2026-01-22 10:30 ` Pratyush Yadav
2026-01-22 18:14 ` Pasha Tatashin
2 siblings, 0 replies; 6+ messages in thread
From: Pratyush Yadav @ 2026-01-22 10:30 UTC (permalink / raw)
To: Andrew Morton
Cc: Dan Carpenter, oe-kbuild, Pasha Tatashin, lkp, oe-kbuild-all,
linux-kernel, Linux Memory Management List, Jason Gunthorpe,
Mike Rapoport (Microsoft)
On Wed, Jan 21 2026, Andrew Morton wrote:
> On Wed, 21 Jan 2026 11:58:20 +0300 Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
>> Hi Pasha,
>>
>> First bad commit (maybe != root cause):
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: 6c790212c588fddeb0d852f2790840753bb604b1
>> commit: 48a1b2321d763b5edeaf20bd4576d8c4b5df772b liveupdate: kho: move to kernel/liveupdate
>> config: x86_64-randconfig-r071-20260121 (https://download.01.org/0day-ci/archive/20260121/202601211636.IRaejjdw-lkp@intel.com/config)
>> compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
>> rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
>> smatch version: v0.5.0-8985-g2614ff1a
>>
>> 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: Dan Carpenter <dan.carpenter@linaro.org>
>> | Closes: https://lore.kernel.org/r/202601211636.IRaejjdw-lkp@intel.com/
>>
>> smatch warnings:
>> kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
>
> Indeed, thanks.
>
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: kho: kho_preserve_vmalloc(): don't return 0 when ENOMEM
> Date: Wed Jan 21 12:36:17 PM PST 2026
>
> kho_preserve_vmalloc() should return -ENOMEM when new_vmalloc_chunk()
> fails.
Thanks!
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
[...]
--
Regards,
Pratyush Yadav
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
2026-01-21 20:39 ` Andrew Morton
2026-01-22 9:49 ` Mike Rapoport
2026-01-22 10:30 ` Pratyush Yadav
@ 2026-01-22 18:14 ` Pasha Tatashin
2026-01-22 18:42 ` Andrew Morton
2 siblings, 1 reply; 6+ messages in thread
From: Pasha Tatashin @ 2026-01-22 18:14 UTC (permalink / raw)
To: Andrew Morton
Cc: Dan Carpenter, oe-kbuild, lkp, oe-kbuild-all, linux-kernel,
Linux Memory Management List, Jason Gunthorpe,
Mike Rapoport (Microsoft)
> --- a/kernel/liveupdate/kexec_handover.c~a
> +++ a/kernel/liveupdate/kexec_handover.c
> @@ -1011,8 +1011,10 @@ int kho_preserve_vmalloc(void *ptr, stru
> chunk->phys[idx++] = phys;
> if (idx == ARRAY_SIZE(chunk->phys)) {
> chunk = new_vmalloc_chunk(chunk);
> - if (!chunk)
> + if (!chunk) {
> + err = -ENOMEM;
> goto err_free;
> + }
Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Thank you,
Pasha
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err'
2026-01-22 18:14 ` Pasha Tatashin
@ 2026-01-22 18:42 ` Andrew Morton
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Morton @ 2026-01-22 18:42 UTC (permalink / raw)
To: Pasha Tatashin
Cc: Dan Carpenter, oe-kbuild, lkp, oe-kbuild-all, linux-kernel,
Linux Memory Management List, Jason Gunthorpe,
Mike Rapoport (Microsoft)
On Thu, 22 Jan 2026 13:14:49 -0500 Pasha Tatashin <pasha.tatashin@soleen.com> wrote:
> > --- a/kernel/liveupdate/kexec_handover.c~a
> > +++ a/kernel/liveupdate/kexec_handover.c
> > @@ -1011,8 +1011,10 @@ int kho_preserve_vmalloc(void *ptr, stru
> > chunk->phys[idx++] = phys;
> > if (idx == ARRAY_SIZE(chunk->phys)) {
> > chunk = new_vmalloc_chunk(chunk);
> > - if (!chunk)
> > + if (!chunk) {
> > + err = -ENOMEM;
> > goto err_free;
> > + }
>
> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Cool. I think I'll turn this into a 6.19 hotfix - it is a slight bug
and we don't want people to keep telling us about it.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-01-22 18:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-21 8:58 kernel/liveupdate/kexec_handover.c:994 kho_preserve_vmalloc() warn: missing error code 'err' Dan Carpenter
2026-01-21 20:39 ` Andrew Morton
2026-01-22 9:49 ` Mike Rapoport
2026-01-22 10:30 ` Pratyush Yadav
2026-01-22 18:14 ` Pasha Tatashin
2026-01-22 18:42 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox