mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sourabh Jain <sourabhjain@linux.ibm.com>
To: Venkat Rao Bagalkote <venkat88@linux.ibm.com>,
	Madhavan Srinivasan <maddy@linux.ibm.com>,
	Ritesh Harjani <riteshh@linux.ibm.com>,
	Hari Bathini <hbathini@linux.ibm.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Christophe Leroy <christophe.leroy@csgroup.eu>
Subject: Re: [mainline]kdump fails to save vmcore when crash is manually triggered
Date: Fri, 11 Sep 2026 16:55:01 +0530	[thread overview]
Message-ID: <e4f2768a-ff45-4654-9557-a5284c788418@linux.ibm.com> (raw)
In-Reply-To: <c6b26023-c629-4f09-a449-dffeaba06082@linux.ibm.com>

Hello,

I root-caused the issue. The issue is with the makedumpfile virtual-to-
physical address translation function when using a 4K page size.

While performing the virtual-to-physical address translation for
0xc00c000018000000, makedumpfile reads only one page (4K) at the PGD level:

code snippet of ppc64_vtop_level4()/makedumpfile.c
https://github.com/makedumpfile/makedumpfile/blob/505d15bcc65462c49572f077a75998c6ee8ff7dc/arch/ppc64.c#L400
```
         [...]
     level4 = (ulong *)inf    level4 = (ulong *)info->kernel_pgd;
     pgdir = (ulong *)((ulong *)level4 + PGD_OFFSET_L4(vaddr));
     if (!readmem(VADDR, PAGEBASE(level4), info->page_buf, PAGESIZE())) {
         ERRMSG("Can't read PGD page: 0x%llx\n", PAGEBASE(level4));
         return NOT_PADDR;
     }
     pgd_pte = swap64(ULONG((info->page_buf + PAGEOFFSET(pgdir))), swap);
         [...]
```

Whereas the PGD table for the current kernel can be up to 64K in size:

64K = 8192 entries × 8 bytes

Since makedumpfile reads only 4KB (PAGESIZE) from the PGD base address, it
only gets 512 PGD entries.

The correct entry for the vmemmap address `0xc00c000018000000` is 6144.

The above logic is also true for the memory map address read fail 
reported in the
original report, which is `c00c000020000000`.

Note: This failure is observed only with a 4K page size because, with a
64K page size, `makedumpfile` reads all 8192 entries since the page is
aligned with the table size. 64K = 8192 entries × 8 bytes.

I will fix this issue in makedumpfile tool. Thanks for the report.

- Sourabh Jain

On 23/04/26 17:29, Venkat Rao Bagalkote wrote:
> Hello!!
>
> IBM CI has reported vmcore save failures when kdump is tested by 
> triggering a kernel crash via sysrq.
>
>
> Below are the kernel and tool details:
>
> Upstream kernel version: 7.0.0+
> Upstream kernel commit-id: 2e68039281932e6dc37718a1ea7cbb8e2cda42e6
>
> kexec-tools 2.0.32.git
> makedumpfile: version 1.7.9 (released on 20 Apr 2026)
>
>
> Error:
>
> While booting to crash kernel, I see below continous prints in console 
> logs:
>
>
> [    0.037177] vmcore: Warning: Zero PT_NOTE entries found
> [    0.037181] vmcore: Warning: Zero PT_NOTE entries found
> [    0.037184] vmcore: Warning: Zero PT_NOTE entries found
> [    0.037186] vmcore: Warning: Zero PT_NOTE entries found
>
>
> And During vmcore collection, I see below error.
>
>
> [    9.948432] systemd[1]: Starting kdump-capture.service - Kdump 
> Vmcore Save Service...
>          Starting ^[[0;1;39mkdump-capture.service^[[0m - Kdump Vmcore 
> Save Service...
>
> [    9.992306] kdump[408]: ^[[0;1;38:5:185mKdump is using the default 
> log level(3).^[[0m
> [   10.158555] kdump[526]: saving to 
> /sysroot/var/crash/127.0.0.1-2026-04-23-06:06:27/
> [   10.164060] kdump[531]: saving vmcore-dmesg.txt to 
> /sysroot/var/crash/127.0.0.1-2026-04-23-06:06:27/
> [   10.198598] kdump[537]: saving vmcore-dmesg.txt complete
> [   10.200376] kdump[539]: saving vmcore
>
> Checking for memory holes                         : [  0.0 %] /
> Checking for memory holes                         : [100.0 %] |
> Excluding unnecessary pages                       : [  6.3 %] \       
>       WARNING: Invalid free page order: pfn=5a45fc, order=64424509439, 
> max order=12
> WARNING: Invalid free page order: pfn=621a02, 
> order=2166518513861132288, max order=12
> WARNING: Invalid free page order: pfn=6697b3, 
> order=6706141453275365419, max order=12
> WARNING: Invalid free page order: pfn=669b5d, order=69335804542976, 
> max order=12
> WARNING: Invalid free page order: pfn=66c5a8, 
> order=14125543804861677568, max order=12
> WARNING: Invalid free page order: pfn=66c661, order=845524441759747, 
> max order=12
> WARNING: Invalid free page order: pfn=67dadc, 
> order=17224182427472101376, max order=12
> WARNING: Invalid free page order: pfn=682b38, 
> order=3103260797896228864, max order=12
> WARNING: Invalid free page order: pfn=682efa, 
> order=14269216714183933953, max order=12
> WARNING: Invalid free page order: pfn=682efe, order=134217728, max 
> order=12
> WARNING: Invalid free page order: pfn=68c0a0, 
> order=3031209642551148544, max order=12
> WARNING: Invalid free page order: pfn=69709d, 
> order=17296239995740225536, max order=12
> WARNING: Invalid free page order: pfn=6aa909, 
> order=2166511968028983296, max order=12
> WARNING: Invalid free page order: pfn=6ae921, 
> order=6273236509957029888, max order=12
> WARNING: Invalid free page order: pfn=6c1456, 
> order=17296239987150290944, max order=12
> WARNING: Invalid free page order: pfn=6c35a4, 
> order=14197601399000268800, max order=12
> WARNING: Invalid free page order: pfn=6c5de2, 
> order=2166511933669244928, max order=12
> WARNING: Invalid free page order: pfn=6d58da, 
> order=17296239987150290944, max order=12
> WARNING: Invalid free page order: pfn=6d7987, 
> order=14557325072076374016, max order=12
> WARNING: Invalid free page order: pfn=6dbb95, 
> order=17944838645085110272, max order=12
> WARNING: Invalid free page order: pfn=709d7d, 
> order=6273234623090655232, max order=12
> WARNING: Invalid free page order: pfn=709e11, 
> order=3031203148023726080, max order=12
> WARNING: Invalid free page order: pfn=70c02f, 
> order=6705580187335000064, max order=12
> WARNING: Invalid free page order: pfn=715384, 
> order=14990794317172375552, max order=12
> WARNING: Invalid free page order: pfn=715aef, 
> order=5048255524311662592, max order=12
> WARNING: Invalid free page order: pfn=71a51e, 
> order=6199767839173706752, max order=12
> WARNING: Invalid free page order: pfn=71aab5, 
> order=5048255524311662592, max order=12
> WARNING: Invalid free page order: pfn=732e19, order=28147502510048512, 
> max order=12
> WARNING: Invalid free page order: pfn=739896, 
> order=17296239987150290944, max order=12
> WARNING: Invalid free page order: pfn=73b956, 
> order=17296239991445258240, max order=12
> WARNING: Invalid free page order: pfn=73e043, 
> order=2166511933669244928, max order=12
> WARNING: Invalid free page order: pfn=740049, 
> order=6705582074453032960, max order=12
> WARNING: Invalid free page order: pfn=760109, 
> order=6345294104196284416, max order=12
> WARNING: Invalid free page order: pfn=760260, 
> order=2166511968028983296, max order=12
> WARNING: Invalid free page order: pfn=774eb8, 
> order=3103267236521967616, max order=12
> WARNING: Invalid free page order: pfn=77949f, 
> order=3103260802191196160, max order=12
> WARNING: Invalid free page order: pfn=784ac6, order=1971974104455872, 
> max order=12
> WARNING: Invalid free page order: pfn=785196, 
> order=2166518513861132288, max order=12
> WARNING: Invalid free page order: pfn=790654, 
> order=14557325072177037312, max order=12
> WARNING: Invalid free page order: pfn=792cbe, 
> order=13837309858646983424, max order=12
> WARNING: Invalid free page order: pfn=792dbe, 
> order=13837309859722035968, max order=12
> WARNING: Invalid free page order: pfn=793779, 
> order=15351363758810792960, max order=12
> WARNING: Invalid free page order: pfn=7963af, 
> order=2166511933669244928, max order=12
> WARNING: Invalid free page order: pfn=7bda8a, 
> order=13837313428760297472, max order=12
> WARNING: Invalid free page order: pfn=7bfbfa, 
> order=14269094696377647104, max order=12
> WARNING: Invalid free page order: pfn=7c8498, 
> order=18088873534452400128, max order=12
> WARNING: Invalid free page order: pfn=7d4bf7, order=1441792, max order=12
> WARNING: Invalid free page order: pfn=7db498, 
> order=18088873534452400128, max order=12
> WARNING: Invalid free page order: pfn=7dba0d, 
> order=6345292217329909760, max order=12
> WARNING: Invalid free page order: pfn=7dc618, 
> order=3319440018652528640, max order=12
> WARNING: Invalid free page order: pfn=7e8788, 
> order=1113619897082537567, max order=12
> readpage_elf: Attempt to read non-existent page at 0x20000000.
> readmem: type_addr: 0, addr:c00c000020000000, size:32768
> __exclude_unnecessary_pages: Can't read the buffer of struct page.
> create_2nd_bitmap: Can't exclude unnecessary pages.
>
> makedumpfile Failed.
> [   10.687238] kdump[542]: ^[[0;1;31msaving vmcore failed, exitcode:1^[[0m
> [   10.689073] kdump[544]: ^[[0;1;31msaving vmcore failed^[[0m
> [   10.699975] kdump[549]: saving the /run/initramfs/kexec-dmesg.log 
> to /sysroot/var/crash/127.0.0.1-2026-04-23-06:06:27///
> [   10.701749] systemd[1]: ^[[0;1;39mkdump-capture.service: Main 
> process exited, code=exited, status=1/FAILURE^[[0m
> [   10.701933] systemd[1]: ^[[0;1;38:5:185mkdump-capture.service: 
> Failed with result 'exit-code'.^[[0m
> [^[[0;1;31mFAILED^[[0m] Failed to start 
> ^[[0;1;39mkdump-capture.service^[[0m - Kdump Vmcore Save Service.
>
> [   10.702090] systemd[1]: ^[[0;1;31mFailed to start 
> kdump-capture.service - Kdump Vmcore Save Service.^[[0m
> See 'systemctl status kdump-capture.service' for details.
>
> [   10.702249] systemd[1]: Startup finished in 3.351s (kernel) + 0 
> (initrd) + 7.350s (userspace) = 10.702s.
> [   10.702388] systemd[1]: kdump-capture.service: Triggering 
> OnFailure= dependencies.
> [   10.703543] systemd[1]: Stopped target timers.target - Timer Units.
>
>
>
> If you happen to fix, this please add below tag.
>
>
> Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
>
>
> Regards,
>
> Venkat.
>
>


      parent reply	other threads:[~2026-09-11 11:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-23 11:59 Venkat Rao Bagalkote
2026-04-23 12:23 ` Venkat Rao Bagalkote
2026-09-11 11:25 ` Sourabh Jain [this message]

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=e4f2768a-ff45-4654-9557-a5284c788418@linux.ibm.com \
    --to=sourabhjain@linux.ibm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=hbathini@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.ibm.com \
    --cc=riteshh@linux.ibm.com \
    --cc=venkat88@linux.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®