Re: [Question] page excluded: kernel virtual address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023/05/28 14:43, Qiwu.Chen wrote:
> Dear Mantainers,
> 
> I find there is an inevitable problem for*linux-5.x* ARM64 kdump that the error "page excluded: kernel virtual address: xxx" will be occured when read the address of *ext4_super_block *for ext4 filesystem in latest crash utility debugging enviroment.
> 
> 1) Here's my reproduce steps:
> 
> crash64> mount
> 
>       MOUNT           SUPERBLK     TYPE   DEVNAME   DIRNAME
> ffff000001e65180 ffff000001c1c000 rootfs none      /
> ffff00002ea66000 *ffff00000288e000 *ext4   /dev/root /
> crash64> struct super_block.s_fs_info -x ffff00000288e000
>    s_fs_info = 0xffff000002885000,
> crash64> struct ext4_sb_info.s_es -x 0xffff000002885000
>    s_es = 0xffff0000043c2400,
> crash64> struct ext4_sb_info.s_es -x 0xffff0000043c2400
> struct: page excluded: kernel virtual address: ffff0000043c2400  type: "gdb_readmem_callback"
> crash64> rd 0xffff0000043c2400
> rd: page excluded: kernel virtual address: ffff0000043c2400  type: "64-bit KVADDR"

It looks like it was just excluded by makedumpfile...
You can check the dump level with "help -D":

crash> help -D
...
           dump_level: 31 (0x1f) (DUMP_EXCLUDE_ZERO|DUMP_EXCLUDE_CACHE|DUMP_EXCLUDE_CACHE_PRI|DUMP_EXCLUDE_USER_DATA|DUMP_EXCLUDE_FREE)


It seems that it's a buffer page and can be excluded depending on
the dump level above.

         struct ext4_super_block *s_es;  /* Pointer to the super block in the buffer */

I can also see a similar message with a dumpfile captured by
"makedumpfile -d 31" on x86_64 though.

crash> ext4_sb_info.s_es 0xffff8f394279e000
   s_es = 0xffff8f3844c37400,
crash> rd 0xffff8f3844c37400
rd: page excluded: kernel virtual address: ffff8f3844c37400  type: "64-bit KVADDR"

Thanks,
Kazu


> crash64> kmem -p 0xffff0000043c2400
>        PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
> *fffffc000010f080 *443c2000 ffff000002f93af0        0  2 ffff00000022036 referenced,uptodate,lru,active,private,mappedtodisk
> crash64> vtop 0xffff0000043c2400
> VIRTUAL           PHYSICAL
> ffff0000043c2400  443c2400
> 
> PAGE DIRECTORY: ffff80001163b000
>     PGD: ffff80001163b000 => 180000007fff9803
>     PUD: ffff00003fff9000 => 180000007fff8803
>     PMD: ffff00003fff8108 => 180000007ffe0803
>     PTE: ffff00003ffe0e10 => 680000443c2f07
>    PAGE: 443c2000
> 
>       PTE        PHYSICAL  FLAGS
> 680000443c2f07  443c2000  (VALID|SHARED|AF|NG|PXN|UXN)
> 
>        PAGE       PHYSICAL      MAPPING       INDEX CNT FLAGS
> fffffc000010f080 443c2000 ffff000002f93af0        0  2 ffff00000022036 referenced,uptodate,lru,active,private,mappedtodisk
> 
> 
> 2) Here's the kernel virtual kernel memory layout for my tested arm64 kernel version 5.15, we can see 0xffff0000043c2400 is in the kernel linear memory region :
> 
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     modules : 0xffff800008000000 - 0xffff800010000000   (   128 MB)
> [    0.000000]     vmalloc : 0xffff800010000000 - 0xfffffbfff0000000   (126975 GB)
> [    0.000000]       .text : 0xffff800010000000 - 0xffff8000111a0000   ( 18048 KB)
> [    0.000000]       .init : 0xffff800011640000 - 0xffff800011760000   (  1152 KB)
> [    0.000000]     .rodata : 0xffff8000111a0000 - 0xffff800011636000   (  4696 KB)
> [    0.000000]       .data : 0xffff800011760000 - 0xffff800011902200   (  1673 KB)
> [    0.000000]        .bss : 0xffff800011902200 - 0xffff8000119c6fb0   (   788 KB)
> [    0.000000]     fixed   : 0xfffffbfffdbf9000 - 0xfffffbfffe000000   (  4124 KB)
> [    0.000000]     PCI I/O : 0xfffffbfffe800000 - 0xfffffbffff800000   (    16 MB)
> [    0.000000]     vmemmap : 0xfffffc0000000000 - 0xfffffe0000000000   (  2048 GB maximum)
> [    0.000000]               0xfffffc0000000000 - 0xfffffc0001000000   (    16 MB actual)
> [    0.000000] *memory  : 0xffff000000000000 - 0xffff000040000000 * (  1024 MB)
> [    0.000000]     PAGE_OFFSET  : 0xffff000000000000
> [    0.000000]     KIMAGE_VADDR  : 0xffff800010000000
> [    0.000000]     kimage_voffset : 0xffff7fffcfe00000
> [    0.000000]     PHYS_OFFSET  : 0x40000000
> [    0.000000]     start memory  : 0x40000000
> 
> 
> I have no idea whether this problem is something wrong with crash utility. Could anybody please help this?
> 
> Thanks
> 
> 
> 
> --
> Crash-utility mailing list
> Crash-utility@xxxxxxxxxx
> https://listman.redhat.com/mailman/listinfo/crash-utility
> Contribution Guidelines: https://github.com/crash-utility/crash/wiki
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/crash-utility
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux