[Crash-utility] Kernel pages reported as PAGE_EXCLUDED

Dave Anderson anderson at redhat.com
Thu Nov 7 22:19:02 UTC 2013



----- Original Message -----
> 
> 
> ----- Original Message -----
> > Hi,
> > I'm analyzing a dump file ("KDUMP" header) with crash 7.0.1 that seems
> > to have some kernel pages missing:
> > 
> > crash> struct foo ffff81101e19e000
> > struct foo struct: page excluded: kernel virtual address: ffff81101e19e000  type: "gdb_readmem_callback"
> > Cannot access memory at address 0xffff81101e19e000
> > 
> > When I set debug to 1 it turns out that even crash's 'mount' command hits excluded pages:
> > mount: page excluded: kernel virtual address: ffff81101d688000  type:
> > "read_string characters"

I also see that on some dumps, but I don't believe that it's a problem since it doesn't
affect the command when it's run normally:

crash> set debug 1
debug: 1
crash> mount
    VFSMOUNT         SUPERBLK     TYPE   DEVNAME   DIRNAME
ffff9a9fd3ddc080 ffff8a1fdfcf2400 rootfs rootfs    /         
ffff8e9fd25f7e80 ffff9d9fdfcf1800 proc   proc      /proc     
ffff919fd3612e80 ffff949fdfd01400 sysfs  sysfs     /sys      
ffff949fd3483e80 ffff931fd3281c00 devtmpfs devtmpfs /dev/     
ffff9a9fd3ddce80 ffff961fd24db400 devpts devpts    /pts      
ffff9a9fd3ddcd80 ffff9a9fd3b51c00 tmpfs  tmpfs     /shm      
ffff8a1fcef1fe80 ffff8a1fd13f1400 ext4   /dev/mapper/mpathap4 /         
ffff901fd2519e80 ffff9c1fd24e7000 selinuxfs none   /selinux  
ffff931fd156ee80 ffff931fd3281c00 devtmpfs devtmpfs /dev      
ffff8e9fd25f7080 ffff949fd1698400 usbfs  /proc/bus/usb /proc/bus/usb
ffff9d9fd2439e80 ffff9d9fd1837c00 ext4   /dev/mapper/mpathap2 /boot     
ffff9d9fd2439d80 ffff9d9fd1994800 vfat   /dev/mapper/mpathap1 /boot/efi 
ffff8d1fc7705e80 ffff8d1fd1e73800 mount: page excluded: kernel virtual address: ffff8d1fc7f98000  type: "read_string characters"
binfmt_misc none /proc/sys/fs/binfmt_misc
ffff919fd3612280 ffff919fd3b97c00 cgroup cgroup    /cgroup/cpuset
ffff919fd2227ec0 ffff919fd3e5c400 cgroup cgroup    /cgroup/cpu
ffff919fd2227dc0 ffff919fd1130400 cgroup cgroup    /cgroup/cpuacct
ffff919fd2227cc0 ffff919fd3e5c800 cgroup cgroup    /cgroup/memory
ffff919fd2227bc0 ffff919fd1793400 cgroup cgroup    /cgroup/devices
ffff919fd2227ac0 ffff919fd3e5cc00 cgroup cgroup    /cgroup/freezer
ffff919fd22279c0 ffff919fd2b93400 cgroup cgroup    /cgroup/net_cls
ffff919fd22278c0 ffff919fd232c400 cgroup cgroup    /cgroup/blkio
ffff9c1fd13c5e80 ffff9c1fd109cc00 autofs /etc/auto.misc /misc     
ffff961fd3debe80 ffff961fd23c6800 autofs -hosts    /net      
crash>

I haven't checked the exact location where that error message is 
being generated from, but I note that there are several constructs in the
mount-command-related code that do "if (read_string(...)) else ...", so they
are potentially expected to fail behind the scenes (quietly unless
debug is 1).

So I wouldn't worry about that particular issue, but I would be concerned
if you can prove that an address that you're trying to read is absolutely
a kernel data structure.  And I'm not aware of any "struct foo" instances
in the kernel...  ;-)

Dave




More information about the Crash-utility mailing list